From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 00:40:17 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0DCE0106564A; Sun, 8 Apr 2012 00:40:17 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EDFD78FC12; Sun, 8 Apr 2012 00:40: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 q380eGlx085506; Sun, 8 Apr 2012 00:40:16 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q380eGQP085504; Sun, 8 Apr 2012 00:40:16 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204080040.q380eGQP085504@svn.freebsd.org> From: Adrian Chadd Date: Sun, 8 Apr 2012 00:40:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234009 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 00:40:17 -0000 Author: adrian Date: Sun Apr 8 00:40:16 2012 New Revision: 234009 URL: http://svn.freebsd.org/changeset/base/234009 Log: After reviewing the mcast/sleep station code a little, undo some brain damage which I committed when I had less clue about such things. Don't ever put normal data frames on the mcast software queue. Just put mcast frames there if needed. Pass the txq decision into ath_tx_normal_setup(), as we've already made the decision. Don't re-do it. Whilst i'm here, add another random debugging statement. Modified: head/sys/dev/ath/if_ath_tx.c Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Sun Apr 8 00:14:15 2012 (r234008) +++ head/sys/dev/ath/if_ath_tx.c Sun Apr 8 00:40:16 2012 (r234009) @@ -205,6 +205,8 @@ ath_txfrag_setup(struct ath_softc *sc, a for (m = m0->m_nextpkt; m != NULL; m = m->m_nextpkt) { bf = _ath_getbuf_locked(sc); if (bf == NULL) { /* out of buffers, cleanup */ + device_printf(sc->sc_dev, "%s: no buffer?\n", + __func__); ath_txfrag_cleanup(sc, frags, ni); break; } @@ -1150,10 +1152,9 @@ ath_tx_xmit_normal(struct ath_softc *sc, static int ath_tx_normal_setup(struct ath_softc *sc, struct ieee80211_node *ni, - struct ath_buf *bf, struct mbuf *m0) + struct ath_buf *bf, struct mbuf *m0, struct ath_txq *txq) { struct ieee80211vap *vap = ni->ni_vap; - struct ath_vap *avp = ATH_VAP(vap); struct ath_hal *ah = sc->sc_ah; struct ifnet *ifp = sc->sc_ifp; struct ieee80211com *ic = ifp->if_l2com; @@ -1162,7 +1163,6 @@ ath_tx_normal_setup(struct ath_softc *sc int keyix, hdrlen, pktlen, try0 = 0; u_int8_t rix = 0, txrate = 0; struct ath_desc *ds; - struct ath_txq *txq; struct ieee80211_frame *wh; u_int subtype, flags; HAL_PKT_TYPE atype; @@ -1297,21 +1297,6 @@ ath_tx_normal_setup(struct ath_softc *sc ath_freetx(m0); return EIO; } - txq = sc->sc_ac2q[pri]; - - /* - * When servicing one or more stations in power-save mode - * (or) if there is some mcast data waiting on the mcast - * queue (to prevent out of order delivery) multicast - * frames must be buffered until after the beacon. - * - * XXX This likely means that if there's a station in power - * save mode, we won't be doing any kind of aggregation towards - * anyone. This is likely a very suboptimal way of dealing - * with things. - */ - if (ismcast && (vap->iv_ps_sta || avp->av_mcastq.axq_depth)) - txq = &avp->av_mcastq; /* * Calculate miscellaneous flags. @@ -1445,8 +1430,8 @@ ath_tx_start(struct ath_softc *sc, struc /* * Determine the target hardware queue. * - * For multicast frames, the txq gets overridden to be the - * software TXQ and it's done via direct-dispatch. + * For multicast frames, the txq gets overridden appropriately + * depending upon the state of PS. * * For any other frame, we do a TID/QoS lookup inside the frame * to see what the TID should be. If it's a non-QoS frame, the @@ -1495,17 +1480,15 @@ ath_tx_start(struct ath_softc *sc, struc "%s: bf=%p, tid=%d, ac=%d, is_ampdu=%d\n", __func__, bf, tid, pri, is_ampdu); - /* Multicast frames go onto the software multicast queue */ - if (ismcast) - txq = &avp->av_mcastq; - /* - * XXX This likely means that if there's a station in power - * save mode, we won't be doing any kind of aggregation towards - * anyone. This is likely a very suboptimal way of dealing - * with things. + * When servicing one or more stations in power-save mode + * (or) if there is some mcast data waiting on the mcast + * queue (to prevent out of order delivery) multicast frames + * must be bufferd until after the beacon. + * + * TODO: we should lock the mcastq before we check the length. */ - if ((! is_ampdu) && (vap->iv_ps_sta || avp->av_mcastq.axq_depth)) + if (ismcast && (vap->iv_ps_sta || avp->av_mcastq.axq_depth)) txq = &avp->av_mcastq; /* Do the generic frame setup */ @@ -1555,7 +1538,7 @@ ath_tx_start(struct ath_softc *sc, struc __func__, tid, M_SEQNO_GET(m0)); /* This also sets up the DMA map */ - r = ath_tx_normal_setup(sc, ni, bf, m0); + r = ath_tx_normal_setup(sc, ni, bf, m0, txq); if (r != 0) return r; From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 01:43:42 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4DCE106564A; Sun, 8 Apr 2012 01:43:42 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9028F8FC14; Sun, 8 Apr 2012 01:43:42 +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 q381hgB7087435; Sun, 8 Apr 2012 01:43:42 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q381hg51087406; Sun, 8 Apr 2012 01:43:42 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201204080143.q381hg51087406@svn.freebsd.org> From: Doug Barton Date: Sun, 8 Apr 2012 01:43:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234010 - in stable/9: contrib/bind9 contrib/bind9/bin contrib/bind9/bin/check contrib/bind9/bin/confgen contrib/bind9/bin/confgen/include/confgen contrib/bind9/bin/confgen/unix contrib... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 01:43:43 -0000 Author: dougb Date: Sun Apr 8 01:43:41 2012 New Revision: 234010 URL: http://svn.freebsd.org/changeset/base/234010 Log: MFC r233909: Add Bv9ARM.pdf to the list of docs to install. MFV/MFC r233914: Update to version 9.8.2, the latest from ISC, which contains numerous bug fixes. Deleted: stable/9/contrib/bind9/bin/rndc/unix/ Modified: stable/9/contrib/bind9/CHANGES stable/9/contrib/bind9/COPYRIGHT stable/9/contrib/bind9/FAQ.xml stable/9/contrib/bind9/Makefile.in stable/9/contrib/bind9/README stable/9/contrib/bind9/acconfig.h stable/9/contrib/bind9/bin/Makefile.in stable/9/contrib/bind9/bin/check/Makefile.in stable/9/contrib/bind9/bin/check/check-tool.c stable/9/contrib/bind9/bin/check/check-tool.h stable/9/contrib/bind9/bin/check/named-checkconf.8 stable/9/contrib/bind9/bin/check/named-checkconf.c stable/9/contrib/bind9/bin/check/named-checkconf.docbook stable/9/contrib/bind9/bin/check/named-checkconf.html stable/9/contrib/bind9/bin/check/named-checkzone.8 stable/9/contrib/bind9/bin/check/named-checkzone.c stable/9/contrib/bind9/bin/check/named-checkzone.docbook stable/9/contrib/bind9/bin/check/named-checkzone.html stable/9/contrib/bind9/bin/confgen/Makefile.in stable/9/contrib/bind9/bin/confgen/ddns-confgen.8 stable/9/contrib/bind9/bin/confgen/ddns-confgen.c stable/9/contrib/bind9/bin/confgen/ddns-confgen.docbook stable/9/contrib/bind9/bin/confgen/ddns-confgen.html stable/9/contrib/bind9/bin/confgen/include/confgen/os.h stable/9/contrib/bind9/bin/confgen/keygen.c stable/9/contrib/bind9/bin/confgen/keygen.h stable/9/contrib/bind9/bin/confgen/rndc-confgen.8 stable/9/contrib/bind9/bin/confgen/rndc-confgen.c stable/9/contrib/bind9/bin/confgen/rndc-confgen.docbook stable/9/contrib/bind9/bin/confgen/rndc-confgen.html stable/9/contrib/bind9/bin/confgen/unix/Makefile.in stable/9/contrib/bind9/bin/confgen/unix/os.c stable/9/contrib/bind9/bin/confgen/util.c stable/9/contrib/bind9/bin/confgen/util.h stable/9/contrib/bind9/bin/dig/Makefile.in stable/9/contrib/bind9/bin/dig/dig.1 stable/9/contrib/bind9/bin/dig/dig.c stable/9/contrib/bind9/bin/dig/dig.docbook stable/9/contrib/bind9/bin/dig/dig.html stable/9/contrib/bind9/bin/dig/dighost.c stable/9/contrib/bind9/bin/dig/host.1 stable/9/contrib/bind9/bin/dig/host.c stable/9/contrib/bind9/bin/dig/host.docbook stable/9/contrib/bind9/bin/dig/host.html stable/9/contrib/bind9/bin/dig/include/dig/dig.h stable/9/contrib/bind9/bin/dig/nslookup.1 stable/9/contrib/bind9/bin/dig/nslookup.c stable/9/contrib/bind9/bin/dig/nslookup.docbook stable/9/contrib/bind9/bin/dig/nslookup.html stable/9/contrib/bind9/bin/dnssec/Makefile.in stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.html stable/9/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 stable/9/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c stable/9/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html stable/9/contrib/bind9/bin/dnssec/dnssec-keygen.8 stable/9/contrib/bind9/bin/dnssec/dnssec-keygen.c stable/9/contrib/bind9/bin/dnssec/dnssec-keygen.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-keygen.html stable/9/contrib/bind9/bin/dnssec/dnssec-revoke.8 stable/9/contrib/bind9/bin/dnssec/dnssec-revoke.c stable/9/contrib/bind9/bin/dnssec/dnssec-revoke.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-revoke.html stable/9/contrib/bind9/bin/dnssec/dnssec-settime.8 stable/9/contrib/bind9/bin/dnssec/dnssec-settime.c stable/9/contrib/bind9/bin/dnssec/dnssec-settime.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-settime.html stable/9/contrib/bind9/bin/dnssec/dnssec-signzone.8 stable/9/contrib/bind9/bin/dnssec/dnssec-signzone.c stable/9/contrib/bind9/bin/dnssec/dnssec-signzone.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-signzone.html stable/9/contrib/bind9/bin/dnssec/dnssectool.c stable/9/contrib/bind9/bin/dnssec/dnssectool.h stable/9/contrib/bind9/bin/named/Makefile.in stable/9/contrib/bind9/bin/named/bind.keys.h stable/9/contrib/bind9/bin/named/bind9.xsl stable/9/contrib/bind9/bin/named/bind9.xsl.h stable/9/contrib/bind9/bin/named/builtin.c stable/9/contrib/bind9/bin/named/client.c stable/9/contrib/bind9/bin/named/config.c stable/9/contrib/bind9/bin/named/control.c stable/9/contrib/bind9/bin/named/controlconf.c stable/9/contrib/bind9/bin/named/convertxsl.pl stable/9/contrib/bind9/bin/named/include/dlz/dlz_dlopen_driver.h stable/9/contrib/bind9/bin/named/include/named/builtin.h stable/9/contrib/bind9/bin/named/include/named/client.h stable/9/contrib/bind9/bin/named/include/named/config.h stable/9/contrib/bind9/bin/named/include/named/control.h stable/9/contrib/bind9/bin/named/include/named/globals.h stable/9/contrib/bind9/bin/named/include/named/interfacemgr.h stable/9/contrib/bind9/bin/named/include/named/listenlist.h stable/9/contrib/bind9/bin/named/include/named/log.h stable/9/contrib/bind9/bin/named/include/named/logconf.h stable/9/contrib/bind9/bin/named/include/named/lwaddr.h stable/9/contrib/bind9/bin/named/include/named/lwdclient.h stable/9/contrib/bind9/bin/named/include/named/lwresd.h stable/9/contrib/bind9/bin/named/include/named/lwsearch.h stable/9/contrib/bind9/bin/named/include/named/main.h stable/9/contrib/bind9/bin/named/include/named/notify.h stable/9/contrib/bind9/bin/named/include/named/ns_smf_globals.h stable/9/contrib/bind9/bin/named/include/named/query.h stable/9/contrib/bind9/bin/named/include/named/server.h stable/9/contrib/bind9/bin/named/include/named/sortlist.h stable/9/contrib/bind9/bin/named/include/named/statschannel.h stable/9/contrib/bind9/bin/named/include/named/tkeyconf.h stable/9/contrib/bind9/bin/named/include/named/tsigconf.h stable/9/contrib/bind9/bin/named/include/named/types.h stable/9/contrib/bind9/bin/named/include/named/update.h stable/9/contrib/bind9/bin/named/include/named/xfrout.h stable/9/contrib/bind9/bin/named/include/named/zoneconf.h stable/9/contrib/bind9/bin/named/interfacemgr.c stable/9/contrib/bind9/bin/named/listenlist.c stable/9/contrib/bind9/bin/named/log.c stable/9/contrib/bind9/bin/named/logconf.c stable/9/contrib/bind9/bin/named/lwaddr.c stable/9/contrib/bind9/bin/named/lwdclient.c stable/9/contrib/bind9/bin/named/lwderror.c stable/9/contrib/bind9/bin/named/lwdgabn.c stable/9/contrib/bind9/bin/named/lwdgnba.c stable/9/contrib/bind9/bin/named/lwdgrbn.c stable/9/contrib/bind9/bin/named/lwdnoop.c stable/9/contrib/bind9/bin/named/lwresd.8 stable/9/contrib/bind9/bin/named/lwresd.c stable/9/contrib/bind9/bin/named/lwresd.docbook stable/9/contrib/bind9/bin/named/lwresd.html stable/9/contrib/bind9/bin/named/lwsearch.c stable/9/contrib/bind9/bin/named/main.c stable/9/contrib/bind9/bin/named/named.8 stable/9/contrib/bind9/bin/named/named.conf.5 stable/9/contrib/bind9/bin/named/named.conf.docbook stable/9/contrib/bind9/bin/named/named.conf.html stable/9/contrib/bind9/bin/named/named.docbook stable/9/contrib/bind9/bin/named/named.html stable/9/contrib/bind9/bin/named/notify.c stable/9/contrib/bind9/bin/named/query.c stable/9/contrib/bind9/bin/named/server.c stable/9/contrib/bind9/bin/named/sortlist.c stable/9/contrib/bind9/bin/named/statschannel.c stable/9/contrib/bind9/bin/named/tkeyconf.c stable/9/contrib/bind9/bin/named/tsigconf.c stable/9/contrib/bind9/bin/named/unix/Makefile.in stable/9/contrib/bind9/bin/named/unix/dlz_dlopen_driver.c stable/9/contrib/bind9/bin/named/unix/include/named/os.h stable/9/contrib/bind9/bin/named/unix/os.c stable/9/contrib/bind9/bin/named/update.c stable/9/contrib/bind9/bin/named/xfrout.c stable/9/contrib/bind9/bin/named/zoneconf.c stable/9/contrib/bind9/bin/nsupdate/Makefile.in stable/9/contrib/bind9/bin/nsupdate/nsupdate.1 stable/9/contrib/bind9/bin/nsupdate/nsupdate.c stable/9/contrib/bind9/bin/nsupdate/nsupdate.docbook stable/9/contrib/bind9/bin/nsupdate/nsupdate.html stable/9/contrib/bind9/bin/rndc/Makefile.in stable/9/contrib/bind9/bin/rndc/include/rndc/os.h stable/9/contrib/bind9/bin/rndc/rndc.8 stable/9/contrib/bind9/bin/rndc/rndc.c stable/9/contrib/bind9/bin/rndc/rndc.conf stable/9/contrib/bind9/bin/rndc/rndc.conf.5 stable/9/contrib/bind9/bin/rndc/rndc.conf.docbook stable/9/contrib/bind9/bin/rndc/rndc.conf.html stable/9/contrib/bind9/bin/rndc/rndc.docbook stable/9/contrib/bind9/bin/rndc/rndc.html stable/9/contrib/bind9/bin/rndc/util.c stable/9/contrib/bind9/bin/rndc/util.h stable/9/contrib/bind9/bin/tools/Makefile.in stable/9/contrib/bind9/bin/tools/arpaname.1 stable/9/contrib/bind9/bin/tools/arpaname.c stable/9/contrib/bind9/bin/tools/arpaname.docbook stable/9/contrib/bind9/bin/tools/arpaname.html stable/9/contrib/bind9/bin/tools/genrandom.8 stable/9/contrib/bind9/bin/tools/genrandom.c stable/9/contrib/bind9/bin/tools/genrandom.docbook stable/9/contrib/bind9/bin/tools/genrandom.html stable/9/contrib/bind9/bin/tools/isc-hmac-fixup.8 stable/9/contrib/bind9/bin/tools/isc-hmac-fixup.c stable/9/contrib/bind9/bin/tools/isc-hmac-fixup.docbook stable/9/contrib/bind9/bin/tools/isc-hmac-fixup.html stable/9/contrib/bind9/bin/tools/named-journalprint.8 stable/9/contrib/bind9/bin/tools/named-journalprint.c stable/9/contrib/bind9/bin/tools/named-journalprint.docbook stable/9/contrib/bind9/bin/tools/named-journalprint.html stable/9/contrib/bind9/bin/tools/nsec3hash.8 stable/9/contrib/bind9/bin/tools/nsec3hash.c stable/9/contrib/bind9/bin/tools/nsec3hash.docbook stable/9/contrib/bind9/bin/tools/nsec3hash.html stable/9/contrib/bind9/config.h.in stable/9/contrib/bind9/config.threads.in stable/9/contrib/bind9/configure.in stable/9/contrib/bind9/doc/Makefile.in stable/9/contrib/bind9/doc/arm/Bv9ARM-book.xml stable/9/contrib/bind9/doc/arm/Bv9ARM.ch01.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch02.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch03.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch04.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch05.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch06.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch07.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch08.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch09.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch10.html stable/9/contrib/bind9/doc/arm/Bv9ARM.html stable/9/contrib/bind9/doc/arm/Bv9ARM.pdf stable/9/contrib/bind9/doc/arm/Makefile.in stable/9/contrib/bind9/doc/arm/README-SGML stable/9/contrib/bind9/doc/arm/dnssec.xml stable/9/contrib/bind9/doc/arm/libdns.xml stable/9/contrib/bind9/doc/arm/man.arpaname.html stable/9/contrib/bind9/doc/arm/man.ddns-confgen.html stable/9/contrib/bind9/doc/arm/man.dig.html stable/9/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html stable/9/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html stable/9/contrib/bind9/doc/arm/man.dnssec-keygen.html stable/9/contrib/bind9/doc/arm/man.dnssec-revoke.html stable/9/contrib/bind9/doc/arm/man.dnssec-settime.html stable/9/contrib/bind9/doc/arm/man.dnssec-signzone.html stable/9/contrib/bind9/doc/arm/man.genrandom.html stable/9/contrib/bind9/doc/arm/man.host.html stable/9/contrib/bind9/doc/arm/man.isc-hmac-fixup.html stable/9/contrib/bind9/doc/arm/man.named-checkconf.html stable/9/contrib/bind9/doc/arm/man.named-checkzone.html stable/9/contrib/bind9/doc/arm/man.named-journalprint.html stable/9/contrib/bind9/doc/arm/man.named.html stable/9/contrib/bind9/doc/arm/man.nsec3hash.html stable/9/contrib/bind9/doc/arm/man.nsupdate.html stable/9/contrib/bind9/doc/arm/man.rndc-confgen.html stable/9/contrib/bind9/doc/arm/man.rndc.conf.html stable/9/contrib/bind9/doc/arm/man.rndc.html stable/9/contrib/bind9/doc/arm/managed-keys.xml stable/9/contrib/bind9/doc/arm/pkcs11.xml stable/9/contrib/bind9/doc/misc/Makefile.in stable/9/contrib/bind9/doc/misc/dnssec stable/9/contrib/bind9/doc/misc/format-options.pl stable/9/contrib/bind9/doc/misc/ipv6 stable/9/contrib/bind9/doc/misc/migration stable/9/contrib/bind9/doc/misc/migration-4to9 stable/9/contrib/bind9/doc/misc/options stable/9/contrib/bind9/doc/misc/rfc-compliance stable/9/contrib/bind9/doc/misc/roadmap stable/9/contrib/bind9/doc/misc/sdb stable/9/contrib/bind9/doc/misc/sort-options.pl stable/9/contrib/bind9/isc-config.sh.in stable/9/contrib/bind9/lib/Makefile.in stable/9/contrib/bind9/lib/bind9/Makefile.in stable/9/contrib/bind9/lib/bind9/api stable/9/contrib/bind9/lib/bind9/check.c stable/9/contrib/bind9/lib/bind9/getaddresses.c stable/9/contrib/bind9/lib/bind9/include/Makefile.in stable/9/contrib/bind9/lib/bind9/include/bind9/Makefile.in stable/9/contrib/bind9/lib/bind9/include/bind9/check.h stable/9/contrib/bind9/lib/bind9/include/bind9/getaddresses.h stable/9/contrib/bind9/lib/bind9/include/bind9/version.h stable/9/contrib/bind9/lib/bind9/version.c stable/9/contrib/bind9/lib/dns/Makefile.in stable/9/contrib/bind9/lib/dns/acache.c stable/9/contrib/bind9/lib/dns/acl.c stable/9/contrib/bind9/lib/dns/adb.c stable/9/contrib/bind9/lib/dns/api stable/9/contrib/bind9/lib/dns/byaddr.c stable/9/contrib/bind9/lib/dns/cache.c stable/9/contrib/bind9/lib/dns/callbacks.c stable/9/contrib/bind9/lib/dns/client.c stable/9/contrib/bind9/lib/dns/compress.c stable/9/contrib/bind9/lib/dns/db.c stable/9/contrib/bind9/lib/dns/dbiterator.c stable/9/contrib/bind9/lib/dns/dbtable.c stable/9/contrib/bind9/lib/dns/diff.c stable/9/contrib/bind9/lib/dns/dispatch.c stable/9/contrib/bind9/lib/dns/dlz.c stable/9/contrib/bind9/lib/dns/dns64.c stable/9/contrib/bind9/lib/dns/dnssec.c stable/9/contrib/bind9/lib/dns/ds.c stable/9/contrib/bind9/lib/dns/dst_api.c stable/9/contrib/bind9/lib/dns/dst_internal.h stable/9/contrib/bind9/lib/dns/dst_lib.c stable/9/contrib/bind9/lib/dns/dst_openssl.h stable/9/contrib/bind9/lib/dns/dst_parse.c stable/9/contrib/bind9/lib/dns/dst_parse.h stable/9/contrib/bind9/lib/dns/dst_result.c stable/9/contrib/bind9/lib/dns/ecdb.c stable/9/contrib/bind9/lib/dns/forward.c stable/9/contrib/bind9/lib/dns/gen-unix.h stable/9/contrib/bind9/lib/dns/gen.c stable/9/contrib/bind9/lib/dns/gssapi_link.c stable/9/contrib/bind9/lib/dns/gssapictx.c stable/9/contrib/bind9/lib/dns/hmac_link.c stable/9/contrib/bind9/lib/dns/include/Makefile.in stable/9/contrib/bind9/lib/dns/include/dns/Makefile.in stable/9/contrib/bind9/lib/dns/include/dns/acache.h stable/9/contrib/bind9/lib/dns/include/dns/acl.h stable/9/contrib/bind9/lib/dns/include/dns/adb.h stable/9/contrib/bind9/lib/dns/include/dns/bit.h stable/9/contrib/bind9/lib/dns/include/dns/byaddr.h stable/9/contrib/bind9/lib/dns/include/dns/cache.h stable/9/contrib/bind9/lib/dns/include/dns/callbacks.h stable/9/contrib/bind9/lib/dns/include/dns/cert.h stable/9/contrib/bind9/lib/dns/include/dns/client.h stable/9/contrib/bind9/lib/dns/include/dns/compress.h stable/9/contrib/bind9/lib/dns/include/dns/db.h stable/9/contrib/bind9/lib/dns/include/dns/dbiterator.h stable/9/contrib/bind9/lib/dns/include/dns/dbtable.h stable/9/contrib/bind9/lib/dns/include/dns/diff.h stable/9/contrib/bind9/lib/dns/include/dns/dispatch.h stable/9/contrib/bind9/lib/dns/include/dns/dlz.h stable/9/contrib/bind9/lib/dns/include/dns/dlz_dlopen.h stable/9/contrib/bind9/lib/dns/include/dns/dns64.h stable/9/contrib/bind9/lib/dns/include/dns/dnssec.h stable/9/contrib/bind9/lib/dns/include/dns/ds.h stable/9/contrib/bind9/lib/dns/include/dns/ecdb.h stable/9/contrib/bind9/lib/dns/include/dns/events.h stable/9/contrib/bind9/lib/dns/include/dns/fixedname.h stable/9/contrib/bind9/lib/dns/include/dns/forward.h stable/9/contrib/bind9/lib/dns/include/dns/iptable.h stable/9/contrib/bind9/lib/dns/include/dns/journal.h stable/9/contrib/bind9/lib/dns/include/dns/keydata.h stable/9/contrib/bind9/lib/dns/include/dns/keyflags.h stable/9/contrib/bind9/lib/dns/include/dns/keytable.h stable/9/contrib/bind9/lib/dns/include/dns/keyvalues.h stable/9/contrib/bind9/lib/dns/include/dns/lib.h stable/9/contrib/bind9/lib/dns/include/dns/log.h stable/9/contrib/bind9/lib/dns/include/dns/lookup.h stable/9/contrib/bind9/lib/dns/include/dns/master.h stable/9/contrib/bind9/lib/dns/include/dns/masterdump.h stable/9/contrib/bind9/lib/dns/include/dns/message.h stable/9/contrib/bind9/lib/dns/include/dns/name.h stable/9/contrib/bind9/lib/dns/include/dns/ncache.h stable/9/contrib/bind9/lib/dns/include/dns/nsec.h stable/9/contrib/bind9/lib/dns/include/dns/nsec3.h stable/9/contrib/bind9/lib/dns/include/dns/opcode.h stable/9/contrib/bind9/lib/dns/include/dns/order.h stable/9/contrib/bind9/lib/dns/include/dns/peer.h stable/9/contrib/bind9/lib/dns/include/dns/portlist.h stable/9/contrib/bind9/lib/dns/include/dns/private.h stable/9/contrib/bind9/lib/dns/include/dns/rbt.h stable/9/contrib/bind9/lib/dns/include/dns/rcode.h stable/9/contrib/bind9/lib/dns/include/dns/rdata.h stable/9/contrib/bind9/lib/dns/include/dns/rdataclass.h stable/9/contrib/bind9/lib/dns/include/dns/rdatalist.h stable/9/contrib/bind9/lib/dns/include/dns/rdataset.h stable/9/contrib/bind9/lib/dns/include/dns/rdatasetiter.h stable/9/contrib/bind9/lib/dns/include/dns/rdataslab.h stable/9/contrib/bind9/lib/dns/include/dns/rdatatype.h stable/9/contrib/bind9/lib/dns/include/dns/request.h stable/9/contrib/bind9/lib/dns/include/dns/resolver.h stable/9/contrib/bind9/lib/dns/include/dns/result.h stable/9/contrib/bind9/lib/dns/include/dns/rootns.h stable/9/contrib/bind9/lib/dns/include/dns/rpz.h stable/9/contrib/bind9/lib/dns/include/dns/rriterator.h stable/9/contrib/bind9/lib/dns/include/dns/sdb.h stable/9/contrib/bind9/lib/dns/include/dns/sdlz.h stable/9/contrib/bind9/lib/dns/include/dns/secalg.h stable/9/contrib/bind9/lib/dns/include/dns/secproto.h stable/9/contrib/bind9/lib/dns/include/dns/soa.h stable/9/contrib/bind9/lib/dns/include/dns/ssu.h stable/9/contrib/bind9/lib/dns/include/dns/stats.h stable/9/contrib/bind9/lib/dns/include/dns/tcpmsg.h stable/9/contrib/bind9/lib/dns/include/dns/time.h stable/9/contrib/bind9/lib/dns/include/dns/timer.h stable/9/contrib/bind9/lib/dns/include/dns/tkey.h stable/9/contrib/bind9/lib/dns/include/dns/tsec.h stable/9/contrib/bind9/lib/dns/include/dns/tsig.h stable/9/contrib/bind9/lib/dns/include/dns/ttl.h stable/9/contrib/bind9/lib/dns/include/dns/types.h stable/9/contrib/bind9/lib/dns/include/dns/validator.h stable/9/contrib/bind9/lib/dns/include/dns/version.h stable/9/contrib/bind9/lib/dns/include/dns/view.h stable/9/contrib/bind9/lib/dns/include/dns/xfrin.h stable/9/contrib/bind9/lib/dns/include/dns/zone.h stable/9/contrib/bind9/lib/dns/include/dns/zonekey.h stable/9/contrib/bind9/lib/dns/include/dns/zt.h stable/9/contrib/bind9/lib/dns/include/dst/Makefile.in stable/9/contrib/bind9/lib/dns/include/dst/dst.h stable/9/contrib/bind9/lib/dns/include/dst/gssapi.h stable/9/contrib/bind9/lib/dns/include/dst/lib.h stable/9/contrib/bind9/lib/dns/include/dst/result.h stable/9/contrib/bind9/lib/dns/iptable.c stable/9/contrib/bind9/lib/dns/journal.c stable/9/contrib/bind9/lib/dns/key.c stable/9/contrib/bind9/lib/dns/keydata.c stable/9/contrib/bind9/lib/dns/keytable.c stable/9/contrib/bind9/lib/dns/lib.c stable/9/contrib/bind9/lib/dns/log.c stable/9/contrib/bind9/lib/dns/lookup.c stable/9/contrib/bind9/lib/dns/master.c stable/9/contrib/bind9/lib/dns/masterdump.c stable/9/contrib/bind9/lib/dns/message.c stable/9/contrib/bind9/lib/dns/name.c stable/9/contrib/bind9/lib/dns/ncache.c stable/9/contrib/bind9/lib/dns/nsec.c stable/9/contrib/bind9/lib/dns/nsec3.c stable/9/contrib/bind9/lib/dns/openssl_link.c stable/9/contrib/bind9/lib/dns/openssldh_link.c stable/9/contrib/bind9/lib/dns/openssldsa_link.c stable/9/contrib/bind9/lib/dns/opensslgost_link.c stable/9/contrib/bind9/lib/dns/opensslrsa_link.c stable/9/contrib/bind9/lib/dns/order.c stable/9/contrib/bind9/lib/dns/peer.c stable/9/contrib/bind9/lib/dns/portlist.c stable/9/contrib/bind9/lib/dns/private.c stable/9/contrib/bind9/lib/dns/rbt.c stable/9/contrib/bind9/lib/dns/rbtdb.c stable/9/contrib/bind9/lib/dns/rbtdb.h stable/9/contrib/bind9/lib/dns/rbtdb64.c stable/9/contrib/bind9/lib/dns/rbtdb64.h stable/9/contrib/bind9/lib/dns/rcode.c stable/9/contrib/bind9/lib/dns/rdata.c stable/9/contrib/bind9/lib/dns/rdata/any_255/tsig_250.c stable/9/contrib/bind9/lib/dns/rdata/any_255/tsig_250.h stable/9/contrib/bind9/lib/dns/rdata/ch_3/a_1.c stable/9/contrib/bind9/lib/dns/rdata/ch_3/a_1.h stable/9/contrib/bind9/lib/dns/rdata/generic/afsdb_18.c stable/9/contrib/bind9/lib/dns/rdata/generic/afsdb_18.h stable/9/contrib/bind9/lib/dns/rdata/generic/cert_37.c stable/9/contrib/bind9/lib/dns/rdata/generic/cert_37.h stable/9/contrib/bind9/lib/dns/rdata/generic/cname_5.c stable/9/contrib/bind9/lib/dns/rdata/generic/cname_5.h stable/9/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c stable/9/contrib/bind9/lib/dns/rdata/generic/dlv_32769.h stable/9/contrib/bind9/lib/dns/rdata/generic/dname_39.c stable/9/contrib/bind9/lib/dns/rdata/generic/dname_39.h stable/9/contrib/bind9/lib/dns/rdata/generic/dnskey_48.c stable/9/contrib/bind9/lib/dns/rdata/generic/dnskey_48.h stable/9/contrib/bind9/lib/dns/rdata/generic/ds_43.c stable/9/contrib/bind9/lib/dns/rdata/generic/ds_43.h stable/9/contrib/bind9/lib/dns/rdata/generic/gpos_27.c stable/9/contrib/bind9/lib/dns/rdata/generic/gpos_27.h stable/9/contrib/bind9/lib/dns/rdata/generic/hinfo_13.c stable/9/contrib/bind9/lib/dns/rdata/generic/hinfo_13.h stable/9/contrib/bind9/lib/dns/rdata/generic/hip_55.c stable/9/contrib/bind9/lib/dns/rdata/generic/hip_55.h stable/9/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.c stable/9/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.h stable/9/contrib/bind9/lib/dns/rdata/generic/isdn_20.c stable/9/contrib/bind9/lib/dns/rdata/generic/isdn_20.h stable/9/contrib/bind9/lib/dns/rdata/generic/key_25.c stable/9/contrib/bind9/lib/dns/rdata/generic/key_25.h stable/9/contrib/bind9/lib/dns/rdata/generic/keydata_65533.c stable/9/contrib/bind9/lib/dns/rdata/generic/keydata_65533.h stable/9/contrib/bind9/lib/dns/rdata/generic/loc_29.c stable/9/contrib/bind9/lib/dns/rdata/generic/loc_29.h stable/9/contrib/bind9/lib/dns/rdata/generic/mb_7.c stable/9/contrib/bind9/lib/dns/rdata/generic/mb_7.h stable/9/contrib/bind9/lib/dns/rdata/generic/md_3.c stable/9/contrib/bind9/lib/dns/rdata/generic/md_3.h stable/9/contrib/bind9/lib/dns/rdata/generic/mf_4.c stable/9/contrib/bind9/lib/dns/rdata/generic/mf_4.h stable/9/contrib/bind9/lib/dns/rdata/generic/mg_8.c stable/9/contrib/bind9/lib/dns/rdata/generic/mg_8.h stable/9/contrib/bind9/lib/dns/rdata/generic/minfo_14.c stable/9/contrib/bind9/lib/dns/rdata/generic/minfo_14.h stable/9/contrib/bind9/lib/dns/rdata/generic/mr_9.c stable/9/contrib/bind9/lib/dns/rdata/generic/mr_9.h stable/9/contrib/bind9/lib/dns/rdata/generic/mx_15.c stable/9/contrib/bind9/lib/dns/rdata/generic/mx_15.h stable/9/contrib/bind9/lib/dns/rdata/generic/ns_2.c stable/9/contrib/bind9/lib/dns/rdata/generic/ns_2.h stable/9/contrib/bind9/lib/dns/rdata/generic/nsec3_50.c stable/9/contrib/bind9/lib/dns/rdata/generic/nsec3_50.h stable/9/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.c stable/9/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.h stable/9/contrib/bind9/lib/dns/rdata/generic/nsec_47.c stable/9/contrib/bind9/lib/dns/rdata/generic/nsec_47.h stable/9/contrib/bind9/lib/dns/rdata/generic/null_10.c stable/9/contrib/bind9/lib/dns/rdata/generic/null_10.h stable/9/contrib/bind9/lib/dns/rdata/generic/nxt_30.c stable/9/contrib/bind9/lib/dns/rdata/generic/nxt_30.h stable/9/contrib/bind9/lib/dns/rdata/generic/opt_41.c stable/9/contrib/bind9/lib/dns/rdata/generic/opt_41.h stable/9/contrib/bind9/lib/dns/rdata/generic/proforma.c stable/9/contrib/bind9/lib/dns/rdata/generic/proforma.h stable/9/contrib/bind9/lib/dns/rdata/generic/ptr_12.c stable/9/contrib/bind9/lib/dns/rdata/generic/ptr_12.h stable/9/contrib/bind9/lib/dns/rdata/generic/rp_17.c stable/9/contrib/bind9/lib/dns/rdata/generic/rp_17.h stable/9/contrib/bind9/lib/dns/rdata/generic/rrsig_46.c stable/9/contrib/bind9/lib/dns/rdata/generic/rrsig_46.h stable/9/contrib/bind9/lib/dns/rdata/generic/rt_21.c stable/9/contrib/bind9/lib/dns/rdata/generic/rt_21.h stable/9/contrib/bind9/lib/dns/rdata/generic/sig_24.c stable/9/contrib/bind9/lib/dns/rdata/generic/sig_24.h stable/9/contrib/bind9/lib/dns/rdata/generic/soa_6.c stable/9/contrib/bind9/lib/dns/rdata/generic/soa_6.h stable/9/contrib/bind9/lib/dns/rdata/generic/spf_99.c stable/9/contrib/bind9/lib/dns/rdata/generic/spf_99.h stable/9/contrib/bind9/lib/dns/rdata/generic/sshfp_44.c stable/9/contrib/bind9/lib/dns/rdata/generic/sshfp_44.h stable/9/contrib/bind9/lib/dns/rdata/generic/tkey_249.c stable/9/contrib/bind9/lib/dns/rdata/generic/tkey_249.h stable/9/contrib/bind9/lib/dns/rdata/generic/txt_16.c stable/9/contrib/bind9/lib/dns/rdata/generic/txt_16.h stable/9/contrib/bind9/lib/dns/rdata/generic/unspec_103.c stable/9/contrib/bind9/lib/dns/rdata/generic/unspec_103.h stable/9/contrib/bind9/lib/dns/rdata/generic/x25_19.c stable/9/contrib/bind9/lib/dns/rdata/generic/x25_19.h stable/9/contrib/bind9/lib/dns/rdata/hs_4/a_1.c stable/9/contrib/bind9/lib/dns/rdata/hs_4/a_1.h stable/9/contrib/bind9/lib/dns/rdata/in_1/a6_38.c stable/9/contrib/bind9/lib/dns/rdata/in_1/a6_38.h stable/9/contrib/bind9/lib/dns/rdata/in_1/a_1.c stable/9/contrib/bind9/lib/dns/rdata/in_1/a_1.h stable/9/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.c stable/9/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.h stable/9/contrib/bind9/lib/dns/rdata/in_1/apl_42.c stable/9/contrib/bind9/lib/dns/rdata/in_1/apl_42.h stable/9/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.c stable/9/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.h stable/9/contrib/bind9/lib/dns/rdata/in_1/kx_36.c stable/9/contrib/bind9/lib/dns/rdata/in_1/kx_36.h stable/9/contrib/bind9/lib/dns/rdata/in_1/naptr_35.c stable/9/contrib/bind9/lib/dns/rdata/in_1/naptr_35.h stable/9/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c stable/9/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h stable/9/contrib/bind9/lib/dns/rdata/in_1/nsap_22.c stable/9/contrib/bind9/lib/dns/rdata/in_1/nsap_22.h stable/9/contrib/bind9/lib/dns/rdata/in_1/px_26.c stable/9/contrib/bind9/lib/dns/rdata/in_1/px_26.h stable/9/contrib/bind9/lib/dns/rdata/in_1/srv_33.c stable/9/contrib/bind9/lib/dns/rdata/in_1/srv_33.h stable/9/contrib/bind9/lib/dns/rdata/in_1/wks_11.c stable/9/contrib/bind9/lib/dns/rdata/in_1/wks_11.h stable/9/contrib/bind9/lib/dns/rdata/rdatastructpre.h stable/9/contrib/bind9/lib/dns/rdata/rdatastructsuf.h stable/9/contrib/bind9/lib/dns/rdatalist.c stable/9/contrib/bind9/lib/dns/rdatalist_p.h stable/9/contrib/bind9/lib/dns/rdataset.c stable/9/contrib/bind9/lib/dns/rdatasetiter.c stable/9/contrib/bind9/lib/dns/rdataslab.c stable/9/contrib/bind9/lib/dns/request.c stable/9/contrib/bind9/lib/dns/resolver.c stable/9/contrib/bind9/lib/dns/result.c stable/9/contrib/bind9/lib/dns/rootns.c stable/9/contrib/bind9/lib/dns/rpz.c stable/9/contrib/bind9/lib/dns/rriterator.c stable/9/contrib/bind9/lib/dns/sdb.c stable/9/contrib/bind9/lib/dns/sdlz.c stable/9/contrib/bind9/lib/dns/soa.c stable/9/contrib/bind9/lib/dns/spnego.asn1 stable/9/contrib/bind9/lib/dns/spnego.c stable/9/contrib/bind9/lib/dns/spnego.h stable/9/contrib/bind9/lib/dns/spnego_asn1.c stable/9/contrib/bind9/lib/dns/spnego_asn1.pl stable/9/contrib/bind9/lib/dns/ssu.c stable/9/contrib/bind9/lib/dns/ssu_external.c stable/9/contrib/bind9/lib/dns/stats.c stable/9/contrib/bind9/lib/dns/tcpmsg.c stable/9/contrib/bind9/lib/dns/time.c stable/9/contrib/bind9/lib/dns/timer.c stable/9/contrib/bind9/lib/dns/tkey.c stable/9/contrib/bind9/lib/dns/tsec.c stable/9/contrib/bind9/lib/dns/tsig.c stable/9/contrib/bind9/lib/dns/ttl.c stable/9/contrib/bind9/lib/dns/validator.c stable/9/contrib/bind9/lib/dns/version.c stable/9/contrib/bind9/lib/dns/view.c stable/9/contrib/bind9/lib/dns/xfrin.c stable/9/contrib/bind9/lib/dns/zone.c stable/9/contrib/bind9/lib/dns/zonekey.c stable/9/contrib/bind9/lib/dns/zt.c stable/9/contrib/bind9/lib/export/Makefile.in stable/9/contrib/bind9/lib/export/dns/Makefile.in stable/9/contrib/bind9/lib/export/dns/include/Makefile.in stable/9/contrib/bind9/lib/export/dns/include/dns/Makefile.in stable/9/contrib/bind9/lib/export/dns/include/dst/Makefile.in stable/9/contrib/bind9/lib/export/irs/Makefile.in stable/9/contrib/bind9/lib/export/irs/include/Makefile.in stable/9/contrib/bind9/lib/export/irs/include/irs/Makefile.in stable/9/contrib/bind9/lib/export/isc/Makefile.in stable/9/contrib/bind9/lib/export/isc/include/Makefile.in stable/9/contrib/bind9/lib/export/isc/include/isc/Makefile.in stable/9/contrib/bind9/lib/export/isc/include/isc/bind9.h stable/9/contrib/bind9/lib/export/isc/nls/Makefile.in stable/9/contrib/bind9/lib/export/isc/nothreads/Makefile.in stable/9/contrib/bind9/lib/export/isc/nothreads/include/Makefile.in stable/9/contrib/bind9/lib/export/isc/nothreads/include/isc/Makefile.in stable/9/contrib/bind9/lib/export/isc/pthreads/Makefile.in stable/9/contrib/bind9/lib/export/isc/pthreads/include/Makefile.in stable/9/contrib/bind9/lib/export/isc/pthreads/include/isc/Makefile.in stable/9/contrib/bind9/lib/export/isc/unix/Makefile.in stable/9/contrib/bind9/lib/export/isc/unix/include/Makefile.in stable/9/contrib/bind9/lib/export/isc/unix/include/isc/Makefile.in stable/9/contrib/bind9/lib/export/isccfg/Makefile.in stable/9/contrib/bind9/lib/export/isccfg/include/Makefile.in stable/9/contrib/bind9/lib/export/isccfg/include/isccfg/Makefile.in stable/9/contrib/bind9/lib/export/samples/Makefile-postinstall.in stable/9/contrib/bind9/lib/export/samples/Makefile.in stable/9/contrib/bind9/lib/export/samples/nsprobe.c stable/9/contrib/bind9/lib/export/samples/sample-async.c stable/9/contrib/bind9/lib/export/samples/sample-gai.c stable/9/contrib/bind9/lib/export/samples/sample-request.c stable/9/contrib/bind9/lib/export/samples/sample-update.c stable/9/contrib/bind9/lib/export/samples/sample.c stable/9/contrib/bind9/lib/irs/Makefile.in stable/9/contrib/bind9/lib/irs/api stable/9/contrib/bind9/lib/irs/context.c stable/9/contrib/bind9/lib/irs/dnsconf.c stable/9/contrib/bind9/lib/irs/gai_strerror.c stable/9/contrib/bind9/lib/irs/getaddrinfo.c stable/9/contrib/bind9/lib/irs/getnameinfo.c stable/9/contrib/bind9/lib/irs/include/Makefile.in stable/9/contrib/bind9/lib/irs/include/irs/Makefile.in stable/9/contrib/bind9/lib/irs/include/irs/context.h stable/9/contrib/bind9/lib/irs/include/irs/dnsconf.h stable/9/contrib/bind9/lib/irs/include/irs/netdb.h.in stable/9/contrib/bind9/lib/irs/include/irs/platform.h.in stable/9/contrib/bind9/lib/irs/include/irs/resconf.h stable/9/contrib/bind9/lib/irs/include/irs/types.h stable/9/contrib/bind9/lib/irs/include/irs/version.h stable/9/contrib/bind9/lib/irs/resconf.c stable/9/contrib/bind9/lib/irs/version.c stable/9/contrib/bind9/lib/isc/Makefile.in stable/9/contrib/bind9/lib/isc/alpha/Makefile.in stable/9/contrib/bind9/lib/isc/alpha/include/Makefile.in stable/9/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/alpha/include/isc/atomic.h stable/9/contrib/bind9/lib/isc/api stable/9/contrib/bind9/lib/isc/app_api.c stable/9/contrib/bind9/lib/isc/assertions.c stable/9/contrib/bind9/lib/isc/backtrace-emptytbl.c stable/9/contrib/bind9/lib/isc/backtrace.c stable/9/contrib/bind9/lib/isc/base32.c stable/9/contrib/bind9/lib/isc/base64.c stable/9/contrib/bind9/lib/isc/bitstring.c stable/9/contrib/bind9/lib/isc/buffer.c stable/9/contrib/bind9/lib/isc/bufferlist.c stable/9/contrib/bind9/lib/isc/commandline.c stable/9/contrib/bind9/lib/isc/entropy.c stable/9/contrib/bind9/lib/isc/error.c stable/9/contrib/bind9/lib/isc/event.c stable/9/contrib/bind9/lib/isc/fsaccess.c stable/9/contrib/bind9/lib/isc/hash.c stable/9/contrib/bind9/lib/isc/heap.c stable/9/contrib/bind9/lib/isc/hex.c stable/9/contrib/bind9/lib/isc/hmacmd5.c stable/9/contrib/bind9/lib/isc/hmacsha.c stable/9/contrib/bind9/lib/isc/httpd.c stable/9/contrib/bind9/lib/isc/ia64/Makefile.in stable/9/contrib/bind9/lib/isc/ia64/include/Makefile.in stable/9/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/ia64/include/isc/atomic.h stable/9/contrib/bind9/lib/isc/include/Makefile.in stable/9/contrib/bind9/lib/isc/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/include/isc/app.h stable/9/contrib/bind9/lib/isc/include/isc/assertions.h stable/9/contrib/bind9/lib/isc/include/isc/backtrace.h stable/9/contrib/bind9/lib/isc/include/isc/base32.h stable/9/contrib/bind9/lib/isc/include/isc/base64.h stable/9/contrib/bind9/lib/isc/include/isc/bind9.h stable/9/contrib/bind9/lib/isc/include/isc/bitstring.h stable/9/contrib/bind9/lib/isc/include/isc/boolean.h stable/9/contrib/bind9/lib/isc/include/isc/buffer.h stable/9/contrib/bind9/lib/isc/include/isc/bufferlist.h stable/9/contrib/bind9/lib/isc/include/isc/commandline.h stable/9/contrib/bind9/lib/isc/include/isc/entropy.h stable/9/contrib/bind9/lib/isc/include/isc/error.h stable/9/contrib/bind9/lib/isc/include/isc/event.h stable/9/contrib/bind9/lib/isc/include/isc/eventclass.h stable/9/contrib/bind9/lib/isc/include/isc/file.h stable/9/contrib/bind9/lib/isc/include/isc/formatcheck.h stable/9/contrib/bind9/lib/isc/include/isc/fsaccess.h stable/9/contrib/bind9/lib/isc/include/isc/hash.h stable/9/contrib/bind9/lib/isc/include/isc/heap.h stable/9/contrib/bind9/lib/isc/include/isc/hex.h stable/9/contrib/bind9/lib/isc/include/isc/hmacmd5.h stable/9/contrib/bind9/lib/isc/include/isc/hmacsha.h stable/9/contrib/bind9/lib/isc/include/isc/httpd.h stable/9/contrib/bind9/lib/isc/include/isc/interfaceiter.h stable/9/contrib/bind9/lib/isc/include/isc/ipv6.h stable/9/contrib/bind9/lib/isc/include/isc/iterated_hash.h stable/9/contrib/bind9/lib/isc/include/isc/lang.h stable/9/contrib/bind9/lib/isc/include/isc/lex.h stable/9/contrib/bind9/lib/isc/include/isc/lfsr.h stable/9/contrib/bind9/lib/isc/include/isc/lib.h stable/9/contrib/bind9/lib/isc/include/isc/list.h stable/9/contrib/bind9/lib/isc/include/isc/log.h stable/9/contrib/bind9/lib/isc/include/isc/magic.h stable/9/contrib/bind9/lib/isc/include/isc/md5.h stable/9/contrib/bind9/lib/isc/include/isc/mem.h stable/9/contrib/bind9/lib/isc/include/isc/msgcat.h stable/9/contrib/bind9/lib/isc/include/isc/msgs.h stable/9/contrib/bind9/lib/isc/include/isc/mutexblock.h stable/9/contrib/bind9/lib/isc/include/isc/namespace.h stable/9/contrib/bind9/lib/isc/include/isc/netaddr.h stable/9/contrib/bind9/lib/isc/include/isc/netscope.h stable/9/contrib/bind9/lib/isc/include/isc/ondestroy.h stable/9/contrib/bind9/lib/isc/include/isc/os.h stable/9/contrib/bind9/lib/isc/include/isc/parseint.h stable/9/contrib/bind9/lib/isc/include/isc/platform.h.in stable/9/contrib/bind9/lib/isc/include/isc/portset.h stable/9/contrib/bind9/lib/isc/include/isc/print.h stable/9/contrib/bind9/lib/isc/include/isc/quota.h stable/9/contrib/bind9/lib/isc/include/isc/radix.h stable/9/contrib/bind9/lib/isc/include/isc/random.h stable/9/contrib/bind9/lib/isc/include/isc/ratelimiter.h stable/9/contrib/bind9/lib/isc/include/isc/refcount.h stable/9/contrib/bind9/lib/isc/include/isc/region.h stable/9/contrib/bind9/lib/isc/include/isc/resource.h stable/9/contrib/bind9/lib/isc/include/isc/result.h stable/9/contrib/bind9/lib/isc/include/isc/resultclass.h stable/9/contrib/bind9/lib/isc/include/isc/rwlock.h stable/9/contrib/bind9/lib/isc/include/isc/serial.h stable/9/contrib/bind9/lib/isc/include/isc/sha1.h stable/9/contrib/bind9/lib/isc/include/isc/sha2.h stable/9/contrib/bind9/lib/isc/include/isc/sockaddr.h stable/9/contrib/bind9/lib/isc/include/isc/socket.h stable/9/contrib/bind9/lib/isc/include/isc/stats.h stable/9/contrib/bind9/lib/isc/include/isc/stdio.h stable/9/contrib/bind9/lib/isc/include/isc/stdlib.h stable/9/contrib/bind9/lib/isc/include/isc/string.h stable/9/contrib/bind9/lib/isc/include/isc/symtab.h stable/9/contrib/bind9/lib/isc/include/isc/task.h stable/9/contrib/bind9/lib/isc/include/isc/taskpool.h stable/9/contrib/bind9/lib/isc/include/isc/timer.h stable/9/contrib/bind9/lib/isc/include/isc/types.h stable/9/contrib/bind9/lib/isc/include/isc/util.h stable/9/contrib/bind9/lib/isc/include/isc/version.h stable/9/contrib/bind9/lib/isc/include/isc/xml.h stable/9/contrib/bind9/lib/isc/inet_aton.c stable/9/contrib/bind9/lib/isc/inet_ntop.c stable/9/contrib/bind9/lib/isc/inet_pton.c stable/9/contrib/bind9/lib/isc/iterated_hash.c stable/9/contrib/bind9/lib/isc/lex.c stable/9/contrib/bind9/lib/isc/lfsr.c stable/9/contrib/bind9/lib/isc/lib.c stable/9/contrib/bind9/lib/isc/log.c stable/9/contrib/bind9/lib/isc/md5.c stable/9/contrib/bind9/lib/isc/mem.c stable/9/contrib/bind9/lib/isc/mem_api.c stable/9/contrib/bind9/lib/isc/mips/Makefile.in stable/9/contrib/bind9/lib/isc/mips/include/Makefile.in stable/9/contrib/bind9/lib/isc/mips/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/mips/include/isc/atomic.h stable/9/contrib/bind9/lib/isc/mutexblock.c stable/9/contrib/bind9/lib/isc/netaddr.c stable/9/contrib/bind9/lib/isc/netscope.c stable/9/contrib/bind9/lib/isc/nls/Makefile.in stable/9/contrib/bind9/lib/isc/nls/msgcat.c stable/9/contrib/bind9/lib/isc/noatomic/Makefile.in stable/9/contrib/bind9/lib/isc/noatomic/include/Makefile.in stable/9/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/noatomic/include/isc/atomic.h stable/9/contrib/bind9/lib/isc/nothreads/Makefile.in stable/9/contrib/bind9/lib/isc/nothreads/condition.c stable/9/contrib/bind9/lib/isc/nothreads/include/Makefile.in stable/9/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/nothreads/include/isc/condition.h stable/9/contrib/bind9/lib/isc/nothreads/include/isc/mutex.h stable/9/contrib/bind9/lib/isc/nothreads/include/isc/once.h stable/9/contrib/bind9/lib/isc/nothreads/include/isc/thread.h stable/9/contrib/bind9/lib/isc/nothreads/mutex.c stable/9/contrib/bind9/lib/isc/nothreads/thread.c stable/9/contrib/bind9/lib/isc/ondestroy.c stable/9/contrib/bind9/lib/isc/parseint.c stable/9/contrib/bind9/lib/isc/portset.c stable/9/contrib/bind9/lib/isc/powerpc/Makefile.in stable/9/contrib/bind9/lib/isc/powerpc/include/Makefile.in stable/9/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h stable/9/contrib/bind9/lib/isc/print.c stable/9/contrib/bind9/lib/isc/pthreads/Makefile.in stable/9/contrib/bind9/lib/isc/pthreads/condition.c stable/9/contrib/bind9/lib/isc/pthreads/include/Makefile.in stable/9/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/pthreads/include/isc/condition.h stable/9/contrib/bind9/lib/isc/pthreads/include/isc/mutex.h stable/9/contrib/bind9/lib/isc/pthreads/include/isc/once.h stable/9/contrib/bind9/lib/isc/pthreads/include/isc/thread.h stable/9/contrib/bind9/lib/isc/pthreads/mutex.c stable/9/contrib/bind9/lib/isc/pthreads/thread.c stable/9/contrib/bind9/lib/isc/quota.c stable/9/contrib/bind9/lib/isc/radix.c stable/9/contrib/bind9/lib/isc/random.c stable/9/contrib/bind9/lib/isc/ratelimiter.c stable/9/contrib/bind9/lib/isc/refcount.c stable/9/contrib/bind9/lib/isc/region.c stable/9/contrib/bind9/lib/isc/result.c stable/9/contrib/bind9/lib/isc/rwlock.c stable/9/contrib/bind9/lib/isc/serial.c stable/9/contrib/bind9/lib/isc/sha1.c stable/9/contrib/bind9/lib/isc/sha2.c stable/9/contrib/bind9/lib/isc/sockaddr.c stable/9/contrib/bind9/lib/isc/socket_api.c stable/9/contrib/bind9/lib/isc/sparc64/Makefile.in stable/9/contrib/bind9/lib/isc/sparc64/include/Makefile.in stable/9/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/sparc64/include/isc/atomic.h stable/9/contrib/bind9/lib/isc/stats.c stable/9/contrib/bind9/lib/isc/string.c stable/9/contrib/bind9/lib/isc/strtoul.c stable/9/contrib/bind9/lib/isc/symtab.c stable/9/contrib/bind9/lib/isc/task.c stable/9/contrib/bind9/lib/isc/task_api.c stable/9/contrib/bind9/lib/isc/task_p.h stable/9/contrib/bind9/lib/isc/taskpool.c stable/9/contrib/bind9/lib/isc/timer.c stable/9/contrib/bind9/lib/isc/timer_api.c stable/9/contrib/bind9/lib/isc/timer_p.h stable/9/contrib/bind9/lib/isc/unix/Makefile.in stable/9/contrib/bind9/lib/isc/unix/app.c stable/9/contrib/bind9/lib/isc/unix/dir.c stable/9/contrib/bind9/lib/isc/unix/entropy.c stable/9/contrib/bind9/lib/isc/unix/errno2result.c stable/9/contrib/bind9/lib/isc/unix/errno2result.h stable/9/contrib/bind9/lib/isc/unix/file.c stable/9/contrib/bind9/lib/isc/unix/fsaccess.c stable/9/contrib/bind9/lib/isc/unix/ifiter_getifaddrs.c stable/9/contrib/bind9/lib/isc/unix/ifiter_ioctl.c stable/9/contrib/bind9/lib/isc/unix/ifiter_sysctl.c stable/9/contrib/bind9/lib/isc/unix/include/Makefile.in stable/9/contrib/bind9/lib/isc/unix/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/unix/include/isc/dir.h stable/9/contrib/bind9/lib/isc/unix/include/isc/int.h stable/9/contrib/bind9/lib/isc/unix/include/isc/keyboard.h stable/9/contrib/bind9/lib/isc/unix/include/isc/net.h stable/9/contrib/bind9/lib/isc/unix/include/isc/netdb.h stable/9/contrib/bind9/lib/isc/unix/include/isc/offset.h stable/9/contrib/bind9/lib/isc/unix/include/isc/stat.h stable/9/contrib/bind9/lib/isc/unix/include/isc/stdtime.h stable/9/contrib/bind9/lib/isc/unix/include/isc/strerror.h stable/9/contrib/bind9/lib/isc/unix/include/isc/syslog.h stable/9/contrib/bind9/lib/isc/unix/include/isc/time.h stable/9/contrib/bind9/lib/isc/unix/interfaceiter.c stable/9/contrib/bind9/lib/isc/unix/ipv6.c stable/9/contrib/bind9/lib/isc/unix/keyboard.c stable/9/contrib/bind9/lib/isc/unix/net.c stable/9/contrib/bind9/lib/isc/unix/os.c stable/9/contrib/bind9/lib/isc/unix/resource.c stable/9/contrib/bind9/lib/isc/unix/socket.c stable/9/contrib/bind9/lib/isc/unix/socket_p.h stable/9/contrib/bind9/lib/isc/unix/stdio.c stable/9/contrib/bind9/lib/isc/unix/stdtime.c stable/9/contrib/bind9/lib/isc/unix/strerror.c stable/9/contrib/bind9/lib/isc/unix/syslog.c stable/9/contrib/bind9/lib/isc/unix/time.c stable/9/contrib/bind9/lib/isc/version.c stable/9/contrib/bind9/lib/isc/x86_32/Makefile.in stable/9/contrib/bind9/lib/isc/x86_32/include/Makefile.in stable/9/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/x86_32/include/isc/atomic.h stable/9/contrib/bind9/lib/isc/x86_64/Makefile.in stable/9/contrib/bind9/lib/isc/x86_64/include/Makefile.in stable/9/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/x86_64/include/isc/atomic.h stable/9/contrib/bind9/lib/isccc/Makefile.in stable/9/contrib/bind9/lib/isccc/alist.c stable/9/contrib/bind9/lib/isccc/api stable/9/contrib/bind9/lib/isccc/base64.c stable/9/contrib/bind9/lib/isccc/cc.c stable/9/contrib/bind9/lib/isccc/ccmsg.c stable/9/contrib/bind9/lib/isccc/include/Makefile.in stable/9/contrib/bind9/lib/isccc/include/isccc/Makefile.in stable/9/contrib/bind9/lib/isccc/include/isccc/alist.h stable/9/contrib/bind9/lib/isccc/include/isccc/base64.h stable/9/contrib/bind9/lib/isccc/include/isccc/cc.h stable/9/contrib/bind9/lib/isccc/include/isccc/ccmsg.h stable/9/contrib/bind9/lib/isccc/include/isccc/events.h stable/9/contrib/bind9/lib/isccc/include/isccc/lib.h stable/9/contrib/bind9/lib/isccc/include/isccc/result.h stable/9/contrib/bind9/lib/isccc/include/isccc/sexpr.h stable/9/contrib/bind9/lib/isccc/include/isccc/symtab.h stable/9/contrib/bind9/lib/isccc/include/isccc/symtype.h stable/9/contrib/bind9/lib/isccc/include/isccc/types.h stable/9/contrib/bind9/lib/isccc/include/isccc/util.h stable/9/contrib/bind9/lib/isccc/include/isccc/version.h stable/9/contrib/bind9/lib/isccc/lib.c stable/9/contrib/bind9/lib/isccc/result.c stable/9/contrib/bind9/lib/isccc/sexpr.c stable/9/contrib/bind9/lib/isccc/symtab.c stable/9/contrib/bind9/lib/isccc/version.c stable/9/contrib/bind9/lib/isccfg/Makefile.in stable/9/contrib/bind9/lib/isccfg/aclconf.c stable/9/contrib/bind9/lib/isccfg/api stable/9/contrib/bind9/lib/isccfg/dnsconf.c stable/9/contrib/bind9/lib/isccfg/include/Makefile.in stable/9/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in stable/9/contrib/bind9/lib/isccfg/include/isccfg/aclconf.h stable/9/contrib/bind9/lib/isccfg/include/isccfg/cfg.h stable/9/contrib/bind9/lib/isccfg/include/isccfg/dnsconf.h stable/9/contrib/bind9/lib/isccfg/include/isccfg/grammar.h stable/9/contrib/bind9/lib/isccfg/include/isccfg/log.h stable/9/contrib/bind9/lib/isccfg/include/isccfg/namedconf.h stable/9/contrib/bind9/lib/isccfg/include/isccfg/version.h stable/9/contrib/bind9/lib/isccfg/log.c stable/9/contrib/bind9/lib/isccfg/namedconf.c stable/9/contrib/bind9/lib/isccfg/parser.c stable/9/contrib/bind9/lib/isccfg/version.c stable/9/contrib/bind9/lib/lwres/Makefile.in stable/9/contrib/bind9/lib/lwres/api stable/9/contrib/bind9/lib/lwres/assert_p.h stable/9/contrib/bind9/lib/lwres/context.c stable/9/contrib/bind9/lib/lwres/context_p.h stable/9/contrib/bind9/lib/lwres/gai_strerror.c stable/9/contrib/bind9/lib/lwres/getaddrinfo.c stable/9/contrib/bind9/lib/lwres/gethost.c stable/9/contrib/bind9/lib/lwres/getipnode.c stable/9/contrib/bind9/lib/lwres/getnameinfo.c stable/9/contrib/bind9/lib/lwres/getrrset.c stable/9/contrib/bind9/lib/lwres/herror.c stable/9/contrib/bind9/lib/lwres/include/Makefile.in stable/9/contrib/bind9/lib/lwres/include/lwres/Makefile.in stable/9/contrib/bind9/lib/lwres/include/lwres/context.h stable/9/contrib/bind9/lib/lwres/include/lwres/int.h stable/9/contrib/bind9/lib/lwres/include/lwres/ipv6.h stable/9/contrib/bind9/lib/lwres/include/lwres/lang.h stable/9/contrib/bind9/lib/lwres/include/lwres/list.h stable/9/contrib/bind9/lib/lwres/include/lwres/lwbuffer.h stable/9/contrib/bind9/lib/lwres/include/lwres/lwpacket.h stable/9/contrib/bind9/lib/lwres/include/lwres/lwres.h stable/9/contrib/bind9/lib/lwres/include/lwres/netdb.h.in stable/9/contrib/bind9/lib/lwres/include/lwres/platform.h.in stable/9/contrib/bind9/lib/lwres/include/lwres/result.h stable/9/contrib/bind9/lib/lwres/include/lwres/stdlib.h stable/9/contrib/bind9/lib/lwres/include/lwres/version.h stable/9/contrib/bind9/lib/lwres/lwbuffer.c stable/9/contrib/bind9/lib/lwres/lwconfig.c stable/9/contrib/bind9/lib/lwres/lwinetaton.c stable/9/contrib/bind9/lib/lwres/lwinetntop.c stable/9/contrib/bind9/lib/lwres/lwinetpton.c stable/9/contrib/bind9/lib/lwres/lwpacket.c stable/9/contrib/bind9/lib/lwres/lwres_gabn.c stable/9/contrib/bind9/lib/lwres/lwres_gnba.c stable/9/contrib/bind9/lib/lwres/lwres_grbn.c stable/9/contrib/bind9/lib/lwres/lwres_noop.c stable/9/contrib/bind9/lib/lwres/lwresutil.c stable/9/contrib/bind9/lib/lwres/man/Makefile.in stable/9/contrib/bind9/lib/lwres/man/lwres.3 stable/9/contrib/bind9/lib/lwres/man/lwres.docbook stable/9/contrib/bind9/lib/lwres/man/lwres.html stable/9/contrib/bind9/lib/lwres/man/lwres_buffer.3 stable/9/contrib/bind9/lib/lwres/man/lwres_buffer.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_buffer.html stable/9/contrib/bind9/lib/lwres/man/lwres_config.3 stable/9/contrib/bind9/lib/lwres/man/lwres_config.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_config.html stable/9/contrib/bind9/lib/lwres/man/lwres_context.3 stable/9/contrib/bind9/lib/lwres/man/lwres_context.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_context.html stable/9/contrib/bind9/lib/lwres/man/lwres_gabn.3 stable/9/contrib/bind9/lib/lwres/man/lwres_gabn.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_gabn.html stable/9/contrib/bind9/lib/lwres/man/lwres_gai_strerror.3 stable/9/contrib/bind9/lib/lwres/man/lwres_gai_strerror.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_gai_strerror.html stable/9/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.3 stable/9/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.html stable/9/contrib/bind9/lib/lwres/man/lwres_gethostent.3 stable/9/contrib/bind9/lib/lwres/man/lwres_gethostent.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_gethostent.html stable/9/contrib/bind9/lib/lwres/man/lwres_getipnode.3 stable/9/contrib/bind9/lib/lwres/man/lwres_getipnode.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_getipnode.html stable/9/contrib/bind9/lib/lwres/man/lwres_getnameinfo.3 stable/9/contrib/bind9/lib/lwres/man/lwres_getnameinfo.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_getnameinfo.html stable/9/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.3 stable/9/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.html stable/9/contrib/bind9/lib/lwres/man/lwres_gnba.3 stable/9/contrib/bind9/lib/lwres/man/lwres_gnba.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_gnba.html stable/9/contrib/bind9/lib/lwres/man/lwres_hstrerror.3 stable/9/contrib/bind9/lib/lwres/man/lwres_hstrerror.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_hstrerror.html stable/9/contrib/bind9/lib/lwres/man/lwres_inetntop.3 stable/9/contrib/bind9/lib/lwres/man/lwres_inetntop.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_inetntop.html stable/9/contrib/bind9/lib/lwres/man/lwres_noop.3 stable/9/contrib/bind9/lib/lwres/man/lwres_noop.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_noop.html stable/9/contrib/bind9/lib/lwres/man/lwres_packet.3 stable/9/contrib/bind9/lib/lwres/man/lwres_packet.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_packet.html stable/9/contrib/bind9/lib/lwres/man/lwres_resutil.3 stable/9/contrib/bind9/lib/lwres/man/lwres_resutil.docbook stable/9/contrib/bind9/lib/lwres/man/lwres_resutil.html stable/9/contrib/bind9/lib/lwres/print.c stable/9/contrib/bind9/lib/lwres/print_p.h stable/9/contrib/bind9/lib/lwres/strtoul.c stable/9/contrib/bind9/lib/lwres/unix/Makefile.in stable/9/contrib/bind9/lib/lwres/unix/include/Makefile.in stable/9/contrib/bind9/lib/lwres/unix/include/lwres/Makefile.in stable/9/contrib/bind9/lib/lwres/unix/include/lwres/net.h stable/9/contrib/bind9/lib/lwres/version.c stable/9/contrib/bind9/make/Makefile.in stable/9/contrib/bind9/make/includes.in stable/9/contrib/bind9/make/mkdep.in stable/9/contrib/bind9/make/rules.in stable/9/contrib/bind9/mkinstalldirs stable/9/contrib/bind9/release-notes.css stable/9/contrib/bind9/version stable/9/lib/bind/config.h stable/9/lib/bind/dns/code.h stable/9/lib/bind/dns/dns/enumclass.h stable/9/lib/bind/dns/dns/enumtype.h stable/9/lib/bind/dns/dns/rdatastruct.h stable/9/lib/bind/lwres/lwres/netdb.h stable/9/lib/bind/lwres/lwres/platform.h stable/9/share/doc/bind9/Makefile Directory Properties: stable/9/contrib/bind9/ (props changed) stable/9/lib/bind/ (props changed) stable/9/share/doc/bind9/ (props changed) Modified: stable/9/contrib/bind9/CHANGES ============================================================================== --- stable/9/contrib/bind9/CHANGES Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/CHANGES Sun Apr 8 01:43:41 2012 (r234010) @@ -1,9 +1,309 @@ - --- 9.8.1-P1 released --- + --- 9.8.2 released --- + +3298. [bug] Named could dereference a NULL pointer in + zmgr_start_xfrin_ifquota if the zone was being removed. + [RT #28419] + +3297. [bug] Named could die on a malformed master file. [RT #28467] + +3295. [bug] Adjust isc_time_secondsastimet range check to be more + portable. [RT # 26542] + +3294. [bug] isccc/cc.c:table_fromwire failed to free alist on + error. [RT #28265] + +3291. [port] Fixed a build error on systems without ENOTSUP. + [RT #28200] + +3290. [bug] was not being installed. [RT #28169] + +3288. [bug] dlz_destroy() function wasn't correctly registered + by the DLZ dlopen driver. [RT #28056] + +3287. [port] Update ans.pl to work with Net::DNS 0.68. [RT #28028] + +3286. [bug] Managed key maintenance timer could fail to start + after 'rndc reconfig'. [RT #26786] + + --- 9.8.2rc2 released --- + +3285. [bug] val-frdataset was incorrectly disassociated in + proveunsecure after calling startfinddlvsep. + [RT #27928] + +3284. [bug] Address race conditions with the handling of + rbtnode.deadlink. [RT #27738] + +3283. [bug] Raw zones with with more than 512 records in a RRset + failed to load. [RT #27863] + +3282. [bug] Restrict the TTL of NS RRset to no more than that + of the old NS RRset when replacing it. + [RT #27792] [RT #27884] + +3281. [bug] SOA refresh queries could be treated as cancelled + despite succeeding over the loopback interface. + [RT #27782] + +3280. [bug] Potential double free of a rdataset on out of memory + with DNS64. [RT #27762] + +3278. [bug] Make sure automatic key maintenance is started + when "auto-dnssec maintain" is turned on during + "rndc reconfig". [RT #26805] + +3276. [bug] win32: ns_os_openfile failed to return NULL on + safe_open failure. [RT #27696] + +3274. [bug] Log when a zone is not reusable. Only set loadtime + on successful loads. [RT #27650] + +3273. [bug] AAAA responses could be returned in the additional + section even when filter-aaaa-on-v4 was in use. + [RT #27292] + +3271. [port] darwin: mksymtbl is not always stable, loop several + times before giving up. mksymtbl was using non + portable perl to covert 64 bit hex strings. [RT #27653] + +3268. [bug] Convert RRSIG expiry times to 64 timestamps to work + out the earliest expiry time. [RT #23311] + +3267. [bug] Memory allocation failures could be mis-reported as + unexpected error. New ISC_R_UNSET result code. + [RT #27336] + +3266. [bug] The maximum number of NSEC3 iterations for a + DNSKEY RRset was not being properly computed. + [RT #26543] + +3262. [bug] Signed responses were handled incorrectly by RPZ. + [RT #27316] + + --- 9.8.2rc1 released --- + +3260. [bug] "rrset-order cyclic" could appear not to rotate + for some query patterns. [RT #27170/27185] + +3259. [bug] named-compilezone: Suppress "dump zone to " + message when writing to stdout. [RT #27109] + +3258. [test] Add "forcing full sign with unreadable keys" test. + [RT #27153] + +3257. [bug] Do not generate a error message when calling fsync() + in a pipe or socket. [RT #27109] + +3256. [bug] Disable empty zones for lwresd -C. [RT #27139] + +3254. [bug] Set isc_socket_ipv6only() on the IPv6 control channels. + [RT #22249] + +3253. [bug] Return DNS_R_SYNTAX when the input to a text field is + too long. [RT #26956] + +3251. [bug] Enforce a upper bound (65535 bytes) on the amount of + memory dns_sdlz_putrr() can allocate per record to + prevent run away memory consumption on ISC_R_NOSPACE. + [RT #26956] + +3250. [func] 'configure --enable-developer'; turn on various + configure options, normally off by default, that + we want developers to build and test with. [RT #27103] + +3249. [bug] Update log message when saving slave zones files for + analysis after load failures. [RT #27087] + +3248. [bug] Configure options --enable-fixed-rrset and + --enable-exportlib were incompatible with each + other. [RT #27087] + +3247. [bug] 'raw' format zones failed to preserve load order + breaking 'fixed' sort order. [RT #27087] + +3243. [port] netbsd,bsdi: the thread defaults were not being + properly set. + +3241. [bug] Address race conditions in the resolver code. + [RT #26889] + +3240. [bug] DNSKEY state change events could be missed. [RT #26874] + +3239. [bug] dns_dnssec_findmatchingkeys needs to use a consistent + timestamp. [RT #26883] + +3238. [bug] keyrdata was not being reinitialized in + lib/dns/rbtdb.c:iszonesecure. [RT#26913] + +3237. [bug] dig -6 didn't work with +trace. [RT #26906] + + --- 9.8.2b1 released --- + +3234. [bug] 'make depend' produced invalid makefiles. [RT #26830] + +3231. [bug] named could fail to send a uncompressable zone. + [RT #26796] + +3230. [bug] 'dig axfr' failed to properly handle a multi-message + axfr with a serial of 0. [RT #26796] + +3229. [bug] Fix local variable to struct var assignment + found by CLANG warning. + +3228. [tuning] Dynamically grow symbol table to improve zone + loading performance. [RT #26523] + +3227. [bug] Interim fix to make WKS's use of getprotobyname() + and getservbyname() self thread safe. [RT #26232] + +3226. [bug] Address minor resource leakages. [RT #26624] + +3221. [bug] Fixed a potential coredump on shutdown due to + referencing fetch context after it's been freed. + [RT #26720] + +3220. [bug] Change #3186 was incomplete; dns_db_rpz_findips() + could fail to set the database version correctly, + causing an assertion failure. [RT #26180] 3218. [security] Cache lookup could return RRSIG data associated with nonexistent records, leading to an assertion failure. [RT #26590] +3217. [cleanup] Fix build problem with --disable-static. [RT #26476] + +3216. [bug] resolver.c:validated() was not thread-safe. [RT #26478] + +3213. [doc] Clarify ixfr-from-differences behavior. [RT #25188] + +3212. [bug] rbtdb.c: failed to remove a node from the deadnodes + list prior to adding a reference to it leading a + possible assertion failure. [RT #23219] + +3209. [func] Add "dnssec-lookaside 'no'". [RT #24858] + +3208. [bug] 'dig -y' handle unknown tsig alorithm better. + [RT #25522] + +3207. [contrib] Fixed build error in Berkeley DB DLZ module. [RT #26444] + +3206. [cleanup] Add ISC information to log at start time. [RT #25484] + +3204. [bug] When a master server that has been marked as + unreachable sends a NOTIFY, mark it reachable + again. [RT #25960] + +3203. [bug] Increase log level to 'info' for validation failures + from expired or not-yet-valid RRSIGs. [RT #21796] + +3200. [doc] Some rndc functions were undocumented or were + missing from 'rndc -h' output. [RT #25555] + +3198. [doc] Clarified that dnssec-settime can alter keyfile + permissions. [RT #24866] + +3196. [bug] nsupdate: return nonzero exit code when target zone + doesn't exist. [RT #25783] + +3195. [cleanup] Silence "file not found" warnings when loading + managed-keys zone. [RT #26340] + +3194. [doc] Updated RFC references in the 'empty-zones-enable' + documentation. [RT #25203] + +3193. [cleanup] Changed MAXZONEKEYS to DNS_MAXZONEKEYS, moved to + dnssec.h. [RT #26415] + +3192. [bug] A query structure could be used after being freed. + [RT #22208] + +3191. [bug] Print NULL records using "unknown" format. [RT #26392] + +3190. [bug] Underflow in error handling in isc_mutexblock_init. + [RT #26397] + +3189. [test] Added a summary report after system tests. [RT #25517] + +3188. [bug] zone.c:zone_refreshkeys() could fail to detach + references correctly when errors occurred, causing + a hang on shutdown. [RT #26372] + +3187. [port] win32: support for Visual Studio 2008. [RT #26356] + +3186. [bug] Version/db mis-match in rpz code. [RT #26180] + +3179. [port] kfreebsd: build issues. [RT #26273] + +3175. [bug] Fix how DNSSEC positive wildcard responses from a + NSEC3 signed zone are validated. Stop sending a + unnecessary NSEC3 record when generating such + responses. [RT #26200] + +3174. [bug] Always compute to revoked key tag from scratch. + [RT #26186] + +3173. [port] Correctly validate root DS responses. [RT #25726] + +3171. [bug] Exclusively lock the task when adding a zone using + 'rndc addzone'. [RT #25600] + +3170. [func] RPZ update: + - fix precedence among competing rules + - improve ARM text including documenting rule precedence + - try to rewrite CNAME chains until first hit + - new "rpz" logging channel + - RDATA for CNAME rules can include wildcards + - replace "NO-OP" named.conf policy override with + "PASSTHRU" and add "DISABLED" override ("NO-OP" + is still recognized) + [RT #25172] + +3169. [func] Catch db/version mis-matches when calling dns_db_*(). + [RT #26017] + +3167. [bug] Negative answers from forwarders were not being + correctly tagged making them appear to not be cached. + [RT #25380] + +3162. [test] start.pl: modified to allow for "named.args" in + ns*/ subdirectory to override stock arguments to + named. Largely from RT#26044, but no separate ticket. + +3161. [bug] zone.c:del_sigs failed to always reset rdata leading + assertion failures. [RT #25880] + +3157. [tuning] Reduce the time spent in "rndc reconfig" by parsing + the config file before pausing the server. [RT #21373] + +3155. [bug] Fixed a build failure when using contrib DLZ + drivers (e.g., mysql, postgresql, etc). [RT #25710] + +3154. [bug] Attempting to print an empty rdataset could trigger + an assert. [RT #25452] + +3152. [cleanup] Some versions of gcc and clang failed due to + incorrect use of __builtin_expect. [RT #25183] + +3151. [bug] Queries for type RRSIG or SIG could be handled + incorrectly. [RT #21050] + +3148. [bug] Processing of normal queries could be stalled when + forwarding a UPDATE message. [RT #24711] + +3146. [test] Fixed gcc4.6.0 errors in ATF. [RT #25598] + +3145. [test] Capture output of ATF unit tests in "./atf.out" if + there were any errors while running them. [RT #25527] + +3144. [bug] dns_dbiterator_seek() could trigger an assert when + used with a nonexistent database node. [RT #25358] + +3143. [bug] Silence clang compiler warnings. [RT #25174] + +3139. [test] Added tests from RFC 6234, RFC 2202, and RFC 1321 + for the hashing algorithms (md5, sha1 - sha512, and + their hmac counterparts). [RT #25067] + --- 9.8.1 released --- --- 9.8.1rc1 released --- @@ -14,7 +314,7 @@ 3138. [bug] Address memory leaks and out-of-order operations when shutting named down. [RT #25210] -3136. [func] Add RFC 1918 reverse zones to the list of built-in +3136. [func] Add RFC 1918 reverse zones to the list of built-in empty zones switched on by the 'empty-zones-enable' option. [RT #24990] @@ -34,9 +334,9 @@ 3133. [bug] Change #3114 was incomplete. [RT #24577] -3131. [tuning] Improve scalability by allocating one zone task - per 100 zones at startup time, rather than using a - fixed-size task table. [RT #24406] +3131. [tuning] Improve scalability by allocating one zone task + per 100 zones at startup time, rather than using a + fixed-size task table. [RT #24406] 3129. [bug] Named could crash on 'rndc reconfig' when allow-new-zones was set to yes and named ACLs @@ -62,10 +362,10 @@ 3122. [cleanup] dnssec-settime: corrected usage message. [RT #24664] -3121. [security] An authoritative name server sending a negative - response containing a very large RRset could - trigger an off-by-one error in the ncache code - and crash named. [RT #24650] +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 @@ -99,9 +399,9 @@ "krb5-subdomain", which allow machines to update their own records, to the BIND 9 ARM. -3111. [bug] Improved consistency checks for dnssec-enable and - dnssec-validation, added test cases to the - checkconf system test. [RT #24398] +3111. [bug] Improved consistency checks for dnssec-enable and + dnssec-validation, added test cases to the + checkconf system test. [RT #24398] 3110. [bug] dnssec-signzone: Wrong error message could appear when attempting to sign with no KSK. [RT #24369] @@ -109,10 +409,10 @@ 3107. [bug] dnssec-signzone: Report the correct number of ZSKs when using -x. [RT #20852] -3105. [bug] GOST support can be suppressed by "configure - --without-gost" [RT #24367] +3105. [bug] GOST support can be suppressed by "configure + --without-gost" [RT #24367] -3104. [bug] Better support for cross-compiling. [RT #24367] +3104. [bug] Better support for cross-compiling. [RT #24367] 3103. [bug] Configuring 'dnssec-validation auto' in a view instead of in the options statement could trigger @@ -142,7 +442,7 @@ 3094. [doc] Expand dns64 documentation. -3093. [bug] Fix gssapi/kerberos dependencies [RT #23836] +3093. [bug] Fix gssapi/kerberos dependencies [RT #23836] 3092. [bug] Signatures for records at the zone apex could go stale due to an incorrect timer setting. [RT #23769] @@ -151,7 +451,7 @@ and then subsequently activated could fail to trigger automatic signing. [RT #22911] -3090. [func] Make --with-gssapi default [RT #23738] +3090. [func] Make --with-gssapi default [RT #23738] 3088. [bug] Remove bin/tests/system/logfileconfig/ns1/named.conf and add setup.sh in order to resolve changing @@ -269,9 +569,9 @@ 3043. [test] Merged in the NetBSD ATF test framework (currently version 0.12) for development of future unit tests. - Use configure --with-atf to build ATF internally - or configure --with-atf=prefix to use an external - copy. [RT #23209] + Use configure --with-atf to build ATF internally + or configure --with-atf=prefix to use an external + copy. [RT #23209] 3042. [bug] dig +trace could fail attempting to use IPv6 addresses on systems with only IPv4 connectivity. @@ -706,7 +1006,7 @@ 2929. [bug] Improved handling of GSS security contexts: - added LRU expiration for generated TSIGs - added the ability to use a non-default realm - - added new "realm" keyword in nsupdate + - added new "realm" keyword in nsupdate - limited lifetime of generated keys to 1 hour or the lifetime of the context (whichever is smaller) @@ -1535,7 +1835,7 @@ --with-export-includedir. [RT #20252] 2675. [bug] dnssec-signzone could crash if the key directory - did not exist. [RT #20232] + did not exist. [RT #20232] --- 9.7.0a3 released --- @@ -1626,7 +1926,7 @@ 64-bit systems. [RT #20076] 2650. [bug] Assertion failure in dnssec-signzone when trying - to read keyset-* files. [RT #20075] + to read keyset-* files. [RT #20075] 2649. [bug] Set the domain for forward only zones. [RT #19944] @@ -1698,7 +1998,7 @@ 2630. [func] Improved syntax for DDNS autoconfiguration: use "update-policy local;" to switch on local DDNS in a zone. (The "ddns-autoconf" option has been removed.) - [RT #19875] + [RT #19875] 2629. [port] Check for seteuid()/setegid(), use setresuid()/ setresgid() if not present. [RT #19932] @@ -2383,10 +2683,10 @@ time. [RT #18277] 2423. [security] Randomize server selection on queries, so as to - make forgery a little more difficult. Instead of - always preferring the server with the lowest RTT, - pick a server with RTT within the same 128 - millisecond band. [RT #18441] + make forgery a little more difficult. Instead of + always preferring the server with the lowest RTT, + pick a server with RTT within the same 128 + millisecond band. [RT #18441] 2422. [bug] Handle the special return value of a empty node as if it was a NXRRSET in the validator. [RT #18447] @@ -2467,7 +2767,7 @@ 2399. [placeholder] -2398. [bug] Improve file descriptor management. New, +2398. [bug] Improve file descriptor management. New, temporary, named.conf option reserved-sockets, default 512. [RT #18344] Modified: stable/9/contrib/bind9/COPYRIGHT ============================================================================== --- stable/9/contrib/bind9/COPYRIGHT Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/COPYRIGHT Sun Apr 8 01:43:41 2012 (r234010) @@ -1,4 +1,4 @@ -Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") +Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC") Copyright (C) 1996-2003 Internet Software Consortium. Permission to use, copy, modify, and/or distribute this software for any @@ -13,7 +13,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -$Id: COPYRIGHT,v 1.17.14.1 2011-02-22 06:34:47 marka Exp $ +$Id: COPYRIGHT,v 1.17.14.2 2012/01/04 23:46:18 tbox Exp $ Portions of this code release fall under one or more of the following Copyright notices. Please see individual source Modified: stable/9/contrib/bind9/FAQ.xml ============================================================================== --- stable/9/contrib/bind9/FAQ.xml Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/FAQ.xml Sun Apr 8 01:43:41 2012 (r234010) @@ -17,7 +17,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - +
Frequently Asked Questions about BIND 9 Modified: stable/9/contrib/bind9/Makefile.in ============================================================================== --- stable/9/contrib/bind9/Makefile.in Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/Makefile.in Sun Apr 8 01:43:41 2012 (r234010) @@ -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.58.250.2 2011-02-28 01:19:57 tbox Exp $ +# $Id: Makefile.in,v 1.58.250.4 2011/09/06 04:06:11 marka Exp $ srcdir = @srcdir@ VPATH = @srcdir@ @@ -64,8 +64,10 @@ tags: check: test test: - (cd bin/tests && ${MAKE} ${MAKEDEFS} test) - (test -f unit/unittest.sh && $(SHELL) unit/unittest.sh) + status=0; \ + (cd bin/tests && ${MAKE} ${MAKEDEFS} test) || status=1; \ + (test -f unit/unittest.sh && $(SHELL) unit/unittest.sh) || status=1; \ + exit $$status FAQ: FAQ.xml ${XSLTPROC} doc/xsl/isc-docbook-text.xsl FAQ.xml | \ Modified: stable/9/contrib/bind9/README ============================================================================== --- stable/9/contrib/bind9/README Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/README Sun Apr 8 01:43:41 2012 (r234010) @@ -48,6 +48,14 @@ BIND 9 For a detailed list of user-visible changes from previous releases, see the CHANGES file. + For up-to-date release notes and errata, see + http://www.isc.org/software/bind9/releasenotes + +BIND 9.8.2 + + BIND 9.8.2 includes a number of bug fixes and prevents a security + problem described in CVE-2011-4313 + BIND 9.8.1 BIND 9.8.1 includes a number of bug fixes and enhancements from @@ -314,6 +322,7 @@ Building libraries. sh-utils-1.16 provides a "printf" which compiles on SunOS 4. + Documentation The BIND 9 Administrator Reference Manual is included with the @@ -336,6 +345,48 @@ Documentation in the other README files. +Change Log + + A detailed list of all changes to BIND 9 is included in the + file CHANGES, with the most recent changes listed first. + Change notes include tags indicating the category of the + change that was made; these categories are: + + [func] New feature + + [bug] General bug fix + + [security] Fix for a significant security flaw + + [experimental] Used for new features when the syntax + or other aspects of the design are still + in flux and may change + + [port] Portability enhancement + + [maint] Updates to built-in data such as root + server addresses and keys + + [tuning] Changes to built-in configuration defaults + and constants to improve performanceo + + [protocol] Updates to the DNS protocol such as new + RR types + + [test] Changes to the automatic tests, not + affecting server functionality + + [cleanup] Minor corrections and refactoring + + [doc] Documentation + + In general, [func] and [experimental] tags will only appear + in new-feature releases (i.e., those with version numbers + ending in zero). Some new functionality may be backported to + older releases on a case-by-case basis. All other change + types may be applied to all currently-supported releases. + + Bug Reports and Mailing Lists Bugs reports should be sent to Modified: stable/9/contrib/bind9/acconfig.h ============================================================================== --- stable/9/contrib/bind9/acconfig.h Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/acconfig.h Sun Apr 8 01:43:41 2012 (r234010) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: acconfig.h,v 1.53 2008-12-01 23:47:44 tbox Exp $ */ +/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */ /*! \file */ Modified: stable/9/contrib/bind9/bin/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/Makefile.in Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/Makefile.in Sun Apr 8 01:43:41 2012 (r234010) @@ -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.29 2009-10-05 12:07:08 fdupont Exp $ +# $Id: Makefile.in,v 1.29 2009/10/05 12:07:08 fdupont Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: stable/9/contrib/bind9/bin/check/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/check/Makefile.in Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/Makefile.in Sun Apr 8 01:43:41 2012 (r234010) @@ -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.36 2009-12-05 23:31:40 each Exp $ +# $Id: Makefile.in,v 1.36 2009/12/05 23:31:40 each Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: stable/9/contrib/bind9/bin/check/check-tool.c ============================================================================== --- stable/9/contrib/bind9/bin/check/check-tool.c Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/check-tool.c Sun Apr 8 01:43:41 2012 (r234010) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: check-tool.c,v 1.41 2010-09-07 23:46:59 tbox Exp $ */ +/* $Id: check-tool.c,v 1.41 2010/09/07 23:46:59 tbox Exp $ */ /*! \file */ Modified: stable/9/contrib/bind9/bin/check/check-tool.h ============================================================================== --- stable/9/contrib/bind9/bin/check/check-tool.h Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/check-tool.h Sun Apr 8 01:43:41 2012 (r234010) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: check-tool.h,v 1.16 2010-09-07 23:46:59 tbox Exp $ */ +/* $Id: check-tool.h,v 1.16 2010/09/07 23:46:59 tbox Exp $ */ #ifndef CHECK_TOOL_H #define CHECK_TOOL_H Modified: stable/9/contrib/bind9/bin/check/named-checkconf.8 ============================================================================== --- stable/9/contrib/bind9/bin/check/named-checkconf.8 Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/named-checkconf.8 Sun Apr 8 01:43:41 2012 (r234010) @@ -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.33 2009-12-29 01:14:03 tbox Exp $ +.\" $Id$ .\" .hy 0 .ad l Modified: stable/9/contrib/bind9/bin/check/named-checkconf.c ============================================================================== --- stable/9/contrib/bind9/bin/check/named-checkconf.c Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/named-checkconf.c Sun Apr 8 01:43:41 2012 (r234010) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkconf.c,v 1.54.62.2 2011-03-12 04:59:13 tbox Exp $ */ +/* $Id: named-checkconf.c,v 1.54.62.2 2011/03/12 04:59:13 tbox Exp $ */ /*! \file */ Modified: stable/9/contrib/bind9/bin/check/named-checkconf.docbook ============================================================================== --- stable/9/contrib/bind9/bin/check/named-checkconf.docbook Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/named-checkconf.docbook Sun Apr 8 01:43:41 2012 (r234010) @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + June 14, 2000 Modified: stable/9/contrib/bind9/bin/check/named-checkconf.html ============================================================================== --- stable/9/contrib/bind9/bin/check/named-checkconf.html Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/named-checkconf.html Sun Apr 8 01:43:41 2012 (r234010) @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -32,7 +32,7 @@

named-checkconf [-h] [-v] [-j] [-t directory] {filename} [-p] [-z]

-

DESCRIPTION

+

DESCRIPTION

named-checkconf checks the syntax, but not the semantics, of a named configuration file. The file is parsed @@ -52,7 +52,7 @@

-

OPTIONS

+

OPTIONS

-h

@@ -91,21 +91,21 @@

-

RETURN VALUES

+

RETURN VALUES

named-checkconf returns an exit status of 1 if errors were detected and 0 otherwise.

-

SEE ALSO

+

SEE ALSO

named(8), named-checkzone(8), BIND 9 Administrator Reference Manual.

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

Modified: stable/9/contrib/bind9/bin/check/named-checkzone.8 ============================================================================== --- stable/9/contrib/bind9/bin/check/named-checkzone.8 Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/named-checkzone.8 Sun Apr 8 01:43:41 2012 (r234010) @@ -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.47 2010-01-17 01:14:02 tbox Exp $ +.\" $Id$ .\" .hy 0 .ad l Modified: stable/9/contrib/bind9/bin/check/named-checkzone.c ============================================================================== --- stable/9/contrib/bind9/bin/check/named-checkzone.c Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/named-checkzone.c Sun Apr 8 01:43:41 2012 (r234010) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkzone.c,v 1.61 2010-09-07 23:46:59 tbox Exp $ */ +/* $Id: named-checkzone.c,v 1.61.62.2 2011/12/22 23:45:54 tbox Exp $ */ /*! \file */ @@ -112,6 +112,7 @@ main(int argc, char **argv) { const char *outputformatstr = NULL; dns_masterformat_t inputformat = dns_masterformat_text; dns_masterformat_t outputformat = dns_masterformat_text; + isc_boolean_t logdump = ISC_FALSE; FILE *errout = stdout; outputstyle = &dns_master_style_full; @@ -418,6 +419,7 @@ main(int argc, char **argv) { if (progmode == progmode_compile) { dumpzone = 1; /* always dump */ + logdump = !quiet; if (output_filename == NULL) { fprintf(stderr, "output file required, but not specified\n"); @@ -436,8 +438,10 @@ main(int argc, char **argv) { (output_filename == NULL || strcmp(output_filename, "-") == 0 || strcmp(output_filename, "/dev/fd/1") == 0 || - strcmp(output_filename, "/dev/stdout") == 0)) + strcmp(output_filename, "/dev/stdout") == 0)) { errout = stderr; + logdump = ISC_FALSE; + } if (isc_commandline_index + 2 != argc) usage(); @@ -462,13 +466,13 @@ main(int argc, char **argv) { &zone); if (result == ISC_R_SUCCESS && dumpzone) { - if (!quiet && progmode == progmode_compile) { + if (logdump) { fprintf(errout, "dump zone to %s...", output_filename); fflush(errout); } result = dump_zone(origin, zone, output_filename, outputformat, outputstyle); - if (!quiet && progmode == progmode_compile) + if (logdump) fprintf(errout, "done\n"); } Modified: stable/9/contrib/bind9/bin/check/named-checkzone.docbook ============================================================================== --- stable/9/contrib/bind9/bin/check/named-checkzone.docbook Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/named-checkzone.docbook Sun Apr 8 01:43:41 2012 (r234010) @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + June 13, 2000 Modified: stable/9/contrib/bind9/bin/check/named-checkzone.html ============================================================================== --- stable/9/contrib/bind9/bin/check/named-checkzone.html Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/check/named-checkzone.html Sun Apr 8 01:43:41 2012 (r234010) @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -33,7 +33,7 @@

named-compilezone [-d] [-j] [-q] [-v] [-c class] [-C mode] [-f format] [-F format] [-i mode] [-k mode] [-m mode] [-n mode] [-r mode] [-s style] [-t directory] [-w directory] [-D] [-W mode] {-o filename} {zonename} {filename}

-

DESCRIPTION

+

DESCRIPTION

named-checkzone checks the syntax and integrity of a zone file. It performs the same checks as named does when loading a @@ -53,7 +53,7 @@

-

OPTIONS

+

OPTIONS

-d

@@ -247,14 +247,14 @@

-

RETURN VALUES

+

RETURN VALUES

named-checkzone returns an exit status of 1 if errors were detected and 0 otherwise.

-

SEE ALSO

+

SEE ALSO

named(8), named-checkconf(8), RFC 1035, @@ -262,7 +262,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

Modified: stable/9/contrib/bind9/bin/confgen/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/confgen/Makefile.in Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/confgen/Makefile.in Sun Apr 8 01:43:41 2012 (r234010) @@ -12,7 +12,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -# $Id: Makefile.in,v 1.8 2009-12-05 23:31:40 each Exp $ +# $Id: Makefile.in,v 1.8 2009/12/05 23:31:40 each Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: stable/9/contrib/bind9/bin/confgen/ddns-confgen.8 ============================================================================== --- stable/9/contrib/bind9/bin/confgen/ddns-confgen.8 Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/confgen/ddns-confgen.8 Sun Apr 8 01:43:41 2012 (r234010) @@ -12,7 +12,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: ddns-confgen.8,v 1.10 2009-09-19 01:14:52 tbox Exp $ +.\" $Id$ .\" .hy 0 .ad l Modified: stable/9/contrib/bind9/bin/confgen/ddns-confgen.c ============================================================================== --- stable/9/contrib/bind9/bin/confgen/ddns-confgen.c Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/confgen/ddns-confgen.c Sun Apr 8 01:43:41 2012 (r234010) @@ -14,7 +14,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: ddns-confgen.c,v 1.9.308.2 2011-03-12 04:59:13 tbox Exp $ */ +/* $Id: ddns-confgen.c,v 1.9.308.2 2011/03/12 04:59:13 tbox Exp $ */ /*! \file */ Modified: stable/9/contrib/bind9/bin/confgen/ddns-confgen.docbook ============================================================================== --- stable/9/contrib/bind9/bin/confgen/ddns-confgen.docbook Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/confgen/ddns-confgen.docbook Sun Apr 8 01:43:41 2012 (r234010) @@ -17,7 +17,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + Jan 29, 2009 Modified: stable/9/contrib/bind9/bin/confgen/ddns-confgen.html ============================================================================== --- stable/9/contrib/bind9/bin/confgen/ddns-confgen.html Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/confgen/ddns-confgen.html Sun Apr 8 01:43:41 2012 (r234010) @@ -13,7 +13,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -31,7 +31,7 @@

ddns-confgen [-a algorithm] [-h] [-k keyname] [-r randomfile] [ -s name | -z zone ] [-q] [name]

-

DESCRIPTION

+

DESCRIPTION

ddns-confgen generates a key for use by nsupdate and named. It simplifies configuration @@ -58,7 +58,7 @@

-

OPTIONS

+

OPTIONS

-a algorithm

@@ -125,7 +125,7 @@

-

SEE ALSO

+

SEE ALSO

nsupdate(1), named.conf(5), named(8), @@ -133,7 +133,7 @@

-

AUTHOR

+

AUTHOR

Internet Systems Consortium

Modified: stable/9/contrib/bind9/bin/confgen/include/confgen/os.h ============================================================================== --- stable/9/contrib/bind9/bin/confgen/include/confgen/os.h Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/confgen/include/confgen/os.h Sun Apr 8 01:43:41 2012 (r234010) @@ -14,7 +14,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: os.h,v 1.3 2009-06-11 23:47:55 tbox Exp $ */ +/* $Id: os.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */ /*! \file */ Modified: stable/9/contrib/bind9/bin/confgen/keygen.c ============================================================================== --- stable/9/contrib/bind9/bin/confgen/keygen.c Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/confgen/keygen.c Sun Apr 8 01:43:41 2012 (r234010) @@ -14,7 +14,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: keygen.c,v 1.4 2009-11-12 14:02:38 marka Exp $ */ +/* $Id: keygen.c,v 1.4 2009/11/12 14:02:38 marka Exp $ */ /*! \file */ Modified: stable/9/contrib/bind9/bin/confgen/keygen.h ============================================================================== --- stable/9/contrib/bind9/bin/confgen/keygen.h Sun Apr 8 00:40:16 2012 (r234009) +++ stable/9/contrib/bind9/bin/confgen/keygen.h Sun Apr 8 01:43:41 2012 (r234010) @@ -14,7 +14,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: keygen.h,v 1.3 2009-06-11 23:47:55 tbox Exp $ */ +/* $Id: keygen.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */ #ifndef RNDC_KEYGEN_H #define RNDC_KEYGEN_H 1 Modified: stable/9/contrib/bind9/bin/confgen/rndc-confgen.8 ============================================================================== --- stable/9/contrib/bind9/bin/confgen/rndc-confgen.8 Sun Apr 8 00:40:16 2012 (r234009) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 03:55:26 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 29A67106564A; Sun, 8 Apr 2012 03:55:26 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 14BDB8FC0A; Sun, 8 Apr 2012 03:55: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 q383tPFM091700; Sun, 8 Apr 2012 03:55:25 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q383tPxa091698; Sun, 8 Apr 2012 03:55:25 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <201204080355.q383tPxa091698@svn.freebsd.org> From: Stanislav Sedov Date: Sun, 8 Apr 2012 03:55:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234011 - head/lib/libgssapi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 03:55:26 -0000 Author: stas Date: Sun Apr 8 03:55:25 2012 New Revision: 234011 URL: http://svn.freebsd.org/changeset/base/234011 Log: - Use __NO_TLS preprocessor value to make assumptions about TLS support on a platform. Modified: head/lib/libgssapi/gss_display_status.c Modified: head/lib/libgssapi/gss_display_status.c ============================================================================== --- head/lib/libgssapi/gss_display_status.c Sun Apr 8 01:43:41 2012 (r234010) +++ head/lib/libgssapi/gss_display_status.c Sun Apr 8 03:55:25 2012 (r234011) @@ -173,7 +173,7 @@ supplementary_error(OM_uint32 v) return msgs[v]; } -#if defined(__sparc64__) || defined(__arm__) || defined(__mips__) +#if defined(__NO_TLS) /* * These platforms don't support TLS on FreeBSD - threads will just From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:09:55 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A6F6D106564A; Sun, 8 Apr 2012 04:09:55 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 926F18FC08; Sun, 8 Apr 2012 04:09:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3849tkB092207; Sun, 8 Apr 2012 04:09:55 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3849tBm092205; Sun, 8 Apr 2012 04:09:55 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201204080409.q3849tBm092205@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 8 Apr 2012 04:09:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234012 - stable/9/libexec/rtld-elf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:09:55 -0000 Author: kib Date: Sun Apr 8 04:09:55 2012 New Revision: 234012 URL: http://svn.freebsd.org/changeset/base/234012 Log: MFC r233927: Properly handle absent AT_CANARY aux entry. Modified: stable/9/libexec/rtld-elf/rtld.c Directory Properties: stable/9/libexec/rtld-elf/ (props changed) Modified: stable/9/libexec/rtld-elf/rtld.c ============================================================================== --- stable/9/libexec/rtld-elf/rtld.c Sun Apr 8 03:55:25 2012 (r234011) +++ stable/9/libexec/rtld-elf/rtld.c Sun Apr 8 04:09:55 2012 (r234012) @@ -351,7 +351,8 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ main_argc = argc; main_argv = argv; - if (aux_info[AT_CANARY]->a_un.a_ptr != NULL) { + if (aux_info[AT_CANARY] != NULL && + aux_info[AT_CANARY]->a_un.a_ptr != NULL) { i = aux_info[AT_CANARYLEN]->a_un.a_val; if (i > sizeof(__stack_chk_guard)) i = sizeof(__stack_chk_guard); From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:22:10 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 218261065670; Sun, 8 Apr 2012 04:22:10 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0BE5C8FC0A; Sun, 8 Apr 2012 04:22:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q384M9ti092656; Sun, 8 Apr 2012 04:22:09 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q384M98s092652; Sun, 8 Apr 2012 04:22:09 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <201204080422.q384M98s092652@svn.freebsd.org> From: Stanislav Sedov Date: Sun, 8 Apr 2012 04:22:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234013 - in head/kerberos5/lib: libasn1 libkafs5 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:22:10 -0000 Author: stas Date: Sun Apr 8 04:22:09 2012 New Revision: 234013 URL: http://svn.freebsd.org/changeset/base/234013 Log: - Add a "real" symbol version map to libasn1. The upstream version of the version map just exported all the symbols, which caused a binutils bug being triggered when ld fails to link two objects, one of which exports a versioned version of the symbol, and another -- unversioned. [1] - Also add version map for libkafs5. Submitted by: jchandra@ (based on) Added: head/kerberos5/lib/libasn1/version.map (contents, props changed) head/kerberos5/lib/libkafs5/version.map (contents, props changed) Modified: head/kerberos5/lib/libasn1/Makefile head/kerberos5/lib/libkafs5/Makefile Modified: head/kerberos5/lib/libasn1/Makefile ============================================================================== --- head/kerberos5/lib/libasn1/Makefile Sun Apr 8 04:09:55 2012 (r234012) +++ head/kerberos5/lib/libasn1/Makefile Sun Apr 8 04:22:09 2012 (r234013) @@ -5,7 +5,7 @@ LDFLAGS= -Wl,--no-undefined INCS= asn1_err.h asn1-common.h heim_asn1.h der.h der-protos.h der-private.h LDADD= -lcom_err -lroken DPADD= ${LIBCOM_ERR} ${LIBROKEN} -VERSION_MAP= ${KRB5DIR}/lib/asn1/version-script.map +VERSION_MAP= ${.CURDIR}/version.map SRCS= asn1_err.c \ asn1_err.h \ Added: head/kerberos5/lib/libasn1/version.map ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/kerberos5/lib/libasn1/version.map Sun Apr 8 04:22:09 2012 (r234013) @@ -0,0 +1,1592 @@ +# +# Export all symbols but _init and _fini. +# +# $FreeBSD$ +# +HEIMDAL_ASN1_1.0 { + global: + APOptions2int; + DigestTypes2int; + DistributionPointReasonFlags2int; + FastOptions2int; + KDCOptions2int; + KeyUsage2int; + SAMFlags2int; + TicketFlags2int; + _asn1_copy; + _asn1_copy_top; + _asn1_decode; + _asn1_decode_top; + _asn1_encode; + _asn1_free; + _asn1_length; + _der_gmtime; + _der_timegm; + _heim_der_set_sort; + _heim_fix_dce; + _heim_len_int; + _heim_len_unsigned; + _heim_time2generalizedtime; + add_AuthorizationData; + add_CRLDistributionPoints; + add_DigestAlgorithmIdentifiers; + add_ETYPE_INFO; + add_ETYPE_INFO2; + add_Extensions; + add_GeneralNames; + add_METHOD_DATA; + add_Principals; + asn1_APOptions_units; + asn1_DigestTypes_units; + asn1_DistributionPointReasonFlags_units; + asn1_FastOptions_units; + asn1_KDCOptions_units; + asn1_KeyUsage_units; + asn1_SAMFlags_units; + asn1_TicketFlags_units; + asn1_oid_id_Userid; + asn1_oid_id_aes_128_cbc; + asn1_oid_id_aes_192_cbc; + asn1_oid_id_aes_256_cbc; + asn1_oid_id_at_commonName; + asn1_oid_id_at_countryName; + asn1_oid_id_at_generationQualifier; + asn1_oid_id_at_givenName; + asn1_oid_id_at_initials; + asn1_oid_id_at_localityName; + asn1_oid_id_at_name; + asn1_oid_id_at_organizationName; + asn1_oid_id_at_organizationalUnitName; + asn1_oid_id_at_pseudonym; + asn1_oid_id_at_serialNumber; + asn1_oid_id_at_stateOrProvinceName; + asn1_oid_id_at_streetAddress; + asn1_oid_id_at_surname; + asn1_oid_id_dhpublicnumber; + asn1_oid_id_domainComponent; + asn1_oid_id_dsa; + asn1_oid_id_dsa_with_sha1; + asn1_oid_id_ecDH; + asn1_oid_id_ecMQV; + asn1_oid_id_ecPublicKey; + asn1_oid_id_ec_group_secp160r1; + asn1_oid_id_ec_group_secp160r2; + asn1_oid_id_ec_group_secp256r1; + asn1_oid_id_ecdsa_with_SHA1; + asn1_oid_id_ecdsa_with_SHA256; + asn1_oid_id_heim_rsa_pkcs1_x509; + asn1_oid_id_ms_cert_enroll_domaincontroller; + asn1_oid_id_ms_client_authentication; + asn1_oid_id_netscape; + asn1_oid_id_netscape_cert_comment; + asn1_oid_id_nistAlgorithm; + asn1_oid_id_nist_aes_algs; + asn1_oid_id_nist_sha_algs; + asn1_oid_id_pbeWithSHAAnd128BitRC2_CBC; + asn1_oid_id_pbeWithSHAAnd128BitRC4; + asn1_oid_id_pbeWithSHAAnd2_KeyTripleDES_CBC; + asn1_oid_id_pbeWithSHAAnd3_KeyTripleDES_CBC; + asn1_oid_id_pbeWithSHAAnd40BitRC4; + asn1_oid_id_pbewithSHAAnd40BitRC2_CBC; + asn1_oid_id_pkauthdata; + asn1_oid_id_pkcs12_bagtypes; + asn1_oid_id_pkcs12_certBag; + asn1_oid_id_pkcs12_crlBag; + asn1_oid_id_pkcs12_keyBag; + asn1_oid_id_pkcs12_pkcs8ShroudedKeyBag; + asn1_oid_id_pkcs12_safeContentsBag; + asn1_oid_id_pkcs12_secretBag; + asn1_oid_id_pkcs1_md2WithRSAEncryption; + asn1_oid_id_pkcs1_md5WithRSAEncryption; + asn1_oid_id_pkcs1_rsaEncryption; + asn1_oid_id_pkcs1_sha1WithRSAEncryption; + asn1_oid_id_pkcs1_sha256WithRSAEncryption; + asn1_oid_id_pkcs1_sha384WithRSAEncryption; + asn1_oid_id_pkcs1_sha512WithRSAEncryption; + asn1_oid_id_pkcs2_md2; + asn1_oid_id_pkcs2_md4; + asn1_oid_id_pkcs2_md5; + asn1_oid_id_pkcs3_des_ede3_cbc; + asn1_oid_id_pkcs3_rc2_cbc; + asn1_oid_id_pkcs3_rc4; + asn1_oid_id_pkcs7; + asn1_oid_id_pkcs7_data; + asn1_oid_id_pkcs7_digestedData; + asn1_oid_id_pkcs7_encryptedData; + asn1_oid_id_pkcs7_envelopedData; + asn1_oid_id_pkcs7_signedAndEnvelopedData; + asn1_oid_id_pkcs7_signedData; + asn1_oid_id_pkcs9_contentType; + asn1_oid_id_pkcs9_countersignature; + asn1_oid_id_pkcs9_emailAddress; + asn1_oid_id_pkcs9_messageDigest; + asn1_oid_id_pkcs9_signingTime; + asn1_oid_id_pkcs_1; + asn1_oid_id_pkcs_12; + asn1_oid_id_pkcs_12PbeIds; + asn1_oid_id_pkcs_2; + asn1_oid_id_pkcs_3; + asn1_oid_id_pkcs_9; + asn1_oid_id_pkcs_9_at_certTypes; + asn1_oid_id_pkcs_9_at_certTypes_x509; + asn1_oid_id_pkcs_9_at_friendlyName; + asn1_oid_id_pkcs_9_at_localKeyId; + asn1_oid_id_pkdhkeydata; + asn1_oid_id_pkekuoid; + asn1_oid_id_pkinit; + asn1_oid_id_pkinit_kdf; + asn1_oid_id_pkinit_kdf_ah_sha1; + asn1_oid_id_pkinit_kdf_ah_sha256; + asn1_oid_id_pkinit_kdf_ah_sha512; + asn1_oid_id_pkinit_ms_eku; + asn1_oid_id_pkinit_ms_san; + asn1_oid_id_pkinit_san; + asn1_oid_id_pkix; + asn1_oid_id_pkix_kp; + asn1_oid_id_pkix_kp_OCSPSigning; + asn1_oid_id_pkix_kp_clientAuth; + asn1_oid_id_pkix_kp_emailProtection; + asn1_oid_id_pkix_kp_serverAuth; + asn1_oid_id_pkix_kp_timeStamping; + asn1_oid_id_pkix_on; + asn1_oid_id_pkix_on_dnsSRV; + asn1_oid_id_pkix_on_xmppAddr; + asn1_oid_id_pkix_pe; + asn1_oid_id_pkix_pe_authorityInfoAccess; + asn1_oid_id_pkix_pe_proxyCertInfo; + asn1_oid_id_pkix_ppl; + asn1_oid_id_pkix_ppl_anyLanguage; + asn1_oid_id_pkix_ppl_independent; + asn1_oid_id_pkix_ppl_inheritAll; + asn1_oid_id_pkkdcekuoid; + asn1_oid_id_pkrkeydata; + asn1_oid_id_rsa_digestAlgorithm; + asn1_oid_id_rsa_digest_md2; + asn1_oid_id_rsa_digest_md4; + asn1_oid_id_rsa_digest_md5; + asn1_oid_id_rsadsi_des_ede3_cbc; + asn1_oid_id_rsadsi_encalg; + asn1_oid_id_rsadsi_rc2_cbc; + asn1_oid_id_secsig_sha_1; + asn1_oid_id_secsig_sha_1WithRSAEncryption; + asn1_oid_id_sha224; + asn1_oid_id_sha256; + asn1_oid_id_sha384; + asn1_oid_id_sha512; + asn1_oid_id_uspkicommon_card_id; + asn1_oid_id_uspkicommon_piv_interim; + asn1_oid_id_x509_ce; + asn1_oid_id_x509_ce_authorityKeyIdentifier; + asn1_oid_id_x509_ce_basicConstraints; + asn1_oid_id_x509_ce_cRLDistributionPoints; + asn1_oid_id_x509_ce_cRLNumber; + asn1_oid_id_x509_ce_cRLReason; + asn1_oid_id_x509_ce_certificateIssuer; + asn1_oid_id_x509_ce_certificatePolicies; + asn1_oid_id_x509_ce_deltaCRLIndicator; + asn1_oid_id_x509_ce_extKeyUsage; + asn1_oid_id_x509_ce_freshestCRL; + asn1_oid_id_x509_ce_holdInstructionCode; + asn1_oid_id_x509_ce_inhibitAnyPolicy; + asn1_oid_id_x509_ce_invalidityDate; + asn1_oid_id_x509_ce_issuerAltName; + asn1_oid_id_x509_ce_issuingDistributionPoint; + asn1_oid_id_x509_ce_keyUsage; + asn1_oid_id_x509_ce_nameConstraints; + asn1_oid_id_x509_ce_policyConstraints; + asn1_oid_id_x509_ce_policyMappings; + asn1_oid_id_x509_ce_privateKeyUsagePeriod; + asn1_oid_id_x509_ce_subjectAltName; + asn1_oid_id_x509_ce_subjectDirectoryAttributes; + asn1_oid_id_x509_ce_subjectKeyIdentifier; + asn1_oid_id_x520_at; + asn1_oid_id_x9_57; + copy_AD_AND_OR; + copy_AD_IF_RELEVANT; + copy_AD_INITIAL_VERIFIED_CAS; + copy_AD_KDCIssued; + copy_AD_LoginAlias; + copy_AD_MANDATORY_FOR_KDC; + copy_APOptions; + copy_AP_REP; + copy_AP_REQ; + copy_AS_REP; + copy_AS_REQ; + copy_AUTHDATA_TYPE; + copy_AccessDescription; + copy_AlgorithmIdentifier; + copy_Attribute; + copy_AttributeType; + copy_AttributeTypeAndValue; + copy_AttributeValue; + copy_AuthPack; + copy_AuthPack_Win2k; + copy_Authenticator; + copy_AuthorityInfoAccessSyntax; + copy_AuthorityKeyIdentifier; + copy_AuthorizationData; + copy_AuthorizationDataElement; + copy_BaseDistance; + copy_BasicConstraints; + copy_CKSUMTYPE; + copy_CMSAttributes; + copy_CMSCBCParameter; + copy_CMSEncryptedData; + copy_CMSIdentifier; + copy_CMSRC2CBCParameter; + copy_CMSVersion; + copy_CRLCertificateList; + copy_CRLDistributionPoints; + copy_CRLReason; + copy_Certificate; + copy_CertificateList; + copy_CertificateRevocationLists; + copy_CertificateSerialNumber; + copy_CertificateSet; + copy_Certificates; + copy_ChangePasswdDataMS; + copy_Checksum; + copy_ContentEncryptionAlgorithmIdentifier; + copy_ContentInfo; + copy_ContentType; + copy_DHNonce; + copy_DHParameter; + copy_DHPublicKey; + copy_DHRepInfo; + copy_DSAParams; + copy_DSAPublicKey; + copy_DSASigValue; + copy_DigestAlgorithmIdentifier; + copy_DigestAlgorithmIdentifiers; + copy_DigestError; + copy_DigestInfo; + copy_DigestInit; + copy_DigestInitReply; + copy_DigestREP; + copy_DigestREQ; + copy_DigestRepInner; + copy_DigestReqInner; + copy_DigestRequest; + copy_DigestResponse; + copy_DigestTypes; + copy_DirectoryString; + copy_DistributionPoint; + copy_DistributionPointName; + copy_DistributionPointReasonFlags; + copy_DomainParameters; + copy_ECDSA_Sig_Value; + copy_ECParameters; + copy_ECPoint; + copy_ENCTYPE; + copy_ETYPE_INFO; + copy_ETYPE_INFO2; + copy_ETYPE_INFO2_ENTRY; + copy_ETYPE_INFO_ENTRY; + copy_EncAPRepPart; + copy_EncASRepPart; + copy_EncKDCRepPart; + copy_EncKrbCredPart; + copy_EncKrbPrivPart; + copy_EncTGSRepPart; + copy_EncTicketPart; + copy_EncapsulatedContentInfo; + copy_EncryptedContent; + copy_EncryptedContentInfo; + copy_EncryptedData; + copy_EncryptedKey; + copy_EncryptionKey; + copy_EnvelopedData; + copy_EtypeList; + copy_ExtKeyUsage; + copy_Extension; + copy_Extensions; + copy_ExternalPrincipalIdentifier; + copy_ExternalPrincipalIdentifiers; + copy_FastOptions; + copy_GeneralName; + copy_GeneralNames; + copy_GeneralSubtree; + copy_GeneralSubtrees; + copy_HostAddress; + copy_HostAddresses; + copy_IssuerAndSerialNumber; + copy_KDCDHKeyInfo; + copy_KDCDHKeyInfo_Win2k; + copy_KDCOptions; + copy_KDC_REP; + copy_KDC_REQ; + copy_KDC_REQ_BODY; + copy_KDFAlgorithmId; + copy_KRB5PrincipalName; + copy_KRB5SignedPath; + copy_KRB5SignedPathData; + copy_KRB_CRED; + copy_KRB_ERROR; + copy_KRB_PRIV; + copy_KRB_SAFE; + copy_KRB_SAFE_BODY; + copy_KX509_ERROR_CODE; + copy_KerberosString; + copy_KerberosTime; + copy_KeyEncryptionAlgorithmIdentifier; + copy_KeyIdentifier; + copy_KeyTransRecipientInfo; + copy_KeyUsage; + copy_KrbCredInfo; + copy_KrbFastArmor; + copy_KrbFastArmoredRep; + copy_KrbFastArmoredReq; + copy_KrbFastFinished; + copy_KrbFastReq; + copy_KrbFastResponse; + copy_Kx509Request; + copy_Kx509Response; + copy_LR_TYPE; + copy_LastReq; + copy_MESSAGE_TYPE; + copy_METHOD_DATA; + copy_MS_UPN_SAN; + copy_MessageDigest; + copy_NAME_TYPE; + copy_NTLMInit; + copy_NTLMInitReply; + copy_NTLMReply; + copy_NTLMRequest; + copy_NTLMRequest2; + copy_NTLMResponse; + copy_Name; + copy_NameConstraints; + copy_OriginatorInfo; + copy_OtherName; + copy_PADATA_TYPE; + copy_PA_ClientCanonicalized; + copy_PA_ClientCanonicalizedNames; + copy_PA_DATA; + copy_PA_ENC_SAM_RESPONSE_ENC; + copy_PA_ENC_TS_ENC; + copy_PA_FX_FAST_REPLY; + copy_PA_FX_FAST_REQUEST; + copy_PA_PAC_REQUEST; + copy_PA_PK_AS_REP; + copy_PA_PK_AS_REP_BTMM; + copy_PA_PK_AS_REP_Win2k; + copy_PA_PK_AS_REQ; + copy_PA_PK_AS_REQ_Win2k; + copy_PA_S4U2Self; + copy_PA_SAM_CHALLENGE_2; + copy_PA_SAM_CHALLENGE_2_BODY; + copy_PA_SAM_REDIRECT; + copy_PA_SAM_RESPONSE_2; + copy_PA_SAM_TYPE; + copy_PA_SERVER_REFERRAL_DATA; + copy_PA_ServerReferralData; + copy_PA_SvrReferralData; + copy_PKAuthenticator; + copy_PKAuthenticator_Win2k; + copy_PKCS12_Attribute; + copy_PKCS12_Attributes; + copy_PKCS12_AuthenticatedSafe; + copy_PKCS12_CertBag; + copy_PKCS12_MacData; + copy_PKCS12_OctetString; + copy_PKCS12_PBEParams; + copy_PKCS12_PFX; + copy_PKCS12_SafeBag; + copy_PKCS12_SafeContents; + copy_PKCS8Attributes; + copy_PKCS8EncryptedData; + copy_PKCS8EncryptedPrivateKeyInfo; + copy_PKCS8PrivateKey; + copy_PKCS8PrivateKeyAlgorithmIdentifier; + copy_PKCS8PrivateKeyInfo; + copy_PKCS9_BMPString; + copy_PKCS9_friendlyName; + copy_PKIXXmppAddr; + copy_PROV_SRV_LOCATION; + copy_PkinitSP80056AOtherInfo; + copy_PkinitSuppPubInfo; + copy_Principal; + copy_PrincipalName; + copy_Principals; + copy_ProxyCertInfo; + copy_ProxyPolicy; + copy_RDNSequence; + copy_RSAPrivateKey; + copy_RSAPublicKey; + copy_Realm; + copy_RecipientIdentifier; + copy_RecipientInfo; + copy_RecipientInfos; + copy_RelativeDistinguishedName; + copy_ReplyKeyPack; + copy_ReplyKeyPack_Win2k; + copy_SAMFlags; + copy_SignatureAlgorithmIdentifier; + copy_SignatureValue; + copy_SignedData; + copy_SignerIdentifier; + copy_SignerInfo; + copy_SignerInfos; + copy_SubjectKeyIdentifier; + copy_SubjectPublicKeyInfo; + copy_TBSCRLCertList; + copy_TBSCertificate; + copy_TD_DH_PARAMETERS; + copy_TD_INVALID_CERTIFICATES; + copy_TD_TRUSTED_CERTIFIERS; + copy_TGS_REP; + copy_TGS_REQ; + copy_TYPED_DATA; + copy_Ticket; + copy_TicketFlags; + copy_Time; + copy_TransitedEncoding; + copy_TrustedCA; + copy_TrustedCA_Win2k; + copy_TypedData; + copy_UniqueIdentifier; + copy_UnprotectedAttributes; + copy_ValidationParms; + copy_Validity; + copy_Version; + copy_heim_any; + copy_heim_any_set; + copy_krb5int32; + copy_krb5uint32; + decode_AD_AND_OR; + decode_AD_IF_RELEVANT; + decode_AD_INITIAL_VERIFIED_CAS; + decode_AD_KDCIssued; + decode_AD_LoginAlias; + decode_AD_MANDATORY_FOR_KDC; + decode_APOptions; + decode_AP_REP; + decode_AP_REQ; + decode_AS_REP; + decode_AS_REQ; + decode_AUTHDATA_TYPE; + decode_AccessDescription; + decode_AlgorithmIdentifier; + decode_Attribute; + decode_AttributeType; + decode_AttributeTypeAndValue; + decode_AttributeValue; + decode_AuthPack; + decode_AuthPack_Win2k; + decode_Authenticator; + decode_AuthorityInfoAccessSyntax; + decode_AuthorityKeyIdentifier; + decode_AuthorizationData; + decode_AuthorizationDataElement; + decode_BaseDistance; + decode_BasicConstraints; + decode_CKSUMTYPE; + decode_CMSAttributes; + decode_CMSCBCParameter; + decode_CMSEncryptedData; + decode_CMSIdentifier; + decode_CMSRC2CBCParameter; + decode_CMSVersion; + decode_CRLCertificateList; + decode_CRLDistributionPoints; + decode_CRLReason; + decode_Certificate; + decode_CertificateList; + decode_CertificateRevocationLists; + decode_CertificateSerialNumber; + decode_CertificateSet; + decode_Certificates; + decode_ChangePasswdDataMS; + decode_Checksum; + decode_ContentEncryptionAlgorithmIdentifier; + decode_ContentInfo; + decode_ContentType; + decode_DHNonce; + decode_DHParameter; + decode_DHPublicKey; + decode_DHRepInfo; + decode_DSAParams; + decode_DSAPublicKey; + decode_DSASigValue; + decode_DigestAlgorithmIdentifier; + decode_DigestAlgorithmIdentifiers; + decode_DigestError; + decode_DigestInfo; + decode_DigestInit; + decode_DigestInitReply; + decode_DigestREP; + decode_DigestREQ; + decode_DigestRepInner; + decode_DigestReqInner; + decode_DigestRequest; + decode_DigestResponse; + decode_DigestTypes; + decode_DirectoryString; + decode_DistributionPoint; + decode_DistributionPointName; + decode_DistributionPointReasonFlags; + decode_DomainParameters; + decode_ECDSA_Sig_Value; + decode_ECParameters; + decode_ECPoint; + decode_ENCTYPE; + decode_ETYPE_INFO; + decode_ETYPE_INFO2; + decode_ETYPE_INFO2_ENTRY; + decode_ETYPE_INFO_ENTRY; + decode_EncAPRepPart; + decode_EncASRepPart; + decode_EncKDCRepPart; + decode_EncKrbCredPart; + decode_EncKrbPrivPart; + decode_EncTGSRepPart; + decode_EncTicketPart; + decode_EncapsulatedContentInfo; + decode_EncryptedContent; + decode_EncryptedContentInfo; + decode_EncryptedData; + decode_EncryptedKey; + decode_EncryptionKey; + decode_EnvelopedData; + decode_EtypeList; + decode_ExtKeyUsage; + decode_Extension; + decode_Extensions; + decode_ExternalPrincipalIdentifier; + decode_ExternalPrincipalIdentifiers; + decode_FastOptions; + decode_GeneralName; + decode_GeneralNames; + decode_GeneralSubtree; + decode_GeneralSubtrees; + decode_HostAddress; + decode_HostAddresses; + decode_IssuerAndSerialNumber; + decode_KDCDHKeyInfo; + decode_KDCDHKeyInfo_Win2k; + decode_KDCOptions; + decode_KDC_REP; + decode_KDC_REQ; + decode_KDC_REQ_BODY; + decode_KDFAlgorithmId; + decode_KRB5PrincipalName; + decode_KRB5SignedPath; + decode_KRB5SignedPathData; + decode_KRB_CRED; + decode_KRB_ERROR; + decode_KRB_PRIV; + decode_KRB_SAFE; + decode_KRB_SAFE_BODY; + decode_KX509_ERROR_CODE; + decode_KerberosString; + decode_KerberosTime; + decode_KeyEncryptionAlgorithmIdentifier; + decode_KeyIdentifier; + decode_KeyTransRecipientInfo; + decode_KeyUsage; + decode_KrbCredInfo; + decode_KrbFastArmor; + decode_KrbFastArmoredRep; + decode_KrbFastArmoredReq; + decode_KrbFastFinished; + decode_KrbFastReq; + decode_KrbFastResponse; + decode_Kx509Request; + decode_Kx509Response; + decode_LR_TYPE; + decode_LastReq; + decode_MESSAGE_TYPE; + decode_METHOD_DATA; + decode_MS_UPN_SAN; + decode_MessageDigest; + decode_NAME_TYPE; + decode_NTLMInit; + decode_NTLMInitReply; + decode_NTLMReply; + decode_NTLMRequest; + decode_NTLMRequest2; + decode_NTLMResponse; + decode_Name; + decode_NameConstraints; + decode_OriginatorInfo; + decode_OtherName; + decode_PADATA_TYPE; + decode_PA_ClientCanonicalized; + decode_PA_ClientCanonicalizedNames; + decode_PA_DATA; + decode_PA_ENC_SAM_RESPONSE_ENC; + decode_PA_ENC_TS_ENC; + decode_PA_FX_FAST_REPLY; + decode_PA_FX_FAST_REQUEST; + decode_PA_PAC_REQUEST; + decode_PA_PK_AS_REP; + decode_PA_PK_AS_REP_BTMM; + decode_PA_PK_AS_REP_Win2k; + decode_PA_PK_AS_REQ; + decode_PA_PK_AS_REQ_Win2k; + decode_PA_S4U2Self; + decode_PA_SAM_CHALLENGE_2; + decode_PA_SAM_CHALLENGE_2_BODY; + decode_PA_SAM_REDIRECT; + decode_PA_SAM_RESPONSE_2; + decode_PA_SAM_TYPE; + decode_PA_SERVER_REFERRAL_DATA; + decode_PA_ServerReferralData; + decode_PA_SvrReferralData; + decode_PKAuthenticator; + decode_PKAuthenticator_Win2k; + decode_PKCS12_Attribute; + decode_PKCS12_Attributes; + decode_PKCS12_AuthenticatedSafe; + decode_PKCS12_CertBag; + decode_PKCS12_MacData; + decode_PKCS12_OctetString; + decode_PKCS12_PBEParams; + decode_PKCS12_PFX; + decode_PKCS12_SafeBag; + decode_PKCS12_SafeContents; + decode_PKCS8Attributes; + decode_PKCS8EncryptedData; + decode_PKCS8EncryptedPrivateKeyInfo; + decode_PKCS8PrivateKey; + decode_PKCS8PrivateKeyAlgorithmIdentifier; + decode_PKCS8PrivateKeyInfo; + decode_PKCS9_BMPString; + decode_PKCS9_friendlyName; + decode_PKIXXmppAddr; + decode_PROV_SRV_LOCATION; + decode_PkinitSP80056AOtherInfo; + decode_PkinitSuppPubInfo; + decode_Principal; + decode_PrincipalName; + decode_Principals; + decode_ProxyCertInfo; + decode_ProxyPolicy; + decode_RDNSequence; + decode_RSAPrivateKey; + decode_RSAPublicKey; + decode_Realm; + decode_RecipientIdentifier; + decode_RecipientInfo; + decode_RecipientInfos; + decode_RelativeDistinguishedName; + decode_ReplyKeyPack; + decode_ReplyKeyPack_Win2k; + decode_SAMFlags; + decode_SignatureAlgorithmIdentifier; + decode_SignatureValue; + decode_SignedData; + decode_SignerIdentifier; + decode_SignerInfo; + decode_SignerInfos; + decode_SubjectKeyIdentifier; + decode_SubjectPublicKeyInfo; + decode_TBSCRLCertList; + decode_TBSCertificate; + decode_TD_DH_PARAMETERS; + decode_TD_INVALID_CERTIFICATES; + decode_TD_TRUSTED_CERTIFIERS; + decode_TGS_REP; + decode_TGS_REQ; + decode_TYPED_DATA; + decode_Ticket; + decode_TicketFlags; + decode_Time; + decode_TransitedEncoding; + decode_TrustedCA; + decode_TrustedCA_Win2k; + decode_TypedData; + decode_UniqueIdentifier; + decode_UnprotectedAttributes; + decode_ValidationParms; + decode_Validity; + decode_Version; + decode_heim_any; + decode_heim_any_set; + decode_krb5int32; + decode_krb5uint32; + der_copy_bit_string; + der_copy_bmp_string; + der_copy_general_string; + der_copy_generalized_time; + der_copy_heim_integer; + der_copy_ia5_string; + der_copy_integer; + der_copy_octet_string; + der_copy_oid; + der_copy_printable_string; + der_copy_universal_string; + der_copy_unsigned; + der_copy_utctime; + der_copy_utf8string; + der_copy_visible_string; + der_free_bit_string; + der_free_bmp_string; + der_free_general_string; + der_free_generalized_time; + der_free_heim_integer; + der_free_ia5_string; + der_free_integer; + der_free_octet_string; + der_free_oid; + der_free_printable_string; + der_free_universal_string; + der_free_unsigned; + der_free_utctime; + der_free_utf8string; + der_free_visible_string; + der_get_bit_string; + der_get_bmp_string; + der_get_boolean; + der_get_class_name; + der_get_class_num; + der_get_general_string; + der_get_generalized_time; + der_get_heim_integer; + der_get_ia5_string; + der_get_integer; + der_get_length; + der_get_octet_string; + der_get_octet_string_ber; + der_get_oid; + der_get_printable_string; + der_get_tag; + der_get_tag_name; + der_get_tag_num; + der_get_type_name; + der_get_type_num; + der_get_universal_string; + der_get_unsigned; + der_get_utctime; + der_get_utf8string; + der_get_visible_string; + der_heim_bit_string_cmp; + der_heim_bmp_string_cmp; + der_heim_integer_cmp; + der_heim_octet_string_cmp; + der_heim_oid_cmp; + der_heim_universal_string_cmp; + der_ia5_string_cmp; + der_length_bit_string; + der_length_bmp_string; + der_length_boolean; + der_length_enumerated; + der_length_general_string; + der_length_generalized_time; + der_length_heim_integer; + der_length_ia5_string; + der_length_integer; + der_length_len; + der_length_octet_string; + der_length_oid; + der_length_printable_string; + der_length_tag; + der_length_universal_string; + der_length_unsigned; + der_length_utctime; + der_length_utf8string; + der_length_visible_string; + der_match_tag; + der_match_tag2; + der_match_tag_and_length; + der_parse_heim_oid; + der_parse_hex_heim_integer; + der_print_heim_oid; + der_print_hex_heim_integer; + der_printable_string_cmp; + der_put_bit_string; + der_put_bmp_string; + der_put_boolean; + der_put_general_string; + der_put_generalized_time; + der_put_heim_integer; + der_put_ia5_string; + der_put_integer; + der_put_length; + der_put_length_and_tag; + der_put_octet_string; + der_put_oid; + der_put_printable_string; + der_put_tag; + der_put_universal_string; + der_put_unsigned; + der_put_utctime; + der_put_utf8string; + der_put_visible_string; + encode_AD_AND_OR; + encode_AD_IF_RELEVANT; + encode_AD_INITIAL_VERIFIED_CAS; + encode_AD_KDCIssued; + encode_AD_LoginAlias; + encode_AD_MANDATORY_FOR_KDC; + encode_APOptions; + encode_AP_REP; + encode_AP_REQ; + encode_AS_REP; + encode_AS_REQ; + encode_AUTHDATA_TYPE; + encode_AccessDescription; + encode_AlgorithmIdentifier; + encode_Attribute; + encode_AttributeType; + encode_AttributeTypeAndValue; + encode_AttributeValue; + encode_AuthPack; + encode_AuthPack_Win2k; + encode_Authenticator; + encode_AuthorityInfoAccessSyntax; + encode_AuthorityKeyIdentifier; + encode_AuthorizationData; + encode_AuthorizationDataElement; + encode_BaseDistance; + encode_BasicConstraints; + encode_CKSUMTYPE; + encode_CMSAttributes; + encode_CMSCBCParameter; + encode_CMSEncryptedData; + encode_CMSIdentifier; + encode_CMSRC2CBCParameter; + encode_CMSVersion; + encode_CRLCertificateList; + encode_CRLDistributionPoints; + encode_CRLReason; + encode_Certificate; + encode_CertificateList; + encode_CertificateRevocationLists; + encode_CertificateSerialNumber; + encode_CertificateSet; + encode_Certificates; + encode_ChangePasswdDataMS; + encode_Checksum; + encode_ContentEncryptionAlgorithmIdentifier; + encode_ContentInfo; + encode_ContentType; + encode_DHNonce; + encode_DHParameter; + encode_DHPublicKey; + encode_DHRepInfo; + encode_DSAParams; + encode_DSAPublicKey; + encode_DSASigValue; + encode_DigestAlgorithmIdentifier; + encode_DigestAlgorithmIdentifiers; + encode_DigestError; + encode_DigestInfo; + encode_DigestInit; + encode_DigestInitReply; + encode_DigestREP; + encode_DigestREQ; + encode_DigestRepInner; + encode_DigestReqInner; + encode_DigestRequest; + encode_DigestResponse; + encode_DigestTypes; + encode_DirectoryString; + encode_DistributionPoint; + encode_DistributionPointName; + encode_DistributionPointReasonFlags; + encode_DomainParameters; + encode_ECDSA_Sig_Value; + encode_ECParameters; + encode_ECPoint; + encode_ENCTYPE; + encode_ETYPE_INFO; + encode_ETYPE_INFO2; + encode_ETYPE_INFO2_ENTRY; + encode_ETYPE_INFO_ENTRY; + encode_EncAPRepPart; + encode_EncASRepPart; + encode_EncKDCRepPart; + encode_EncKrbCredPart; + encode_EncKrbPrivPart; + encode_EncTGSRepPart; + encode_EncTicketPart; + encode_EncapsulatedContentInfo; + encode_EncryptedContent; + encode_EncryptedContentInfo; + encode_EncryptedData; + encode_EncryptedKey; + encode_EncryptionKey; + encode_EnvelopedData; + encode_EtypeList; + encode_ExtKeyUsage; + encode_Extension; + encode_Extensions; + encode_ExternalPrincipalIdentifier; + encode_ExternalPrincipalIdentifiers; + encode_FastOptions; + encode_GeneralName; + encode_GeneralNames; + encode_GeneralSubtree; + encode_GeneralSubtrees; + encode_HostAddress; + encode_HostAddresses; + encode_IssuerAndSerialNumber; + encode_KDCDHKeyInfo; + encode_KDCDHKeyInfo_Win2k; + encode_KDCOptions; + encode_KDC_REP; + encode_KDC_REQ; + encode_KDC_REQ_BODY; + encode_KDFAlgorithmId; + encode_KRB5PrincipalName; + encode_KRB5SignedPath; + encode_KRB5SignedPathData; + encode_KRB_CRED; + encode_KRB_ERROR; + encode_KRB_PRIV; + encode_KRB_SAFE; + encode_KRB_SAFE_BODY; + encode_KX509_ERROR_CODE; + encode_KerberosString; + encode_KerberosTime; + encode_KeyEncryptionAlgorithmIdentifier; + encode_KeyIdentifier; + encode_KeyTransRecipientInfo; + encode_KeyUsage; + encode_KrbCredInfo; + encode_KrbFastArmor; + encode_KrbFastArmoredRep; + encode_KrbFastArmoredReq; + encode_KrbFastFinished; + encode_KrbFastReq; + encode_KrbFastResponse; + encode_Kx509Request; + encode_Kx509Response; + encode_LR_TYPE; + encode_LastReq; + encode_MESSAGE_TYPE; + encode_METHOD_DATA; + encode_MS_UPN_SAN; + encode_MessageDigest; + encode_NAME_TYPE; + encode_NTLMInit; + encode_NTLMInitReply; + encode_NTLMReply; + encode_NTLMRequest; + encode_NTLMRequest2; + encode_NTLMResponse; + encode_Name; + encode_NameConstraints; + encode_OriginatorInfo; + encode_OtherName; + encode_PADATA_TYPE; + encode_PA_ClientCanonicalized; + encode_PA_ClientCanonicalizedNames; + encode_PA_DATA; + encode_PA_ENC_SAM_RESPONSE_ENC; + encode_PA_ENC_TS_ENC; + encode_PA_FX_FAST_REPLY; + encode_PA_FX_FAST_REQUEST; + encode_PA_PAC_REQUEST; + encode_PA_PK_AS_REP; + encode_PA_PK_AS_REP_BTMM; + encode_PA_PK_AS_REP_Win2k; + encode_PA_PK_AS_REQ; + encode_PA_PK_AS_REQ_Win2k; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:36:27 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DF1641065670; Sun, 8 Apr 2012 04:36:27 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CA9F88FC12; Sun, 8 Apr 2012 04:36:27 +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 q384aRlR093118; Sun, 8 Apr 2012 04:36:27 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q384aRXS093116; Sun, 8 Apr 2012 04:36:27 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201204080436.q384aRXS093116@svn.freebsd.org> From: Andrew Turner Date: Sun, 8 Apr 2012 04:36:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:36:28 -0000 Author: andrew Date: Sun Apr 8 04:36:27 2012 New Revision: 234014 URL: http://svn.freebsd.org/changeset/base/234014 Log: Unlike other functions __aeabi_read_tp function must preserve r1-r3. The currently generated code clobbers r3. Fix this by loading ARM_TP_ADDRESS using inline assembly. Approved by: imp (mentor) Modified: head/lib/libc/arm/gen/__aeabi_read_tp.c Modified: head/lib/libc/arm/gen/__aeabi_read_tp.c ============================================================================== --- head/lib/libc/arm/gen/__aeabi_read_tp.c Sun Apr 8 04:22:09 2012 (r234013) +++ head/lib/libc/arm/gen/__aeabi_read_tp.c Sun Apr 8 04:36:27 2012 (r234014) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2012 Oleksandr Tymoshenko + * Copyright (c) 2012 Andrew Turner * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,7 +37,9 @@ __FBSDID("$FreeBSD$"); void * __aeabi_read_tp() { - void **_tp = (void **)ARM_TP_ADDRESS; + void *_tp; - return (*_tp); + asm("ldr %0, [%1]\n" : "=r"(_tp) : "r"(ARM_TP_ADDRESS)); + + return _tp; } From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:42:54 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64107106566C; Sun, 8 Apr 2012 04:42:54 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4EEEA8FC08; Sun, 8 Apr 2012 04:42:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q384gsPN093346; Sun, 8 Apr 2012 04:42:54 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q384gsFs093344; Sun, 8 Apr 2012 04:42:54 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204080442.q384gsFs093344@svn.freebsd.org> From: Adrian Chadd Date: Sun, 8 Apr 2012 04:42:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234015 - head/tools/tools/ath/common X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:42:54 -0000 Author: adrian Date: Sun Apr 8 04:42:53 2012 New Revision: 234015 URL: http://svn.freebsd.org/changeset/base/234015 Log: Add AR_ISR_S5 and AR_ISR_S5_S. Modified: head/tools/tools/ath/common/dumpregs_5416.c Modified: head/tools/tools/ath/common/dumpregs_5416.c ============================================================================== --- head/tools/tools/ath/common/dumpregs_5416.c Sun Apr 8 04:36:27 2012 (r234014) +++ head/tools/tools/ath/common/dumpregs_5416.c Sun Apr 8 04:42:53 2012 (r234015) @@ -76,6 +76,7 @@ static struct dumpreg ar5416regs[] = { "\30CABTO\31DTIM"), DEFINT(AR_ISR_S3, "ISR_S3"), DEFINT(AR_ISR_S4, "ISR_S4"), + DEFINT(AR_ISR_S5, "ISR_S5"), DEFINTfmt(AR_IMR, "IMR", "\20\1RXOK\2RXDESC\3RXERR\4RXNOPKT\5RXEOL\6RXORN\7TXOK\10TXDESC" "\11TXERR\12TXNOPKT\13TXEOL\14TXURN\15MIB\16SWI\17RXPHY\20RXKCM" @@ -95,6 +96,7 @@ static struct dumpreg ar5416regs[] = { DEFINT(AR_ISR_S2_S, "ISR_S2_S"), DEFINT(AR_ISR_S3_S, "ISR_S3_S"), DEFINT(AR_ISR_S4_S, "ISR_S4_S"), + DEFINT(AR_ISR_S5_S, "ISR_S5_S"), DEFBASIC(AR_DMADBG_0, "DMADBG0"), DEFBASIC(AR_DMADBG_1, "DMADBG1"), From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:46:42 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64D36106564A; Sun, 8 Apr 2012 04:46:42 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from mailfilter7.ihug.co.nz (mailfilter7.ihug.co.nz [203.109.136.7]) by mx1.freebsd.org (Postfix) with ESMTP id BF1E78FC18; Sun, 8 Apr 2012 04:46:41 +0000 (UTC) X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.0 c=1 a=DE6nE7g822sA:10 a=kj9zAlcOel0A:10 a=f/SxzVRvWQdBqo0nlH1VRA==:17 a=6I5d2MoRAAAA:8 a=6aGdb0JzarhYoHAFRQ4A:9 a=CjuIK1q_8ugA:10 a=SV7veod9ZcQA:10 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aq0IADIXgU/Ldqol/2dsb2JhbABFuDJygQiCCQEBBAE6HCMFCwgDFDI5HhmICQQMuUeLMYUpBJVrAZA2gnyBQA X-IronPort-AV: E=Sophos;i="4.75,389,1330858800"; d="scan'208";a="183847805" Received: from 203-118-170-37.adsl.ihug.co.nz (HELO localhost) ([203.118.170.37]) by cust.filter7.content.vf.net.nz with SMTP; 08 Apr 2012 16:45:32 +1200 Date: Sun, 8 Apr 2012 16:45:21 +1200 From: Andrew Turner Message-ID: <20120408164521.55aecdd1@fubar.geek.nz> In-Reply-To: <201204080436.q384aRXS093116@svn.freebsd.org> References: <201204080436.q384aRXS093116@svn.freebsd.org> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; i386-portbld-freebsd8.0) X-Pirate: Arrrr Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:46:42 -0000 On Sun, 8 Apr 2012 04:36:27 +0000 (UTC) Andrew Turner wrote: > Author: andrew > Date: Sun Apr 8 04:36:27 2012 > New Revision: 234014 > URL: http://svn.freebsd.org/changeset/base/234014 > > Log: > Unlike other functions __aeabi_read_tp function must preserve > r1-r3. The currently generated code clobbers r3. Fix this by loading > ARM_TP_ADDRESS using inline assembly. > > Approved by: imp (mentor) This fixes thread local storage on ARM in cases when the compiler loads the offset of the variable in r3 before calling __aeabi_read_tp as has been observed when the variable is in a shared library. Andrew From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:47:56 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 03C6A106566B; Sun, 8 Apr 2012 04:47:56 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DDB5B8FC21; Sun, 8 Apr 2012 04:47:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q384ltn1093697; Sun, 8 Apr 2012 04:47:55 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q384lsF3093604; Sun, 8 Apr 2012 04:47:54 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <201204080447.q384lsF3093604@svn.freebsd.org> From: Stanislav Sedov Date: Sun, 8 Apr 2012 04:47:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234016 - in vendor-crypto/heimdal/dist: . appl/telnet/libtelnet doc doc/doxyout/gssapi/html doc/doxyout/gssapi/man/man3 doc/doxyout/hcrypto/html doc/doxyout/hcrypto/man/man3 doc/doxyou... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:47:56 -0000 Author: stas Date: Sun Apr 8 04:47:53 2012 New Revision: 234016 URL: http://svn.freebsd.org/changeset/base/234016 Log: - Update vendor tree of heimdal to 1.5.2. Modified: vendor-crypto/heimdal/dist/NEWS vendor-crypto/heimdal/dist/appl/telnet/libtelnet/encrypt.c vendor-crypto/heimdal/dist/configure vendor-crypto/heimdal/dist/configure.ac vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/graph_legend.html vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/group__gssapi.html vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/gssapi_mechs_intro.html vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/gssapi_services_intro.html vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/index.html vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/internalvsmechname.html vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/modules.html vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/pages.html vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi.3 vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi_mechs_intro.3 vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi_services_intro.3 vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/internalvsmechname.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/examples.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/graph_legend.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__core.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__des.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__dh.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__evp.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__misc.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rand.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/index.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/modules.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_des.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_dh.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_evp.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_rand.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_rsa.html vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_des.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_dh.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_evp.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_rand.3 vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_rsa.3 vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/annotated.html vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/functions.html vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/functions_vars.html vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/graph_legend.html vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/index.html vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/struct_h_d_b.html vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/structhdb__entry__ex.html vendor-crypto/heimdal/dist/doc/doxyout/hdb/man/man3/HDB.3 vendor-crypto/heimdal/dist/doc/doxyout/hdb/man/man3/hdb_entry_ex.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/graph_legend.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__ca.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__cert.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__cms.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__crypto.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__env.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__error.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__keyset.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__lock.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__misc.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__name.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__peer.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__print.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__query.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__revoke.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__verify.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/index.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/modules.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_ca.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_cert.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_cms.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_env.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_error.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_keyset.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_lock.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_name.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_peer.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_print.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_revoke.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/pages.html vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_ca.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_cert.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_cms.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_crypto.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_env.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_error.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_keyset.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_lock.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_misc.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_name.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_peer.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_print.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_query.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_revoke.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_verify.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_ca.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_cert.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_cms.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_env.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_error.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_keyset.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_lock.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_name.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_peer.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_print.3 vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/page_revoke.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/annotated.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/graph_legend.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__address.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__auth.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__ccache.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__credential.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__crypto.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__deprecated.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__digest.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__error.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__keytab.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__pac.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__principal.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__storage.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__support.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__ticket.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/group__krb5__v4compat.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/index.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/krb5_ccache_intro.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/krb5_fileformats.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/krb5_init_creds_intro.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/krb5_introduction.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/krb5_keytab_intro.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/krb5_principal_intro.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/modules.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/pages.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/html/structkrb5__crypto__iov.html vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_address.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_auth.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_ccache.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_ccache_intro.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_credential.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_crypto.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_crypto_iov.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_deprecated.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_digest.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_error.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_fileformats.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_init_creds_intro.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_introduction.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_keytab.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_keytab_intro.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_pac.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_principal.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_principal_intro.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_storage.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_support.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_ticket.3 vendor-crypto/heimdal/dist/doc/doxyout/krb5/man/man3/krb5_v4compat.3 vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/annotated.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/examples.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/functions.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/functions_vars.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/graph_legend.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/group__ntlm__core.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/index.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/modules.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/structntlm__buf.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/structntlm__type1.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/structntlm__type2.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/structntlm__type3.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/html/test__ntlm_8c-example.html vendor-crypto/heimdal/dist/doc/doxyout/ntlm/man/man3/ntlm_buf.3 vendor-crypto/heimdal/dist/doc/doxyout/ntlm/man/man3/ntlm_core.3 vendor-crypto/heimdal/dist/doc/doxyout/ntlm/man/man3/ntlm_type1.3 vendor-crypto/heimdal/dist/doc/doxyout/ntlm/man/man3/ntlm_type2.3 vendor-crypto/heimdal/dist/doc/doxyout/ntlm/man/man3/ntlm_type3.3 vendor-crypto/heimdal/dist/doc/doxyout/wind/html/graph_legend.html vendor-crypto/heimdal/dist/doc/doxyout/wind/html/group__wind.html vendor-crypto/heimdal/dist/doc/doxyout/wind/html/index.html vendor-crypto/heimdal/dist/doc/doxyout/wind/html/modules.html vendor-crypto/heimdal/dist/doc/doxyout/wind/man/man3/wind.3 vendor-crypto/heimdal/dist/doc/heimdal.info vendor-crypto/heimdal/dist/doc/heimdal.texi vendor-crypto/heimdal/dist/doc/hx509.info vendor-crypto/heimdal/dist/doc/intro.texi vendor-crypto/heimdal/dist/doc/kerberos4.texi vendor-crypto/heimdal/dist/doc/setup.texi vendor-crypto/heimdal/dist/doc/vars.texi vendor-crypto/heimdal/dist/kdc/default_config.c vendor-crypto/heimdal/dist/kdc/kdc.8 vendor-crypto/heimdal/dist/kdc/kdc.cat8 vendor-crypto/heimdal/dist/kdc/kdc.h vendor-crypto/heimdal/dist/kdc/kerberos5.c vendor-crypto/heimdal/dist/kdc/krb5tgs.c vendor-crypto/heimdal/dist/kpasswd/kpasswdd.c vendor-crypto/heimdal/dist/lib/gssapi/krb5/verify_mic.c vendor-crypto/heimdal/dist/lib/hcrypto/libtommath/bn_mp_prime_next_prime.c vendor-crypto/heimdal/dist/lib/hx509/sel-lex.c vendor-crypto/heimdal/dist/lib/hx509/sel-lex.l vendor-crypto/heimdal/dist/lib/kadm5/password_quality.c vendor-crypto/heimdal/dist/lib/krb5/crypto-arcfour.c vendor-crypto/heimdal/dist/lib/krb5/crypto.c vendor-crypto/heimdal/dist/lib/krb5/eai_to_heim_errno.c vendor-crypto/heimdal/dist/lib/krb5/krb5.conf.5 vendor-crypto/heimdal/dist/lib/krb5/krb5.conf.cat5 vendor-crypto/heimdal/dist/lib/krb5/pac.c vendor-crypto/heimdal/dist/lib/krb5/verify_krb5_conf.c vendor-crypto/heimdal/dist/lib/libedit/configure vendor-crypto/heimdal/dist/lib/wind/bidi_table.c vendor-crypto/heimdal/dist/lib/wind/bidi_table.h vendor-crypto/heimdal/dist/lib/wind/combining_table.c vendor-crypto/heimdal/dist/lib/wind/combining_table.h vendor-crypto/heimdal/dist/lib/wind/errorlist_table.c vendor-crypto/heimdal/dist/lib/wind/errorlist_table.h vendor-crypto/heimdal/dist/lib/wind/map_table.c vendor-crypto/heimdal/dist/lib/wind/map_table.h vendor-crypto/heimdal/dist/lib/wind/normalize_table.c vendor-crypto/heimdal/dist/lib/wind/normalize_table.h vendor-crypto/heimdal/dist/lib/wind/punycode_examples.c vendor-crypto/heimdal/dist/lib/wind/punycode_examples.h vendor-crypto/heimdal/dist/lib/wind/utf8.c vendor-crypto/heimdal/dist/lib/wind/version-script.map vendor-crypto/heimdal/dist/tests/kdc/check-kadmin.in vendor-crypto/heimdal/dist/tools/krb5-config.in vendor-crypto/heimdal/dist/windows/NTMakefile.version Modified: vendor-crypto/heimdal/dist/NEWS ============================================================================== --- vendor-crypto/heimdal/dist/NEWS Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/NEWS Sun Apr 8 04:47:53 2012 (r234016) @@ -1,3 +1,16 @@ +Release Notes - Heimdal - Version Heimdal 1.5.2 + + Security fixes + - CVE-2011-4862 Buffer overflow in libtelnet/encrypt.c in telnetd - escalation of privilege + - Check that key types strictly match - denial of service + +Release Notes - Heimdal - Version Heimdal 1.5.1 + + Bug fixes + - Fix building on Solaris, requires c99 + - Fix building on Windows + - Build system updates + Release Notes - Heimdal - Version Heimdal 1.5 New features Modified: vendor-crypto/heimdal/dist/appl/telnet/libtelnet/encrypt.c ============================================================================== --- vendor-crypto/heimdal/dist/appl/telnet/libtelnet/encrypt.c Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/appl/telnet/libtelnet/encrypt.c Sun Apr 8 04:47:53 2012 (r234016) @@ -736,6 +736,9 @@ encrypt_keyid(struct key_info *kp, unsig int dir = kp->dir; int ret = 0; + if (len > MAXKEYLEN) + len = MAXKEYLEN; + if (!(ep = (*kp->getcrypt)(*kp->modep))) { if (len == 0) return; Modified: vendor-crypto/heimdal/dist/configure ============================================================================== --- vendor-crypto/heimdal/dist/configure Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/configure Sun Apr 8 04:47:53 2012 (r234016) @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for Heimdal 1.5.1. +# Generated by GNU Autoconf 2.65 for Heimdal 1.5.2. # # Report bugs to . # @@ -563,8 +563,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Heimdal' PACKAGE_TARNAME='heimdal' -PACKAGE_VERSION='1.5.1' -PACKAGE_STRING='Heimdal 1.5.1' +PACKAGE_VERSION='1.5.2' +PACKAGE_STRING='Heimdal 1.5.2' PACKAGE_BUGREPORT='heimdal-bugs@h5l.org' PACKAGE_URL='' @@ -1535,7 +1535,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Heimdal 1.5.1 to adapt to many kinds of systems. +\`configure' configures Heimdal 1.5.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1609,7 +1609,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Heimdal 1.5.1:";; + short | recursive ) echo "Configuration of Heimdal 1.5.2:";; esac cat <<\_ACEOF @@ -1798,7 +1798,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Heimdal configure 1.5.1 +Heimdal configure 1.5.2 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2252,7 +2252,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Heimdal $as_me 1.5.1, which was +It was created by Heimdal $as_me 1.5.2, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -3068,7 +3068,7 @@ fi # Define the identity of the package. PACKAGE='heimdal' - VERSION='1.5.1' + VERSION='1.5.2' cat >>confdefs.h <<_ACEOF @@ -29246,7 +29246,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Heimdal $as_me 1.5.1, which was +This file was extended by Heimdal $as_me 1.5.2, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -29312,7 +29312,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Heimdal config.status 1.5.1 +Heimdal config.status 1.5.2 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" @@ -31284,7 +31284,7 @@ cat > include/newversion.h.in <
-Generated on Fri Sep 30 15:26:17 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
+Generated on Wed Jan 11 14:07:44 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/group__gssapi.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/group__gssapi.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/group__gssapi.html Sun Apr 8 04:47:53 2012 (r234016) @@ -887,6 +887,6 @@ SSPI equivalent if this function is Quer


-Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
+Generated on Wed Jan 11 14:07:44 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/gssapi_mechs_intro.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/gssapi_mechs_intro.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/gssapi_mechs_intro.html Sun Apr 8 04:47:53 2012 (r234016) @@ -25,6 +25,6 @@ GSS-API mechanisms
  • Kerberos 5 - GSS_KRB5_MECHANISM
  • SPNEGO - GSS_SPNEGO_MECHANISM
  • NTLM - GSS_NTLM_MECHANISM

  • -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/gssapi_services_intro.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/gssapi_services_intro.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/gssapi_services_intro.html Sun Apr 8 04:47:53 2012 (r234016) @@ -38,6 +38,6 @@ Per-message services
  • conf
  • int
  • message integrity
  • replay detection
  • out of sequence

  • -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/index.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/index.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/index.html Sun Apr 8 04:47:53 2012 (r234016) @@ -21,7 +21,7 @@

    Heimdal GSS-API Library

    -

    1.5.1

    Heimdal implements the following mechanisms:

    +

    1.5.2

    Heimdal implements the following mechanisms:

    • Kerberos 5
    • SPNEGO
    • NTLM

    @@ -31,6 +31,6 @@ The project web page: Introduction to GSS-API services

  • GSS-API mechanisms
  • Name forms

  • -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/internalvsmechname.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/internalvsmechname.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/internalvsmechname.html Sun Apr 8 04:47:53 2012 (r234016) @@ -31,6 +31,6 @@ There are two forms of name in GSS-API, There is also special form of the Internal Name (IN), and that is the Mechanism Name (MN). In the mechanism name all the generic information is stripped of and only contain the information for one mechanism. In GSS-API some function return MN and some require MN as input. Each of these function is marked up as such.

    Describe relationship between import_name, canonicalize_name, export_name and friends.


    -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/modules.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/modules.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/modules.html Sun Apr 8 04:47:53 2012 (r234016) @@ -24,6 +24,6 @@
    -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:44 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/pages.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/pages.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/html/pages.html Sun Apr 8 04:47:53 2012 (r234016) @@ -29,6 +29,6 @@
    -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "Heimdal GSS-API functions" 3 "30 Sep 2011" "Version 1.5.1" "HeimdalGSS-APIlibrary" \" -*- nroff -*- +.TH "Heimdal GSS-API functions" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalGSS-APIlibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi_mechs_intro.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi_mechs_intro.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi_mechs_intro.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "gssapi_mechs_intro" 3 "30 Sep 2011" "Version 1.5.1" "HeimdalGSS-APIlibrary" \" -*- nroff -*- +.TH "gssapi_mechs_intro" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalGSS-APIlibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi_services_intro.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi_services_intro.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/gssapi_services_intro.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "gssapi_services_intro" 3 "30 Sep 2011" "Version 1.5.1" "HeimdalGSS-APIlibrary" \" -*- nroff -*- +.TH "gssapi_services_intro" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalGSS-APIlibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/internalvsmechname.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/internalvsmechname.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/gssapi/man/man3/internalvsmechname.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "internalvsmechname" 3 "30 Sep 2011" "Version 1.5.1" "HeimdalGSS-APIlibrary" \" -*- nroff -*- +.TH "internalvsmechname" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalGSS-APIlibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html Sun Apr 8 04:47:53 2012 (r234016) @@ -168,6 +168,6 @@ main(int
    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/examples.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/examples.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/examples.html Sun Apr 8 04:47:53 2012 (r234016) @@ -24,6 +24,6 @@
    -Generated on Fri Sep 30 15:26:06 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/graph_legend.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/graph_legend.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/graph_legend.html Sun Apr 8 04:47:53 2012 (r234016) @@ -83,6 +83,6 @@ A yellow dashed arrow denotes a relation
    -Generated on Fri Sep 30 15:26:06 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__core.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__core.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__core.html Sun Apr 8 04:47:53 2012 (r234016) @@ -185,6 +185,6 @@ Add all algorithms to the crypto core, b


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__des.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__des.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__des.html Sun Apr 8 04:47:53 2012 (r234016) @@ -905,6 +905,6 @@ Convert a string to a DES key. Use somet


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__dh.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__dh.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__dh.html Sun Apr 8 04:47:53 2012 (r234016) @@ -576,6 +576,6 @@ Add a reference to the DH object. The ob


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__evp.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__evp.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__evp.html Sun Apr 8 04:47:53 2012 (r234016) @@ -2361,6 +2361,6 @@ The tripple DES cipher type (Micrsoft cr


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__misc.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__misc.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__misc.html Sun Apr 8 04:47:53 2012 (r234016) @@ -101,6 +101,6 @@ As descriped in PKCS5, convert a passwor


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rand.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rand.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rand.html Sun Apr 8 04:47:53 2012 (r234016) @@ -420,6 +420,6 @@ Write of random numbers to a file to sto


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html Sun Apr 8 04:47:53 2012 (r234016) @@ -273,6 +273,6 @@ Add an extra reference to the RSA object


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/index.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/index.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/index.html Sun Apr 8 04:47:53 2012 (r234016) @@ -21,7 +21,7 @@

    Heimdal crypto library

    -

    1.5.1

    +

    1.5.2

    Introduction

    Heimdal libhcrypto library is a implementation many crypto algorithms, among others: AES, SHA, DES, RSA, Camellia and many help function.

    hcrypto provies a OpenSSL compatible interface libcrypto interface and is licensed under a 3 clause BSD license (GPL compatible).

    @@ -42,6 +42,6 @@ History

    Eric Young implemented DES in the library libdes, that grew into libcrypto in the ssleay package. ssleay went into recession and then got picked up by the OpenSSL (htp://www.openssl.org/) project.

    libhcrypto is an independent implementation with no code decended from ssleay/openssl. Both includes some common imported code, for example the AES implementation.


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/modules.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/modules.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/modules.html Sun Apr 8 04:47:53 2012 (r234016) @@ -30,6 +30,6 @@
    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_des.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_des.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_des.html Sun Apr 8 04:47:53 2012 (r234016) @@ -40,6 +40,6 @@ There was no complete BSD licensed, fast The document that got me started for real was "Efficient Implementation of the Data Encryption Standard" by Dag Arne Osvik. I never got to the PC1 transformation was working, instead I used table-lookup was used for all key schedule setup. The document was very useful since it de-mystified other implementations for me.

    The core DES function (SBOX + P transformation) is from Richard Outerbridge public domain DES implementation. My sanity is saved thanks to his work. Thank you Richard.


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_dh.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_dh.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_dh.html Sun Apr 8 04:47:53 2012 (r234016) @@ -25,6 +25,6 @@ Include and example how to use DH_new() and friends here.

    See the library functions here: Diffie-Hellman functions


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_evp.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_evp.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_evp.html Sun Apr 8 04:47:53 2012 (r234016) @@ -25,6 +25,6 @@ EVP Cipher The use of EVP_CipherInit_ex() and EVP_Cipher() is pretty easy to understand forward, then EVP_CipherUpdate() and EVP_CipherFinal_ex() really needs an example to explain example_evp_cipher::c .
    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_rand.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_rand.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_rand.html Sun Apr 8 04:47:53 2012 (r234016) @@ -23,6 +23,6 @@

    RAND - random number

    See the library functions here: RAND crypto functions

    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_rsa.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_rsa.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/html/page_rsa.html Sun Apr 8 04:47:53 2012 (r234016) @@ -26,6 +26,6 @@ Speed for RSA in seconds no key blinding name 1024 2048 4098 ================================= gmp: 0.73 6.60 44.80 tfm: 2.45 -- -- ltm: 3.79 20.74 105.41 (default in hcrypto) openssl: 4.04 11.90 82.59 cdsa: 15.89 102.89 721.40 imath: 40.62 -- --

    See the library functions here: RSA functions


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hcrypto function controlling behavior" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "hcrypto function controlling behavior" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "DES crypto functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "DES crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "Diffie-Hellman functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "Diffie-Hellman functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "EVP generic crypto functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "EVP generic crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hcrypto miscellaneous functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "hcrypto miscellaneous functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "RAND crypto functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "RAND crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "RSA functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "RSA functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_des.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_des.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_des.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "page_des" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_des" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_dh.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_dh.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_dh.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "page_dh" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_dh" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_evp.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_evp.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_evp.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "page_evp" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_evp" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_rand.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_rand.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_rand.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "page_rand" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_rand" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_rsa.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_rsa.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hcrypto/man/man3/page_rsa.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "page_rsa" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_rsa" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/annotated.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/annotated.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/annotated.html Sun Apr 8 04:47:53 2012 (r234016) @@ -30,6 +30,6 @@
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/functions.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/functions.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/functions.html Sun Apr 8 04:47:53 2012 (r234016) @@ -80,6 +80,6 @@ Here is a list of all documented struct
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/functions_vars.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/functions_vars.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/functions_vars.html Sun Apr 8 04:47:53 2012 (r234016) @@ -80,6 +80,6 @@
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/graph_legend.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/graph_legend.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/graph_legend.html Sun Apr 8 04:47:53 2012 (r234016) @@ -82,6 +82,6 @@ A yellow dashed arrow denotes a relation
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/index.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/index.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/index.html Sun Apr 8 04:47:53 2012 (r234016) @@ -20,7 +20,7 @@

    Heimdal database backend library

    -

    1.5.1

    +

    1.5.2

    Introduction

    Heimdal libhdb library provides the backend support for Heimdal kdc and kadmind. Its here where plugins for diffrent database engines can be pluged in and extend support for here Heimdal get the principal and policy data from.

    Example of Heimdal backend are:


    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/struct_h_d_b.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/struct_h_d_b.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/struct_h_d_b.html Sun Apr 8 04:47:53 2012 (r234016) @@ -422,9 +422,9 @@ Check if s4u2self is allowed from this c


    The documentation for this struct was generated from the following file:
      -
    • /Users/lha/src/heimdal/heimdal-release/heimdal-1.5.1/lib/hdb/hdb.h
    +
  • /Users/lha/src/heimdal/heimdal-release/heimdal-1.5.2/lib/hdb/hdb.h
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/structhdb__entry__ex.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/structhdb__entry__ex.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/html/structhdb__entry__ex.html Sun Apr 8 04:47:53 2012 (r234016) @@ -31,9 +31,9 @@

    Detailed Description

    hdb_entry_ex is a wrapper structure around the hdb_entry structure that allows backends to keep a pointer to the backing store, ie in ->hdb_fetch_kvno(), so that we the kadmin/kpasswd backend gets around to ->hdb_store(), the backend doesn't need to lookup the entry again.
    The documentation for this struct was generated from the following file:
      -
    • /Users/lha/src/heimdal/heimdal-release/heimdal-1.5.1/lib/hdb/hdb.h
    +
  • /Users/lha/src/heimdal/heimdal-release/heimdal-1.5.2/lib/hdb/hdb.h
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/man/man3/HDB.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/man/man3/HDB.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/man/man3/HDB.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "HDB" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalhdblibrary" \" -*- nroff -*- +.TH "HDB" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalhdblibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hdb/man/man3/hdb_entry_ex.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hdb/man/man3/hdb_entry_ex.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hdb/man/man3/hdb_entry_ex.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hdb_entry_ex" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalhdblibrary" \" -*- nroff -*- +.TH "hdb_entry_ex" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalhdblibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/graph_legend.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/graph_legend.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/graph_legend.html Sun Apr 8 04:47:53 2012 (r234016) @@ -83,6 +83,6 @@ A yellow dashed arrow denotes a relation
    -Generated on Fri Sep 30 15:26:14 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509.html Sun Apr 8 04:47:53 2012 (r234016) @@ -84,6 +84,6 @@ Creates a hx509 context that most functi


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__ca.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__ca.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__ca.html Sun Apr 8 04:47:53 2012 (r234016) @@ -1174,6 +1174,6 @@ Make of template units, use to build fla


    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__cert.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__cert.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__cert.html Sun Apr 8 04:47:53 2012 (r234016) @@ -1420,6 +1420,6 @@ Verify that the certificate is allowed t


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__cms.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__cms.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__cms.html Sun Apr 8 04:47:53 2012 (r234016) @@ -499,6 +499,6 @@ Wrap data and oid in a ContentInfo and e


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__crypto.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__crypto.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__crypto.html Sun Apr 8 04:47:53 2012 (r234016) @@ -87,6 +87,6 @@ Verify a signature made using the privat


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__env.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__env.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__env.html Sun Apr 8 04:47:53 2012 (r234016) @@ -306,6 +306,6 @@ Search the hx509_env for a length based


    -Generated on Fri Sep 30 15:26:14 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__error.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__error.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__error.html Sun Apr 8 04:47:53 2012 (r234016) @@ -303,6 +303,6 @@ Add an error message to the hx509 contex


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__keyset.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__keyset.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__keyset.html Sun Apr 8 04:47:53 2012 (r234016) @@ -776,6 +776,6 @@ Get one random certificate from the cert


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__lock.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__lock.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__lock.html Sun Apr 8 04:47:53 2012 (r234016) @@ -24,6 +24,6 @@ See the Locking and unlocking certificates and encrypted data. for description and examples.
    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__misc.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__misc.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__misc.html Sun Apr 8 04:47:53 2012 (r234016) @@ -83,6 +83,6 @@ Free a data element allocated in the lib


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__name.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__name.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__name.html Sun Apr 8 04:47:53 2012 (r234016) @@ -465,6 +465,6 @@ Convert a DER encoded name info a string


    -Generated on Fri Sep 30 15:26:12 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__peer.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__peer.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__peer.html Sun Apr 8 04:47:53 2012 (r234016) @@ -232,6 +232,6 @@ Set the algorithms that the peer support


    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__print.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__print.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__print.html Sun Apr 8 04:47:53 2012 (r234016) @@ -447,6 +447,6 @@ Set the printing functions for the valid


    -Generated on Fri Sep 30 15:26:14 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__query.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__query.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__query.html Sun Apr 8 04:47:53 2012 (r234016) @@ -24,6 +24,6 @@
    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__revoke.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__revoke.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__revoke.html Sun Apr 8 04:47:53 2012 (r234016) @@ -373,6 +373,6 @@ Check that a certificate is not expired


    -Generated on Fri Sep 30 15:26:12 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__verify.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__verify.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/group__hx509__verify.html Sun Apr 8 04:47:53 2012 (r234016) @@ -709,6 +709,6 @@ Set the clock time the the verification


    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/index.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/index.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/index.html Sun Apr 8 04:47:53 2012 (r234016) @@ -21,7 +21,7 @@

    Heimdal PKIX/X.509 library

    -

    1.5.1

    +

    1.5.2

    Introduction

    Heimdal libhx509 library is a implementation of the PKIX/X.509 and related protocols.

    PKIX/X.509 is ...

    @@ -30,6 +30,6 @@ Sections in this manual are:


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/modules.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/modules.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/modules.html Sun Apr 8 04:47:53 2012 (r234016) @@ -39,6 +39,6 @@
    -Generated on Fri Sep 30 15:26:14 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_ca.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_ca.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_ca.html Sun Apr 8 04:47:53 2012 (r234016) @@ -21,6 +21,6 @@

    Hx509 CA functions

    See the library functions here: hx509 CA functions

    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_cert.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_cert.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_cert.html Sun Apr 8 04:47:53 2012 (r234016) @@ -23,6 +23,6 @@ A hx509_cert object is usully found via the keyset interfaces (Certificate store operations), but its also possible to create a certificate directly from a parsed object with hx509_cert_init() and hx509_cert_init_data().

    See the library functions here: hx509 certificate functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_cms.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_cms.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_cms.html Sun Apr 8 04:47:53 2012 (r234016) @@ -25,6 +25,6 @@

    See the library functions here: hx509 CMS/pkcs7 functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_env.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_env.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_env.html Sun Apr 8 04:47:53 2012 (r234016) @@ -21,6 +21,6 @@
    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_error.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_error.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_error.html Sun Apr 8 04:47:53 2012 (r234016) @@ -21,6 +21,6 @@
    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_keyset.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_keyset.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_keyset.html Sun Apr 8 04:47:53 2012 (r234016) @@ -24,6 +24,6 @@

    See the library functions here: hx509 certificate store functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_lock.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_lock.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_lock.html Sun Apr 8 04:47:53 2012 (r234016) @@ -21,6 +21,6 @@
    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_name.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_name.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_name.html Sun Apr 8 04:47:53 2012 (r234016) @@ -27,6 +27,6 @@ Parse and string name into a hx509_name Name string are defined rfc2253, rfc1779 and X.501.

    See the library functions here: hx509 name functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_peer.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_peer.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_peer.html Sun Apr 8 04:47:53 2012 (r234016) @@ -22,6 +22,6 @@

    Hx509 crypto selecting functions

    Peer info structures are used togeter with hx509_crypto_select() to select the best avaible crypto algorithm to use.

    See the library functions here: hx509 certificate selecting functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_print.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_print.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_print.html Sun Apr 8 04:47:53 2012 (r234016) @@ -21,6 +21,6 @@

    Hx509 printing functions

    See the library functions here: hx509 printing functions

    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_revoke.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_revoke.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/page_revoke.html Sun Apr 8 04:47:53 2012 (r234016) @@ -23,6 +23,6 @@ CRL is a list of certifiates that have expired.

    OCSP is an online checking method where the requestor sends a list of certificates to the OCSP server to return a signed reply if they are valid or not. Some services sends a OCSP reply as part of the hand-shake to make the revoktion decision simpler/faster for the client.


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/pages.html ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/pages.html Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/html/pages.html Sun Apr 8 04:47:53 2012 (r234016) @@ -45,6 +45,6 @@
    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hx509 library" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 library" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_ca.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_ca.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_ca.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hx509 CA functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 CA functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_cert.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_cert.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_cert.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hx509 certificate functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 certificate functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_cms.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_cms.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_cms.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hx509 CMS/pkcs7 functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 CMS/pkcs7 functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_crypto.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_crypto.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_crypto.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hx509 crypto functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_env.3 ============================================================================== --- vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_env.3 Sun Apr 8 04:42:53 2012 (r234015) +++ vendor-crypto/heimdal/dist/doc/doxyout/hx509/man/man3/hx509_env.3 Sun Apr 8 04:47:53 2012 (r234016) @@ -1,4 +1,4 @@ -.TH "hx509 enviroment functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 enviroment functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:48:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DB5AA1065674; Sun, 8 Apr 2012 04:48:59 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ADD428FC1A; Sun, 8 Apr 2012 04: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 q384mxHZ093766; Sun, 8 Apr 2012 04:48:59 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q384mx01093765; Sun, 8 Apr 2012 04:48:59 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <201204080448.q384mx01093765@svn.freebsd.org> From: Stanislav Sedov Date: Sun, 8 Apr 2012 04:48:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234017 - vendor-crypto/heimdal/1.5.2 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:49:00 -0000 Author: stas Date: Sun Apr 8 04:48:59 2012 New Revision: 234017 URL: http://svn.freebsd.org/changeset/base/234017 Log: - Tag heimdal 1.5.2 import. Added: vendor-crypto/heimdal/1.5.2/ - copied from r234016, vendor-crypto/heimdal/dist/ From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:51:26 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1AE64106564A; Sun, 8 Apr 2012 04:51:26 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E16808FC08; Sun, 8 Apr 2012 04:51: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 q384pP3o093889; Sun, 8 Apr 2012 04:51:25 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q384pPEW093886; Sun, 8 Apr 2012 04:51:25 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204080451.q384pPEW093886@svn.freebsd.org> From: Adrian Chadd Date: Sun, 8 Apr 2012 04:51:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234018 - head/sys/net80211 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:51:26 -0000 Author: adrian Date: Sun Apr 8 04:51:25 2012 New Revision: 234018 URL: http://svn.freebsd.org/changeset/base/234018 Log: Add some statistics to track BAR TX. Modified: head/sys/net80211/ieee80211_ht.c head/sys/net80211/ieee80211_ioctl.h Modified: head/sys/net80211/ieee80211_ht.c ============================================================================== --- head/sys/net80211/ieee80211_ht.c Sun Apr 8 04:48:59 2012 (r234017) +++ head/sys/net80211/ieee80211_ht.c Sun Apr 8 04:51:25 2012 (r234018) @@ -2182,10 +2182,13 @@ bar_timeout(void *arg) if ((tap->txa_flags & IEEE80211_AGGR_BARPEND) == 0) return; /* XXX ? */ - if (tap->txa_attempts >= ieee80211_bar_maxtries) + if (tap->txa_attempts >= ieee80211_bar_maxtries) { + ni->ni_vap->iv_stats.is_ampdu_bar_tx_fail++; ieee80211_ampdu_stop(ni, tap, IEEE80211_REASON_TIMEOUT); - else + } else { + ni->ni_vap->iv_stats.is_ampdu_bar_tx_retry++; ieee80211_send_bar(ni, tap, tap->txa_seqpending); + } } static void @@ -2210,6 +2213,7 @@ bar_tx_complete(struct ieee80211_node *n __func__, tap->txa_ac, tap->txa_flags, callout_pending(&tap->txa_timer), status); + ni->ni_vap->iv_stats.is_ampdu_bar_tx++; /* XXX locking */ if ((tap->txa_flags & IEEE80211_AGGR_BARPEND) && callout_pending(&tap->txa_timer)) { @@ -2325,6 +2329,7 @@ ieee80211_send_bar(struct ieee80211_node if (ret != 0) { /* xmit failed, clear state flag */ tap->txa_flags &= ~IEEE80211_AGGR_BARPEND; + vap->iv_stats.is_ampdu_bar_tx_fail++; return ret; } /* XXX hack against tx complete happening before timer is started */ @@ -2332,6 +2337,7 @@ ieee80211_send_bar(struct ieee80211_node bar_start_timer(tap); return 0; bad: + vap->iv_stats.is_ampdu_bar_tx_fail++; ieee80211_free_node(ni); return ret; #undef senderr Modified: head/sys/net80211/ieee80211_ioctl.h ============================================================================== --- head/sys/net80211/ieee80211_ioctl.h Sun Apr 8 04:48:59 2012 (r234017) +++ head/sys/net80211/ieee80211_ioctl.h Sun Apr 8 04:51:25 2012 (r234018) @@ -242,8 +242,11 @@ struct ieee80211_stats { uint32_t is_rx_badalign; /* dropped 'cuz misaligned */ uint32_t is_hwmp_proxy; /* PREP for proxy route */ uint32_t is_beacon_bad; /* Number of bad beacons */ - - uint32_t is_spare[10]; + uint32_t is_ampdu_bar_tx; /* A-MPDU BAR frames TXed */ + uint32_t is_ampdu_bar_tx_retry; /* A-MPDU BAR frames TX rtry */ + uint32_t is_ampdu_bar_tx_fail; /* A-MPDU BAR frames TX fail */ + + uint32_t is_spare[7]; }; /* From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 04:51:44 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89C0110656AE; Sun, 8 Apr 2012 04:51:44 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 74F208FC12; Sun, 8 Apr 2012 04:51:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q384piFF093934; Sun, 8 Apr 2012 04:51:44 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q384piWh093932; Sun, 8 Apr 2012 04:51:44 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204080451.q384piWh093932@svn.freebsd.org> From: Adrian Chadd Date: Sun, 8 Apr 2012 04:51:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234019 - head/tools/tools/net80211/wlanstats X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:51:44 -0000 Author: adrian Date: Sun Apr 8 04:51:43 2012 New Revision: 234019 URL: http://svn.freebsd.org/changeset/base/234019 Log: Teach wlanstats about the new BAR TX statistics. Modified: head/tools/tools/net80211/wlanstats/wlanstats.c Modified: head/tools/tools/net80211/wlanstats/wlanstats.c ============================================================================== --- head/tools/tools/net80211/wlanstats/wlanstats.c Sun Apr 8 04:51:25 2012 (r234018) +++ head/tools/tools/net80211/wlanstats/wlanstats.c Sun Apr 8 04:51:43 2012 (r234019) @@ -372,6 +372,12 @@ static const struct fmt wlanstats[] = { { 5, "signal", "sig", "current signal (dBm)" }, #define S_BEACON_BAD AFTER(S_SIGNAL) { 9, "beacon_bad", "beaconbad", "bad beacons received" }, +#define S_AMPDU_BARTX AFTER(S_BEACON_BAD) + { 5, "ampdu_bartx", "bartx", "BAR frames sent" }, +#define S_AMPDU_BARTX_FAIL AFTER(S_AMPDU_BARTX) + { 9, "ampdu_bartxfail", "bartx_fail", "BAR frames failed to send" }, +#define S_AMPDU_BARTX_RETRY AFTER(S_AMPDU_BARTX_FAIL) + { 10, "ampdu_bartxretry", "bartx_retry", "BAR frames retried" }, }; struct wlanstatfoo_p { @@ -817,6 +823,9 @@ wlan_get_curstat(struct statfoo *sf, int case S_TX_UCAST: NSTAT(tx_ucast); case S_TX_MCAST: NSTAT(tx_mcast); case S_BEACON_BAD: STAT(beacon_bad); + case S_AMPDU_BARTX: STAT(ampdu_bar_tx); + case S_AMPDU_BARTX_RETRY: STAT(ampdu_bar_tx_retry); + case S_AMPDU_BARTX_FAIL: STAT(ampdu_bar_tx_fail); } return wlan_getinfo(wf, s, b, bs); #undef NSTAT @@ -976,6 +985,9 @@ wlan_get_totstat(struct statfoo *sf, int case S_TX_UCAST: NSTAT(tx_ucast); case S_TX_MCAST: NSTAT(tx_mcast); case S_BEACON_BAD: STAT(beacon_bad); + case S_AMPDU_BARTX: STAT(ampdu_bar_tx); + case S_AMPDU_BARTX_RETRY: STAT(ampdu_bar_tx_retry); + case S_AMPDU_BARTX_FAIL: STAT(ampdu_bar_tx_fail); } return wlan_getinfo(wf, s, b, bs); #undef NSTAT From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 05:03:47 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 359CA106564A; Sun, 8 Apr 2012 05:03:47 +0000 (UTC) (envelope-from kensmith@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1FA848FC08; Sun, 8 Apr 2012 05:03:47 +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 q3853kSX094378; Sun, 8 Apr 2012 05:03:46 GMT (envelope-from kensmith@svn.freebsd.org) Received: (from kensmith@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3853kP4094376; Sun, 8 Apr 2012 05:03:46 GMT (envelope-from kensmith@svn.freebsd.org) Message-Id: <201204080503.q3853kP4094376@svn.freebsd.org> From: Ken Smith Date: Sun, 8 Apr 2012 05:03:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234020 - stable/8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 05:03:47 -0000 Author: kensmith Date: Sun Apr 8 05:03:46 2012 New Revision: 234020 URL: http://svn.freebsd.org/changeset/base/234020 Log: Guess at when we will be able to announce 8.3-RELEASE. Modified: stable/8/UPDATING Modified: stable/8/UPDATING ============================================================================== --- stable/8/UPDATING Sun Apr 8 04:51:43 2012 (r234019) +++ stable/8/UPDATING Sun Apr 8 05:03:46 2012 (r234020) @@ -15,6 +15,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. debugging tools present in HEAD were left in place because sun4v support still needs work to become production ready. +20120411: + 8.3-RELEASE. + 20120106: A new VOP_ADVISE() was added to support posix_fadvise(2). All filesystem modules must be recompiled. From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 05:07:40 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9FC0A106566B; Sun, 8 Apr 2012 05:07:40 +0000 (UTC) (envelope-from kensmith@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8B86E8FC08; Sun, 8 Apr 2012 05:07:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3857e2F094539; Sun, 8 Apr 2012 05:07:40 GMT (envelope-from kensmith@svn.freebsd.org) Received: (from kensmith@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3857eTH094537; Sun, 8 Apr 2012 05:07:40 GMT (envelope-from kensmith@svn.freebsd.org) Message-Id: <201204080507.q3857eTH094537@svn.freebsd.org> From: Ken Smith Date: Sun, 8 Apr 2012 05:07:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234021 - releng/8.3 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 05:07:40 -0000 Author: kensmith Date: Sun Apr 8 05:07:40 2012 New Revision: 234021 URL: http://svn.freebsd.org/changeset/base/234021 Log: MFS r234020: > Guess at when we will be able to announce 8.3-RELEASE. Approved by: re (implicit) Modified: releng/8.3/UPDATING (contents, props changed) Directory Properties: releng/8.3/ (props changed) Modified: releng/8.3/UPDATING ============================================================================== --- releng/8.3/UPDATING Sun Apr 8 05:03:46 2012 (r234020) +++ releng/8.3/UPDATING Sun Apr 8 05:07:40 2012 (r234021) @@ -15,6 +15,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. debugging tools present in HEAD were left in place because sun4v support still needs work to become production ready. +20120411: + 8.3-RELEASE. + 20120106: A new VOP_ADVISE() was added to support posix_fadvise(2). All filesystem modules must be recompiled. From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 05:09:41 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17379106566C; Sun, 8 Apr 2012 05:09:41 +0000 (UTC) (envelope-from kensmith@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 031C38FC0C; Sun, 8 Apr 2012 05:09:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3859esj094633; Sun, 8 Apr 2012 05:09:40 GMT (envelope-from kensmith@svn.freebsd.org) Received: (from kensmith@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3859er3094631; Sun, 8 Apr 2012 05:09:40 GMT (envelope-from kensmith@svn.freebsd.org) Message-Id: <201204080509.q3859er3094631@svn.freebsd.org> From: Ken Smith Date: Sun, 8 Apr 2012 05:09:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234022 - releng/8.3/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 05:09:41 -0000 Author: kensmith Date: Sun Apr 8 05:09:40 2012 New Revision: 234022 URL: http://svn.freebsd.org/changeset/base/234022 Log: Ready for 8.3-RELEASE builds to start. Approved by: re (implicit) Modified: releng/8.3/sys/conf/newvers.sh Modified: releng/8.3/sys/conf/newvers.sh ============================================================================== --- releng/8.3/sys/conf/newvers.sh Sun Apr 8 05:07:40 2012 (r234021) +++ releng/8.3/sys/conf/newvers.sh Sun Apr 8 05:09:40 2012 (r234022) @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="8.3" -BRANCH="RC2" +BRANCH="RELEASE" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 05:36:41 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0CA4E1065674; Sun, 8 Apr 2012 05:36:41 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EBE738FC0C; Sun, 8 Apr 2012 05:36:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q385aeZb095514; Sun, 8 Apr 2012 05:36:40 GMT (envelope-from pfg@svn.freebsd.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q385aer2095511; Sun, 8 Apr 2012 05:36:40 GMT (envelope-from pfg@svn.freebsd.org) Message-Id: <201204080536.q385aer2095511@svn.freebsd.org> From: "Pedro F. Giffuni" Date: Sun, 8 Apr 2012 05:36:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234023 - stable/9/contrib/gcc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 05:36:41 -0000 Author: pfg Date: Sun Apr 8 05:36:40 2012 New Revision: 234023 URL: http://svn.freebsd.org/changeset/base/234023 Log: MFC: r233923 Fix a typo in GCC affecting calculations with -ffast-math. The fix is similar to the one applied in GCC-4.3 in GCCSVN-r117929 under the GPLv2. Submitted by: Andrey Simonenko Reviewed by: mm Approved by: jhb (mentor) Modified: stable/9/contrib/gcc/ChangeLog.gcc43 stable/9/contrib/gcc/builtins.c Directory Properties: stable/9/contrib/gcc/ (props changed) Modified: stable/9/contrib/gcc/ChangeLog.gcc43 ============================================================================== --- stable/9/contrib/gcc/ChangeLog.gcc43 Sun Apr 8 05:09:40 2012 (r234022) +++ stable/9/contrib/gcc/ChangeLog.gcc43 Sun Apr 8 05:36:40 2012 (r234023) @@ -169,3 +169,8 @@ * doc/extend.texi: Document SSSE3 built-in functions. * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches. + +2006-10-21 Richard Guenther + + * builtins.c (fold_builtin_classify): Fix typo. + Modified: stable/9/contrib/gcc/builtins.c ============================================================================== --- stable/9/contrib/gcc/builtins.c Sun Apr 8 05:09:40 2012 (r234022) +++ stable/9/contrib/gcc/builtins.c Sun Apr 8 05:36:40 2012 (r234023) @@ -8738,7 +8738,7 @@ fold_builtin_classify (tree fndecl, tree case BUILT_IN_FINITE: if (!HONOR_NANS (TYPE_MODE (TREE_TYPE (arg))) && !HONOR_INFINITIES (TYPE_MODE (TREE_TYPE (arg)))) - return omit_one_operand (type, integer_zero_node, arg); + return omit_one_operand (type, integer_one_node, arg); if (TREE_CODE (arg) == REAL_CST) { From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 06:14:50 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 98865106564A; Sun, 8 Apr 2012 06:14:50 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 831E88FC12; Sun, 8 Apr 2012 06:14:50 +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 q386EoVF096738; Sun, 8 Apr 2012 06:14:50 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q386EovR096736; Sun, 8 Apr 2012 06:14:50 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201204080614.q386EovR096736@svn.freebsd.org> From: Kirk McKusick Date: Sun, 8 Apr 2012 06:14:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234024 - head/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 06:14:50 -0000 Author: mckusick Date: Sun Apr 8 06:14:49 2012 New Revision: 234024 URL: http://svn.freebsd.org/changeset/base/234024 Log: Drop an unnecessary setting of si_mountpt when updating a UFS mount point. Clearly it must have been set when the mount was done. Reviewed by: kib Modified: head/sys/ufs/ffs/ffs_vfsops.c Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Sun Apr 8 05:36:40 2012 (r234023) +++ head/sys/ufs/ffs/ffs_vfsops.c Sun Apr 8 06:14:49 2012 (r234024) @@ -407,8 +407,6 @@ ffs_mount(struct mount *mp) vn_finished_write(mp); return (error); } - if (devvp->v_type == VCHR && devvp->v_rdev != NULL) - devvp->v_rdev->si_mountpt = mp; if (fs->fs_snapinum[0] != 0) ffs_snapshot_mount(mp); vn_finished_write(mp); From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 06:18:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3C349106566B; Sun, 8 Apr 2012 06:18:19 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 277BD8FC12; Sun, 8 Apr 2012 06:18:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q386IJMi096879; Sun, 8 Apr 2012 06:18:19 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q386IIqU096877; Sun, 8 Apr 2012 06:18:18 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201204080618.q386IIqU096877@svn.freebsd.org> From: Kirk McKusick Date: Sun, 8 Apr 2012 06:18:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234025 - head/sys/fs/msdosfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 06:18:19 -0000 Author: mckusick Date: Sun Apr 8 06:18:18 2012 New Revision: 234025 URL: http://svn.freebsd.org/changeset/base/234025 Log: Add I/O accounting to msdos filesystem. Suggested and reviewed by: kib Modified: head/sys/fs/msdosfs/msdosfs_vfsops.c Modified: head/sys/fs/msdosfs/msdosfs_vfsops.c ============================================================================== --- head/sys/fs/msdosfs/msdosfs_vfsops.c Sun Apr 8 06:14:49 2012 (r234024) +++ head/sys/fs/msdosfs/msdosfs_vfsops.c Sun Apr 8 06:18:18 2012 (r234025) @@ -401,6 +401,8 @@ msdosfs_mount(struct mount *mp) return error; } + if (devvp->v_type == VCHR && devvp->v_rdev != NULL) + devvp->v_rdev->si_mountpt = mp; vfs_mountedfrom(mp, from); #ifdef MSDOSFS_DEBUG printf("msdosfs_mount(): mp %p, pmp %p, inusemap %p\n", mp, pmp, pmp->pm_inusemap); @@ -843,6 +845,8 @@ msdosfs_unmount(struct mount *mp, int mn } #endif DROP_GIANT(); + if (pmp->pm_devvp->v_type == VCHR && pmp->pm_devvp->v_rdev != NULL) + pmp->pm_devvp->v_rdev->si_mountpt = NULL; g_topology_lock(); g_vfs_close(pmp->pm_cp); g_topology_unlock(); From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 06:20:22 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 164DC106566B; Sun, 8 Apr 2012 06:20:22 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 021D58FC0C; Sun, 8 Apr 2012 06:20:22 +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 q386KLPW096982; Sun, 8 Apr 2012 06:20:21 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q386KL2E096980; Sun, 8 Apr 2012 06:20:21 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201204080620.q386KL2E096980@svn.freebsd.org> From: Kirk McKusick Date: Sun, 8 Apr 2012 06:20:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234026 - head/sys/geom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 06:20:22 -0000 Author: mckusick Date: Sun Apr 8 06:20:21 2012 New Revision: 234026 URL: http://svn.freebsd.org/changeset/base/234026 Log: Expand locking around identification of filesystem mount point when accounting for I/O counts at completion of I/O operation. Also switch from using global devmtx to vnode mutex to reduce contention. Suggested and reviewed by: kib Modified: head/sys/geom/geom_vfs.c Modified: head/sys/geom/geom_vfs.c ============================================================================== --- head/sys/geom/geom_vfs.c Sun Apr 8 06:18:18 2012 (r234025) +++ head/sys/geom/geom_vfs.c Sun Apr 8 06:20:21 2012 (r234026) @@ -97,6 +97,7 @@ g_vfs_done(struct bio *bip) int vfslocked, destroy; struct mount *mp; struct vnode *vp; + struct cdev *cdevp; /* * Collect statistics on synchronous and asynchronous read @@ -106,12 +107,23 @@ g_vfs_done(struct bio *bip) */ bp = bip->bio_caller2; vp = bp->b_vp; - if (vp == NULL) + if (vp == NULL) { mp = NULL; - else if (vn_isdisk(vp, NULL)) - mp = vp->v_rdev->si_mountpt; - else - mp = vp->v_mount; + } else { + /* + * If not a disk vnode, use its associated mount point + * otherwise use the mountpoint associated with the disk. + */ + VI_LOCK(vp); + if (vp->v_type != VCHR || + (cdevp = vp->v_rdev) == NULL || + cdevp->si_devsw == NULL || + (cdevp->si_devsw->d_flags & D_DISK) == 0) + mp = vp->v_mount; + else + mp = cdevp->si_mountpt; + VI_UNLOCK(vp); + } if (mp != NULL) { if (bp->b_iocmd == BIO_WRITE) { if (LK_HOLDER(bp->b_lock.lk_lock) == LK_KERNPROC) From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 08:19:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C88EB106564A; Sun, 8 Apr 2012 08:19:19 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AD8B98FC12; Sun, 8 Apr 2012 08:19:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q388JJJt001782; Sun, 8 Apr 2012 08:19:19 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q388JH3H001687; Sun, 8 Apr 2012 08:19:17 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <201204080819.q388JH3H001687@svn.freebsd.org> From: Stanislav Sedov Date: Sun, 8 Apr 2012 08:19:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234027 - in head: crypto/heimdal crypto/heimdal/appl/telnet/libtelnet crypto/heimdal/doc crypto/heimdal/doc/doxyout/gssapi/html crypto/heimdal/doc/doxyout/gssapi/man/man3 crypto/heimda... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 08:19:19 -0000 Author: stas Date: Sun Apr 8 08:19:17 2012 New Revision: 234027 URL: http://svn.freebsd.org/changeset/base/234027 Log: - Update FreeBSD's Heimdal distribution to 1.5.2. This is a bugfix release, which fixes a DoS issue in libkrb5. Modified: head/crypto/heimdal/NEWS head/crypto/heimdal/appl/telnet/libtelnet/encrypt.c head/crypto/heimdal/configure head/crypto/heimdal/doc/doxyout/gssapi/html/graph_legend.html head/crypto/heimdal/doc/doxyout/gssapi/html/group__gssapi.html head/crypto/heimdal/doc/doxyout/gssapi/html/gssapi_mechs_intro.html head/crypto/heimdal/doc/doxyout/gssapi/html/gssapi_services_intro.html head/crypto/heimdal/doc/doxyout/gssapi/html/index.html head/crypto/heimdal/doc/doxyout/gssapi/html/internalvsmechname.html head/crypto/heimdal/doc/doxyout/gssapi/html/modules.html head/crypto/heimdal/doc/doxyout/gssapi/html/pages.html head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi.3 head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi_mechs_intro.3 head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi_services_intro.3 head/crypto/heimdal/doc/doxyout/gssapi/man/man3/internalvsmechname.3 head/crypto/heimdal/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html head/crypto/heimdal/doc/doxyout/hcrypto/html/examples.html head/crypto/heimdal/doc/doxyout/hcrypto/html/graph_legend.html head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__core.html head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__des.html head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__dh.html head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__evp.html head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__misc.html head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__rand.html head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html head/crypto/heimdal/doc/doxyout/hcrypto/html/index.html head/crypto/heimdal/doc/doxyout/hcrypto/html/modules.html head/crypto/heimdal/doc/doxyout/hcrypto/html/page_des.html head/crypto/heimdal/doc/doxyout/hcrypto/html/page_dh.html head/crypto/heimdal/doc/doxyout/hcrypto/html/page_evp.html head/crypto/heimdal/doc/doxyout/hcrypto/html/page_rand.html head/crypto/heimdal/doc/doxyout/hcrypto/html/page_rsa.html head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_des.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_dh.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_evp.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_rand.3 head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_rsa.3 head/crypto/heimdal/doc/doxyout/hdb/html/annotated.html head/crypto/heimdal/doc/doxyout/hdb/html/functions.html head/crypto/heimdal/doc/doxyout/hdb/html/functions_vars.html head/crypto/heimdal/doc/doxyout/hdb/html/graph_legend.html head/crypto/heimdal/doc/doxyout/hdb/html/index.html head/crypto/heimdal/doc/doxyout/hdb/html/struct_h_d_b.html head/crypto/heimdal/doc/doxyout/hdb/html/structhdb__entry__ex.html head/crypto/heimdal/doc/doxyout/hdb/man/man3/HDB.3 head/crypto/heimdal/doc/doxyout/hdb/man/man3/hdb_entry_ex.3 head/crypto/heimdal/doc/doxyout/hx509/html/graph_legend.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__ca.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__cert.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__cms.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__crypto.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__env.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__error.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__keyset.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__lock.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__misc.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__name.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__peer.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__print.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__query.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__revoke.html head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__verify.html head/crypto/heimdal/doc/doxyout/hx509/html/index.html head/crypto/heimdal/doc/doxyout/hx509/html/modules.html head/crypto/heimdal/doc/doxyout/hx509/html/page_ca.html head/crypto/heimdal/doc/doxyout/hx509/html/page_cert.html head/crypto/heimdal/doc/doxyout/hx509/html/page_cms.html head/crypto/heimdal/doc/doxyout/hx509/html/page_env.html head/crypto/heimdal/doc/doxyout/hx509/html/page_error.html head/crypto/heimdal/doc/doxyout/hx509/html/page_keyset.html head/crypto/heimdal/doc/doxyout/hx509/html/page_lock.html head/crypto/heimdal/doc/doxyout/hx509/html/page_name.html head/crypto/heimdal/doc/doxyout/hx509/html/page_peer.html head/crypto/heimdal/doc/doxyout/hx509/html/page_print.html head/crypto/heimdal/doc/doxyout/hx509/html/page_revoke.html head/crypto/heimdal/doc/doxyout/hx509/html/pages.html head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_cert.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_cms.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_crypto.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_error.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_keyset.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_lock.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_misc.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_name.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_peer.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_print.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_query.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_revoke.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_verify.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_ca.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_cert.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_cms.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_env.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_error.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_keyset.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_lock.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_name.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_peer.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_print.3 head/crypto/heimdal/doc/doxyout/hx509/man/man3/page_revoke.3 head/crypto/heimdal/doc/doxyout/krb5/html/annotated.html head/crypto/heimdal/doc/doxyout/krb5/html/graph_legend.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__address.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__auth.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__ccache.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__credential.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__crypto.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__deprecated.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__digest.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__error.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__keytab.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__pac.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__principal.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__storage.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__support.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__ticket.html head/crypto/heimdal/doc/doxyout/krb5/html/group__krb5__v4compat.html head/crypto/heimdal/doc/doxyout/krb5/html/index.html head/crypto/heimdal/doc/doxyout/krb5/html/krb5_ccache_intro.html head/crypto/heimdal/doc/doxyout/krb5/html/krb5_fileformats.html head/crypto/heimdal/doc/doxyout/krb5/html/krb5_init_creds_intro.html head/crypto/heimdal/doc/doxyout/krb5/html/krb5_introduction.html head/crypto/heimdal/doc/doxyout/krb5/html/krb5_keytab_intro.html head/crypto/heimdal/doc/doxyout/krb5/html/krb5_principal_intro.html head/crypto/heimdal/doc/doxyout/krb5/html/modules.html head/crypto/heimdal/doc/doxyout/krb5/html/pages.html head/crypto/heimdal/doc/doxyout/krb5/html/structkrb5__crypto__iov.html head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_address.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_auth.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ccache_intro.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_credential.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_crypto.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_crypto_iov.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_deprecated.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_digest.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_error.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_fileformats.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_init_creds_intro.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_introduction.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_keytab.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_keytab_intro.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_pac.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_principal_intro.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_storage.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_support.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_ticket.3 head/crypto/heimdal/doc/doxyout/krb5/man/man3/krb5_v4compat.3 head/crypto/heimdal/doc/doxyout/ntlm/html/annotated.html head/crypto/heimdal/doc/doxyout/ntlm/html/examples.html head/crypto/heimdal/doc/doxyout/ntlm/html/functions.html head/crypto/heimdal/doc/doxyout/ntlm/html/functions_vars.html head/crypto/heimdal/doc/doxyout/ntlm/html/graph_legend.html head/crypto/heimdal/doc/doxyout/ntlm/html/group__ntlm__core.html head/crypto/heimdal/doc/doxyout/ntlm/html/index.html head/crypto/heimdal/doc/doxyout/ntlm/html/modules.html head/crypto/heimdal/doc/doxyout/ntlm/html/structntlm__buf.html head/crypto/heimdal/doc/doxyout/ntlm/html/structntlm__type1.html head/crypto/heimdal/doc/doxyout/ntlm/html/structntlm__type2.html head/crypto/heimdal/doc/doxyout/ntlm/html/structntlm__type3.html head/crypto/heimdal/doc/doxyout/ntlm/html/test__ntlm_8c-example.html head/crypto/heimdal/doc/doxyout/ntlm/man/man3/ntlm_buf.3 head/crypto/heimdal/doc/doxyout/ntlm/man/man3/ntlm_core.3 head/crypto/heimdal/doc/doxyout/ntlm/man/man3/ntlm_type1.3 head/crypto/heimdal/doc/doxyout/ntlm/man/man3/ntlm_type2.3 head/crypto/heimdal/doc/doxyout/ntlm/man/man3/ntlm_type3.3 head/crypto/heimdal/doc/doxyout/wind/html/graph_legend.html head/crypto/heimdal/doc/doxyout/wind/html/group__wind.html head/crypto/heimdal/doc/doxyout/wind/html/index.html head/crypto/heimdal/doc/doxyout/wind/html/modules.html head/crypto/heimdal/doc/doxyout/wind/man/man3/wind.3 head/crypto/heimdal/doc/heimdal.texi head/crypto/heimdal/doc/intro.texi head/crypto/heimdal/doc/kerberos4.texi head/crypto/heimdal/doc/setup.texi head/crypto/heimdal/doc/vars.texi head/crypto/heimdal/kdc/default_config.c head/crypto/heimdal/kdc/kdc.8 head/crypto/heimdal/kdc/kdc.h head/crypto/heimdal/kdc/kerberos5.c head/crypto/heimdal/kdc/krb5tgs.c head/crypto/heimdal/kpasswd/kpasswdd.c head/crypto/heimdal/lib/gssapi/krb5/verify_mic.c head/crypto/heimdal/lib/hx509/sel-lex.l head/crypto/heimdal/lib/kadm5/password_quality.c head/crypto/heimdal/lib/krb5/crypto-arcfour.c head/crypto/heimdal/lib/krb5/crypto.c head/crypto/heimdal/lib/krb5/eai_to_heim_errno.c head/crypto/heimdal/lib/krb5/krb5.conf.5 head/crypto/heimdal/lib/krb5/pac.c head/crypto/heimdal/lib/krb5/verify_krb5_conf.c head/crypto/heimdal/lib/wind/bidi_table.c head/crypto/heimdal/lib/wind/bidi_table.h head/crypto/heimdal/lib/wind/combining_table.c head/crypto/heimdal/lib/wind/combining_table.h head/crypto/heimdal/lib/wind/errorlist_table.c head/crypto/heimdal/lib/wind/errorlist_table.h head/crypto/heimdal/lib/wind/map_table.c head/crypto/heimdal/lib/wind/map_table.h head/crypto/heimdal/lib/wind/normalize_table.c head/crypto/heimdal/lib/wind/normalize_table.h head/crypto/heimdal/lib/wind/punycode_examples.c head/crypto/heimdal/lib/wind/punycode_examples.h head/crypto/heimdal/lib/wind/utf8.c head/crypto/heimdal/lib/wind/version-script.map head/crypto/heimdal/tools/krb5-config.in head/kerberos5/include/config.h head/kerberos5/include/version.h Directory Properties: head/crypto/heimdal/ (props changed) Modified: head/crypto/heimdal/NEWS ============================================================================== --- head/crypto/heimdal/NEWS Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/NEWS Sun Apr 8 08:19:17 2012 (r234027) @@ -1,3 +1,16 @@ +Release Notes - Heimdal - Version Heimdal 1.5.2 + + Security fixes + - CVE-2011-4862 Buffer overflow in libtelnet/encrypt.c in telnetd - escalation of privilege + - Check that key types strictly match - denial of service + +Release Notes - Heimdal - Version Heimdal 1.5.1 + + Bug fixes + - Fix building on Solaris, requires c99 + - Fix building on Windows + - Build system updates + Release Notes - Heimdal - Version Heimdal 1.5 New features Modified: head/crypto/heimdal/appl/telnet/libtelnet/encrypt.c ============================================================================== --- head/crypto/heimdal/appl/telnet/libtelnet/encrypt.c Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/appl/telnet/libtelnet/encrypt.c Sun Apr 8 08:19:17 2012 (r234027) @@ -737,7 +737,7 @@ encrypt_keyid(struct key_info *kp, unsig int ret = 0; if (len > MAXKEYLEN) - len = MAXKEYLEN; + len = MAXKEYLEN; if (!(ep = (*kp->getcrypt)(*kp->modep))) { if (len == 0) Modified: head/crypto/heimdal/configure ============================================================================== --- head/crypto/heimdal/configure Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/configure Sun Apr 8 08:19:17 2012 (r234027) @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for Heimdal 1.5.1. +# Generated by GNU Autoconf 2.65 for Heimdal 1.5.2. # # Report bugs to . # @@ -563,8 +563,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Heimdal' PACKAGE_TARNAME='heimdal' -PACKAGE_VERSION='1.5.1' -PACKAGE_STRING='Heimdal 1.5.1' +PACKAGE_VERSION='1.5.2' +PACKAGE_STRING='Heimdal 1.5.2' PACKAGE_BUGREPORT='heimdal-bugs@h5l.org' PACKAGE_URL='' @@ -1535,7 +1535,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Heimdal 1.5.1 to adapt to many kinds of systems. +\`configure' configures Heimdal 1.5.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1609,7 +1609,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Heimdal 1.5.1:";; + short | recursive ) echo "Configuration of Heimdal 1.5.2:";; esac cat <<\_ACEOF @@ -1798,7 +1798,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Heimdal configure 1.5.1 +Heimdal configure 1.5.2 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2252,7 +2252,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Heimdal $as_me 1.5.1, which was +It was created by Heimdal $as_me 1.5.2, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -3068,7 +3068,7 @@ fi # Define the identity of the package. PACKAGE='heimdal' - VERSION='1.5.1' + VERSION='1.5.2' cat >>confdefs.h <<_ACEOF @@ -29246,7 +29246,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Heimdal $as_me 1.5.1, which was +This file was extended by Heimdal $as_me 1.5.2, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -29312,7 +29312,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Heimdal config.status 1.5.1 +Heimdal config.status 1.5.2 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" @@ -31284,7 +31284,7 @@ cat > include/newversion.h.in <
    -Generated on Fri Sep 30 15:26:17 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:44 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/gssapi/html/group__gssapi.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/html/group__gssapi.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/html/group__gssapi.html Sun Apr 8 08:19:17 2012 (r234027) @@ -887,6 +887,6 @@ SSPI equivalent if this function is Quer


    -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:44 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/gssapi/html/gssapi_mechs_intro.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/html/gssapi_mechs_intro.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/html/gssapi_mechs_intro.html Sun Apr 8 08:19:17 2012 (r234027) @@ -25,6 +25,6 @@ GSS-API mechanisms
  • Kerberos 5 - GSS_KRB5_MECHANISM
  • SPNEGO - GSS_SPNEGO_MECHANISM
  • NTLM - GSS_NTLM_MECHANISM

  • -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/gssapi/html/gssapi_services_intro.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/html/gssapi_services_intro.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/html/gssapi_services_intro.html Sun Apr 8 08:19:17 2012 (r234027) @@ -38,6 +38,6 @@ Per-message services
  • conf
  • int
  • message integrity
  • replay detection
  • out of sequence

  • -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/gssapi/html/index.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/html/index.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/html/index.html Sun Apr 8 08:19:17 2012 (r234027) @@ -21,7 +21,7 @@

    Heimdal GSS-API Library

    -

    1.5.1

    Heimdal implements the following mechanisms:

    +

    1.5.2

    Heimdal implements the following mechanisms:

    • Kerberos 5
    • SPNEGO
    • NTLM

    @@ -31,6 +31,6 @@ The project web page: Introduction to GSS-API services

  • GSS-API mechanisms
  • Name forms

  • -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/gssapi/html/internalvsmechname.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/html/internalvsmechname.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/html/internalvsmechname.html Sun Apr 8 08:19:17 2012 (r234027) @@ -31,6 +31,6 @@ There are two forms of name in GSS-API, There is also special form of the Internal Name (IN), and that is the Mechanism Name (MN). In the mechanism name all the generic information is stripped of and only contain the information for one mechanism. In GSS-API some function return MN and some require MN as input. Each of these function is marked up as such.

    Describe relationship between import_name, canonicalize_name, export_name and friends.


    -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/gssapi/html/modules.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/html/modules.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/html/modules.html Sun Apr 8 08:19:17 2012 (r234027) @@ -24,6 +24,6 @@
    -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:44 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/gssapi/html/pages.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/html/pages.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/html/pages.html Sun Apr 8 08:19:17 2012 (r234027) @@ -29,6 +29,6 @@
    -Generated on Fri Sep 30 15:26:16 2011 for HeimdalGSS-APIlibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:43 2012 for HeimdalGSS-APIlibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "Heimdal GSS-API functions" 3 "30 Sep 2011" "Version 1.5.1" "HeimdalGSS-APIlibrary" \" -*- nroff -*- +.TH "Heimdal GSS-API functions" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalGSS-APIlibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi_mechs_intro.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi_mechs_intro.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi_mechs_intro.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "gssapi_mechs_intro" 3 "30 Sep 2011" "Version 1.5.1" "HeimdalGSS-APIlibrary" \" -*- nroff -*- +.TH "gssapi_mechs_intro" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalGSS-APIlibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi_services_intro.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi_services_intro.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/man/man3/gssapi_services_intro.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "gssapi_services_intro" 3 "30 Sep 2011" "Version 1.5.1" "HeimdalGSS-APIlibrary" \" -*- nroff -*- +.TH "gssapi_services_intro" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalGSS-APIlibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/gssapi/man/man3/internalvsmechname.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/gssapi/man/man3/internalvsmechname.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/gssapi/man/man3/internalvsmechname.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "internalvsmechname" 3 "30 Sep 2011" "Version 1.5.1" "HeimdalGSS-APIlibrary" \" -*- nroff -*- +.TH "internalvsmechname" 3 "11 Jan 2012" "Version 1.5.2" "HeimdalGSS-APIlibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/example__evp__cipher_8c-example.html Sun Apr 8 08:19:17 2012 (r234027) @@ -168,6 +168,6 @@ main(int
    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/examples.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/examples.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/examples.html Sun Apr 8 08:19:17 2012 (r234027) @@ -24,6 +24,6 @@
    -Generated on Fri Sep 30 15:26:06 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/graph_legend.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/graph_legend.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/graph_legend.html Sun Apr 8 08:19:17 2012 (r234027) @@ -83,6 +83,6 @@ A yellow dashed arrow denotes a relation
    -Generated on Fri Sep 30 15:26:06 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__core.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__core.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__core.html Sun Apr 8 08:19:17 2012 (r234027) @@ -185,6 +185,6 @@ Add all algorithms to the crypto core, b


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__des.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__des.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__des.html Sun Apr 8 08:19:17 2012 (r234027) @@ -905,6 +905,6 @@ Convert a string to a DES key. Use somet


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__dh.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__dh.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__dh.html Sun Apr 8 08:19:17 2012 (r234027) @@ -576,6 +576,6 @@ Add a reference to the DH object. The ob


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__evp.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__evp.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__evp.html Sun Apr 8 08:19:17 2012 (r234027) @@ -2361,6 +2361,6 @@ The tripple DES cipher type (Micrsoft cr


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__misc.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__misc.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__misc.html Sun Apr 8 08:19:17 2012 (r234027) @@ -101,6 +101,6 @@ As descriped in PKCS5, convert a passwor


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__rand.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__rand.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__rand.html Sun Apr 8 08:19:17 2012 (r234027) @@ -420,6 +420,6 @@ Write of random numbers to a file to sto


    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/group__hcrypto__rsa.html Sun Apr 8 08:19:17 2012 (r234027) @@ -273,6 +273,6 @@ Add an extra reference to the RSA object


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/index.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/index.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/index.html Sun Apr 8 08:19:17 2012 (r234027) @@ -21,7 +21,7 @@

    Heimdal crypto library

    -

    1.5.1

    +

    1.5.2

    Introduction

    Heimdal libhcrypto library is a implementation many crypto algorithms, among others: AES, SHA, DES, RSA, Camellia and many help function.

    hcrypto provies a OpenSSL compatible interface libcrypto interface and is licensed under a 3 clause BSD license (GPL compatible).

    @@ -42,6 +42,6 @@ History

    Eric Young implemented DES in the library libdes, that grew into libcrypto in the ssleay package. ssleay went into recession and then got picked up by the OpenSSL (htp://www.openssl.org/) project.

    libhcrypto is an independent implementation with no code decended from ssleay/openssl. Both includes some common imported code, for example the AES implementation.


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/modules.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/modules.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/modules.html Sun Apr 8 08:19:17 2012 (r234027) @@ -30,6 +30,6 @@
    -Generated on Fri Sep 30 15:26:05 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/page_des.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/page_des.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/page_des.html Sun Apr 8 08:19:17 2012 (r234027) @@ -40,6 +40,6 @@ There was no complete BSD licensed, fast The document that got me started for real was "Efficient Implementation of the Data Encryption Standard" by Dag Arne Osvik. I never got to the PC1 transformation was working, instead I used table-lookup was used for all key schedule setup. The document was very useful since it de-mystified other implementations for me.

    The core DES function (SBOX + P transformation) is from Richard Outerbridge public domain DES implementation. My sanity is saved thanks to his work. Thank you Richard.


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/page_dh.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/page_dh.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/page_dh.html Sun Apr 8 08:19:17 2012 (r234027) @@ -25,6 +25,6 @@ Include and example how to use DH_new() and friends here.

    See the library functions here: Diffie-Hellman functions


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/page_evp.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/page_evp.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/page_evp.html Sun Apr 8 08:19:17 2012 (r234027) @@ -25,6 +25,6 @@ EVP Cipher The use of EVP_CipherInit_ex() and EVP_Cipher() is pretty easy to understand forward, then EVP_CipherUpdate() and EVP_CipherFinal_ex() really needs an example to explain example_evp_cipher::c .
    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/page_rand.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/page_rand.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/page_rand.html Sun Apr 8 08:19:17 2012 (r234027) @@ -23,6 +23,6 @@

    RAND - random number

    See the library functions here: RAND crypto functions

    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/html/page_rsa.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/html/page_rsa.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/html/page_rsa.html Sun Apr 8 08:19:17 2012 (r234027) @@ -26,6 +26,6 @@ Speed for RSA in seconds no key blinding name 1024 2048 4098 ================================= gmp: 0.73 6.60 44.80 tfm: 2.45 -- -- ltm: 3.79 20.74 105.41 (default in hcrypto) openssl: 4.04 11.90 82.59 cdsa: 15.89 102.89 721.40 imath: 40.62 -- --

    See the library functions here: RSA functions


    -Generated on Fri Sep 30 15:26:03 2011 for Heimdal crypto library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdal crypto library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_core.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hcrypto function controlling behavior" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "hcrypto function controlling behavior" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_des.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "DES crypto functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "DES crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_dh.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "Diffie-Hellman functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "Diffie-Hellman functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_evp.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "EVP generic crypto functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "EVP generic crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_misc.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hcrypto miscellaneous functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "hcrypto miscellaneous functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_rand.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "RAND crypto functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "RAND crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/hcrypto_rsa.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "RSA functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "RSA functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_des.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_des.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_des.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "page_des" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_des" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_dh.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_dh.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_dh.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "page_dh" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_dh" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_evp.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_evp.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_evp.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "page_evp" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_evp" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_rand.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_rand.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_rand.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "page_rand" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_rand" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_rsa.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_rsa.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hcrypto/man/man3/page_rsa.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "page_rsa" 3 "30 Sep 2011" "Version 1.5.1" "Heimdal crypto library" \" -*- nroff -*- +.TH "page_rsa" 3 "11 Jan 2012" "Version 1.5.2" "Heimdal crypto library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hdb/html/annotated.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/html/annotated.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/html/annotated.html Sun Apr 8 08:19:17 2012 (r234027) @@ -30,6 +30,6 @@
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hdb/html/functions.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/html/functions.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/html/functions.html Sun Apr 8 08:19:17 2012 (r234027) @@ -80,6 +80,6 @@ Here is a list of all documented struct
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hdb/html/functions_vars.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/html/functions_vars.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/html/functions_vars.html Sun Apr 8 08:19:17 2012 (r234027) @@ -80,6 +80,6 @@
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hdb/html/graph_legend.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/html/graph_legend.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/html/graph_legend.html Sun Apr 8 08:19:17 2012 (r234027) @@ -82,6 +82,6 @@ A yellow dashed arrow denotes a relation
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hdb/html/index.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/html/index.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/html/index.html Sun Apr 8 08:19:17 2012 (r234027) @@ -20,7 +20,7 @@

    Heimdal database backend library

    -

    1.5.1

    +

    1.5.2

    Introduction

    Heimdal libhdb library provides the backend support for Heimdal kdc and kadmind. Its here where plugins for diffrent database engines can be pluged in and extend support for here Heimdal get the principal and policy data from.

    Example of Heimdal backend are:


    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hdb/html/struct_h_d_b.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/html/struct_h_d_b.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/html/struct_h_d_b.html Sun Apr 8 08:19:17 2012 (r234027) @@ -422,9 +422,9 @@ Check if s4u2self is allowed from this c


    The documentation for this struct was generated from the following file:
      -
    • /Users/lha/src/heimdal/heimdal-release/heimdal-1.5.1/lib/hdb/hdb.h
    +
  • /Users/lha/src/heimdal/heimdal-release/heimdal-1.5.2/lib/hdb/hdb.h
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hdb/html/structhdb__entry__ex.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/html/structhdb__entry__ex.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/html/structhdb__entry__ex.html Sun Apr 8 08:19:17 2012 (r234027) @@ -31,9 +31,9 @@

    Detailed Description

    hdb_entry_ex is a wrapper structure around the hdb_entry structure that allows backends to keep a pointer to the backing store, ie in ->hdb_fetch_kvno(), so that we the kadmin/kpasswd backend gets around to ->hdb_store(), the backend doesn't need to lookup the entry again.
    The documentation for this struct was generated from the following file:
      -
    • /Users/lha/src/heimdal/heimdal-release/heimdal-1.5.1/lib/hdb/hdb.h
    +
  • /Users/lha/src/heimdal/heimdal-release/heimdal-1.5.2/lib/hdb/hdb.h
    -Generated on Fri Sep 30 15:26:07 2011 for Heimdalhdblibrary by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:38 2012 for Heimdalhdblibrary by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hdb/man/man3/HDB.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/man/man3/HDB.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/man/man3/HDB.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "HDB" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalhdblibrary" \" -*- nroff -*- +.TH "HDB" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalhdblibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hdb/man/man3/hdb_entry_ex.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hdb/man/man3/hdb_entry_ex.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hdb/man/man3/hdb_entry_ex.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hdb_entry_ex" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalhdblibrary" \" -*- nroff -*- +.TH "hdb_entry_ex" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalhdblibrary" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hx509/html/graph_legend.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/graph_legend.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/graph_legend.html Sun Apr 8 08:19:17 2012 (r234027) @@ -83,6 +83,6 @@ A yellow dashed arrow denotes a relation
    -Generated on Fri Sep 30 15:26:14 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509.html Sun Apr 8 08:19:17 2012 (r234027) @@ -84,6 +84,6 @@ Creates a hx509 context that most functi


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__ca.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__ca.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__ca.html Sun Apr 8 08:19:17 2012 (r234027) @@ -1174,6 +1174,6 @@ Make of template units, use to build fla


    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__cert.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__cert.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__cert.html Sun Apr 8 08:19:17 2012 (r234027) @@ -1420,6 +1420,6 @@ Verify that the certificate is allowed t


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__cms.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__cms.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__cms.html Sun Apr 8 08:19:17 2012 (r234027) @@ -499,6 +499,6 @@ Wrap data and oid in a ContentInfo and e


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__crypto.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__crypto.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__crypto.html Sun Apr 8 08:19:17 2012 (r234027) @@ -87,6 +87,6 @@ Verify a signature made using the privat


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__env.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__env.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__env.html Sun Apr 8 08:19:17 2012 (r234027) @@ -306,6 +306,6 @@ Search the hx509_env for a length based


    -Generated on Fri Sep 30 15:26:14 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__error.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__error.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__error.html Sun Apr 8 08:19:17 2012 (r234027) @@ -303,6 +303,6 @@ Add an error message to the hx509 contex


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__keyset.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__keyset.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__keyset.html Sun Apr 8 08:19:17 2012 (r234027) @@ -776,6 +776,6 @@ Get one random certificate from the cert


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__lock.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__lock.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__lock.html Sun Apr 8 08:19:17 2012 (r234027) @@ -24,6 +24,6 @@ See the Locking and unlocking certificates and encrypted data. for description and examples.
    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__misc.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__misc.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__misc.html Sun Apr 8 08:19:17 2012 (r234027) @@ -83,6 +83,6 @@ Free a data element allocated in the lib


    -Generated on Fri Sep 30 15:26:11 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__name.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__name.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__name.html Sun Apr 8 08:19:17 2012 (r234027) @@ -465,6 +465,6 @@ Convert a DER encoded name info a string


    -Generated on Fri Sep 30 15:26:12 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__peer.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__peer.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__peer.html Sun Apr 8 08:19:17 2012 (r234027) @@ -232,6 +232,6 @@ Set the algorithms that the peer support


    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__print.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__print.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__print.html Sun Apr 8 08:19:17 2012 (r234027) @@ -447,6 +447,6 @@ Set the printing functions for the valid


    -Generated on Fri Sep 30 15:26:14 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__query.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__query.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__query.html Sun Apr 8 08:19:17 2012 (r234027) @@ -24,6 +24,6 @@
    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__revoke.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__revoke.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__revoke.html Sun Apr 8 08:19:17 2012 (r234027) @@ -373,6 +373,6 @@ Check that a certificate is not expired


    -Generated on Fri Sep 30 15:26:12 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__verify.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__verify.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/group__hx509__verify.html Sun Apr 8 08:19:17 2012 (r234027) @@ -709,6 +709,6 @@ Set the clock time the the verification


    -Generated on Fri Sep 30 15:26:13 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/index.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/index.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/index.html Sun Apr 8 08:19:17 2012 (r234027) @@ -21,7 +21,7 @@

    Heimdal PKIX/X.509 library

    -

    1.5.1

    +

    1.5.2

    Introduction

    Heimdal libhx509 library is a implementation of the PKIX/X.509 and related protocols.

    PKIX/X.509 is ...

    @@ -30,6 +30,6 @@ Sections in this manual are:


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/modules.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/modules.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/modules.html Sun Apr 8 08:19:17 2012 (r234027) @@ -39,6 +39,6 @@
    -Generated on Fri Sep 30 15:26:14 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:41 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_ca.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_ca.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_ca.html Sun Apr 8 08:19:17 2012 (r234027) @@ -21,6 +21,6 @@

    Hx509 CA functions

    See the library functions here: hx509 CA functions

    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_cert.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_cert.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_cert.html Sun Apr 8 08:19:17 2012 (r234027) @@ -23,6 +23,6 @@ A hx509_cert object is usully found via the keyset interfaces (Certificate store operations), but its also possible to create a certificate directly from a parsed object with hx509_cert_init() and hx509_cert_init_data().

    See the library functions here: hx509 certificate functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_cms.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_cms.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_cms.html Sun Apr 8 08:19:17 2012 (r234027) @@ -25,6 +25,6 @@

    See the library functions here: hx509 CMS/pkcs7 functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_env.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_env.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_env.html Sun Apr 8 08:19:17 2012 (r234027) @@ -21,6 +21,6 @@
    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_error.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_error.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_error.html Sun Apr 8 08:19:17 2012 (r234027) @@ -21,6 +21,6 @@
    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_keyset.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_keyset.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_keyset.html Sun Apr 8 08:19:17 2012 (r234027) @@ -24,6 +24,6 @@

    See the library functions here: hx509 certificate store functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_lock.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_lock.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_lock.html Sun Apr 8 08:19:17 2012 (r234027) @@ -21,6 +21,6 @@
    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_name.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_name.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_name.html Sun Apr 8 08:19:17 2012 (r234027) @@ -27,6 +27,6 @@ Parse and string name into a hx509_name Name string are defined rfc2253, rfc1779 and X.501.

    See the library functions here: hx509 name functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_peer.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_peer.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_peer.html Sun Apr 8 08:19:17 2012 (r234027) @@ -22,6 +22,6 @@

    Hx509 crypto selecting functions

    Peer info structures are used togeter with hx509_crypto_select() to select the best avaible crypto algorithm to use.

    See the library functions here: hx509 certificate selecting functions


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_print.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_print.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_print.html Sun Apr 8 08:19:17 2012 (r234027) @@ -21,6 +21,6 @@

    Hx509 printing functions

    See the library functions here: hx509 printing functions

    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/page_revoke.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/page_revoke.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/page_revoke.html Sun Apr 8 08:19:17 2012 (r234027) @@ -23,6 +23,6 @@ CRL is a list of certifiates that have expired.

    OCSP is an online checking method where the requestor sends a list of certificates to the OCSP server to return a signed reply if they are valid or not. Some services sends a OCSP reply as part of the hand-shake to make the revoktion decision simpler/faster for the client.


    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/html/pages.html ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/html/pages.html Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/html/pages.html Sun Apr 8 08:19:17 2012 (r234027) @@ -45,6 +45,6 @@
    -Generated on Fri Sep 30 15:26:09 2011 for Heimdalx509library by doxygen 1.5.6
    +Generated on Wed Jan 11 14:07:40 2012 for Heimdalx509library by doxygen 1.5.6 Modified: head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hx509 library" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 library" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_ca.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hx509 CA functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 CA functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_cert.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_cert.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_cert.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hx509 certificate functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 certificate functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_cms.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_cms.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_cms.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hx509 CMS/pkcs7 functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 CMS/pkcs7 functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_crypto.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_crypto.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_crypto.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hx509 crypto functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 crypto functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_env.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hx509 enviroment functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 enviroment functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_error.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_error.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_error.3 Sun Apr 8 08:19:17 2012 (r234027) @@ -1,4 +1,4 @@ -.TH "hx509 error functions" 3 "30 Sep 2011" "Version 1.5.1" "Heimdalx509library" \" -*- nroff -*- +.TH "hx509 error functions" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalx509library" \" -*- nroff -*- .ad l .nh .SH NAME Modified: head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_keyset.3 ============================================================================== --- head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_keyset.3 Sun Apr 8 06:20:21 2012 (r234026) +++ head/crypto/heimdal/doc/doxyout/hx509/man/man3/hx509_keyset.3 Sun Apr 8 08:19:17 2012 (r234027) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 11:01:49 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C07B9106564A; Sun, 8 Apr 2012 11:01:49 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9FF588FC08; Sun, 8 Apr 2012 11:01:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q38B1n9i008907; Sun, 8 Apr 2012 11:01:49 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38B1nhN008905; Sun, 8 Apr 2012 11:01:49 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201204081101.q38B1nhN008905@svn.freebsd.org> From: Robert Watson Date: Sun, 8 Apr 2012 11:01:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234032 - head/sys/security/mac X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 11:01:49 -0000 Author: rwatson Date: Sun Apr 8 11:01:49 2012 New Revision: 234032 URL: http://svn.freebsd.org/changeset/base/234032 Log: When allocation of labels on files is implicitly disabled due to MAC policy configuration, avoid leaking resources following failed calls to get and set MAC labels by file descriptor. Reported by: Mateusz Guzik + clang scan-build MFC after: 3 days Modified: head/sys/security/mac/mac_syscalls.c Modified: head/sys/security/mac/mac_syscalls.c ============================================================================== --- head/sys/security/mac/mac_syscalls.c Sun Apr 8 10:15:56 2012 (r234031) +++ head/sys/security/mac/mac_syscalls.c Sun Apr 8 11:01:49 2012 (r234032) @@ -256,8 +256,10 @@ sys___mac_get_fd(struct thread *td, stru switch (fp->f_type) { case DTYPE_FIFO: case DTYPE_VNODE: - if (!(mac_labeled & MPC_OBJECT_VNODE)) - return (EINVAL); + if (!(mac_labeled & MPC_OBJECT_VNODE)) { + error = EINVAL; + goto out_fdrop; + } vp = fp->f_vnode; intlabel = mac_vnode_label_alloc(); vfslocked = VFS_LOCK_GIANT(vp->v_mount); @@ -271,8 +273,10 @@ sys___mac_get_fd(struct thread *td, stru break; case DTYPE_PIPE: - if (!(mac_labeled & MPC_OBJECT_PIPE)) - return (EINVAL); + if (!(mac_labeled & MPC_OBJECT_PIPE)) { + error = EINVAL; + goto out_fdrop; + } pipe = fp->f_data; intlabel = mac_pipe_label_alloc(); PIPE_LOCK(pipe); @@ -284,8 +288,10 @@ sys___mac_get_fd(struct thread *td, stru break; case DTYPE_SOCKET: - if (!(mac_labeled & MPC_OBJECT_SOCKET)) - return (EINVAL); + if (!(mac_labeled & MPC_OBJECT_SOCKET)) { + error = EINVAL; + goto out_fdrop; + } so = fp->f_data; intlabel = mac_socket_label_alloc(M_WAITOK); SOCK_LOCK(so); @@ -299,10 +305,10 @@ sys___mac_get_fd(struct thread *td, stru default: error = EINVAL; } - fdrop(fp, td); if (error == 0) error = copyout(buffer, mac.m_string, strlen(buffer)+1); - +out_fdrop: + fdrop(fp, td); out: free(buffer, M_MACTEMP); free(elements, M_MACTEMP); @@ -450,8 +456,10 @@ sys___mac_set_fd(struct thread *td, stru switch (fp->f_type) { case DTYPE_FIFO: case DTYPE_VNODE: - if (!(mac_labeled & MPC_OBJECT_VNODE)) - return (EINVAL); + if (!(mac_labeled & MPC_OBJECT_VNODE)) { + error = EINVAL; + goto out_fdrop; + } intlabel = mac_vnode_label_alloc(); error = mac_vnode_internalize_label(intlabel, buffer); if (error) { @@ -475,8 +483,10 @@ sys___mac_set_fd(struct thread *td, stru break; case DTYPE_PIPE: - if (!(mac_labeled & MPC_OBJECT_PIPE)) - return (EINVAL); + if (!(mac_labeled & MPC_OBJECT_PIPE)) { + error = EINVAL; + goto out_fdrop; + } intlabel = mac_pipe_label_alloc(); error = mac_pipe_internalize_label(intlabel, buffer); if (error == 0) { @@ -490,8 +500,10 @@ sys___mac_set_fd(struct thread *td, stru break; case DTYPE_SOCKET: - if (!(mac_labeled & MPC_OBJECT_SOCKET)) - return (EINVAL); + if (!(mac_labeled & MPC_OBJECT_SOCKET)) { + error = EINVAL; + goto out_fdrop; + } intlabel = mac_socket_label_alloc(M_WAITOK); error = mac_socket_internalize_label(intlabel, buffer); if (error == 0) { @@ -505,6 +517,7 @@ sys___mac_set_fd(struct thread *td, stru default: error = EINVAL; } +out_fdrop: fdrop(fp, td); out: free(buffer, M_MACTEMP); From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 11:05:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA753106566B; Sun, 8 Apr 2012 11:05:22 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D5A238FC15; Sun, 8 Apr 2012 11:05:22 +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 q38B5MLx009112; Sun, 8 Apr 2012 11:05:22 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38B5MGf009110; Sun, 8 Apr 2012 11:05:22 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <201204081105.q38B5MGf009110@svn.freebsd.org> From: Robert Watson Date: Sun, 8 Apr 2012 11:05:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234034 - head/contrib/openbsm/libauditd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 11:05:23 -0000 Author: rwatson Date: Sun Apr 8 11:05:22 2012 New Revision: 234034 URL: http://svn.freebsd.org/changeset/base/234034 Log: Merge a local fix to OpenBSM's libauditd to avoid a directory descriptor leak when iterating over possible audit trail directories. This fix will be merged upstream in an identical form, but hasn't yet appeared in an OpenBSM release. Submitted by: guido Obtained from: TrustedBSD Project MFC after: 3 days Modified: head/contrib/openbsm/libauditd/auditd_lib.c Modified: head/contrib/openbsm/libauditd/auditd_lib.c ============================================================================== --- head/contrib/openbsm/libauditd/auditd_lib.c Sun Apr 8 11:04:08 2012 (r234033) +++ head/contrib/openbsm/libauditd/auditd_lib.c Sun Apr 8 11:05:22 2012 (r234034) @@ -520,6 +520,7 @@ auditd_expire_trails(int (*warn_expired) } } + closedir(dirp); } oldest_time = current_time - expire_age; From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 09:33:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3258D106566B; Sun, 8 Apr 2012 09:33:23 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1AA348FC08; Sun, 8 Apr 2012 09:33:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q389XNYv004297; Sun, 8 Apr 2012 09:33:23 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q389XMHC004295; Sun, 8 Apr 2012 09:33:22 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201204080933.q389XMHC004295@svn.freebsd.org> From: Bernhard Schmidt Date: Sun, 8 Apr 2012 09:33:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Sun, 08 Apr 2012 13:42:43 +0000 Cc: Subject: svn commit: r234028 - stable/9/sys/contrib/dev/run X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 09:33:23 -0000 Author: bschmidt Date: Sun Apr 8 09:33:22 2012 New Revision: 234028 URL: http://svn.freebsd.org/changeset/base/234028 Log: MFC r233284: Update the firmware to version 0.236 Submitted by: PseudoCylon Modified: stable/9/sys/contrib/dev/run/rt2870.fw.uu Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/contrib/dev/run/rt2870.fw.uu ============================================================================== --- stable/9/sys/contrib/dev/run/rt2870.fw.uu Sun Apr 8 08:19:17 2012 (r234027) +++ stable/9/sys/contrib/dev/run/rt2870.fw.uu Sun Apr 8 09:33:22 2012 (r234028) @@ -39,70 +39,77 @@ # DAMAGE. # # This file contains two 4KB firmware, first half is RT2870 and last half -# is RT3071. On each 4KB firmware, 3rd last byte is major version number and -# 2nd last byte is minor version number. +# is RT3071. On each 4KB firmware, the last 2 bytes are CRC, 3rd last byte +# is minor version number and 4th last byte is major version number. # This file comes with -# RT2870 v. 0.17 -# RT3071 v. 0.17 +# RT2870 v. 0.236 +# RT3071 v. 0.236 begin 644 rt2870.fw.uu -M____`A`H`A`R`A!X`A,J`A,K`A-*`A-/$A-+(@(7N0(8\`(42`(3@S`%!B`- -M`Q(9R"*0`8S@,.,;Y4PPX`1_0(`"?P"0$"_O\)`!C'0(\.20`:?PD`&,X##@ -M')`!@."T`A6CX+0!$)`!A."T@0F0`8QT`?`2#<@BD`04X"#G`P(3*9!P$N#U -M5I`$!.`2"IT0V3$0O381`E`1.5$10E(10E,10E01@U41TE82,'`26W$2B7(2 -MX',3`8```!,ID'`1X/4\Y)!P$_"0!!1T@/#E5O1P`P(3*0(3(B`"`S`#'7T" -MKU82"Y&0!!1T@/#DD'`3\.56]'`#`A,I`A,BA59!T@(BD'`0X%1__[\*#9!P -M$>"T"`9U3@%U3X20`D_Y)'(I`$!.`EX"1=]5>0T#`B0#T_Y!P$.!?_Y!P$>!5)T^0#_D'`9X/[O7I`"*?`P1P2O)X`$ -MY2?T_Y`"*._PY5;T<`,"$RD"$R*0#][?CF]5?]KU82"Y&0!!1T -M@/#DD'`3\.56]'`#`A,I`A,BD'`0X/Z0WU@HZ#X/57_:]6$@N1D`04 -M=(#PY)!P$_#E5O1P`P(3*0(3(I`0`.#U5Y`0`N#U6*/@]5GE6+1P'N59M#`9 -MD`4(X$0!\/V0!07@5/OP1`3P[53^D`4(\.3U3O5/=3K_=3S_K5>O5A(+D9`$ -M%'2`\.20!$`?`B -M(N53!5 -M)_^0D`(I\#!'!*\G@`3E)_3_D`(H[_#"%"+" -M2\),Y402"IT3I0`4,P04+P@4#Q`3N2`3V6`3ZJ```!0UA4A#A4I"A4Q>Y4=D -M!F`#`A0U@!OE2,14#_5#Y4K$5`_U0N5,Q%0/]5[E1V0&<&%30P^`7(5)0X5+ -M0H5-7N5'9`9P38`;Y4G$5`_U0^5+Q%0/]4+E3<14#_5>Y4=D!G`PY4-4#T00 -M]4.`)N5'9`1@!>5'M`4&0UX$=4()Y4>T!A#E0U0/1##U0X`&TDN``M),Y/4E -MY4+$5/#_Y4-4#T_U7])@(M(5Y4\.5?5`_U -M+>4E5?5##_OS`1Y25P!74E#(`"%272;-)M@`_E7S#F -M!L)LTFV`!-)LPFWE1V0#<"$P2P;";-)M@!CE)7`#,$P1PDSE)7`%=24'@`(5 -M)=)LTFWE1[0)%.5$(.,+Y3ID`F`%Y3JT`P3";-)MY4>T"A/E.K0!!L)LTFV` -M".4Z<`32;,)M(&D'Y5X@X`*R:"!K!^5>(.$"LFH@;0?E7B#B`K)L=2Y`(&D$ -MHFB`)C!H!N5&HN*`'>5>(.($?P&``G\`Y494\/Z^\`1^`8`"?@#N;R3_DG.2 -M5>(.$$?P&``G\`Y494\/Z^\`1^`8`"?@#N;R3_ -MDG&2<)`0`."0$"SPD!`#X,.4,$`4HG&2=Z)PDG;E+A,35#_U+L)WTG:0$"_E -M+O#E1V0&<#F0`BG@5/[PY4/$5`\48`PD_F`,)`-P$\(X@`_2.(`+Y48PX@/3 -M@`'#DC@P1P6O)P(7?N4G]/\"%W[E1V0'8`_E1V0(8`GE1V0)8`,"%OV0`BG@ -M5/SPY3H48"(48"448"TD_&!))/E@%"0.<%#E1A,35#]U\`.$Y?`D_X`ZTCG" -M.(`^Y48PX@/3@!W#@!KE1C#B#50XPY0P4`9^`'\!@`1^`'\`[D\D_Y(XPCF` -M$^5&,.(#TX`!PY(YPCB`!,(XPCDP1P2O)X`$Y2?T_P(7?N5'9`Q@!N5'9`MP -M>I`"*>!4_?#E.A1@(!1@(11@*R3\8$4D^6`2)`YP2N5&$Q-4/W7P`X3E\(`I -MTCF`.N5&,.(#TX`!PY(Y@"WE1C#B#50XPY0P4`9^`'\!@`1^`'\`[D\D_Y(Y -M@`_E1C#B`].``<.2.8`"PCDP1P2O)X`$Y2?T_Y`"*._P(N5'M`L0D`(IX%3K -M\.4G5.M%1?4G(N20`BGP,$<$KT6`!.5%]/^0`BCO\"*/4-)9(H]4TE@BY/5B -MPJ_E411@2!1@9B0"8`,"&-326755`9`"HN!4?_"CX"#G(Y`$-."T`ARCX+0" -M%Z/@M`(2?R`2%Z^0$`3@5//P=5$!`AC4Y5!P!G5B`P(8U)`2`.!4`W`2?R`2 -M%Z^0`J+@5+_P=5$"`AC4Y5!P`P(8SY`"H^`PY@,"&,N0!#?@9")@`P(8RY`! -MBG1^\)`!EO"0$@1T"O#E6+1R%>59M#40Y)`%`/"C=`CPHW0!\'0#\'\!$@TJ -MD!,HX)!P&O"0$RG@D'`;\)`3*.!4\/"CX%3P\.59M#44Y3ST8`:CX%3S@!20 -M$RK@5/OP@!3E//20$RI@".!4\D4\\(`$X%3Z\)`$`>!4_?!U8@%U50+D]5&` -M">50<`5U8@/U4>5B8!7"`>3U4<)9K6*O0!(9E.5BM`,"T@/2KR+"KS`!$N20 -M`9;P]5'"6<(!?0*O0!(9E.52%&`,!&`#`AF1=5(!=54#D`0!X$0.\)!P&N"0 -M$RCPD'`;X)`3*?#E//1@".4\1`&C\(`&D!,J=`7PD!($=`/PY5BT"0$!WPD'`JX)`0'O"0$!S@]6*0$![@(.'SD!`!4#_4ZY4>T"0CE.K0#`^3U +M1N5'M`H(Y3JT`0/D]4;D_:]6$@N1T@0BD'`1X/3_D'`0X%__D'`1X%4G3Y!P +M&/"0D`(I +M\#!'!*\G@`3E)_3_D`(H[_#E5O1P`P(3N@(3LY!P$.#^D'`1X/WM^.;U5_VO +M5A(+D9`$%'2`\.20#][?6"CH/@]5?] +MKU82"Y&0!!1T@/#DD'`3\.56]'`#`A.Z`A.SD!``X/57Y/58]5F0$`/@M"@% +M=5@!@#R0$`/@M#`%=5@"@#"0$`/@M#,%=5@$@"20$`/@M#4,D!`"X+1R!758 +M"(`1D!`#X+0U"I`0`N"TDP-U6!#E6##A&9`%".!$`?#]D`4%X%3[\$0$\.U4 +M_I`%"/#D]4[U3W4Z_W4\_ZU7KU82"Y'DD'`R\,(6]5SU6O5;D'`P\*/PD`04 +M=(#PY)!P$_#E5O1P`P(3NH!WD'`0X"3_DI/D_:]6$@N1D`04=(#PY)!P$_#E +M5O1@7X!6D'`0X"3_DDK2!:U7KU82"Y&0!!1T@/#DD'`3\.56]&`\@#.0#U7*U7KU82"Y&0!!1T@/"0<##E6O"CY5OPY/5:]5N00<"7@1`'P(B+E4W`:,&`)LDTP300%1L($Y4]%3F`(Y4\53W`"%4XB(L)" +MTR(P%#"0#_D'`9X/[O7I`"*?`P1P2O)X`$Y2?T +M_Y`"*._PPA0P%F#"KY`0!.#U5Y`"*.!4!?57Y5QD`7`AY5>0$`0PX`;@5/OP +M@`3@1`3PY50$`3@1`3PTJ\BPDO"3.5$$@J=%)D`%2<$%2,(%0,0%*T@%,U@ +M%-Z@```5*85(0X5*0H5,7N5'9`9@`P(5*8`;Y4C$5`_U0^5*Q%0/]4+E3,14 +M#_5>Y4=D!G!A4T,/@%R%24.%2T*%35[E1V0&<$V`&^5)Q%0/]4/E2\14#_5" +MY4W$5`_U7N5'9`9P,.5#5`]$$/5#@";E1V0$8`7E1[0%!D->!'5"">5'M`80 +MY4-4#T0P]4.`!M)+@`+23.3U)>5"Q%3P_^5#5`]/]5_28"+2%>5')/5@"R3+ +M8`PA7"K\($TJ\BPJ^0!!3@5`Y@!-(8@`CE3D5/)/^2 +M&-*OD`04X*+DDAET'O#E7U0/]2WE)7`3,!@%Y5\@Y0LP&1GE7U0P_[\P$>4E +M<`5U)0R``A4ETFS2;8`/Y5\PY@;";-)M@`32;,)MY4=D`W`A,$L&PFS2;8`8 +MY25P`S!,$<),Y25P!74E!X`"%272;-)MY4>T"13E1"#C"^4Z9`)@!>4ZM`,$ +MPFS2;>5'M`H3Y3JT`0;";-)M@`CE.G`$TFS";2!I!^5>(.`"LF@@:P?E7B#A +M`K)J(&T'Y5X@X@*R;'4N0"!I!*)H@"8P:`;E1J+B@!WE7B#@!'\!@`)_`.5& +M5/#^OO`$?@&``GX`[F\D_Y)SDG(@:P2B:H`F,&H&Y4:BXH`=Y5X@X01_`8`" +M?P#E1E3P_K[P!'X!@`)^`.YO)/^2=9)T(&T$HFR`)N5'9`IP(C!L!N5&HN.` +M%^4ZM`$&Y4:BXX`TY48@Y`,PY0/3@`'#@"8P;`;E1J+B@!WE7B#B!'\!@`)_ +M`.5&5/#^OO`$?@&``GX`[F\D_Y)QDG"0$`#@D!`L\)`0`^##E#!`%*)QDG>B +M<))VY2X3$U0_]2["=])VD!`OY2[PY4=D!G!'D`(HX#!'`_^``O3_CR>0`BG@ +M5/[PY4/$5`\48`PD_F`,)`-P$\(X@`_2.(`+Y48PX@/3@`'#DC@P1P6O)P(8 +MG^4G]/\"&)_E1V0'8`_E1V0(8`GE1V0)8`,"&`V0`BC@,$<#_X`"]/^/)Y`" +M*>!4_/#E.A1@(A1@)11@+23\8$DD^6`4)`YP4.5&$Q-4/W7P`X3E\"3_@#K2 +M.<(X@#[E1C#B`].`'<.`&N5&,.(-5#C#E#!0!GX`?P&`!'X`?P#N3R3_DCC" +M.8`3Y48PX@/3@`'#DCG".(`$PCC".3!'!*\G@`3E)_3_`AB?Y4=D#&`)Y4=D +M"V`#`ABDD`(HX#!'`_^``O3_CR>0`BG@5/WPY3H48"`48"$48"LD_&!%)/E@ +M$B0.<$KE1A,35#]U\`.$Y?"`*=(Y@#KE1C#B`].``<.2.8`MY48PX@U4.,.4 +M,%`&?@!_`8`$?@!_`.Y/)/^2.8`/Y48PX@/3@`'#DCF``L(Y,$<$KR>`!.4G +M]/^0`BCO\"+E1[0+$)`"*>!4Z_#E)U3K147U)R+DD`(I\#!'!*]%@`3E1?3_ +MD`(H[_`BCU#262*/5-)8(N3U8L*OY5$48$@48&8D`F`#`AG^TEEU50&0`J+@ +M5'_PH^`@YR.0!#3@M`(CX+0"$G\@$AC0D!`$X%3S\'51`0(9_N50 +M<`9U8@,"&?Z0$@#@5`-P$G\@$AC0D`*BX%2_\'51`@(9_N50<`,"&?F0`J/@ +M,.8#`AGUD`0WX&0B8`,"&?60`8IT?O"0`9;PD!($=`KPY5@PXQ7DD`4`\*-T +M"/"C=`'P=`/P?P$2#2J0$RC@D'`:\)`3*>"0!4\X`1X%3[\(`4Y3STD!,J8`C@ +M5/)%//"`!.!4^O"0!`'@5/WP=6(!=54"Y/51@`GE4'`%=6(#]5'E8F`5P@'D +M]5'"6:UBKT`2&LOE8K0#`M(#TJ\BPJ\P`1+DD`&6\/51PEG"`7T"KT`2&LOE +M4A1@#`1@`P(:R'52`755`Y`$`>!$#O#E6%088!Z03^=!0N]8+D-'#U@^"T_QET%"[U@N0T +M\)`0'.#U8I`0'N`@X?.0$!S@D'`H\)`0'>"0<"GPD!`> +MX)!P*O`P2@>0<"3@1`'PP@72KR(B(@`````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` @@ -128,6 +135,72 @@ M``````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````````````.SQ +M2O___P(0*`(0,@(0?0(3NP(3O`(3VP(3X!(3W"("&-H"&AH"%3P"%'"T"`9U3@%U3X20`D_Y)'(I`$!.`EX"1=]5>0T#`B0#T_Y!P$.!?_Y!P$>!5)T^0 +M#_D'`9X/[O7I`" +M*?`P1P2O)X`$Y2?T_Y`"*._PY5;T<`,"$[H"$[.0#][?CF]5?] +MKU82"ZJ0!!1T@/#DD'`3\.56]'`#`A.Z`A.SD'`0X/Z0WU@HZ#X/57 +M_:]6$@NJD`04=(#PY)!P$_#E5O1P`P(3N@(3LY`0`.#U5^3U6/59D!`#X+0H +M!758`8`\D!`#X+0P!758`H`PD!`#X+0S!758!(`DD!`#X+0U#)`0`N"T<@5U +M6`B`$9`0`^"T-0J0$`+@M),#=5@0Y5@PX1F0!0C@1`'P_9`%!>!4^_!$!/#M +M5/Z0!0CPY/5.]4]U.O]U//^M5Z]6$@NJY)!P,O#"%O5<]5KU6Y!P,/"C\)`$ +M%'2`\.200`BG@_Y!P&>#^[UZ0`BGP,$<$KR>`!.4G +M]/^0`BCO\,(4,!9@PJ^0$`3@]5>0`BC@5`7U5^5<9`%P(>57D!`$,.`&X%3[ +M\(`$X$0$\.57,.(Q!5OE6W`K!5J`)^57,.`;Y5R0$`1P!N!4^_"`!.!$!/`% +M6^5;<`L%6H`'D!`$X$0$\-*O(L)+PDSE1!(*MA29`!4G!!4C"!4#$!2M(!3- +M8!3>H```%2F%2$.%2D*%3%[E1V0&8`,"%2F`&^5(Q%0/]4/E2L14#_5"Y4S$ +M5`_U7N5'9`9P85-##X!Y4=D!G!-@!OE2<14#_5#Y4O$5`_U +M0N5-Q%0/]5[E1V0&<##E0U0/1!#U0X`FY4=D!&`%Y4>T!09#7@1U0@GE1[0& +M$.5#5`]$,/5#@`;22X`"TDSD]27E0L14\/_E0U0/3_5?TF`BTA7E1R3U8`LD +MRV`')$!P!L(5(A(8I1(57L(5PJ_"!-*O(L*OD`04X%0.8`32&(`(Y4Y%3R3_ +MDAC2KY`$%."BY)(9=![PY5]4#_4MY25P$S`8!>5?(.4+,!D9Y5]4,/^_,!'E +M)7`%=24,@`(5)=)LTFV`#^5?,.8&PFS2;8`$TFS";>5'9`-P(3!+!L)LTFV` +M&.4E<`,P3!'"3.4E<`5U)0>``A4ETFS2;>5'M`D4Y40@XPOE.F0"8`7E.K0# +M!,)LTFWE1[0*$^4ZM`$&PFS2;8`(Y3IP!-)LPFT@:0?E7B#@`K)H(&L'Y5X@ +MX0*R:B!M!^5>(.("LFQU+D`@:02B:(`F,&@&Y4:BXH`=Y5X@X`1_`8`"?P#E +M1E3P_K[P!'X!@`)^`.YO)/^25>(.$$?P&` +M`G\`Y494\/Z^\`1^`8`"?@#N;R3_DG62="!M!*)L@";E1V0*<"(P;`;E1J+C +M@!?E.K0!!N5&HN.`-.5&(.0#,.4#TX`!PX`F,&P&Y4:BXH`=Y5X@X@1_`8`" +M?P#E1E3P_K[P!'X!@`)^`.YO)/^2<9)PD!``X)`0+/"0$`/@PY0P0!2B<9)W +MHG"2=N4N$Q-4/_4NPG?2=I`0+^4N\.5'9`9P1Y`"*.`P1P/_@`+T_X\GD`(I +MX%3^\.5#Q%0/%&`,)/Y@#"0#0 +M`BG@5/SPY3H48"(48"448"TD_&!))/E@%"0.<%#E1A,35#]U\`.$Y?`D_X`Z +MTCG".(`^Y48PX@/3@!W#@!KE1C#B#50XPY0P4`9^`'\!@`1^`'\`[D\D_Y(X +MPCF`$^5&,.(#TX`!PY(YPCB`!,(XPCDP1P2O)X`$Y2?T_P(8G^5'9`Q@">5' +M9`M@`P(8I)`"*.`P1P/_@`+T_X\GD`(IX%3]\.4Z%&`@%&`A%&`K)/Q@123Y +M8!(D#G!*Y483$U0_=?`#A.7P@"G2.8`ZY48PX@/3@`'#DCF`+>5&,.(-5#C# +ME#!0!GX`?P&`!'X`?P#N3R3_DCF`#^5&,.(#TX`!PY(Y@`+".3!'!*\G@`3E +M)_3_D`(H[_`BY4>T"Q"0`BG@5.OPY2=4ZT5%]2!4^_"`%.4\])`3*F`( +MX%3R13SP@`3@5/KPD`0!X%3]\'5B`755`N3U48`)Y5!P!75B`_51Y6)@%<(! +MY/51PEFM8J]`$AK+Y6*T`P+2`]*O(L*O,`$2Y)`!EO#U4<)9P@%]`J]`$AK+ +MY5(48`P$8`,"&LAU4@%U50.0!`'@1`[PY5A4&&`>D'`:X)`3*/"0"0$!WPD'`JX)`0'O"0$!S@]6*0$![@(.'SD!`O___P(0*`(0,@(0>`(3*@(3*P(32@(33Q(32R("%[D"&/`"%$@"$X,P!08@ -M#0,2&<@BD`&,X##C&^5,,.`$?T"``G\`D!`O[_"0`8QT"/#DD`&G\)`!C.`P -MX!R0`8#@M`(5H^"T`1"0`83@M($)D`&,=`'P$@W=(I`$%.`@YP,"$RF0#U/.20!D"&`$X+0@!G5.`W5/(.3U)R*0 -M`D7?57D'`0X/]T1R57^,;OQI!P$>#_=$@E5_C&[\;D -M_:]6$@NJD`04=(#PY)!P$_#E5O1P`P(3*0(3(N5'9`=@'>5'9`A@%^5'9`E@ -M$>5'9`I@"^5'9`M@!>5'M`P(D'`1X%0/]3KE1[0)".4ZM`,#Y/5&Y4>T"@CE -M.K0!`^3U1N3]KU82"ZK2!"*0"0 -M0`BG@_Y!P&>#^[UZ0`BGP,$<$KR>` -M!.4G]/^0`BCO\.56]'`#`A,I`A,BD'`0X/Z0WXYO57_:]6$@NJD`04 -M=(#PY)!P$_#E5O1P`P(3*0(3(I!P$.#^D'`1X/WM]8*.@^#U5_VO5A(+JI`$ -M%'2`\.200$`+@]5BCX/59Y5BTO5A(+JI`$%'2`\.200<"7@1`'P -M(B+E4W`:,&`)LDTP300%1L($Y4]%3F`(Y4\53W`"%4XB(L)"TR(P%#"0#_D'`9X/[O7I`"*?`P1P2O)X`$Y2?T_Y`"*._PPA0B -MPDO"3.5$$@JV$Z4`%#,$%"\(%`\0$[D@$]E@$^J@```4-85(0X5*0H5,7N5' -M9`9@`P(4-8`;Y4C$5`_U0^5*Q%0/]4+E3,14#_5>Y4=D!G!A4T,/@%R%24.% -M2T*%35[E1V0&<$V`&^5)Q%0/]4/E2\14#_5"Y4W$5`_U7N5'9`9P,.5#5`]$ -M$/5#@";E1V0$8`7E1[0%!D->!'5"">5'M`80Y4-4#T0P]4.`!M)+@`+23.3U -M)>5"Q%3P_^5#5`]/]5_28"+2%>5')/5@"R3+8`$$A1JPA7" -MK\($TJ\BPJ^0!!3@5`Y@!-(8@`CE3D5/)/^2&-*OD`04X*+DDAET'O#E7U0/ -M]2WE)7`3,!@%Y5\@Y0LP&1GE7U0P_[\P$>4E<`5U)0R``A4ETFS2;8`/Y5\P -MY@;";-)M@`32;,)MY4=D`W`A,$L&PFS2;8`8Y25P`S!,$<),Y25P!74E!X`" -M%272;-)MY4>T"13E1"#C"^4Z9`)@!>4ZM`,$PFS2;>5'M`H3Y3JT`0;";-)M -M@`CE.G`$TFS";2!I!^5>(.`"LF@@:P?E7B#A`K)J(&T'Y5X@X@*R;'4N0"!I -M!*)H@"8P:`;E1J+B@!WE7B#B!'\!@`)_`.5&5/#^OO`$?@&``GX`[F\D_Y)S -MDG(@:P2B:H`F,&H&Y4:BXH`=Y5X@X`1_`8`"?P#E1E3P_K[P!'X!@`)^`.YO -M)/^2=9)T(&T$HFR`)N5'9`IP(C!L!N5&HN.`%^4ZM`$&Y4:BXX`TY48@Y`,P -MY0/3@`'#@"8P;`;E1J+B@!WE7B#A!'\!@`)_`.5&5/#^OO`$?@&``GX`[F\D -M_Y)QDG"0$`#@D!`L\)`0`^##E#!`%*)QDG>B<))VY2X3$U0_]2["=])VD!`O -MY2[PY4=D!G`YD`(IX%3^\.5#Q%0/%&`,)/Y@#"0#`!.4G]/\"%W[E1V0,8`;E1V0+ -M<'J0`BG@5/WPY3H48"`48"$48"LD_&!%)/E@$B0.<$KE1A,35#]U\`.$Y?"` -M*=(Y@#KE1C#B`].``<.2.8`MY48PX@U4.,.4,%`&?@!_`8`$?@!_`.Y/)/^2 -M.8`/Y48PX@/3@`'#DCF``L(Y,$<$KR>`!.4G]/^0`BCO\"+E1[0+$)`"*>!4 -MZ_#E)U3K147U)R+DD`(I\#!'!*]%@`3E1?3_D`(H[_`BCU#262*/5-)8(N3U -M8L*OY5$48$@48&8D`F`#`AC4TEEU50&0`J+@5'_PH^`@YR.0!#3@M`(CX+0"$G\@$A>OD!`$X%3S\'51`0(8U.50<`9U8@,"&-20$@#@5`-P$G\@ -M$A>OD`*BX%2_\'51`@(8U.50<`,"&,^0`J/@,.8#`AC+D`0WX&0B8`,"&,N0 -M`8IT?O"0`9;PD!($=`KPY5BT!$#O"0X"#A\Y`0'."0<"CPD!`=X)!P -M*?"0$![@D'`J\#!*!Y!P).!$`?#"!=*O(B(B```````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` @@ -212,21 +226,7 @@ M``````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````1 -"=X$` +M``````````````````````````````````````````````````````````#L +"*=(` ` end From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 09:33:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 29C761065676; Sun, 8 Apr 2012 09:33:51 +0000 (UTC) (envelope-from bschmidt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1161B8FC08; Sun, 8 Apr 2012 09:33:51 +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 q389Xpg2004344; Sun, 8 Apr 2012 09:33:51 GMT (envelope-from bschmidt@svn.freebsd.org) Received: (from bschmidt@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q389XoQI004342; Sun, 8 Apr 2012 09:33:50 GMT (envelope-from bschmidt@svn.freebsd.org) Message-Id: <201204080933.q389XoQI004342@svn.freebsd.org> From: Bernhard Schmidt Date: Sun, 8 Apr 2012 09:33:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Sun, 08 Apr 2012 13:43:52 +0000 Cc: Subject: svn commit: r234029 - stable/8/sys/contrib/dev/run X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 09:33:51 -0000 Author: bschmidt Date: Sun Apr 8 09:33:50 2012 New Revision: 234029 URL: http://svn.freebsd.org/changeset/base/234029 Log: MFC r233284: Update the firmware to version 0.236 Submitted by: PseudoCylon Modified: stable/8/sys/contrib/dev/run/rt2870.fw.uu Directory Properties: stable/8/sys/ (props changed) Modified: stable/8/sys/contrib/dev/run/rt2870.fw.uu ============================================================================== --- stable/8/sys/contrib/dev/run/rt2870.fw.uu Sun Apr 8 09:33:22 2012 (r234028) +++ stable/8/sys/contrib/dev/run/rt2870.fw.uu Sun Apr 8 09:33:50 2012 (r234029) @@ -39,70 +39,77 @@ # DAMAGE. # # This file contains two 4KB firmware, first half is RT2870 and last half -# is RT3071. On each 4KB firmware, 3rd last byte is major version number and -# 2nd last byte is minor version number. +# is RT3071. On each 4KB firmware, the last 2 bytes are CRC, 3rd last byte +# is minor version number and 4th last byte is major version number. # This file comes with -# RT2870 v. 0.17 -# RT3071 v. 0.17 +# RT2870 v. 0.236 +# RT3071 v. 0.236 begin 644 rt2870.fw.uu -M____`A`H`A`R`A!X`A,J`A,K`A-*`A-/$A-+(@(7N0(8\`(42`(3@S`%!B`- -M`Q(9R"*0`8S@,.,;Y4PPX`1_0(`"?P"0$"_O\)`!C'0(\.20`:?PD`&,X##@ -M')`!@."T`A6CX+0!$)`!A."T@0F0`8QT`?`2#<@BD`04X"#G`P(3*9!P$N#U -M5I`$!.`2"IT0V3$0O381`E`1.5$10E(10E,10E01@U41TE82,'`26W$2B7(2 -MX',3`8```!,ID'`1X/4\Y)!P$_"0!!1T@/#E5O1P`P(3*0(3(B`"`S`#'7T" -MKU82"Y&0!!1T@/#DD'`3\.56]'`#`A,I`A,BA59!T@(BD'`0X%1__[\*#9!P -M$>"T"`9U3@%U3X20`D_Y)'(I`$!.`EX"1=]5>0T#`B0#T_Y!P$.!?_Y!P$>!5)T^0#_D'`9X/[O7I`"*?`P1P2O)X`$ -MY2?T_Y`"*._PY5;T<`,"$RD"$R*0#][?CF]5?]KU82"Y&0!!1T -M@/#DD'`3\.56]'`#`A,I`A,BD'`0X/Z0WU@HZ#X/57_:]6$@N1D`04 -M=(#PY)!P$_#E5O1P`P(3*0(3(I`0`.#U5Y`0`N#U6*/@]5GE6+1P'N59M#`9 -MD`4(X$0!\/V0!07@5/OP1`3P[53^D`4(\.3U3O5/=3K_=3S_K5>O5A(+D9`$ -M%'2`\.20!$`?`B -M(N53!5 -M)_^0D`(I\#!'!*\G@`3E)_3_D`(H[_#"%"+" -M2\),Y402"IT3I0`4,P04+P@4#Q`3N2`3V6`3ZJ```!0UA4A#A4I"A4Q>Y4=D -M!F`#`A0U@!OE2,14#_5#Y4K$5`_U0N5,Q%0/]5[E1V0&<&%30P^`7(5)0X5+ -M0H5-7N5'9`9P38`;Y4G$5`_U0^5+Q%0/]4+E3<14#_5>Y4=D!G`PY4-4#T00 -M]4.`)N5'9`1@!>5'M`4&0UX$=4()Y4>T!A#E0U0/1##U0X`&TDN``M),Y/4E -MY4+$5/#_Y4-4#T_U7])@(M(5Y4\.5?5`_U -M+>4E5?5##_OS`1Y25P!74E#(`"%272;-)M@`_E7S#F -M!L)LTFV`!-)LPFWE1V0#<"$P2P;";-)M@!CE)7`#,$P1PDSE)7`%=24'@`(5 -M)=)LTFWE1[0)%.5$(.,+Y3ID`F`%Y3JT`P3";-)MY4>T"A/E.K0!!L)LTFV` -M".4Z<`32;,)M(&D'Y5X@X`*R:"!K!^5>(.$"LFH@;0?E7B#B`K)L=2Y`(&D$ -MHFB`)C!H!N5&HN*`'>5>(.($?P&``G\`Y494\/Z^\`1^`8`"?@#N;R3_DG.2 -M5>(.$$?P&``G\`Y494\/Z^\`1^`8`"?@#N;R3_ -MDG&2<)`0`."0$"SPD!`#X,.4,$`4HG&2=Z)PDG;E+A,35#_U+L)WTG:0$"_E -M+O#E1V0&<#F0`BG@5/[PY4/$5`\48`PD_F`,)`-P$\(X@`_2.(`+Y48PX@/3 -M@`'#DC@P1P6O)P(7?N4G]/\"%W[E1V0'8`_E1V0(8`GE1V0)8`,"%OV0`BG@ -M5/SPY3H48"(48"448"TD_&!))/E@%"0.<%#E1A,35#]U\`.$Y?`D_X`ZTCG" -M.(`^Y48PX@/3@!W#@!KE1C#B#50XPY0P4`9^`'\!@`1^`'\`[D\D_Y(XPCF` -M$^5&,.(#TX`!PY(YPCB`!,(XPCDP1P2O)X`$Y2?T_P(7?N5'9`Q@!N5'9`MP -M>I`"*>!4_?#E.A1@(!1@(11@*R3\8$4D^6`2)`YP2N5&$Q-4/W7P`X3E\(`I -MTCF`.N5&,.(#TX`!PY(Y@"WE1C#B#50XPY0P4`9^`'\!@`1^`'\`[D\D_Y(Y -M@`_E1C#B`].``<.2.8`"PCDP1P2O)X`$Y2?T_Y`"*._P(N5'M`L0D`(IX%3K -M\.4G5.M%1?4G(N20`BGP,$<$KT6`!.5%]/^0`BCO\"*/4-)9(H]4TE@BY/5B -MPJ_E411@2!1@9B0"8`,"&-326755`9`"HN!4?_"CX"#G(Y`$-."T`ARCX+0" -M%Z/@M`(2?R`2%Z^0$`3@5//P=5$!`AC4Y5!P!G5B`P(8U)`2`.!4`W`2?R`2 -M%Z^0`J+@5+_P=5$"`AC4Y5!P`P(8SY`"H^`PY@,"&,N0!#?@9")@`P(8RY`! -MBG1^\)`!EO"0$@1T"O#E6+1R%>59M#40Y)`%`/"C=`CPHW0!\'0#\'\!$@TJ -MD!,HX)!P&O"0$RG@D'`;\)`3*.!4\/"CX%3P\.59M#44Y3ST8`:CX%3S@!20 -M$RK@5/OP@!3E//20$RI@".!4\D4\\(`$X%3Z\)`$`>!4_?!U8@%U50+D]5&` -M">50<`5U8@/U4>5B8!7"`>3U4<)9K6*O0!(9E.5BM`,"T@/2KR+"KS`!$N20 -M`9;P]5'"6<(!?0*O0!(9E.52%&`,!&`#`AF1=5(!=54#D`0!X$0.\)!P&N"0 -M$RCPD'`;X)`3*?#E//1@".4\1`&C\(`&D!,J=`7PD!($=`/PY5BT"0$!WPD'`JX)`0'O"0$!S@]6*0$![@(.'SD!`!4#_4ZY4>T"0CE.K0#`^3U +M1N5'M`H(Y3JT`0/D]4;D_:]6$@N1T@0BD'`1X/3_D'`0X%__D'`1X%4G3Y!P +M&/"0D`(I +M\#!'!*\G@`3E)_3_D`(H[_#E5O1P`P(3N@(3LY!P$.#^D'`1X/WM^.;U5_VO +M5A(+D9`$%'2`\.20#][?6"CH/@]5?] +MKU82"Y&0!!1T@/#DD'`3\.56]'`#`A.Z`A.SD!``X/57Y/58]5F0$`/@M"@% +M=5@!@#R0$`/@M#`%=5@"@#"0$`/@M#,%=5@$@"20$`/@M#4,D!`"X+1R!758 +M"(`1D!`#X+0U"I`0`N"TDP-U6!#E6##A&9`%".!$`?#]D`4%X%3[\$0$\.U4 +M_I`%"/#D]4[U3W4Z_W4\_ZU7KU82"Y'DD'`R\,(6]5SU6O5;D'`P\*/PD`04 +M=(#PY)!P$_#E5O1P`P(3NH!WD'`0X"3_DI/D_:]6$@N1D`04=(#PY)!P$_#E +M5O1@7X!6D'`0X"3_DDK2!:U7KU82"Y&0!!1T@/#DD'`3\.56]&`\@#.0#U7*U7KU82"Y&0!!1T@/"0<##E6O"CY5OPY/5:]5N00<"7@1`'P(B+E4W`:,&`)LDTP300%1L($Y4]%3F`(Y4\53W`"%4XB(L)" +MTR(P%#"0#_D'`9X/[O7I`"*?`P1P2O)X`$Y2?T +M_Y`"*._PPA0P%F#"KY`0!.#U5Y`"*.!4!?57Y5QD`7`AY5>0$`0PX`;@5/OP +M@`3@1`3PY50$`3@1`3PTJ\BPDO"3.5$$@J=%)D`%2<$%2,(%0,0%*T@%,U@ +M%-Z@```5*85(0X5*0H5,7N5'9`9@`P(5*8`;Y4C$5`_U0^5*Q%0/]4+E3,14 +M#_5>Y4=D!G!A4T,/@%R%24.%2T*%35[E1V0&<$V`&^5)Q%0/]4/E2\14#_5" +MY4W$5`_U7N5'9`9P,.5#5`]$$/5#@";E1V0$8`7E1[0%!D->!'5"">5'M`80 +MY4-4#T0P]4.`!M)+@`+23.3U)>5"Q%3P_^5#5`]/]5_28"+2%>5')/5@"R3+ +M8`PA7"K\($TJ\BPJ^0!!3@5`Y@!-(8@`CE3D5/)/^2 +M&-*OD`04X*+DDAET'O#E7U0/]2WE)7`3,!@%Y5\@Y0LP&1GE7U0P_[\P$>4E +M<`5U)0R``A4ETFS2;8`/Y5\PY@;";-)M@`32;,)MY4=D`W`A,$L&PFS2;8`8 +MY25P`S!,$<),Y25P!74E!X`"%272;-)MY4>T"13E1"#C"^4Z9`)@!>4ZM`,$ +MPFS2;>5'M`H3Y3JT`0;";-)M@`CE.G`$TFS";2!I!^5>(.`"LF@@:P?E7B#A +M`K)J(&T'Y5X@X@*R;'4N0"!I!*)H@"8P:`;E1J+B@!WE7B#@!'\!@`)_`.5& +M5/#^OO`$?@&``GX`[F\D_Y)SDG(@:P2B:H`F,&H&Y4:BXH`=Y5X@X01_`8`" +M?P#E1E3P_K[P!'X!@`)^`.YO)/^2=9)T(&T$HFR`)N5'9`IP(C!L!N5&HN.` +M%^4ZM`$&Y4:BXX`TY48@Y`,PY0/3@`'#@"8P;`;E1J+B@!WE7B#B!'\!@`)_ +M`.5&5/#^OO`$?@&``GX`[F\D_Y)QDG"0$`#@D!`L\)`0`^##E#!`%*)QDG>B +M<))VY2X3$U0_]2["=])VD!`OY2[PY4=D!G!'D`(HX#!'`_^``O3_CR>0`BG@ +M5/[PY4/$5`\48`PD_F`,)`-P$\(X@`_2.(`+Y48PX@/3@`'#DC@P1P6O)P(8 +MG^4G]/\"&)_E1V0'8`_E1V0(8`GE1V0)8`,"&`V0`BC@,$<#_X`"]/^/)Y`" +M*>!4_/#E.A1@(A1@)11@+23\8$DD^6`4)`YP4.5&$Q-4/W7P`X3E\"3_@#K2 +M.<(X@#[E1C#B`].`'<.`&N5&,.(-5#C#E#!0!GX`?P&`!'X`?P#N3R3_DCC" +M.8`3Y48PX@/3@`'#DCG".(`$PCC".3!'!*\G@`3E)_3_`AB?Y4=D#&`)Y4=D +M"V`#`ABDD`(HX#!'`_^``O3_CR>0`BG@5/WPY3H48"`48"$48"LD_&!%)/E@ +M$B0.<$KE1A,35#]U\`.$Y?"`*=(Y@#KE1C#B`].``<.2.8`MY48PX@U4.,.4 +M,%`&?@!_`8`$?@!_`.Y/)/^2.8`/Y48PX@/3@`'#DCF``L(Y,$<$KR>`!.4G +M]/^0`BCO\"+E1[0+$)`"*>!4Z_#E)U3K147U)R+DD`(I\#!'!*]%@`3E1?3_ +MD`(H[_`BCU#262*/5-)8(N3U8L*OY5$48$@48&8D`F`#`AG^TEEU50&0`J+@ +M5'_PH^`@YR.0!#3@M`(CX+0"$G\@$AC0D!`$X%3S\'51`0(9_N50 +M<`9U8@,"&?Z0$@#@5`-P$G\@$AC0D`*BX%2_\'51`@(9_N50<`,"&?F0`J/@ +M,.8#`AGUD`0WX&0B8`,"&?60`8IT?O"0`9;PD!($=`KPY5@PXQ7DD`4`\*-T +M"/"C=`'P=`/P?P$2#2J0$RC@D'`:\)`3*>"0!4\X`1X%3[\(`4Y3STD!,J8`C@ +M5/)%//"`!.!4^O"0!`'@5/WP=6(!=54"Y/51@`GE4'`%=6(#]5'E8F`5P@'D +M]5'"6:UBKT`2&LOE8K0#`M(#TJ\BPJ\P`1+DD`&6\/51PEG"`7T"KT`2&LOE +M4A1@#`1@`P(:R'52`755`Y`$`>!$#O#E6%088!Z03^=!0N]8+D-'#U@^"T_QET%"[U@N0T +M\)`0'.#U8I`0'N`@X?.0$!S@D'`H\)`0'>"0<"GPD!`> +MX)!P*O`P2@>0<"3@1`'PP@72KR(B(@`````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` @@ -128,6 +135,72 @@ M``````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` +M`````````````````````````````````````````````````````````.SQ +M2O___P(0*`(0,@(0?0(3NP(3O`(3VP(3X!(3W"("&-H"&AH"%3P"%'"T"`9U3@%U3X20`D_Y)'(I`$!.`EX"1=]5>0T#`B0#T_Y!P$.!?_Y!P$>!5)T^0 +M#_D'`9X/[O7I`" +M*?`P1P2O)X`$Y2?T_Y`"*._PY5;T<`,"$[H"$[.0#][?CF]5?] +MKU82"ZJ0!!1T@/#DD'`3\.56]'`#`A.Z`A.SD'`0X/Z0WU@HZ#X/57 +M_:]6$@NJD`04=(#PY)!P$_#E5O1P`P(3N@(3LY`0`.#U5^3U6/59D!`#X+0H +M!758`8`\D!`#X+0P!758`H`PD!`#X+0S!758!(`DD!`#X+0U#)`0`N"T<@5U +M6`B`$9`0`^"T-0J0$`+@M),#=5@0Y5@PX1F0!0C@1`'P_9`%!>!4^_!$!/#M +M5/Z0!0CPY/5.]4]U.O]U//^M5Z]6$@NJY)!P,O#"%O5<]5KU6Y!P,/"C\)`$ +M%'2`\.200`BG@_Y!P&>#^[UZ0`BGP,$<$KR>`!.4G +M]/^0`BCO\,(4,!9@PJ^0$`3@]5>0`BC@5`7U5^5<9`%P(>57D!`$,.`&X%3[ +M\(`$X$0$\.57,.(Q!5OE6W`K!5J`)^57,.`;Y5R0$`1P!N!4^_"`!.!$!/`% +M6^5;<`L%6H`'D!`$X$0$\-*O(L)+PDSE1!(*MA29`!4G!!4C"!4#$!2M(!3- +M8!3>H```%2F%2$.%2D*%3%[E1V0&8`,"%2F`&^5(Q%0/]4/E2L14#_5"Y4S$ +M5`_U7N5'9`9P85-##X!Y4=D!G!-@!OE2<14#_5#Y4O$5`_U +M0N5-Q%0/]5[E1V0&<##E0U0/1!#U0X`FY4=D!&`%Y4>T!09#7@1U0@GE1[0& +M$.5#5`]$,/5#@`;22X`"TDSD]27E0L14\/_E0U0/3_5?TF`BTA7E1R3U8`LD +MRV`')$!P!L(5(A(8I1(57L(5PJ_"!-*O(L*OD`04X%0.8`32&(`(Y4Y%3R3_ +MDAC2KY`$%."BY)(9=![PY5]4#_4MY25P$S`8!>5?(.4+,!D9Y5]4,/^_,!'E +M)7`%=24,@`(5)=)LTFV`#^5?,.8&PFS2;8`$TFS";>5'9`-P(3!+!L)LTFV` +M&.4E<`,P3!'"3.4E<`5U)0>``A4ETFS2;>5'M`D4Y40@XPOE.F0"8`7E.K0# +M!,)LTFWE1[0*$^4ZM`$&PFS2;8`(Y3IP!-)LPFT@:0?E7B#@`K)H(&L'Y5X@ +MX0*R:B!M!^5>(.("LFQU+D`@:02B:(`F,&@&Y4:BXH`=Y5X@X`1_`8`"?P#E +M1E3P_K[P!'X!@`)^`.YO)/^25>(.$$?P&` +M`G\`Y494\/Z^\`1^`8`"?@#N;R3_DG62="!M!*)L@";E1V0*<"(P;`;E1J+C +M@!?E.K0!!N5&HN.`-.5&(.0#,.4#TX`!PX`F,&P&Y4:BXH`=Y5X@X@1_`8`" +M?P#E1E3P_K[P!'X!@`)^`.YO)/^2<9)PD!``X)`0+/"0$`/@PY0P0!2B<9)W +MHG"2=N4N$Q-4/_4NPG?2=I`0+^4N\.5'9`9P1Y`"*.`P1P/_@`+T_X\GD`(I +MX%3^\.5#Q%0/%&`,)/Y@#"0#0 +M`BG@5/SPY3H48"(48"448"TD_&!))/E@%"0.<%#E1A,35#]U\`.$Y?`D_X`Z +MTCG".(`^Y48PX@/3@!W#@!KE1C#B#50XPY0P4`9^`'\!@`1^`'\`[D\D_Y(X +MPCF`$^5&,.(#TX`!PY(YPCB`!,(XPCDP1P2O)X`$Y2?T_P(8G^5'9`Q@">5' +M9`M@`P(8I)`"*.`P1P/_@`+T_X\GD`(IX%3]\.4Z%&`@%&`A%&`K)/Q@123Y +M8!(D#G!*Y483$U0_=?`#A.7P@"G2.8`ZY48PX@/3@`'#DCF`+>5&,.(-5#C# +ME#!0!GX`?P&`!'X`?P#N3R3_DCF`#^5&,.(#TX`!PY(Y@`+".3!'!*\G@`3E +M)_3_D`(H[_`BY4>T"Q"0`BG@5.OPY2=4ZT5%]2!4^_"`%.4\])`3*F`( +MX%3R13SP@`3@5/KPD`0!X%3]\'5B`755`N3U48`)Y5!P!75B`_51Y6)@%<(! +MY/51PEFM8J]`$AK+Y6*T`P+2`]*O(L*O,`$2Y)`!EO#U4<)9P@%]`J]`$AK+ +MY5(48`P$8`,"&LAU4@%U50.0!`'@1`[PY5A4&&`>D'`:X)`3*/"0"0$!WPD'`JX)`0'O"0$!S@]6*0$![@(.'SD!`O___P(0*`(0,@(0>`(3*@(3*P(32@(33Q(32R("%[D"&/`"%$@"$X,P!08@ -M#0,2&<@BD`&,X##C&^5,,.`$?T"``G\`D!`O[_"0`8QT"/#DD`&G\)`!C.`P -MX!R0`8#@M`(5H^"T`1"0`83@M($)D`&,=`'P$@W=(I`$%.`@YP,"$RF0#U/.20!D"&`$X+0@!G5.`W5/(.3U)R*0 -M`D7?57D'`0X/]T1R57^,;OQI!P$>#_=$@E5_C&[\;D -M_:]6$@NJD`04=(#PY)!P$_#E5O1P`P(3*0(3(N5'9`=@'>5'9`A@%^5'9`E@ -M$>5'9`I@"^5'9`M@!>5'M`P(D'`1X%0/]3KE1[0)".4ZM`,#Y/5&Y4>T"@CE -M.K0!`^3U1N3]KU82"ZK2!"*0"0 -M0`BG@_Y!P&>#^[UZ0`BGP,$<$KR>` -M!.4G]/^0`BCO\.56]'`#`A,I`A,BD'`0X/Z0WXYO57_:]6$@NJD`04 -M=(#PY)!P$_#E5O1P`P(3*0(3(I!P$.#^D'`1X/WM]8*.@^#U5_VO5A(+JI`$ -M%'2`\.200$`+@]5BCX/59Y5BTO5A(+JI`$%'2`\.200<"7@1`'P -M(B+E4W`:,&`)LDTP300%1L($Y4]%3F`(Y4\53W`"%4XB(L)"TR(P%#"0#_D'`9X/[O7I`"*?`P1P2O)X`$Y2?T_Y`"*._PPA0B -MPDO"3.5$$@JV$Z4`%#,$%"\(%`\0$[D@$]E@$^J@```4-85(0X5*0H5,7N5' -M9`9@`P(4-8`;Y4C$5`_U0^5*Q%0/]4+E3,14#_5>Y4=D!G!A4T,/@%R%24.% -M2T*%35[E1V0&<$V`&^5)Q%0/]4/E2\14#_5"Y4W$5`_U7N5'9`9P,.5#5`]$ -M$/5#@";E1V0$8`7E1[0%!D->!'5"">5'M`80Y4-4#T0P]4.`!M)+@`+23.3U -M)>5"Q%3P_^5#5`]/]5_28"+2%>5')/5@"R3+8`$$A1JPA7" -MK\($TJ\BPJ^0!!3@5`Y@!-(8@`CE3D5/)/^2&-*OD`04X*+DDAET'O#E7U0/ -M]2WE)7`3,!@%Y5\@Y0LP&1GE7U0P_[\P$>4E<`5U)0R``A4ETFS2;8`/Y5\P -MY@;";-)M@`32;,)MY4=D`W`A,$L&PFS2;8`8Y25P`S!,$<),Y25P!74E!X`" -M%272;-)MY4>T"13E1"#C"^4Z9`)@!>4ZM`,$PFS2;>5'M`H3Y3JT`0;";-)M -M@`CE.G`$TFS";2!I!^5>(.`"LF@@:P?E7B#A`K)J(&T'Y5X@X@*R;'4N0"!I -M!*)H@"8P:`;E1J+B@!WE7B#B!'\!@`)_`.5&5/#^OO`$?@&``GX`[F\D_Y)S -MDG(@:P2B:H`F,&H&Y4:BXH`=Y5X@X`1_`8`"?P#E1E3P_K[P!'X!@`)^`.YO -M)/^2=9)T(&T$HFR`)N5'9`IP(C!L!N5&HN.`%^4ZM`$&Y4:BXX`TY48@Y`,P -MY0/3@`'#@"8P;`;E1J+B@!WE7B#A!'\!@`)_`.5&5/#^OO`$?@&``GX`[F\D -M_Y)QDG"0$`#@D!`L\)`0`^##E#!`%*)QDG>B<))VY2X3$U0_]2["=])VD!`O -MY2[PY4=D!G`YD`(IX%3^\.5#Q%0/%&`,)/Y@#"0#`!.4G]/\"%W[E1V0,8`;E1V0+ -M<'J0`BG@5/WPY3H48"`48"$48"LD_&!%)/E@$B0.<$KE1A,35#]U\`.$Y?"` -M*=(Y@#KE1C#B`].``<.2.8`MY48PX@U4.,.4,%`&?@!_`8`$?@!_`.Y/)/^2 -M.8`/Y48PX@/3@`'#DCF``L(Y,$<$KR>`!.4G]/^0`BCO\"+E1[0+$)`"*>!4 -MZ_#E)U3K147U)R+DD`(I\#!'!*]%@`3E1?3_D`(H[_`BCU#262*/5-)8(N3U -M8L*OY5$48$@48&8D`F`#`AC4TEEU50&0`J+@5'_PH^`@YR.0!#3@M`(CX+0"$G\@$A>OD!`$X%3S\'51`0(8U.50<`9U8@,"&-20$@#@5`-P$G\@ -M$A>OD`*BX%2_\'51`@(8U.50<`,"&,^0`J/@,.8#`AC+D`0WX&0B8`,"&,N0 -M`8IT?O"0`9;PD!($=`KPY5BT!$#O"0X"#A\Y`0'."0<"CPD!`=X)!P -M*?"0$![@D'`J\#!*!Y!P).!$`?#"!=*O(B(B```````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` @@ -212,21 +226,7 @@ M``````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````1 -"=X$` +M``````````````````````````````````````````````````````````#L +"*=(` ` end From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 13:44:56 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8EC121065680; Sun, 8 Apr 2012 13:44:56 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 799FE8FC0A; Sun, 8 Apr 2012 13:44:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q38DiuHQ014198; Sun, 8 Apr 2012 13:44:56 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38DiuHx014196; Sun, 8 Apr 2012 13:44:56 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201204081344.q38DiuHx014196@svn.freebsd.org> From: Edward Tomasz Napierala Date: Sun, 8 Apr 2012 13:44:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234036 - head/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 13:44:56 -0000 Author: trasz Date: Sun Apr 8 13:44:55 2012 New Revision: 234036 URL: http://svn.freebsd.org/changeset/base/234036 Log: Fix panic in ffs_reload(), which may happen when read-only filesystem gets resized and then reloaded. Reviewed by: kib, mckusick (earlier version) Sponsored by: The FreeBSD Foundation Modified: head/sys/ufs/ffs/ffs_vfsops.c Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Sun Apr 8 11:09:08 2012 (r234035) +++ head/sys/ufs/ffs/ffs_vfsops.c Sun Apr 8 13:44:55 2012 (r234036) @@ -675,8 +675,14 @@ ffs_reload(struct mount *mp, struct thre /* * Step 3: re-read summary information from disk. */ - blks = howmany(fs->fs_cssize, fs->fs_fsize); - space = fs->fs_csp; + size = fs->fs_cssize; + blks = howmany(size, fs->fs_fsize); + if (fs->fs_contigsumsize > 0) + size += fs->fs_ncg * sizeof(int32_t); + size += fs->fs_ncg * sizeof(u_int8_t); + free(fs->fs_csp, M_UFSMNT); + space = malloc((u_long)size, M_UFSMNT, M_WAITOK); + fs->fs_csp = space; for (i = 0; i < blks; i += fs->fs_frag) { size = fs->fs_bsize; if (i + fs->fs_frag > blks) From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 16:26:27 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 622021065670; Sun, 8 Apr 2012 16:26:27 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D6B48FC0C; Sun, 8 Apr 2012 16:26:27 +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 q38GQR9w019426; Sun, 8 Apr 2012 16:26:27 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38GQRJk019424; Sun, 8 Apr 2012 16:26:27 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201204081626.q38GQRJk019424@svn.freebsd.org> From: Peter Holm Date: Sun, 8 Apr 2012 16:26:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234037 - stable/9/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 16:26:27 -0000 Author: pho Date: Sun Apr 8 16:26:26 2012 New Revision: 234037 URL: http://svn.freebsd.org/changeset/base/234037 Log: MFC: r232860 Allways call fdrop(). Modified: stable/9/sys/kern/sys_capability.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/kern/sys_capability.c ============================================================================== --- stable/9/sys/kern/sys_capability.c Sun Apr 8 13:44:55 2012 (r234036) +++ stable/9/sys/kern/sys_capability.c Sun Apr 8 16:26:26 2012 (r234037) @@ -253,16 +253,14 @@ sys_cap_new(struct thread *td, struct ca return (error); AUDIT_ARG_FILE(td->td_proc, fp); error = kern_capwrap(td, fp, rights, &capfd); - if (error) - return (error); - /* * Release our reference to the file (kern_capwrap has held a reference * for the filedesc array). */ fdrop(fp, td); - td->td_retval[0] = capfd; - return (0); + if (error == 0) + td->td_retval[0] = capfd; + return (error); } /* From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 17:00:46 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BB4FA106566C; Sun, 8 Apr 2012 17:00:46 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A6F718FC14; Sun, 8 Apr 2012 17:00: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 q38H0kVg020587; Sun, 8 Apr 2012 17:00:46 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38H0kjj020585; Sun, 8 Apr 2012 17:00:46 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201204081700.q38H0kjj020585@svn.freebsd.org> From: Alan Cox Date: Sun, 8 Apr 2012 17:00:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234038 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 17:00:46 -0000 Author: alc Date: Sun Apr 8 17:00:46 2012 New Revision: 234038 URL: http://svn.freebsd.org/changeset/base/234038 Log: If a page belonging a reservation is cached, then mark the reservation so that it will be freed to the cache pool rather than the default pool. Otherwise, the cached pages within the reservation may be recycled sooner than necessary. Reported by: Andrey Zonov Modified: head/sys/vm/vm_reserv.c Modified: head/sys/vm/vm_reserv.c ============================================================================== --- head/sys/vm/vm_reserv.c Sun Apr 8 16:26:26 2012 (r234037) +++ head/sys/vm/vm_reserv.c Sun Apr 8 17:00:46 2012 (r234038) @@ -652,11 +652,13 @@ vm_reserv_free_page(vm_page_t m) mtx_assert(&vm_page_queue_free_mtx, MA_OWNED); rv = vm_reserv_from_page(m); - if (rv->object != NULL) { - vm_reserv_depopulate(rv); - return (TRUE); - } - return (FALSE); + if (rv->object == NULL) + return (FALSE); + if ((m->flags & PG_CACHED) != 0 && m->pool != VM_FREEPOOL_CACHE) + vm_phys_set_pool(VM_FREEPOOL_CACHE, rv->pages, + VM_LEVEL_0_ORDER); + vm_reserv_depopulate(rv); + return (TRUE); } /* From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 17:41:13 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D5CEA106564A; Sun, 8 Apr 2012 17:41:13 +0000 (UTC) (envelope-from tomelite82@gmail.com) Received: from mail-wg0-f50.google.com (mail-wg0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id E4D168FC0A; Sun, 8 Apr 2012 17:41:12 +0000 (UTC) Received: by wgbds12 with SMTP id ds12so3595769wgb.31 for ; Sun, 08 Apr 2012 10:41:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=wLcEMJw0VxY9Xcd2HScITA2cZXBxFeDoLb7lvNLYyko=; b=hd2bz91NX4VwpGqpvK5nO3Q0diEDpnHZ5Nlrl/EjJxCVMbSlrBeNacXKKJPBXFU376 lcjNYIbNCcgXcVgfJP6nEx1uvpwqhiESwozFI8mDKHBrkl99Pz49qMMNM7Y1Lgge8JB7 oKMaDnIvM/BbCJ+w7aKQnZX3a51/DF0iyFHrxAIXdEl/zZQJi0xqtrgj+7Zvyv0h61oZ ygFwmGKzl1lFfZEoDCZmelFE6MswaGudw/LeVweU9ehiuJGnUoZvBgA9GF5FeVpEPH3e NHnUtXxVRBDPXBQteFHqUZ3jYSzVy/fvlQLa8FGOuPL8+MJl3Mb4tj2Np7GnpaaFWYZD FqnQ== MIME-Version: 1.0 Received: by 10.180.96.228 with SMTP id dv4mr10409278wib.14.1333906871897; Sun, 08 Apr 2012 10:41:11 -0700 (PDT) Sender: tomelite82@gmail.com Received: by 10.223.70.129 with HTTP; Sun, 8 Apr 2012 10:41:11 -0700 (PDT) In-Reply-To: <201204021044.q32AiPng094511@svn.freebsd.org> References: <201204021044.q32AiPng094511@svn.freebsd.org> Date: Sun, 8 Apr 2012 10:41:11 -0700 X-Google-Sender-Auth: O7ircPowpX5Q7ajkXVeOZO4cLhQ Message-ID: From: Qing Li To: Gleb Smirnoff Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233773 - head/usr.sbin/arp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 17:41:14 -0000 This is not the right way to support RFC3021. The code you removed is used for checking against attempt at adding duplicate entry. Both the message and the code apply in that context. I tried to state clearly and concisely what r201282 was intended in solving and was verified by actual users who ran into the described problems. If we actually need to support RFC 3021, then better do it properly. --Qing On Mon, Apr 2, 2012 at 3:44 AM, Gleb Smirnoff wrote: > Author: glebius > Date: Mon Apr =A02 10:44:25 2012 > New Revision: 233773 > URL: http://svn.freebsd.org/changeset/base/233773 > > Log: > =A0Historically arp(8) did a route lookup for the entry it is > =A0about to add, and failed if it exist and had invalid data > =A0link type. > > =A0Later on, in r201282, this check morphed to other code, but > =A0message "proxy entry exists for non 802 device" still left, > =A0and now it is printed in a case if route prefix found is > =A0equal to current address being added. In other words, when > =A0we are trying to add ARP entry for a network address. The > =A0message is absolutely unrelated and disappointing in this > =A0case. > > =A0I don't see anything bad with setting ARP entries for > =A0network addresses. While useless in usual network, > =A0in a /31 RFC3021 it may be necessary. This, remove this code. > > Modified: > =A0head/usr.sbin/arp/arp.c > > Modified: head/usr.sbin/arp/arp.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/usr.sbin/arp/arp.c =A0 =A0 Mon Apr =A02 10:24:50 2012 =A0 =A0 = =A0 =A0(r233772) > +++ head/usr.sbin/arp/arp.c =A0 =A0 Mon Apr =A02 10:44:25 2012 =A0 =A0 = =A0 =A0(r233773) > @@ -387,10 +387,6 @@ set(int argc, char **argv) > =A0 =A0 =A0 =A0} > =A0 =A0 =A0 =A0addr =3D (struct sockaddr_inarp *)(rtm + 1); > =A0 =A0 =A0 =A0sdl =3D (struct sockaddr_dl *)(SA_SIZE(addr) + (char *)add= r); > - =A0 =A0 =A0 if (addr->sin_addr.s_addr =3D=3D dst->sin_addr.s_addr) { > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 printf("set: proxy entry exists for non 802= device\n"); > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 return (1); > - =A0 =A0 =A0 } > > =A0 =A0 =A0 =A0if ((sdl->sdl_family !=3D AF_LINK) || > =A0 =A0 =A0 =A0 =A0 =A0(rtm->rtm_flags & RTF_GATEWAY) || From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 18:25:13 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B99231065677; Sun, 8 Apr 2012 18:25:13 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8BDEE8FC17; Sun, 8 Apr 2012 18:25:13 +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 q38IPDJe023163; Sun, 8 Apr 2012 18:25:13 GMT (envelope-from alc@svn.freebsd.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38IPDqT023159; Sun, 8 Apr 2012 18:25:13 GMT (envelope-from alc@svn.freebsd.org) Message-Id: <201204081825.q38IPDqT023159@svn.freebsd.org> From: Alan Cox Date: Sun, 8 Apr 2012 18:25:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234039 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 18:25:13 -0000 Author: alc Date: Sun Apr 8 18:25:12 2012 New Revision: 234039 URL: http://svn.freebsd.org/changeset/base/234039 Log: Fix mincore(2) so that it reports PG_CACHED pages as resident. MFC after: 2 weeks Modified: head/sys/vm/vm_mmap.c head/sys/vm/vm_page.c head/sys/vm/vm_page.h Modified: head/sys/vm/vm_mmap.c ============================================================================== --- head/sys/vm/vm_mmap.c Sun Apr 8 17:00:46 2012 (r234038) +++ head/sys/vm/vm_mmap.c Sun Apr 8 18:25:12 2012 (r234039) @@ -888,6 +888,9 @@ RestartScan: pindex = OFF_TO_IDX(current->offset + (addr - current->start)); m = vm_page_lookup(object, pindex); + if (m == NULL && + vm_page_is_cached(object, pindex)) + mincoreinfo = MINCORE_INCORE; if (m != NULL && m->valid == 0) m = NULL; if (m != NULL) Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Sun Apr 8 17:00:46 2012 (r234038) +++ head/sys/vm/vm_page.c Sun Apr 8 18:25:12 2012 (r234039) @@ -1285,6 +1285,33 @@ vm_page_cache_transfer(vm_object_t orig_ } /* + * Returns TRUE if a cached page is associated with the given object and + * offset, and FALSE otherwise. + * + * The object must be locked. + */ +boolean_t +vm_page_is_cached(vm_object_t object, vm_pindex_t pindex) +{ + vm_page_t m; + + /* + * Insertion into an object's collection of cached pages requires the + * object to be locked. Therefore, if the object is locked and the + * object's collection is empty, there is no need to acquire the free + * page queues lock in order to prove that the specified page doesn't + * exist. + */ + VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); + if (object->cache == NULL) + return (FALSE); + mtx_lock(&vm_page_queue_free_mtx); + m = vm_page_cache_lookup(object, pindex); + mtx_unlock(&vm_page_queue_free_mtx); + return (m != NULL); +} + +/* * vm_page_alloc: * * Allocate and return a page that is associated with the specified Modified: head/sys/vm/vm_page.h ============================================================================== --- head/sys/vm/vm_page.h Sun Apr 8 17:00:46 2012 (r234038) +++ head/sys/vm/vm_page.h Sun Apr 8 18:25:12 2012 (r234039) @@ -392,6 +392,7 @@ void vm_page_deactivate (vm_page_t); vm_page_t vm_page_find_least(vm_object_t, vm_pindex_t); vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr); void vm_page_insert (vm_page_t, vm_object_t, vm_pindex_t); +boolean_t vm_page_is_cached(vm_object_t object, vm_pindex_t pindex); vm_page_t vm_page_lookup (vm_object_t, vm_pindex_t); vm_page_t vm_page_next(vm_page_t m); int vm_page_pa_tryrelock(pmap_t, vm_paddr_t, vm_paddr_t *); From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 19:58:39 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42FC5106564A; Sun, 8 Apr 2012 19:58:39 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2CC938FC0C; Sun, 8 Apr 2012 19:58: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 q38Jwd7Y026019; Sun, 8 Apr 2012 19:58:39 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38JwcZc026017; Sun, 8 Apr 2012 19:58:38 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204081958.q38JwcZc026017@svn.freebsd.org> From: Andriy Gapon Date: Sun, 8 Apr 2012 19:58:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234040 - head/sys/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 19:58:39 -0000 Author: avg Date: Sun Apr 8 19:58:38 2012 New Revision: 234040 URL: http://svn.freebsd.org/changeset/base/234040 Log: intpm: reflect the fact that SB800 and later AMD chipsets are not supported They do not have compatible configuration registers in PCI configuration space. Instead their configuration resides in AMD "PM I/O" space (accessed via a pair of I/O space registers). MFC after: 5 days Modified: head/sys/pci/intpm.c Modified: head/sys/pci/intpm.c ============================================================================== --- head/sys/pci/intpm.c Sun Apr 8 18:25:12 2012 (r234039) +++ head/sys/pci/intpm.c Sun Apr 8 19:58:38 2012 (r234040) @@ -99,6 +99,9 @@ intsmb_probe(device_t dev) device_set_desc(dev, "Intel PIIX4 SMBUS Interface"); break; case 0x43851002: + /* SB800 and newer can not be configured in a compatible way. */ + if (pci_get_revid(dev) >= 0x40) + return (ENXIO); device_set_desc(dev, "AMD SB600/700/710/750 SMBus Controller"); /* XXX Maybe force polling right here? */ break; From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 20:40:26 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BB24D1065670; Sun, 8 Apr 2012 20:40:26 +0000 (UTC) (envelope-from davide@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9B1858FC08; Sun, 8 Apr 2012 20:40: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 q38KeQWu027305; Sun, 8 Apr 2012 20:40:26 GMT (envelope-from davide@svn.freebsd.org) Received: (from davide@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38KeQ0s027301; Sun, 8 Apr 2012 20:40:26 GMT (envelope-from davide@svn.freebsd.org) Message-Id: <201204082040.q38KeQ0s027301@svn.freebsd.org> From: Davide Italiano Date: Sun, 8 Apr 2012 20:40:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234041 - stable/9/sys/dev/hwpmc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 20:40:26 -0000 Author: davide Date: Sun Apr 8 20:40:26 2012 New Revision: 234041 URL: http://svn.freebsd.org/changeset/base/234041 Log: MFC: r229469 Add missing MSR programming for some events. Submitted by: me Approved by: gnn (mentor) Modified: stable/9/sys/dev/hwpmc/hwpmc_uncore.c stable/9/sys/dev/hwpmc/hwpmc_uncore.h stable/9/sys/dev/hwpmc/pmc_events.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/dev/hwpmc/hwpmc_uncore.c ============================================================================== --- stable/9/sys/dev/hwpmc/hwpmc_uncore.c Sun Apr 8 19:58:38 2012 (r234040) +++ stable/9/sys/dev/hwpmc/hwpmc_uncore.c Sun Apr 8 20:40:26 2012 (r234041) @@ -545,8 +545,14 @@ static struct ucp_event_descr ucp_events UCPDESCR(0CH_01H, 0x0C, 0x01, UCP_F_FM | UCP_F_WM), UCPDESCR(0CH_02H, 0x0C, 0x02, UCP_F_FM | UCP_F_WM), - UCPDESCR(0CH_04H, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), - UCPDESCR(0CH_08H, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_04H_E, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_04H_F, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_04H_M, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_04H_S, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_08H_E, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_08H_F, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_08H_M, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_08H_S, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), UCPDESCR(20H_01H, 0x20, 0x01, UCP_F_FM | UCP_F_I7 | UCP_F_WM), UCPDESCR(20H_02H, 0x20, 0x02, UCP_F_FM | UCP_F_I7 | UCP_F_WM), @@ -965,6 +971,36 @@ ucp_start_pmc(int cpu, int ri) PMCDBG(MDP,STA,2, "ucp-start/2 cpu=%d ri=%d evselmsr=0x%x evsel=0x%x", cpu, ri, UCP_EVSEL0 + ri, evsel); + /* Event specific configuration. */ + switch (pm->pm_event) { + case PMC_EV_UCP_EVENT_0CH_04H_E: + wrmsr(MSR_GQ_SNOOP_MESF,0x2); + break; + case PMC_EV_UCP_EVENT_0CH_04H_F: + wrmsr(MSR_GQ_SNOOP_MESF,0x8); + break; + case PMC_EV_UCP_EVENT_0CH_04H_M: + wrmsr(MSR_GQ_SNOOP_MESF,0x1); + break; + case PMC_EV_UCP_EVENT_0CH_04H_S: + wrmsr(MSR_GQ_SNOOP_MESF,0x4); + break; + case PMC_EV_UCP_EVENT_0CH_08H_E: + wrmsr(MSR_GQ_SNOOP_MESF,0x2); + break; + case PMC_EV_UCP_EVENT_0CH_08H_F: + wrmsr(MSR_GQ_SNOOP_MESF,0x8); + break; + case PMC_EV_UCP_EVENT_0CH_08H_M: + wrmsr(MSR_GQ_SNOOP_MESF,0x1); + break; + case PMC_EV_UCP_EVENT_0CH_08H_S: + wrmsr(MSR_GQ_SNOOP_MESF,0x4); + break; + default: + break; + } + wrmsr(UCP_EVSEL0 + ri, evsel); do { Modified: stable/9/sys/dev/hwpmc/hwpmc_uncore.h ============================================================================== --- stable/9/sys/dev/hwpmc/hwpmc_uncore.h Sun Apr 8 19:58:38 2012 (r234040) +++ stable/9/sys/dev/hwpmc/hwpmc_uncore.h Sun Apr 8 20:40:26 2012 (r234041) @@ -87,11 +87,18 @@ struct pmc_md_ucp_op_pmcallocate { #define UC_GLOBAL_CTRL 0x391 #define UC_GLOBAL_OVF_CTRL 0x393 + #define UC_GLOBAL_STATUS_FLAG_CLRCHG (1ULL << 63) #define UC_GLOBAL_STATUS_FLAG_OVFPMI (1ULL << 61) #define UC_GLOBAL_CTRL_FLAG_FRZ (1ULL << 63) #define UC_GLOBAL_CTRL_FLAG_ENPMICORE0 (1ULL << 48) +/* + * Model specific registers. + */ + +#define MSR_GQ_SNOOP_MESF 0x301 + struct pmc_md_ucf_pmc { uint64_t pm_ucf_ctrl; }; Modified: stable/9/sys/dev/hwpmc/pmc_events.h ============================================================================== --- stable/9/sys/dev/hwpmc/pmc_events.h Sun Apr 8 19:58:38 2012 (r234040) +++ stable/9/sys/dev/hwpmc/pmc_events.h Sun Apr 8 20:40:26 2012 (r234041) @@ -2388,8 +2388,14 @@ __PMC_EV(UCP, EVENT_0BH_10H) \ __PMC_EV(UCP, EVENT_0BH_1FH) \ __PMC_EV(UCP, EVENT_0CH_01H) \ __PMC_EV(UCP, EVENT_0CH_02H) \ -__PMC_EV(UCP, EVENT_0CH_04H) \ -__PMC_EV(UCP, EVENT_0CH_08H) \ +__PMC_EV(UCP, EVENT_0CH_04H_E) \ +__PMC_EV(UCP, EVENT_0CH_04H_F) \ +__PMC_EV(UCP, EVENT_0CH_04H_M) \ +__PMC_EV(UCP, EVENT_0CH_04H_S) \ +__PMC_EV(UCP, EVENT_0CH_08H_E) \ +__PMC_EV(UCP, EVENT_0CH_08H_F) \ +__PMC_EV(UCP, EVENT_0CH_08H_M) \ +__PMC_EV(UCP, EVENT_0CH_08H_S) \ __PMC_EV(UCP, EVENT_20H_01H) \ __PMC_EV(UCP, EVENT_20H_02H) \ __PMC_EV(UCP, EVENT_20H_04H) \ @@ -2789,8 +2795,14 @@ __PMC_EV_ALIAS("L3_LINES_OUT.F_STATE", U __PMC_EV_ALIAS("L3_LINES_OUT.ANY", UCP_EVENT_0BH_1FH) \ __PMC_EV_ALIAS("GQ_SNOOP.GOTO_S", UCP_EVENT_0CH_01H) \ __PMC_EV_ALIAS("GQ_SNOOP.GOTO_I", UCP_EVENT_0CH_02H) \ -__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT", UCP_EVENT_0CH_04H) \ -__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT", UCP_EVENT_0CH_08H) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT_E", UCP_EVENT_0CH_04H_E) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT_F", UCP_EVENT_0CH_04H_F) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT_M", UCP_EVENT_0CH_04H_M) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT_S", UCP_EVENT_0CH_04H_S) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT_E", UCP_EVENT_0CH_08H_E) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT_F", UCP_EVENT_0CH_08H_F) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT_M", UCP_EVENT_0CH_08H_M) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT_S", UCP_EVENT_0CH_08H_S) \ __PMC_EV_ALIAS("QHL_REQUESTS.IOH_READS", UCP_EVENT_20H_01H) \ __PMC_EV_ALIAS("QHL_REQUESTS.IOH_WRITES", UCP_EVENT_20H_02H) \ __PMC_EV_ALIAS("QHL_REQUESTS.REMOTE_READS", UCP_EVENT_20H_04H) \ From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 20:44:58 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 40CBC106564A; Sun, 8 Apr 2012 20:44:58 +0000 (UTC) (envelope-from davide@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 205548FC0A; Sun, 8 Apr 2012 20:44: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 q38Kivph027554; Sun, 8 Apr 2012 20:44:57 GMT (envelope-from davide@svn.freebsd.org) Received: (from davide@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38Kiveo027550; Sun, 8 Apr 2012 20:44:57 GMT (envelope-from davide@svn.freebsd.org) Message-Id: <201204082044.q38Kiveo027550@svn.freebsd.org> From: Davide Italiano Date: Sun, 8 Apr 2012 20:44:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234042 - stable/8/sys/dev/hwpmc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 20:44:58 -0000 Author: davide Date: Sun Apr 8 20:44:57 2012 New Revision: 234042 URL: http://svn.freebsd.org/changeset/base/234042 Log: MFC: r229469 Add missing MSR programming for some events. Submitted by: me Approved by: gnn (mentor) Modified: stable/8/sys/dev/hwpmc/hwpmc_uncore.c stable/8/sys/dev/hwpmc/hwpmc_uncore.h stable/8/sys/dev/hwpmc/pmc_events.h Directory Properties: stable/8/sys/ (props changed) Modified: stable/8/sys/dev/hwpmc/hwpmc_uncore.c ============================================================================== --- stable/8/sys/dev/hwpmc/hwpmc_uncore.c Sun Apr 8 20:40:26 2012 (r234041) +++ stable/8/sys/dev/hwpmc/hwpmc_uncore.c Sun Apr 8 20:44:57 2012 (r234042) @@ -545,8 +545,14 @@ static struct ucp_event_descr ucp_events UCPDESCR(0CH_01H, 0x0C, 0x01, UCP_F_FM | UCP_F_WM), UCPDESCR(0CH_02H, 0x0C, 0x02, UCP_F_FM | UCP_F_WM), - UCPDESCR(0CH_04H, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), - UCPDESCR(0CH_08H, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_04H_E, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_04H_F, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_04H_M, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_04H_S, 0x0C, 0x04, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_08H_E, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_08H_F, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_08H_M, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), + UCPDESCR(0CH_08H_S, 0x0C, 0x08, UCP_F_FM | UCP_F_WM), UCPDESCR(20H_01H, 0x20, 0x01, UCP_F_FM | UCP_F_I7 | UCP_F_WM), UCPDESCR(20H_02H, 0x20, 0x02, UCP_F_FM | UCP_F_I7 | UCP_F_WM), @@ -965,6 +971,36 @@ ucp_start_pmc(int cpu, int ri) PMCDBG(MDP,STA,2, "ucp-start/2 cpu=%d ri=%d evselmsr=0x%x evsel=0x%x", cpu, ri, UCP_EVSEL0 + ri, evsel); + /* Event specific configuration. */ + switch (pm->pm_event) { + case PMC_EV_UCP_EVENT_0CH_04H_E: + wrmsr(MSR_GQ_SNOOP_MESF,0x2); + break; + case PMC_EV_UCP_EVENT_0CH_04H_F: + wrmsr(MSR_GQ_SNOOP_MESF,0x8); + break; + case PMC_EV_UCP_EVENT_0CH_04H_M: + wrmsr(MSR_GQ_SNOOP_MESF,0x1); + break; + case PMC_EV_UCP_EVENT_0CH_04H_S: + wrmsr(MSR_GQ_SNOOP_MESF,0x4); + break; + case PMC_EV_UCP_EVENT_0CH_08H_E: + wrmsr(MSR_GQ_SNOOP_MESF,0x2); + break; + case PMC_EV_UCP_EVENT_0CH_08H_F: + wrmsr(MSR_GQ_SNOOP_MESF,0x8); + break; + case PMC_EV_UCP_EVENT_0CH_08H_M: + wrmsr(MSR_GQ_SNOOP_MESF,0x1); + break; + case PMC_EV_UCP_EVENT_0CH_08H_S: + wrmsr(MSR_GQ_SNOOP_MESF,0x4); + break; + default: + break; + } + wrmsr(UCP_EVSEL0 + ri, evsel); do { Modified: stable/8/sys/dev/hwpmc/hwpmc_uncore.h ============================================================================== --- stable/8/sys/dev/hwpmc/hwpmc_uncore.h Sun Apr 8 20:40:26 2012 (r234041) +++ stable/8/sys/dev/hwpmc/hwpmc_uncore.h Sun Apr 8 20:44:57 2012 (r234042) @@ -87,11 +87,18 @@ struct pmc_md_ucp_op_pmcallocate { #define UC_GLOBAL_CTRL 0x391 #define UC_GLOBAL_OVF_CTRL 0x393 + #define UC_GLOBAL_STATUS_FLAG_CLRCHG (1ULL << 63) #define UC_GLOBAL_STATUS_FLAG_OVFPMI (1ULL << 61) #define UC_GLOBAL_CTRL_FLAG_FRZ (1ULL << 63) #define UC_GLOBAL_CTRL_FLAG_ENPMICORE0 (1ULL << 48) +/* + * Model specific registers. + */ + +#define MSR_GQ_SNOOP_MESF 0x301 + struct pmc_md_ucf_pmc { uint64_t pm_ucf_ctrl; }; Modified: stable/8/sys/dev/hwpmc/pmc_events.h ============================================================================== --- stable/8/sys/dev/hwpmc/pmc_events.h Sun Apr 8 20:40:26 2012 (r234041) +++ stable/8/sys/dev/hwpmc/pmc_events.h Sun Apr 8 20:44:57 2012 (r234042) @@ -2388,8 +2388,14 @@ __PMC_EV(UCP, EVENT_0BH_10H) \ __PMC_EV(UCP, EVENT_0BH_1FH) \ __PMC_EV(UCP, EVENT_0CH_01H) \ __PMC_EV(UCP, EVENT_0CH_02H) \ -__PMC_EV(UCP, EVENT_0CH_04H) \ -__PMC_EV(UCP, EVENT_0CH_08H) \ +__PMC_EV(UCP, EVENT_0CH_04H_E) \ +__PMC_EV(UCP, EVENT_0CH_04H_F) \ +__PMC_EV(UCP, EVENT_0CH_04H_M) \ +__PMC_EV(UCP, EVENT_0CH_04H_S) \ +__PMC_EV(UCP, EVENT_0CH_08H_E) \ +__PMC_EV(UCP, EVENT_0CH_08H_F) \ +__PMC_EV(UCP, EVENT_0CH_08H_M) \ +__PMC_EV(UCP, EVENT_0CH_08H_S) \ __PMC_EV(UCP, EVENT_20H_01H) \ __PMC_EV(UCP, EVENT_20H_02H) \ __PMC_EV(UCP, EVENT_20H_04H) \ @@ -2789,8 +2795,14 @@ __PMC_EV_ALIAS("L3_LINES_OUT.F_STATE", U __PMC_EV_ALIAS("L3_LINES_OUT.ANY", UCP_EVENT_0BH_1FH) \ __PMC_EV_ALIAS("GQ_SNOOP.GOTO_S", UCP_EVENT_0CH_01H) \ __PMC_EV_ALIAS("GQ_SNOOP.GOTO_I", UCP_EVENT_0CH_02H) \ -__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT", UCP_EVENT_0CH_04H) \ -__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT", UCP_EVENT_0CH_08H) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT_E", UCP_EVENT_0CH_04H_E) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT_F", UCP_EVENT_0CH_04H_F) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT_M", UCP_EVENT_0CH_04H_M) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_S_HIT_S", UCP_EVENT_0CH_04H_S) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT_E", UCP_EVENT_0CH_08H_E) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT_F", UCP_EVENT_0CH_08H_F) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT_M", UCP_EVENT_0CH_08H_M) \ +__PMC_EV_ALIAS("GQ_SNOOP.GOTO_I_HIT_S", UCP_EVENT_0CH_08H_S) \ __PMC_EV_ALIAS("QHL_REQUESTS.IOH_READS", UCP_EVENT_20H_01H) \ __PMC_EV_ALIAS("QHL_REQUESTS.IOH_WRITES", UCP_EVENT_20H_02H) \ __PMC_EV_ALIAS("QHL_REQUESTS.REMOTE_READS", UCP_EVENT_20H_04H) \ From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 20:48:39 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BA922106566B; Sun, 8 Apr 2012 20:48:39 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A5F378FC0C; Sun, 8 Apr 2012 20:48: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 q38KmdnA027713; Sun, 8 Apr 2012 20:48:39 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38Kmdnr027711; Sun, 8 Apr 2012 20:48:39 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204082048.q38Kmdnr027711@svn.freebsd.org> From: Andriy Gapon Date: Sun, 8 Apr 2012 20:48:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234043 - head/sys/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 20:48:39 -0000 Author: avg Date: Sun Apr 8 20:48:39 2012 New Revision: 234043 URL: http://svn.freebsd.org/changeset/base/234043 Log: intpm: return only SMB bus error codes from SMB methods PR: kern/25733 MFC after: 5 days Modified: head/sys/pci/intpm.c Modified: head/sys/pci/intpm.c ============================================================================== --- head/sys/pci/intpm.c Sun Apr 8 20:44:57 2012 (r234042) +++ head/sys/pci/intpm.c Sun Apr 8 20:48:39 2012 (r234043) @@ -272,7 +272,7 @@ intsmb_callback(device_t dev, int index, case SMB_RELEASE_BUS: break; default: - error = EINVAL; + error = SMB_EINVAL; } return (error); @@ -519,7 +519,7 @@ intsmb_quick(device_t dev, u_char slave, data |= LSB; break; default: - return (EINVAL); + return (SMB_EINVAL); } INTSMB_LOCK(sc); @@ -774,7 +774,7 @@ intsmb_bread(device_t dev, u_char slave, } *count = nread; } else - error = EIO; + error = SMB_EBUSERR; } INTSMB_UNLOCK(sc); return (error); From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 20:51:38 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 03C171065673; Sun, 8 Apr 2012 20:51:38 +0000 (UTC) (envelope-from davide@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DE4548FC15; Sun, 8 Apr 2012 20:51:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q38KpbKO027851; Sun, 8 Apr 2012 20:51:37 GMT (envelope-from davide@svn.freebsd.org) Received: (from davide@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38Kpbt1027847; Sun, 8 Apr 2012 20:51:37 GMT (envelope-from davide@svn.freebsd.org) Message-Id: <201204082051.q38Kpbt1027847@svn.freebsd.org> From: Davide Italiano Date: Sun, 8 Apr 2012 20:51:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234044 - in stable/9: lib/libpmc sys/dev/hwpmc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 20:51:38 -0000 Author: davide Date: Sun Apr 8 20:51:37 2012 New Revision: 234044 URL: http://svn.freebsd.org/changeset/base/234044 Log: MFC: r229470 Update PMC events from October 2011 Intel documentation. Approved by: gnn (mentor) Modified: stable/9/lib/libpmc/pmc.corei7.3 stable/9/sys/dev/hwpmc/hwpmc_core.c stable/9/sys/dev/hwpmc/pmc_events.h Directory Properties: stable/9/lib/libpmc/ (props changed) stable/9/sys/ (props changed) Modified: stable/9/lib/libpmc/pmc.corei7.3 ============================================================================== --- stable/9/lib/libpmc/pmc.corei7.3 Sun Apr 8 20:48:39 2012 (r234043) +++ stable/9/lib/libpmc/pmc.corei7.3 Sun Apr 8 20:51:37 2012 (r234044) @@ -200,10 +200,6 @@ Number of cache load STLB hits .Pq Event 08H , Umask 20H Number of DTLB cache load misses where the low part of the linear to physical address translation was missed. -.It Li DTLB_LOAD_MISSES.PDP_MISS -.Pq Event 08H , Umask 40H -Number of DTLB cache load misses where the high part of the linear to -physical address translation was missed. .It Li DTLB_LOAD_MISSES.LARGE_WALK_COMPLETED .Pq Event 08H , Umask 80H Counts number of completed large page walks due to load miss in the STLB. @@ -646,10 +642,6 @@ Counter 0, 1 only Counts all data reads and writes (speculated and retired) from cacheable memory, including locked operations. Counter 0, 1 only -.It Li L1D_PEND_MISS.LOAD_BUFFERS_FULL -.Pq Event 48H , Umask 02H -Counts cycles of L1 data cache load fill buffers full. -Counter 0, 1 only .It Li DTLB_MISSES.ANY .Pq Event 49H , Umask 01H Counts the number of misses in the STLB which causes a page walk. @@ -660,6 +652,12 @@ Counts number of misses in the STLB whic .Pq Event 49H , Umask 10H Counts the number of DTLB first level misses that hit in the second level TLB. This event is only relevant if the core contains multiple DTLB levels. +.It Li DTLB_MISSES.PDE_MISS +.Pq Event 49H , Umask 20H +Number of DTLB misses caused by low part of address, includes references to 2M pages because 2M pages do not use the PDE. +.It Li DTLB_MISSES.LARGE_WALK_COMPLETED +.Pq Event 49H , Umask 80H +Counts number of misses in the STLB which resulted in a completed page walk for large pages. .It Li LOAD_HIT_PRE .Pq Event 4CH , Umask 01H Counts load operations sent to the L1 data cache while a previous SSE @@ -1205,9 +1203,6 @@ The BPU clear leads to 2 cycle bubble in .Pq Event E8H , Umask 02H Counts late Branch Prediction Unit clears due to Most Recently Used conflicts. The PBU clear leads to a 3 cycle bubble in the Front End. -.It Li BPU_CLEARS.ANY -.Pq Event E8H , Umask 03H -Counts all BPU clears. .It Li L2_TRANSACTIONS.LOAD .Pq Event F0H , Umask 01H Counts L2 load operations due to HW prefetch or demand loads. Modified: stable/9/sys/dev/hwpmc/hwpmc_core.c ============================================================================== --- stable/9/sys/dev/hwpmc/hwpmc_core.c Sun Apr 8 20:48:39 2012 (r234043) +++ stable/9/sys/dev/hwpmc/hwpmc_core.c Sun Apr 8 20:51:37 2012 (r234044) @@ -642,7 +642,7 @@ static struct iap_event_descr iap_events IAPDESCR(08H_09H, 0x08, 0x09, IAP_F_FM | IAP_F_CA), IAPDESCR(08H_10H, 0x08, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM), IAPDESCR(08H_20H, 0x08, 0x20, IAP_F_FM | IAP_F_I7 | IAP_F_WM), - IAPDESCR(08H_40H, 0x08, 0x40, IAP_F_FM | IAP_F_I7), + IAPDESCR(08H_40H, 0x08, 0x40, IAP_F_FM | IAP_F_I7O), IAPDESCR(08H_80H, 0x08, 0x80, IAP_F_FM | IAP_F_I7), IAPDESCR(09H_01H, 0x09, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_I7O), @@ -845,7 +845,7 @@ static struct iap_event_descr iap_events IAPDESCR(47H_00H, 0x47, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2), IAPDESCR(48H_00H, 0x48, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2), - IAPDESCR(48H_02H, 0x48, 0x02, IAP_F_FM | IAP_F_I7), + IAPDESCR(48H_02H, 0x48, 0x02, IAP_F_FM | IAP_F_I7O), IAPDESCR(49H_00H, 0x49, 0x00, IAP_F_FM | IAP_F_CC), IAPDESCR(49H_01H, 0x49, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | @@ -854,9 +854,9 @@ static struct iap_event_descr iap_events IAP_F_I7 | IAP_F_WM), IAPDESCR(49H_04H, 0x49, 0x04, IAP_F_FM | IAP_F_WM), IAPDESCR(49H_10H, 0x49, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM), - IAPDESCR(49H_20H, 0x49, 0x20, IAP_F_FM | IAP_F_I7O), + IAPDESCR(49H_20H, 0x49, 0x20, IAP_F_FM | IAP_F_I7), IAPDESCR(49H_40H, 0x49, 0x40, IAP_F_FM | IAP_F_I7O), - IAPDESCR(49H_80H, 0x49, 0x80, IAP_F_FM | IAP_F_WM | IAP_F_I7O), + IAPDESCR(49H_80H, 0x49, 0x80, IAP_F_FM | IAP_F_WM | IAP_F_I7), IAPDESCR(4BH_00H, 0x4B, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2), IAPDESCR(4BH_01H, 0x4B, 0x01, IAP_F_FM | IAP_F_ALLCPUSCORE2 | IAP_F_I7O), @@ -1306,7 +1306,7 @@ static struct iap_event_descr iap_events IAPDESCR(E8H_01H, 0xE8, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM), IAPDESCR(E8H_02H, 0xE8, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM), - IAPDESCR(E8H_03H, 0xE8, 0x03, IAP_F_FM | IAP_F_I7), + IAPDESCR(E8H_03H, 0xE8, 0x03, IAP_F_FM | IAP_F_I7O), IAPDESCR(ECH_01H, 0xEC, 0x01, IAP_F_FM | IAP_F_WM), @@ -1454,7 +1454,6 @@ iap_event_corei7_ok_on_counter(enum pmc_ case PMC_EV_IAP_EVENT_42H_08H: case PMC_EV_IAP_EVENT_43H_01H: case PMC_EV_IAP_EVENT_43H_02H: - case PMC_EV_IAP_EVENT_48H_02H: case PMC_EV_IAP_EVENT_51H_01H: case PMC_EV_IAP_EVENT_51H_02H: case PMC_EV_IAP_EVENT_51H_04H: Modified: stable/9/sys/dev/hwpmc/pmc_events.h ============================================================================== --- stable/9/sys/dev/hwpmc/pmc_events.h Sun Apr 8 20:48:39 2012 (r234043) +++ stable/9/sys/dev/hwpmc/pmc_events.h Sun Apr 8 20:51:37 2012 (r234044) @@ -1669,7 +1669,7 @@ __PMC_EV_ALIAS("X87_OPS_RETIRED.FXCH", /* * Core i7 and Xeon 5500 events removed between 253669-031US June 2009 - * and 253669-033US December 2009. + * and 253669-040US October 2011. */ #define __PMC_EV_ALIAS_COREI7_OLD() \ __PMC_EV_ALIAS("SB_FORWARD.ANY", IAP_EVENT_02H_01H) \ @@ -1682,6 +1682,7 @@ __PMC_EV_ALIAS("MISALIGN_MEM_REF.ANY", I __PMC_EV_ALIAS("STORE_BLOCKS.NOT_STA", IAP_EVENT_06H_01H) \ __PMC_EV_ALIAS("STORE_BLOCKS.STA", IAP_EVENT_06H_02H) \ __PMC_EV_ALIAS("STORE_BLOCKS.ANY", IAP_EVENT_06H_0FH) \ +__PMC_EV_ALIAS("DTLB_LOAD_MISSES.PDP_MISS", IAP_EVENT_08H_40H) \ __PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.RESET", IAP_EVENT_09H_01H) \ __PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.SUCCESS", IAP_EVENT_09H_02H) \ __PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.WATCHDOG", IAP_EVENT_09H_04H) \ @@ -1693,9 +1694,8 @@ __PMC_EV_ALIAS("L2_WRITE.RFO.E_STATE", I __PMC_EV_ALIAS("UOPS_DECODED.DEC0", IAP_EVENT_3DH_01H) \ __PMC_EV_ALIAS("L1D_CACHE_ST.I_STATE", IAP_EVENT_41H_01H) \ __PMC_EV_ALIAS("L1D_CACHE_ST.MESI", IAP_EVENT_41H_0FH) \ -__PMC_EV_ALIAS("DTLB_MISSES.PDE_MISS", IAP_EVENT_49H_20H) \ +__PMC_EV_ALIAS("L1D_PEND_MISS.LOAD_BUFFERS_FULL", IAP_EVENT_48H_02H) \ __PMC_EV_ALIAS("DTLB_MISSES.PDP_MISS", IAP_EVENT_49H_40H) \ -__PMC_EV_ALIAS("DTLB_MISSES.LARGE_WALK_COMPLETED", IAP_EVENT_49H_80H) \ __PMC_EV_ALIAS("SSE_MEM_EXEC.NTA", IAP_EVENT_4BH_01H) \ __PMC_EV_ALIAS("SSE_MEM_EXEC.STREAMING_STORES", IAP_EVENT_4BH_08H) \ __PMC_EV_ALIAS("SFENCE_CYCLES", IAP_EVENT_4DH_01H) \ @@ -1734,6 +1734,7 @@ __PMC_EV_ALIAS("PIC_ACCESSES.TPR_READS", __PMC_EV_ALIAS("PIC_ACCESSES.TPR_WRITES", IAP_EVENT_BAH_02H) \ __PMC_EV_ALIAS("MACHINE_CLEARS.FUSION_ASSIST", IAP_EVENT_C3H_10H) \ __PMC_EV_ALIAS("BOGUS_BR", IAP_EVENT_E4H_01H) \ +__PMC_EV_ALIAS("BPU_CLEARS.ANY", IAP_EVENT_E8H_03H) \ __PMC_EV_ALIAS("L2_HW_PREFETCH.HIT", IAP_EVENT_F3H_01H) \ __PMC_EV_ALIAS("L2_HW_PREFETCH.ALLOC", IAP_EVENT_F3H_02H) \ __PMC_EV_ALIAS("L2_HW_PREFETCH.DATA_TRIGGER", IAP_EVENT_F3H_04H) \ @@ -1759,7 +1760,6 @@ __PMC_EV_ALIAS("DTLB_LOAD_MISSES.ANY", I __PMC_EV_ALIAS("DTLB_LOAD_MISSES.WALK_COMPLETED", IAP_EVENT_08H_02H) \ __PMC_EV_ALIAS("DTLB_LOAD_MISSES.STLB_HIT", IAP_EVENT_08H_10H) \ __PMC_EV_ALIAS("DTLB_LOAD_MISSES.PDE_MISS", IAP_EVENT_08H_20H) \ -__PMC_EV_ALIAS("DTLB_LOAD_MISSES.PDP_MISS", IAP_EVENT_08H_40H) \ __PMC_EV_ALIAS("DTLB_LOAD_MISSES.LARGE_WALK_COMPLETED", \ IAP_EVENT_08H_80H) \ __PMC_EV_ALIAS("MEM_INST_RETIRED.LOADS", IAP_EVENT_0BH_01H) \ @@ -1867,10 +1867,11 @@ __PMC_EV_ALIAS("L1D_CACHE_LOCK.E_STATE", __PMC_EV_ALIAS("L1D_CACHE_LOCK.M_STATE", IAP_EVENT_42H_08H) \ __PMC_EV_ALIAS("L1D_ALL_REF.ANY", IAP_EVENT_43H_01H) \ __PMC_EV_ALIAS("L1D_ALL_REF.CACHEABLE", IAP_EVENT_43H_02H) \ -__PMC_EV_ALIAS("L1D_PEND_MISS.LOAD_BUFFERS_FULL", IAP_EVENT_48H_02H) \ __PMC_EV_ALIAS("DTLB_MISSES.ANY", IAP_EVENT_49H_01H) \ __PMC_EV_ALIAS("DTLB_MISSES.WALK_COMPLETED", IAP_EVENT_49H_02H) \ __PMC_EV_ALIAS("DTLB_MISSES.STLB_HIT", IAP_EVENT_49H_10H) \ +__PMC_EV_ALIAS("DTLB_MISSES.PDE_MISS", IAP_EVENT_49H_20H) \ +__PMC_EV_ALIAS("DTLB_MISSES.LARGE_WALK_COMPLETED", IAP_EVENT_49H_80H) \ __PMC_EV_ALIAS("LOAD_HIT_PRE", IAP_EVENT_4CH_01H) \ __PMC_EV_ALIAS("L1D_PREFETCH.REQUESTS", IAP_EVENT_4EH_01H) \ __PMC_EV_ALIAS("L1D_PREFETCH.MISS", IAP_EVENT_4EH_02H) \ @@ -1996,7 +1997,6 @@ __PMC_EV_ALIAS("BACLEAR.CLEAR", IAP_EVEN __PMC_EV_ALIAS("BACLEAR.BAD_TARGET", IAP_EVENT_E6H_02H) \ __PMC_EV_ALIAS("BPU_CLEARS.EARLY", IAP_EVENT_E8H_01H) \ __PMC_EV_ALIAS("BPU_CLEARS.LATE", IAP_EVENT_E8H_02H) \ -__PMC_EV_ALIAS("BPU_CLEARS.ANY", IAP_EVENT_E8H_03H) \ __PMC_EV_ALIAS("L2_TRANSACTIONS.LOAD", IAP_EVENT_F0H_01H) \ __PMC_EV_ALIAS("L2_TRANSACTIONS.RFO", IAP_EVENT_F0H_02H) \ __PMC_EV_ALIAS("L2_TRANSACTIONS.IFETCH", IAP_EVENT_F0H_04H) \ From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 20:56:48 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 206D01065670; Sun, 8 Apr 2012 20:56:48 +0000 (UTC) (envelope-from davide@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 087038FC17; Sun, 8 Apr 2012 20:56:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q38Kul2w028075; Sun, 8 Apr 2012 20:56:47 GMT (envelope-from davide@svn.freebsd.org) Received: (from davide@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38Kulj2028071; Sun, 8 Apr 2012 20:56:47 GMT (envelope-from davide@svn.freebsd.org) Message-Id: <201204082056.q38Kulj2028071@svn.freebsd.org> From: Davide Italiano Date: Sun, 8 Apr 2012 20:56:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234045 - in stable/8: lib/libpmc sys/dev/hwpmc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 20:56:48 -0000 Author: davide Date: Sun Apr 8 20:56:47 2012 New Revision: 234045 URL: http://svn.freebsd.org/changeset/base/234045 Log: Update PMC events from October 2011 Intel documentation. Approved by: gnn (mentor) Modified: stable/8/lib/libpmc/pmc.corei7.3 stable/8/sys/dev/hwpmc/hwpmc_core.c stable/8/sys/dev/hwpmc/pmc_events.h Directory Properties: stable/8/lib/libpmc/ (props changed) stable/8/sys/ (props changed) Modified: stable/8/lib/libpmc/pmc.corei7.3 ============================================================================== --- stable/8/lib/libpmc/pmc.corei7.3 Sun Apr 8 20:51:37 2012 (r234044) +++ stable/8/lib/libpmc/pmc.corei7.3 Sun Apr 8 20:56:47 2012 (r234045) @@ -200,10 +200,6 @@ Number of cache load STLB hits .Pq Event 08H , Umask 20H Number of DTLB cache load misses where the low part of the linear to physical address translation was missed. -.It Li DTLB_LOAD_MISSES.PDP_MISS -.Pq Event 08H , Umask 40H -Number of DTLB cache load misses where the high part of the linear to -physical address translation was missed. .It Li DTLB_LOAD_MISSES.LARGE_WALK_COMPLETED .Pq Event 08H , Umask 80H Counts number of completed large page walks due to load miss in the STLB. @@ -646,10 +642,6 @@ Counter 0, 1 only Counts all data reads and writes (speculated and retired) from cacheable memory, including locked operations. Counter 0, 1 only -.It Li L1D_PEND_MISS.LOAD_BUFFERS_FULL -.Pq Event 48H , Umask 02H -Counts cycles of L1 data cache load fill buffers full. -Counter 0, 1 only .It Li DTLB_MISSES.ANY .Pq Event 49H , Umask 01H Counts the number of misses in the STLB which causes a page walk. @@ -660,6 +652,12 @@ Counts number of misses in the STLB whic .Pq Event 49H , Umask 10H Counts the number of DTLB first level misses that hit in the second level TLB. This event is only relevant if the core contains multiple DTLB levels. +.It Li DTLB_MISSES.PDE_MISS +.Pq Event 49H , Umask 20H +Number of DTLB misses caused by low part of address, includes references to 2M pages because 2M pages do not use the PDE. +.It Li DTLB_MISSES.LARGE_WALK_COMPLETED +.Pq Event 49H , Umask 80H +Counts number of misses in the STLB which resulted in a completed page walk for large pages. .It Li LOAD_HIT_PRE .Pq Event 4CH , Umask 01H Counts load operations sent to the L1 data cache while a previous SSE @@ -1205,9 +1203,6 @@ The BPU clear leads to 2 cycle bubble in .Pq Event E8H , Umask 02H Counts late Branch Prediction Unit clears due to Most Recently Used conflicts. The PBU clear leads to a 3 cycle bubble in the Front End. -.It Li BPU_CLEARS.ANY -.Pq Event E8H , Umask 03H -Counts all BPU clears. .It Li L2_TRANSACTIONS.LOAD .Pq Event F0H , Umask 01H Counts L2 load operations due to HW prefetch or demand loads. Modified: stable/8/sys/dev/hwpmc/hwpmc_core.c ============================================================================== --- stable/8/sys/dev/hwpmc/hwpmc_core.c Sun Apr 8 20:51:37 2012 (r234044) +++ stable/8/sys/dev/hwpmc/hwpmc_core.c Sun Apr 8 20:56:47 2012 (r234045) @@ -642,7 +642,7 @@ static struct iap_event_descr iap_events IAPDESCR(08H_09H, 0x08, 0x09, IAP_F_FM | IAP_F_CA), IAPDESCR(08H_10H, 0x08, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM), IAPDESCR(08H_20H, 0x08, 0x20, IAP_F_FM | IAP_F_I7 | IAP_F_WM), - IAPDESCR(08H_40H, 0x08, 0x40, IAP_F_FM | IAP_F_I7), + IAPDESCR(08H_40H, 0x08, 0x40, IAP_F_FM | IAP_F_I7O), IAPDESCR(08H_80H, 0x08, 0x80, IAP_F_FM | IAP_F_I7), IAPDESCR(09H_01H, 0x09, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_I7O), @@ -845,7 +845,7 @@ static struct iap_event_descr iap_events IAPDESCR(47H_00H, 0x47, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2), IAPDESCR(48H_00H, 0x48, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2), - IAPDESCR(48H_02H, 0x48, 0x02, IAP_F_FM | IAP_F_I7), + IAPDESCR(48H_02H, 0x48, 0x02, IAP_F_FM | IAP_F_I7O), IAPDESCR(49H_00H, 0x49, 0x00, IAP_F_FM | IAP_F_CC), IAPDESCR(49H_01H, 0x49, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | @@ -854,9 +854,9 @@ static struct iap_event_descr iap_events IAP_F_I7 | IAP_F_WM), IAPDESCR(49H_04H, 0x49, 0x04, IAP_F_FM | IAP_F_WM), IAPDESCR(49H_10H, 0x49, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM), - IAPDESCR(49H_20H, 0x49, 0x20, IAP_F_FM | IAP_F_I7O), + IAPDESCR(49H_20H, 0x49, 0x20, IAP_F_FM | IAP_F_I7), IAPDESCR(49H_40H, 0x49, 0x40, IAP_F_FM | IAP_F_I7O), - IAPDESCR(49H_80H, 0x49, 0x80, IAP_F_FM | IAP_F_WM | IAP_F_I7O), + IAPDESCR(49H_80H, 0x49, 0x80, IAP_F_FM | IAP_F_WM | IAP_F_I7), IAPDESCR(4BH_00H, 0x4B, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2), IAPDESCR(4BH_01H, 0x4B, 0x01, IAP_F_FM | IAP_F_ALLCPUSCORE2 | IAP_F_I7O), @@ -1306,7 +1306,7 @@ static struct iap_event_descr iap_events IAPDESCR(E8H_01H, 0xE8, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM), IAPDESCR(E8H_02H, 0xE8, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM), - IAPDESCR(E8H_03H, 0xE8, 0x03, IAP_F_FM | IAP_F_I7), + IAPDESCR(E8H_03H, 0xE8, 0x03, IAP_F_FM | IAP_F_I7O), IAPDESCR(ECH_01H, 0xEC, 0x01, IAP_F_FM | IAP_F_WM), @@ -1454,7 +1454,6 @@ iap_event_corei7_ok_on_counter(enum pmc_ case PMC_EV_IAP_EVENT_42H_08H: case PMC_EV_IAP_EVENT_43H_01H: case PMC_EV_IAP_EVENT_43H_02H: - case PMC_EV_IAP_EVENT_48H_02H: case PMC_EV_IAP_EVENT_51H_01H: case PMC_EV_IAP_EVENT_51H_02H: case PMC_EV_IAP_EVENT_51H_04H: Modified: stable/8/sys/dev/hwpmc/pmc_events.h ============================================================================== --- stable/8/sys/dev/hwpmc/pmc_events.h Sun Apr 8 20:51:37 2012 (r234044) +++ stable/8/sys/dev/hwpmc/pmc_events.h Sun Apr 8 20:56:47 2012 (r234045) @@ -1669,7 +1669,7 @@ __PMC_EV_ALIAS("X87_OPS_RETIRED.FXCH", /* * Core i7 and Xeon 5500 events removed between 253669-031US June 2009 - * and 253669-033US December 2009. + * and 253669-040US October 2011. */ #define __PMC_EV_ALIAS_COREI7_OLD() \ __PMC_EV_ALIAS("SB_FORWARD.ANY", IAP_EVENT_02H_01H) \ @@ -1682,6 +1682,7 @@ __PMC_EV_ALIAS("MISALIGN_MEM_REF.ANY", I __PMC_EV_ALIAS("STORE_BLOCKS.NOT_STA", IAP_EVENT_06H_01H) \ __PMC_EV_ALIAS("STORE_BLOCKS.STA", IAP_EVENT_06H_02H) \ __PMC_EV_ALIAS("STORE_BLOCKS.ANY", IAP_EVENT_06H_0FH) \ +__PMC_EV_ALIAS("DTLB_LOAD_MISSES.PDP_MISS", IAP_EVENT_08H_40H) \ __PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.RESET", IAP_EVENT_09H_01H) \ __PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.SUCCESS", IAP_EVENT_09H_02H) \ __PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.WATCHDOG", IAP_EVENT_09H_04H) \ @@ -1693,9 +1694,8 @@ __PMC_EV_ALIAS("L2_WRITE.RFO.E_STATE", I __PMC_EV_ALIAS("UOPS_DECODED.DEC0", IAP_EVENT_3DH_01H) \ __PMC_EV_ALIAS("L1D_CACHE_ST.I_STATE", IAP_EVENT_41H_01H) \ __PMC_EV_ALIAS("L1D_CACHE_ST.MESI", IAP_EVENT_41H_0FH) \ -__PMC_EV_ALIAS("DTLB_MISSES.PDE_MISS", IAP_EVENT_49H_20H) \ +__PMC_EV_ALIAS("L1D_PEND_MISS.LOAD_BUFFERS_FULL", IAP_EVENT_48H_02H) \ __PMC_EV_ALIAS("DTLB_MISSES.PDP_MISS", IAP_EVENT_49H_40H) \ -__PMC_EV_ALIAS("DTLB_MISSES.LARGE_WALK_COMPLETED", IAP_EVENT_49H_80H) \ __PMC_EV_ALIAS("SSE_MEM_EXEC.NTA", IAP_EVENT_4BH_01H) \ __PMC_EV_ALIAS("SSE_MEM_EXEC.STREAMING_STORES", IAP_EVENT_4BH_08H) \ __PMC_EV_ALIAS("SFENCE_CYCLES", IAP_EVENT_4DH_01H) \ @@ -1734,6 +1734,7 @@ __PMC_EV_ALIAS("PIC_ACCESSES.TPR_READS", __PMC_EV_ALIAS("PIC_ACCESSES.TPR_WRITES", IAP_EVENT_BAH_02H) \ __PMC_EV_ALIAS("MACHINE_CLEARS.FUSION_ASSIST", IAP_EVENT_C3H_10H) \ __PMC_EV_ALIAS("BOGUS_BR", IAP_EVENT_E4H_01H) \ +__PMC_EV_ALIAS("BPU_CLEARS.ANY", IAP_EVENT_E8H_03H) \ __PMC_EV_ALIAS("L2_HW_PREFETCH.HIT", IAP_EVENT_F3H_01H) \ __PMC_EV_ALIAS("L2_HW_PREFETCH.ALLOC", IAP_EVENT_F3H_02H) \ __PMC_EV_ALIAS("L2_HW_PREFETCH.DATA_TRIGGER", IAP_EVENT_F3H_04H) \ @@ -1759,7 +1760,6 @@ __PMC_EV_ALIAS("DTLB_LOAD_MISSES.ANY", I __PMC_EV_ALIAS("DTLB_LOAD_MISSES.WALK_COMPLETED", IAP_EVENT_08H_02H) \ __PMC_EV_ALIAS("DTLB_LOAD_MISSES.STLB_HIT", IAP_EVENT_08H_10H) \ __PMC_EV_ALIAS("DTLB_LOAD_MISSES.PDE_MISS", IAP_EVENT_08H_20H) \ -__PMC_EV_ALIAS("DTLB_LOAD_MISSES.PDP_MISS", IAP_EVENT_08H_40H) \ __PMC_EV_ALIAS("DTLB_LOAD_MISSES.LARGE_WALK_COMPLETED", \ IAP_EVENT_08H_80H) \ __PMC_EV_ALIAS("MEM_INST_RETIRED.LOADS", IAP_EVENT_0BH_01H) \ @@ -1867,10 +1867,11 @@ __PMC_EV_ALIAS("L1D_CACHE_LOCK.E_STATE", __PMC_EV_ALIAS("L1D_CACHE_LOCK.M_STATE", IAP_EVENT_42H_08H) \ __PMC_EV_ALIAS("L1D_ALL_REF.ANY", IAP_EVENT_43H_01H) \ __PMC_EV_ALIAS("L1D_ALL_REF.CACHEABLE", IAP_EVENT_43H_02H) \ -__PMC_EV_ALIAS("L1D_PEND_MISS.LOAD_BUFFERS_FULL", IAP_EVENT_48H_02H) \ __PMC_EV_ALIAS("DTLB_MISSES.ANY", IAP_EVENT_49H_01H) \ __PMC_EV_ALIAS("DTLB_MISSES.WALK_COMPLETED", IAP_EVENT_49H_02H) \ __PMC_EV_ALIAS("DTLB_MISSES.STLB_HIT", IAP_EVENT_49H_10H) \ +__PMC_EV_ALIAS("DTLB_MISSES.PDE_MISS", IAP_EVENT_49H_20H) \ +__PMC_EV_ALIAS("DTLB_MISSES.LARGE_WALK_COMPLETED", IAP_EVENT_49H_80H) \ __PMC_EV_ALIAS("LOAD_HIT_PRE", IAP_EVENT_4CH_01H) \ __PMC_EV_ALIAS("L1D_PREFETCH.REQUESTS", IAP_EVENT_4EH_01H) \ __PMC_EV_ALIAS("L1D_PREFETCH.MISS", IAP_EVENT_4EH_02H) \ @@ -1996,7 +1997,6 @@ __PMC_EV_ALIAS("BACLEAR.CLEAR", IAP_EVEN __PMC_EV_ALIAS("BACLEAR.BAD_TARGET", IAP_EVENT_E6H_02H) \ __PMC_EV_ALIAS("BPU_CLEARS.EARLY", IAP_EVENT_E8H_01H) \ __PMC_EV_ALIAS("BPU_CLEARS.LATE", IAP_EVENT_E8H_02H) \ -__PMC_EV_ALIAS("BPU_CLEARS.ANY", IAP_EVENT_E8H_03H) \ __PMC_EV_ALIAS("L2_TRANSACTIONS.LOAD", IAP_EVENT_F0H_01H) \ __PMC_EV_ALIAS("L2_TRANSACTIONS.RFO", IAP_EVENT_F0H_02H) \ __PMC_EV_ALIAS("L2_TRANSACTIONS.IFETCH", IAP_EVENT_F0H_04H) \ From owner-svn-src-all@FreeBSD.ORG Sun Apr 8 21:29:49 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5E7E4106566B; Sun, 8 Apr 2012 21:29:49 +0000 (UTC) (envelope-from davide@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0A0EB8FC0A; Sun, 8 Apr 2012 21:29:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q38LTmcB029162; Sun, 8 Apr 2012 21:29:48 GMT (envelope-from davide@svn.freebsd.org) Received: (from davide@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q38LTmvH029157; Sun, 8 Apr 2012 21:29:48 GMT (envelope-from davide@svn.freebsd.org) Message-Id: <201204082129.q38LTmvH029157@svn.freebsd.org> From: Davide Italiano Date: Sun, 8 Apr 2012 21:29:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234046 - in stable/9: lib/libpmc sys/dev/hwpmc sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 21:29:49 -0000 Author: davide Date: Sun Apr 8 21:29:48 2012 New Revision: 234046 URL: http://svn.freebsd.org/changeset/base/234046 Log: MFC: r232366 - Add support for the Intel Sandy Bridge microarchitecture (both core and uncore counting events) - New manpages with event lists. - Add MSRs for the Intel Sandy Bridge microarchitecture Approved by: gnn (mentor) Added: stable/9/lib/libpmc/pmc.sandybridge.3 - copied unchanged from r232366, head/lib/libpmc/pmc.sandybridge.3 stable/9/lib/libpmc/pmc.sandybridgeuc.3 - copied unchanged from r232366, head/lib/libpmc/pmc.sandybridgeuc.3 Modified: stable/9/lib/libpmc/Makefile stable/9/lib/libpmc/libpmc.c stable/9/sys/dev/hwpmc/hwpmc_core.c stable/9/sys/dev/hwpmc/hwpmc_intel.c stable/9/sys/dev/hwpmc/hwpmc_uncore.c stable/9/sys/dev/hwpmc/hwpmc_uncore.h stable/9/sys/dev/hwpmc/pmc_events.h stable/9/sys/sys/pmc.h Directory Properties: stable/9/lib/libpmc/ (props changed) stable/9/sys/ (props changed) Modified: stable/9/lib/libpmc/Makefile ============================================================================== --- stable/9/lib/libpmc/Makefile Sun Apr 8 20:56:47 2012 (r234045) +++ stable/9/lib/libpmc/Makefile Sun Apr 8 21:29:48 2012 (r234046) @@ -35,6 +35,8 @@ MAN+= pmc.p5.3 MAN+= pmc.p6.3 MAN+= pmc.corei7.3 MAN+= pmc.corei7uc.3 +MAN+= pmc.sandybridge.3 +MAN+= pmc.sandybridgeuc.3 MAN+= pmc.westmere.3 MAN+= pmc.westmereuc.3 MAN+= pmc.tsc.3 Modified: stable/9/lib/libpmc/libpmc.c ============================================================================== --- stable/9/lib/libpmc/libpmc.c Sun Apr 8 20:56:47 2012 (r234045) +++ stable/9/lib/libpmc/libpmc.c Sun Apr 8 21:29:48 2012 (r234046) @@ -179,6 +179,11 @@ static const struct pmc_event_descr core __PMC_EV_ALIAS_COREI7() }; +static const struct pmc_event_descr sandybridge_event_table[] = +{ + __PMC_EV_ALIAS_SANDYBRIDGE() +}; + static const struct pmc_event_descr westmere_event_table[] = { __PMC_EV_ALIAS_WESTMERE() @@ -189,6 +194,11 @@ static const struct pmc_event_descr core __PMC_EV_ALIAS_COREI7UC() }; +static const struct pmc_event_descr sandybridgeuc_event_table[] = +{ + __PMC_EV_ALIAS_SANDYBRIDGEUC() +}; + static const struct pmc_event_descr westmereuc_event_table[] = { __PMC_EV_ALIAS_WESTMEREUC() @@ -208,6 +218,7 @@ PMC_MDEP_TABLE(atom, IAP, PMC_CLASS_IAF, PMC_MDEP_TABLE(core, IAP, PMC_CLASS_TSC); PMC_MDEP_TABLE(core2, IAP, PMC_CLASS_IAF, PMC_CLASS_TSC); PMC_MDEP_TABLE(corei7, IAP, PMC_CLASS_IAF, PMC_CLASS_TSC, PMC_CLASS_UCF, PMC_CLASS_UCP); +PMC_MDEP_TABLE(sandybridge, IAP, PMC_CLASS_IAF, PMC_CLASS_TSC, PMC_CLASS_UCF, PMC_CLASS_UCP); PMC_MDEP_TABLE(westmere, IAP, PMC_CLASS_IAF, PMC_CLASS_TSC, PMC_CLASS_UCF, PMC_CLASS_UCP); PMC_MDEP_TABLE(k7, K7, PMC_CLASS_TSC); PMC_MDEP_TABLE(k8, K8, PMC_CLASS_TSC); @@ -242,9 +253,11 @@ PMC_CLASS_TABLE_DESC(atom, IAP, atom, ia PMC_CLASS_TABLE_DESC(core, IAP, core, iap); PMC_CLASS_TABLE_DESC(core2, IAP, core2, iap); PMC_CLASS_TABLE_DESC(corei7, IAP, corei7, iap); +PMC_CLASS_TABLE_DESC(sandybridge, IAP, sandybridge, iap); PMC_CLASS_TABLE_DESC(westmere, IAP, westmere, iap); PMC_CLASS_TABLE_DESC(ucf, UCF, ucf, ucf); PMC_CLASS_TABLE_DESC(corei7uc, UCP, corei7uc, ucp); +PMC_CLASS_TABLE_DESC(sandybridgeuc, UCP, sandybridgeuc, ucp); PMC_CLASS_TABLE_DESC(westmereuc, UCP, westmereuc, ucp); #endif #if defined(__i386__) @@ -530,6 +543,8 @@ static struct pmc_event_alias core2_alia #define atom_aliases_without_iaf core2_aliases_without_iaf #define corei7_aliases core2_aliases #define corei7_aliases_without_iaf core2_aliases_without_iaf +#define sandybridge_aliases core2_aliases +#define sandybridge_aliases_without_iaf core2_aliases_without_iaf #define westmere_aliases core2_aliases #define westmere_aliases_without_iaf core2_aliases_without_iaf @@ -2562,6 +2577,10 @@ pmc_event_names_of_class(enum pmc_class ev = corei7_event_table; count = PMC_EVENT_TABLE_SIZE(corei7); break; + case PMC_CPU_INTEL_SANDYBRIDGE: + ev = sandybridge_event_table; + count = PMC_EVENT_TABLE_SIZE(sandybridge); + break; case PMC_CPU_INTEL_WESTMERE: ev = westmere_event_table; count = PMC_EVENT_TABLE_SIZE(westmere); @@ -2583,6 +2602,10 @@ pmc_event_names_of_class(enum pmc_class ev = corei7uc_event_table; count = PMC_EVENT_TABLE_SIZE(corei7uc); break; + case PMC_CPU_INTEL_SANDYBRIDGE: + ev = sandybridgeuc_event_table; + count = PMC_EVENT_TABLE_SIZE(sandybridgeuc); + break; case PMC_CPU_INTEL_WESTMERE: ev = westmereuc_event_table; count = PMC_EVENT_TABLE_SIZE(westmereuc); @@ -2814,6 +2837,11 @@ pmc_init(void) pmc_class_table[n++] = &corei7uc_class_table_descr; PMC_MDEP_INIT_INTEL_V2(corei7); break; + case PMC_CPU_INTEL_SANDYBRIDGE: + pmc_class_table[n++] = &ucf_class_table_descr; + pmc_class_table[n++] = &sandybridgeuc_class_table_descr; + PMC_MDEP_INIT_INTEL_V2(sandybridge); + break; case PMC_CPU_INTEL_WESTMERE: pmc_class_table[n++] = &ucf_class_table_descr; pmc_class_table[n++] = &westmereuc_class_table_descr; @@ -2937,6 +2965,10 @@ _pmc_name_of_event(enum pmc_event pe, en ev = corei7_event_table; evfence = corei7_event_table + PMC_EVENT_TABLE_SIZE(corei7); break; + case PMC_CPU_INTEL_SANDYBRIDGE: + ev = sandybridge_event_table; + evfence = sandybridge_event_table + PMC_EVENT_TABLE_SIZE(sandybridge); + break; case PMC_CPU_INTEL_WESTMERE: ev = westmere_event_table; evfence = westmere_event_table + PMC_EVENT_TABLE_SIZE(westmere); @@ -2953,6 +2985,10 @@ _pmc_name_of_event(enum pmc_event pe, en ev = corei7uc_event_table; evfence = corei7uc_event_table + PMC_EVENT_TABLE_SIZE(corei7uc); break; + case PMC_CPU_INTEL_SANDYBRIDGE: + ev = sandybridgeuc_event_table; + evfence = sandybridgeuc_event_table + PMC_EVENT_TABLE_SIZE(sandybridgeuc); + break; case PMC_CPU_INTEL_WESTMERE: ev = westmereuc_event_table; evfence = westmereuc_event_table + PMC_EVENT_TABLE_SIZE(westmereuc); Copied: stable/9/lib/libpmc/pmc.sandybridge.3 (from r232366, head/lib/libpmc/pmc.sandybridge.3) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/9/lib/libpmc/pmc.sandybridge.3 Sun Apr 8 21:29:48 2012 (r234046, copy of r232366, head/lib/libpmc/pmc.sandybridge.3) @@ -0,0 +1,932 @@ +.\" Copyright (c) 2012 Davide Italiano +.\" 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 AUTHORS 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 AUTHORS 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 February 12, 2012 +.Dt PMC.SANDYBRIDGE 3 +.Os +.Sh NAME +.Nm pmc.sandybridge +.Nd measurement events for +.Tn Intel +.Tn Sandy Bridge +family CPUs +.Sh LIBRARY +.Lb libpmc +.Sh SYNOPSIS +.In pmc.h +.Sh DESCRIPTION +.Tn Intel +.Tn "Sandy Bridge" +CPUs contain PMCs conforming to the version 3 of the +.Tn Intel +performance measurement architecture. +These CPUs may contain up to three classes of PMCs: +.Bl -tag -width "Li PMC_CLASS_IAP" +.It Li PMC_CLASS_IAF +Fixed-function counters that count only one hardware event per counter. +.It Li PMC_CLASS_IAP +Programmable counters that may be configured to count one of a defined +set of hardware events. +.It Li PMC_CLASS_TSC +These PMCs are documented in +.Xr pmc.tsc 3 . +.El +.Pp +The number of PMCs available in each class and their widths need to be +determined at run time by calling +.Xr pmc_cpuinfo 3 . +.Pp +Intel Sandy Bridge PMCs are documented in +.Rs +.%B "Intel(R) 64 and IA-32 Architectures Software Developers Manual" +.%T "Volume 3B: System Programming Guide, Part 2" +.%N "Order Number: 253669-039US" +.%D May 2011 +.%Q "Intel Corporation" +.Re +.Ss SANDY BRIDGE FIXED FUNCTION PMCS +These PMCs and their supported events are documented in +.Xr pmc.iaf 3 . +.Ss SANDY BRIDGE PROGRAMMABLE PMCS +The programmable PMCs support the following capabilities: +.Bl -column "PMC_CAP_INTERRUPT" "Support" +.It Em Capability Ta Em Support +.It PMC_CAP_CASCADE Ta \&No +.It PMC_CAP_EDGE Ta Yes +.It PMC_CAP_INTERRUPT Ta Yes +.It PMC_CAP_INVERT Ta Yes +.It PMC_CAP_READ Ta Yes +.It PMC_CAP_PRECISE Ta \&No +.It PMC_CAP_SYSTEM Ta Yes +.It PMC_CAP_TAGGING Ta \&No +.It PMC_CAP_THRESHOLD Ta Yes +.It PMC_CAP_USER Ta Yes +.It PMC_CAP_WRITE Ta Yes +.El +.Ss Event Qualifiers +Event specifiers for these PMCs support the following common +qualifiers: +.Bl -tag -width indent +.It Li rsp= Ns Ar value +Configure the Off-core Response bits. +.Bl -tag -width indent +.It Li DMND_DATA_RD +Counts the number of demand and DCU prefetch data reads of full +and partial cachelines as well as demand data page table entry +cacheline reads. +Does not count L2 data read prefetches or instruction fetches. +.It Li DMND_RFO +Counts the number of demand and DCU prefetch reads for ownership +(RFO) requests generated by a write to data cacheline. +Does not count L2 RFO. +.It Li DMND_IFETCH +Counts the number of demand and DCU prefetch instruction cacheline +reads. +Does not count L2 code read prefetches. +.It Li WB +Counts the number of writeback (modified to exclusive) transactions. +.It Li PF_DATA_RD +Counts the number of data cacheline reads generated by L2 prefetchers. +.It Li PF_RFO +Counts the number of RFO requests generated by L2 prefetchers. +.It Li PF_IFETCH +Counts the number of code reads generated by L2 prefetchers. +.It Li OTHER +Counts one of the following transaction types, including L3 invalidate, +I/O, full or partial writes, WC or non-temporal stores, CLFLUSH, Fences, +lock, unlock, split lock. +.It Li UNCORE_HIT +L3 Hit: local or remote home requests that hit L3 cache in the uncore +with no coherency actions required (snooping). +.It Li OTHER_CORE_HIT_SNP +L3 Hit: local or remote home requests that hit L3 cache in the uncore +and was serviced by another core with a cross core snoop where no modified +copies were found (clean). +.It Li OTHER_CORE_HITM +L3 Hit: local or remote home requests that hit L3 cache in the uncore +and was serviced by another core with a cross core snoop where modified +copies were found (HITM). +.It Li REMOTE_CACHE_FWD +L3 Miss: local homed requests that missed the L3 cache and was serviced +by forwarded data following a cross package snoop where no modified +copies found. +(Remote home requests are not counted) +.It Li REMOTE_DRAM +L3 Miss: remote home requests that missed the L3 cache and were serviced +by remote DRAM. +.It Li LOCAL_DRAM +L3 Miss: local home requests that missed the L3 cache and were serviced +by local DRAM. +.It Li NON_DRAM +Non-DRAM requests that were serviced by IOH. +.El +.It Li cmask= Ns Ar value +Configure the PMC to increment only if the number of configured +events measured in a cycle is greater than or equal to +.Ar value . +.It Li edge +Configure the PMC to count the number of de-asserted to asserted +transitions of the conditions expressed by the other qualifiers. +If specified, the counter will increment only once whenever a +condition becomes true, irrespective of the number of clocks during +which the condition remains true. +.It Li inv +Invert the sense of comparison when the +.Dq Li cmask +qualifier is present, making the counter increment when the number of +events per cycle is less than the value specified by the +.Dq Li cmask +qualifier. +.It Li os +Configure the PMC to count events happening at processor privilege +level 0. +.It Li usr +Configure the PMC to count events occurring at privilege levels 1, 2 +or 3. +.El +.Pp +If neither of the +.Dq Li os +or +.Dq Li usr +qualifiers are specified, the default is to enable both. +.Ss Event Specifiers (Programmable PMCs) +Sandy Bridge programmable PMCs support the following events: +.Bl -tag -width indent +.It Li LD_BLOCKS.DATA_UNKNOWN +.Pq EVENT_03H, Umask 01H +Blocked loads due to store buffer blocks with unknown data. +.It Li LD_BLOCKS.STORE_FORWARD +.Pq Event 03H, Umask 02H +Loads blocked by overlapping with store buffer that cannot be forwarded. +.It Li LD_BLOCKS.NO_SR +.Pq Event 03H, Umask 08H +# of Split loads blocked due to resource not available. +.It Li LD_BLOCKS.ALL_BLOCK +.Pq EVENT_03H, Umask 10H +Number of cases where any load is blocked but has no DCU miss. +.It Li MISALIGN_MEM_REF.LOADS +.Pq Event 05H, Umask 01H +Speculative cache-line split load uops dispatched to L1D. +.It Li MISALIGN_MEM_REF.STORES +.Pq Event 05H, Umask 02H +Speculative cache-line split Store-address uops dispatched to L1D. +.It Li LD_BLOCKS_PARTIAL.ADDRESS_ALIAS +.Pq Event 07H, Umask 01H +False dependencies in MOB due to partial compare on address. +.It Li LD_BLOCKS_PARTIAL.ALL_STA_BLOCK +.Pq Event 07H, Umask 08H +The number of times that load operations are temporarily blocked because of +older stores, with addresses that are not yet known. +A load operation may incur more than one block of this type. +.It LI DTLB_LOAD_MISSES.MISS_CAUSES_A_WALK +.Pq Event 08H, Umask 01H +Misses in all TLB levels that cause a page walk of any page size. +.It Li DTLB_LOAD_MISSES.WALK_COMPLETED +.Pq Event 08H, Umask 02H +Misses in all TLB levels that caused page walk completed of any size. +.It Li DTLB_LOAD_MISSES.WALK_DURATION +.Pq Event 08H, Umask 04H +Cycle PMH is busy with a walk. +.It Li DTLB_LOAD_MISSES.STLB_HIT +.Pq Event 08H, Umask 10H +Number of cache load STLB hits. +No page walk. +.It Li INT_MISC.RECOVERY_CYCLES +.Pq Event 0DH, Umask 03H +Cycles waiting to recover after Machine Clears or JEClear. +Set Cmask = 1. +Set Edge to count occurrences +.It Li INT_MISC.RAT_STALL_CYCLES +.Pq Event 0DH, Umask 40H +Cycles RAT external stall is sent to IDQ for this thread. +.It Li UOPS_ISSUED.ANY +.Pq Event 0EH, Umask 01H +Increments each cycle the # of Uops issued by the RAT to RS. +Set Cmask = 1, Inv = 1, Any= 1 to count stalled cycles of this core. +Set Cmask = 1, Inv = 1 to count stalled cycles +.It Li FP_COMP_OPS_EXE.X87 +.Pq Event 10H, Umask 01H +Counts number of X87 uops executed. +.It Li FP_COMP_OPS_EXE.SSE_FP_PACKED_DOUBLE +.Pq Event 10H, Umask 10H +Counts number of SSE* double precision FP packed uops executed. +.It Li FP_COMP_OPS_EXE.SSE_FP_SCALAR_SINGLE +.Pq Event 10H, Umask 20H +Counts number of SSE* single precision FP scalar uops executed. +.It Li FP_COMP_OPS_EXE.SSE_PACKED_SINGLE +.Pq Event 10H, Umask 40H +Counts number of SSE* single precision FP packed uops executed. +.It LiFP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE +.Pq Event 10H, Umask 80H +Counts number of SSE* double precision FP scalar uops executed. +.It Li SIMD_FP_256.PACKED_SINGLE +.Pq Event 11H, Umask 01H +Counts 256-bit packed single-precision floating-point instructions. +.It Li SIMD_FP_256.PACKED_DOUBLE +.Pq Event 11H, Umask 02H +Counts 256-bit packed double-precision floating-point instructions. +.It Li ARITH.FPU_DIV_ACTIVE +.Pq Event 14H, Umask 01H +Cycles that the divider is active, includes INT and FP. +Set 'edge =1, cmask=1' to count the number of divides. +.It Li INSTS_WRITTEN_TO_IQ.INSTS +.Pq Event 17H, Umask 01H +Counts the number of instructions written into the IQ every cycle. +.It Li L2_RQSTS.DEMAND_DATA_RD_HIT +.Pq Event 24H, Umask 01H +Demand Data Read requests that hit L2 cache. +.It Li L2_RQSTS.ALL_DEMAND_DATA_RD +.Pq Event 24H, Umask 03H +Counts any demand and L1 HW prefetch data load requests to L2. +.It Li L2_RQSTS.RFO_HITS +.Pq Event 24H, Umask 04H +Counts the number of store RFO requests that hit the L2 cache. +.It Li L2_RQSTS.RFO_MISS +.Pq Event 24H, Umask 08H +Counts the number of store RFO requests that miss the L2 cache. +.It Li L2_RQSTS.ALL_RFO +.Pq Event 24H, Umask 0CH +Counts all L2 store RFO requests. +.It Li L2_RQSTS.CODE_RD_HIT +.Pq Event 24H, Umask 10H +Number of instruction fetches that hit the L2 cache. +.It Li L2_RQSTS.CODE_RD_MISS +.Pq Event 24H, Umask 20H +Number of instruction fetches that missed the L2 cache. +.It Li L2_RQSTS.ALL_CODE_RD +.Pq Event 24H, Umask 30H +Counts all L2 code requests. +.It Li L2_RQSTS.PF_HIT +.Pq Event 24H, Umask 40H +Requests from L2 Hardware prefetcher that hit L2. +.It Li L2_RQSTS.PF_MISS +.Pq Event 24H, Umask 80H +Requests from L2 Hardware prefetcher that missed L2. +.It Li L2_RQSTS.ALL_PF +.Pq Event 24H, Umask C0H +Any requests from L2 Hardware prefetchers. +.It Li L2_STORE_LOCK_RQSTS.MISS +.Pq Event 27H, Umask 01H +RFOs that miss cache lines. +.It Li L2_STORE_LOCK_RQSTS.HIT_E +.Pq Event 27H, Umask 04H +RFOs that hit cache lines in E state. +.It Li L2_STORE_LOCK_RQSTS.HIT_M +.Pq EVENT_27H, Umask 08H +RFOs that hit cache lines in M state. +.It Li L2_STORE_LOCK_RQSTS.ALL +.Pq EVENT_27H, Umask 0FH +RFOs that access cache lines in any state. +.It Li L2_L1D_WB_RQSTS.HIT_E +.Pq Event 28H, Umask 04H +Not rejected writebacks from L1D to L2 cache lines in E state. +.It Li L2_L1D_WB_RQSTS.HIT_M +.Pq Event 28H, Umask 08H +Not rejected writebacks from L1D to L2 cache lines in M state. +.It Li LONGEST_LAT_CACHE.REFERENCE +.Pq Event 2EH, Umask 4FH +This event counts requests originating from the core that reference a cache +line in the last level cache. +.It Li LONGEST_LAT_CACHE.MISS +.Pq Event 2EH, Umask 41H +This event counts each cache miss condition for references to the last level +cache. +.It Li CPU_CLK_UNHALTED.THREAD_P +.Pq Event 3CH, Umask 00H +Counts the number of thread cycles while the thread is not in a halt state. +The thread enters the halt state when it is running the HLT instruction. +The core frequency may change from time to time due to power or thermal +throttling. +.It Li CPU_CLK_THREAD_UNHALTED.REF_XCLK +.Pq Event 3CH, Umask 01H +Increments at the frequency of XCLK (100 MHz) when not halted. +.It Li L1D_PEND_MISS.PENDING +.Pq Event 48H, Umask 01H +Increments the number of outstanding L1D misses every cycle. +Set Cmask = 1 and Edge =1 to count occurrences. +Counter 2 only; Set Cmask = 1 to count cycles. +.It Li DTLB_STORE_MISSES.MISS_CAUSES_A_WALK +.Pq Event 49H, Umask 01H Miss in all TLB levels causes an page walk of any +page size (4K/2M/4M/1G). +.It Li DTLB_STORE_MISSES.WALK_COMPLETED +.Pq Event 49H, Umask 02H +Miss in all TLB levels causes a page walk that completes of any page size +(4K/2M/4M/1G). +.It Li DTLB_STORE_MISSES.WALK_DURATION +.Pq Event 49H, Umask 04H +Cycles PMH is busy with this walk. +.It Li DTLB_STORE_MISSES.STLB_HIT +.Pq Event 49H, Umask 10H +Store operations that miss the first TLB level but hit the second and do not +cause page walks. +.It Li LOAD_HIT_PRE.SW_PF +.Pq Event 4CH, Umask 01H +Not SW-prefetch load dispatches that hit fill buffer allocated for S/W prefetch. +.It Li LOAD_HIT_PER.HW_PF +.Pq Event 4CH, Umask 02H +Not SW-prefetch load dispatches that hit fill buffer allocated for H/W prefetch. +.It Li HW_PRE_REQ.DL1_MISS +.Pq Event 4EH, Umask 02H +Hardware Prefetch requests that miss the L1D cache. +A request is being counted each time it access the cache & miss it, including +if a block is applicable or if hit the Fill Buffer for example. +This accounts for both L1 streamer and IP-based (IPP) HW prefetchers. +.It Li L1D.REPLACEMENT +.Pq Event 51H, Umask 01H +Counts the number of lines brought into the L1 data cache. +.It Li L1D.ALLOCATED_IN_M +.Pq Event 51H, Umask 02H +Counts the number of allocations of modified L1D cache lines. +.It Li L1D.EVICTION +.Pq Event 51H, Umask 04H +Counts the number of modified lines evicted from the L1 data cache due to +replacement. +.It Li L1D.ALL_M_REPLACEMENT +.Pq Event 51H, Umask 08H +Cache lines in M state evicted out of L1D due to Snoop HitM or dirty line +replacement. +.It Li PARTIAL_RAT_STALLS.FLAGS_MERGE_UOP +.Pq Event 59H, Umask 20H +Increments the number of flags-merge uops in flight each cycle. +Set Cmask = 1 to count cycles. +.It Li PARTIAL_RAT_STALLS.SLOW_LEA_WINDOW +.Pq Event 59H, Umask 40H +Cycles with at least one slow LEA uop allocated. +.It Li PARTIAL_RAT_STALLS.MUL_SINGLE_UOP +.Pq Event 59H, Umask 80H +Number of Multiply packed/scalar single precision uops allocated. +.It Li RESOURCE_STALLS2.ALL_FL_EMPTY +.Pq Event 5BH, Umask 0CH +Cycles stalled due to free list empty. +.It Li RESOURCE_STALLS2.ALL_PRF_CONTROL +.Pq Event 5BH, Umask 0FH +Cycles stalled due to control structures full for physical registers. +.It Li RESOURCE_STALLS2.BOB_FULL +.Pq Event 5BH, Umask 40H +Cycles Allocator is stalled due to Branch Order Buffer. +.It Li RESOURCE_STALLS2.OOO_RSRC +.Pq Event 5BH, Umask 4FH +Cycles stalled due to out of order resources full. +.It Li CPL_CYCLES.RING0 +.Pq Event 5CH, Umask 01H +Unhalted core cycles when the thread is in ring 0. +Use Edge to count transition +.It Li CPL_CYCLES.RING123 +.Pq Event 5CH, Umask 02H +Unhalted core cycles when the thread is not in ring 0. +.It Li RS_EVENTS.EMPTY_CYCLES +.Pq Event 5EH, Umask 01H +Cycles the RS is empty for the thread. +.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_DATA_RD +.Pq Event 60H, Umask 01H +Offcore outstanding Demand Data Read transactions in SQ to uncore. +Set Cmask=1 to count cycles. +.It Li OFFCORE_REQUESTS_OUTSTANDING.DEMAND_RFO +.Pq Event 60H, Umask 04H +Offcore outstanding RFO store transactions in SQ to uncore. +Set Cmask=1 to count cycles. +.It Li OFFCORE_REQUESTS_OUTSTANDING.ALL_DATA_RD +.Pq Event 60H, Umask 08H +Offcore outstanding cacheable data read transactions in SQ to uncore. +Set Cmask=1 to count cycles. +.It Li LOCK_CYCLES.SPLIT_LOCK_UC_LOCK_DURATION +.Pq Event 63H, Umask 01H +Cycles in which the L1D and L2 are locked, due to a UC lock or split lock. +.It Li LOCK_CYCLES.CACHE_LOCK_DURATION +.Pq Event 63H, Umask 02H +Cycles in which the L1D is locked. +.It Li IDQ.EMPTY +.Pq Event 79H, Umask 02H +Counts cycles the IDQ is empty. +.It Li IQD.MITE_UOPS +.Pq Event 79H, Umask 04H +Increment each cycle # of uops delivered to IDQ from MITE path. +Set Cmask = 1 to count cycles. +Can combine Umask 04H and 20H +.It Li IDQ.DSB_UOPS +.Pq Event 79H, Umask 08H +Increment each cycle. +# of uops delivered to IDQ from DSB path. +Set Cmask = 1 to count cycles. +Can combine Umask 08H and 10H +.It Li IDQ.MS_DSB_UOPS +.Pq Event 79H, Umask 10H +Increment each cycle # of uops delivered to IDQ when MS busy by DSB. +Set Cmask = 1 to count cycles MS is busy. +Set Cmask=1 and Edge=1 to count MS activations. +Can combine Umask 08H and 10H +.It Li IDQ.MS_MITE_UOPS +.Pq Event 79H, Umask 20H +Increment each cycle # of uops delivered to IDQ when MS is busy by MITE. +Set Cmask = 1 to count cycles. +Can combine Umask 04H and 20H +.It Li IDQ.MS_UOPS +.Pq Event 79H, Umask 30H +Increment each cycle # of uops delivered to IDQ from MS by either DSB or MITE. +Set Cmask = 1 to count cycles. +Can combine Umask 04H, 08H and 30H +.It Li ICACHE.MISSES +.Pq Event 80H, Umask 02H +Number of Instruction Cache, Streaming Buffer and Victim Cache Misses. +Includes UC accesses. +.It Li ITLB_MISSES.MISS_CAUSES_A_WALK +.Pq Event 85H, Umask 01H +Misses in all ITLB levels that cause page walks. +.It Li ITLB_MISSES.WALK_COMPLETED +.Pq Event 85H, Umask 02H +Misses in all ITLB levels that cause completed page walks. +.It Li ITLB_MISSES.WALK_DURATION +.Pq Event 85H, Umask 04H +Cycle PMH is busy with a walk. +.It Li ITLB_MISSES.STLB_HIT +.Pq Event 85H, Umask 10H +Number of cache load STLB hits. +No page walk. +.It Li ILD_STALL.LCP +.Pq Event 87H, Umask 01H +Stalls caused by changing prefix length of the instruction. +.It Li ILD_STALL.IQ_FULL +.Pq Event 87H, Umask 04H +Stall cycles due to IQ is full. +.It Li BR_INST_EXEC.COND +.Pq Event 88H, Umask 01H +Qualify conditional near branch instructions executed, but not necessarily +retired. +Must combine with umask 40H, 80H +.It Li BR_INST_EXEC.DIRECT_JMP +.Pq Event 88H, Umask 02H +Qualify all unconditional near branch instructions excluding calls and indirect +branches. +Must combine with umask 80H +.It Li BR_INST_EXEC.INDIRECT_JMP_NON_CALL_RET +.Pq Event 88H, Umask 04H +Qualify executed indirect near branch instructions that are not calls nor +returns. +Must combine with umask 80H +.It Li BR_INST_EXEC.RETURN_NEAR +.Pq Event 88H, Umask 08H +Qualify indirect near branches that have a return mnemonic. +Must combine with umask 80H +.It Li BR_INST_EXEC.DIRECT_NEAR_CALL +.Pq Event 88H, Umask 10H +Qualify unconditional near call branch instructions, excluding non call branch, +executed. +Must combine with umask 80H +.It Li BR_INST_EXEC.INDIRECT_NEAR_CALL +.Pq Event 88H, Umask 20H +Qualify indirect near calls, including both register and memory indirect, +executed. +Must combine with umask 80H +.It Li BR_INST_EXEC.NONTAKEN +.Pq Event 88H, Umask 40H +Qualify non-taken near branches executed. +Applicable to umask 01H only +.It Li BR_INST_EXEC.TAKEN +.Pq Event 88H, Umask 80H +Qualify taken near branches executed. +Must combine with 01H,02H, 04H, 08H, 10H, 20H +.It Li BR_INST_EXE.ALL_BRANCHES +.Pq Event 88H, Umask FFH +Counts all near executed branches (not necessarily retired). +.It Li BR_MISP_EXEC.COND +.Pq Event 89H, Umask 01H +Qualify conditional near branch instructions mispredicted. +Must combine with umask 40H, 80H +.It Li BR_MISP_EXEC.INDIRECT_JMP_NON_CALL_RET +.Pq Event 89H, Umask 04H +Qualify mispredicted indirect near branch instructions that are not calls nor +returns. +Must combine with umask 80H +.It Li BR_MISP_EXEC.RETURN_NEAR +.Pq Event 89H, Umask 08H +Qualify mispredicted indirect near branches that have a return mnemonic. +Must combine with umask 80H +.It Li BR_MISP_EXEC.DIRECT_NEAR_CALL +.Pq Event 89H, Umask 10H +Qualify mispredicted unconditional near call branch instructions, excluding non +call branch, executed. +Must combine with umask 80H +.It Li BR_MISP_EXEC.INDIRECT_NEAR_CALL +.Pq Event 89H, Umask 20H +Qualify mispredicted indirect near calls, including both register and memory +indirect, executed. +Must combine with umask 80H +.It Li BR_MISP_EXEC.NONTAKEN +.Pq Event 89H, Umask 40H +Qualify mispredicted non-taken near branches executed. +Applicable to umask 01H only +.It Li BR_MISP_EXEC.TAKEN +.Pq Event 89H, Umask 80H +Qualify mispredicted taken near branches executed. +Must combine with 01H,02H, 04H, 08H, 10H, 20H +.It Li BR_MISP_EXEC.ALL_BRANCHES +.Pq Event 89H, Umask FFH +Counts all near executed branches (not necessarily retired). +.It Li IDQ_UOPS_NOT_DELIVERED.CORE +.Pq Event 9CH, Umask 01H +Count number of non-delivered uops to RAT per thread. +Use Cmask to qualify uop b/w +.It Li UOPS_DISPATCHED_PORT.PORT_0 +.Pq Event A1H, Umask 01H +Cycles which a Uop is dispatched on port 0. +.It Li UOPS_DISPATCHED_PORT.PORT_1 +.Pq Event A1H, Umask 02H +Cycles which a Uop is dispatched on port 1. +.It Li UOPS_DISPATCHED_PORT.PORT_2_LD +.Pq Event A1H, Umask 04H +Cycles which a load uop is dispatched on port 2. +.It Li UOPS_DISPATCHED_PORT.PORT_2_STA +.Pq Event A1H, Umask 08H +Cycles which a store address uop is dispatched on port 2. +.It Li UOPS_DISPATCHED_PORT.PORT_2 +.Pq Event A1H, Umask 0CH +Cycles which a Uop is dispatched on port 2. +.It Li UOPS_DISPATCHED_PORT.PORT_3_LD +.Pq Event A1H, Umask 10H +Cycles which a load uop is dispatched on port 3. +.It Li UOPS_DISPATCHED_PORT.PORT_3_STA +.Pq Event A1H, Umask 20H +Cycles which a store address uop is dispatched on port 3. +.It Li UOPS_DISPATCHED_PORT.PORT_3 +.Pq Event A1H, Umask 30H +.Pq Cycles which a Uop is dispatched on port 3. +.It Li UOPS_DISPATCHED_PORT.PORT_4 +.Pq Event A1H, Umask 40H +Cycles which a Uop is dispatched on port 4. +.It Li UOPS_DISPATCHED_PORT.PORT_5 +.Pq Event A1H, Umask 80H +Cycles which a Uop is dispatched on port 5. +.It Li RESOURCE_STALLS.ANY +.Pq Event A2H, Umask 01H +Cycles Allocation is stalled due to Resource Related reason. +.It Li RESOURCE_STALLS.LB +.Pq Event A2H, Umask 02H +Counts the cycles of stall due to lack of load buffers. +.It Li RESOURCE_STALLS.LB +.Pq Event A2H, Umask 04H +Cycles stalled due to no eligible RS entry available. +.It Li RESOURCE_STALLS.SB +.Pq Event A2H, Umask 08H +Cycles stalled due to no store buffers available. +(not including draining form sync) +.It Li RESOURCE_STALLS.ROB +.Pq Event A2H, Umask 10H +Cycles stalled due to re-order buffer full. +.It Li RESOURCE_STALLS.FCSW +.Pq Event A2H, Umask 20H +Cycles stalled due to writing the FPU control word. +.It Li RESOURCE_STALLS.MXCSR +.Pq Event A2H, Umask 40H +Cycles stalled due to the MXCSR register rename occurring to close to a previous +MXCSR rename. +.It Li RESOURCE_STALLS.OTHER +.Pq Event A2H, Umask 80H +Cycles stalled while execution was stalled due to other resource issues. +.It Li DSB2MITE_SWITCHES.COUNT +.Pq Event ABH, Umask 01H +Number of DSB to MITE switches. +.It Li DSB2MITE_SWITCHES.PENALTY_CYCLES +.Pq Event ABH, Umask 02H +Cycles DSB to MITE switches caused delay. +.It Li DSB_FILL.OTHER_CANCEL +.Pq Event ACH, Umask 02H +Cases of cancelling valid DSB fill not because of exceeding way limit. +.It Li DSB_FILL.EXCEED_DSB_LINES +.Pq Event ACH, Umask 08H +DSB Fill encountered > 3 DSB lines. +.It Li DSB_FILL.ALL_CANCEL +.Pq Event ACH, Umask 0AH +Cases of cancelling valid Decode Stream Buffer (DSB) fill not because of exceeding +way limit. +.It Li ITLB.ITLB_FLUSH +.Pq Event AEH, Umask 01H +Counts the number of ITLB flushes, includes 4k/2M/4M pages. +.It Li OFFCORE_REQUESTS.DEMAND_DATA_RD +.Pq Event B0H, Umask 01H +Demand data read requests sent to uncore. +.It Li OFFCORE_REQUESTS.DEMAND_RFO +.Pq Event B0H, Umask 04H +Demand RFO read requests sent to uncore, including regular RFOs, locks, ItoM. +.It Li OFFCORE_REQUESTS.ALL_DATA_RD +.Pq Event B0H, Umask 08H +Data read requests sent to uncore (demand and prefetch). +.It Li UOPS_DISPATCHED.THREAD +.Pq Event B1H, Umask 01H +Counts total number of uops to be dispatched per-thread each cycle. +Set Cmask = 1, INV =1 to count stall cycles. +.It Li UOPS_DISPATCHED.CORE +.Pq Event B1H, Umask 02H +Counts total number of uops to be dispatched per-core each cycle. +Do not need to set ANY +.It Li OFFCORE_REQUESTS_BUFFER.SQ_FULL +.Pq Event B2H, Umask 01H +Offcore requests buffer cannot take more entries for this thread core. +.It Li AGU_BYPASS_CANCEL.COUNT +.Pq Event B6H, Umask 01H +Counts executed load operations with all the following traits: 1. addressing +of the format [base + offset], 2. the offset is between 1 and 2047, 3. the +address specified in the base register is in one page and the address +[base+offset] is in another page. +.It Li OFF_CORE_RESPONSE_0 +.Pq Event B7H, Umask 01H +Off-core Response Performance Monitoring; PMC0 only. +Requires programming MSR 01A6H +.It Li OFF_CORE_RESPONSE_1 +.Pq Event BBH, Umask 01H +Off-core Response Performance Monitoring. PMC3 only. +Requires programming MSR 01A7H +.It Li TLB_FLUSH.DTLB_THREAD +.Pq Event BDH, Umask 01H +DTLB flush attempts of the thread-specific entries. +.It Li TLB_FLUSH.STLB_ANY +.Pq Event BDH, Umask 20H +Count number of STLB flush attempts. +.It Li L1D_BLOCKS.BANK_CONFLICT_CYCLES +.Pq Event BFH, Umask 05H +Cycles when dispatched loads are cancelled due to L1D bank conflicts with other +load ports. +cmask=1 +.It Li INST_RETIRED.ANY_P +.Pq Event C0H, Umask 00H +Number of instructions at retirement. +.It Li INST_RETIRED.PREC_DIST +.Pq Event C0H, Umask 01H +Precise instruction retired event with HW to reduce effect of PEBS shadow in IP +distribution PMC1 only; Must quiesce other PMCs. +.It Li INST_RETIRED.X87 +.Pq Event C0H, Umask 02H +X87 instruction retired event. +.It Li OTHER_ASSISTS.ITLB_MISS_RETIRED +.Pq Event C1H, Umask 02H +Instructions that experienced an ITLB miss. +.It Li OTHER_ASSISTS.AVX_STORE +.Pq Event C1H, Umask 08H +Number of assists associated with 256-bit AVX store operations. +.It Li OTHER_ASSISTS.AVX_TO_SSE +.Pq Event C1H, Umask 10H +Number of transitions from AVX256 to legacy SSE when penalty applicable. +.It Li OTHER_ASSISTS.SSE_TO_AVX +.Pq Event C1H, Umask 20H +Number of transitions from SSE to AVX-256 when penalty applicable. +.It Li UOPS_RETIRED.ALL +.Pq Event C2H, Umask 01H +Counts the number of micro-ops retired. +Use cmask=1 and invert to count active cycles or stalled cycles. +.It Li UOPS_RETIRED.RETIRE_SLOTS +.Pq Event C2H, Umask 02H +Counts the number of retirement slots used each cycle. +.It Li MACHINE_CLEARS.MEMORY_ORDERING +.Pq Event C3H, Umask 02H +Counts the number of machine clears due to memory order conflicts. +.It Li MACHINE_CLEARS.SMC +.Pq Event C3H, Umask 04H +Counts the number of times that a program writes to a code section. +.It Li MACHINE_CLEARS.MASKMOV +.Pq Event C3H, Umask 20H +Counts the number of executed AVX masked load operations that refer to an +illegal address range with the mask bits set to 0. +.It Li BR_INST_RETIRED.ALL_BRANCH +.Pq Event C4H, Umask 00H +Branch instructions at retirement. +.It Li BR_INST_RETIRED.CONDITIONAL +.Pq Event C4H, Umask 01H +Counts the number of conditional branch instructions retired. +.It Li BR_INST_RETIRED.NEAR_CALL +.Pq Event C4H, Umask 02H +Direct and indirect near call instructions retired. +.It Li BR_INST_RETIRED.ALL_BRANCHES +.Pq Event C4H, Umask 04H +Counts the number of branch instructions retired. +.It Li BR_INST_RETIRED.NEAR_RETURN +.Pq Event C4H, Umask 08H +Counts the number of near return instructions retired. +.It Li BR_INST_RETIRED.NOT_TAKEN +.Pq Event C4H, Umask 10H +Counts the number of not taken branch instructions retired. +.It Li BR_INST_RETIRED.NEAR_TAKEN +.Pq Event C4H, Umask 20H +Number of near taken branches retired. +.It Li BR_INST_RETIRED.FAR_BRANCH +.Pq Event C4H, Umask 40H +Number of far branches retired. +.It Li BR_MISP_RETIRED.ALL_BRANCHES +.Pq Event C5H, Umask 00H +Mispredicted branch instructions at retirement. +.It Li BR_MISP_RETIRED.CONDITIONAL +.Pq Event C5H, Umask 01H +Mispredicted conditional branch instructions retired. +.It Li BR_MISP_RETIRED.NEAR_CALL +.Pq Event C5H, Umask 02H +Direct and indirect mispredicted near call instructions retired. +.It Li BR_MISP_RETIRED.ALL_BRANCH +.Pq Event C5H, Umask 04H +Mispredicted macro branch instructions retired. +.It Li BR_MISP_RETIRED.NOT_TAKEN +.Pq Event C5H, Umask 10H +Mispredicted not taken branch instructions retired. +.It Li BR_MISP_RETIRED.TAKEN +.Pq Event C5H, Umask 20H +Mispredicted taken branch instructions retired. +.It Li FP_ASSIST.X87_OUTPUT +.Pq Event CAH, Umask 02H +Number of X87 assists due to output value. +.It Li FP_ASSIST.X87_INPUT +.Pq Event CAH, Umask 04H +Number of X87 assists due to input value. +.It Li FP_ASSIST.SIMD_OUTPUT +.Pq Event CAH, Umask 08H +Number of SIMD FP assists due to Output values. +.It Li FP_ASSIST.SIMD_INPUT +.Pq Event CAH, Umask 10H +Number of SIMD FP assists due to input values. +.It Li FP_ASSIST.ANY +.Pq Event CAH, Umask 1EH +Cycles with any input/output SSE* or FP assists. +.It Li ROB_MISC_EVENTS.LBR_INSERTS +.Pq Event CCH, Umask 20H +Count cases of saving new LBR records by hardware. +.It Li MEM_TRANS_RETIRED.LOAD_LATENCY +.Pq Event CDH, Umask 01H +Sample loads with specified latency threshold. +PMC3 only. +Specify threshold in MSR 0x3F6. +.It Li MEM_TRANS_RETIRED.PRECISE_STORE +.Pq Event CDH, Umask 02H +Sample stores and collect precise store operation via PEBS record. +PMC3 only. +.It Li MEM_UOP_RETIRED.LOADS +.Pq Event D0H, Umask 01H +Qualify retired memory uops that are loads. +Combine with umask 10H, 20H, 40H, 80H. +.It Li MEM_UOP_RETIRED.STORES +.Pq Event D0H, Umask 02H +Qualify retired memory uops that are stores. +Combine with umask 10H, 20H, 40H, 80H. +.It Li MEM_UOP_RETIRED.STLB_MISS +.Pq Event D0H, Umask 10H +Qualify retired memory uops with STLB miss. +Must combine with umask 01H, 02H, to produce counts. +.It Li MEM_UOP_RETIRED.LOCK +.Pq Event D0H, Umask 20H +Qualify retired memory uops with lock. +Must combine with umask 01H, 02H, to produce counts. +.It Li MEM_UOP_RETIRED.SPLIT +.Pq Event D0H, Umask 40H +Qualify retired memory uops with line split. +Must combine with umask 01H, 02H, to produce counts. +.It Li MEM_UOP_RETIRED_ALL +.Pq Event D0H, Umask 80H +Qualify any retired memory uops. +Must combine with umask 01H, 02H, to produce counts. +.It Li MEM_LOAD_UOPS_RETIRED.L1_HIT +.Pq Event D1H, Umask 01H +Retired load uops with L1 cache hits as data sources. +Must combine with umask 01H, 02H, to produce counts. +.It Li MEM_LOAD_UOPS_RETIRED.L2_HIT +.Pq Event D1H, Umask 02H +Retired load uops with L2 cache hits as data sources. +.It Li MEM_LOAD_UOPS_RETIRED.LLC_HIT +.Pq Event D1H, Umask 04H +Retired load uops which data sources were data hits in LLC without snoops +required. +.It Li MEM_LOAD_UOPS_RETIRED.HIT_LFB +.Pq Event D1H, Umask 40H +Retired load uops which data sources were load uops missed L1 but hit FB due +to preceding miss to the same cache line with data not ready. +.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_MISS +.Pq Event D2H, Umask 01H +Retired load uops which data sources were LLC hit and cross-core snoop missed in +on-pkg core cache. +.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HIT +.Pq Event D2H, Umask 02H +Retired load uops which data sources were LLC and cross-core snoop hits in +on-pkg core cache. +.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_HITM +.Pq Event D2H, Umask 04H +Retired load uops which data sources were HitM responses from shared LLC. +.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.XSNP_NONE +.Pq Event D2H, Umask 08H +Retired load uops which data sources were hits in LLC without snoops required. +.It Li MEM_LOAD_UOPS_LLC_HIT_RETIRED.LLC_MISS +.Pq Event D4H, Umask 02H +Retired load uops with unknown information as data source in cache serviced the load. +.It Li L2_TRANS.DEMAND_DATA_RD +.Pq Event F0H, Umask 01H +Demand Data Read requests that access L2 cache. +.It Li L2_TRANS.RF0 +.Pq Event F0H, Umask 02H +RFO requests that access L2 cache. +.It Li L2_TRANS.CODE_RD +.Pq Event F0H, Umask 04H +L2 cache accesses when fetching instructions. +.It Li L2_TRANS.ALL_PF +.Pq Event F0H, Umask 08H +L2 or LLC HW prefetches that access L2 cache. +.It Li L2_TRANS.L1D_WB +.Pq Event F0H, Umask 10H +L1D writebacks that access L2 cache. +.It Li L2_TRANS.L2_FILL +.Pq Event F0H, Umask 20H +L2 fill requests that access L2 cache. +.It Li L2_TRANS.L2_WB +.Pq Event F0H, Umask 40H +L2 writebacks that access L2 cache. +.It Li L2_TRANS.ALL_REQUESTS +.Pq Event F0H, Umask 80H +Transactions accessing L2 pipe. +.It Li L2_LINES_IN.I +.Pq Event F1H, Umask 01H +L2 cache lines in I state filling L2. +Counting does not cover rejects. +.It Li L2_LINES_IN.S +.Pq Event F1H, Umask 02H +L2 cache lines in S state filling L2. +Counting does not cover rejects. +.It Li L2_LINES_IN.E +.Pq Event F1H, Umask 04H +L2 cache lines in E state filling L2. +Counting does not cover rejects. +.It Li L2_LINES-IN.ALL +.Pq Event F1H, Umask 07H +L2 cache lines filling L2. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 00:26:19 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 668B8106564A; Mon, 9 Apr 2012 00:26:19 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail35.syd.optusnet.com.au (mail35.syd.optusnet.com.au [211.29.133.51]) by mx1.freebsd.org (Postfix) with ESMTP id DD8E38FC0C; Mon, 9 Apr 2012 00:26:18 +0000 (UTC) Received: from c211-30-171-136.carlnfd1.nsw.optusnet.com.au (c211-30-171-136.carlnfd1.nsw.optusnet.com.au [211.30.171.136]) by mail35.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id q390QApi006737 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 9 Apr 2012 10:26:11 +1000 Date: Mon, 9 Apr 2012 10:26:10 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: David Schultz In-Reply-To: <20120407165729.GA2737@zim.MIT.EDU> Message-ID: <20120409084336.A1308@besplex.bde.org> References: <201202282217.q1SMHrIk094780@svn.freebsd.org> <201203012347.32984.tijl@freebsd.org> <20120302132403.P929@besplex.bde.org> <201203022231.43186.tijl@freebsd.org> <20120407165729.GA2737@zim.MIT.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.ORG, Tijl Coosemans , src-committers@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Bruce Evans Subject: Re: svn commit: r232275 - in head/sys: amd64/include i386/include pc98/include x86/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 00:26:19 -0000 On Sat, 7 Apr 2012, David Schultz wrote: > On Fri, Mar 02, 2012, Tijl Coosemans wrote: Hmm, old news. I think I already applied, but now notice some more details. >> Thanks, that was quite informative. C11 does say something about the >> FP env and signals now though: >> >> ``When the processing of the abstract machine is interrupted by receipt >> of a signal, the values of objects that are neither lock-free atomic >> objects nor of type volatile sig_atomic_t are unspecified, as is the >> state of the floating-point environment. The value of any object >> modified by the handler that is neither a lock-free atomic object nor >> of type volatile sig_atomic_t becomes indeterminate when the handler >> exits, as does the state of the floating-point environment if it is >> modified by the handler and not restored to its original state.'' This apparently allows signal handlers to be called with the FP env is in an undefined state (as in FreeBSD-4). But this is a large change relative to C99, since C99 says nothing about the floating point state for signal handlers, and its abstract machine requires FP expressions like "auto double four = 2.0 + 2.0;" to work. Does "unspecified" include "undefined", or does the requirement for the abstract machine to not give undefined behaviour have precedence over the allowance for the FP env to be anything? >> This means a signal handler must not rely on the state of the FP env. >> It may install its own FP env if needed (e.g. FE_DFL_ENV), but then it >> must restore the original before returning. This allows for the >> rounding mode to be silently modified for integer conversions for >> instance. >> >> If longjmp is not supposed to change the FP env then, when called from >> a signal handler, either the signal handler must install a proper FP >> env before calling longjmp or a proper FP env must be installed after >> the target setjmp call. Otherwise the FP env is unspecified. > > There are two reasonable ways to handle the floating point control > word. FreeBSD treats it as a register, resetting it on signal > handler entry and restoring it on longjmp or signal handler > return. Virtually every other OS (e.g., Linux, NetBSD, Solaris) > treats it as global state, leaving it up to the signal handler to > preserve it as needed. I checked what Linux-2.6.10 actually does. It does nothing as drastic as passing the interrupted FP environment to signal handlers. It just provides a clean FP env for signal handlers, like FreeBSD-5+ signal handlers do, except more cleanly for FP SIGFPE on x86: FreeBSD-[1-4] SIGFPE handling: save exception flags in memory clear exception flags in i387 call handler with this unclean state FreeBSD-[5-10] SIGFPE handling: convert exception flags to a signal code. Lose details in translation. Forget to merge the SSE flags when doing this. So the signal code cannot be trusted (AFAIR, it also doesn't distinguish between an i387 and an SSE exception. Better yet, npxtrap() doesn't distinguish, so it blindly translates for i387 when the exception was for SSE). clear exception flags in i387. Do this even if the exception was for SSE. Forget to do anything with the SSE flags. call handler with a different, completely clean state Linux-2.6.10 SIGFPE handling: (not sure if it has a signal code) don't clear exception flags in i387 call handler with a different, completely clean state The result is that if signal handler just returns, then: - under FreeBSD, iff the SIGFPE was for the i387, then the fault doesn't repeat - under Linux and under FreeBSD iff the SIGFPE was for SSE, then the fault does repeat - under FreeBSD, for both cases the i387 exception flags are broken (lost), but the SSE exception flags work (are preserved). Of course, returning from a SIGFPE handler gives undefined behaviour. This (not just different behaviour) the causes the following problems: - if the signal handler just returns, nothing good happens for the SIGFPE case (except for integer SIGFPE) - if the signal handler wants to fix up the FP env before returning, then it has very large portability problems even for fixing the exception flags in the above 3 classes of behaviour. But a fixup is usually essential if the handler is for FP SIGFPE. - if the signal handler longjmp()s, then it gets the following behaviour: - under FreeBSD, it gets the control word restored to that at the time of the setjmp() (modulo some bugs in some versions for SSE); similarly for the exception flags except the bugs are now features (it's best not to touch the exception flags) - under Linux-2.6.10, it gets a clean control and status word from the signal handler's FP env (unless the signal handler has uncleaned them). > Both approaches have their merits. FreeBSD's approach provides > better semantics. Library functions, round-to-integer on most > CPUs, and other things may temporarily change the rounding mode. > Most programmers don't think about that, but on Linux, if an async > signal were delivered at the wrong time and did a longjmp, the > rounding mode would be in an unexpected state. Most programmers It's state will be clean, i.e., FE_TONEAREST. This is OK for fixing up temporary changes to it, but bad if it was set to another mode using fesetround(). The setting may have been either before or after the setjmp(). I think C99 wants it to be the setting of the most recent fesetround(), but FreeBSD restores the setting to the most recent one before the setjmp(). > don't think about that; even a program that never changes the > rounding mode explicitly could wind up in round-to-zero mode after > jumping out of a signal handler. That would only happen in Linux after an explicit fesetround() to FE_TOWARDZERO in the signal handler. > The main advantage of the alternative approach is that it avoids > the overhead of saving and restoring the floating point control > word. Many programs don't even use floating point, and the > efficiency is important for programs that use longjmp frequently, > e.g., to implement exceptions. > > Either way, note the importance of being consistent: If the FP env > gets clobbered automatically on entry to a signal handler, then > longjmp must restore what the application had before. Personally, > I'm not opposed to changing both signal handlers and longjmp to > match what the rest of the world does, but this isn't just about > the mxcsr, as suggested previously. The rest of the world is already perfectly inconsistent, since it clobbers the env for signal handlers, and I don't see it changing now that C11 encourages the reverse. I think the overhead is unimportant. fnstcw in setjmp() takes 4 cycles (latency) on AthlonXP. fldcw in longjmp() takes 11. Hopefully this is in parallel so it takes less than 1 cycle each (throughput). (But I never got anyway trying to hide the latency of fxsave/fxrstor.) Some other arches have hundreds if not thousands of general registers to save where i386 has only 11, so a few more cycles for FP would be even more in the noise. Bruce From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 01:20:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9B3191065673; Mon, 9 Apr 2012 01:20:51 +0000 (UTC) (envelope-from bjk@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 85BDD8FC08; Mon, 9 Apr 2012 01:20:51 +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 q391Kpbx036395; Mon, 9 Apr 2012 01:20:51 GMT (envelope-from bjk@svn.freebsd.org) Received: (from bjk@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q391KpF7036393; Mon, 9 Apr 2012 01:20:51 GMT (envelope-from bjk@svn.freebsd.org) Message-Id: <201204090120.q391KpF7036393@svn.freebsd.org> From: Benjamin Kaduk Date: Mon, 9 Apr 2012 01:20:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234047 - head/sbin/mdconfig X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 01:20:51 -0000 Author: bjk (doc committer) Date: Mon Apr 9 01:20:50 2012 New Revision: 234047 URL: http://svn.freebsd.org/changeset/base/234047 Log: Fix a couple of style issues. Tweak grammar and markup while here. Approved by: hrs (mentor) Modified: head/sbin/mdconfig/mdconfig.8 Modified: head/sbin/mdconfig/mdconfig.8 ============================================================================== --- head/sbin/mdconfig/mdconfig.8 Sun Apr 8 21:29:48 2012 (r234046) +++ head/sbin/mdconfig/mdconfig.8 Mon Apr 9 01:20:50 2012 (r234047) @@ -41,7 +41,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 21, 2008 +.Dd March 21, 2012 .Dt MDCONFIG 8 .Os .Sh NAME @@ -87,7 +87,7 @@ parameters specified and attach it to th Detach a memory disk from the system and release all resources. .It Fl t Ar type Select the type of the memory disk. -.Bl -tag -width "preload" +.Bl -tag -width "malloc" .It Cm malloc Storage for this type of memory disk is allocated with .Xr malloc 9 . @@ -104,31 +104,35 @@ becomes the backing store for this memor .It Cm swap Storage for this type of memory disk is allocated from buffer memory. -Pages get pushed out to the swap when the system is under memory +Pages get pushed out to swap when the system is under memory pressure, otherwise they stay in the operating memory. Using .Cm swap -backing is generally preferable over +backing is generally preferred instead of using .Cm malloc backing. .El .It Fl f Ar file -Filename to use for the vnode type memory disk. Options +Filename to use for the vnode type memory disk. +The .Fl a and .Fl t Ar vnode -are implied if not specified. +options are implied if not specified. .It Fl l List configured devices. If given with .Fl u , display details about that particular device. -If +If the .Fl v -option specified, show all details. +option is specified, show all details. .It Fl n -When printing md device names, print only the unit number without the -md prefix. +When printing +.Xr md 4 +device names, print only the unit number without the +.Xr md 4 +prefix. .It Fl s Ar size Size of the memory disk. .Ar Size @@ -137,11 +141,12 @@ is the number of 512 byte sectors unless or .Cm t which -denotes byte, kilobyte, megabyte, gigabyte and terabyte respectively. Options +denotes byte, kilobyte, megabyte, gigabyte and terabyte respectively. +The .Fl a and .Fl t Ar swap -are implied if not specified. +options are implied if not specified. .It Fl S Ar sectorsize Sectorsize to use for malloc backed device. .It Fl x Ar sectors/track @@ -175,12 +180,12 @@ Allocate and reserve all needed storage .It Oo Cm no Oc Ns Cm cluster Enable clustering on this disk. .It Oo Cm no Oc Ns Cm compress -Enable/Disable compression features to reduce memory usage. +Enable/disable compression features to reduce memory usage. .It Oo Cm no Oc Ns Cm force -Disable/Enable extra sanity checks to prevent the user from doing something +Disable/enable extra sanity checks to prevent the user from doing something that might adversely affect the system. .It Oo Cm no Oc Ns Cm readonly -Enable/Disable readonly mode. +Enable/disable readonly mode. .El .It Fl u Ar unit Request a specific unit number for the @@ -197,15 +202,15 @@ is provided for convenience as an abbrev .Fl t Ar vnode .Fl f Ar file . .Sh EXAMPLES -To create a 4 megabyte +Create a 4 megabyte .Xr malloc 9 backed memory disk. -The name of the allocated unit will be output on stdout like +The name of the allocated unit will be printed on stdout, such as .Dq Li md3 : .Pp .Dl mdconfig -a -t malloc -s 4m .Pp -To create a disk named +Create a disk named .Pa /dev/md4 with .Pa /tmp/boot.flp @@ -213,12 +218,12 @@ as backing storage: .Pp .Dl mdconfig -a -t vnode -f /tmp/boot.flp -u 4 .Pp -To detach and free all resources used by +Detach and free all resources used by .Pa /dev/md4 : .Pp .Dl mdconfig -d -u 4 .Pp -To create a 128MByte swap backed disk, initialize an +Create a 128MByte swap backed disk, initialize an .Xr ffs 7 file system on it, and mount it on .Pa /tmp : @@ -229,7 +234,7 @@ mount /dev/md10 /tmp chmod 1777 /tmp .Ed .Pp -To create a 5MB file-backed disk +Create a 5MB file-backed disk .Ns ( Fl a and .Fl t Ar vnode @@ -242,7 +247,7 @@ newfs md0c mount /dev/md0c /mnt .Ed .Pp -To create an +Create an .Xr md 4 device out of an ISO 9660 CD image file .Ns ( Fl a From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 01:37:07 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 55A441065670 for ; Mon, 9 Apr 2012 01:37:07 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id D7D5C8FC0A for ; Mon, 9 Apr 2012 01:37:06 +0000 (UTC) Received: by wern13 with SMTP id n13so3101666wer.13 for ; Sun, 08 Apr 2012 18:37:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding:x-gm-message-state; bh=Hnp3kBBlhfBfUNWX6QjauueMiGYAxaMOAzIs2YVCTL8=; b=arqcMYuWWNf/BLuygDj0gqHBu6kD8sti3o/YW9luRhdjuVK90awPWqUBxkKnEh29TS GXB/KKe0/ZHEReHsDQdzJ9Le1zfXuDHlkAEiJRLChvv8m6kdaaL4NDIiHrL4SvDDfACn O1yk+dlxEdkDmQdAAZcqH6cFaGa7okRqB727SmvSiK1OUKJU0lFtHMpt/EdRGlgOvsbq yswLdA0aqJIq1FMsrlwBz/MM4RdqQRY2T3WgDF6k0C8L+6Ua5GpwkvOI98LW9UlqlNvB EIs9Nhjr7/ZpHY+LOhN6o2Kqw9rBFG0pYCO+JaPahD7otvAQhuQdsE7fRUYtv8Kb8xPk J0iQ== Received: by 10.180.97.4 with SMTP id dw4mr12259560wib.18.1333935425813; Sun, 08 Apr 2012 18:37:05 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.180.86.37 with HTTP; Sun, 8 Apr 2012 18:36:45 -0700 (PDT) In-Reply-To: <20120408164521.55aecdd1@fubar.geek.nz> References: <201204080436.q384aRXS093116@svn.freebsd.org> <20120408164521.55aecdd1@fubar.geek.nz> From: Juli Mallett Date: Sun, 8 Apr 2012 18:36:45 -0700 X-Google-Sender-Auth: 0dIQqujAo5z_lSAIwXfikYL5m3g Message-ID: To: Andrew Turner Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQl1Snf6m0jX6LYpakB/WHdcU0VA9jDckEyrdMjwcXfIHiIAzM+4GRLBFGN5Dz1cyOQUj2N5 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 01:37:07 -0000 On Sat, Apr 7, 2012 at 21:45, Andrew Turner wrote: > On Sun, 8 Apr 2012 04:36:27 +0000 (UTC) > Andrew Turner wrote: > >> Author: andrew >> Date: Sun Apr =C2=A08 04:36:27 2012 >> New Revision: 234014 >> URL: http://svn.freebsd.org/changeset/base/234014 >> >> Log: >> =C2=A0 Unlike other functions __aeabi_read_tp function must preserve >> r1-r3. The currently generated code clobbers r3. Fix this by loading >> ARM_TP_ADDRESS using inline assembly. >> >> =C2=A0 Approved by: =C2=A0 =C2=A0 =C2=A0 =C2=A0imp (mentor) > > This fixes thread local storage on ARM in cases when the compiler loads > the offset of the variable in r3 before calling __aeabi_read_tp as has > been observed when the variable is in a shared library. I don't believe this is safe unless you specify __attribute__ ((__naked__)) in the declaration =E2=80=94 currently the compiler is free t= o clobber registers that the calling convention/ABI allows it to clobber. I don't see the benefit of implementing this in C over using an assembly file, that said, although GCC does have this attribute precisely to allow one to write assembly in a C source file without having to worry about unexpected behavior. How do you know GCC won't allocate r2 to be used as a temporary in between the assembly and the return? I tried to raise this concern on IRC previously, but hopefully it's clearer= now. Thanks, Juli. From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 03:08:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B685E106566C; Mon, 9 Apr 2012 03:08:23 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 85D628FC0C; Mon, 9 Apr 2012 03:08:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3938NdJ039939; Mon, 9 Apr 2012 03:08:23 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3938NC8039936; Mon, 9 Apr 2012 03:08:23 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201204090308.q3938NC8039936@svn.freebsd.org> From: Rick Macklem Date: Mon, 9 Apr 2012 03:08:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234049 - in stable/8/sys: fs/nfs fs/nfsserver i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 03:08:23 -0000 Author: rmacklem Date: Mon Apr 9 03:08:22 2012 New Revision: 234049 URL: http://svn.freebsd.org/changeset/base/234049 Log: MFC: r231805 Delete a couple of out of date comments that are no longer true in the new NFS client. Modified: stable/8/sys/fs/nfs/nfs_commonport.c stable/8/sys/fs/nfsserver/nfs_nfsdport.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/fs/nfs/nfs_commonport.c ============================================================================== --- stable/8/sys/fs/nfs/nfs_commonport.c Mon Apr 9 01:37:57 2012 (r234048) +++ stable/8/sys/fs/nfs/nfs_commonport.c Mon Apr 9 03:08:22 2012 (r234049) @@ -111,9 +111,6 @@ MALLOC_DEFINE(M_NEWNFSDROLLBACK, "NFSD r * Definition of mutex locks. * newnfsd_mtx is used in nfsrvd_nfsd() to protect the nfs socket list * and assorted other nfsd structures. - * Giant is used to protect the nfsd list and count, which is just - * updated when nfsd's start/stop and is grabbed for nfsrvd_dorpc() - * for the VFS ops. */ struct mtx newnfsd_mtx; struct mtx nfs_sockl_mutex; Modified: stable/8/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- stable/8/sys/fs/nfsserver/nfs_nfsdport.c Mon Apr 9 01:37:57 2012 (r234048) +++ stable/8/sys/fs/nfsserver/nfs_nfsdport.c Mon Apr 9 03:08:22 2012 (r234049) @@ -315,11 +315,7 @@ nfsvno_setattr(struct vnode *vp, struct } /* - * Set up nameidata for a lookup() call and do it - * For the cases where we are crossing mount points - * (looking up the public fh path or the v4 root path when - * not using a pseudo-root fs), set/release the Giant lock, - * as required. + * Set up nameidata for a lookup() call and do it. */ int nfsvno_namei(struct nfsrv_descript *nd, struct nameidata *ndp, From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 03:39:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69BF1106566B; Mon, 9 Apr 2012 03:39:51 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 39BF08FC08; Mon, 9 Apr 2012 03:39:51 +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 q393dpY4041188; Mon, 9 Apr 2012 03:39:51 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q393dp23041186; Mon, 9 Apr 2012 03:39:51 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201204090339.q393dp23041186@svn.freebsd.org> From: Rick Macklem Date: Mon, 9 Apr 2012 03:39:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234050 - in stable/8/sys: fs/nfsserver i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 03:39:51 -0000 Author: rmacklem Date: Mon Apr 9 03:39:50 2012 New Revision: 234050 URL: http://svn.freebsd.org/changeset/base/234050 Log: MFC: r232050 hrs@ reported a panic to freebsd-stable@ under the subject line "panic in 8.3-PRERELEASE" on Feb. 22, 2012. This panic was caused by use of a mix of tsleep() and msleep() calls on the same event in the new NFS server DRC code. It did "mtx_unlock(); tsleep();" in two places, which kib@ noted introduced a slight risk that the wakeup() would occur before the tsleep(), resulting in a 10sec delay before waking up. This patch fixes the problem by replacing "mtx_unlock(); tsleep();" with mtx_sleep(..PDROP..). It also changes a nfsmsleep() call to mtx_sleep() so that the code uses mtx_sleep() consistently within the file. Modified: stable/8/sys/fs/nfsserver/nfs_nfsdcache.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/fs/nfsserver/nfs_nfsdcache.c ============================================================================== --- stable/8/sys/fs/nfsserver/nfs_nfsdcache.c Mon Apr 9 03:08:22 2012 (r234049) +++ stable/8/sys/fs/nfsserver/nfs_nfsdcache.c Mon Apr 9 03:39:50 2012 (r234050) @@ -336,9 +336,8 @@ loop: nfsaddr_match(NETFAMILY(rp), &rp->rc_haddr, nd->nd_nam)) { if ((rp->rc_flag & RC_LOCKED) != 0) { rp->rc_flag |= RC_WANTED; - NFSUNLOCKCACHE(); - (void) tsleep((caddr_t)rp, PZERO - 1, - "nfsrc", 10 * hz); + (void)mtx_sleep(rp, NFSCACHEMUTEXPTR, + (PZERO - 1) | PDROP, "nfsrc", 10 * hz); goto loop; } if (rp->rc_flag == 0) @@ -622,8 +621,8 @@ tryagain: rp = hitrp; if ((rp->rc_flag & RC_LOCKED) != 0) { rp->rc_flag |= RC_WANTED; - NFSUNLOCKCACHE(); - (void) tsleep((caddr_t)rp, PZERO-1, "nfsrc", 10 * hz); + (void)mtx_sleep(rp, NFSCACHEMUTEXPTR, + (PZERO - 1) | PDROP, "nfsrc", 10 * hz); goto tryagain; } if (rp->rc_flag == 0) @@ -694,7 +693,7 @@ nfsrc_lock(struct nfsrvcache *rp) NFSCACHELOCKREQUIRED(); while ((rp->rc_flag & RC_LOCKED) != 0) { rp->rc_flag |= RC_WANTED; - (void) nfsmsleep((caddr_t)rp, NFSCACHEMUTEXPTR, PZERO - 1, + (void)mtx_sleep(rp, NFSCACHEMUTEXPTR, PZERO - 1, "nfsrc", 0); } rp->rc_flag |= RC_LOCKED; From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 04:05:22 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EE0B71065674; Mon, 9 Apr 2012 04:05:22 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D8AC98FC0C; Mon, 9 Apr 2012 04:05:22 +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 q3945MS2042074; Mon, 9 Apr 2012 04:05:22 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3945Mh9042072; Mon, 9 Apr 2012 04:05:22 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201204090405.q3945Mh9042072@svn.freebsd.org> From: Rick Macklem Date: Mon, 9 Apr 2012 04:05:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234051 - in stable/8/sys: fs/nfsserver i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 04:05:23 -0000 Author: rmacklem Date: Mon Apr 9 04:05:22 2012 New Revision: 234051 URL: http://svn.freebsd.org/changeset/base/234051 Log: MFC: r2323467 The name caching changes of r230394 exposed an intermittent bug in the new NFS server for NFSv4, where it would report ENOENT when the file actually existed on the server. This turned out to be caused by not initializing ni_topdir before calling lookup() and there was a rare case where the value on the stack location assigned to ni_topdir happened to be a pointer to a ".." entry, such that "dp == ndp->ni_topdir" succeeded in lookup(). This patch initializes ni_topdir to fix the problem. Modified: stable/8/sys/fs/nfsserver/nfs_nfsdport.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- stable/8/sys/fs/nfsserver/nfs_nfsdport.c Mon Apr 9 03:39:50 2012 (r234050) +++ stable/8/sys/fs/nfsserver/nfs_nfsdport.c Mon Apr 9 04:05:22 2012 (r234051) @@ -390,6 +390,7 @@ nfsvno_namei(struct nfsrv_descript *nd, cnp->cn_thread = p; ndp->ni_startdir = dp; ndp->ni_rootdir = rootvnode; + ndp->ni_topdir = NULL; if (!lockleaf) cnp->cn_flags |= LOCKLEAF; From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 04:16:17 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 016B71065673; Mon, 9 Apr 2012 04:16:17 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from mailfilter44.ihug.co.nz (mailfilter44.ihug.co.nz [203.109.136.44]) by mx1.freebsd.org (Postfix) with ESMTP id B70E88FC08; Mon, 9 Apr 2012 04:16:15 +0000 (UTC) X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.0 c=1 a=DE6nE7g822sA:10 a=f/SxzVRvWQdBqo0nlH1VRA==:17 a=6I5d2MoRAAAA:8 a=Gjt9h_guEhBIAy_4Co8A:9 a=QEXdDO2ut3YA:10 a=SV7veod9ZcQA:10 a=VAGSD8EX3UrfVcmK:21 a=uMMGHQrZwPfZDydR:21 a=Z1xzJwc4NuAIBxNH110A:9 a=-xCp-FiVW73MmOn47wkA:7 a=KTr_PvXjTkxT82MG:21 a=olYByBxJUJGmHZ1l:21 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EAA1hgk/Ldqol/2dsb2JhbABEhWazRIEIggkBAQQBIzMjBQsIAQIOBgQqAgI5HgYTiAkEDKcmkgeLMYQRgRgEjmyGfwGQNoJ8gT8BFg X-IronPort-AV: E=Sophos;i="4.75,392,1330858800"; d="scan'208";a="133786825" Received: from 203-118-170-37.adsl.ihug.co.nz (HELO localhost) ([203.118.170.37]) by cust.filter6.content.vf.net.nz with SMTP; 09 Apr 2012 16:15:06 +1200 Date: Mon, 9 Apr 2012 16:14:53 +1200 From: Andrew Turner To: Juli Mallett Message-ID: <20120409161453.29d1f3de@fubar.geek.nz> In-Reply-To: References: <201204080436.q384aRXS093116@svn.freebsd.org> <20120408164521.55aecdd1@fubar.geek.nz> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; i386-portbld-freebsd8.0) X-Pirate: Arrrr Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/MUAtSxdUM4O2DLeLY2lu62S" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 04:16:17 -0000 --MP_/MUAtSxdUM4O2DLeLY2lu62S Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sun, 8 Apr 2012 18:36:45 -0700 Juli Mallett wrote: > On Sat, Apr 7, 2012 at 21:45, Andrew Turner > wrote: > > On Sun, 8 Apr 2012 04:36:27 +0000 (UTC) > > Andrew Turner wrote: > > > >> Author: andrew > >> Date: Sun Apr =C2=A08 04:36:27 2012 > >> New Revision: 234014 > >> URL: http://svn.freebsd.org/changeset/base/234014 > >> > >> Log: > >> =C2=A0 Unlike other functions __aeabi_read_tp function must preserve > >> r1-r3. The currently generated code clobbers r3. Fix this by > >> loading ARM_TP_ADDRESS using inline assembly. > >> > >> =C2=A0 Approved by: =C2=A0 =C2=A0 =C2=A0 =C2=A0imp (mentor) > > > > This fixes thread local storage on ARM in cases when the compiler > > loads the offset of the variable in r3 before calling > > __aeabi_read_tp as has been observed when the variable is in a > > shared library. >=20 > I don't believe this is safe unless you specify __attribute__ > ((__naked__)) in the declaration =E2=80=94 currently the compiler is free= to > clobber registers that the calling convention/ABI allows it to > clobber. I don't see the benefit of implementing this in C over using > an assembly file, that said, although GCC does have this attribute > precisely to allow one to write assembly in a C source file without > having to worry about unexpected behavior. We can implement it as a naked function but we will need to store all registers other than r0 and pc which seems a waste. The problem implementing it in an assembly file is we are unable to use ARM_TP_ADDRESS is defined as: #define ARM_TP_ADDRESS (ARM_VECTORS_HIGH + 0x1000) Where ARM_VECTORS_HIGH is defined as: #define ARM_VECTORS_HIGH 0xffff0000U Binutils fails because of the U in ARM_VECTORS_HIGH eith the following: Error: missing ')' Error: junk at end of line, first unrecognized character is `U' I could remove the U from ARM_VECTORS_HIGH however I'm not sure on the implications of that change. > How do you know GCC won't allocate r2 to be used as a temporary in > between the assembly and the return? The compiler is free to use r2 with the current code. I have attached a patch that fools the compiler into thinking we are using r1-r3 by placing them in the clobber list. Andrew --MP_/MUAtSxdUM4O2DLeLY2lu62S Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=arm_tls.patch Index: lib/libc/arm/gen/__aeabi_read_tp.c =================================================================== --- lib/libc/arm/gen/__aeabi_read_tp.c (revision 234031) +++ lib/libc/arm/gen/__aeabi_read_tp.c (working copy) @@ -39,7 +39,8 @@ { void *_tp; - asm("ldr %0, [%1]\n" : "=r"(_tp) : "r"(ARM_TP_ADDRESS)); + asm("ldr %0, [%1]\n" : "=r"(_tp) : "r"(ARM_TP_ADDRESS) + : "r1", "r2", "r3"); return _tp; } --MP_/MUAtSxdUM4O2DLeLY2lu62S-- From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 04:44:39 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AF0EF106566B; Mon, 9 Apr 2012 04:44:39 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 985098FC0A; Mon, 9 Apr 2012 04:44: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 q394idQB043321; Mon, 9 Apr 2012 04:44:39 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q394idDb043319; Mon, 9 Apr 2012 04:44:39 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201204090444.q394idDb043319@svn.freebsd.org> From: Hiroki Sato Date: Mon, 9 Apr 2012 04:44:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234052 - releng/8.3/release/doc/en_US.ISO8859-1/relnotes X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 04:44:39 -0000 Author: hrs Date: Mon Apr 9 04:44:39 2012 New Revision: 234052 URL: http://svn.freebsd.org/changeset/base/234052 Log: - Fix revision numbers to ones in RELENG_8*. - Document posix_fadvise(2)[*] - xz 5.0.1. Spotted by: jhb [*] Approved by: re (implicit) Modified: releng/8.3/release/doc/en_US.ISO8859-1/relnotes/article.sgml Modified: releng/8.3/release/doc/en_US.ISO8859-1/relnotes/article.sgml ============================================================================== --- releng/8.3/release/doc/en_US.ISO8859-1/relnotes/article.sgml Mon Apr 9 04:05:22 2012 (r234051) +++ releng/8.3/release/doc/en_US.ISO8859-1/relnotes/article.sgml Mon Apr 9 04:44:39 2012 (r234052) @@ -207,7 +207,7 @@ Kernel Changes - The &os; + The &os; &man.dtrace.1; framework now supports systrace for system calls of linux32 and freebsd32 on @@ -218,7 +218,7 @@ system call tracing provided by the systrace module. - The &man.hhook.9; (Helper Hook) + The &man.hhook.9; (Helper Hook) and &man.khelp.9; (Kernel Helpers) KPIs have been implemented. These are a kind of superset of &man.pfil.9; framework for more general use in the kernel. The &man.hhook.9; KPI @@ -231,95 +231,89 @@ structured way to dynamically extend the kernel at runtime in an ABI preserving manner. - A &man.loader.8; + A &man.loader.8; tunable hw.memtest.tests has been added. This controls whether to perform memory testing at boot time or not. The default value is 1 (perform a memory test). - The &man.open.2; and &man.fhopen.2; + The &man.open.2; and &man.fhopen.2; system calls now support the O_CLOEXEC flag, which allows setting the FD_CLOEXEC flag for the newly created file descriptor. This is standardized in IEEE Std 1003.1-2008 (POSIX, Single UNIX Specification Version 4). - The &man.posix.fallocate.2; system call has + The &man.posix.fallocate.2; system call has been implemented. This is a function in POSIX to ensure that a part of the storage for regular file data is allocated on the file system storage media. - - Boot Loader Changes - - - + The &man.posix.fadvise.2; system call + has been implemented. This is a function in POSIX similar to + &man.madvise.2; except that it operates on a file descriptor + instead of a memory region. Hardware Support - The &os; &man.usb.4; subsystem now + The &os; &man.usb.4; subsystem now supports USB packet filter. This allows to capture packets which go through each USB host controller. The implementation is almost based on &man.bpf.4; code. The userland program &man.usbdump.8; has been added. - - Multimedia Support - - - - Network Interface Support - The &man.cxgb.4; driver has been + The &man.cxgb.4; driver has been updated to version 7.11.0. - A &man.cxgbe.4; driver for Chelsio + A &man.cxgbe.4; driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters has been added. - The &man.dc.4; driver + The &man.dc.4; driver now works correctly in kernels with the option. - The &man.em.4; driver has been + The &man.em.4; driver has been updated to version 7.3.2. - The &man.igb.4; driver has been + The &man.igb.4; driver has been updated to version 2.3.1. - The &man.igb.4; driver now supports + The &man.igb.4; driver now supports Intel I350 PCIe Gigabit Ethernet controllers. - The &man.ixgbe.4; driver has been + The &man.ixgbe.4; driver has been updated to version 2.4.5. - Firmware images in the &man.iwn.4; + Firmware images in the &man.iwn.4; driver for 1000, 5000, 6000, and 6500 series cards have been updated. - A bug in the &man.msk.4; driver has been - fixed. It could prevent RX checksum offloading from - working. + The &man.msk.4; driver now supports + RX checksum offloading for Yukon EC, Yukon Ultra, Yukon FE + and Yukon Ultra2. The checksum offloading for Yukon XL + was still disabled due to known silicon bug. - A bug in the &man.nfe.4; driver which + A bug in the &man.nfe.4; driver which could prevent reinitialization after changing the MTU has been fixed. - A rdcphy(4) driver for RDC Semiconductor + A rdcphy(4) driver for RDC Semiconductor R6040 10/100 PHY has been added. - The &man.re.4; driver now supports + The &man.re.4; driver now supports RTL8168E/8111E-VL PCIe Gigabit Ethernet controllers and RTL8401E PCIe Fast Ethernet controllers. - The &man.re.4; driver now supports + The &man.re.4; driver now supports TX interrupt moderation on RTL810xE PCIe Fast Ethernet controllers. - The &man.re.4; driver now supports + The &man.re.4; driver now supports another mechanism for RX interrupt moderation because of performance problems. A &man.sysctl.8; variable dev.re.N.int_rx_mod @@ -335,23 +329,23 @@ this tunable has no effect on controllers without MSI/MSI-X capability. - The &man.re.4; driver now + The &man.re.4; driver now supports TSO (TCP Segmentation Offload) on RealTek RTL8168/8111 C or later controllers. Note that this is disabled by default because broken frames can be sent under certain conditions. - The &man.re.4; driver now + The &man.re.4; driver now supports enabling TX and/or RX checksum offloading independently from each other. Note that TX IP checksum is disabled on some RTL8168C-based network interfaces because it can generate an incorrect IP checksum when the packet contains IP options. - The &man.re.4; driver now supports + The &man.re.4; driver now supports RTL8105E PCIe Fast Ethernet controllers. - A &man.vte.4; driver for RDC R6040 Fast + A &man.vte.4; driver for RDC R6040 Fast Ethernet controllers, which are commonly found on the Vortex86 System On a Chip, has been added. @@ -360,7 +354,7 @@ Network Protocols - &man.ipfw.8; now supports the + &man.ipfw.8; now supports the call and return actions. Upon the call number action, the @@ -372,7 +366,7 @@ action and returns ruleset processing to the first rule with number greater than that saved number. - &os;'s &man.ipsec.4; support now uses + &os;'s &man.ipsec.4; support now uses half of the hash size as the authenticator hash size in Hashed Message Authentication Mode (HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512) as described in RFC 4868. @@ -382,13 +376,13 @@ &release.current; and later are no longer interoperable with the older &os; releases. - A bug in the + A bug in the IPV6_PKTINFO option used in &man.sendmsg.2; has been fixed. The IPV6_USE_MIN_MTU state set by &man.setsockopt.2; was ignored. - The + The &os; TCP/IP network stack now supports the &man.mod.cc.9; pluggable congestion control framework. This allows TCP congestion control algorithms to be implemented as dynamically loadable @@ -406,7 +400,7 @@ For more detail, see the &man.mod.cc.4; and &man.mod.cc.9; manual pages. - An &man.h.ertt.4; (Enhanced Round Trip + An &man.h.ertt.4; (Enhanced Round Trip Time) &man.khelp.9; module has been added. This module allows per-connection, low noise estimates of the instantaneous RTT in the TCP/IP network stack with a robust @@ -414,16 +408,16 @@ and/or TSO (TCP Segmentation Offload) being in use for a connection. - A new &man.tcp.4; socket option + A new &man.tcp.4; socket option TCP_CONGESTION has been added. This allows to select or query the congestion control algorithm that the TCP/IP network stack will use for connections on the socket. - The &man.ng.ipfw.4; &man.netgraph.4; + The &man.ng.ipfw.4; &man.netgraph.4; node now supports IPv6. - The &man.ng.one2many.4; + The &man.ng.one2many.4; &man.netgraph.4; node now supports the XMIT_FAILOVER transmit algorithm. This makes packets deliver out of the first active @@ -433,7 +427,7 @@ Disks and Storage - The &man.ada.4; driver now supports + The &man.ada.4; driver now supports write cache control. A new &man.sysctl.8 variable kern.cam.ada.write_cache determines whether the write cache of &man.ada.4; devices is enabled or @@ -447,17 +441,17 @@ runtime, but it takes effect only after a device reset. - The &man.arcmsr.4; driver has been + The &man.arcmsr.4; driver has been updated to version 1.20.00.22. - The &man.graid.8; GEOM class has been + The &man.graid.8; GEOM class has been added. This is a replacement of the &man.ataraid.4; driver supporting various BIOS-based software RAID. - The &man.mxge.4; driver has been + The &man.mxge.4; driver has been updated. - A &man.tws.4; driver for 3ware 9750 + A &man.tws.4; driver for 3ware 9750 SATA+SAS 6Gb/s RAID controllers has been added. @@ -465,7 +459,7 @@ File Systems - The &os; Fast File System now + The &os; Fast File System now supports the TRIM command when freeing data blocks. A new flag in the &man.newfs.8; and &man.tunefs.8; utilities sets the TRIM-enable flag for a @@ -477,7 +471,7 @@ blocks to a device, especially for a SSD (Solid-State Drive) for optimization. - A new flag has + A new flag has been added to the &man.newfs.8; and &man.fsck.ffs.8; utilities. This clears unallocated blocks, notifying the underlying device that they are not used and that their contents may be @@ -488,7 +482,7 @@ filesystems which have been copied from one device to another. - The &os; NFS subsystem now supports a + The &os; NFS subsystem now supports a mount option. This disables the close-to-open cache coherency check at open time. This option may improve performance for read-only mounts, but @@ -496,7 +490,7 @@ rarely. The &man.mount.nfs.8; utility now also supports this flag keyword. - A &man.loader.8; tunable + A &man.loader.8; tunable vfs.typenumhash has been added. Setting this to 1 enables to use a hash calculation on the file system identification number @@ -507,7 +501,7 @@ this is set to 0 (disable) by default for backward compatibility. - The &os; ZFS subsystem has been + The &os; ZFS subsystem has been updated to the SPA (Storage Pool Allocator, also known as zpool) version 28. It now supports data deduplication, triple parity RAIDZ (raidz3), snapshot holds, log device @@ -519,79 +513,79 @@ Userland Changes - The &man.bsdtar.1; and + The &man.bsdtar.1; and &man.cpio.1; utilities are now based on libarchive version 2.8.5. - The &man.cpuset.1; utility now supports + The &man.cpuset.1; utility now supports a flag to create a new cpuset and assign an existing process into that set, and an all keyword in the option to specify all CPUs in the system. - A bug in the &man.fetch.1; utility which + A bug in the &man.fetch.1; utility which could prevent the STAT FTP command from working properly has been fixed. - The &man.gpart.8; utility now supports a + The &man.gpart.8; utility now supports a flag to the show subcommand. This allows showing providers' names of partitions instead of the partitions' indexes. - The &man.hastd.8; utility now drops + The &man.hastd.8; utility now drops root privileges of the worker processes to the hast user. - The &man.hastd.8; utility now supports a + The &man.hastd.8; utility now supports a checksum keyword to specify the checksum algorithm in a resource section. As of &release.current;, none, sha256, and crc32 are supported. - The &man.hastd.8; utility now supports a + The &man.hastd.8; utility now supports a compression keyword to specify the compression algorithm in a resource section. As of &release.current;, none, hole and lzf are supported. - The &man.hastd.8; utility now supports a + The &man.hastd.8; utility now supports a source keyword to specify the local address to bind to before connecting the remote &man.hastd.8 daemon. - A &man.readline.3; API set has been + A &man.readline.3; API set has been imported into libedit. This is based on NetBSD's implementation and BSD licensed utilities now use it instead of GNU libreadline. - The &man.makefs.8; utility now supports the + The &man.makefs.8; utility now supports the ISO 9660 format. - libmd + libmd and libcrypt now support the SHA-256 and SHA-512 algorithms. - The &man.netstat.1; utility now does not + The &man.netstat.1; utility now does not expose the internal scope address representation used in the &os; kernel, which is derived from KAME IPv6 stack, in the results of netstat -ani and netstat -nr. - The &man.newsyslog.8; utility now + The &man.newsyslog.8; utility now supports &man.xz.1; compression. An X flag in the optional field has been added to specify the compression. - A &man.poweroff.8; utility has been added. + A &man.poweroff.8; utility has been added. This is equivalent to: &prompt.root; shutdown -p now - The &man.ppp.8; utility now supports + The &man.ppp.8; utility now supports iface name name and iface description description commands. @@ -599,12 +593,12 @@ and description subcommands of the &man.ifconfig.8; utility. - The &man.ps.1; utility now supports + The &man.ps.1; utility now supports and options to display accumulated system and user CPU time, respectively. - The &man.rtadvd.8; daemon now supports a + The &man.rtadvd.8; daemon now supports a noifprefix keyword to disable gathering on-link prefixes from interfaces when no addr keyword is specified. An entry in @@ -613,73 +607,60 @@ generates an RA message with no prefix information option. - The &man.rtadvd.8; daemon now + The &man.rtadvd.8; daemon now supports the RDNSS and DNSSL options described in RFC 6106, IPv6 Router Advertisement Options for DNS Configuration. A &man.rtadvctl.8; utility to control the &man.rtadvd.8; daemon has been added. - A bug in the &man.tftpd.8; daemon has + A bug in the &man.tftpd.8; daemon has been fixed. It had an interoperability issue when transferring a large file. - The &man.zpool.8: utility now supports a + The &man.zpool.8: utility now supports a zpool labelclear command. This allows to wipe the label data from a drive that is not active in a pool. - - - <filename>/etc/periodic</filename> Scripts - - - - - - <filename>/etc/rc.d</filename> Scripts - - - Contributed Software - The awk has + The awk has been updated to the 7 August 2011 release. ISC BIND has been updated to version 9.6-ESV-R5-P1. - The netcat utility + The netcat utility has been updated to version 4.9. - GNU GCC and + GNU GCC and libstdc++ have been updated to rev 127959 of gcc-4_2-branch (the last GPLv2-licensed version). - The LESS + The LESS program has been updated to version v444. - The + The OpenSSH utility has been updated to 5.4p1, and optimization for large bandwidth-delay product connection and none cipher support have been merged - sendmail + sendmail has been updated to version 8.14.5. The timezone database has been updated to the tzdata2011n release. - The &man.unifdef.1; utility has been updated + The &man.unifdef.1; utility has been updated to version 2.5.6. - The xz - program has been updated from 5.0.0 to a snapshot as of 11 - July, 2011. + The xz + program has been updated from 5.0.0 to 5.0.1. @@ -690,12 +671,6 @@ (x11/kde4) has been updated from 4.5.5 to 4.7.4. - - - Release Engineering and Integration - - - From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 06:50:56 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 69A18106566B; Mon, 9 Apr 2012 06:50:56 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.64.117]) by mx1.freebsd.org (Postfix) with ESMTP id E1C6A8FC0C; Mon, 9 Apr 2012 06:50:55 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.5/8.14.5) with ESMTP id q396ommv025180; Mon, 9 Apr 2012 10:50:48 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.5/8.14.5/Submit) id q396omrC025179; Mon, 9 Apr 2012 10:50:48 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Mon, 9 Apr 2012 10:50:48 +0400 From: Gleb Smirnoff To: Qing Li Message-ID: <20120409065048.GA9391@FreeBSD.org> References: <201204021044.q32AiPng094511@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r233773 - head/usr.sbin/arp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 06:50:56 -0000 Qing, On Sun, Apr 08, 2012 at 10:41:11AM -0700, Qing Li wrote: Q> This is not the right way to support RFC3021. Q> Q> The code you removed is used for checking against attempt at adding Q> duplicate entry. Q> Both the message and the code apply in that context. I tried to state Q> clearly and concisely Q> what r201282 was intended in solving and was verified by actual users Q> who ran into the Q> described problems. How does the message apply? On a 10.0/9.0 prior to my commit: #ifconfig em0 em0: flags=8843 metric 0 mtu 1500 options=4219b ether f0:de:f1:6c:5b:fa inet x.x.x.111 netmask 0xffffffe0 broadcast x.x.x.127 nd6 options=29 media: Ethernet autoselect (100baseTX ) status: active # arp -an ? (x.x.x.97) at 00:00:5e:00:01:61 on em0 expires in 1198 seconds [ethernet] ? (x.x.x.101) at 00:e0:81:5a:22:49 on em0 expires in 618 seconds [ethernet] ? (x.x.x.111) at f0:de:f1:6c:5b:fa on em0 permanent [ethernet] ? (x.x.x.116) at 00:26:18:6a:ea:02 on em0 expires in 1128 seconds [ethernet] # # arp -s 81.19.64.96 0:0:0:0:0:0 set: proxy entry exists for non 802 device And how does this apply? Where is the proxy entry mentioned? Where is the non 802 device? Look at the code before r201282 and see that the message was for absolutely unrelated case. And here is behavior of 6.1-RELEASE, that is prior to your new ARP work: # ifconfig fxp0 fxp0: flags=8843 mtu 1500 options=8 inet x.x.x.134 netmask 0xfffffffc broadcast x.x.x.135 ether 00:20:ed:6e:9c:f9 media: Ethernet autoselect (10baseT/UTP) status: active # arp -s x.x.x.132 0:0:0:0:0:0 set: can only proxy for x.x.x.132 As you see, the error message was an other one. Q> If we actually need to support RFC 3021, then better do it properly. What do you mean here under "properly"? RFC3021 says that network address in a /31 network is a common address. Thus it should be possible to have an ARP entry for it. Anyway this change isn't about RFC3021. A /31 network is just a case when we need to set ARP entry for network address. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 08:03:56 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9CC061065672 for ; Mon, 9 Apr 2012 08:03:56 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-wg0-f50.google.com (mail-wg0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id 02DC58FC0C for ; Mon, 9 Apr 2012 08:03:54 +0000 (UTC) Received: by wgbds12 with SMTP id ds12so3995539wgb.31 for ; Mon, 09 Apr 2012 01:03:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :x-gm-message-state; bh=H3jVMCpYxye71jynD4ObjbohkaSCmRoMKgDTvVreLlc=; b=Qr0yzBe8j+VdyhpcGeNMYM9Yg3CxvnARaLakIMEpjlm3YXEvsTb3jkMdocAvUhzSaX ikV2CSrb5DsRxXhYFRTs0UMCG8tcRPKrGmfGnf8xuhcxV6K1xlo6fBvjuMKAPqX+knI2 xfLvY1jRCDLIZp6BB8meAPa2l5CjQinDF3yc8j6e24EvhFHDVvfJ6J3Wj9HYBcAzDGYv qcqc3tq569TGZNnTB/r/2VBo0dI/3GtGPDUkgkWfGJmvNlwGheqbNG1o5RXhncogS3kl qgG/nYMb1t6V5wBmt94S3ozL3LtgptHufquWo853dcpAiTPFJAmN3CdmrjvHBPd9b52b eLTw== Received: by 10.180.92.71 with SMTP id ck7mr13951064wib.21.1333958629755; Mon, 09 Apr 2012 01:03:49 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.180.86.37 with HTTP; Mon, 9 Apr 2012 01:03:15 -0700 (PDT) In-Reply-To: <20120409161453.29d1f3de@fubar.geek.nz> References: <201204080436.q384aRXS093116@svn.freebsd.org> <20120408164521.55aecdd1@fubar.geek.nz> <20120409161453.29d1f3de@fubar.geek.nz> From: Juli Mallett Date: Mon, 9 Apr 2012 01:03:15 -0700 X-Google-Sender-Auth: esO6JCsP2DvxxA_JFakzZ7lr5wY Message-ID: To: Andrew Turner Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQmFEzuKB/t+SIEpYw3dY98iFb8o8FxwvczxKA7YF6Os/WRK+AvhlxDH4KlUKoGjmouBRN+F Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 08:03:56 -0000 On Sun, Apr 8, 2012 at 21:14, Andrew Turner wrote: > We can implement it as a naked function but we will need to store all > registers other than r0 and pc which seems a waste. > > The problem implementing it in an assembly file is we are unable to use > ARM_TP_ADDRESS is defined as: > #define ARM_TP_ADDRESS (ARM_VECTORS_HIGH + 0x1000) > > Where ARM_VECTORS_HIGH is defined as: > #define ARM_VECTORS_HIGH 0xffff0000U > > I could remove the U from ARM_VECTORS_HIGH however I'm not sure on the > implications of that change. Oh, is that all? :) It's easy to have an ifdef that adds the u suffix in C and not in assembly. That's perfectly appropriate in this case. If you want to be fancy you can use a macro which adds the U to the constant in C and not in assembly, and use it in other places, but that's usually unnecessary. In the kernel we sometimes use assym to get around this sort of thing, but that's fully unnecessary. Look at powerpc/include/vmparam.h for an example of a header where we do this currently (VM_MAXUSER_ADDRESS specifically.) This is the right thing to do by far over using C as a wrapper for assembly in this way. >> How do you know GCC won't allocate r2 to be used as a temporary in >> between the assembly and the return? > > The compiler is free to use r2 with the current code. I have attached a > patch that fools the compiler into thinking we are using r1-r3 by > placing them in the clobber list. If this file is ever compiled with the correct ABI, then, it will do excessive saves and restores of r1-r3, I think. From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 08:44:37 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CBFF5106566C; Mon, 9 Apr 2012 08:44:37 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from mailfilter7.ihug.co.nz (mailfilter7.ihug.co.nz [203.109.136.7]) by mx1.freebsd.org (Postfix) with ESMTP id BADE38FC12; Mon, 9 Apr 2012 08:44:36 +0000 (UTC) X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.0 c=1 a=DE6nE7g822sA:10 a=f/SxzVRvWQdBqo0nlH1VRA==:17 a=6I5d2MoRAAAA:8 a=JY2zZMM-WH79sdXe9_gA:9 a=CjuIK1q_8ugA:10 a=SV7veod9ZcQA:10 a=uEJTQoQCguP3aNg6:21 a=229SYwgLYOkVjRFa:21 a=UuEQUMmB_T-5lkOdL3kA:9 a=BUk0qA-K5C3i_JQb-t4A:7 a=cekdDQOhqj3mx9Qj:21 a=ZIziTXNSRwrkK617:21 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAPCggk/Ldqol/2dsb2JhbABEuTCBCIIJAQEEAVYjBQsIAw4KLjkeBhOICQS5YIsnhTMEjmyGfwGQNoJ8gT8 X-IronPort-AV: E=Sophos;i="4.75,393,1330858800"; d="scan'208";a="183969788" Received: from 203-118-170-37.adsl.ihug.co.nz (HELO localhost) ([203.118.170.37]) by cust.filter7.content.vf.net.nz with SMTP; 09 Apr 2012 20:44:28 +1200 Date: Mon, 9 Apr 2012 20:44:16 +1200 From: Andrew Turner To: Juli Mallett Message-ID: <20120409204416.77f61674@fubar.geek.nz> In-Reply-To: References: <201204080436.q384aRXS093116@svn.freebsd.org> <20120408164521.55aecdd1@fubar.geek.nz> <20120409161453.29d1f3de@fubar.geek.nz> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; i386-portbld-freebsd8.0) X-Pirate: Arrrr Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/72Cj3Dkup914XX3fIuDB5o=" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 08:44:37 -0000 --MP_/72Cj3Dkup914XX3fIuDB5o= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline On Mon, 9 Apr 2012 01:03:15 -0700 Juli Mallett wrote: > On Sun, Apr 8, 2012 at 21:14, Andrew Turner > wrote: > > We can implement it as a naked function but we will need to store > > all registers other than r0 and pc which seems a waste. > > > > The problem implementing it in an assembly file is we are unable to > > use ARM_TP_ADDRESS is defined as: > > #define ARM_TP_ADDRESS (ARM_VECTORS_HIGH + 0x1000) > > > > Where ARM_VECTORS_HIGH is defined as: > > #define ARM_VECTORS_HIGH 0xffff0000U > > > > I could remove the U from ARM_VECTORS_HIGH however I'm not sure on > > the implications of that change. > > Oh, is that all? :) It's easy to have an ifdef that adds the u > suffix in C and not in assembly. That's perfectly appropriate in this > case. If you want to be fancy you can use a macro which adds the U to > the constant in C and not in assembly, and use it in other places, but > that's usually unnecessary. In the kernel we sometimes use assym to > get around this sort of thing, but that's fully unnecessary. > > Look at powerpc/include/vmparam.h for an example of a header where we > do this currently (VM_MAXUSER_ADDRESS specifically.) This is the > right thing to do by far over using C as a wrapper for assembly in > this way. How does the attached (untested) patch look. It explicitly loads ARM_TP_ADDRESS into a r0 to ensure r1-3 are not touched. Andrew --MP_/72Cj3Dkup914XX3fIuDB5o= Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=arm_tls.patch Index: lib/libc/arm/gen/Makefile.inc =================================================================== --- lib/libc/arm/gen/Makefile.inc (revision 234031) +++ lib/libc/arm/gen/Makefile.inc (working copy) @@ -3,4 +3,4 @@ SRCS+= _ctx_start.S _setjmp.S _set_tp.c alloca.S fabs.c \ getcontextx.c infinity.c ldexp.c makecontext.c \ - __aeabi_read_tp.c setjmp.S signalcontext.c sigsetjmp.S divsi3.S flt_rounds.c + __aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S divsi3.S flt_rounds.c Index: lib/libc/arm/gen/__aeabi_read_tp.S =================================================================== --- lib/libc/arm/gen/__aeabi_read_tp.S (revision 0) +++ lib/libc/arm/gen/__aeabi_read_tp.S (working copy) @@ -0,0 +1,41 @@ +/*- + * Copyright (c) 2012 Oleksandr Tymoshenko + * Copyright (c) 2012 Andrew Turner + * 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#define LOCORE +#include + +ENTRY(__aeabi_read_tp) + ldr r0, .Larm_tp_address + ldr r0, [r0] + RET + +.Larm_tp_address: + .word ARM_TP_ADDRESS + Index: lib/libc/arm/gen/__aeabi_read_tp.c =================================================================== --- lib/libc/arm/gen/__aeabi_read_tp.c (revision 234031) +++ lib/libc/arm/gen/__aeabi_read_tp.c (working copy) @@ -1,45 +0,0 @@ -/*- - * Copyright (c) 2012 Oleksandr Tymoshenko - * Copyright (c) 2012 Andrew Turner - * 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$ - */ - -#include -__FBSDID("$FreeBSD$"); - -#include - -#include "machine/sysarch.h" - -void * -__aeabi_read_tp() -{ - void *_tp; - - asm("ldr %0, [%1]\n" : "=r"(_tp) : "r"(ARM_TP_ADDRESS)); - - return _tp; -} Index: sys/arm/include/armreg.h =================================================================== --- sys/arm/include/armreg.h (revision 234031) +++ sys/arm/include/armreg.h (working copy) @@ -316,8 +316,13 @@ /* * Address of the vector page, low and high versions. */ +#ifndef LOCORE #define ARM_VECTORS_LOW 0x00000000U #define ARM_VECTORS_HIGH 0xffff0000U +#else +#define ARM_VECTORS_LOW 0 +#define ARM_VECTORS_HIGH 0xffff0000 +#endif /* * ARM Instructions --MP_/72Cj3Dkup914XX3fIuDB5o=-- From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 13:29:24 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A0CB7106566C; Mon, 9 Apr 2012 13:29:24 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8B7748FC19; Mon, 9 Apr 2012 13:29:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39DTOk6061962; Mon, 9 Apr 2012 13:29:24 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39DTOME061960; Mon, 9 Apr 2012 13:29:24 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201204091329.q39DTOME061960@svn.freebsd.org> From: Ed Maste Date: Mon, 9 Apr 2012 13:29:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234054 - stable/8/contrib/gdb/gdb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 13:29:24 -0000 Author: emaste Date: Mon Apr 9 13:29:24 2012 New Revision: 234054 URL: http://svn.freebsd.org/changeset/base/234054 Log: MFC r219418: Remove stray semicolon. This fix appears in later upstream gdb versions. PR: gnu/136705 Submitted by: eadler Modified: stable/8/contrib/gdb/gdb/i386-tdep.c Directory Properties: stable/8/contrib/gdb/ (props changed) Modified: stable/8/contrib/gdb/gdb/i386-tdep.c ============================================================================== --- stable/8/contrib/gdb/gdb/i386-tdep.c Mon Apr 9 08:01:17 2012 (r234053) +++ stable/8/contrib/gdb/gdb/i386-tdep.c Mon Apr 9 13:29:24 2012 (r234054) @@ -735,7 +735,7 @@ i386_skip_prologue (CORE_ADDR start_pc) /* addl y,%ebx */ if (delta > 0 && op == 0x81 - && read_memory_unsigned_integer (pc + delta + 1, 1) == 0xc3); + && read_memory_unsigned_integer (pc + delta + 1, 1) == 0xc3) { pc += delta + 6; } From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 14:05:02 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4D751106566C; Mon, 9 Apr 2012 14:05:02 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2960F8FC12; Mon, 9 Apr 2012 14:05:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39E52Hc063294; Mon, 9 Apr 2012 14:05:02 GMT (envelope-from andreast@svn.freebsd.org) Received: (from andreast@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39E51Si063293; Mon, 9 Apr 2012 14:05:01 GMT (envelope-from andreast@svn.freebsd.org) Message-Id: <201204091405.q39E51Si063293@svn.freebsd.org> From: Andreas Tobler Date: Mon, 9 Apr 2012 14:05:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234055 - stable/9/usr.sbin/makefs/cd9660 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 14:05:02 -0000 Author: andreast Date: Mon Apr 9 14:05:01 2012 New Revision: 234055 URL: http://svn.freebsd.org/changeset/base/234055 Log: MFC r233783: - Write the ISO9660 descriptor after the apm partition entries. - Fill the needed pmPartStatus flags. At least the OpenBIOS implementation relies on these flags. This commit fixes the panic seen on OS-X when inserting a FreeBSD/ppc disc. Additionally OpenBIOS recognizes the partition where the boot code is located. This lets us load a FreeBSD/ppc PowerMac kernel inside qemu. PR: powerpc/16209 Modified: stable/9/usr.sbin/makefs/cd9660/cd9660_eltorito.c Modified: stable/9/usr.sbin/makefs/cd9660/cd9660_eltorito.c ============================================================================== --- stable/9/usr.sbin/makefs/cd9660/cd9660_eltorito.c Mon Apr 9 13:29:24 2012 (r234054) +++ stable/9/usr.sbin/makefs/cd9660/cd9660_eltorito.c Mon Apr 9 14:05:01 2012 (r234055) @@ -538,9 +538,19 @@ cd9660_write_apm_partition_entry(FILE *f off_t sector_start, off_t nsectors, off_t sector_size, const char *part_name, const char *part_type) { - uint32_t apm32; + uint32_t apm32, part_status; uint16_t apm16; + /* See Apple Tech Note 1189 for the details about the pmPartStatus + * flags. + * Below the flags which are default: + * - IsValid 0x01 + * - IsAllocated 0x02 + * - IsReadable 0x10 + * - IsWritable 0x20 + */ + part_status = 0x01 | 0x02 | 0x10 | 0x20; + if (fseeko(fd, (off_t)(idx + 1) * sector_size, SEEK_SET) == -1) err(1, "fseeko"); @@ -562,6 +572,17 @@ cd9660_write_apm_partition_entry(FILE *f fwrite(part_name, strlen(part_name) + 1, 1, fd); fseek(fd, 32 - strlen(part_name) - 1, SEEK_CUR); fwrite(part_type, strlen(part_type) + 1, 1, fd); + fseek(fd, 32 - strlen(part_type) - 1, SEEK_CUR); + + apm32 = 0; + /* pmLgDataStart */ + fwrite(&apm32, sizeof(apm32), 1, fd); + /* pmDataCnt */ + apm32 = htobe32(nsectors); + fwrite(&apm32, sizeof(apm32), 1, fd); + /* pmPartStatus */ + apm32 = htobe32(part_status); + fwrite(&apm32, sizeof(apm32), 1, fd); return 0; } @@ -666,12 +687,6 @@ cd9660_write_boot(FILE *fd) cd9660_write_apm_partition_entry(fd, 0, total_parts, 1, total_parts, 512, "Apple", "Apple_partition_map"); - /* Write ISO9660 descriptor, enclosing the whole disk */ - cd9660_write_apm_partition_entry(fd, 1, total_parts, 0, - diskStructure.totalSectors * - (diskStructure.sectorSize / 512), 512, "ISO9660", - "CD_ROM_Mode_1"); - /* Write all partition entries */ apm_partitions = 0; TAILQ_FOREACH(t, &diskStructure.boot_images, image_list) { @@ -679,11 +694,16 @@ cd9660_write_boot(FILE *fd) continue; cd9660_write_apm_partition_entry(fd, - 2 + apm_partitions++, total_parts, + 1 + apm_partitions++, total_parts, t->sector * (diskStructure.sectorSize / 512), t->num_sectors * (diskStructure.sectorSize / 512), 512, "CD Boot", "Apple_Bootstrap"); } + /* Write ISO9660 descriptor, enclosing the whole disk */ + cd9660_write_apm_partition_entry(fd, 2 + apm_partitions, + total_parts, 0, diskStructure.totalSectors * + (diskStructure.sectorSize / 512), 512, "ISO9660", + "CD_ROM_Mode_1"); } return 0; From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 14:17:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 170DD1065676; Mon, 9 Apr 2012 14:17:23 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0170E8FC14; Mon, 9 Apr 2012 14:17:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39EHMYX063808; Mon, 9 Apr 2012 14:17:22 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39EHM3D063806; Mon, 9 Apr 2012 14:17:22 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201204091417.q39EHM3D063806@svn.freebsd.org> From: Jilles Tjoelker Date: Mon, 9 Apr 2012 14:17:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234057 - head/lib/libc/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 14:17:23 -0000 Author: jilles Date: Mon Apr 9 14:17:22 2012 New Revision: 234057 URL: http://svn.freebsd.org/changeset/base/234057 Log: sem_open: Make sure to fail an O_CREAT|O_EXCL open, even if that semaphore is already open in this process. If the named semaphore is already open, sem_open() only increments a reference count and did not take the flags into account (which otherwise happens by passing them to open()). Add an extra check for O_CREAT|O_EXCL. PR: kern/166706 Reviewed by: davidxu MFC after: 10 days Modified: head/lib/libc/gen/sem_new.c Modified: head/lib/libc/gen/sem_new.c ============================================================================== --- head/lib/libc/gen/sem_new.c Mon Apr 9 14:16:24 2012 (r234056) +++ head/lib/libc/gen/sem_new.c Mon Apr 9 14:17:22 2012 (r234057) @@ -162,10 +162,16 @@ _sem_open(const char *name, int flags, . _pthread_mutex_lock(&sem_llock); LIST_FOREACH(ni, &sem_list, next) { if (strcmp(name, ni->name) == 0) { - ni->open_count++; - sem = ni->sem; - _pthread_mutex_unlock(&sem_llock); - return (sem); + if ((flags & (O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL)) { + _pthread_mutex_unlock(&sem_llock); + errno = EEXIST; + return (SEM_FAILED); + } else { + ni->open_count++; + sem = ni->sem; + _pthread_mutex_unlock(&sem_llock); + return (sem); + } } } From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 14:47:18 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D49FD106566B; Mon, 9 Apr 2012 14:47:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C03138FC0C; Mon, 9 Apr 2012 14:47:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39ElIRI064937; Mon, 9 Apr 2012 14:47:18 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39ElIq9064934; Mon, 9 Apr 2012 14:47:18 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204091447.q39ElIq9064934@svn.freebsd.org> From: Dimitry Andric Date: Mon, 9 Apr 2012 14:47:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234058 - head/usr.bin/kdump X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 14:47:18 -0000 Author: dim Date: Mon Apr 9 14:47:18 2012 New Revision: 234058 URL: http://svn.freebsd.org/changeset/base/234058 Log: In kdump's mkioctls script, use '${CPP}' instead of hardcodedly using 'gcc -E'. This fixes building when WITH_CLANG_IS_CC is in effect. Report by: Niclas Zeising MFC after: 1 week Modified: head/usr.bin/kdump/Makefile head/usr.bin/kdump/mkioctls Modified: head/usr.bin/kdump/Makefile ============================================================================== --- head/usr.bin/kdump/Makefile Mon Apr 9 14:17:22 2012 (r234057) +++ head/usr.bin/kdump/Makefile Mon Apr 9 14:47:18 2012 (r234058) @@ -21,7 +21,7 @@ NO_WERROR?= YES CLEANFILES= ioctl.c kdump_subr.c kdump_subr.h linux_syscalls.c ioctl.c: mkioctls - env MACHINE=${MACHINE} \ + env MACHINE=${MACHINE} CPP="${CPP}" \ sh ${.CURDIR}/mkioctls print ${DESTDIR}/usr/include > ${.TARGET} kdump_subr.h: mksubr Modified: head/usr.bin/kdump/mkioctls ============================================================================== --- head/usr.bin/kdump/mkioctls Mon Apr 9 14:17:22 2012 (r234057) +++ head/usr.bin/kdump/mkioctls Mon Apr 9 14:47:18 2012 (r234058) @@ -38,7 +38,7 @@ case "${MACHINE}" in esac awk -v x="$ioctl_includes" 'BEGIN {print x}' | - gcc -E -I$1 -dM -DCOMPAT_43TTY - | + $CPP -I$1 -dM -DCOMPAT_43TTY - | awk -v ioctl_includes="$ioctl_includes" -v style="$style" ' BEGIN { print "/* XXX obnoxious prerequisites. */" From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 15:01:17 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 14C4A106566B; Mon, 9 Apr 2012 15:01:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id DE71C8FC1A; Mon, 9 Apr 2012 15:01:16 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 4F800B911; Mon, 9 Apr 2012 11:01:16 -0400 (EDT) From: John Baldwin To: "Justin T. Gibbs" Date: Mon, 9 Apr 2012 10:30:10 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201204062119.q36LJTKR026564@svn.freebsd.org> In-Reply-To: <201204062119.q36LJTKR026564@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201204091030.10717.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 09 Apr 2012 11:01:16 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 15:01:17 -0000 On Friday, April 06, 2012 5:19:29 pm Justin T. Gibbs wrote: > Author: gibbs > Date: Fri Apr 6 21:19:28 2012 > New Revision: 233961 > URL: http://svn.freebsd.org/changeset/base/233961 > > Log: > Fix interrupt load balancing regression, introduced in revision > 222813, that left all un-pinned interrupts assigned to CPU 0. > > sys/x86/x86/intr_machdep.c: > In intr_shuffle_irqs(), remove CPU_SETOF() call that initialized > the "intr_cpus" cpuset to only contain CPU0. > > This initialization is too late and nullifies the results of calls > the intr_add_cpu() that occur much earlier in the boot process. > Since "intr_cpus" is statically initialized to the empty set, and > all processors, including the BSP, already add themselves to > "intr_cpus" no special initialization for the BSP is necessary. > > MFC after: 3 days Ah, nice catch! -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 15:20:17 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 72B901065670; Mon, 9 Apr 2012 15:20:17 +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 5DBBC8FC0A; Mon, 9 Apr 2012 15:20:17 +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 q39FKHgQ066148; Mon, 9 Apr 2012 15:20:17 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39FKH57066144; Mon, 9 Apr 2012 15:20:17 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204091520.q39FKH57066144@svn.freebsd.org> From: John Baldwin Date: Mon, 9 Apr 2012 15:20:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234059 - in head/sys: amd64/amd64 i386/i386 x86/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 15:20:17 -0000 Author: jhb Date: Mon Apr 9 15:20:16 2012 New Revision: 234059 URL: http://svn.freebsd.org/changeset/base/234059 Log: Recognize the RDRAND instruction feature. Submitted by: Michael Fuckner michael fuckner net MFC after: 3 days Modified: head/sys/amd64/amd64/identcpu.c head/sys/i386/i386/identcpu.c head/sys/x86/include/specialreg.h Modified: head/sys/amd64/amd64/identcpu.c ============================================================================== --- head/sys/amd64/amd64/identcpu.c Mon Apr 9 14:47:18 2012 (r234058) +++ head/sys/amd64/amd64/identcpu.c Mon Apr 9 15:20:16 2012 (r234059) @@ -303,7 +303,7 @@ printcpuinfo(void) "\034OSXSAVE" /* OS-Enabled State Management*/ "\035AVX" /* Advanced Vector Extensions */ "\036F16C" /* Half-precision conversions */ - "\037" + "\037RDRAND" /* RDRAND Instruction */ "\040HV" /* Hypervisor */ ); } Modified: head/sys/i386/i386/identcpu.c ============================================================================== --- head/sys/i386/i386/identcpu.c Mon Apr 9 14:47:18 2012 (r234058) +++ head/sys/i386/i386/identcpu.c Mon Apr 9 15:20:16 2012 (r234059) @@ -779,7 +779,7 @@ printcpuinfo(void) "\034OSXSAVE" /* OS-Enabled State Management*/ "\035AVX" /* Advanced Vector Extensions */ "\036F16C" /* Half-precision conversions */ - "\037" + "\037RDRAND" /* RDRAND Instruction */ "\040HV" /* Hypervisor */ ); } Modified: head/sys/x86/include/specialreg.h ============================================================================== --- head/sys/x86/include/specialreg.h Mon Apr 9 14:47:18 2012 (r234058) +++ head/sys/x86/include/specialreg.h Mon Apr 9 15:20:16 2012 (r234059) @@ -153,6 +153,7 @@ #define CPUID2_OSXSAVE 0x08000000 #define CPUID2_AVX 0x10000000 #define CPUID2_F16C 0x20000000 +#define CPUID2_RDRAND 0x40000000 #define CPUID2_HV 0x80000000 /* From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 15:34:22 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D27F8106566C; Mon, 9 Apr 2012 15:34:22 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BADA88FC0A; Mon, 9 Apr 2012 15:34:22 +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 q39FYMU9066685; Mon, 9 Apr 2012 15:34:22 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39FYMpX066683; Mon, 9 Apr 2012 15:34:22 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204091534.q39FYMpX066683@svn.freebsd.org> From: Dimitry Andric Date: Mon, 9 Apr 2012 15:34:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234060 - head/usr.bin/truss X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 15:34:22 -0000 Author: dim Date: Mon Apr 9 15:34:22 2012 New Revision: 234060 URL: http://svn.freebsd.org/changeset/base/234060 Log: Since truss also uses kdump's mkioctls script, pass the value of ${CPP} there too, similar to r234058. MFC after: 1 week Modified: head/usr.bin/truss/Makefile Modified: head/usr.bin/truss/Makefile ============================================================================== --- head/usr.bin/truss/Makefile Mon Apr 9 15:20:16 2012 (r234059) +++ head/usr.bin/truss/Makefile Mon Apr 9 15:34:22 2012 (r234060) @@ -23,7 +23,7 @@ syscalls.h: syscalls.master ${.CURDIR}/i386.conf ioctl.c: ${.CURDIR}/../kdump/mkioctls - env MACHINE=${MACHINE} \ + env MACHINE=${MACHINE} CPP="${CPP}" \ /bin/sh ${.CURDIR}/../kdump/mkioctls return ${DESTDIR}/usr/include > ${.TARGET} .if ${MACHINE_CPUARCH} == "i386" From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 15:34:24 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AB92106564A; Mon, 9 Apr 2012 15:34:24 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1AE638FC0C; Mon, 9 Apr 2012 15:34:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39FYNUp066717; Mon, 9 Apr 2012 15:34:23 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39FYNV0066714; Mon, 9 Apr 2012 15:34:23 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201204091534.q39FYNV0066714@svn.freebsd.org> From: Rick Macklem Date: Mon, 9 Apr 2012 15:34:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234061 - in stable/8/sys: fs/nfsclient i386/conf nfsclient X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 15:34:24 -0000 Author: rmacklem Date: Mon Apr 9 15:34:23 2012 New Revision: 234061 URL: http://svn.freebsd.org/changeset/base/234061 Log: MFC: r232327 Fix the NFS clients so that they use copyin() instead of bcopy(), when doing direct I/O. This direct I/O code is not enabled by default. Modified: stable/8/sys/fs/nfsclient/nfs_clbio.c stable/8/sys/nfsclient/nfs_bio.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- stable/8/sys/fs/nfsclient/nfs_clbio.c Mon Apr 9 15:34:22 2012 (r234060) +++ stable/8/sys/fs/nfsclient/nfs_clbio.c Mon Apr 9 15:34:23 2012 (r234061) @@ -812,7 +812,21 @@ do_sync: t_uio->uio_segflg = UIO_SYSSPACE; t_uio->uio_rw = UIO_WRITE; t_uio->uio_td = td; - bcopy(uiop->uio_iov->iov_base, t_iov->iov_base, size); + KASSERT(uiop->uio_segflg == UIO_USERSPACE || + uiop->uio_segflg == UIO_SYSSPACE, + ("nfs_directio_write: Bad uio_segflg")); + if (uiop->uio_segflg == UIO_USERSPACE) { + error = copyin(uiop->uio_iov->iov_base, + t_iov->iov_base, size); + if (error != 0) + goto err_free; + } else + /* + * UIO_SYSSPACE may never happen, but handle + * it just in case it does. + */ + bcopy(uiop->uio_iov->iov_base, t_iov->iov_base, + size); bp->b_flags |= B_DIRECT; bp->b_iocmd = BIO_WRITE; if (cred != NOCRED) { @@ -823,6 +837,7 @@ do_sync: bp->b_caller1 = (void *)t_uio; bp->b_vp = vp; error = ncl_asyncio(nmp, bp, NOCRED, td); +err_free: if (error) { free(t_iov->iov_base, M_NFSDIRECTIO); free(t_iov, M_NFSDIRECTIO); Modified: stable/8/sys/nfsclient/nfs_bio.c ============================================================================== --- stable/8/sys/nfsclient/nfs_bio.c Mon Apr 9 15:34:22 2012 (r234060) +++ stable/8/sys/nfsclient/nfs_bio.c Mon Apr 9 15:34:23 2012 (r234061) @@ -807,7 +807,21 @@ do_sync: t_uio->uio_segflg = UIO_SYSSPACE; t_uio->uio_rw = UIO_WRITE; t_uio->uio_td = td; - bcopy(uiop->uio_iov->iov_base, t_iov->iov_base, size); + KASSERT(uiop->uio_segflg == UIO_USERSPACE || + uiop->uio_segflg == UIO_SYSSPACE, + ("nfs_directio_write: Bad uio_segflg")); + if (uiop->uio_segflg == UIO_USERSPACE) { + error = copyin(uiop->uio_iov->iov_base, + t_iov->iov_base, size); + if (error != 0) + goto err_free; + } else + /* + * UIO_SYSSPACE may never happen, but handle + * it just in case it does. + */ + bcopy(uiop->uio_iov->iov_base, t_iov->iov_base, + size); bp->b_flags |= B_DIRECT; bp->b_iocmd = BIO_WRITE; if (cred != NOCRED) { @@ -818,6 +832,7 @@ do_sync: bp->b_caller1 = (void *)t_uio; bp->b_vp = vp; error = nfs_asyncio(nmp, bp, NOCRED, td); +err_free: if (error) { free(t_iov->iov_base, M_NFSDIRECTIO); free(t_iov, M_NFSDIRECTIO); From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 15:45:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A59C106564A; Mon, 9 Apr 2012 15:45:23 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from gw02.mail.saunalahti.fi (gw02.mail.saunalahti.fi [195.197.172.116]) by mx1.freebsd.org (Postfix) with ESMTP id E23C98FC08; Mon, 9 Apr 2012 15:45:22 +0000 (UTC) Received: from a91-153-116-96.elisa-laajakaista.fi (a91-153-116-96.elisa-laajakaista.fi [91.153.116.96]) by gw02.mail.saunalahti.fi (Postfix) with SMTP id E915C1395BE; Mon, 9 Apr 2012 18:45:11 +0300 (EEST) Date: Mon, 9 Apr 2012 18:45:11 +0300 From: Jaakko Heinonen To: "Justin T. Gibbs" Message-ID: <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi> References: <201204062119.q36LJTKR026564@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201204062119.q36LJTKR026564@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 15:45:23 -0000 Hi, On 2012-04-06, Justin T. Gibbs wrote: > Fix interrupt load balancing regression, introduced in revision > 222813, that left all un-pinned interrupts assigned to CPU 0. > > sys/x86/x86/intr_machdep.c: > In intr_shuffle_irqs(), remove CPU_SETOF() call that initialized > the "intr_cpus" cpuset to only contain CPU0. > > This initialization is too late and nullifies the results of calls > the intr_add_cpu() that occur much earlier in the boot process. > Since "intr_cpus" is statically initialized to the empty set, and > all processors, including the BSP, already add themselves to > "intr_cpus" no special initialization for the BSP is necessary. My Pentium 4 system hangs on boot after this commit. These are the last lines from a verbose boot: SMP: AP CPU #1 Launched! cpu1 AP: ID: 0x01000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400 The system boots with r233960. Some information: CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz (2605.96-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Family = f Model = 2 Stepping = 9 Features=0xbfebfbff Features2=0x4400 real memory = 2147483648 (2048 MB) avail memory = 2085228544 (1988 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads cpu0 (BSP): APIC ID: 0 cpu1 (AP/HT): APIC ID: 1 -- Jaakko From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 15:51:37 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C399106566C; Mon, 9 Apr 2012 15:51:37 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from adsum.doit.wisc.edu (adsum.doit.wisc.edu [144.92.197.210]) by mx1.freebsd.org (Postfix) with ESMTP id 49F908FC0A; Mon, 9 Apr 2012 15:51:37 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth1.wiscmail.wisc.edu by smtpauth1.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) id <0M270060CYPUE100@smtpauth1.wiscmail.wisc.edu>; Mon, 09 Apr 2012 10:51:30 -0500 (CDT) Received: from anacreon.physics.wisc.edu (anacreon.physics.wisc.edu [128.104.160.176]) by smtpauth1.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPSA id <0M27000IYYPSZ910@smtpauth1.wiscmail.wisc.edu>; Mon, 09 Apr 2012 10:51:28 -0500 (CDT) Date: Mon, 09 Apr 2012 10:51:27 -0500 From: Nathan Whitehorn In-reply-to: <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi> To: Jaakko Heinonen Message-id: <4F83057F.80808@freebsd.org> X-Spam-Report: AuthenticatedSender=yes, SenderIP=128.104.160.176 X-Spam-PmxInfo: Server=avs-13, Version=5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.4.9.153915, SenderIP=128.104.160.176 References: <201204062119.q36LJTKR026564@svn.freebsd.org> <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi> User-Agent: Mozilla/5.0 (X11; U; FreeBSD powerpc; en-US; rv:1.9.2.25) Gecko/20120130 Thunderbird/3.1.17 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, "Justin T. Gibbs" , src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 15:51:37 -0000 On 04/09/12 10:45, Jaakko Heinonen wrote: > Hi, > > On 2012-04-06, Justin T. Gibbs wrote: >> Fix interrupt load balancing regression, introduced in revision >> 222813, that left all un-pinned interrupts assigned to CPU 0. >> >> sys/x86/x86/intr_machdep.c: >> In intr_shuffle_irqs(), remove CPU_SETOF() call that initialized >> the "intr_cpus" cpuset to only contain CPU0. >> >> This initialization is too late and nullifies the results of calls >> the intr_add_cpu() that occur much earlier in the boot process. >> Since "intr_cpus" is statically initialized to the empty set, and >> all processors, including the BSP, already add themselves to >> "intr_cpus" no special initialization for the BSP is necessary. > My Pentium 4 system hangs on boot after this commit. These are the last > lines from a verbose boot: > > SMP: AP CPU #1 Launched! > cpu1 AP: > ID: 0x01000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff > lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff > timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400 For whatever it's worth, I had a similar problem on PPC with interrupt distribution where interrupts were going very early in boot to non-BSP CPUs before they were launched, and so getting lost. -Nathan From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 16:14:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1BE6D106564A; Mon, 9 Apr 2012 16:14:59 +0000 (UTC) (envelope-from gnn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 062CA8FC14; Mon, 9 Apr 2012 16:14: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 q39GEw4P068151; Mon, 9 Apr 2012 16:14:58 GMT (envelope-from gnn@svn.freebsd.org) Received: (from gnn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39GEwig068149; Mon, 9 Apr 2012 16:14:58 GMT (envelope-from gnn@svn.freebsd.org) Message-Id: <201204091614.q39GEwig068149@svn.freebsd.org> From: "George V. Neville-Neil" Date: Mon, 9 Apr 2012 16:14:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234062 - in stable/8/sys: dev/hwpmc i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 16:14:59 -0000 Author: gnn Date: Mon Apr 9 16:14:58 2012 New Revision: 234062 URL: http://svn.freebsd.org/changeset/base/234062 Log: MFC: 232612 Properly mask off bits that are not supported in the IAP counters. This fixes a bug where users would see massively large counts, near to 2**64 -1, due to the bits not being cleared. Modified: stable/8/sys/dev/hwpmc/hwpmc_core.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/dev/hwpmc/hwpmc_core.c ============================================================================== --- stable/8/sys/dev/hwpmc/hwpmc_core.c Mon Apr 9 15:34:23 2012 (r234061) +++ stable/8/sys/dev/hwpmc/hwpmc_core.c Mon Apr 9 16:14:58 2012 (r234062) @@ -1832,7 +1832,7 @@ iap_read_pmc(int cpu, int ri, pmc_value_ if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) *v = iap_perfctr_value_to_reload_count(tmp); else - *v = tmp; + *v = tmp & ((1ULL << core_iap_width) - 1); PMCDBG(MDP,REA,1, "iap-read cpu=%d ri=%d msr=0x%x -> v=%jx", cpu, ri, ri, *v); From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 16:18:56 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1EC4C106566B; Mon, 9 Apr 2012 16:18:56 +0000 (UTC) (envelope-from kensmith@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E55888FC1E; Mon, 9 Apr 2012 16:18:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39GItoj068380; Mon, 9 Apr 2012 16:18:55 GMT (envelope-from kensmith@svn.freebsd.org) Received: (from kensmith@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39GItTL068379; Mon, 9 Apr 2012 16:18:55 GMT (envelope-from kensmith@svn.freebsd.org) Message-Id: <201204091618.q39GItTL068379@svn.freebsd.org> From: Ken Smith Date: Mon, 9 Apr 2012 16:18:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-release@freebsd.org X-SVN-Group: release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234063 - release/8.3.0 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 16:18:56 -0000 Author: kensmith Date: Mon Apr 9 16:18:55 2012 New Revision: 234063 URL: http://svn.freebsd.org/changeset/base/234063 Log: Copy releng/8.3 to release/8.3.0 as part of the 8.3-RELEASE build process. Approved by: re (implicit) Added: - copied from r234062, releng/8.3/ Directory Properties: release/8.3.0/ (props changed) From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 16:34:53 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8737B10656E6; Mon, 9 Apr 2012 16:34:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 5977E8FC0C; Mon, 9 Apr 2012 16:34:53 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id C1071B9C2; Mon, 9 Apr 2012 12:34:52 -0400 (EDT) From: John Baldwin To: Jaakko Heinonen Date: Mon, 9 Apr 2012 12:34:42 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201204062119.q36LJTKR026564@svn.freebsd.org> <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi> In-Reply-To: <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201204091234.43106.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 09 Apr 2012 12:34:52 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, "Justin T. Gibbs" , src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 16:34:53 -0000 On Monday, April 09, 2012 11:45:11 am Jaakko Heinonen wrote: > > Hi, > > On 2012-04-06, Justin T. Gibbs wrote: > > Fix interrupt load balancing regression, introduced in revision > > 222813, that left all un-pinned interrupts assigned to CPU 0. > > > > sys/x86/x86/intr_machdep.c: > > In intr_shuffle_irqs(), remove CPU_SETOF() call that initialized > > the "intr_cpus" cpuset to only contain CPU0. > > > > This initialization is too late and nullifies the results of calls > > the intr_add_cpu() that occur much earlier in the boot process. > > Since "intr_cpus" is statically initialized to the empty set, and > > all processors, including the BSP, already add themselves to > > "intr_cpus" no special initialization for the BSP is necessary. > > My Pentium 4 system hangs on boot after this commit. These are the last > lines from a verbose boot: > > SMP: AP CPU #1 Launched! > cpu1 AP: > ID: 0x01000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff > lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff > timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400 > > The system boots with r233960. > > Some information: > > CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz (2605.96-MHz 686-class CPU) > Origin = "GenuineIntel" Id = 0xf29 Family = f Model = 2 Stepping = > 9 > Features=0xbfebfbff > Features2=0x4400 > real memory = 2147483648 (2048 MB) > avail memory = 2085228544 (1988 MB) > Event timer "LAPIC" quality 400 > ACPI APIC Table: > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads > cpu0 (BSP): APIC ID: 0 > cpu1 (AP/HT): APIC ID: 1 I suspect in your case intr_add_cpu() is never called. I think Attilio is not correct in that it is not called for the BSP. Yes, it is not called for the BSP in set_interrupt_apic_ids(). This used to work because bit 0 was assigned statically. Also, in a UP machine set_interrupt_apic_ids() is not called at all. Try this (untested): Index: sys/x86/x86/intr_machdep.c =================================================================== --- intr_machdep.c (revision 234057) +++ intr_machdep.c (working copy) @@ -491,6 +491,15 @@ intr_bind(u_int vector, u_char cpu) return (intr_event_bind(isrc->is_event, cpu)); } +static void +intr_add_bsp(void *arg __unused) +{ + + /* The BSP is always a valid target. */ + CPU_SETOF(0, &intr_cpus); +} +SYSINIT(intr_add_bsp, SI_SUB_CPU, SI_ORDER_FIRST, intr_add_bsp, NULL); + /* * Add a CPU to our mask of valid CPUs that can be destinations of * interrupts. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 16:39:45 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4C0EC106564A for ; Mon, 9 Apr 2012 16:39:45 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-wg0-f50.google.com (mail-wg0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id C887D8FC19 for ; Mon, 9 Apr 2012 16:39:44 +0000 (UTC) Received: by wgbds12 with SMTP id ds12so4426603wgb.31 for ; Mon, 09 Apr 2012 09:39:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :x-gm-message-state; bh=lzJIYSavzImDudbhNSyh+Ny9wf8qM6AIHSfodFGTLMA=; b=cQyIXqpme9ltlN307RSrOqyLbL0D0X3Pv/0T1bC1d4wbsfDfh0XWLsSyLrBnCAYR4v cYN0nW6SExoEO5HOLoe7WeeCi9QLq9HbMq13iwO9M8+B74MWbbqD4k7EpqEXkI0tkQAI irDdhY0l9S/zu24+tPFFKBOCjYi4Ap02Hcr8LXP1mgM9AB53bBqY2YJ2WGom7ksOZzk1 U7w/KmlepzcGlJDKSkQ16D4KpeygDImUEGnfzLG7OV/IGOMKN1DcbVYNn8DsnbU9tMik VpcYD1iQ70UpmC0NQ7kUOUCWnLzzbbBAaEjar/TIk8KtfLPDx9OGd1T8snX/QqMKaVJk BuLg== Received: by 10.180.96.168 with SMTP id dt8mr16946513wib.18.1333989583649; Mon, 09 Apr 2012 09:39:43 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.180.86.37 with HTTP; Mon, 9 Apr 2012 09:39:23 -0700 (PDT) In-Reply-To: <20120409204416.77f61674@fubar.geek.nz> References: <201204080436.q384aRXS093116@svn.freebsd.org> <20120408164521.55aecdd1@fubar.geek.nz> <20120409161453.29d1f3de@fubar.geek.nz> <20120409204416.77f61674@fubar.geek.nz> From: Juli Mallett Date: Mon, 9 Apr 2012 09:39:23 -0700 X-Google-Sender-Auth: mTTPnSjyhHeUIwOOf4pHSn67ntg Message-ID: To: Andrew Turner Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQnejdpaW7B6TJaTOPa8x9bDDqB79ii3JNqhhAPwnH0Bra4IEStQDR4NwpYtN+ySWEu5NfEc Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 16:39:45 -0000 On Mon, Apr 9, 2012 at 01:44, Andrew Turner wrote: > How does the attached (untested) patch look. It explicitly loads > ARM_TP_ADDRESS into a r0 to ensure r1-3 are not touched. The example file I pointed at was for the kernel, where the LOCORE-related ifdefs (almost) make sense, but for userland you probably want to conditionalize on __ASSEMBLER__. From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 16:53:42 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9FA01106566B; Mon, 9 Apr 2012 16:53:42 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 61CC78FC20; Mon, 9 Apr 2012 16:53:42 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q39GrZI9013233; Mon, 9 Apr 2012 12:53:35 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q39GrZEo013232; Mon, 9 Apr 2012 12:53:35 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Date: Mon, 9 Apr 2012 12:53:35 -0400 From: David Schultz To: Tijl Coosemans Message-ID: <20120409165335.GA13177@zim.MIT.EDU> Mail-Followup-To: Tijl Coosemans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201203041400.q24E0WcS037398@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201203041400.q24E0WcS037398@svn.freebsd.org> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r232491 - in head/sys: amd64/include i386/include pc98/include x86/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 16:53:42 -0000 On Sun, Mar 04, 2012, Tijl Coosemans wrote: > Log: > Copy amd64 float.h to x86 and merge with i386 float.h. Replace > amd64/i386/pc98 float.h with stubs. [...] > --- head/sys/amd64/include/float.h Sun Mar 4 12:52:48 2012 (r232490, copy source) > +++ head/sys/x86/include/float.h Sun Mar 4 14:00:32 2012 (r232491) > @@ -42,7 +42,11 @@ __END_DECLS > #define FLT_RADIX 2 /* b */ > #define FLT_ROUNDS __flt_rounds() > #if __ISO_C_VISIBLE >= 1999 > +#ifdef _LP64 > #define FLT_EVAL_METHOD 0 /* no promotions */ > +#else > +#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ > +#endif > #define DECIMAL_DIG 21 /* max precision in decimal digits */ > #endif The implication of this code is that FLT_EVAL_METHOD depends on the size of a long, which it does not. Instead, it depends on whether SSE2 support is guaranteed to be present. If anything, the test should be something like #ifndef __i386__. By the way, the #defines for single- and double-precision are effectively MI and should be in, e.g., ieee754_float.h. I can send some old patches to that effect if someone wants to clean them up and commit them. From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 16:58:10 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A39C8106564A; Mon, 9 Apr 2012 16:58:10 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-lpp01m010-f54.google.com (mail-lpp01m010-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 1B98B8FC16; Mon, 9 Apr 2012 16:58:08 +0000 (UTC) Received: by lagv3 with SMTP id v3so5015599lag.13 for ; Mon, 09 Apr 2012 09:58:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=se4t0bo0YAfoBu09BD4v5i4G0VcZ7zI1QvQOYzL4HDk=; b=XGABcc2PvA8HmGTzMOi7GPep78eCDmirQtGbQf40L8K1OZxzdsF1qWEf+ZcO6TgckS VDmE/NsNQJ8pQQxuZvEUPw3Rx4Qid8n1rLCngJ1QNh1RIHE+Gd5lJGq/TQXcUdQKQuQQ qHcAf/GOJo20E8hK+7gu1XJWVeST27bSI+I6pHiR7aGQXGkP82PF+qd8PO6falhPx8n0 0lQIzkpxJ6WG/uJ8FtrPSol1oKVkja5eE2qgjNEOUjM6QeZrDas1ERqlmgYN2zE2a7OR Nz679wvB4nYRNM6uLfhlms7J7cHC7Fn8Fw6iPGEubA03wu36ZDr7lOceeVNCTCbU3pOg 125w== MIME-Version: 1.0 Received: by 10.152.132.166 with SMTP id ov6mr12769446lab.35.1333990688033; Mon, 09 Apr 2012 09:58:08 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.112.93.138 with HTTP; Mon, 9 Apr 2012 09:58:07 -0700 (PDT) In-Reply-To: <201204091234.43106.jhb@freebsd.org> References: <201204062119.q36LJTKR026564@svn.freebsd.org> <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi> <201204091234.43106.jhb@freebsd.org> Date: Mon, 9 Apr 2012 17:58:07 +0100 X-Google-Sender-Auth: bxpHncSu7eL2mF13d2_QRMcFbuU Message-ID: From: Attilio Rao To: John Baldwin Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, Jaakko Heinonen , svn-src-all@freebsd.org, "Justin T. Gibbs" , src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 16:58:10 -0000 Il 09 aprile 2012 17:34, John Baldwin ha scritto: > On Monday, April 09, 2012 11:45:11 am Jaakko Heinonen wrote: >> >> Hi, >> >> On 2012-04-06, Justin T. Gibbs wrote: >> > =C2=A0 Fix interrupt load balancing regression, introduced in revision >> > =C2=A0 222813, that left all un-pinned interrupts assigned to CPU 0. >> > >> > =C2=A0 sys/x86/x86/intr_machdep.c: >> > =C2=A0 =C2=A0 In intr_shuffle_irqs(), remove CPU_SETOF() call that ini= tialized >> > =C2=A0 =C2=A0 the "intr_cpus" cpuset to only contain CPU0. >> > >> > =C2=A0 =C2=A0 This initialization is too late and nullifies the result= s of calls >> > =C2=A0 =C2=A0 the intr_add_cpu() that occur much earlier in the boot p= rocess. >> > =C2=A0 =C2=A0 Since "intr_cpus" is statically initialized to the empty= set, and >> > =C2=A0 =C2=A0 all processors, including the BSP, already add themselve= s to >> > =C2=A0 =C2=A0 "intr_cpus" no special initialization for the BSP is nec= essary. >> >> My Pentium 4 system hangs on boot after this commit. These are the last >> lines from a verbose boot: >> >> SMP: AP CPU #1 Launched! >> cpu1 AP: >> =C2=A0 =C2=A0 =C2=A0ID: 0x01000000 =C2=A0 VER: 0x00050014 LDR: 0x0000000= 0 DFR: 0xffffffff >> =C2=A0 lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001= ff >> =C2=A0 timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x000104= 00 >> >> The system boots with r233960. >> >> Some information: >> >> CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz (2605.96-MHz 686-class CPU) >> =C2=A0 Origin =3D "GenuineIntel" =C2=A0Id =3D 0xf29 =C2=A0Family =3D f = =C2=A0Model =3D 2 =C2=A0Stepping =3D >> 9 >> > Features=3D0xbfebfbff >> =C2=A0 Features2=3D0x4400 >> real memory =C2=A0=3D 2147483648 (2048 MB) >> avail memory =3D 2085228544 (1988 MB) >> Event timer "LAPIC" quality 400 >> ACPI APIC Table: >> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs >> FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads >> =C2=A0cpu0 (BSP): APIC ID: =C2=A00 >> =C2=A0cpu1 (AP/HT): APIC ID: =C2=A01 > > I suspect in your case intr_add_cpu() is never called. =C2=A0I think Atti= lio is not > correct in that it is not called for the BSP. > > Yes, it is not called for the BSP in set_interrupt_apic_ids(). =C2=A0This= used to > work because bit 0 was assigned statically. =C2=A0Also, in a UP machine > set_interrupt_apic_ids() is not called at all. But why there is a front-end check for the BSP in set_interrupt_apic_ids()? Anyway, I think a better fix would be like the attached patch. Thanks, Attilio Index: sys/i386/i386/mp_machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/i386/i386/mp_machdep.c (revisione 234046) +++ sys/i386/i386/mp_machdep.c (copia locale) @@ -831,6 +831,8 @@ set_interrupt_apic_ids(void) apic_id =3D cpu_apic_ids[i]; if (apic_id =3D=3D -1) continue; + + /* BSP should be already added by cpu_startup(). */ if (cpu_info[apic_id].cpu_bsp) continue; if (cpu_info[apic_id].cpu_disabled) Index: sys/i386/i386/machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/i386/i386/machdep.c (revisione 234046) +++ sys/i386/i386/machdep.c (copia locale) @@ -336,6 +336,11 @@ cpu_startup(dummy) #ifndef XEN cpu_setregs(); #endif + + /* + * Add BSP interrupt bitmask. + */ + intr_add_cpu(0); } /* Index: sys/amd64/amd64/mp_machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/amd64/amd64/mp_machdep.c (revisione 234046) +++ sys/amd64/amd64/mp_machdep.c (copia locale) @@ -797,6 +797,8 @@ set_interrupt_apic_ids(void) apic_id =3D cpu_apic_ids[i]; if (apic_id =3D=3D -1) continue; + + /* BSP should be already added by cpu_startup(). */ if (cpu_info[apic_id].cpu_bsp) continue; if (cpu_info[apic_id].cpu_disabled) Index: sys/amd64/amd64/machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/amd64/amd64/machdep.c (revisione 234046) +++ sys/amd64/amd64/machdep.c (copia locale) @@ -295,6 +295,11 @@ cpu_startup(dummy) vm_pager_bufferinit(); cpu_setregs(); + + /* + * Add BSP interrupt bitmask. + */ + intr_add_cpu(0); } /* From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 17:05:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 755ED106566B; Mon, 9 Apr 2012 17:05:19 +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 464208FC08; Mon, 9 Apr 2012 17:05:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39H5JmH070017; Mon, 9 Apr 2012 17:05:19 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39H5JCG070013; Mon, 9 Apr 2012 17:05:19 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201204091705.q39H5JCG070013@svn.freebsd.org> From: Attilio Rao Date: Mon, 9 Apr 2012 17:05:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234064 - in head/sys: cddl/contrib/opensolaris/uts/common/fs/zfs fs/tmpfs vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 17:05:19 -0000 Author: attilio Date: Mon Apr 9 17:05:18 2012 New Revision: 234064 URL: http://svn.freebsd.org/changeset/base/234064 Log: - Introduce a cache-miss optimization for consistency with other accesses of the cache member of vm_object objects. - Use novel vm_page_is_cached() for checks outside of the vm subsystem. Reviewed by: alc MFC after: 2 weeks X-MFC: r234039 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c head/sys/fs/tmpfs/tmpfs_vnops.c head/sys/vm/vm_page.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Mon Apr 9 16:18:55 2012 (r234063) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Mon Apr 9 17:05:18 2012 (r234064) @@ -345,10 +345,9 @@ page_lookup(vnode_t *vp, int64_t start, vm_page_busy(pp); vm_page_undirty(pp); } else { - if (__predict_false(obj->cache != NULL)) { + if (vm_page_is_cached(obj, OFF_TO_IDX(start))) vm_page_cache_free(obj, OFF_TO_IDX(start), OFF_TO_IDX(start) + 1); - } pp = NULL; } break; Modified: head/sys/fs/tmpfs/tmpfs_vnops.c ============================================================================== --- head/sys/fs/tmpfs/tmpfs_vnops.c Mon Apr 9 16:18:55 2012 (r234063) +++ head/sys/fs/tmpfs/tmpfs_vnops.c Mon Apr 9 17:05:18 2012 (r234064) @@ -662,7 +662,7 @@ lookupvpg: VM_OBJECT_UNLOCK(vobj); error = uiomove_fromphys(&vpg, offset, tlen, uio); } else { - if (__predict_false(vobj->cache != NULL)) + if (vm_page_is_cached(vobj, idx)) vm_page_cache_free(vobj, idx, idx + 1); VM_OBJECT_UNLOCK(vobj); vpg = NULL; Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Mon Apr 9 16:18:55 2012 (r234063) +++ head/sys/vm/vm_page.c Mon Apr 9 17:05:18 2012 (r234064) @@ -1303,7 +1303,7 @@ vm_page_is_cached(vm_object_t object, vm * exist. */ VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); - if (object->cache == NULL) + if (__predict_true(object->cache == NULL)) return (FALSE); mtx_lock(&vm_page_queue_free_mtx); m = vm_page_cache_lookup(object, pindex); From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 17:33:21 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 05758106564A; Mon, 9 Apr 2012 17:33:21 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from gw03.mail.saunalahti.fi (gw03.mail.saunalahti.fi [195.197.172.111]) by mx1.freebsd.org (Postfix) with ESMTP id AC36A8FC0A; Mon, 9 Apr 2012 17:33:20 +0000 (UTC) Received: from a91-153-116-96.elisa-laajakaista.fi (a91-153-116-96.elisa-laajakaista.fi [91.153.116.96]) by gw03.mail.saunalahti.fi (Postfix) with SMTP id 51BE3216671; Mon, 9 Apr 2012 20:33:07 +0300 (EEST) Date: Mon, 9 Apr 2012 20:33:07 +0300 From: Jaakko Heinonen To: John Baldwin Message-ID: <20120409173307.GB2253@a91-153-116-96.elisa-laajakaista.fi> References: <201204062119.q36LJTKR026564@svn.freebsd.org> <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi> <201204091234.43106.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201204091234.43106.jhb@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, "Justin T. Gibbs" , src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 17:33:21 -0000 On 2012-04-09, John Baldwin wrote: > I suspect in your case intr_add_cpu() is never called. I think Attilio is not > correct in that it is not called for the BSP. > > Yes, it is not called for the BSP in set_interrupt_apic_ids(). This used to > work because bit 0 was assigned statically. Also, in a UP machine > set_interrupt_apic_ids() is not called at all. > > Try this (untested): I can boot with the patch applied. Thanks! -- Jaakko From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 17:48:24 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A05361065674; Mon, 9 Apr 2012 17:48:24 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 71F018FC0C; Mon, 9 Apr 2012 17:48:24 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id CD472B915; Mon, 9 Apr 2012 13:48:23 -0400 (EDT) From: John Baldwin To: Attilio Rao Date: Mon, 9 Apr 2012 13:14:20 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201204062119.q36LJTKR026564@svn.freebsd.org> <201204091234.43106.jhb@freebsd.org> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201204091314.20775.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 09 Apr 2012 13:48:23 -0400 (EDT) Cc: svn-src-head@freebsd.org, Jaakko Heinonen , svn-src-all@freebsd.org, "Justin T. Gibbs" , src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 17:48:24 -0000 On Monday, April 09, 2012 12:58:07 pm Attilio Rao wrote: > Il 09 aprile 2012 17:34, John Baldwin ha scritto: > > On Monday, April 09, 2012 11:45:11 am Jaakko Heinonen wrote: > >> > >> Hi, > >> > >> On 2012-04-06, Justin T. Gibbs wrote: > >> > Fix interrupt load balancing regression, introduced in revision > >> > 222813, that left all un-pinned interrupts assigned to CPU 0. > >> > > >> > sys/x86/x86/intr_machdep.c: > >> > In intr_shuffle_irqs(), remove CPU_SETOF() call that initialized > >> > the "intr_cpus" cpuset to only contain CPU0. > >> > > >> > This initialization is too late and nullifies the results of calls > >> > the intr_add_cpu() that occur much earlier in the boot process. > >> > Since "intr_cpus" is statically initialized to the empty set, and > >> > all processors, including the BSP, already add themselves to > >> > "intr_cpus" no special initialization for the BSP is necessary. > >> > >> My Pentium 4 system hangs on boot after this commit. These are the last > >> lines from a verbose boot: > >> > >> SMP: AP CPU #1 Launched! > >> cpu1 AP: > >> ID: 0x01000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff > >> lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff > >> timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400 > >> > >> The system boots with r233960. > >> > >> Some information: > >> > >> CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz (2605.96-MHz 686-class CPU) > >> Origin = "GenuineIntel" Id = 0xf29 Family = f Model = 2 Stepping = > >> 9 > >> > > Features=0xbfebfbff > >> Features2=0x4400 > >> real memory = 2147483648 (2048 MB) > >> avail memory = 2085228544 (1988 MB) > >> Event timer "LAPIC" quality 400 > >> ACPI APIC Table: > >> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > >> FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads > >> cpu0 (BSP): APIC ID: 0 > >> cpu1 (AP/HT): APIC ID: 1 > > > > I suspect in your case intr_add_cpu() is never called. I think Attilio is not > > correct in that it is not called for the BSP. > > > > Yes, it is not called for the BSP in set_interrupt_apic_ids(). This used to > > work because bit 0 was assigned statically. Also, in a UP machine > > set_interrupt_apic_ids() is not called at all. > > But why there is a front-end check for the BSP in set_interrupt_apic_ids()? > > Anyway, I think a better fix would be like the attached patch. This would be fine. What I would really prefer is to not need the sysinit at all and be able to do something like the original pre-cpuset code: static cpuset_t intr_cpus = CPU_INITIAILIZER(0); Also, with the cpuset variant, I think we could remove the special case check for the BSP from set_apic_interrupt_ids() as it doesn't hurt to set it multiple times. IIRC, the pre-cpuset code kept a separate count which is why that would have been harmful. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 17:59:16 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EE3151065672; Mon, 9 Apr 2012 17:59:16 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-lpp01m010-f54.google.com (mail-lpp01m010-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 651F58FC08; Mon, 9 Apr 2012 17:59:15 +0000 (UTC) Received: by lagv3 with SMTP id v3so5068454lag.13 for ; Mon, 09 Apr 2012 10:59:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Zwpz0DI3BX5TsxzNVEYjj7X16I7UgVnvYCXcjsSBIL8=; b=INoPeIwP2t25k6hPGq3W20VjeXD5Dg7uXpzN6xpwK+17KZpbh8i6BkHmGkI+lddnPU KsB2mCl6xD4FrROtJyK8ECIyAk/l1B+RJt7HNfxUXvSR100BiJkhjW6WaDbfLvXY5wfA 5tj/9u6zqdagrUXNI98O/vo60k3Bh/pntLguDrvlhVTS25G1BHAzT+9KLoqiT0BEkplN KrK/s5SDgmr/fu8E+eMe9JQ/SaBqq4w66lkS7Q96sxrd70/ICU56jsvjARIFGsSv3CHi T3YWyyFxpN5839DsgZY58+6L3nPva623K+DrtkDQqmQMWNlEmNPg0xCIm3maFGV7giHk sbkA== MIME-Version: 1.0 Received: by 10.112.37.132 with SMTP id y4mr93593lbj.8.1333994354009; Mon, 09 Apr 2012 10:59:14 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.112.93.138 with HTTP; Mon, 9 Apr 2012 10:59:13 -0700 (PDT) In-Reply-To: <201204091314.20775.jhb@freebsd.org> References: <201204062119.q36LJTKR026564@svn.freebsd.org> <201204091234.43106.jhb@freebsd.org> <201204091314.20775.jhb@freebsd.org> Date: Mon, 9 Apr 2012 18:59:13 +0100 X-Google-Sender-Auth: ZAgkR9QrWAo3URVTpKFZMW9Xmzk Message-ID: From: Attilio Rao To: John Baldwin Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, Jaakko Heinonen , svn-src-all@freebsd.org, "Justin T. Gibbs" , src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 17:59:17 -0000 Il 09 aprile 2012 18:14, John Baldwin ha scritto: > On Monday, April 09, 2012 12:58:07 pm Attilio Rao wrote: >> Il 09 aprile 2012 17:34, John Baldwin ha scritto: >> > On Monday, April 09, 2012 11:45:11 am Jaakko Heinonen wrote: >> >> >> >> Hi, >> >> >> >> On 2012-04-06, Justin T. Gibbs wrote: >> >> > =C2=A0 Fix interrupt load balancing regression, introduced in revis= ion >> >> > =C2=A0 222813, that left all un-pinned interrupts assigned to CPU 0= . >> >> > >> >> > =C2=A0 sys/x86/x86/intr_machdep.c: >> >> > =C2=A0 =C2=A0 In intr_shuffle_irqs(), remove CPU_SETOF() call that = initialized >> >> > =C2=A0 =C2=A0 the "intr_cpus" cpuset to only contain CPU0. >> >> > >> >> > =C2=A0 =C2=A0 This initialization is too late and nullifies the res= ults of calls >> >> > =C2=A0 =C2=A0 the intr_add_cpu() that occur much earlier in the boo= t process. >> >> > =C2=A0 =C2=A0 Since "intr_cpus" is statically initialized to the em= pty set, and >> >> > =C2=A0 =C2=A0 all processors, including the BSP, already add themse= lves to >> >> > =C2=A0 =C2=A0 "intr_cpus" no special initialization for the BSP is = necessary. >> >> >> >> My Pentium 4 system hangs on boot after this commit. These are the la= st >> >> lines from a verbose boot: >> >> >> >> SMP: AP CPU #1 Launched! >> >> cpu1 AP: >> >> =C2=A0 =C2=A0 =C2=A0ID: 0x01000000 =C2=A0 VER: 0x00050014 LDR: 0x0000= 0000 DFR: 0xffffffff >> >> =C2=A0 lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000= 001ff >> >> =C2=A0 timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x000= 10400 >> >> >> >> The system boots with r233960. >> >> >> >> Some information: >> >> >> >> CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz (2605.96-MHz 686-class CPU) >> >> =C2=A0 Origin =3D "GenuineIntel" =C2=A0Id =3D 0xf29 =C2=A0Family =3D = f =C2=A0Model =3D 2 =C2=A0Stepping =3D >> >> 9 >> >> >> > Features=3D0xbfebfbff >> >> =C2=A0 Features2=3D0x4400 >> >> real memory =C2=A0=3D 2147483648 (2048 MB) >> >> avail memory =3D 2085228544 (1988 MB) >> >> Event timer "LAPIC" quality 400 >> >> ACPI APIC Table: >> >> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs >> >> FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads >> >> =C2=A0cpu0 (BSP): APIC ID: =C2=A00 >> >> =C2=A0cpu1 (AP/HT): APIC ID: =C2=A01 >> > >> > I suspect in your case intr_add_cpu() is never called. =C2=A0I think A= ttilio is not >> > correct in that it is not called for the BSP. >> > >> > Yes, it is not called for the BSP in set_interrupt_apic_ids(). =C2=A0T= his used to >> > work because bit 0 was assigned statically. =C2=A0Also, in a UP machin= e >> > set_interrupt_apic_ids() is not called at all. >> >> But why there is a front-end check for the BSP in set_interrupt_apic_ids= ()? >> >> Anyway, I think a better fix would be like the attached patch. > > This would be fine. =C2=A0What I would really prefer is to not need the s= ysinit at > all and be able to do something like the original pre-cpuset code: > > static cpuset_t intr_cpus =3D CPU_INITIAILIZER(0); This is more difficult to do because it would require static array initializations and it would pollute too much the code with compile time, MAXCPU-dependant details. > Also, with the cpuset variant, I think we could remove the special case c= heck > for the BSP from set_apic_interrupt_ids() as it doesn't hurt to set it > multiple times. =C2=A0 IIRC, the pre-cpuset code kept a separate count wh= ich is > why that would have been harmful. I'm not sure I follow, a separate count for what? So do you consider the following patch as a real commit candidate? Thanks, Attilio Index: sys/i386/i386/mp_machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/i386/i386/mp_machdep.c (revisione 234064) +++ sys/i386/i386/mp_machdep.c (copia locale) @@ -819,8 +819,6 @@ init_secondary(void) * We tell the I/O APIC code about all the CPUs we want to receive * interrupts. If we don't want certain CPUs to receive IRQs we * can simply not tell the I/O APIC code about them in this function. - * We also do not tell it about the BSP since it tells itself about - * the BSP internally to work with UP kernels and on UP machines. */ static void set_interrupt_apic_ids(void) @@ -831,8 +829,6 @@ set_interrupt_apic_ids(void) apic_id =3D cpu_apic_ids[i]; if (apic_id =3D=3D -1) continue; - if (cpu_info[apic_id].cpu_bsp) - continue; if (cpu_info[apic_id].cpu_disabled) continue; Index: sys/i386/i386/machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/i386/i386/machdep.c (revisione 234064) +++ sys/i386/i386/machdep.c (copia locale) @@ -336,6 +336,11 @@ cpu_startup(dummy) #ifndef XEN cpu_setregs(); #endif + + /* + * Add BSP interrupt bitmask. + */ + intr_add_cpu(0); } /* Index: sys/amd64/amd64/mp_machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/amd64/amd64/mp_machdep.c (revisione 234064) +++ sys/amd64/amd64/mp_machdep.c (copia locale) @@ -785,8 +785,6 @@ init_secondary(void) * We tell the I/O APIC code about all the CPUs we want to receive * interrupts. If we don't want certain CPUs to receive IRQs we * can simply not tell the I/O APIC code about them in this function. - * We also do not tell it about the BSP since it tells itself about - * the BSP internally to work with UP kernels and on UP machines. */ static void set_interrupt_apic_ids(void) @@ -797,8 +795,6 @@ set_interrupt_apic_ids(void) apic_id =3D cpu_apic_ids[i]; if (apic_id =3D=3D -1) continue; - if (cpu_info[apic_id].cpu_bsp) - continue; if (cpu_info[apic_id].cpu_disabled) continue; Index: sys/amd64/amd64/machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/amd64/amd64/machdep.c (revisione 234064) +++ sys/amd64/amd64/machdep.c (copia locale) @@ -295,6 +295,11 @@ cpu_startup(dummy) vm_pager_bufferinit(); cpu_setregs(); + + /* + * Add BSP interrupt bitmask. + */ + intr_add_cpu(0); } /* From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 18:24:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 218E1106564A; Mon, 9 Apr 2012 18:24:59 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0DC7D8FC0A; Mon, 9 Apr 2012 18:24: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 q39IOw8J072804; Mon, 9 Apr 2012 18:24:58 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39IOw64072802; Mon, 9 Apr 2012 18:24:58 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201204091824.q39IOw64072802@svn.freebsd.org> From: Alexander Motin Date: Mon, 9 Apr 2012 18:24:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234066 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 18:24:59 -0000 Author: mav Date: Mon Apr 9 18:24:58 2012 New Revision: 234066 URL: http://svn.freebsd.org/changeset/base/234066 Log: Microoptimize cpu_search(). According to profiling, it makes one take 6% of CPU time on hackbench with its million of context switches per second, instead of 8% before. Modified: head/sys/kern/sched_ule.c Modified: head/sys/kern/sched_ule.c ============================================================================== --- head/sys/kern/sched_ule.c Mon Apr 9 17:33:35 2012 (r234065) +++ head/sys/kern/sched_ule.c Mon Apr 9 18:24:58 2012 (r234066) @@ -594,32 +594,34 @@ cpu_search(const struct cpu_group *cg, s cpuset_t cpumask; struct cpu_group *child; struct tdq *tdq; - int cpu, i, hload, lload, load, total, rnd; + int cpu, i, hload, lload, load, total, rnd, *rndptr; total = 0; cpumask = cg->cg_mask; if (match & CPU_SEARCH_LOWEST) { lload = INT_MAX; - low->cs_load = INT_MAX; lgroup = *low; } if (match & CPU_SEARCH_HIGHEST) { - hload = -1; - high->cs_load = -1; + hload = INT_MIN; hgroup = *high; } /* Iterate through the child CPU groups and then remaining CPUs. */ - for (i = 0, cpu = 0; i <= cg->cg_children; ) { - if (i >= cg->cg_children) { - while (cpu <= mp_maxid && !CPU_ISSET(cpu, &cpumask)) - cpu++; - if (cpu > mp_maxid) + for (i = cg->cg_children, cpu = mp_maxid; i >= 0; ) { + if (i == 0) { + while (cpu >= 0 && !CPU_ISSET(cpu, &cpumask)) + cpu--; + if (cpu < 0) break; child = NULL; } else - child = &cg->cg_child[i]; + child = &cg->cg_child[i - 1]; + if (match & CPU_SEARCH_LOWEST) + lgroup.cs_cpu = -1; + if (match & CPU_SEARCH_HIGHEST) + hgroup.cs_cpu = -1; if (child) { /* Handle child CPU group. */ CPU_NAND(&cpumask, &child->cg_mask); switch (match) { @@ -636,23 +638,23 @@ cpu_search(const struct cpu_group *cg, s } else { /* Handle child CPU. */ tdq = TDQ_CPU(cpu); load = tdq->tdq_load * 256; - rnd = DPCPU_SET(randomval, - DPCPU_GET(randomval) * 69069 + 5) >> 26; + rndptr = DPCPU_PTR(randomval); + rnd = (*rndptr = *rndptr * 69069 + 5) >> 26; if (match & CPU_SEARCH_LOWEST) { if (cpu == low->cs_prefer) load -= 64; /* If that CPU is allowed and get data. */ - if (CPU_ISSET(cpu, &lgroup.cs_mask) && - tdq->tdq_lowpri > lgroup.cs_pri && - tdq->tdq_load <= lgroup.cs_limit) { + if (tdq->tdq_lowpri > lgroup.cs_pri && + tdq->tdq_load <= lgroup.cs_limit && + CPU_ISSET(cpu, &lgroup.cs_mask)) { lgroup.cs_cpu = cpu; lgroup.cs_load = load - rnd; } } if (match & CPU_SEARCH_HIGHEST) - if (CPU_ISSET(cpu, &hgroup.cs_mask) && - tdq->tdq_load >= hgroup.cs_limit && - tdq->tdq_transferable) { + if (tdq->tdq_load >= hgroup.cs_limit && + tdq->tdq_transferable && + CPU_ISSET(cpu, &hgroup.cs_mask)) { hgroup.cs_cpu = cpu; hgroup.cs_load = load - rnd; } @@ -661,7 +663,7 @@ cpu_search(const struct cpu_group *cg, s /* We have info about child item. Compare it. */ if (match & CPU_SEARCH_LOWEST) { - if (lgroup.cs_load != INT_MAX && + if (lgroup.cs_cpu >= 0 && (load < lload || (load == lload && lgroup.cs_load < low->cs_load))) { lload = load; @@ -670,17 +672,19 @@ cpu_search(const struct cpu_group *cg, s } } if (match & CPU_SEARCH_HIGHEST) - if (hgroup.cs_load >= 0 && + if (hgroup.cs_cpu >= 0 && (load > hload || (load == hload && hgroup.cs_load > high->cs_load))) { hload = load; high->cs_cpu = hgroup.cs_cpu; high->cs_load = hgroup.cs_load; } - if (child) - i++; - else - cpu++; + if (child) { + i--; + if (i == 0 && CPU_EMPTY(&cpumask)) + break; + } else + cpu--; } return (total); } From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 18:33:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A638F106566C; Mon, 9 Apr 2012 18:33:59 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9120B8FC12; Mon, 9 Apr 2012 18:33: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 q39IXxrn073117; Mon, 9 Apr 2012 18:33:59 GMT (envelope-from pfg@svn.freebsd.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39IXxZh073114; Mon, 9 Apr 2012 18:33:59 GMT (envelope-from pfg@svn.freebsd.org) Message-Id: <201204091833.q39IXxZh073114@svn.freebsd.org> From: "Pedro F. Giffuni" Date: Mon, 9 Apr 2012 18:33:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234067 - stable/8/contrib/gcc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 18:33:59 -0000 Author: pfg Date: Mon Apr 9 18:33:59 2012 New Revision: 234067 URL: http://svn.freebsd.org/changeset/base/234067 Log: MFC: r233923 Fix a typo in GCC affecting calculations with -ffast-math. The fix is similar to the one applied in GCC-4.3 in GCCSVN-r117929 under the GPLv2. Submitted by: Andrey Simonenko Reviewed by: mm Approved by: jhb (mentor) Modified: stable/8/contrib/gcc/ChangeLog.gcc43 stable/8/contrib/gcc/builtins.c Directory Properties: stable/8/contrib/gcc/ (props changed) Modified: stable/8/contrib/gcc/ChangeLog.gcc43 ============================================================================== --- stable/8/contrib/gcc/ChangeLog.gcc43 Mon Apr 9 18:24:58 2012 (r234066) +++ stable/8/contrib/gcc/ChangeLog.gcc43 Mon Apr 9 18:33:59 2012 (r234067) @@ -169,3 +169,8 @@ * doc/extend.texi: Document SSSE3 built-in functions. * doc/invoke.texi: Document -mssse3/-mno-ssse3 switches. + +2006-10-21 Richard Guenther + + * builtins.c (fold_builtin_classify): Fix typo. + Modified: stable/8/contrib/gcc/builtins.c ============================================================================== --- stable/8/contrib/gcc/builtins.c Mon Apr 9 18:24:58 2012 (r234066) +++ stable/8/contrib/gcc/builtins.c Mon Apr 9 18:33:59 2012 (r234067) @@ -8738,7 +8738,7 @@ fold_builtin_classify (tree fndecl, tree case BUILT_IN_FINITE: if (!HONOR_NANS (TYPE_MODE (TREE_TYPE (arg))) && !HONOR_INFINITIES (TYPE_MODE (TREE_TYPE (arg)))) - return omit_one_operand (type, integer_zero_node, arg); + return omit_one_operand (type, integer_one_node, arg); if (TREE_CODE (arg) == REAL_CST) { From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 18:38:10 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B24FB1065674; Mon, 9 Apr 2012 18:38:10 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 59E818FC17; Mon, 9 Apr 2012 18:38:10 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id C65C0B915; Mon, 9 Apr 2012 14:38:09 -0400 (EDT) From: John Baldwin To: Attilio Rao Date: Mon, 9 Apr 2012 14:35:31 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201204062119.q36LJTKR026564@svn.freebsd.org> <201204091314.20775.jhb@freebsd.org> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201204091435.31893.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 09 Apr 2012 14:38:09 -0400 (EDT) Cc: svn-src-head@freebsd.org, Jaakko Heinonen , svn-src-all@freebsd.org, "Justin T. Gibbs" , src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 18:38:10 -0000 On Monday, April 09, 2012 1:59:13 pm Attilio Rao wrote: > Il 09 aprile 2012 18:14, John Baldwin ha scritto: > > On Monday, April 09, 2012 12:58:07 pm Attilio Rao wrote: > >> Il 09 aprile 2012 17:34, John Baldwin ha scritto: > >> > On Monday, April 09, 2012 11:45:11 am Jaakko Heinonen wrote: > >> >> > >> >> Hi, > >> >> > >> >> On 2012-04-06, Justin T. Gibbs wrote: > >> >> > Fix interrupt load balancing regression, introduced in revision > >> >> > 222813, that left all un-pinned interrupts assigned to CPU 0. > >> >> > > >> >> > sys/x86/x86/intr_machdep.c: > >> >> > In intr_shuffle_irqs(), remove CPU_SETOF() call that initialized > >> >> > the "intr_cpus" cpuset to only contain CPU0. > >> >> > > >> >> > This initialization is too late and nullifies the results of calls > >> >> > the intr_add_cpu() that occur much earlier in the boot process. > >> >> > Since "intr_cpus" is statically initialized to the empty set, and > >> >> > all processors, including the BSP, already add themselves to > >> >> > "intr_cpus" no special initialization for the BSP is necessary. > >> >> > >> >> My Pentium 4 system hangs on boot after this commit. These are the last > >> >> lines from a verbose boot: > >> >> > >> >> SMP: AP CPU #1 Launched! > >> >> cpu1 AP: > >> >> ID: 0x01000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff > >> >> lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff > >> >> timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400 > >> >> > >> >> The system boots with r233960. > >> >> > >> >> Some information: > >> >> > >> >> CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz (2605.96-MHz 686-class CPU) > >> >> Origin = "GenuineIntel" Id = 0xf29 Family = f Model = 2 Stepping = > >> >> 9 > >> >> > >> > Features=0xbfebfbff > >> >> Features2=0x4400 > >> >> real memory = 2147483648 (2048 MB) > >> >> avail memory = 2085228544 (1988 MB) > >> >> Event timer "LAPIC" quality 400 > >> >> ACPI APIC Table: > >> >> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > >> >> FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads > >> >> cpu0 (BSP): APIC ID: 0 > >> >> cpu1 (AP/HT): APIC ID: 1 > >> > > >> > I suspect in your case intr_add_cpu() is never called. I think Attilio is not > >> > correct in that it is not called for the BSP. > >> > > >> > Yes, it is not called for the BSP in set_interrupt_apic_ids(). This used to > >> > work because bit 0 was assigned statically. Also, in a UP machine > >> > set_interrupt_apic_ids() is not called at all. > >> > >> But why there is a front-end check for the BSP in set_interrupt_apic_ids()? > >> > >> Anyway, I think a better fix would be like the attached patch. > > > > This would be fine. What I would really prefer is to not need the sysinit at > > all and be able to do something like the original pre-cpuset code: > > > > static cpuset_t intr_cpus = CPU_INITIAILIZER(0); > > This is more difficult to do because it would require static array > initializations and it would pollute too much the code with compile > time, MAXCPU-dependant details. > > > Also, with the cpuset variant, I think we could remove the special case check > > for the BSP from set_apic_interrupt_ids() as it doesn't hurt to set it > > multiple times. IIRC, the pre-cpuset code kept a separate count which is > > why that would have been harmful. > > I'm not sure I follow, a separate count for what? The pre-cpuset code used a separate count IIRC. That is why duplicate calls to intr_add_cpu() used to be bad. However, they are no longer bad. > So do you consider the following patch as a real commit candidate? Yes, modulo a nit: > Index: sys/i386/i386/machdep.c > =================================================================== > --- sys/i386/i386/machdep.c (revisione 234064) > +++ sys/i386/i386/machdep.c (copia locale) > @@ -336,6 +336,11 @@ cpu_startup(dummy) > #ifndef XEN > cpu_setregs(); > #endif > + > + /* > + * Add BSP interrupt bitmask. > + */ > + intr_add_cpu(0); > } I would make this a single line comment and say: "Add BSP as an interrupt target." (More closely matches the original comment from intr_machdep.c). -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 19:19:54 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EA802106566B; Mon, 9 Apr 2012 19:19:54 +0000 (UTC) (envelope-from vidwer@gmail.com) Received: from mail-pz0-f44.google.com (mail-pz0-f44.google.com [209.85.210.44]) by mx1.freebsd.org (Postfix) with ESMTP id BD4C18FC08; Mon, 9 Apr 2012 19:19:54 +0000 (UTC) Received: by dadz14 with SMTP id z14so19177870dad.17 for ; Mon, 09 Apr 2012 12:19:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=EgNncipUmJaxympvzNSgWw9alWHb3lbnyOVWXsfi2Hw=; b=xzt4Zvwu2PeGzSRhHxuWw0us/22SxFCbx0u9PX1UdV6yMC8IgNppR3d7rygTUITPKt 18NMwf9fDRflV8ZwOtva6S+rtclyLFO5Xawjfne8Ima4l1AsV2WnvtBrGAZcegHJOu6M SiJYqSyBVE140EI5LGPB9v+03KThmGIYNgVH5MDLdEaxFeSWeHRXWWRxUml/12W/JlxK rjtQNfEn7cNC6u7V+wP+NKguItFO4KnxDLfJKcad0DOB5HIGc/w6KuHt46Om25RK2XD5 SH/JO0yROgVybCRG6NW3WkqReMgRvhh/+v8N57gIwIgQEJJA9icS0WaVYN7PC3r8sve4 6SVw== MIME-Version: 1.0 Received: by 10.68.218.228 with SMTP id pj4mr22170024pbc.167.1333999194467; Mon, 09 Apr 2012 12:19:54 -0700 (PDT) Received: by 10.68.4.198 with HTTP; Mon, 9 Apr 2012 12:19:54 -0700 (PDT) Date: Mon, 9 Apr 2012 21:19:54 +0200 Message-ID: From: Idwer Vollering To: svn-src-all@freebsd.org, attilio@freebsd.org Content-Type: text/plain; charset=UTF-8 Cc: Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 19:19:55 -0000 I can boot the following CPU with this patch: CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (2999.72-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Family = f Model = 2 Stepping = 9 Features=0xbfebfbff Features2=0x4400 From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 20:55:24 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5E3691065673; Mon, 9 Apr 2012 20:55:24 +0000 (UTC) (envelope-from rmh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 30A6A8FC0C; Mon, 9 Apr 2012 20:55:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39KtOfG077904; Mon, 9 Apr 2012 20:55:24 GMT (envelope-from rmh@svn.freebsd.org) Received: (from rmh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39KtN7R077902; Mon, 9 Apr 2012 20:55:23 GMT (envelope-from rmh@svn.freebsd.org) Message-Id: <201204092055.q39KtN7R077902@svn.freebsd.org> From: Robert Millan Date: Mon, 9 Apr 2012 20:55:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234069 - head/sbin/savecore X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 20:55:24 -0000 Author: rmh Date: Mon Apr 9 20:55:23 2012 New Revision: 234069 URL: http://svn.freebsd.org/changeset/base/234069 Log: Include (for SIGINFO). Modified: head/sbin/savecore/savecore.c Modified: head/sbin/savecore/savecore.c ============================================================================== --- head/sbin/savecore/savecore.c Mon Apr 9 19:40:52 2012 (r234068) +++ head/sbin/savecore/savecore.c Mon Apr 9 20:55:23 2012 (r234069) @@ -72,6 +72,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 20:59:14 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A62F0106566B; Mon, 9 Apr 2012 20:59:14 +0000 (UTC) (envelope-from rmh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 914478FC0C; Mon, 9 Apr 2012 20:59: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 q39KxEVO078055; Mon, 9 Apr 2012 20:59:14 GMT (envelope-from rmh@svn.freebsd.org) Received: (from rmh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39KxE0q078053; Mon, 9 Apr 2012 20:59:14 GMT (envelope-from rmh@svn.freebsd.org) Message-Id: <201204092059.q39KxE0q078053@svn.freebsd.org> From: Robert Millan Date: Mon, 9 Apr 2012 20:59:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234070 - head/usr.sbin/powerd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 20:59:14 -0000 Author: rmh Date: Mon Apr 9 20:59:14 2012 New Revision: 234070 URL: http://svn.freebsd.org/changeset/base/234070 Log: Improve error reporting when no cpufreq(4) support is available. Reviewed by: njl, acpi Modified: head/usr.sbin/powerd/powerd.c Modified: head/usr.sbin/powerd/powerd.c ============================================================================== --- head/usr.sbin/powerd/powerd.c Mon Apr 9 20:55:23 2012 (r234069) +++ head/usr.sbin/powerd/powerd.c Mon Apr 9 20:59:14 2012 (r234070) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #ifdef __i386__ @@ -536,7 +537,7 @@ main(int argc, char * argv[]) err(1, "lookup kern.cp_times"); len = 4; if (sysctlnametomib("dev.cpu.0.freq", freq_mib, &len)) - err(1, "lookup freq"); + err(EX_UNAVAILABLE, "no cpufreq(4) support -- aborting"); len = 4; if (sysctlnametomib("dev.cpu.0.freq_levels", levels_mib, &len)) err(1, "lookup freq_levels"); From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 21:26:08 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 24534106564A; Mon, 9 Apr 2012 21:26:08 +0000 (UTC) (envelope-from tomelite82@gmail.com) Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by mx1.freebsd.org (Postfix) with ESMTP id 31B908FC08; Mon, 9 Apr 2012 21:26:07 +0000 (UTC) Received: by wibhj6 with SMTP id hj6so2403236wib.13 for ; Mon, 09 Apr 2012 14:26:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=7uzRNWoBlaPp4C+oGfHfFTA12MfiefU7iUJBfh8uKdk=; b=QplD6ea4i3+80iTaBNE5SjWJrn4brL1b8i/VkYQcogsuQNHwkfOKOJgFUN/6tP4tUH XuDbiDTgcJ/pNL7F+nZIZhULq33qGNWOa9EvPCZErjOHULOHdbQO8WapegCwLUGMg98k yQvKnGYxPj0wAlKQhoaAlGBfRYNvj9x8IffyAX7bunMWDIKeMICDyV0uLPgTushOAp1d krUhF9H5R7Fv4NWFLp+gztbp8TQp9WcFfnSDD+7RfqNPdus4qlsgci1IMpX/Gi0q7BpR m+uN/H9bbR9u4MQ1/Xh14A4vsJw7gMJ3GooAFZJ5mc/CpyVsSte4kp46Y/XnW1qUOf/O 985Q== MIME-Version: 1.0 Received: by 10.180.91.10 with SMTP id ca10mr1114846wib.17.1334006766217; Mon, 09 Apr 2012 14:26:06 -0700 (PDT) Sender: tomelite82@gmail.com Received: by 10.223.70.129 with HTTP; Mon, 9 Apr 2012 14:26:06 -0700 (PDT) In-Reply-To: <20120409065048.GA9391@FreeBSD.org> References: <201204021044.q32AiPng094511@svn.freebsd.org> <20120409065048.GA9391@FreeBSD.org> Date: Mon, 9 Apr 2012 14:26:06 -0700 X-Google-Sender-Auth: mt6ufRXj6W22Q_95wxP0XObfkz4 Message-ID: From: Qing Li To: Gleb Smirnoff Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233773 - head/usr.sbin/arp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 21:26:08 -0000 You missed my points. That "if" check as part of r201282 was meant to resolve a couple of issues related to PPP links, as noted in my commit message. In this PPP/proxy resolution context the error message applies, which is why I actually used the word "context" = in my previous reply. Your removing of that code will break the fixes committed in r201282. You don't need to try so hard to be pedantic ... When I say let's put in the code to support RFC 3012 "properly", I mean exactly that, i.e., put code in which makes RFC3012 work without breaking the previous fi= xes. And if there are other cases we need to cover, well, let's make sure we do. Do you have another definition of a "proper" fix ? I can't quite decipher the example you described in this email. Could you please give me a bit more information in a private email so I can= have a better look at the issue, and possibly make a suggestion for an alternati= ve patch ? --Qing 2012/4/8 Gleb Smirnoff : > =A0Qing, > > On Sun, Apr 08, 2012 at 10:41:11AM -0700, Qing Li wrote: > Q> This is not the right way to support RFC3021. > Q> > Q> The code you removed is used for checking against attempt at adding > Q> duplicate entry. > Q> Both the message and the code apply in that context. I tried to state > Q> clearly and concisely > Q> what r201282 was intended in solving and was verified by actual users > Q> who ran into the > Q> described problems. > > How does the message apply? > > On a 10.0/9.0 prior to my commit: > > #ifconfig em0 > em0: flags=3D8843 metric 0 mtu 15= 00 > =A0 =A0 =A0 =A0options=3D4219b > =A0 =A0 =A0 =A0ether f0:de:f1:6c:5b:fa > =A0 =A0 =A0 =A0inet x.x.x.111 netmask 0xffffffe0 broadcast x.x.x.127 > =A0 =A0 =A0 =A0nd6 options=3D29 > =A0 =A0 =A0 =A0media: Ethernet autoselect (100baseTX ) > =A0 =A0 =A0 =A0status: active > # arp -an > ? (x.x.x.97) at 00:00:5e:00:01:61 on em0 expires in 1198 seconds [etherne= t] > ? (x.x.x.101) at 00:e0:81:5a:22:49 on em0 expires in 618 seconds [etherne= t] > ? (x.x.x.111) at f0:de:f1:6c:5b:fa on em0 permanent [ethernet] > ? (x.x.x.116) at 00:26:18:6a:ea:02 on em0 expires in 1128 seconds [ethern= et] > # # arp -s 81.19.64.96 0:0:0:0:0:0 > set: proxy entry exists for non 802 device > > And how does this apply? Where is the proxy entry mentioned? Where is the > non 802 device? > > Look at the code before r201282 and see that the message was for absolute= ly > unrelated case. > > And here is behavior of 6.1-RELEASE, that is prior to your new ARP work: > > # ifconfig fxp0 > fxp0: flags=3D8843 mtu 1500 > =A0 =A0 =A0 =A0options=3D8 > =A0 =A0 =A0 =A0inet x.x.x.134 netmask 0xfffffffc broadcast x.x.x.135 > =A0 =A0 =A0 =A0ether 00:20:ed:6e:9c:f9 > =A0 =A0 =A0 =A0media: Ethernet autoselect (10baseT/UTP) > =A0 =A0 =A0 =A0status: active > # arp -s x.x.x.132 0:0:0:0:0:0 > set: can only proxy for x.x.x.132 > > As you see, the error message was an other one. > > Q> If we actually need to support RFC 3021, then better do it properly. > > What do you mean here under "properly"? RFC3021 says that network address > in a /31 network is a common address. Thus it should be possible to have > an ARP entry for it. > > Anyway this change isn't about RFC3021. A /31 network is just a case when= we > need to set ARP entry for network address. > > -- > Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 21:58:58 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DEFC9106564A; Mon, 9 Apr 2012 21:58:58 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C02268FC12; Mon, 9 Apr 2012 21:58: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 q39LwwlW080208; Mon, 9 Apr 2012 21:58:58 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39LwwoH080206; Mon, 9 Apr 2012 21:58:58 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201204092158.q39LwwoH080206@svn.freebsd.org> From: Jilles Tjoelker Date: Mon, 9 Apr 2012 21:58:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234072 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 21:58:59 -0000 Author: jilles Date: Mon Apr 9 21:58:58 2012 New Revision: 234072 URL: http://svn.freebsd.org/changeset/base/234072 Log: Remove unused and wrong SA_PROC internal signal property. The SA_PROC signal property indicated whether each signal number is directed at a specific thread or at the process in general. However, that depends on how the signal was generated and not on the signal number. SA_PROC was not used. Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c ============================================================================== --- head/sys/kern/kern_sig.c Mon Apr 9 21:29:58 2012 (r234071) +++ head/sys/kern/kern_sig.c Mon Apr 9 21:58:58 2012 (r234072) @@ -194,40 +194,39 @@ SYSCTL_INT(_kern, OID_AUTO, nodump_cored #define SA_IGNORE 0x10 /* ignore by default */ #define SA_CONT 0x20 /* continue if suspended */ #define SA_CANTMASK 0x40 /* non-maskable, catchable */ -#define SA_PROC 0x80 /* deliverable to any thread */ static int sigproptbl[NSIG] = { - SA_KILL|SA_PROC, /* SIGHUP */ - SA_KILL|SA_PROC, /* SIGINT */ - SA_KILL|SA_CORE|SA_PROC, /* SIGQUIT */ + SA_KILL, /* SIGHUP */ + SA_KILL, /* SIGINT */ + SA_KILL|SA_CORE, /* SIGQUIT */ SA_KILL|SA_CORE, /* SIGILL */ SA_KILL|SA_CORE, /* SIGTRAP */ SA_KILL|SA_CORE, /* SIGABRT */ - SA_KILL|SA_CORE|SA_PROC, /* SIGEMT */ + SA_KILL|SA_CORE, /* SIGEMT */ SA_KILL|SA_CORE, /* SIGFPE */ - SA_KILL|SA_PROC, /* SIGKILL */ + SA_KILL, /* SIGKILL */ SA_KILL|SA_CORE, /* SIGBUS */ SA_KILL|SA_CORE, /* SIGSEGV */ SA_KILL|SA_CORE, /* SIGSYS */ - SA_KILL|SA_PROC, /* SIGPIPE */ - SA_KILL|SA_PROC, /* SIGALRM */ - SA_KILL|SA_PROC, /* SIGTERM */ - SA_IGNORE|SA_PROC, /* SIGURG */ - SA_STOP|SA_PROC, /* SIGSTOP */ - SA_STOP|SA_TTYSTOP|SA_PROC, /* SIGTSTP */ - SA_IGNORE|SA_CONT|SA_PROC, /* SIGCONT */ - SA_IGNORE|SA_PROC, /* SIGCHLD */ - SA_STOP|SA_TTYSTOP|SA_PROC, /* SIGTTIN */ - SA_STOP|SA_TTYSTOP|SA_PROC, /* SIGTTOU */ - SA_IGNORE|SA_PROC, /* SIGIO */ + SA_KILL, /* SIGPIPE */ + SA_KILL, /* SIGALRM */ + SA_KILL, /* SIGTERM */ + SA_IGNORE, /* SIGURG */ + SA_STOP, /* SIGSTOP */ + SA_STOP|SA_TTYSTOP, /* SIGTSTP */ + SA_IGNORE|SA_CONT, /* SIGCONT */ + SA_IGNORE, /* SIGCHLD */ + SA_STOP|SA_TTYSTOP, /* SIGTTIN */ + SA_STOP|SA_TTYSTOP, /* SIGTTOU */ + SA_IGNORE, /* SIGIO */ SA_KILL, /* SIGXCPU */ SA_KILL, /* SIGXFSZ */ - SA_KILL|SA_PROC, /* SIGVTALRM */ - SA_KILL|SA_PROC, /* SIGPROF */ - SA_IGNORE|SA_PROC, /* SIGWINCH */ - SA_IGNORE|SA_PROC, /* SIGINFO */ - SA_KILL|SA_PROC, /* SIGUSR1 */ - SA_KILL|SA_PROC, /* SIGUSR2 */ + SA_KILL, /* SIGVTALRM */ + SA_KILL, /* SIGPROF */ + SA_IGNORE, /* SIGWINCH */ + SA_IGNORE, /* SIGINFO */ + SA_KILL, /* SIGUSR1 */ + SA_KILL, /* SIGUSR2 */ }; static void reschedule_signals(struct proc *p, sigset_t block, int flags); From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 22:01:44 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3B1A9106566C; Mon, 9 Apr 2012 22:01:44 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 258068FC16; Mon, 9 Apr 2012 22:01:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q39M1iYM080350; Mon, 9 Apr 2012 22:01:44 GMT (envelope-from jilles@svn.freebsd.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39M1h4L080348; Mon, 9 Apr 2012 22:01:43 GMT (envelope-from jilles@svn.freebsd.org) Message-Id: <201204092201.q39M1h4L080348@svn.freebsd.org> From: Jilles Tjoelker Date: Mon, 9 Apr 2012 22:01:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234073 - stable/9/lib/libthr/thread X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 22:01:44 -0000 Author: jilles Date: Mon Apr 9 22:01:43 2012 New Revision: 234073 URL: http://svn.freebsd.org/changeset/base/234073 Log: MFC r233516: libthr: In the atfork handlers for signals, do not skip the last signal. _SIG_MAXSIG works a bit unexpectedly: signals 1 till _SIG_MAXSIG are valid, both bounds inclusive. Modified: stable/9/lib/libthr/thread/thr_sig.c Directory Properties: stable/9/lib/libthr/ (props changed) Modified: stable/9/lib/libthr/thread/thr_sig.c ============================================================================== --- stable/9/lib/libthr/thread/thr_sig.c Mon Apr 9 21:58:58 2012 (r234072) +++ stable/9/lib/libthr/thread/thr_sig.c Mon Apr 9 22:01:43 2012 (r234073) @@ -458,7 +458,7 @@ _thr_signal_prefork(void) { int i; - for (i = 1; i < _SIG_MAXSIG; ++i) + for (i = 1; i <= _SIG_MAXSIG; ++i) _thr_rwl_rdlock(&_thr_sigact[i-1].lock); } @@ -467,7 +467,7 @@ _thr_signal_postfork(void) { int i; - for (i = 1; i < _SIG_MAXSIG; ++i) + for (i = 1; i <= _SIG_MAXSIG; ++i) _thr_rwl_unlock(&_thr_sigact[i-1].lock); } @@ -476,7 +476,7 @@ _thr_signal_postfork_child(void) { int i; - for (i = 1; i < _SIG_MAXSIG; ++i) + for (i = 1; i <= _SIG_MAXSIG; ++i) bzero(&_thr_sigact[i-1].lock, sizeof(struct urwlock)); } From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 22:32:57 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BD157106566B; Mon, 9 Apr 2012 22:32:57 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1.freebsd.org (Postfix) with ESMTP id 40C138FC12; Mon, 9 Apr 2012 22:32:56 +0000 (UTC) Received: by lbbgj3 with SMTP id gj3so192446lbb.13 for ; Mon, 09 Apr 2012 15:32:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=uHEukkGe16XM2DcKtT/CsN2qfSqOuIqcg93jR5eXfV0=; b=aVR4TXU+nADctZYWq8gSYIvgYFAi/7LjqgADaKOCR9Qn8bDpbcn58JeNgwAQjsxYvQ ymYaD2iXAQIPPu/XIE6gZV+X8DND4N87vYUPOIMiS8vRJNYF9x0txEKEmrXnQ2FAqPZJ ZrlMIXAQgOaTL60dQXXn1Ubx+0lMKg+yXaiur+dwZ+6kMWWPGAWErS9My8BB5gzTTzhY oNATMqxZua8jZJJkys5Plfxv8YakQBrBsawp0zY3gJLv2GWh7a098FxydwQhKyO80h0S NxYDMHvg0Fu4SSVkMdT8n1iYZyItKjPyHETPHRartcKNHD1xlIFl8bhX3BVKf1dCT5hg T6Lw== MIME-Version: 1.0 Received: by 10.152.147.202 with SMTP id tm10mr13471172lab.49.1334010775083; Mon, 09 Apr 2012 15:32:55 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.112.93.138 with HTTP; Mon, 9 Apr 2012 15:32:55 -0700 (PDT) In-Reply-To: <201204091435.31893.jhb@freebsd.org> References: <201204062119.q36LJTKR026564@svn.freebsd.org> <201204091314.20775.jhb@freebsd.org> <201204091435.31893.jhb@freebsd.org> Date: Mon, 9 Apr 2012 23:32:55 +0100 X-Google-Sender-Auth: YEsRMbsX__pAerU9VyNPCYt7Q0I Message-ID: From: Attilio Rao To: John Baldwin Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, Jaakko Heinonen , svn-src-all@freebsd.org, "Justin T. Gibbs" , src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 22:32:57 -0000 Il 09 aprile 2012 19:35, John Baldwin ha scritto: > On Monday, April 09, 2012 1:59:13 pm Attilio Rao wrote: >> Il 09 aprile 2012 18:14, John Baldwin ha scritto: >> > On Monday, April 09, 2012 12:58:07 pm Attilio Rao wrote: >> >> Il 09 aprile 2012 17:34, John Baldwin ha scritto: >> >> > On Monday, April 09, 2012 11:45:11 am Jaakko Heinonen wrote: >> >> >> >> >> >> Hi, >> >> >> >> >> >> On 2012-04-06, Justin T. Gibbs wrote: >> >> >> > =C2=A0 Fix interrupt load balancing regression, introduced in re= vision >> >> >> > =C2=A0 222813, that left all un-pinned interrupts assigned to CP= U 0. >> >> >> > >> >> >> > =C2=A0 sys/x86/x86/intr_machdep.c: >> >> >> > =C2=A0 =C2=A0 In intr_shuffle_irqs(), remove CPU_SETOF() call th= at initialized >> >> >> > =C2=A0 =C2=A0 the "intr_cpus" cpuset to only contain CPU0. >> >> >> > >> >> >> > =C2=A0 =C2=A0 This initialization is too late and nullifies the = results of calls >> >> >> > =C2=A0 =C2=A0 the intr_add_cpu() that occur much earlier in the = boot process. >> >> >> > =C2=A0 =C2=A0 Since "intr_cpus" is statically initialized to the= empty set, and >> >> >> > =C2=A0 =C2=A0 all processors, including the BSP, already add the= mselves to >> >> >> > =C2=A0 =C2=A0 "intr_cpus" no special initialization for the BSP = is necessary. >> >> >> >> >> >> My Pentium 4 system hangs on boot after this commit. These are the= last >> >> >> lines from a verbose boot: >> >> >> >> >> >> SMP: AP CPU #1 Launched! >> >> >> cpu1 AP: >> >> >> =C2=A0 =C2=A0 =C2=A0ID: 0x01000000 =C2=A0 VER: 0x00050014 LDR: 0x0= 0000000 DFR: 0xffffffff >> >> >> =C2=A0 lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x= 000001ff >> >> >> =C2=A0 timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x= 00010400 >> >> >> >> >> >> The system boots with r233960. >> >> >> >> >> >> Some information: >> >> >> >> >> >> CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz (2605.96-MHz 686-class CPU) >> >> >> =C2=A0 Origin =3D "GenuineIntel" =C2=A0Id =3D 0xf29 =C2=A0Family = =3D f =C2=A0Model =3D 2 =C2=A0Stepping =3D >> >> >> 9 >> >> >> >> >> > > Features=3D0xbfebfbff >> >> >> =C2=A0 Features2=3D0x4400 >> >> >> real memory =C2=A0=3D 2147483648 (2048 MB) >> >> >> avail memory =3D 2085228544 (1988 MB) >> >> >> Event timer "LAPIC" quality 400 >> >> >> ACPI APIC Table: >> >> >> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs >> >> >> FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads >> >> >> =C2=A0cpu0 (BSP): APIC ID: =C2=A00 >> >> >> =C2=A0cpu1 (AP/HT): APIC ID: =C2=A01 >> >> > >> >> > I suspect in your case intr_add_cpu() is never called. =C2=A0I thin= k Attilio is not >> >> > correct in that it is not called for the BSP. >> >> > >> >> > Yes, it is not called for the BSP in set_interrupt_apic_ids(). =C2= =A0This used to >> >> > work because bit 0 was assigned statically. =C2=A0Also, in a UP mac= hine >> >> > set_interrupt_apic_ids() is not called at all. >> >> >> >> But why there is a front-end check for the BSP in set_interrupt_apic_= ids()? >> >> >> >> Anyway, I think a better fix would be like the attached patch. >> > >> > This would be fine. =C2=A0What I would really prefer is to not need th= e sysinit at >> > all and be able to do something like the original pre-cpuset code: >> > >> > static cpuset_t intr_cpus =3D CPU_INITIAILIZER(0); >> >> This is more difficult to do because it would require static array >> initializations and it would pollute too much the code with compile >> time, MAXCPU-dependant details. >> >> > Also, with the cpuset variant, I think we could remove the special cas= e check >> > for the BSP from set_apic_interrupt_ids() as it doesn't hurt to set it >> > multiple times. =C2=A0 IIRC, the pre-cpuset code kept a separate count= which is >> > why that would have been harmful. >> >> I'm not sure I follow, a separate count for what? > > The pre-cpuset code used a separate count IIRC. =C2=A0That is why duplica= te calls > to intr_add_cpu() used to be bad. =C2=A0However, they are no longer bad. > >> So do you consider the following patch as a real commit candidate? > > Yes, modulo a nit: > >> Index: sys/i386/i386/machdep.c >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> --- sys/i386/i386/machdep.c =C2=A0 =C2=A0 (revisione 234064) >> +++ sys/i386/i386/machdep.c =C2=A0 =C2=A0 (copia locale) >> @@ -336,6 +336,11 @@ cpu_startup(dummy) >> =C2=A0#ifndef XEN >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 cpu_setregs(); >> =C2=A0#endif >> + >> + =C2=A0 =C2=A0 =C2=A0 /* >> + =C2=A0 =C2=A0 =C2=A0 =C2=A0* Add BSP interrupt bitmask. >> + =C2=A0 =C2=A0 =C2=A0 =C2=A0*/ >> + =C2=A0 =C2=A0 =C2=A0 intr_add_cpu(0); >> =C2=A0} > > I would make this a single line comment and say: > "Add BSP as an interrupt target." Please note that all the other comments in cpu_startup() is 3 lines even when single so I'd stick with that. I will change the wording as you wish though. Attilio --=20 Peace can only be achieved by understanding - A. Einstein From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 22:41:20 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C678106564A; Mon, 9 Apr 2012 22:41:20 +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 2D8298FC12; Mon, 9 Apr 2012 22:41: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 q39MfKZC081615; Mon, 9 Apr 2012 22:41:20 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q39MfJZn081610; Mon, 9 Apr 2012 22:41:19 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201204092241.q39MfJZn081610@svn.freebsd.org> From: Attilio Rao Date: Mon, 9 Apr 2012 22:41:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 22:41:20 -0000 Author: attilio Date: Mon Apr 9 22:41:19 2012 New Revision: 234074 URL: http://svn.freebsd.org/changeset/base/234074 Log: BSP is not added to the mask of valid target CPUs for interrupts in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not called in the !SMP case too. Fix this by: - Adding the BSP as an interrupt target directly in cpu_startup(). - Remove an obsolete optimization where the BSP are skipped in set_apic_interrupt_ids(). Reported by: jh Reviewed by: jhb MFC after: 3 days X-MFC: r233961 Pointy hat to: me Modified: head/sys/amd64/amd64/machdep.c head/sys/amd64/amd64/mp_machdep.c head/sys/i386/i386/machdep.c head/sys/i386/i386/mp_machdep.c Modified: head/sys/amd64/amd64/machdep.c ============================================================================== --- head/sys/amd64/amd64/machdep.c Mon Apr 9 22:01:43 2012 (r234073) +++ head/sys/amd64/amd64/machdep.c Mon Apr 9 22:41:19 2012 (r234074) @@ -295,6 +295,11 @@ cpu_startup(dummy) vm_pager_bufferinit(); cpu_setregs(); + + /* + * Add BSP as an interrupt target. + */ + intr_add_cpu(0); } /* Modified: head/sys/amd64/amd64/mp_machdep.c ============================================================================== --- head/sys/amd64/amd64/mp_machdep.c Mon Apr 9 22:01:43 2012 (r234073) +++ head/sys/amd64/amd64/mp_machdep.c Mon Apr 9 22:41:19 2012 (r234074) @@ -785,8 +785,6 @@ init_secondary(void) * We tell the I/O APIC code about all the CPUs we want to receive * interrupts. If we don't want certain CPUs to receive IRQs we * can simply not tell the I/O APIC code about them in this function. - * We also do not tell it about the BSP since it tells itself about - * the BSP internally to work with UP kernels and on UP machines. */ static void set_interrupt_apic_ids(void) @@ -797,8 +795,6 @@ set_interrupt_apic_ids(void) apic_id = cpu_apic_ids[i]; if (apic_id == -1) continue; - if (cpu_info[apic_id].cpu_bsp) - continue; if (cpu_info[apic_id].cpu_disabled) continue; Modified: head/sys/i386/i386/machdep.c ============================================================================== --- head/sys/i386/i386/machdep.c Mon Apr 9 22:01:43 2012 (r234073) +++ head/sys/i386/i386/machdep.c Mon Apr 9 22:41:19 2012 (r234074) @@ -336,6 +336,11 @@ cpu_startup(dummy) #ifndef XEN cpu_setregs(); #endif + + /* + * Add BSP as an interrupt target. + */ + intr_add_cpu(0); } /* Modified: head/sys/i386/i386/mp_machdep.c ============================================================================== --- head/sys/i386/i386/mp_machdep.c Mon Apr 9 22:01:43 2012 (r234073) +++ head/sys/i386/i386/mp_machdep.c Mon Apr 9 22:41:19 2012 (r234074) @@ -819,8 +819,6 @@ init_secondary(void) * We tell the I/O APIC code about all the CPUs we want to receive * interrupts. If we don't want certain CPUs to receive IRQs we * can simply not tell the I/O APIC code about them in this function. - * We also do not tell it about the BSP since it tells itself about - * the BSP internally to work with UP kernels and on UP machines. */ static void set_interrupt_apic_ids(void) @@ -831,8 +829,6 @@ set_interrupt_apic_ids(void) apic_id = cpu_apic_ids[i]; if (apic_id == -1) continue; - if (cpu_info[apic_id].cpu_bsp) - continue; if (cpu_info[apic_id].cpu_disabled) continue; From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 23:02:01 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6CF4D106564A; Mon, 9 Apr 2012 23:02:01 +0000 (UTC) (envelope-from gavin.atkinson@ury.york.ac.uk) Received: from mail-gw14.york.ac.uk (mail-gw14.york.ac.uk [144.32.129.164]) by mx1.freebsd.org (Postfix) with ESMTP id 2548E8FC14; Mon, 9 Apr 2012 23:02:01 +0000 (UTC) Received: from ury.york.ac.uk ([144.32.108.81]:44773) by mail-gw14.york.ac.uk with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1SHNax-0003Mo-67; Tue, 10 Apr 2012 00:01:59 +0100 Received: from gavin (helo=localhost) by ury.york.ac.uk with local-esmtp (Exim 4.77) (envelope-from ) id 1SHNax-0008Tt-0B; Tue, 10 Apr 2012 00:01:59 +0100 Date: Tue, 10 Apr 2012 00:01:58 +0100 (BST) From: Gavin Atkinson X-X-Sender: gavin@ury.york.ac.uk To: Jung-uk Kim In-Reply-To: <201204021813.q32IDTmf009879@svn.freebsd.org> Message-ID: References: <201204021813.q32IDTmf009879@svn.freebsd.org> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org Subject: Re: svn commit: r233797 - in stable/9/sys: amd64/conf i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 23:02:01 -0000 On Mon, 2 Apr 2012, Jung-uk Kim wrote: > Author: jkim > Date: Mon Apr 2 18:13:29 2012 > New Revision: 233797 > URL: http://svn.freebsd.org/changeset/base/233797 > > Log: > MFC: r232416, r232561 > > Add VESA option to GENERIC for amd64 and i386. This commit breaks resume for me on an IBM ThinkPad X60 running i386 9.0. Removing VESA from the kernel again fixes resume. On resume, I get this panic: http://people.freebsd.org/~gavin/IMAG0881.jpg . I've tested it on head, and get the same panic with VESA in the kernel. From the debugger, "show registers" gives: cs 0xc000 ss 0x28 edx 0x80 esp 0xc1821fe8 eip 0xe44f efl 0xb0202 with all other registers are zero. Unfortunately, I don't know what other information I can get from this panic. The backtrace gives no useful information, and the IP is not within kernel space. BTW, this machine used to require hw.acpi.reset_video=1, but no longer appears to require this. However, whether this is set or not appears to make no difference to the panic above. Thanks, Gavin From owner-svn-src-all@FreeBSD.ORG Mon Apr 9 23:09:57 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F11481065670; Mon, 9 Apr 2012 23:09:57 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 866BB8FC17; Mon, 9 Apr 2012 23:09:57 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id q39N9oVT029068; Tue, 10 Apr 2012 01:09:50 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id q39N9odk029067; Tue, 10 Apr 2012 01:09:50 +0200 (CEST) (envelope-from marius) Date: Tue, 10 Apr 2012 01:09:49 +0200 From: Marius Strobl To: Attilio Rao Message-ID: <20120409230949.GB68111@alchemy.franken.de> References: <201204092241.q39MfJZn081610@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201204092241.q39MfJZn081610@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Apr 2012 23:09:58 -0000 On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote: > Author: attilio > Date: Mon Apr 9 22:41:19 2012 > New Revision: 234074 > URL: http://svn.freebsd.org/changeset/base/234074 > > Log: > BSP is not added to the mask of valid target CPUs for interrupts > in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not > called in the !SMP case too. > Fix this by: > - Adding the BSP as an interrupt target directly in cpu_startup(). > - Remove an obsolete optimization where the BSP are skipped in > set_apic_interrupt_ids(). > > Reported by: jh > Reviewed by: jhb > MFC after: 3 days > X-MFC: r233961 > Pointy hat to: me > > Modified: > head/sys/amd64/amd64/machdep.c > head/sys/amd64/amd64/mp_machdep.c > head/sys/i386/i386/machdep.c > head/sys/i386/i386/mp_machdep.c > > Modified: head/sys/amd64/amd64/machdep.c > ============================================================================== > --- head/sys/amd64/amd64/machdep.c Mon Apr 9 22:01:43 2012 (r234073) > +++ head/sys/amd64/amd64/machdep.c Mon Apr 9 22:41:19 2012 (r234074) > @@ -295,6 +295,11 @@ cpu_startup(dummy) > vm_pager_bufferinit(); > > cpu_setregs(); > + > + /* > + * Add BSP as an interrupt target. > + */ > + intr_add_cpu(0); > } If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be here as well. Marius From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 00:04:05 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 191781065672; Tue, 10 Apr 2012 00:04:05 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1.freebsd.org (Postfix) with ESMTP id DEBAB8FC12; Tue, 10 Apr 2012 00:04:03 +0000 (UTC) Received: by lbbgj3 with SMTP id gj3so237922lbb.13 for ; Mon, 09 Apr 2012 17:03:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=P4moq2eu7AhRFwrUjAuy4IC2cq2Pct9Dibr9kGM95MY=; b=IqJaOWS2uCGhrETfIbdNfyhO6KHykB7PnRgOg3cyr6QqLu3fp84Qr7kiTduzt7M+Oq FahbiXXHLaTsCukk/BpnTYqKAwgklSAiPKCIByidsfRcLh0znTkAJgaGc0mzzyBlnf1v vMjhEom+//a1WXdCuyraorb11XV0WkQBky4drmfVDJa5PKVTHEpZeS59OkG9h6Rz34CA 4+wgnPwq8arCLe/ggGdBFSgibgZeNYNWMfQuHfxxwXql5WSe8hrZYt2SIy2VsIudbdBs aE0lvi6BIk9QfQVVAwseyuY9+DgRTvyH0qO5ZkK2e72BtrDc8SlBS3VKn3BEqTYgaZo7 2INw== MIME-Version: 1.0 Received: by 10.112.24.103 with SMTP id t7mr456544lbf.22.1334016236656; Mon, 09 Apr 2012 17:03:56 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.112.93.138 with HTTP; Mon, 9 Apr 2012 17:03:56 -0700 (PDT) In-Reply-To: <20120409230949.GB68111@alchemy.franken.de> References: <201204092241.q39MfJZn081610@svn.freebsd.org> <20120409230949.GB68111@alchemy.franken.de> Date: Tue, 10 Apr 2012 01:03:56 +0100 X-Google-Sender-Auth: 8YfJ1fH7Q9XRbERoe0V_IE-cSpY Message-ID: From: Attilio Rao To: Marius Strobl , John Baldwin Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 00:04:05 -0000 Il 10 aprile 2012 00:09, Marius Strobl ha scrit= to: > On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote: >> Author: attilio >> Date: Mon Apr =C2=A09 22:41:19 2012 >> New Revision: 234074 >> URL: http://svn.freebsd.org/changeset/base/234074 >> >> Log: >> =C2=A0 BSP is not added to the mask of valid target CPUs for interrupts >> =C2=A0 in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() i= s not >> =C2=A0 called in the !SMP case too. >> =C2=A0 Fix this by: >> =C2=A0 - Adding the BSP as an interrupt target directly in cpu_startup()= . >> =C2=A0 - Remove an obsolete optimization where the BSP are skipped in >> =C2=A0 =C2=A0 set_apic_interrupt_ids(). >> >> =C2=A0 Reported by: =C2=A0 =C2=A0 =C2=A0 =C2=A0jh >> =C2=A0 Reviewed by: =C2=A0 =C2=A0 =C2=A0 =C2=A0jhb >> =C2=A0 MFC after: =C2=A03 days >> =C2=A0 X-MFC: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0r233961 >> =C2=A0 Pointy hat to: =C2=A0 =C2=A0 =C2=A0me >> >> Modified: >> =C2=A0 head/sys/amd64/amd64/machdep.c >> =C2=A0 head/sys/amd64/amd64/mp_machdep.c >> =C2=A0 head/sys/i386/i386/machdep.c >> =C2=A0 head/sys/i386/i386/mp_machdep.c >> >> Modified: head/sys/amd64/amd64/machdep.c >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/sys/amd64/amd64/machdep.c =C2=A0 =C2=A0Mon Apr =C2=A09 22:01:43= 2012 =C2=A0 =C2=A0 =C2=A0 =C2=A0(r234073) >> +++ head/sys/amd64/amd64/machdep.c =C2=A0 =C2=A0Mon Apr =C2=A09 22:41:19= 2012 =C2=A0 =C2=A0 =C2=A0 =C2=A0(r234074) >> @@ -295,6 +295,11 @@ cpu_startup(dummy) >> =C2=A0 =C2=A0 =C2=A0 vm_pager_bufferinit(); >> >> =C2=A0 =C2=A0 =C2=A0 cpu_setregs(); >> + >> + =C2=A0 =C2=A0 /* >> + =C2=A0 =C2=A0 =C2=A0* Add BSP as an interrupt target. >> + =C2=A0 =C2=A0 =C2=A0*/ >> + =C2=A0 =C2=A0 intr_add_cpu(0); >> =C2=A0} > > If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be > here as well. You are right, sorry, I did forgot to test without SMP. I think we still need intr_add_cpu() on cpu_startup() because of the case smp_disabled =3D 1. I think the attached patch should make its dirty job, opinion? Thanks, Attilio Index: sys/i386/include/intr_machdep.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/i386/include/intr_machdep.h (revisione 234073) +++ sys/i386/include/intr_machdep.h (copia locale) @@ -131,9 +131,7 @@ int elcr_probe(void); enum intr_trigger elcr_read_trigger(u_int irq); void elcr_resume(void); void elcr_write_trigger(u_int irq, enum intr_trigger trigger); -#ifdef SMP void intr_add_cpu(u_int cpu); -#endif int intr_add_handler(const char *name, int vector, driver_filter_t filt= er, driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep= ); #ifdef SMP Index: sys/amd64/include/intr_machdep.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/amd64/include/intr_machdep.h (revisione 234073) +++ sys/amd64/include/intr_machdep.h (copia locale) @@ -140,9 +140,7 @@ int elcr_probe(void); enum intr_trigger elcr_read_trigger(u_int irq); void elcr_resume(void); void elcr_write_trigger(u_int irq, enum intr_trigger trigger); -#ifdef SMP void intr_add_cpu(u_int cpu); -#endif int intr_add_handler(const char *name, int vector, driver_filter_t filt= er, driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep); Index: sys/x86/x86/intr_machdep.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/x86/x86/intr_machdep.c (revisione 234073) +++ sys/x86/x86/intr_machdep.c (copia locale) @@ -446,16 +446,34 @@ DB_SHOW_COMMAND(irqs, db_show_irqs) } #endif -#ifdef SMP /* * Support for balancing interrupt sources across CPUs. For now we just * allocate CPUs round-robin. */ static cpuset_t intr_cpus; +#ifdef SMP static int current_cpu; +#endif /* + * Add a CPU to our mask of valid CPUs that can be destinations of + * interrupts. + */ +void +intr_add_cpu(u_int cpu) +{ + + if (cpu >=3D MAXCPU) + panic("%s: Invalid CPU ID", __func__); + if (bootverbose) + printf("INTR: Adding CPU %u as a target\n", cpu); + + CPU_SET(cpu, &intr_cpus); +} + +#ifdef SMP +/* * Return the CPU that the next interrupt source should use. For now * this just returns the next local APIC according to round-robin. */ @@ -492,23 +510,6 @@ intr_bind(u_int vector, u_char cpu) } /* - * Add a CPU to our mask of valid CPUs that can be destinations of - * interrupts. - */ -void -intr_add_cpu(u_int cpu) -{ - - if (cpu >=3D MAXCPU) - panic("%s: Invalid CPU ID", __func__); - if (bootverbose) - printf("INTR: Adding local APIC %d as a target\n", - cpu_apic_ids[cpu]); - - CPU_SET(cpu, &intr_cpus); -} - -/* * Distribute all the interrupt sources among the available CPUs once the * AP's have been launched. */ From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 01:20:33 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 598511065672; Tue, 10 Apr 2012 01:20:33 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3AF9B8FC21; Tue, 10 Apr 2012 01:20: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 q3A1KXBN089680; Tue, 10 Apr 2012 01:20:33 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A1KXBu089675; Tue, 10 Apr 2012 01:20:33 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204100120.q3A1KXBu089675@svn.freebsd.org> From: Eitan Adler Date: Tue, 10 Apr 2012 01:20:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234075 - in stable/9/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 01:20:33 -0000 Author: eadler Date: Tue Apr 10 01:20:32 2012 New Revision: 234075 URL: http://svn.freebsd.org/changeset/base/234075 Log: MFC 231814 233135: Add a timestamp to the msgbuf output in order to determine when when messages were printed. This can be enabled with the kern.msgbuf_show_timestamp sysctl PR: kern/161553 Approved by: cperciva (implicit) Modified: stable/9/sys/kern/subr_msgbuf.c stable/9/sys/sys/msgbuf.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/kern/subr_msgbuf.c ============================================================================== --- stable/9/sys/kern/subr_msgbuf.c Mon Apr 9 22:41:19 2012 (r234074) +++ stable/9/sys/kern/subr_msgbuf.c Tue Apr 10 01:20:32 2012 (r234075) @@ -32,8 +32,10 @@ #include #include #include +#include #include #include +#include /* * Maximum number conversion buffer length: uintmax_t in base 2, plus <> @@ -47,6 +49,15 @@ static u_int msgbuf_cksum(struct msgbuf *mbp); /* + * Timestamps in msgbuf are useful when trying to diagnose when core dumps + * or other actions occured. + */ +static int msgbuf_show_timestamp = 0; +SYSCTL_INT(_kern, OID_AUTO, msgbuf_show_timestamp, CTLFLAG_RW | CTLFLAG_TUN, + &msgbuf_show_timestamp, 0, "Show timestamp in msgbuf"); +TUNABLE_INT("kern.msgbuf_show_timestamp", &msgbuf_show_timestamp); + +/* * Initialize a message buffer of the specified size at the specified * location. This also zeros the buffer area. */ @@ -60,7 +71,7 @@ msgbuf_init(struct msgbuf *mbp, void *pt msgbuf_clear(mbp); mbp->msg_magic = MSG_MAGIC; mbp->msg_lastpri = -1; - mbp->msg_needsnl = 0; + mbp->msg_flags = 0; bzero(&mbp->msg_lock, sizeof(mbp->msg_lock)); mtx_init(&mbp->msg_lock, "msgbuf", NULL, MTX_SPIN); } @@ -95,7 +106,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; + mbp->msg_flags |= MSGBUF_NEEDNL; bzero(&mbp->msg_lock, sizeof(mbp->msg_lock)); mtx_init(&mbp->msg_lock, "msgbuf", NULL, MTX_SPIN); } @@ -133,19 +144,17 @@ msgbuf_getcount(struct msgbuf *mbp) * * The caller should hold the message buffer spinlock. */ -static inline void -msgbuf_do_addchar(struct msgbuf *mbp, u_int *seq, int c) + +static void +msgbuf_do_addchar(struct msgbuf * const mbp, u_int * const seq, const int c) { u_int pos; /* Make sure we properly wrap the sequence number. */ pos = MSGBUF_SEQ_TO_POS(mbp, *seq); - - mbp->msg_cksum += (u_int)c - + mbp->msg_cksum += (u_int)(u_char)c - (u_int)(u_char)mbp->msg_ptr[pos]; - mbp->msg_ptr[pos] = c; - *seq = MSGBUF_SEQNORM(mbp, *seq + 1); } @@ -176,7 +185,8 @@ msgbuf_addstr(struct msgbuf *mbp, int pr u_int seq; size_t len, prefix_len; char prefix[MAXPRIBUF]; - int nl, i; + char buf[32]; + int nl, i, j, needtime; len = strlen(str); prefix_len = 0; @@ -207,25 +217,36 @@ msgbuf_addstr(struct msgbuf *mbp, int pr * did not end with a newline. If that is the case, we need to * insert a newline before this string. */ - if (mbp->msg_lastpri != pri && mbp->msg_needsnl != 0) { + if (mbp->msg_lastpri != pri && (mbp->msg_flags & MSGBUF_NEEDNL) != 0) { msgbuf_do_addchar(mbp, &seq, '\n'); - mbp->msg_needsnl = 0; + mbp->msg_flags &= ~MSGBUF_NEEDNL; } + needtime = 1; for (i = 0; i < len; i++) { /* * If we just had a newline, and the priority is not -1 * (and therefore prefix_len != 0), then we need a priority * prefix for this line. */ - if (mbp->msg_needsnl == 0 && prefix_len != 0) { + if ((mbp->msg_flags & MSGBUF_NEEDNL) == 0 && prefix_len != 0) { int j; for (j = 0; j < prefix_len; j++) msgbuf_do_addchar(mbp, &seq, prefix[j]); } + if (msgbuf_show_timestamp && needtime == 1 && + (mbp->msg_flags & MSGBUF_NEEDNL) == 0) { + + snprintf(buf, sizeof(buf), "[%jd] ", + (intmax_t)time_uptime); + for (j = 0; buf[j] != '\0'; j++) + msgbuf_do_addchar(mbp, &seq, buf[j]); + needtime = 0; + } + /* * Don't copy carriage returns if the caller requested * filtering. @@ -242,9 +263,9 @@ msgbuf_addstr(struct msgbuf *mbp, int pr * we need to insert a new prefix or insert a newline later. */ if (str[i] == '\n') - mbp->msg_needsnl = 0; + mbp->msg_flags &= ~MSGBUF_NEEDNL; else - mbp->msg_needsnl = 1; + mbp->msg_flags |= MSGBUF_NEEDNL; msgbuf_do_addchar(mbp, &seq, str[i]); } Modified: stable/9/sys/sys/msgbuf.h ============================================================================== --- stable/9/sys/sys/msgbuf.h Mon Apr 9 22:41:19 2012 (r234074) +++ stable/9/sys/sys/msgbuf.h Tue Apr 10 01:20:32 2012 (r234075) @@ -46,7 +46,8 @@ struct msgbuf { u_int msg_cksum; /* checksum of contents */ u_int msg_seqmod; /* range for sequence numbers */ int msg_lastpri; /* saved priority value */ - int msg_needsnl; /* set when newline needed */ + u_int msg_flags; +#define MSGBUF_NEEDNL 0x01 /* set when newline needed */ struct mtx msg_lock; /* mutex to protect the buffer */ }; From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 01:45:28 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6CD92106566C; Tue, 10 Apr 2012 01:45:28 +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 F191F8FC18; Tue, 10 Apr 2012 01:45:27 +0000 (UTC) Received: from c211-30-171-136.carlnfd1.nsw.optusnet.com.au (c211-30-171-136.carlnfd1.nsw.optusnet.com.au [211.30.171.136]) by mail07.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id q3A1jIAP024420 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 10 Apr 2012 11:45:19 +1000 Date: Tue, 10 Apr 2012 11:45:18 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: David Schultz In-Reply-To: <20120409165335.GA13177@zim.MIT.EDU> Message-ID: <20120410111448.I1081@besplex.bde.org> References: <201203041400.q24E0WcS037398@svn.freebsd.org> <20120409165335.GA13177@zim.MIT.EDU> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, Tijl Coosemans , src-committers@FreeBSD.org, svn-src-all@FreeBSD.org Subject: Re: svn commit: r232491 - in head/sys: amd64/include i386/include pc98/include x86/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 01:45:28 -0000 On Mon, 9 Apr 2012, David Schultz wrote: > On Sun, Mar 04, 2012, Tijl Coosemans wrote: >> Log: >> Copy amd64 float.h to x86 and merge with i386 float.h. Replace >> amd64/i386/pc98 float.h with stubs. > [...] >> --- head/sys/amd64/include/float.h Sun Mar 4 12:52:48 2012 (r232490, copy source) >> +++ head/sys/x86/include/float.h Sun Mar 4 14:00:32 2012 (r232491) >> @@ -42,7 +42,11 @@ __END_DECLS >> #define FLT_RADIX 2 /* b */ >> #define FLT_ROUNDS __flt_rounds() >> #if __ISO_C_VISIBLE >= 1999 >> +#ifdef _LP64 >> #define FLT_EVAL_METHOD 0 /* no promotions */ >> +#else >> +#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ >> +#endif >> #define DECIMAL_DIG 21 /* max precision in decimal digits */ >> #endif > > The implication of this code is that FLT_EVAL_METHOD depends on > the size of a long, which it does not. Instead, it depends on > whether SSE2 support is guaranteed to be present. If anything, > the test should be something like #ifndef __i386__. Actually, it depends on whether both SSE1 and SSE2 support are guaranteed to be used. The i386 ifdef is wrong too (as is the old fixed value for i386), since clang with SSE support breaks the abstract i386 machine by actually using SSE; with gcc, this breakage is under control of the option -mfpmath=unit which defaults to unit=i387. Also, float_t and double_t must match FLT_EVAL_METHOD. I use the following hack to work around the clang breakage in libm: % Index: math.h % =================================================================== % RCS file: /home/ncvs/src/lib/msun/src/math.h,v % retrieving revision 1.82 % diff -u -2 -r1.82 math.h % --- math.h 12 Nov 2011 19:55:48 -0000 1.82 % +++ math.h 4 Jan 2012 05:09:51 -0000 % @@ -125,4 +130,10 @@ % : __signbitl(x)) % % +#ifdef __SSE_MATH__ % +#define __float_t float % +#endif % +#ifdef __SSE2_MATH__ % +#define __double_t double % +#endif % typedef __double_t double_t; % typedef __float_t float_t; I forgot to hack on FLT_EVAL_METHOD similarly. The fixed value of (-1) for i386 is sort of fail-safe, since it says that the evaluation method is indeterminate, so the code must assume the worst. The normal i386 types for float_t and double_t are also sort of fail-safe, since they are larger than necessary. They just cause pessimal code. So would FLT_EVAL_METHOD = -1, and I only hacked on the types since my tests only cover the pessimizations for the types. Note that the compiler builtin __FLT_EVAL_METHOD is unusable, since its value is almost always wrong. With gcc, it is wrong by default (2) but is changed correctly to 0 by -mfpmath=sse. With clang, it is wrong by default (0), but becomes correct with SSE1 and SSE2. With only SSE1, there are even more possibilities for the float evaluation method, but doubles must be evaluated using the i387 so FLT_EVAL_METHOD must remain as -1. Examples: - clang -march=athlon-xp. Athlon-XP only has SSE1, and clang evaluates float expressions using SSE1 but double expressions using i387. This matches float_t = float and double_t = long double given by the above. FLT_EVAL_METHOD = -1 remains correct. - similarly for gcc -march=athlon-xp -mfpmath=sse. - clang -march=athlon64. Athlon64 has both SSE1 and SSE2, and clang evaluates both float and double expressions using SSE*. This matches float_t = float and double_t = double given by the above. FLT_EVAL_METHOD = -1 is now wrong. - similarly for gcc -march=athlon64 -mfpmath=sse. SSE* use can also be controlled by -msse[12] (instead of march), but -mfpmath doesn't distinguish between SSE1 and SSE2, so there seems to be no way to use SSE2 generally and SSE1 for FP without also using SSE2 for FP. Bruce From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 01:49:32 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0101F1065670; Tue, 10 Apr 2012 01:49:32 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C81BB8FC16; Tue, 10 Apr 2012 01:49: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 q3A1nV0N094376; Tue, 10 Apr 2012 01:49:31 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A1nVBc094374; Tue, 10 Apr 2012 01:49:31 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204100149.q3A1nVBc094374@svn.freebsd.org> From: Eitan Adler Date: Tue, 10 Apr 2012 01:49:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234077 - head/share/examples/csh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 01:49:32 -0000 Author: eadler Date: Tue Apr 10 01:49:31 2012 New Revision: 234077 URL: http://svn.freebsd.org/changeset/base/234077 Log: Update examples with corrections from the author PR: ports/160689 Submitted by: mickael.maillot@gmail.com Approved by: cperciva (implicit) MFC after: 1 days (with r233429) Modified: head/share/examples/csh/dot.cshrc Modified: head/share/examples/csh/dot.cshrc ============================================================================== --- head/share/examples/csh/dot.cshrc Tue Apr 10 01:26:58 2012 (r234076) +++ head/share/examples/csh/dot.cshrc Tue Apr 10 01:49:31 2012 (r234077) @@ -29,11 +29,11 @@ complete service 'c/-/(e l r v)/' 'p/1 complete kldunload 'n@*@`kldstat | awk \{sub\(\/\.ko\/,\"\",\$NF\)\;print\ \$NF\} | grep -v Name` @' complete make 'n@*@`make -pn | sed -n -E "/^[#_.\/[:blank:]]+/d; /=/d; s/[[:blank:]]*:.*//gp;"`@' complete pkg_delete 'c/-/(i v D n p d f G x X r)/' 'n@*@`ls /var/db/pkg`@' -complete pkg_info 'c/-/(a b v p q Q c d D f g i I j k K r R m L s o G O x X e E l t V P)/' 'n@*@`\ls -1 /var/db/pkg | sed svar/db/pkg/%%`@" +complete pkg_info 'c/-/(a b v p q Q c d D f g i I j k K r R m L s o G O x X e E l t V P)/' 'n@*@`\ls -1 /var/db/pkg | sed svar/db/pkg/%%`@' complete kill 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $1}'"'"'`/' complete killall 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $5}'"'"'`/' complete dd 'c/[io]f=/f/ n/*/"(if of ibs obs bs skip seek count)"/=' -alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-name -r | cut -d . -f 1A +alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-name -r | cut -d . -f 1' alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-`uname -r | cut -d . -f 1`&& pkg_info -E \*' complete portmaster 'c/--/(always-fetch check-depends check-port-dbdir clean-distfiles \ clean-packages delete-build-only delete-packages force-config help \ From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 01:53:07 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 76D83106566B; Tue, 10 Apr 2012 01:53:07 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 631228FC16; Tue, 10 Apr 2012 01:53:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3A1r73m094721; Tue, 10 Apr 2012 01:53:07 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A1r71Z094719; Tue, 10 Apr 2012 01:53:07 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201204100153.q3A1r71Z094719@svn.freebsd.org> From: Ed Maste Date: Tue, 10 Apr 2012 01:53:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234078 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 01:53:07 -0000 Author: emaste Date: Tue Apr 10 01:53:06 2012 New Revision: 234078 URL: http://svn.freebsd.org/changeset/base/234078 Log: Please welcome Devin Teske (dteske) as a new src committer. Devin will be working on and maintaining user experience improvements such as the boot menu, tzsetup, and instal tools. Approved by: core Modified: svnadmin/conf/access Modified: svnadmin/conf/access ============================================================================== --- svnadmin/conf/access Tue Apr 10 01:49:31 2012 (r234077) +++ svnadmin/conf/access Tue Apr 10 01:53:06 2012 (r234078) @@ -71,6 +71,7 @@ dg dim dmarion dougb +dteske dumbbell dwhite dwmalone dwmalone=freebsd-committers@maths.tcd.ie From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 05:42:49 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A6D941065740; Tue, 10 Apr 2012 05:42:49 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 91C268FC1E; Tue, 10 Apr 2012 05:42:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3A5gnKd005955; Tue, 10 Apr 2012 05:42:49 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A5gn56005953; Tue, 10 Apr 2012 05:42:49 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204100542.q3A5gn56005953@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 10 Apr 2012 05:42:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234084 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 05:42:49 -0000 Author: glebius Date: Tue Apr 10 05:42:48 2012 New Revision: 234084 URL: http://svn.freebsd.org/changeset/base/234084 Log: CARP should be capable to run on if_bridge(4). Unfortunately, this commit is not enough to enable CARP operation on if_bridge(4), because the latter doesn't handle or even initialize its ifp->if_link_state. Reported by: Alexander Lunev Modified: head/sys/netinet/ip_carp.c Modified: head/sys/netinet/ip_carp.c ============================================================================== --- head/sys/netinet/ip_carp.c Tue Apr 10 02:29:11 2012 (r234083) +++ head/sys/netinet/ip_carp.c Tue Apr 10 05:42:48 2012 (r234084) @@ -1384,6 +1384,7 @@ carp_output(struct ifnet *ifp, struct mb /* Set the source MAC address to the Virtual Router MAC Address. */ switch (ifp->if_type) { case IFT_ETHER: + case IFT_BRIDGE: case IFT_L2VLAN: { struct ether_header *eh; @@ -1604,6 +1605,7 @@ carp_ioctl(struct ifreq *ifr, u_long cmd switch (ifp->if_type) { case IFT_ETHER: case IFT_L2VLAN: + case IFT_BRIDGE: case IFT_FDDI: case IFT_ISO88025: break; From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 06:09:03 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EEC1D106566C; Tue, 10 Apr 2012 06:09:03 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.64.117]) by mx1.freebsd.org (Postfix) with ESMTP id 705E48FC0C; Tue, 10 Apr 2012 06:09:03 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.5/8.14.5) with ESMTP id q3A6920v034657; Tue, 10 Apr 2012 10:09:02 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.5/8.14.5/Submit) id q3A692MB034656; Tue, 10 Apr 2012 10:09:02 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Tue, 10 Apr 2012 10:09:02 +0400 From: Gleb Smirnoff To: Qing Li Message-ID: <20120410060902.GI9391@glebius.int.ru> References: <201204021044.q32AiPng094511@svn.freebsd.org> <20120409065048.GA9391@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r233773 - head/usr.sbin/arp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 06:09:04 -0000 Qing, On Mon, Apr 09, 2012 at 02:26:06PM -0700, Qing Li wrote: Q> You missed my points. Q> Q> That "if" check as part of r201282 was meant to resolve a couple of Q> issues related Q> to PPP links, as noted in my commit message. In this PPP/proxy Q> resolution context Q> the error message applies, which is why I actually used the word "context" in my Q> previous reply. Q> Q> Your removing of that code will break the fixes committed in r201282. Can you please provide example of PPP link configuration, that was broken by r233773. Q> I can't quite decipher the example you described in this email. Okay, here it is more verbose: My list of interfaces: # ifconfig -l em0 wlan0 iwn0 lo0 My only configured interface: # ifconfig em0 em0: flags=8843 metric 0 mtu 1500 š š š šoptions=4219b š š š šether f0:de:f1:6c:5b:fa š š š šinet x.x.x.111 netmask 0xffffffe0 broadcast x.x.x.127 š š š šnd6 options=29 š š š šmedia: Ethernet autoselect (100baseTX ) š š š šstatus: active My arp table: # arp -an ? (x.x.x.97) at 00:00:5e:00:01:61 on em0 expires in 1198 seconds [ethernet] ? (x.x.x.101) at 00:e0:81:5a:22:49 on em0 expires in 618 seconds [ethernet] ? (x.x.x.111) at f0:de:f1:6c:5b:fa on em0 permanent [ethernet] ? (x.x.x.116) at 00:26:18:6a:ea:02 on em0 expires in 1128 seconds [ethernet] Now I'm trying to set ARP entry for network address. And I get error: # arp -s 81.19.64.96 0:0:0:0:0:0 set: proxy entry exists for non 802 device Questions: where is the "proxy entry" mentioned in the above ARP table? I don't see one. Where is the "non 802 device" in the above list of my interfaces? Q> Could you please give me a bit more information in a private email so I can have Q> a better look at the issue, and possibly make a suggestion for an alternative Q> patch ? I have mailed you 8 March 2012 with msg-id <20120308173642.GW13644@glebius.int.ru>, and didn't got any reply since. That's why I proceeded with commit. P.S. And please, can you avoid top quoting when discussing on technical FreeBSD lists? This isn't my personal wish but explicitly documented etiquette: http://www.freebsd.org/doc/en_US.ISO8859-1/articles/mailing-list-faq/etiquette.html#ETIQUETTE-REPLYING -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 06:25:12 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 67ABA106564A; Tue, 10 Apr 2012 06:25:12 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5290F8FC17; Tue, 10 Apr 2012 06:25:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3A6PC4T007310; Tue, 10 Apr 2012 06:25:12 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A6PChq007308; Tue, 10 Apr 2012 06:25:12 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204100625.q3A6PChq007308@svn.freebsd.org> From: Adrian Chadd Date: Tue, 10 Apr 2012 06:25:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234085 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 06:25:12 -0000 Author: adrian Date: Tue Apr 10 06:25:11 2012 New Revision: 234085 URL: http://svn.freebsd.org/changeset/base/234085 Log: * Since the API changed along the -CURRENT path (december 2011), add a FreeBSD_version check. It should work fine for compiling on -HEAD, 9.x and 8.x. * Conditionally compile the 11n options only when 11n is enabled. The above changes allow the ath(4) driver to compile and run on 8.1-RELEASE (Hi old PC-BSD!) but with the 11n stuff disabled. I've done a test against the net80211 and tools in 8.1-RELEASE. The NIC used in testing is the AR2427 in an EEEPC. Just to be clear - this change is to allow the -HEAD ath/hal/rate code to run on 9.x _and_ 8.x with no source changes. However, when running on earlier kernels, it should only be used for legacy mode. (Don't define ATH_ENABLE_11N.) Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Tue Apr 10 05:42:48 2012 (r234084) +++ head/sys/dev/ath/if_ath.c Tue Apr 10 06:25:11 2012 (r234085) @@ -131,10 +131,17 @@ __FBSDID("$FreeBSD$"); */ CTASSERT(ATH_BCBUF <= 8); +#if __FreeBSD_version > 1000003 static struct ieee80211vap *ath_vap_create(struct ieee80211com *, const char [IFNAMSIZ], int, enum ieee80211_opmode, int, const uint8_t [IEEE80211_ADDR_LEN], const uint8_t [IEEE80211_ADDR_LEN]); +#else +static struct ieee80211vap *ath_vap_create(struct ieee80211com *, + const char [IFNAMSIZ], int, int, int, + const uint8_t [IEEE80211_ADDR_LEN], + const uint8_t [IEEE80211_ADDR_LEN]); +#endif static void ath_vap_delete(struct ieee80211vap *); static void ath_init(void *); static void ath_stop_locked(struct ifnet *); @@ -200,7 +207,9 @@ static void ath_chan_change(struct ath_s static void ath_scan_start(struct ieee80211com *); static void ath_scan_end(struct ieee80211com *); static void ath_set_channel(struct ieee80211com *); +#ifdef ATH_ENABLE_11N static void ath_update_chw(struct ieee80211com *); +#endif /* ATH_ENABLE_11N */ static void ath_calibrate(void *); static int ath_newstate(struct ieee80211vap *, enum ieee80211_state, int); static void ath_setup_stationkey(struct ieee80211_node *); @@ -804,8 +813,7 @@ ath_attach(u_int16_t devid, struct ath_s ic->ic_scan_start = ath_scan_start; ic->ic_scan_end = ath_scan_end; ic->ic_set_channel = ath_set_channel; - ic->ic_update_chw = ath_update_chw; - +#ifdef ATH_ENABLE_11N /* 802.11n specific - but just override anyway */ sc->sc_addba_request = ic->ic_addba_request; sc->sc_addba_response = ic->ic_addba_response; @@ -819,6 +827,9 @@ ath_attach(u_int16_t devid, struct ath_s ic->ic_addba_stop = ath_addba_stop; ic->ic_bar_response = ath_bar_response; + ic->ic_update_chw = ath_update_chw; +#endif /* ATH_ENABLE_11N */ + ieee80211_radiotap_attach(ic, &sc->sc_tx_th.wt_ihdr, sizeof(sc->sc_tx_th), ATH_TX_RADIOTAP_PRESENT, @@ -955,11 +966,18 @@ assign_bslot(struct ath_softc *sc) return free; } +#if __FreeBSD_version > 1000003 static struct ieee80211vap * ath_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit, enum ieee80211_opmode opmode, int flags, const uint8_t bssid[IEEE80211_ADDR_LEN], const uint8_t mac0[IEEE80211_ADDR_LEN]) +#else +static struct ieee80211vap * +ath_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit, + int opmode, int flags, const uint8_t bssid[IEEE80211_ADDR_LEN], + const uint8_t mac0[IEEE80211_ADDR_LEN]) +#endif { struct ath_softc *sc = ic->ic_ifp->if_softc; struct ath_vap *avp; @@ -5766,6 +5784,7 @@ ath_scan_end(struct ieee80211com *ic) sc->sc_curaid); } +#ifdef ATH_ENABLE_11N /* * For now, just do a channel change. * @@ -5790,6 +5809,7 @@ ath_update_chw(struct ieee80211com *ic) DPRINTF(sc, ATH_DEBUG_STATE, "%s: called\n", __func__); ath_set_channel(ic); } +#endif /* ATH_ENABLE_11N */ static void ath_set_channel(struct ieee80211com *ic) From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 06:52:21 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ADC9C106566B; Tue, 10 Apr 2012 06:52:21 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 977448FC08; Tue, 10 Apr 2012 06:52: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 q3A6qLeY008182; Tue, 10 Apr 2012 06:52:21 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A6qLkx008180; Tue, 10 Apr 2012 06:52:21 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204100652.q3A6qLkx008180@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 10 Apr 2012 06:52:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234086 - head/sys/dev/sfxge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 06:52:21 -0000 Author: glebius Date: Tue Apr 10 06:52:21 2012 New Revision: 234086 URL: http://svn.freebsd.org/changeset/base/234086 Log: M_DONTWAIT is a flag from historical mbuf(9) allocator, not malloc(9) or uma(9) flag. Modified: head/sys/dev/sfxge/sfxge_rx.c Modified: head/sys/dev/sfxge/sfxge_rx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_rx.c Tue Apr 10 06:25:11 2012 (r234085) +++ head/sys/dev/sfxge/sfxge_rx.c Tue Apr 10 06:52:21 2012 (r234086) @@ -176,10 +176,10 @@ static inline struct mbuf *sfxge_rx_allo /* Allocate mbuf structure */ args.flags = M_PKTHDR; args.type = MT_DATA; - m = (struct mbuf *)uma_zalloc_arg(zone_mbuf, &args, M_DONTWAIT); + m = (struct mbuf *)uma_zalloc_arg(zone_mbuf, &args, M_NOWAIT); /* Allocate (and attach) packet buffer */ - if (m && !uma_zalloc_arg(sc->rx_buffer_zone, m, M_DONTWAIT)) { + if (m && !uma_zalloc_arg(sc->rx_buffer_zone, m, M_NOWAIT)) { uma_zfree(zone_mbuf, m); m = NULL; } @@ -586,7 +586,7 @@ static void sfxge_lro_new_conn(struct sf c = TAILQ_FIRST(&st->free_conns); TAILQ_REMOVE(&st->free_conns, c, link); } else { - c = malloc(sizeof(*c), M_SFXGE, M_DONTWAIT); + c = malloc(sizeof(*c), M_SFXGE, M_NOWAIT); if (c == NULL) return; c->mbuf = NULL; From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 06:52:40 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 519341065680; Tue, 10 Apr 2012 06:52:40 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3C12B8FC12; Tue, 10 Apr 2012 06:52:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3A6qeXn008226; Tue, 10 Apr 2012 06:52:40 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A6qeCU008224; Tue, 10 Apr 2012 06:52:40 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204100652.q3A6qeCU008224@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 10 Apr 2012 06:52:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234087 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 06:52:40 -0000 Author: glebius Date: Tue Apr 10 06:52:39 2012 New Revision: 234087 URL: http://svn.freebsd.org/changeset/base/234087 Log: M_DONTWAIT is a flag from historical mbuf(9) allocator, not malloc(9) or uma(9) flag. Modified: head/sys/netinet/in.c Modified: head/sys/netinet/in.c ============================================================================== --- head/sys/netinet/in.c Tue Apr 10 06:52:21 2012 (r234086) +++ head/sys/netinet/in.c Tue Apr 10 06:52:39 2012 (r234087) @@ -1279,7 +1279,7 @@ in_lltable_new(const struct sockaddr *l3 { struct in_llentry *lle; - lle = malloc(sizeof(struct in_llentry), M_LLTABLE, M_DONTWAIT | M_ZERO); + lle = malloc(sizeof(struct in_llentry), M_LLTABLE, M_NOWAIT | M_ZERO); if (lle == NULL) /* NB: caller generates msg */ return NULL; From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 07:11:34 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18A231065670; Tue, 10 Apr 2012 07:11:34 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 030538FC15; Tue, 10 Apr 2012 07:11: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 q3A7BXkt008891; Tue, 10 Apr 2012 07:11:33 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A7BXJt008888; Tue, 10 Apr 2012 07:11:33 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204100711.q3A7BXJt008888@svn.freebsd.org> From: Adrian Chadd Date: Tue, 10 Apr 2012 07:11:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234088 - in head/sys/dev/ath/ath_hal: . ar5416 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 07:11:34 -0000 Author: adrian Date: Tue Apr 10 07:11:33 2012 New Revision: 234088 URL: http://svn.freebsd.org/changeset/base/234088 Log: Squirrel away the SYNC interrupt in case we're doing interrupt debugging. Modified: head/sys/dev/ath/ath_hal/ah.h head/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Modified: head/sys/dev/ath/ath_hal/ah.h ============================================================================== --- head/sys/dev/ath/ath_hal/ah.h Tue Apr 10 06:52:39 2012 (r234087) +++ head/sys/dev/ath/ath_hal/ah.h Tue Apr 10 07:11:33 2012 (r234088) @@ -815,6 +815,7 @@ struct ath_hal { uint16_t *ah_eepromdata; /* eeprom buffer, if needed */ uint32_t ah_intrstate[8]; /* last int state */ + uint32_t ah_syncstate; /* last sync intr state */ HAL_OPS_CONFIG ah_config; const HAL_RATE_TABLE *__ahdecl(*ah_getRateTable)(struct ath_hal *, Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Tue Apr 10 06:52:39 2012 (r234087) +++ head/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Tue Apr 10 07:11:33 2012 (r234088) @@ -75,6 +75,7 @@ ar5416GetPendingInterrupts(struct ath_ha * Blank the interrupt debugging area regardless. */ bzero(&ah->ah_intrstate, sizeof(ah->ah_intrstate)); + ah->ah_syncstate = 0; #endif /* @@ -89,6 +90,9 @@ ar5416GetPendingInterrupts(struct ath_ha isr = OS_REG_READ(ah, AR_ISR); else isr = 0; +#ifdef AH_INTERRUPT_DEBUGGING + ah->ah_syncstate = +#endif o_sync_cause = sync_cause = OS_REG_READ(ah, AR_INTR_SYNC_CAUSE); sync_cause &= AR_INTR_SYNC_DEFAULT; *masked = 0; From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 07:16:29 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8B550106564A; Tue, 10 Apr 2012 07:16:29 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 761B78FC08; Tue, 10 Apr 2012 07:16: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 q3A7GTAh009116; Tue, 10 Apr 2012 07:16:29 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A7GTB4009114; Tue, 10 Apr 2012 07:16:29 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204100716.q3A7GTB4009114@svn.freebsd.org> From: Adrian Chadd Date: Tue, 10 Apr 2012 07:16:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234089 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 07:16:29 -0000 Author: adrian Date: Tue Apr 10 07:16:28 2012 New Revision: 234089 URL: http://svn.freebsd.org/changeset/base/234089 Log: Revert this for now - it may work for -8 and -9 and -HEAD, but not "-HEAD driver + net80211 on -9 kernel." I'll figure this out at some later stage. Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Tue Apr 10 07:11:33 2012 (r234088) +++ head/sys/dev/ath/if_ath.c Tue Apr 10 07:16:28 2012 (r234089) @@ -131,17 +131,10 @@ __FBSDID("$FreeBSD$"); */ CTASSERT(ATH_BCBUF <= 8); -#if __FreeBSD_version > 1000003 static struct ieee80211vap *ath_vap_create(struct ieee80211com *, const char [IFNAMSIZ], int, enum ieee80211_opmode, int, const uint8_t [IEEE80211_ADDR_LEN], const uint8_t [IEEE80211_ADDR_LEN]); -#else -static struct ieee80211vap *ath_vap_create(struct ieee80211com *, - const char [IFNAMSIZ], int, int, int, - const uint8_t [IEEE80211_ADDR_LEN], - const uint8_t [IEEE80211_ADDR_LEN]); -#endif static void ath_vap_delete(struct ieee80211vap *); static void ath_init(void *); static void ath_stop_locked(struct ifnet *); @@ -966,18 +959,11 @@ assign_bslot(struct ath_softc *sc) return free; } -#if __FreeBSD_version > 1000003 static struct ieee80211vap * ath_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit, enum ieee80211_opmode opmode, int flags, const uint8_t bssid[IEEE80211_ADDR_LEN], const uint8_t mac0[IEEE80211_ADDR_LEN]) -#else -static struct ieee80211vap * -ath_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit, - int opmode, int flags, const uint8_t bssid[IEEE80211_ADDR_LEN], - const uint8_t mac0[IEEE80211_ADDR_LEN]) -#endif { struct ath_softc *sc = ic->ic_ifp->if_softc; struct ath_vap *avp; From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 07:23:38 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0D886106566C; Tue, 10 Apr 2012 07:23:38 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ED3C18FC08; Tue, 10 Apr 2012 07:23:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3A7Nb4e009407; Tue, 10 Apr 2012 07:23:37 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A7NbA4009402; Tue, 10 Apr 2012 07:23:37 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204100723.q3A7NbA4009402@svn.freebsd.org> From: Adrian Chadd Date: Tue, 10 Apr 2012 07:23:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234090 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 07:23:38 -0000 Author: adrian Date: Tue Apr 10 07:23:37 2012 New Revision: 234090 URL: http://svn.freebsd.org/changeset/base/234090 Log: Squirrel away SYNC interrupt debugging if it's enabled in the HAL. Bus errors will show up as various SYNC interrupts which will be passed back up to ath_intr(). Modified: head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_ath_sysctl.c head/sys/dev/ath/if_athioctl.h head/sys/dev/ath/if_athvar.h Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Tue Apr 10 07:16:28 2012 (r234089) +++ head/sys/dev/ath/if_ath.c Tue Apr 10 07:23:37 2012 (r234090) @@ -1495,6 +1495,15 @@ ath_intr(void *arg) ah->ah_intrstate[3], ah->ah_intrstate[6]); #endif + + /* Squirrel away SYNC interrupt debugging */ + if (ah->ah_syncstate != 0) { + int i; + for (i = 0; i < 32; i++) + if (ah->ah_syncstate & (i << i)) + sc->sc_intr_stats.sync_intr[i]++; + } + status &= sc->sc_imask; /* discard unasked for bits */ /* Short-circuit un-handled interrupts */ @@ -6476,8 +6485,11 @@ ath_ioctl(struct ifnet *ifp, u_long cmd, ifr->ifr_data, sizeof (sc->sc_stats)); case SIOCZATHSTATS: error = priv_check(curthread, PRIV_DRIVER); - if (error == 0) + if (error == 0) { memset(&sc->sc_stats, 0, sizeof(sc->sc_stats)); + memset(&sc->sc_intr_stats, 0, + sizeof(sc->sc_intr_stats)); + } break; #ifdef ATH_DIAGAPI case SIOCGATHDIAG: Modified: head/sys/dev/ath/if_ath_sysctl.c ============================================================================== --- head/sys/dev/ath/if_ath_sysctl.c Tue Apr 10 07:16:28 2012 (r234089) +++ head/sys/dev/ath/if_ath_sysctl.c Tue Apr 10 07:23:37 2012 (r234090) @@ -655,6 +655,7 @@ ath_sysctl_clearstats(SYSCTL_HANDLER_ARG return 0; /* Not clearing the stats is still valid */ memset(&sc->sc_stats, 0, sizeof(sc->sc_stats)); memset(&sc->sc_aggr_stats, 0, sizeof(sc->sc_aggr_stats)); + memset(&sc->sc_intr_stats, 0, sizeof(sc->sc_intr_stats)); val = 0; return 0; @@ -677,6 +678,26 @@ ath_sysctl_stats_attach_rxphyerr(struct } } +static void +ath_sysctl_stats_attach_intr(struct ath_softc *sc, + struct sysctl_oid_list *parent) +{ + struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(sc->sc_dev); + struct sysctl_oid *tree = device_get_sysctl_tree(sc->sc_dev); + struct sysctl_oid_list *child = SYSCTL_CHILDREN(tree); + int i; + char sn[8]; + + tree = SYSCTL_ADD_NODE(ctx, parent, OID_AUTO, "sync_intr", + CTLFLAG_RD, NULL, "Sync interrupt statistics"); + child = SYSCTL_CHILDREN(tree); + for (i = 0; i < 32; i++) { + snprintf(sn, sizeof(sn), "%d", i); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, sn, CTLFLAG_RD, + &sc->sc_intr_stats.sync_intr[i], 0, ""); + } +} + void ath_sysctl_stats_attach(struct ath_softc *sc) { @@ -904,6 +925,9 @@ ath_sysctl_stats_attach(struct ath_softc /* Attach the RX phy error array */ ath_sysctl_stats_attach_rxphyerr(sc, child); + + /* Attach the interrupt statistics array */ + ath_sysctl_stats_attach_intr(sc, child); } /* Modified: head/sys/dev/ath/if_athioctl.h ============================================================================== --- head/sys/dev/ath/if_athioctl.h Tue Apr 10 07:16:28 2012 (r234089) +++ head/sys/dev/ath/if_athioctl.h Tue Apr 10 07:23:37 2012 (r234090) @@ -46,6 +46,10 @@ struct ath_tx_aggr_stats { u_int32_t aggr_rts_aggr_limited; }; +struct ath_intr_stats { + u_int32_t sync_intr[32]; +}; + struct ath_stats { u_int32_t ast_watchdog; /* device reset by watchdog */ u_int32_t ast_hardware; /* fatal hardware error interrupts */ Modified: head/sys/dev/ath/if_athvar.h ============================================================================== --- head/sys/dev/ath/if_athvar.h Tue Apr 10 07:16:28 2012 (r234089) +++ head/sys/dev/ath/if_athvar.h Tue Apr 10 07:23:37 2012 (r234090) @@ -349,6 +349,7 @@ struct ath_softc { struct ifnet *sc_ifp; /* interface common */ struct ath_stats sc_stats; /* interface statistics */ struct ath_tx_aggr_stats sc_aggr_stats; + struct ath_intr_stats sc_intr_stats; int sc_debug; int sc_nvaps; /* # vaps */ int sc_nstavaps; /* # station vaps */ From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 07:27:43 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 870B61065799; Tue, 10 Apr 2012 07:27:43 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 720B68FC0C; Tue, 10 Apr 2012 07:27:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3A7RhbD009590; Tue, 10 Apr 2012 07:27:43 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A7Rhhe009588; Tue, 10 Apr 2012 07:27:43 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204100727.q3A7Rhhe009588@svn.freebsd.org> From: Adrian Chadd Date: Tue, 10 Apr 2012 07:27:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234091 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 07:27:43 -0000 Author: adrian Date: Tue Apr 10 07:27:42 2012 New Revision: 234091 URL: http://svn.freebsd.org/changeset/base/234091 Log: Blank the aggregate stats whenever the zero ioctl is called. Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Tue Apr 10 07:23:37 2012 (r234090) +++ head/sys/dev/ath/if_ath.c Tue Apr 10 07:27:42 2012 (r234091) @@ -6487,6 +6487,8 @@ ath_ioctl(struct ifnet *ifp, u_long cmd, error = priv_check(curthread, PRIV_DRIVER); if (error == 0) { memset(&sc->sc_stats, 0, sizeof(sc->sc_stats)); + memset(&sc->sc_aggr_stats, 0, + sizeof(sc->sc_aggr_stats)); memset(&sc->sc_intr_stats, 0, sizeof(sc->sc_intr_stats)); } From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 09:27:42 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B867106564A; Tue, 10 Apr 2012 09:27:42 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EF4228FC12; Tue, 10 Apr 2012 09:27:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3A9Rfcn013404; Tue, 10 Apr 2012 09:27:41 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3A9Rf3r013400; Tue, 10 Apr 2012 09:27:41 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <201204100927.q3A9Rf3r013400@svn.freebsd.org> From: Stanislav Sedov Date: Tue, 10 Apr 2012 09:27:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234093 - in head/etc: defaults rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 09:27:42 -0000 Author: stas Date: Tue Apr 10 09:27:41 2012 New Revision: 234093 URL: http://svn.freebsd.org/changeset/base/234093 Log: - Add rc.d script for kfd, kerberos forwarded tickets daemon. Added: head/etc/rc.d/kfd (contents, props changed) Modified: head/etc/defaults/rc.conf head/etc/rc.d/Makefile Modified: head/etc/defaults/rc.conf ============================================================================== --- head/etc/defaults/rc.conf Tue Apr 10 07:38:58 2012 (r234092) +++ head/etc/defaults/rc.conf Tue Apr 10 09:27:41 2012 (r234093) @@ -297,6 +297,8 @@ kadmind5_server_enable="NO" # Run kadmin kadmind5_server="/usr/libexec/kadmind" # path to kerberos 5 admin daemon kpasswdd_server_enable="NO" # Run kpasswdd (or NO) kpasswdd_server="/usr/libexec/kpasswdd" # path to kerberos 5 passwd daemon +kfd_server_enable="NO" # Run kfd (or NO) +kfd_server="/usr/libexec/kfd" # path to kerberos 5 kfd daemon gssd_enable="NO" # Run the gssd daemon (or NO). gssd_flags="" # Flags for gssd. Modified: head/etc/rc.d/Makefile ============================================================================== --- head/etc/rc.d/Makefile Tue Apr 10 07:38:58 2012 (r234092) +++ head/etc/rc.d/Makefile Tue Apr 10 09:27:41 2012 (r234093) @@ -66,6 +66,7 @@ FILES= DAEMON \ kadmind \ kerberos \ keyserv \ + kfd \ kld \ kldxref \ kpasswdd \ Added: head/etc/rc.d/kfd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/etc/rc.d/kfd Tue Apr 10 09:27:41 2012 (r234093) @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: kfd +# BEFORE: DAEMON + +. /etc/rc.subr + +name="kfd" +load_rc_config $name +rcvar="kfd_server_enable" +unset start_cmd +command="${kfd_server}" +kfd_flags="-i" +command_args="&" + +run_rc_command "$1" From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 10:44:42 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B81BF106566B; Tue, 10 Apr 2012 10:44:42 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A1AAA8FC08; Tue, 10 Apr 2012 10:44:42 +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 q3AAigte020205; Tue, 10 Apr 2012 10:44:42 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AAigCn020197; Tue, 10 Apr 2012 10:44:42 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201204101044.q3AAigCn020197@svn.freebsd.org> From: Konstantin Belousov Date: Tue, 10 Apr 2012 10:44:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234094 - in stable/8/sys: i386/conf vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 10:44:42 -0000 Author: kib Date: Tue Apr 10 10:44:41 2012 New Revision: 234094 URL: http://svn.freebsd.org/changeset/base/234094 Log: MFC r233100: In vm_object_page_clean(), do not clean OBJ_MIGHTBEDIRTY object flag if the filesystem performed short write and we are skipping the page due to this. Propogate write error from the pager back to the callers of vm_pageout_flush(). Report the failure to write a page from the requested range as the FALSE return value from vm_object_page_clean(), and propagate it back to msync(2) to return EIO to usermode. While there, convert the clearobjflags variable in the vm_object_page_clean() and arguments of the helper functions to boolean. PR: kern/165927 Tested by: David Wolfskill Modified: stable/8/sys/vm/vm_contig.c stable/8/sys/vm/vm_map.c stable/8/sys/vm/vm_mmap.c stable/8/sys/vm/vm_object.c stable/8/sys/vm/vm_object.h stable/8/sys/vm/vm_pageout.c stable/8/sys/vm/vm_pageout.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/vm/vm_contig.c ============================================================================== --- stable/8/sys/vm/vm_contig.c Tue Apr 10 09:27:41 2012 (r234093) +++ stable/8/sys/vm/vm_contig.c Tue Apr 10 10:44:41 2012 (r234094) @@ -135,7 +135,8 @@ vm_contig_launder_page(vm_page_t m, vm_p } else if (object->type == OBJT_SWAP || object->type == OBJT_DEFAULT) { m_tmp = m; - vm_pageout_flush(&m_tmp, 1, VM_PAGER_PUT_SYNC, 0, NULL); + vm_pageout_flush(&m_tmp, 1, VM_PAGER_PUT_SYNC, 0, + NULL, NULL); VM_OBJECT_UNLOCK(object); return (0); } Modified: stable/8/sys/vm/vm_map.c ============================================================================== --- stable/8/sys/vm/vm_map.c Tue Apr 10 09:27:41 2012 (r234093) +++ stable/8/sys/vm/vm_map.c Tue Apr 10 10:44:41 2012 (r234094) @@ -2573,6 +2573,7 @@ vm_map_sync( vm_object_t object; vm_ooffset_t offset; unsigned int last_timestamp; + boolean_t failed; vm_map_lock_read(map); VM_MAP_RANGE_CHECK(map, start, end); @@ -2602,6 +2603,7 @@ vm_map_sync( if (invalidate) pmap_remove(map->pmap, start, end); + failed = FALSE; /* * Make a second pass, cleaning/uncaching pages from the indicated @@ -2630,7 +2632,8 @@ vm_map_sync( vm_object_reference(object); last_timestamp = map->timestamp; vm_map_unlock_read(map); - vm_object_sync(object, offset, size, syncio, invalidate); + if (!vm_object_sync(object, offset, size, syncio, invalidate)) + failed = TRUE; start += size; vm_object_deallocate(object); vm_map_lock_read(map); @@ -2640,7 +2643,7 @@ vm_map_sync( } vm_map_unlock_read(map); - return (KERN_SUCCESS); + return (failed ? KERN_FAILURE : KERN_SUCCESS); } /* Modified: stable/8/sys/vm/vm_mmap.c ============================================================================== --- stable/8/sys/vm/vm_mmap.c Tue Apr 10 09:27:41 2012 (r234093) +++ stable/8/sys/vm/vm_mmap.c Tue Apr 10 10:44:41 2012 (r234094) @@ -487,6 +487,8 @@ msync(td, uap) return (EINVAL); /* Sun returns ENOMEM? */ case KERN_INVALID_ARGUMENT: return (EBUSY); + case KERN_FAILURE: + return (EIO); default: return (EINVAL); } Modified: stable/8/sys/vm/vm_object.c ============================================================================== --- stable/8/sys/vm/vm_object.c Tue Apr 10 09:27:41 2012 (r234093) +++ stable/8/sys/vm/vm_object.c Tue Apr 10 10:44:41 2012 (r234094) @@ -105,9 +105,10 @@ SYSCTL_INT(_vm, OID_AUTO, old_msync, CTL "Use old (insecure) msync behavior"); static int vm_object_page_collect_flush(vm_object_t object, vm_page_t p, - int pagerflags, int flags, int *clearobjflags); + int pagerflags, int flags, boolean_t *clearobjflags, + boolean_t *eio); static boolean_t vm_object_page_remove_write(vm_page_t p, int flags, - int *clearobjflags); + boolean_t *clearobjflags); static void vm_object_qcollapse(vm_object_t object); static void vm_object_vndeallocate(vm_object_t object); @@ -772,7 +773,7 @@ vm_object_terminate(vm_object_t object) } static boolean_t -vm_object_page_remove_write(vm_page_t p, int flags, int *clearobjflags) +vm_object_page_remove_write(vm_page_t p, int flags, boolean_t *clearobjflags) { /* @@ -781,7 +782,7 @@ vm_object_page_remove_write(vm_page_t p, * cleared in this case so we do not have to set them. */ if ((flags & OBJPC_NOSYNC) != 0 && (p->oflags & VPO_NOSYNC) != 0) { - *clearobjflags = 0; + *clearobjflags = FALSE; return (FALSE); } else { pmap_remove_write(p); @@ -803,20 +804,24 @@ vm_object_page_remove_write(vm_page_t p, * Odd semantics: if start == end, we clean everything. * * The object must be locked. + * + * Returns FALSE if some page from the range was not written, as + * reported by the pager, and TRUE otherwise. */ -void +boolean_t vm_object_page_clean(vm_object_t object, vm_pindex_t start, vm_pindex_t end, int flags) { vm_page_t np, p; vm_pindex_t pi, tend; - int clearobjflags, curgeneration, n, pagerflags; + int curgeneration, n, pagerflags; + boolean_t clearobjflags, eio, res; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); KASSERT(object->type == OBJT_VNODE, ("Not a vnode object")); if ((object->flags & OBJ_MIGHTBEDIRTY) == 0 || object->resident_page_count == 0) - return; + return (TRUE); pagerflags = (flags & (OBJPC_SYNC | OBJPC_INVAL)) != 0 ? VM_PAGER_PUT_SYNC : VM_PAGER_CLUSTER_OK; @@ -835,7 +840,8 @@ vm_object_page_clean(vm_object_t object, * stay dirty so do not mess with the page and do not clear the * object flags. */ - clearobjflags = 1; + clearobjflags = TRUE; + res = TRUE; rescan: curgeneration = object->generation; @@ -858,7 +864,11 @@ rescan: continue; n = vm_object_page_collect_flush(object, p, pagerflags, - flags, &clearobjflags); + flags, &clearobjflags, &eio); + if (eio) { + res = FALSE; + clearobjflags = FALSE; + } if (object->generation != curgeneration) goto rescan; @@ -874,8 +884,10 @@ rescan: * behind, but there is not much we can do there if * filesystem refuses to write it. */ - if (n == 0) + if (n == 0) { n = 1; + clearobjflags = FALSE; + } np = vm_page_find_least(object, pi + n); } vm_page_unlock_queues(); @@ -886,11 +898,12 @@ rescan: vm_object_clear_flag(object, OBJ_CLEANING); if (clearobjflags && start == 0 && tend == object->size) vm_object_clear_flag(object, OBJ_MIGHTBEDIRTY); + return (res); } static int vm_object_page_collect_flush(vm_object_t object, vm_page_t p, int pagerflags, - int flags, int *clearobjflags) + int flags, boolean_t *clearobjflags, boolean_t *eio) { vm_page_t ma[vm_pageout_page_count], p_first, tp; int count, i, mreq, runlen; @@ -921,7 +934,7 @@ vm_object_page_collect_flush(vm_object_t for (tp = p_first, i = 0; i < count; tp = TAILQ_NEXT(tp, listq), i++) ma[i] = tp; - vm_pageout_flush(ma, count, pagerflags, mreq, &runlen); + vm_pageout_flush(ma, count, pagerflags, mreq, &runlen, eio); return (runlen); } @@ -935,17 +948,20 @@ vm_object_page_collect_flush(vm_object_t * Note: certain anonymous maps, such as MAP_NOSYNC maps, * may start out with a NULL object. */ -void +boolean_t vm_object_sync(vm_object_t object, vm_ooffset_t offset, vm_size_t size, boolean_t syncio, boolean_t invalidate) { vm_object_t backing_object; struct vnode *vp; struct mount *mp; - int flags, fsync_after; + int error, flags, fsync_after; + boolean_t res; if (object == NULL) - return; + return (TRUE); + res = TRUE; + error = 0; VM_OBJECT_LOCK(object); while ((backing_object = object->backing_object) != NULL) { VM_OBJECT_LOCK(backing_object); @@ -991,16 +1007,18 @@ vm_object_sync(vm_object_t object, vm_oo fsync_after = FALSE; } VM_OBJECT_LOCK(object); - vm_object_page_clean(object, + res = vm_object_page_clean(object, OFF_TO_IDX(offset), OFF_TO_IDX(offset + size + PAGE_MASK), flags); VM_OBJECT_UNLOCK(object); if (fsync_after) - (void) VOP_FSYNC(vp, MNT_WAIT, curthread); + error = VOP_FSYNC(vp, MNT_WAIT, curthread); VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); vn_finished_write(mp); + if (error != 0) + res = FALSE; VM_OBJECT_LOCK(object); } if ((object->type == OBJT_VNODE || @@ -1013,6 +1031,7 @@ vm_object_sync(vm_object_t object, vm_oo purge ? FALSE : TRUE); } VM_OBJECT_UNLOCK(object); + return (res); } /* Modified: stable/8/sys/vm/vm_object.h ============================================================================== --- stable/8/sys/vm/vm_object.h Tue Apr 10 09:27:41 2012 (r234093) +++ stable/8/sys/vm/vm_object.h Tue Apr 10 10:44:41 2012 (r234094) @@ -220,7 +220,7 @@ void vm_object_set_writeable_dirty (vm_o void vm_object_init (void); void vm_object_page_cache(vm_object_t object, vm_pindex_t start, vm_pindex_t end); -void vm_object_page_clean (vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t); +boolean_t vm_object_page_clean(vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t); void vm_object_page_remove (vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t); boolean_t vm_object_populate(vm_object_t, vm_pindex_t, vm_pindex_t); void vm_object_reference (vm_object_t); @@ -228,7 +228,7 @@ void vm_object_reference_locked(vm_objec int vm_object_set_memattr(vm_object_t object, vm_memattr_t memattr); void vm_object_shadow (vm_object_t *, vm_ooffset_t *, vm_size_t); void vm_object_split(vm_map_entry_t); -void vm_object_sync(vm_object_t, vm_ooffset_t, vm_size_t, boolean_t, +boolean_t vm_object_sync(vm_object_t, vm_ooffset_t, vm_size_t, boolean_t, boolean_t); void vm_object_madvise (vm_object_t, vm_pindex_t, int, int); #endif /* _KERNEL */ Modified: stable/8/sys/vm/vm_pageout.c ============================================================================== --- stable/8/sys/vm/vm_pageout.c Tue Apr 10 09:27:41 2012 (r234093) +++ stable/8/sys/vm/vm_pageout.c Tue Apr 10 10:44:41 2012 (r234094) @@ -391,7 +391,8 @@ more: /* * we allow reads during pageouts... */ - return (vm_pageout_flush(&mc[page_base], pageout_count, 0, 0, NULL)); + return (vm_pageout_flush(&mc[page_base], pageout_count, 0, 0, NULL, + NULL)); } /* @@ -405,9 +406,12 @@ more: * * Returned runlen is the count of pages between mreq and first * page after mreq with status VM_PAGER_AGAIN. + * *eio is set to TRUE if pager returned VM_PAGER_ERROR or VM_PAGER_FAIL + * for any page in runlen set. */ int -vm_pageout_flush(vm_page_t *mc, int count, int flags, int mreq, int *prunlen) +vm_pageout_flush(vm_page_t *mc, int count, int flags, int mreq, int *prunlen, + boolean_t *eio) { vm_object_t object = mc[0]->object; int pageout_status[count]; @@ -439,6 +443,8 @@ vm_pageout_flush(vm_page_t *mc, int coun vm_pager_put_pages(object, mc, count, flags, pageout_status); runlen = count - mreq; + if (eio != NULL) + *eio = FALSE; vm_page_lock_queues(); for (i = 0; i < count; i++) { vm_page_t mt = mc[i]; @@ -467,6 +473,8 @@ vm_pageout_flush(vm_page_t *mc, int coun * will try paging out it again later). */ vm_page_activate(mt); + if (eio != NULL && i >= mreq && i - mreq < runlen) + *eio = TRUE; break; case VM_PAGER_AGAIN: if (i >= mreq && i - mreq < runlen) Modified: stable/8/sys/vm/vm_pageout.h ============================================================================== --- stable/8/sys/vm/vm_pageout.h Tue Apr 10 09:27:41 2012 (r234093) +++ stable/8/sys/vm/vm_pageout.h Tue Apr 10 10:44:41 2012 (r234094) @@ -102,7 +102,7 @@ extern void vm_waitpfault(void); #ifdef _KERNEL boolean_t vm_pageout_fallback_object_lock(vm_page_t, vm_page_t *); -int vm_pageout_flush(vm_page_t *, int, int, int, int *); +int vm_pageout_flush(vm_page_t *, int, int, int, int *, boolean_t *); void vm_pageout_oom(int shortage); void vm_contig_grow_cache(int, vm_paddr_t, vm_paddr_t); #endif From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 10:50:55 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C373C1065686; Tue, 10 Apr 2012 10:50:55 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AEE2D8FC1E; Tue, 10 Apr 2012 10:50:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3AAotIU020449; Tue, 10 Apr 2012 10:50:55 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AAotXn020446; Tue, 10 Apr 2012 10:50:55 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201204101050.q3AAotXn020446@svn.freebsd.org> From: Konstantin Belousov Date: Tue, 10 Apr 2012 10:50:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234095 - stable/8/lib/libc/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 10:50:55 -0000 Author: kib Date: Tue Apr 10 10:50:55 2012 New Revision: 234095 URL: http://svn.freebsd.org/changeset/base/234095 Log: MFC r233102: Do not claim that msync(2) is obsoleted [1]. Document EIO from msync(2). Modified: stable/8/lib/libc/sys/mmap.2 stable/8/lib/libc/sys/msync.2 Directory Properties: stable/8/lib/libc/ (props changed) stable/8/lib/libc/sys/ (props changed) Modified: stable/8/lib/libc/sys/mmap.2 ============================================================================== --- stable/8/lib/libc/sys/mmap.2 Tue Apr 10 10:44:41 2012 (r234094) +++ stable/8/lib/libc/sys/mmap.2 Tue Apr 10 10:50:55 2012 (r234095) @@ -28,7 +28,7 @@ .\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 .\" $FreeBSD$ .\" -.Dd August 28, 2010 +.Dd March 18, 2012 .Dt MMAP 2 .Os .Sh NAME @@ -205,7 +205,7 @@ command and system call generally do not flush dirty NOSYNC VM data. The .Xr msync 2 -system call is obsolete since +system call is usually not needed since .Bx implements a coherent file system buffer cache. However, it may be Modified: stable/8/lib/libc/sys/msync.2 ============================================================================== --- stable/8/lib/libc/sys/msync.2 Tue Apr 10 10:44:41 2012 (r234094) +++ stable/8/lib/libc/sys/msync.2 Tue Apr 10 10:50:55 2012 (r234095) @@ -28,7 +28,7 @@ .\" @(#)msync.2 8.2 (Berkeley) 6/21/94 .\" $FreeBSD$ .\" -.Dd June 21, 1994 +.Dd March 18, 2012 .Dt MSYNC 2 .Os .Sh NAME @@ -98,6 +98,9 @@ The argument was both MS_ASYNC and MS_INVALIDATE. Only one of these flags is allowed. +.It Bq Er EIO + An error occurred while writing at least one of the pages in +the specified region. .El .Sh SEE ALSO .Xr madvise 2 , @@ -113,7 +116,7 @@ system call first appeared in .Sh BUGS The .Fn msync -system call is obsolete since +system call is usually not needed since .Bx implements a coherent file system buffer cache. However, it may be used to associate dirty VM pages with file system From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 11:25:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03280106564A; Tue, 10 Apr 2012 11:25:19 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from mailfilter13.ihug.co.nz (mailfilter13.ihug.co.nz [203.109.136.13]) by mx1.freebsd.org (Postfix) with ESMTP id CDA2C8FC08; Tue, 10 Apr 2012 11:25:17 +0000 (UTC) X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.0 c=1 a=DE6nE7g822sA:10 a=cp3ifX0mlxSVeic/PLyttg==:17 a=6I5d2MoRAAAA:8 a=Yl2uaO52LxaW8h47w5sA:9 a=CjuIK1q_8ugA:10 a=SV7veod9ZcQA:10 a=v13WaKXysxbrfLncQysA:9 a=1Jlk8L_6LmbFvwvJMxUA:7 a=qB_eRIhOqYR7xcWE:21 a=UHUKzUWpteEMcZZc:21 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAFoYhE/LdqpC/2dsb2JhbABDuSiBCIIJAQEEAVYjBQsIAw4KLjkeBhOICQS7EYsdhUQEjmyGfwGQNoJ8gT8 X-IronPort-AV: E=Sophos;i="4.75,398,1330858800"; d="scan'208";a="215459796" Received: from 203-118-170-66.adsl.ihug.co.nz (HELO localhost) ([203.118.170.66]) by cust.filter3.content.vf.net.nz with SMTP; 10 Apr 2012 23:24:51 +1200 Date: Tue, 10 Apr 2012 23:24:39 +1200 From: Andrew Turner To: Juli Mallett Message-ID: <20120410232439.5e4cd59f@fubar.geek.nz> In-Reply-To: References: <201204080436.q384aRXS093116@svn.freebsd.org> <20120408164521.55aecdd1@fubar.geek.nz> <20120409161453.29d1f3de@fubar.geek.nz> <20120409204416.77f61674@fubar.geek.nz> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; i386-portbld-freebsd8.0) X-Pirate: Arrrr Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/Yx0CjEwxBALbXmKAVJOZT9X" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 11:25:19 -0000 --MP_/Yx0CjEwxBALbXmKAVJOZT9X Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline On Mon, 9 Apr 2012 09:39:23 -0700 Juli Mallett wrote: > On Mon, Apr 9, 2012 at 01:44, Andrew Turner > wrote: > > How does the attached (untested) patch look. It explicitly loads > > ARM_TP_ADDRESS into a r0 to ensure r1-3 are not touched. > > The example file I pointed at was for the kernel, where the > LOCORE-related ifdefs (almost) make sense, but for userland you > probably want to conditionalize on __ASSEMBLER__. How does the attached patch look? I've updated it to use __ASSEMBLER__ where required. Andrew --MP_/Yx0CjEwxBALbXmKAVJOZT9X Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=arm_tls.patch Index: lib/libc/arm/gen/Makefile.inc =================================================================== --- lib/libc/arm/gen/Makefile.inc (revision 234093) +++ lib/libc/arm/gen/Makefile.inc (working copy) @@ -3,4 +3,4 @@ SRCS+= _ctx_start.S _setjmp.S _set_tp.c alloca.S fabs.c \ getcontextx.c infinity.c ldexp.c makecontext.c \ - __aeabi_read_tp.c setjmp.S signalcontext.c sigsetjmp.S divsi3.S flt_rounds.c + __aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S divsi3.S flt_rounds.c Index: lib/libc/arm/gen/__aeabi_read_tp.S =================================================================== --- lib/libc/arm/gen/__aeabi_read_tp.S (revision 0) +++ lib/libc/arm/gen/__aeabi_read_tp.S (working copy) @@ -0,0 +1,40 @@ +/*- + * Copyright (c) 2012 Oleksandr Tymoshenko + * Copyright (c) 2012 Andrew Turner + * 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include + +ENTRY(__aeabi_read_tp) + ldr r0, .Larm_tp_address + ldr r0, [r0] + RET + +.Larm_tp_address: + .word ARM_TP_ADDRESS + Index: lib/libc/arm/gen/__aeabi_read_tp.c =================================================================== --- lib/libc/arm/gen/__aeabi_read_tp.c (revision 234093) +++ lib/libc/arm/gen/__aeabi_read_tp.c (working copy) @@ -1,45 +0,0 @@ -/*- - * Copyright (c) 2012 Oleksandr Tymoshenko - * Copyright (c) 2012 Andrew Turner - * 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$ - */ - -#include -__FBSDID("$FreeBSD$"); - -#include - -#include "machine/sysarch.h" - -void * -__aeabi_read_tp() -{ - void *_tp; - - asm("ldr %0, [%1]\n" : "=r"(_tp) : "r"(ARM_TP_ADDRESS)); - - return _tp; -} Index: sys/arm/include/sysarch.h =================================================================== --- sys/arm/include/sysarch.h (revision 234093) +++ sys/arm/include/sysarch.h (working copy) @@ -55,6 +55,7 @@ #define ARM_RAS_END (ARM_TP_ADDRESS + 8) #ifndef LOCORE +#ifndef __ASSEMBLER__ #include @@ -85,6 +86,7 @@ __END_DECLS #endif +#endif /* __ASSEMBLER__ */ #endif /* LOCORE */ #endif /* !_ARM_SYSARCH_H_ */ Index: sys/arm/include/armreg.h =================================================================== --- sys/arm/include/armreg.h (revision 234093) +++ sys/arm/include/armreg.h (working copy) @@ -316,8 +316,13 @@ /* * Address of the vector page, low and high versions. */ +#ifndef __ASSEMBLER__ #define ARM_VECTORS_LOW 0x00000000U #define ARM_VECTORS_HIGH 0xffff0000U +#else +#define ARM_VECTORS_LOW 0 +#define ARM_VECTORS_HIGH 0xffff0000 +#endif /* * ARM Instructions --MP_/Yx0CjEwxBALbXmKAVJOZT9X-- From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 11:41:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 86065106566C; Tue, 10 Apr 2012 11:41:23 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 11E1C8FC14; Tue, 10 Apr 2012 11:41:22 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id q3ABfI8k032362; Tue, 10 Apr 2012 13:41:19 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id q3ABfIJ7032361; Tue, 10 Apr 2012 13:41:18 +0200 (CEST) (envelope-from marius) Date: Tue, 10 Apr 2012 13:41:18 +0200 From: Marius Strobl To: Attilio Rao Message-ID: <20120410114118.GB93449@alchemy.franken.de> References: <201204092241.q39MfJZn081610@svn.freebsd.org> <20120409230949.GB68111@alchemy.franken.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, John Baldwin Subject: Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 11:41:23 -0000 On Tue, Apr 10, 2012 at 01:03:56AM +0100, Attilio Rao wrote: > Il 10 aprile 2012 00:09, Marius Strobl ha scritto: > > On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote: > >> Author: attilio > >> Date: Mon Apr ??9 22:41:19 2012 > >> New Revision: 234074 > >> URL: http://svn.freebsd.org/changeset/base/234074 > >> > >> Log: > >> ?? BSP is not added to the mask of valid target CPUs for interrupts > >> ?? in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not > >> ?? called in the !SMP case too. > >> ?? Fix this by: > >> ?? - Adding the BSP as an interrupt target directly in cpu_startup(). > >> ?? - Remove an obsolete optimization where the BSP are skipped in > >> ?? ?? set_apic_interrupt_ids(). > >> > >> ?? Reported by: ?? ?? ?? ??jh > >> ?? Reviewed by: ?? ?? ?? ??jhb > >> ?? MFC after: ??3 days > >> ?? X-MFC: ?? ?? ?? ?? ?? ?? ??r233961 > >> ?? Pointy hat to: ?? ?? ??me > >> > >> Modified: > >> ?? head/sys/amd64/amd64/machdep.c > >> ?? head/sys/amd64/amd64/mp_machdep.c > >> ?? head/sys/i386/i386/machdep.c > >> ?? head/sys/i386/i386/mp_machdep.c > >> > >> Modified: head/sys/amd64/amd64/machdep.c > >> ============================================================================== > >> --- head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:01:43 2012 ?? ?? ?? ??(r234073) > >> +++ head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:41:19 2012 ?? ?? ?? ??(r234074) > >> @@ -295,6 +295,11 @@ cpu_startup(dummy) > >> ?? ?? ?? vm_pager_bufferinit(); > >> > >> ?? ?? ?? cpu_setregs(); > >> + > >> + ?? ?? /* > >> + ?? ?? ??* Add BSP as an interrupt target. > >> + ?? ?? ??*/ > >> + ?? ?? intr_add_cpu(0); > >> ??} > > > > If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be > > here as well. > > You are right, sorry, I did forgot to test without SMP. > I think we still need intr_add_cpu() on cpu_startup() because of the > case smp_disabled = 1. > I think the attached patch should make its dirty job, opinion? I currently fail to see why the latter approach would be necessary, i.e. IMO wrapping the intr_add_cpu() calls in cpu_startup() should be sufficient. In case the kernel is compiled without SMP support, interrupt balancing support isn't available in the first place and the BSP is always the only available target (see the UP version of intr_next_cpu() at the end of x86/x86/intr_machdep.c), so there's no need to add the BSP as a valid target. If an SMP kernel is run on a UP machine or with SMP disabled, interrupt balancing support is available but the intr_add_cpu() calls in cpu_startup() will add the BSP as (the only) target, so everything should be fine. Maybe you can elaborate on why you think an SMP kernel with SMP disabled needs special handling. Marius From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 11:50:08 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9EF26106566C; Tue, 10 Apr 2012 11:50:08 +0000 (UTC) (envelope-from citrin@citrin.ru) Received: from mail-chaos.rambler.ru (mail-chaos.rambler.ru [81.19.68.130]) by mx1.freebsd.org (Postfix) with ESMTP id 4CDE78FC15; Tue, 10 Apr 2012 11:50:08 +0000 (UTC) Received: from citrin.office.vega.ru (office-nat.spylog.net [193.169.234.6]) (Authenticated sender: citrin@citrin.ru) by mail-chaos.rambler.ru (Postfix) with ESMTPSA id 489A717024; Tue, 10 Apr 2012 15:50:01 +0400 (MSD) Message-ID: <4F841E68.1070000@citrin.ru> Date: Tue, 10 Apr 2012 15:50:00 +0400 From: Anton Yuzhaninov User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:6.0.2) Gecko/20110922 Thunderbird/6.0.2 MIME-Version: 1.0 To: Juli Mallett References: <201203290313.q2T3Dh8p073473@svn.freebsd.org> In-Reply-To: <201203290313.q2T3Dh8p073473@svn.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r233646 - head/lib/libgeom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 11:50:08 -0000 On 03/29/12 07:13, Juli Mallett wrote: > Author: jmallett > Date: Thu Mar 29 03:13:43 2012 > New Revision: 233646 > URL: http://svn.freebsd.org/changeset/base/233646 > > Log: > Fix 32-bit libgeom consumers run on 64-bit kernels with COMPAT_FREEBSD32. > Unfortunately, gstat don't work after this commit (64-bit kernel with COMPAT_FREEBSD32). more info: http://docs.freebsd.org/cgi/mid.cgi?jm1509$66p$1 After reverting r233646 gstat works. -- Anton Yuzhaninov From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 12:55:33 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BF716106564A; Tue, 10 Apr 2012 12:55:33 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-lpp01m010-f54.google.com (mail-lpp01m010-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id A2D748FC0C; Tue, 10 Apr 2012 12:55:32 +0000 (UTC) Received: by lagv3 with SMTP id v3so5806759lag.13 for ; Tue, 10 Apr 2012 05:55:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=DEqyn8nRn+2D9Ur/Z3yj0xeDrzpSGbpBQTrq3vSgwzE=; b=PcUk7dQC3iNiupKf5UavuxZSNAN79nihDbBB9KnakZlOpAcrMURCwRD91e7o9hZTeF zYb/39APjNXzee0tjf5ZyLYJn6+qHVreRCU7wsDFUx62fO4RM1tTND0mk0U3arQFJ0us hVYCfUz3yVl4w4dlBr6vYQ2ZNEUfGPaFswhhGfFZXl/XTpwH5jlkXz2GUyvagKexB53b qeMaclI+HoLMsLEbMefOqXNpfTB+QWq8V1PsyZ9PZrjmn8rz2Z3DkEaoVCluSv5UnMxo iQTIRCypkPy2V1/XAfx/RnpBgIpRlrOqEO4PSHnlieVPFMmTTaQgxNqDXltcsrqR4xKU K1Jg== MIME-Version: 1.0 Received: by 10.112.24.103 with SMTP id t7mr1190143lbf.22.1334062531399; Tue, 10 Apr 2012 05:55:31 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.112.93.138 with HTTP; Tue, 10 Apr 2012 05:55:31 -0700 (PDT) In-Reply-To: <20120410114118.GB93449@alchemy.franken.de> References: <201204092241.q39MfJZn081610@svn.freebsd.org> <20120409230949.GB68111@alchemy.franken.de> <20120410114118.GB93449@alchemy.franken.de> Date: Tue, 10 Apr 2012 13:55:31 +0100 X-Google-Sender-Auth: a-tWbvcxa0dFdcwVNeOCGrJzbFE Message-ID: From: Attilio Rao To: Marius Strobl Content-Type: text/plain; charset=UTF-8 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, John Baldwin Subject: Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 12:55:33 -0000 Il 10 aprile 2012 12:41, Marius Strobl ha scritto: > On Tue, Apr 10, 2012 at 01:03:56AM +0100, Attilio Rao wrote: >> Il 10 aprile 2012 00:09, Marius Strobl ha scritto: >> > On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote: >> >> Author: attilio >> >> Date: Mon Apr ??9 22:41:19 2012 >> >> New Revision: 234074 >> >> URL: http://svn.freebsd.org/changeset/base/234074 >> >> >> >> Log: >> >> ?? BSP is not added to the mask of valid target CPUs for interrupts >> >> ?? in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not >> >> ?? called in the !SMP case too. >> >> ?? Fix this by: >> >> ?? - Adding the BSP as an interrupt target directly in cpu_startup(). >> >> ?? - Remove an obsolete optimization where the BSP are skipped in >> >> ?? ?? set_apic_interrupt_ids(). >> >> >> >> ?? Reported by: ?? ?? ?? ??jh >> >> ?? Reviewed by: ?? ?? ?? ??jhb >> >> ?? MFC after: ??3 days >> >> ?? X-MFC: ?? ?? ?? ?? ?? ?? ??r233961 >> >> ?? Pointy hat to: ?? ?? ??me >> >> >> >> Modified: >> >> ?? head/sys/amd64/amd64/machdep.c >> >> ?? head/sys/amd64/amd64/mp_machdep.c >> >> ?? head/sys/i386/i386/machdep.c >> >> ?? head/sys/i386/i386/mp_machdep.c >> >> >> >> Modified: head/sys/amd64/amd64/machdep.c >> >> ============================================================================== >> >> --- head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:01:43 2012 ?? ?? ?? ??(r234073) >> >> +++ head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:41:19 2012 ?? ?? ?? ??(r234074) >> >> @@ -295,6 +295,11 @@ cpu_startup(dummy) >> >> ?? ?? ?? vm_pager_bufferinit(); >> >> >> >> ?? ?? ?? cpu_setregs(); >> >> + >> >> + ?? ?? /* >> >> + ?? ?? ??* Add BSP as an interrupt target. >> >> + ?? ?? ??*/ >> >> + ?? ?? intr_add_cpu(0); >> >> ??} >> > >> > If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be >> > here as well. >> >> You are right, sorry, I did forgot to test without SMP. >> I think we still need intr_add_cpu() on cpu_startup() because of the >> case smp_disabled = 1. >> I think the attached patch should make its dirty job, opinion? > > I currently fail to see why the latter approach would be necessary, > i.e. IMO wrapping the intr_add_cpu() calls in cpu_startup() should > be sufficient. In case the kernel is compiled without SMP support, > interrupt balancing support isn't available in the first place and > the BSP is always the only available target (see the UP version of > intr_next_cpu() at the end of x86/x86/intr_machdep.c), so there's > no need to add the BSP as a valid target. If an SMP kernel is run > on a UP machine or with SMP disabled, interrupt balancing support > is available but the intr_add_cpu() calls in cpu_startup() will add > the BSP as (the only) target, so everything should be fine. Maybe > you can elaborate on why you think an SMP kernel with SMP disabled > needs special handling. I do not understand what you mean. Right now there is a compile time issue where for !SMP kernel it won't compile and this is what I'm trying to fix now, so I don't understand what do you mean here. Attilio -- Peace can only be achieved by understanding - A. Einstein From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 13:25:48 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B829E106564A; Tue, 10 Apr 2012 13:25:48 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) by mx1.freebsd.org (Postfix) with ESMTP id 5F05B8FC12; Tue, 10 Apr 2012 13:25:48 +0000 (UTC) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.14.4/8.14.4/ALCHEMY.FRANKEN.DE) with ESMTP id q3ADPkl7032854; Tue, 10 Apr 2012 15:25:47 +0200 (CEST) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.14.4/8.14.4/Submit) id q3ADPkv6032853; Tue, 10 Apr 2012 15:25:46 +0200 (CEST) (envelope-from marius) Date: Tue, 10 Apr 2012 15:25:46 +0200 From: Marius Strobl To: Attilio Rao Message-ID: <20120410132546.GF93449@alchemy.franken.de> References: <201204092241.q39MfJZn081610@svn.freebsd.org> <20120409230949.GB68111@alchemy.franken.de> <20120410114118.GB93449@alchemy.franken.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, John Baldwin Subject: Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 13:25:48 -0000 On Tue, Apr 10, 2012 at 01:55:31PM +0100, Attilio Rao wrote: > Il 10 aprile 2012 12:41, Marius Strobl ha scritto: > > On Tue, Apr 10, 2012 at 01:03:56AM +0100, Attilio Rao wrote: > >> Il 10 aprile 2012 00:09, Marius Strobl ha scritto: > >> > On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote: > >> >> Author: attilio > >> >> Date: Mon Apr ??9 22:41:19 2012 > >> >> New Revision: 234074 > >> >> URL: http://svn.freebsd.org/changeset/base/234074 > >> >> > >> >> Log: > >> >> ?? BSP is not added to the mask of valid target CPUs for interrupts > >> >> ?? in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not > >> >> ?? called in the !SMP case too. > >> >> ?? Fix this by: > >> >> ?? - Adding the BSP as an interrupt target directly in cpu_startup(). > >> >> ?? - Remove an obsolete optimization where the BSP are skipped in > >> >> ?? ?? set_apic_interrupt_ids(). > >> >> > >> >> ?? Reported by: ?? ?? ?? ??jh > >> >> ?? Reviewed by: ?? ?? ?? ??jhb > >> >> ?? MFC after: ??3 days > >> >> ?? X-MFC: ?? ?? ?? ?? ?? ?? ??r233961 > >> >> ?? Pointy hat to: ?? ?? ??me > >> >> > >> >> Modified: > >> >> ?? head/sys/amd64/amd64/machdep.c > >> >> ?? head/sys/amd64/amd64/mp_machdep.c > >> >> ?? head/sys/i386/i386/machdep.c > >> >> ?? head/sys/i386/i386/mp_machdep.c > >> >> > >> >> Modified: head/sys/amd64/amd64/machdep.c > >> >> ============================================================================== > >> >> --- head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:01:43 2012 ?? ?? ?? ??(r234073) > >> >> +++ head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:41:19 2012 ?? ?? ?? ??(r234074) > >> >> @@ -295,6 +295,11 @@ cpu_startup(dummy) > >> >> ?? ?? ?? vm_pager_bufferinit(); > >> >> > >> >> ?? ?? ?? cpu_setregs(); > >> >> + > >> >> + ?? ?? /* > >> >> + ?? ?? ??* Add BSP as an interrupt target. > >> >> + ?? ?? ??*/ > >> >> + ?? ?? intr_add_cpu(0); > >> >> ??} > >> > > >> > If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be > >> > here as well. > >> > >> You are right, sorry, I did forgot to test without SMP. > >> I think we still need intr_add_cpu() on cpu_startup() because of the > >> case smp_disabled = 1. > >> I think the attached patch should make its dirty job, opinion? > > > > I currently fail to see why the latter approach would be necessary, > > i.e. IMO wrapping the intr_add_cpu() calls in cpu_startup() should > > be sufficient. In case the kernel is compiled without SMP support, > > interrupt balancing support isn't available in the first place and > > the BSP is always the only available target (see the UP version of > > intr_next_cpu() at the end of x86/x86/intr_machdep.c), so there's > > no need to add the BSP as a valid target. If an SMP kernel is run > > on a UP machine or with SMP disabled, interrupt balancing support > > is available but the intr_add_cpu() calls in cpu_startup() will add > > the BSP as (the only) target, so everything should be fine. Maybe > > you can elaborate on why you think an SMP kernel with SMP disabled > > needs special handling. > > I do not understand what you mean. Well, so we are at least in the same boat :) > Right now there is a compile time issue where for !SMP kernel it won't > compile and this is what I'm trying to fix now, so I don't understand > what do you mean here. > AFAICT the below patch should take care of UP in both the compile-time and run-time cases. Marius Index: amd64/amd64/machdep.c =================================================================== --- amd64/amd64/machdep.c (revision 234095) +++ amd64/amd64/machdep.c (working copy) @@ -296,10 +296,12 @@ cpu_startup(dummy) cpu_setregs(); +#ifdef SMP /* * Add BSP as an interrupt target. */ intr_add_cpu(0); +#endif } /* Index: i386/i386/machdep.c =================================================================== --- i386/i386/machdep.c (revision 234095) +++ i386/i386/machdep.c (working copy) @@ -337,10 +337,12 @@ cpu_startup(dummy) cpu_setregs(); #endif +#ifdef SMP /* * Add BSP as an interrupt target. */ intr_add_cpu(0); +#endif } /* From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 13:28:46 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4035C106566C; Tue, 10 Apr 2012 13:28:46 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1.freebsd.org (Postfix) with ESMTP id 0EA9C8FC08; Tue, 10 Apr 2012 13:28:44 +0000 (UTC) Received: by lbbgj3 with SMTP id gj3so752603lbb.13 for ; Tue, 10 Apr 2012 06:28:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=lXcEahCCrJ8d/Mn49t0jMPR/A5qtEHT1F/EVmSbGlz0=; b=EFHPWywOg2EzB4+A4OVF1Ar88G4+JsbylITP+T82iulecn5X66eTUp7/3F7bhMgZuF pmmHUrJek7kRf2jTXh5uTVqb+lpRFESFcUnzJ74Y/Jg+cyZqTSWtt2MaQ1uLFLcUK7Fh R2SPFcDTdyxOssSlOITM36W4mUgI81m3nSTYBki/6HPbjU4tjfunSF1Zij4HHQUmgvOO QHtX66HQ8s/5nw+j/HsGhZjRerD4ptOTiBSPPnpv8akzilFwPBpWWsCb6c0Ttw1sLFdv vhs4tWoA7socr4zzr1h72z7lYLwQ9geyO95zPF1VmD1ZVKaT3+dmSjcquFcnMd/3m5cw mfQg== MIME-Version: 1.0 Received: by 10.112.84.42 with SMTP id v10mr1272733lby.50.1334064518361; Tue, 10 Apr 2012 06:28:38 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.112.93.138 with HTTP; Tue, 10 Apr 2012 06:28:38 -0700 (PDT) In-Reply-To: <20120410132546.GF93449@alchemy.franken.de> References: <201204092241.q39MfJZn081610@svn.freebsd.org> <20120409230949.GB68111@alchemy.franken.de> <20120410114118.GB93449@alchemy.franken.de> <20120410132546.GF93449@alchemy.franken.de> Date: Tue, 10 Apr 2012 14:28:38 +0100 X-Google-Sender-Auth: joA5UCz302MFD8HDFgks66EnpLg Message-ID: From: Attilio Rao To: Marius Strobl Content-Type: text/plain; charset=UTF-8 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, John Baldwin Subject: Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 13:28:46 -0000 Il 10 aprile 2012 14:25, Marius Strobl ha scritto: > On Tue, Apr 10, 2012 at 01:55:31PM +0100, Attilio Rao wrote: >> Il 10 aprile 2012 12:41, Marius Strobl ha scritto: >> > On Tue, Apr 10, 2012 at 01:03:56AM +0100, Attilio Rao wrote: >> >> Il 10 aprile 2012 00:09, Marius Strobl ha scritto: >> >> > On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote: >> >> >> Author: attilio >> >> >> Date: Mon Apr ??9 22:41:19 2012 >> >> >> New Revision: 234074 >> >> >> URL: http://svn.freebsd.org/changeset/base/234074 >> >> >> >> >> >> Log: >> >> >> ?? BSP is not added to the mask of valid target CPUs for interrupts >> >> >> ?? in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not >> >> >> ?? called in the !SMP case too. >> >> >> ?? Fix this by: >> >> >> ?? - Adding the BSP as an interrupt target directly in cpu_startup(). >> >> >> ?? - Remove an obsolete optimization where the BSP are skipped in >> >> >> ?? ?? set_apic_interrupt_ids(). >> >> >> >> >> >> ?? Reported by: ?? ?? ?? ??jh >> >> >> ?? Reviewed by: ?? ?? ?? ??jhb >> >> >> ?? MFC after: ??3 days >> >> >> ?? X-MFC: ?? ?? ?? ?? ?? ?? ??r233961 >> >> >> ?? Pointy hat to: ?? ?? ??me >> >> >> >> >> >> Modified: >> >> >> ?? head/sys/amd64/amd64/machdep.c >> >> >> ?? head/sys/amd64/amd64/mp_machdep.c >> >> >> ?? head/sys/i386/i386/machdep.c >> >> >> ?? head/sys/i386/i386/mp_machdep.c >> >> >> >> >> >> Modified: head/sys/amd64/amd64/machdep.c >> >> >> ============================================================================== >> >> >> --- head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:01:43 2012 ?? ?? ?? ??(r234073) >> >> >> +++ head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:41:19 2012 ?? ?? ?? ??(r234074) >> >> >> @@ -295,6 +295,11 @@ cpu_startup(dummy) >> >> >> ?? ?? ?? vm_pager_bufferinit(); >> >> >> >> >> >> ?? ?? ?? cpu_setregs(); >> >> >> + >> >> >> + ?? ?? /* >> >> >> + ?? ?? ??* Add BSP as an interrupt target. >> >> >> + ?? ?? ??*/ >> >> >> + ?? ?? intr_add_cpu(0); >> >> >> ??} >> >> > >> >> > If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be >> >> > here as well. >> >> >> >> You are right, sorry, I did forgot to test without SMP. >> >> I think we still need intr_add_cpu() on cpu_startup() because of the >> >> case smp_disabled = 1. >> >> I think the attached patch should make its dirty job, opinion? >> > >> > I currently fail to see why the latter approach would be necessary, >> > i.e. IMO wrapping the intr_add_cpu() calls in cpu_startup() should >> > be sufficient. In case the kernel is compiled without SMP support, >> > interrupt balancing support isn't available in the first place and >> > the BSP is always the only available target (see the UP version of >> > intr_next_cpu() at the end of x86/x86/intr_machdep.c), so there's >> > no need to add the BSP as a valid target. If an SMP kernel is run >> > on a UP machine or with SMP disabled, interrupt balancing support >> > is available but the intr_add_cpu() calls in cpu_startup() will add >> > the BSP as (the only) target, so everything should be fine. Maybe >> > you can elaborate on why you think an SMP kernel with SMP disabled >> > needs special handling. >> >> I do not understand what you mean. > > Well, so we are at least in the same boat :) > >> Right now there is a compile time issue where for !SMP kernel it won't >> compile and this is what I'm trying to fix now, so I don't understand >> what do you mean here. >> > > AFAICT the below patch should take care of UP in both the compile-time > and run-time cases. Not sure why, I was convinced that this patch was going to break the SMP + smp_disabled=1 case but of course it is not. Please go ahead and commit it, thanks. Attilio -- Peace can only be achieved by understanding - A. Einstein From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 13:37:43 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 97ACF106564A; Tue, 10 Apr 2012 13:37:43 +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 818918FC1A; Tue, 10 Apr 2012 13:37:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3ADbhMm025823; Tue, 10 Apr 2012 13:37:43 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3ADbhss025821; Tue, 10 Apr 2012 13:37:43 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201204101337.q3ADbhss025821@svn.freebsd.org> From: Nathan Whitehorn Date: Tue, 10 Apr 2012 13:37:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234097 - stable/9/lib/libc/powerpc64/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 13:37:43 -0000 Author: nwhitehorn Date: Tue Apr 10 13:37:43 2012 New Revision: 234097 URL: http://svn.freebsd.org/changeset/base/234097 Log: MFC r234003: Properly resolve the _ctx_start function descriptor (the symbol _ctx_start is a descriptor, not a code address), which prevents crashes when starting a context. This fixes QEMU on powerpc64. Modified: stable/9/lib/libc/powerpc64/gen/makecontext.c Directory Properties: stable/9/lib/libc/ (props changed) Modified: stable/9/lib/libc/powerpc64/gen/makecontext.c ============================================================================== --- stable/9/lib/libc/powerpc64/gen/makecontext.c Tue Apr 10 13:31:38 2012 (r234096) +++ stable/9/lib/libc/powerpc64/gen/makecontext.c Tue Apr 10 13:37:43 2012 (r234097) @@ -111,7 +111,7 @@ __makecontext(ucontext_t *ucp, void (*st * Use caller-saved regs 14/15 to hold params that _ctx_start * will use to invoke the user-supplied func */ - mc->mc_srr0 = (uintptr_t) _ctx_start; + mc->mc_srr0 = *(uintptr_t *)_ctx_start; mc->mc_gpr[1] = (uintptr_t) sp; /* new stack pointer */ mc->mc_gpr[14] = (uintptr_t) start; /* r14 <- start */ mc->mc_gpr[15] = (uintptr_t) ucp; /* r15 <- ucp */ From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 13:58:26 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 631CB106564A; Tue, 10 Apr 2012 13:58:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 35A6D8FC0A; Tue, 10 Apr 2012 13:58:26 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 98EDFB911; Tue, 10 Apr 2012 09:58:25 -0400 (EDT) From: John Baldwin To: Marius Strobl Date: Tue, 10 Apr 2012 09:33:32 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201204092241.q39MfJZn081610@svn.freebsd.org> <20120409230949.GB68111@alchemy.franken.de> In-Reply-To: <20120409230949.GB68111@alchemy.franken.de> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201204100933.32374.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 10 Apr 2012 09:58:25 -0400 (EDT) Cc: Attilio Rao , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 13:58:26 -0000 On Monday, April 09, 2012 7:09:49 pm Marius Strobl wrote: > On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote: > > Author: attilio > > Date: Mon Apr 9 22:41:19 2012 > > New Revision: 234074 > > URL: http://svn.freebsd.org/changeset/base/234074 > > > > Log: > > BSP is not added to the mask of valid target CPUs for interrupts > > in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not > > called in the !SMP case too. > > Fix this by: > > - Adding the BSP as an interrupt target directly in cpu_startup(). > > - Remove an obsolete optimization where the BSP are skipped in > > set_apic_interrupt_ids(). > > > > Reported by: jh > > Reviewed by: jhb > > MFC after: 3 days > > X-MFC: r233961 > > Pointy hat to: me > > > > Modified: > > head/sys/amd64/amd64/machdep.c > > head/sys/amd64/amd64/mp_machdep.c > > head/sys/i386/i386/machdep.c > > head/sys/i386/i386/mp_machdep.c > > > > Modified: head/sys/amd64/amd64/machdep.c > > ============================================================================== > > --- head/sys/amd64/amd64/machdep.c Mon Apr 9 22:01:43 2012 (r234073) > > +++ head/sys/amd64/amd64/machdep.c Mon Apr 9 22:41:19 2012 (r234074) > > @@ -295,6 +295,11 @@ cpu_startup(dummy) > > vm_pager_bufferinit(); > > > > cpu_setregs(); > > + > > + /* > > + * Add BSP as an interrupt target. > > + */ > > + intr_add_cpu(0); > > } > > If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be > here as well. Correct. This is why I had put it in intr_machdep.c in the big #ifdef SMP block where all the interrupt target stuff lives. Adding #ifdef's here is fine as well though. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 13:59:35 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C513B106566C; Tue, 10 Apr 2012 13:59:35 +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 B1A218FC15; Tue, 10 Apr 2012 13:59:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3ADxZns026579; Tue, 10 Apr 2012 13:59:35 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3ADxZba026577; Tue, 10 Apr 2012 13:59:35 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204101359.q3ADxZba026577@svn.freebsd.org> From: John Baldwin Date: Tue, 10 Apr 2012 13:59:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234098 - head/sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 13:59:35 -0000 Author: jhb Date: Tue Apr 10 13:59:35 2012 New Revision: 234098 URL: http://svn.freebsd.org/changeset/base/234098 Log: Add media types for 40G media that might be used with FreeBSD. Reviewed by: bz MFC after: 2 weeks Modified: head/sys/net/if_media.h Modified: head/sys/net/if_media.h ============================================================================== --- head/sys/net/if_media.h Tue Apr 10 13:37:43 2012 (r234097) +++ head/sys/net/if_media.h Tue Apr 10 13:59:35 2012 (r234098) @@ -150,6 +150,9 @@ uint64_t ifmedia_baudrate(int); #define IFM_10G_LRM 24 /* 10GBase-LRM 850nm Multi-mode */ #define IFM_UNKNOWN 25 /* media types not defined yet */ #define IFM_10G_T 26 /* 10GBase-T - RJ45 */ +#define IFM_40G_CR4 27 /* 40GBase-CR4 */ +#define IFM_40G_SR4 28 /* 40GBase-SR4 */ +#define IFM_40G_LR4 29 /* 40GBase-LR4 */ /* note 31 is the max! */ @@ -360,6 +363,9 @@ struct ifmedia_description { { IFM_10G_TWINAX_LONG, "10Gbase-Twinax-Long" }, \ { IFM_UNKNOWN, "Unknown" }, \ { IFM_10G_T, "10Gbase-T" }, \ + { IFM_40G_CR4, "40Gbase-CR4" }, \ + { IFM_40G_SR4, "40Gbase-SR4" }, \ + { IFM_40G_LR4, "40Gbase-LR4" }, \ { 0, NULL }, \ } @@ -658,6 +664,9 @@ struct ifmedia_baudrate { { IFM_ETHER | IFM_10G_TWINAX_LONG, IF_Gbps(10ULL) }, \ { IFM_ETHER | IFM_10G_LRM, IF_Gbps(10ULL) }, \ { IFM_ETHER | IFM_10G_T, IF_Gbps(10ULL) }, \ + { IFM_ETHER | IFM_40G_CR4, IF_Gbps(40ULL) }, \ + { IFM_ETHER | IFM_40G_SR4, IF_Gbps(40ULL) }, \ + { IFM_ETHER | IFM_40G_LR4, IF_Gbps(40ULL) }, \ \ { IFM_TOKEN | IFM_TOK_STP4, IF_Mbps(4) }, \ { IFM_TOKEN | IFM_TOK_STP16, IF_Mbps(16) }, \ From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 14:01:09 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A9DDB1065674; Tue, 10 Apr 2012 14:01:09 +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 94EAA8FC1F; Tue, 10 Apr 2012 14:01:09 +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 q3AE19gK026689; Tue, 10 Apr 2012 14:01:09 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AE19Tc026685; Tue, 10 Apr 2012 14:01:09 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204101401.q3AE19Tc026685@svn.freebsd.org> From: John Baldwin Date: Tue, 10 Apr 2012 14:01:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234099 - head/sys/ofed/drivers/net/mlx4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 14:01:09 -0000 Author: jhb Date: Tue Apr 10 14:01:09 2012 New Revision: 234099 URL: http://svn.freebsd.org/changeset/base/234099 Log: Properly parse 40G media types from newer Mellanox adapters that are 40G capable. For now, map all 40G links to 40GBase-CR4. MFC after: 2 weeks Modified: head/sys/ofed/drivers/net/mlx4/en_netdev.c head/sys/ofed/drivers/net/mlx4/en_port.c head/sys/ofed/drivers/net/mlx4/en_port.h Modified: head/sys/ofed/drivers/net/mlx4/en_netdev.c ============================================================================== --- head/sys/ofed/drivers/net/mlx4/en_netdev.c Tue Apr 10 13:59:35 2012 (r234098) +++ head/sys/ofed/drivers/net/mlx4/en_netdev.c Tue Apr 10 14:01:09 2012 (r234099) @@ -991,12 +991,20 @@ static int mlx4_en_calc_media(struct mlx active |= IFM_FDX; trans_type = priv->port_state.transciver; /* XXX I don't know all of the transceiver values. */ - if (priv->port_state.link_speed == 1000) + switch (priv->port_state.link_speed) { + case 1000: active |= IFM_1000_T; - else if (trans_type > 0 && trans_type <= 0xC) - active |= IFM_10G_SR; - else if (trans_type == 0x80 || trans_type == 0) - active |= IFM_10G_CX4; + break; + case 10000: + if (trans_type > 0 && trans_type <= 0xC) + active |= IFM_10G_SR; + else if (trans_type == 0x80 || trans_type == 0) + active |= IFM_10G_CX4; + break; + case 40000: + active |= IFM_40G_CR4; + break; + } if (priv->prof->tx_pause) active |= IFM_ETH_TXPAUSE; if (priv->prof->rx_pause) Modified: head/sys/ofed/drivers/net/mlx4/en_port.c ============================================================================== --- head/sys/ofed/drivers/net/mlx4/en_port.c Tue Apr 10 13:59:35 2012 (r234098) +++ head/sys/ofed/drivers/net/mlx4/en_port.c Tue Apr 10 14:01:09 2012 (r234099) @@ -152,11 +152,21 @@ int mlx4_en_QUERY_PORT(struct mlx4_en_de /* This command is always accessed from Ethtool context * already synchronized, no need in locking */ state->link_state = !!(qport_context->link_up & MLX4_EN_LINK_UP_MASK); - if ((qport_context->link_speed & MLX4_EN_SPEED_MASK) == - MLX4_EN_1G_SPEED) + switch (qport_context->link_speed & MLX4_EN_SPEED_MASK) { + case MLX4_EN_1G_SPEED: state->link_speed = 1000; - else + break; + case MLX4_EN_10G_SPEED_XAUI: + case MLX4_EN_10G_SPEED_XFI: state->link_speed = 10000; + break; + case MLX4_EN_40G_SPEED: + state->link_speed = 40000; + break; + default: + state->link_speed = -1; + break; + } state->transciver = qport_context->transceiver; if (be32_to_cpu(qport_context->transceiver_code_hi) & 0x400) state->transciver = 0x80; Modified: head/sys/ofed/drivers/net/mlx4/en_port.h ============================================================================== --- head/sys/ofed/drivers/net/mlx4/en_port.h Tue Apr 10 13:59:35 2012 (r234098) +++ head/sys/ofed/drivers/net/mlx4/en_port.h Tue Apr 10 14:01:09 2012 (r234099) @@ -85,6 +85,14 @@ enum { MLX4_MCAST_ENABLE = 2, }; +enum { + MLX4_EN_1G_SPEED = 0x02, + MLX4_EN_10G_SPEED_XFI = 0x01, + MLX4_EN_10G_SPEED_XAUI = 0x00, + MLX4_EN_40G_SPEED = 0x40, + MLX4_EN_OTHER_SPEED = 0x0f, +}; + struct mlx4_en_query_port_context { u8 link_up; #define MLX4_EN_LINK_UP_MASK 0x80 @@ -92,8 +100,7 @@ struct mlx4_en_query_port_context { __be16 mtu; u8 reserved2; u8 link_speed; -#define MLX4_EN_SPEED_MASK 0x3 -#define MLX4_EN_1G_SPEED 0x2 +#define MLX4_EN_SPEED_MASK 0x43 u16 reserved3[5]; __be64 mac; u8 transceiver; From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 15:29:29 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6C44C106564A; Tue, 10 Apr 2012 15:29:29 +0000 (UTC) (envelope-from schweikh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 56C208FC14; Tue, 10 Apr 2012 15:29: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 q3AFTTA9029570; Tue, 10 Apr 2012 15:29:29 GMT (envelope-from schweikh@svn.freebsd.org) Received: (from schweikh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AFTTj6029568; Tue, 10 Apr 2012 15:29:29 GMT (envelope-from schweikh@svn.freebsd.org) Message-Id: <201204101529.q3AFTTj6029568@svn.freebsd.org> From: Jens Schweikhardt Date: Tue, 10 Apr 2012 15:29:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234101 - head/usr.bin/lex X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 15:29:29 -0000 Author: schweikh Date: Tue Apr 10 15:29:28 2012 New Revision: 234101 URL: http://svn.freebsd.org/changeset/base/234101 Log: Parenthesize args in yyless() and unput() replacement text so they are safer when used with expressions. MFC after: 1 week Modified: head/usr.bin/lex/flex.skl Modified: head/usr.bin/lex/flex.skl ============================================================================== --- head/usr.bin/lex/flex.skl Tue Apr 10 14:29:56 2012 (r234100) +++ head/usr.bin/lex/flex.skl Tue Apr 10 15:29:28 2012 (r234101) @@ -122,7 +122,7 @@ extern FILE *yyin, *yyout; #define EOB_ACT_LAST_MATCH 2 /* The funky do-while in the following #define is used to turn the definition - * int a single C statement (which needs a semi-colon terminator). This + * into a single C statement (which needs a semi-colon terminator). This * avoids problems with code like: * * if ( condition_holds ) @@ -143,12 +143,12 @@ extern FILE *yyin, *yyout; /* Undo effects of setting up yytext. */ \ *yy_cp = yy_hold_char; \ YY_RESTORE_YY_MORE_OFFSET \ - yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ + yy_c_buf_p = yy_cp = yy_bp + (n) - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) -#define unput(c) yyunput( c, yytext_ptr ) +#define unput(c) yyunput( (c), yytext_ptr ) /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 15:59:38 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44084106564A; Tue, 10 Apr 2012 15:59:38 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 156CB8FC18; Tue, 10 Apr 2012 15:59:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3AFxbLh030566; Tue, 10 Apr 2012 15:59:37 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AFxbX2030563; Tue, 10 Apr 2012 15:59:37 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201204101559.q3AFxbX2030563@svn.freebsd.org> From: Jaakko Heinonen Date: Tue, 10 Apr 2012 15:59:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234103 - in head: lib/libc/sys sys/ufs/ufs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 15:59:38 -0000 Author: jh Date: Tue Apr 10 15:59:37 2012 New Revision: 234103 URL: http://svn.freebsd.org/changeset/base/234103 Log: - Return EPERM from ufs_setattr() when an user without PRIV_VFS_SYSFLAGS privilege attempts to toggle SF_SETTABLE flags. - Use the '^' operator in the SF_SNAPSHOT anti-toggling check. Flags are now stored to ip->i_flags in one place after all checks. Submitted by: bde Modified: head/lib/libc/sys/chflags.2 head/sys/ufs/ufs/ufs_vnops.c Modified: head/lib/libc/sys/chflags.2 ============================================================================== --- head/lib/libc/sys/chflags.2 Tue Apr 10 15:58:22 2012 (r234102) +++ head/lib/libc/sys/chflags.2 Tue Apr 10 15:59:37 2012 (r234103) @@ -28,7 +28,7 @@ .\" @(#)chflags.2 8.3 (Berkeley) 5/2/95 .\" $FreeBSD$ .\" -.Dd Oct 29, 2010 +.Dd Apr 10, 2012 .Dt CHFLAGS 2 .Os .Sh NAME @@ -114,8 +114,7 @@ The and .Dv SF_ARCHIVED flags may only be set or unset by the super-user. -Attempts to set these flags by non-super-users are rejected, attempts by -non-superusers to clear flags that are already unset are silently ignored. +Attempts to toggle these flags by non-super-users are rejected. These flags may be set at any time, but normally may only be unset when the system is in single-user mode. (See Modified: head/sys/ufs/ufs/ufs_vnops.c ============================================================================== --- head/sys/ufs/ufs/ufs_vnops.c Tue Apr 10 15:58:22 2012 (r234102) +++ head/sys/ufs/ufs/ufs_vnops.c Tue Apr 10 15:59:37 2012 (r234103) @@ -555,23 +555,17 @@ ufs_setattr(ap) if (error) return (error); } - /* Snapshot flag cannot be set or cleared */ - if (((vap->va_flags & SF_SNAPSHOT) != 0 && - (ip->i_flags & SF_SNAPSHOT) == 0) || - ((vap->va_flags & SF_SNAPSHOT) == 0 && - (ip->i_flags & SF_SNAPSHOT) != 0)) + /* The snapshot flag cannot be toggled. */ + if ((vap->va_flags ^ ip->i_flags) & SF_SNAPSHOT) return (EPERM); - ip->i_flags = vap->va_flags; - DIP_SET(ip, i_flags, vap->va_flags); } else { if (ip->i_flags & (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND) || - (vap->va_flags & UF_SETTABLE) != vap->va_flags) + ((vap->va_flags ^ ip->i_flags) & SF_SETTABLE)) return (EPERM); - ip->i_flags &= SF_SETTABLE; - ip->i_flags |= (vap->va_flags & UF_SETTABLE); - DIP_SET(ip, i_flags, ip->i_flags); } + ip->i_flags = vap->va_flags; + DIP_SET(ip, i_flags, vap->va_flags); ip->i_flag |= IN_CHANGE; error = UFS_UPDATE(vp, 0); if (ip->i_flags & (IMMUTABLE | APPEND)) From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 16:05:52 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBBB6106564A; Tue, 10 Apr 2012 16:05:52 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D76948FC0C; Tue, 10 Apr 2012 16:05:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3AG5qbC030818; Tue, 10 Apr 2012 16:05:52 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AG5qaH030816; Tue, 10 Apr 2012 16:05:52 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201204101605.q3AG5qaH030816@svn.freebsd.org> From: Jaakko Heinonen Date: Tue, 10 Apr 2012 16:05:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234104 - head/sys/fs/ext2fs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 16:05:53 -0000 Author: jh Date: Tue Apr 10 16:05:52 2012 New Revision: 234104 URL: http://svn.freebsd.org/changeset/base/234104 Log: Apply changes from r233787 to ext2fs: - Use more natural ip->i_flags instead of vap->va_flags in the final flags check. - Style improvements. No functional change intended. MFC after: 2 weeks Modified: head/sys/fs/ext2fs/ext2_vnops.c Modified: head/sys/fs/ext2fs/ext2_vnops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vnops.c Tue Apr 10 15:59:37 2012 (r234103) +++ head/sys/fs/ext2fs/ext2_vnops.c Tue Apr 10 16:05:52 2012 (r234104) @@ -407,7 +407,6 @@ ext2_setattr(ap) /* Disallow flags not supported by ext2fs. */ if(vap->va_flags & ~(SF_APPEND | SF_IMMUTABLE | UF_NODUMP)) return (EOPNOTSUPP); - if (vp->v_mount->mnt_flag & MNT_RDONLY) return (EROFS); /* @@ -424,23 +423,23 @@ ext2_setattr(ap) * if securelevel > 0 and any existing system flags are set. */ if (!priv_check_cred(cred, PRIV_VFS_SYSFLAGS, 0)) { - if (ip->i_flags - & (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND)) { + if (ip->i_flags & + (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND)) { error = securelevel_gt(cred, 0); if (error) return (error); } ip->i_flags = vap->va_flags; } else { - if (ip->i_flags - & (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND) || + if (ip->i_flags & + (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND) || (vap->va_flags & UF_SETTABLE) != vap->va_flags) return (EPERM); ip->i_flags &= SF_SETTABLE; ip->i_flags |= (vap->va_flags & UF_SETTABLE); } ip->i_flag |= IN_CHANGE; - if (vap->va_flags & (IMMUTABLE | APPEND)) + if (ip->i_flags & (IMMUTABLE | APPEND)) return (0); } if (ip->i_flags & (IMMUTABLE | APPEND)) From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 16:08:47 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 60A4E106566C; Tue, 10 Apr 2012 16:08:47 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4B6588FC12; Tue, 10 Apr 2012 16:08:47 +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 q3AG8l3m030934; Tue, 10 Apr 2012 16:08:47 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AG8l4l030931; Tue, 10 Apr 2012 16:08:47 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204101608.q3AG8l4l030931@svn.freebsd.org> From: Marius Strobl Date: Tue, 10 Apr 2012 16:08:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234105 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 16:08:47 -0000 Author: marius Date: Tue Apr 10 16:08:46 2012 New Revision: 234105 URL: http://svn.freebsd.org/changeset/base/234105 Log: Fix !SMP build after r234074. Reviewed by: attilio, jhb Modified: head/sys/amd64/amd64/machdep.c head/sys/i386/i386/machdep.c Modified: head/sys/amd64/amd64/machdep.c ============================================================================== --- head/sys/amd64/amd64/machdep.c Tue Apr 10 16:05:52 2012 (r234104) +++ head/sys/amd64/amd64/machdep.c Tue Apr 10 16:08:46 2012 (r234105) @@ -296,10 +296,12 @@ cpu_startup(dummy) cpu_setregs(); +#ifdef SMP /* * Add BSP as an interrupt target. */ intr_add_cpu(0); +#endif } /* Modified: head/sys/i386/i386/machdep.c ============================================================================== --- head/sys/i386/i386/machdep.c Tue Apr 10 16:05:52 2012 (r234104) +++ head/sys/i386/i386/machdep.c Tue Apr 10 16:08:46 2012 (r234105) @@ -337,10 +337,12 @@ cpu_startup(dummy) cpu_setregs(); #endif +#ifdef SMP /* * Add BSP as an interrupt target. */ intr_add_cpu(0); +#endif } /* From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 16:33:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E08BF1065670; Tue, 10 Apr 2012 16:33:19 +0000 (UTC) (envelope-from jimharris@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CB5FA8FC0C; Tue, 10 Apr 2012 16:33:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3AGXJPW031719; Tue, 10 Apr 2012 16:33:19 GMT (envelope-from jimharris@svn.freebsd.org) Received: (from jimharris@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AGXJjG031714; Tue, 10 Apr 2012 16:33:19 GMT (envelope-from jimharris@svn.freebsd.org) Message-Id: <201204101633.q3AGXJjG031714@svn.freebsd.org> From: Jim Harris Date: Tue, 10 Apr 2012 16:33:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234106 - head/sys/dev/isci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 16:33:20 -0000 Author: jimharris Date: Tue Apr 10 16:33:19 2012 New Revision: 234106 URL: http://svn.freebsd.org/changeset/base/234106 Log: Queue CCBs internally instead of using CAM_REQUEUE_REQ status. This fixes problem where userspace apps such as smartctl fail due to CAM_REQUEUE_REQ status getting returned when tagged commands are outstanding when smartctl sends its I/O using the pass(4) interface. Sponsored by: Intel Found and tested by: Ravi Pokala Reviewed by: scottl Approved by: scottl MFC after: 1 week Modified: head/sys/dev/isci/isci.h head/sys/dev/isci/isci_controller.c head/sys/dev/isci/isci_io_request.c head/sys/dev/isci/isci_remote_device.c Modified: head/sys/dev/isci/isci.h ============================================================================== --- head/sys/dev/isci/isci.h Tue Apr 10 16:08:46 2012 (r234105) +++ head/sys/dev/isci/isci.h Tue Apr 10 16:33:19 2012 (r234106) @@ -86,6 +86,7 @@ struct ISCI_REMOTE_DEVICE { BOOL is_resetting; uint32_t frozen_lun_mask; SCI_FAST_LIST_ELEMENT_T pending_device_reset_element; + TAILQ_HEAD(,ccb_hdr) queued_ccbs; }; struct ISCI_DOMAIN { Modified: head/sys/dev/isci/isci_controller.c ============================================================================== --- head/sys/dev/isci/isci_controller.c Tue Apr 10 16:08:46 2012 (r234105) +++ head/sys/dev/isci/isci_controller.c Tue Apr 10 16:33:19 2012 (r234106) @@ -430,6 +430,7 @@ int isci_controller_allocate_memory(stru remote_device->frozen_lun_mask = 0; sci_fast_list_element_init(remote_device, &remote_device->pending_device_reset_element); + TAILQ_INIT(&remote_device->queued_ccbs); /* * For the first SCI_MAX_DOMAINS device objects, do not put Modified: head/sys/dev/isci/isci_io_request.c ============================================================================== --- head/sys/dev/isci/isci_io_request.c Tue Apr 10 16:08:46 2012 (r234105) +++ head/sys/dev/isci/isci_io_request.c Tue Apr 10 16:33:19 2012 (r234106) @@ -85,7 +85,9 @@ isci_io_request_complete(SCI_CONTROLLER_ struct ISCI_CONTROLLER *isci_controller; struct ISCI_REMOTE_DEVICE *isci_remote_device; union ccb *ccb; + BOOL complete_ccb; + complete_ccb = TRUE; isci_controller = (struct ISCI_CONTROLLER *) sci_object_get_association(scif_controller); isci_remote_device = (struct ISCI_REMOTE_DEVICE *) sci_object_get_association(remote_device); @@ -163,9 +165,7 @@ isci_io_request_complete(SCI_CONTROLLER_ case SCI_IO_FAILURE_INVALID_STATE: case SCI_IO_FAILURE_INSUFFICIENT_RESOURCES: - ccb->ccb_h.status |= CAM_REQUEUE_REQ; - isci_remote_device_freeze_lun_queue(isci_remote_device, - ccb->ccb_h.target_lun); + complete_ccb = FALSE; break; case SCI_IO_FAILURE_INVALID_REMOTE_DEVICE: @@ -189,7 +189,7 @@ isci_io_request_complete(SCI_CONTROLLER_ scif_remote_device_get_max_queue_depth(remote_device); xpt_action((union ccb *)&ccb_relsim); xpt_free_path(path); - ccb->ccb_h.status |= CAM_REQUEUE_REQ; + complete_ccb = FALSE; } break; @@ -209,17 +209,6 @@ isci_io_request_complete(SCI_CONTROLLER_ break; } - if (ccb->ccb_h.status != CAM_REQ_CMP) { - /* ccb will be completed with some type of non-success - * status. So temporarily freeze the queue until the - * upper layers can act on the status. The CAM_DEV_QFRZN - * flag will then release the queue after the status is - * acted upon. - */ - ccb->ccb_h.status |= CAM_DEV_QFRZN; - xpt_freeze_devq(ccb->ccb_h.path, 1); - } - callout_stop(&isci_request->parent.timer); bus_dmamap_sync(isci_request->parent.dma_tag, isci_request->parent.dma_map, @@ -228,20 +217,43 @@ isci_io_request_complete(SCI_CONTROLLER_ bus_dmamap_unload(isci_request->parent.dma_tag, isci_request->parent.dma_map); - if (isci_remote_device->frozen_lun_mask != 0 && - !(ccb->ccb_h.status & CAM_REQUEUE_REQ)) - isci_remote_device_release_device_queue(isci_remote_device); - - xpt_done(ccb); isci_request->ccb = NULL; - if (isci_controller->is_frozen == TRUE) { - isci_controller->is_frozen = FALSE; - xpt_release_simq(isci_controller->sim, TRUE); - } - sci_pool_put(isci_controller->request_pool, (struct ISCI_REQUEST *)isci_request); + + if (complete_ccb) { + if (ccb->ccb_h.status != CAM_REQ_CMP) { + /* ccb will be completed with some type of non-success + * status. So temporarily freeze the queue until the + * upper layers can act on the status. The + * CAM_DEV_QFRZN flag will then release the queue + * after the status is acted upon. + */ + ccb->ccb_h.status |= CAM_DEV_QFRZN; + xpt_freeze_devq(ccb->ccb_h.path, 1); + } + + if (isci_remote_device->frozen_lun_mask != 0) { + isci_remote_device_release_device_queue(isci_remote_device); + } + + xpt_done(ccb); + + if (isci_controller->is_frozen == TRUE) { + isci_controller->is_frozen = FALSE; + xpt_release_simq(isci_controller->sim, TRUE); + } + } else { + isci_remote_device_freeze_lun_queue(isci_remote_device, + ccb->ccb_h.target_lun); + + isci_log_message(1, "ISCI", "queue %p %x\n", ccb, + ccb->csio.cdb_io.cdb_bytes[0]); + ccb->ccb_h.status |= CAM_SIM_QUEUED; + TAILQ_INSERT_TAIL(&isci_remote_device->queued_ccbs, + &ccb->ccb_h, sim_links.tqe); + } } /** Modified: head/sys/dev/isci/isci_remote_device.c ============================================================================== --- head/sys/dev/isci/isci_remote_device.c Tue Apr 10 16:08:46 2012 (r234105) +++ head/sys/dev/isci/isci_remote_device.c Tue Apr 10 16:33:19 2012 (r234106) @@ -289,9 +289,22 @@ isci_remote_device_release_lun_queue(str void isci_remote_device_release_device_queue( - struct ISCI_REMOTE_DEVICE *remote_device) + struct ISCI_REMOTE_DEVICE *device) { - lun_id_t lun; - for (lun = 0; lun < ISCI_MAX_LUN; lun++) - isci_remote_device_release_lun_queue(remote_device, lun); + if (TAILQ_EMPTY(&device->queued_ccbs)) { + lun_id_t lun; + + for (lun = 0; lun < ISCI_MAX_LUN; lun++) + isci_remote_device_release_lun_queue(device, lun); + } else { + struct ccb_hdr *ccb_h; + + ccb_h = TAILQ_FIRST(&device->queued_ccbs); + TAILQ_REMOVE(&device->queued_ccbs, ccb_h, sim_links.tqe); + ccb_h->status &= ~CAM_SIM_QUEUED; + isci_log_message(1, "ISCI", "release %p %x\n", ccb_h, + ((union ccb*)ccb_h)->csio.cdb_io.cdb_bytes[0]); + isci_io_request_execute_scsi_io((union ccb *)ccb_h, + device->domain->controller); + } } From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 17:13:19 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from [127.0.0.1] (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by hub.freebsd.org (Postfix) with ESMTP id ECF101065675; Tue, 10 Apr 2012 17:13:18 +0000 (UTC) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: Gavin Atkinson Date: Tue, 10 Apr 2012 13:13:07 -0400 User-Agent: KMail/1.6.2 References: <201204021813.q32IDTmf009879@svn.freebsd.org> In-Reply-To: MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201204101313.09608.jkim@FreeBSD.org> Cc: svn-src-stable@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-stable-9@FreeBSD.org Subject: Re: svn commit: r233797 - in stable/9/sys: amd64/conf i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 17:13:19 -0000 On Monday 09 April 2012 07:01 pm, Gavin Atkinson wrote: > On Mon, 2 Apr 2012, Jung-uk Kim wrote: > > Author: jkim > > Date: Mon Apr 2 18:13:29 2012 > > New Revision: 233797 > > URL: http://svn.freebsd.org/changeset/base/233797 > > > > Log: > > MFC: r232416, r232561 > > > > Add VESA option to GENERIC for amd64 and i386. > > This commit breaks resume for me on an IBM ThinkPad X60 running > i386 9.0. Removing VESA from the kernel again fixes resume. On > resume, I get this panic: > http://people.freebsd.org/~gavin/IMAG0881.jpg . I've tested it on > head, and get the same panic with VESA in the kernel. From the > debugger, "show registers" gives: > cs 0xc000 > ss 0x28 > edx 0x80 > esp 0xc1821fe8 > eip 0xe44f > efl 0xb0202 > with all other registers are zero. > Unfortunately, I don't know what other information I can get from > this panic. The backtrace gives no useful information, and the IP > is not within kernel space. The address is for VM86 call for video BIOS (i.e., 16-bit real mode) and it is trying to access 0x1000, which is not in the mapped address range. I have heard that some broken IBM/Lenovo BIOSes may do something like this, unfortunately. Probably we should map the whole first page for that to work around it. I'll write a patch for that and let you know privately. > BTW, this machine used to require hw.acpi.reset_video=1, but no > longer appears to require this. However, whether this is set or > not appears to make no difference to the panic above. "hw.acpi.reset_video" tunable is dangerous and deprecated. VESA module does it more safely and that's why I added it by default. :-) Jung-uk Kim From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 17:37:24 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D527D1065672; Tue, 10 Apr 2012 17:37:24 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BFDCD8FC1A; Tue, 10 Apr 2012 17:37:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3AHbOxB033711; Tue, 10 Apr 2012 17:37:24 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AHbObC033708; Tue, 10 Apr 2012 17:37:24 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201204101737.q3AHbObC033708@svn.freebsd.org> From: Juli Mallett Date: Tue, 10 Apr 2012 17:37:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234107 - head/lib/libgeom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 17:37:24 -0000 Author: jmallett Date: Tue Apr 10 17:37:24 2012 New Revision: 234107 URL: http://svn.freebsd.org/changeset/base/234107 Log: Back out r233646. Although it fixed most libgeom consumers under 32-bit compatibility, it broke programs using devstat, under 32-bit compatibility and not. It's very difficult to fix the identifiers used by devstat, so this change is simply being backed out. Since changes to 3rd-party code seem likely, and may be necessary to properly fix 32-bit binaries on 64-bit kernel, it would seem better to make more invasive changes to fix GEOM's problems with 32-bit compatibility in general. The right thing to do is to replace all of the use of pointers as opaque identifiers with a fixed-size (64-bit or even 32-bit should be enough for tracking unique GEOM elments) field. That probably maintains source compatibility with most GEOM consumers, and allows xml2tree to make better assumptions about how to decode the identifiers. Submitted by: Anton Yuzhaninov Modified: head/lib/libgeom/geom_xml2tree.c head/lib/libgeom/libgeom.h Modified: head/lib/libgeom/geom_xml2tree.c ============================================================================== --- head/lib/libgeom/geom_xml2tree.c Tue Apr 10 16:33:19 2012 (r234106) +++ head/lib/libgeom/geom_xml2tree.c Tue Apr 10 17:37:24 2012 (r234107) @@ -55,56 +55,9 @@ struct mystate { int level; struct sbuf *sbuf[20]; struct gconf *config; - unsigned nident; + int nident; }; -static void * -internalize_ident(struct mystate *mt, const char *element, const char *str) -{ - struct gident *gip; - unsigned i; - - if (mt->nident != 0 && mt->mesh->lg_ident == NULL) { - warn("Cannot continue due to previous memory exhaustion."); - return (NULL); - } - - for (i = 0; i < mt->nident; i++) { - if (strcmp(mt->mesh->lg_ident[i].lg_id, str) != 0) - continue; - return ((void *)(uintptr_t)(i + 1)); - } - - i = mt->nident; - mt->nident++; - mt->mesh->lg_ident = reallocf(mt->mesh->lg_ident, (mt->nident + 1) * sizeof mt->mesh->lg_ident[0]); - if (mt->mesh->lg_ident == NULL) { - warn("Cannot allocate memory during processing of '%s' " - "element for identifier '%s'", element, str); - return (NULL); - } - - gip = &mt->mesh->lg_ident[i]; - gip->lg_id = strdup(str); - if (gip->lg_id == NULL) { - free(mt->mesh->lg_ident); - mt->mesh->lg_ident = NULL; - warn("Cannot allocate memory during processing of '%s' " - "element for identifier '%s'", element, str); - return (NULL); - } - gip->lg_ptr = NULL; - gip->lg_what = ISUNRESOLVED; - - /* Terminator entry. */ - gip = &mt->mesh->lg_ident[i + 1]; - gip->lg_id = NULL; - gip->lg_ptr = NULL; - gip->lg_what = ISUNRESOLVED; - - return ((void *)(uintptr_t)(i + 1)); -} - static void StartElement(void *userData, const char *name, const char **attr) { @@ -120,9 +73,10 @@ StartElement(void *userData, const char ref = NULL; for (i = 0; attr[i] != NULL; i += 2) { if (!strcmp(attr[i], "id")) { - id = internalize_ident(mt, name, attr[i + 1]); + id = (void *)strtoul(attr[i + 1], NULL, 0); + mt->nident++; } else if (!strcmp(attr[i], "ref")) { - ref = internalize_ident(mt, name, attr[i + 1]); + ref = (void *)strtoul(attr[i + 1], NULL, 0); } else printf("%*.*s[%s = %s]\n", mt->level + 1, mt->level + 1, "", @@ -363,16 +317,11 @@ CharData(void *userData , const XML_Char struct gident * geom_lookupid(struct gmesh *gmp, const void *id) { - unsigned i; - - if (gmp->lg_ident == NULL) - return (NULL); + struct gident *gip; - for (i = 0; gmp->lg_ident[i].lg_id != NULL; i++) { - if (i + 1 != (unsigned)(uintptr_t)id) - continue; - return (&gmp->lg_ident[i]); - } + for (gip = gmp->lg_ident; gip->lg_id != NULL; gip++) + if (gip->lg_id == id) + return (gip); return (NULL); } @@ -385,7 +334,6 @@ geom_xml2tree(struct gmesh *gmp, char *p struct ggeom *ge; struct gprovider *pr; struct gconsumer *co; - struct gident *gip; int i; memset(gmp, 0, sizeof *gmp); @@ -408,30 +356,33 @@ geom_xml2tree(struct gmesh *gmp, char *p free(mt); return (-1); } - if (gmp->lg_ident == NULL && mt->nident != 0) { - free(mt); - return (ENOMEM); - } + gmp->lg_ident = calloc(sizeof *gmp->lg_ident, mt->nident + 1); free(mt); + if (gmp->lg_ident == NULL) + return (ENOMEM); + i = 0; /* Collect all identifiers */ LIST_FOREACH(cl, &gmp->lg_class, lg_class) { - gip = geom_lookupid(gmp, cl->lg_id); - gip->lg_ptr = cl; - gip->lg_what = ISCLASS; - + gmp->lg_ident[i].lg_id = cl->lg_id; + gmp->lg_ident[i].lg_ptr = cl; + gmp->lg_ident[i].lg_what = ISCLASS; + i++; LIST_FOREACH(ge, &cl->lg_geom, lg_geom) { - gip = geom_lookupid(gmp, ge->lg_id); - gip->lg_ptr = ge; - gip->lg_what = ISGEOM; + gmp->lg_ident[i].lg_id = ge->lg_id; + gmp->lg_ident[i].lg_ptr = ge; + gmp->lg_ident[i].lg_what = ISGEOM; + i++; LIST_FOREACH(pr, &ge->lg_provider, lg_provider) { - gip = geom_lookupid(gmp, pr->lg_id); - gip->lg_ptr = pr; - gip->lg_what = ISPROVIDER; + gmp->lg_ident[i].lg_id = pr->lg_id; + gmp->lg_ident[i].lg_ptr = pr; + gmp->lg_ident[i].lg_what = ISPROVIDER; + i++; } LIST_FOREACH(co, &ge->lg_consumer, lg_consumer) { - gip = geom_lookupid(gmp, co->lg_id); - gip->lg_ptr = co; - gip->lg_what = ISCONSUMER; + gmp->lg_ident[i].lg_id = co->lg_id; + gmp->lg_ident[i].lg_ptr = co; + gmp->lg_ident[i].lg_what = ISCONSUMER; + i++; } } } @@ -498,10 +449,7 @@ geom_deletetree(struct gmesh *gmp) struct ggeom *ge; struct gprovider *pr; struct gconsumer *co; - unsigned i; - for (i = 0; gmp->lg_ident[i].lg_id != NULL; i++) - free(gmp->lg_ident[i].lg_id); free(gmp->lg_ident); gmp->lg_ident = NULL; for (;;) { Modified: head/lib/libgeom/libgeom.h ============================================================================== --- head/lib/libgeom/libgeom.h Tue Apr 10 16:33:19 2012 (r234106) +++ head/lib/libgeom/libgeom.h Tue Apr 10 17:37:24 2012 (r234107) @@ -71,8 +71,7 @@ struct gident { enum { ISCLASS, ISGEOM, ISPROVIDER, - ISCONSUMER, - ISUNRESOLVED } lg_what; + ISCONSUMER } lg_what; }; struct gmesh { From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 17:38:55 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0D15F106564A for ; Tue, 10 Apr 2012 17:38:55 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) by mx1.freebsd.org (Postfix) with ESMTP id 8D6638FC08 for ; Tue, 10 Apr 2012 17:38:54 +0000 (UTC) Received: by wibhj6 with SMTP id hj6so3146974wib.13 for ; Tue, 10 Apr 2012 10:38:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding:x-gm-message-state; bh=NjaZMAHJX0ZiHonGHV9GJacx4mTKfe/qYpxjHIJBp4M=; b=Gch5A3wXtZcEVkkzMo29V84T4HejPUrsEQH0ZV6zgkdN2qeNZ6YeE7b/loeycnH7vu STgDic7fq2vt+Bb+kdS1rk34znTEHxo6148NXn14SOJpZ1nK587YUv/PTtTsQyGqXqCX 9DJ0IMPfdQg7EC1o7V8iiTS81SQbY1ztjfBybjgk/9V1OoLLYOjbkhl7ww+ena4EJBOY 0HBO4wRi5HzaOrPViePO9kqa12dnOyPneIxxZ+hgEqnaFHdq73EagWym34y9BMvO3DVG nHUUyx+fCanfWeM1+I60Z5AktYgIHY+OtobEfgkQIMaJLPlcT1z7jGBe+9aZ0B6Bfq16 hIUA== Received: by 10.180.80.70 with SMTP id p6mr8908893wix.21.1334079527680; Tue, 10 Apr 2012 10:38:47 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.180.86.37 with HTTP; Tue, 10 Apr 2012 10:38:27 -0700 (PDT) In-Reply-To: <4F841E68.1070000@citrin.ru> References: <201203290313.q2T3Dh8p073473@svn.freebsd.org> <4F841E68.1070000@citrin.ru> From: Juli Mallett Date: Tue, 10 Apr 2012 10:38:27 -0700 X-Google-Sender-Auth: GauJYvBpzfee-pl6uJOSbAwdTXM Message-ID: To: Anton Yuzhaninov Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Gm-Message-State: ALoCoQl/os5xEUZ7ZM+OrLTfMbgl7/3t3hqF9oZ+L6zzZZI2XupK1ux5VSSCReLZF0d/z53YUyoH Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r233646 - head/lib/libgeom X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 17:38:55 -0000 On Tue, Apr 10, 2012 at 04:50, Anton Yuzhaninov wrote: >> New Revision: 233646 >> >> Log: >> =C2=A0 Fix 32-bit libgeom consumers run on 64-bit kernels with >> COMPAT_FREEBSD32. >> > > Unfortunately, gstat don't work after this commit (64-bit kernel with > COMPAT_FREEBSD32). > > more info: > http://docs.freebsd.org/cgi/mid.cgi?jm1509$66p$1 > > After reverting r233646 gstat works. I've backed out the commit as it appears all consumers of the devstat interface would be broken, and to fix that would be non-trivial, and still leave those programs broken under 32-bit compatibility. Thanks for the report! From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 19:25:43 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F24161065672; Tue, 10 Apr 2012 19:25:43 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD6628FC0A; Tue, 10 Apr 2012 19:25:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3AJPhhE037319; Tue, 10 Apr 2012 19:25:43 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AJPh7T037317; Tue, 10 Apr 2012 19:25:43 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204101925.q3AJPh7T037317@svn.freebsd.org> From: Adrian Chadd Date: Tue, 10 Apr 2012 19:25:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234109 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 19:25:44 -0000 Author: adrian Date: Tue Apr 10 19:25:43 2012 New Revision: 234109 URL: http://svn.freebsd.org/changeset/base/234109 Log: Convert the flags over to a set of bit flags. Modified: head/sys/dev/ath/if_athvar.h Modified: head/sys/dev/ath/if_athvar.h ============================================================================== --- head/sys/dev/ath/if_athvar.h Tue Apr 10 19:11:09 2012 (r234108) +++ head/sys/dev/ath/if_athvar.h Tue Apr 10 19:25:43 2012 (r234109) @@ -206,18 +206,19 @@ struct ath_buf { uint16_t bfs_nframes; /* number of frames in aggregate */ uint16_t bfs_ndelim; /* number of delims for padding */ - int bfs_aggr:1; /* part of aggregate? */ - int bfs_aggrburst:1; /* part of aggregate burst? */ - int bfs_isretried:1; /* retried frame? */ - int bfs_dobaw:1; /* actually check against BAW? */ - int bfs_addedbaw:1; /* has been added to the BAW */ - int bfs_shpream:1; /* use short preamble */ - int bfs_istxfrag:1; /* is fragmented */ - int bfs_ismrr:1; /* do multi-rate TX retry */ - int bfs_doprot:1; /* do RTS/CTS based protection */ - int bfs_doratelookup:1; /* do rate lookup before each TX */ - int bfs_need_seqno:1; /* need to assign a seqno for aggregation */ - int bfs_seqno_assigned:1; /* seqno has been assigned */ + u_int32_t bfs_aggr:1, /* part of aggregate? */ + bfs_aggrburst:1, /* part of aggregate burst? */ + bfs_isretried:1, /* retried frame? */ + bfs_dobaw:1, /* actually check against BAW? */ + bfs_addedbaw:1, /* has been added to the BAW */ + bfs_shpream:1, /* use short preamble */ + bfs_istxfrag:1, /* is fragmented */ + bfs_ismrr:1, /* do multi-rate TX retry */ + bfs_doprot:1, /* do RTS/CTS based protection */ + bfs_doratelookup:1, /* do rate lookup before each TX */ + bfs_need_seqno:1, /* need to assign a seqno for aggr */ + bfs_seqno_assigned:1; /* seqno has been assigned */ + int bfs_nfl; /* next fragment length */ /* From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 19:47:27 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8496D106566B for ; Tue, 10 Apr 2012 19:47:27 +0000 (UTC) (envelope-from andrey@zonov.org) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1.freebsd.org (Postfix) with ESMTP id E17898FC0C for ; Tue, 10 Apr 2012 19:47:26 +0000 (UTC) Received: by lbbgj3 with SMTP id gj3so182506lbb.13 for ; Tue, 10 Apr 2012 12:47:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:x-gm-message-state; bh=G5ebDz/lXDJS6/VtntBCT4PjVpxegM4+fXRs0QL5w+I=; b=NqKb1Ri/aZU2EGmlCku31Szo23z+Ag2wKQLNyV9Jh6PdrTacDoMYU+HmYz3lj6y01U Tmd/XGypJeqbveQHWDfj2tRj7OoDzr3ihvFQ2Q/8l4zmcu4Sz0j7B7k09s3IxY4gjYNS LnBDSSpmh/N1Q/WVkNVUYWsozH+duo6rTEoFfXotsh7RAXX1/1bIIeFqHdRYxBRgdi3h DW4ragi7fU/XI8ofczOTRLpQMyYiq5jJPshbRij+Gs8yoGSvsXNyA8xVAIJAfSqWYLZE JHKsQipmLPd1dMeEmJjFWeeP3DmfjDweH2CJIZJjXv2iIckBwWgfPrIBW4ri7ntCyu9h MZCQ== Received: by 10.152.131.66 with SMTP id ok2mr16000296lab.10.1334087245634; Tue, 10 Apr 2012 12:47:25 -0700 (PDT) Received: from [10.254.254.77] ([109.252.212.252]) by mx.google.com with ESMTPS id mr15sm286685lab.8.2012.04.10.12.47.24 (version=SSLv3 cipher=OTHER); Tue, 10 Apr 2012 12:47:25 -0700 (PDT) Message-ID: <4F848E4B.8020302@zonov.org> Date: Tue, 10 Apr 2012 23:47:23 +0400 From: Andrey Zonov User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.24) Gecko/20100228 Thunderbird/2.0.0.24 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: John Baldwin References: <201204051713.q35HDE3d067735@svn.freebsd.org> In-Reply-To: <201204051713.q35HDE3d067735@svn.freebsd.org> Content-Type: multipart/mixed; boundary="------------080007010705000102020006" X-Gm-Message-State: ALoCoQkuhJpXcNiG4aGJO4MSFH4GRzb89VbYODxRiGDJCnW4YFHrKaCu4nQQp5I8GAP+0kQIVle9 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233925 - in head: sys/kern sys/sys sys/vm usr.bin/kdump usr.bin/ktrace X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 19:47:27 -0000 This is a multi-part message in MIME format. --------------080007010705000102020006 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 05.04.2012 21:13, John Baldwin wrote: > Author: jhb > Date: Thu Apr 5 17:13:14 2012 > New Revision: 233925 > URL: http://svn.freebsd.org/changeset/base/233925 > > Log: > Add new ktrace records for the start and end of VM faults. This gives > a pair of records similar to syscall entry and return that a user can > use to determine how long page faults take. The new ktrace records are > enabled via the 'p' trace type, and are enabled in the default set of > trace points. > > Reviewed by: kib > MFC after: 2 weeks > Hi John, Thanks a lot, this change is very useful! And while you are here I would like to show you a patch which adds a "wmesg" to the context switch tracing. It is not finished, it's just a concept. Please review it and if you are interesting in that I'll finish it and will test more widely. -- Andrey Zonov --------------080007010705000102020006 Content-Type: text/plain; charset=windows-1251; name="ktrace_csw.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ktrace_csw.patch" SW5kZXg6IHVzci5iaW4va2R1bXAva2R1bXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB1c3IuYmlu L2tkdW1wL2tkdW1wLmMJKHJldmlzaW9uIDIzMzkyNSkKKysrIHVzci5iaW4va2R1bXAva2R1 bXAuYwkod29ya2luZyBjb3B5KQpAQCAtMTI0Nyw4ICsxMjQ3LDggQEAga3RycHNpZyhzdHJ1 Y3Qga3RyX3BzaWcgKnBzaWcpCiB2b2lkCiBrdHJjc3coc3RydWN0IGt0cl9jc3cgKmNzKQog ewotCXByaW50ZigiJXMgJXNcbiIsIGNzLT5vdXQgPyAic3RvcCIgOiAicmVzdW1lIiwKLQkJ Y3MtPnVzZXIgPyAidXNlciIgOiAia2VybmVsIik7CisJcHJpbnRmKCIlcyAlcyBcIiVzXCJc biIsIGNzLT5vdXQgPyAic3RvcCIgOiAicmVzdW1lIiwKKwkJY3MtPnVzZXIgPyAidXNlciIg OiAia2VybmVsIiwgY3MtPndtZXNnID8gY3MtPndtZXNnIDogIiIpOwogfQogCiAjZGVmaW5l CVVUUkFDRV9ETE9QRU5fU1RBUlQJCTEKSW5kZXg6IHN5cy9zeXMva3RyYWNlLmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gc3lzL3N5cy9rdHJhY2UuaAkocmV2aXNpb24gMjMzOTI1KQorKysgc3lz L3N5cy9rdHJhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTM4LDYgKzEzOCw3IEBAIHN0cnVj dCBrdHJfcHNpZyB7CiBzdHJ1Y3Qga3RyX2NzdyB7CiAJaW50CW91dDsJLyogMSBpZiBzd2l0 Y2ggb3V0LCAwIGlmIHN3aXRjaCBpbiAqLwogCWludAl1c2VyOwkvKiAxIGlmIHVzZXJtb2Rl IChpdmNzdyksIDAgaWYga2VybmVsICh2Y3N3KSAqLworCWNoYXIJd21lc2dbOF07CiB9Owog CiAvKgpAQCAtMjQ0LDcgKzI0NSw3IEBAIHN0cnVjdCBrdHJfZmF1bHRlbmQgewogCiAjaWZk ZWYJX0tFUk5FTAogdm9pZAlrdHJuYW1laShjaGFyICopOwotdm9pZAlrdHJjc3coaW50LCBp bnQpOwordm9pZAlrdHJjc3coaW50LCBpbnQsIGNvbnN0IGNoYXIgKik7CiB2b2lkCWt0cnBz aWcoaW50LCBzaWdfdCwgc2lnc2V0X3QgKiwgaW50KTsKIHZvaWQJa3RyZmF1bHQodm1fb2Zm c2V0X3QsIGludCk7CiB2b2lkCWt0cmZhdWx0ZW5kKGludCk7CkluZGV4OiBzeXMva2Vybi9r ZXJuX2t0cmFjZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9rZXJuL2tlcm5fa3RyYWNlLmMJ KHJldmlzaW9uIDIzMzkyNSkKKysrIHN5cy9rZXJuL2tlcm5fa3RyYWNlLmMJKHdvcmtpbmcg Y29weSkKQEAgLTczMyw4ICs3MzMsOSBAQCBrdHJwc2lnKHNpZywgYWN0aW9uLCBtYXNrLCBj b2RlKQogfQogCiB2b2lkCi1rdHJjc3cob3V0LCB1c2VyKQora3RyY3N3KG91dCwgdXNlciwg d21lc2cpCiAJaW50IG91dCwgdXNlcjsKKwljb25zdCBjaGFyICp3bWVzZzsKIHsKIAlzdHJ1 Y3QgdGhyZWFkICp0ZCA9IGN1cnRocmVhZDsKIAlzdHJ1Y3Qga3RyX3JlcXVlc3QgKnJlcTsK QEAgLTc0Niw2ICs3NDcsOCBAQCB2b2lkCiAJa2MgPSAmcmVxLT5rdHJfZGF0YS5rdHJfY3N3 OwogCWtjLT5vdXQgPSBvdXQ7CiAJa2MtPnVzZXIgPSB1c2VyOworCWlmICh3bWVzZyAhPSBO VUxMKQorCQlzdHJuY3B5KGtjLT53bWVzZywgd21lc2csIHNpemVvZihrYy0+d21lc2cpKTsK IAlrdHJfZW5xdWV1ZXJlcXVlc3QodGQsIHJlcSk7CiAJa3RyYWNlX2V4aXQodGQpOwogfQpJ bmRleDogc3lzL2tlcm4vc3Vicl90cmFwLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL2tlcm4v c3Vicl90cmFwLmMJKHJldmlzaW9uIDIzMzkyNSkKKysrIHN5cy9rZXJuL3N1YnJfdHJhcC5j CSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNyArMjE5LDcgQEAgYXN0KHN0cnVjdCB0cmFwZnJh bWUgKmZyYW1lcCkKIAlpZiAoZmxhZ3MgJiBUREZfTkVFRFJFU0NIRUQpIHsKICNpZmRlZiBL VFJBQ0UKIAkJaWYgKEtUUlBPSU5UKHRkLCBLVFJfQ1NXKSkKLQkJCWt0cmNzdygxLCAxKTsK KwkJCWt0cmNzdygxLCAxLCBOVUxMKTsKICNlbmRpZgogCQl0aHJlYWRfbG9jayh0ZCk7CiAJ CXNjaGVkX3ByaW8odGQsIHRkLT50ZF91c2VyX3ByaSk7CkBAIC0yMjcsNyArMjI3LDcgQEAg YXN0KHN0cnVjdCB0cmFwZnJhbWUgKmZyYW1lcCkKIAkJdGhyZWFkX3VubG9jayh0ZCk7CiAj aWZkZWYgS1RSQUNFCiAJCWlmIChLVFJQT0lOVCh0ZCwgS1RSX0NTVykpCi0JCQlrdHJjc3co MCwgMSk7CisJCQlrdHJjc3coMCwgMSwgTlVMTCk7CiAjZW5kaWYKIAl9CiAKSW5kZXg6IHN5 cy9rZXJuL2tlcm5fY29uZHZhci5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9rZXJuL2tlcm5f Y29uZHZhci5jCShyZXZpc2lvbiAyMzM5MjUpCisrKyBzeXMva2Vybi9rZXJuX2NvbmR2YXIu Ywkod29ya2luZyBjb3B5KQpAQCAtMTAzLDcgKzEwMyw3IEBAIF9jdl93YWl0KHN0cnVjdCBj diAqY3ZwLCBzdHJ1Y3QgbG9ja19vYmplY3QgKmxvY2spCiAJbG9ja19zdGF0ZSA9IDA7CiAj aWZkZWYgS1RSQUNFCiAJaWYgKEtUUlBPSU5UKHRkLCBLVFJfQ1NXKSkKLQkJa3RyY3N3KDEs IDApOworCQlrdHJjc3coMSwgMCwgTlVMTCk7CiAjZW5kaWYKIAlDVl9BU1NFUlQoY3ZwLCBs b2NrLCB0ZCk7CiAJV0lUTkVTU19XQVJOKFdBUk5fR0lBTlRPSyB8IFdBUk5fU0xFRVBPSywg bG9jaywKQEAgLTE0MCw3ICsxNDAsNyBAQCBfY3Zfd2FpdChzdHJ1Y3QgY3YgKmN2cCwgc3Ry dWN0IGxvY2tfb2JqZWN0ICpsb2NrKQogCiAjaWZkZWYgS1RSQUNFCiAJaWYgKEtUUlBPSU5U KHRkLCBLVFJfQ1NXKSkKLQkJa3RyY3N3KDAsIDApOworCQlrdHJjc3coMCwgMCwgTlVMTCk7 CiAjZW5kaWYKIAlQSUNLVVBfR0lBTlQoKTsKIAlpZiAobG9jayAhPSAmR2lhbnQubG9ja19v YmplY3QpIHsKQEAgLTE2Miw3ICsxNjIsNyBAQCBfY3Zfd2FpdF91bmxvY2soc3RydWN0IGN2 ICpjdnAsIHN0cnVjdCBsb2NrX29iamVjdAogCXRkID0gY3VydGhyZWFkOwogI2lmZGVmIEtU UkFDRQogCWlmIChLVFJQT0lOVCh0ZCwgS1RSX0NTVykpCi0JCWt0cmNzdygxLCAwKTsKKwkJ a3RyY3N3KDEsIDAsIE5VTEwpOwogI2VuZGlmCiAJQ1ZfQVNTRVJUKGN2cCwgbG9jaywgdGQp OwogCVdJVE5FU1NfV0FSTihXQVJOX0dJQU5UT0sgfCBXQVJOX1NMRUVQT0ssIGxvY2ssCkBA IC0xOTcsNyArMTk3LDcgQEAgX2N2X3dhaXRfdW5sb2NrKHN0cnVjdCBjdiAqY3ZwLCBzdHJ1 Y3QgbG9ja19vYmplY3QKIAogI2lmZGVmIEtUUkFDRQogCWlmIChLVFJQT0lOVCh0ZCwgS1RS X0NTVykpCi0JCWt0cmNzdygwLCAwKTsKKwkJa3RyY3N3KDAsIDAsIE5VTEwpOwogI2VuZGlm CiAJUElDS1VQX0dJQU5UKCk7CiB9CkBAIC0yMjAsNyArMjIwLDcgQEAgX2N2X3dhaXRfc2ln KHN0cnVjdCBjdiAqY3ZwLCBzdHJ1Y3QgbG9ja19vYmplY3QgKmwKIAlsb2NrX3N0YXRlID0g MDsKICNpZmRlZiBLVFJBQ0UKIAlpZiAoS1RSUE9JTlQodGQsIEtUUl9DU1cpKQotCQlrdHJj c3coMSwgMCk7CisJCWt0cmNzdygxLCAwLCBOVUxMKTsKICNlbmRpZgogCUNWX0FTU0VSVChj dnAsIGxvY2ssIHRkKTsKIAlXSVRORVNTX1dBUk4oV0FSTl9HSUFOVE9LIHwgV0FSTl9TTEVF UE9LLCBsb2NrLApAQCAtMjU4LDcgKzI1OCw3IEBAIF9jdl93YWl0X3NpZyhzdHJ1Y3QgY3Yg KmN2cCwgc3RydWN0IGxvY2tfb2JqZWN0ICpsCiAKICNpZmRlZiBLVFJBQ0UKIAlpZiAoS1RS UE9JTlQodGQsIEtUUl9DU1cpKQotCQlrdHJjc3coMCwgMCk7CisJCWt0cmNzdygwLCAwLCBO VUxMKTsKICNlbmRpZgogCVBJQ0tVUF9HSUFOVCgpOwogCWlmIChsb2NrICE9ICZHaWFudC5s b2NrX29iamVjdCkgewpAQCAtMjg2LDcgKzI4Niw3IEBAIF9jdl90aW1lZHdhaXQoc3RydWN0 IGN2ICpjdnAsIHN0cnVjdCBsb2NrX29iamVjdCAqCiAJbG9ja19zdGF0ZSA9IDA7CiAjaWZk ZWYgS1RSQUNFCiAJaWYgKEtUUlBPSU5UKHRkLCBLVFJfQ1NXKSkKLQkJa3RyY3N3KDEsIDAp OworCQlrdHJjc3coMSwgMCwgTlVMTCk7CiAjZW5kaWYKIAlDVl9BU1NFUlQoY3ZwLCBsb2Nr LCB0ZCk7CiAJV0lUTkVTU19XQVJOKFdBUk5fR0lBTlRPSyB8IFdBUk5fU0xFRVBPSywgbG9j aywKQEAgLTMyNCw3ICszMjQsNyBAQCBfY3ZfdGltZWR3YWl0KHN0cnVjdCBjdiAqY3ZwLCBz dHJ1Y3QgbG9ja19vYmplY3QgKgogCiAjaWZkZWYgS1RSQUNFCiAJaWYgKEtUUlBPSU5UKHRk LCBLVFJfQ1NXKSkKLQkJa3RyY3N3KDAsIDApOworCQlrdHJjc3coMCwgMCwgTlVMTCk7CiAj ZW5kaWYKIAlQSUNLVVBfR0lBTlQoKTsKIAlpZiAobG9jayAhPSAmR2lhbnQubG9ja19vYmpl Y3QpIHsKQEAgLTM1Myw3ICszNTMsNyBAQCBfY3ZfdGltZWR3YWl0X3NpZyhzdHJ1Y3QgY3Yg KmN2cCwgc3RydWN0IGxvY2tfb2JqZQogCWxvY2tfc3RhdGUgPSAwOwogI2lmZGVmIEtUUkFD RQogCWlmIChLVFJQT0lOVCh0ZCwgS1RSX0NTVykpCi0JCWt0cmNzdygxLCAwKTsKKwkJa3Ry Y3N3KDEsIDAsIE5VTEwpOwogI2VuZGlmCiAJQ1ZfQVNTRVJUKGN2cCwgbG9jaywgdGQpOwog CVdJVE5FU1NfV0FSTihXQVJOX0dJQU5UT0sgfCBXQVJOX1NMRUVQT0ssIGxvY2ssCkBAIC0z OTIsNyArMzkyLDcgQEAgX2N2X3RpbWVkd2FpdF9zaWcoc3RydWN0IGN2ICpjdnAsIHN0cnVj dCBsb2NrX29iamUKIAogI2lmZGVmIEtUUkFDRQogCWlmIChLVFJQT0lOVCh0ZCwgS1RSX0NT VykpCi0JCWt0cmNzdygwLCAwKTsKKwkJa3RyY3N3KDAsIDAsIE5VTEwpOwogI2VuZGlmCiAJ UElDS1VQX0dJQU5UKCk7CiAJaWYgKGxvY2sgIT0gJkdpYW50LmxvY2tfb2JqZWN0KSB7Cklu ZGV4OiBzeXMva2Vybi9rZXJuX3N5bmNoLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL2tlcm4v a2Vybl9zeW5jaC5jCShyZXZpc2lvbiAyMzM5MjUpCisrKyBzeXMva2Vybi9rZXJuX3N5bmNo LmMJKHdvcmtpbmcgY29weSkKQEAgLTE0Miw3ICsxNDIsNyBAQCBfc2xlZXAodm9pZCAqaWRl bnQsIHN0cnVjdCBsb2NrX29iamVjdCAqbG9jaywgaW50CiAJcCA9IHRkLT50ZF9wcm9jOwog I2lmZGVmIEtUUkFDRQogCWlmIChLVFJQT0lOVCh0ZCwgS1RSX0NTVykpCi0JCWt0cmNzdygx LCAwKTsKKwkJa3RyY3N3KDEsIDAsIHdtZXNnKTsKICNlbmRpZgogCVdJVE5FU1NfV0FSTihX QVJOX0dJQU5UT0sgfCBXQVJOX1NMRUVQT0ssIGxvY2ssCiAJICAgICJTbGVlcGluZyBvbiBc IiVzXCIiLCB3bWVzZyk7CkBAIC0yMzYsNyArMjM2LDcgQEAgX3NsZWVwKHZvaWQgKmlkZW50 LCBzdHJ1Y3QgbG9ja19vYmplY3QgKmxvY2ssIGludAogCX0KICNpZmRlZiBLVFJBQ0UKIAlp ZiAoS1RSUE9JTlQodGQsIEtUUl9DU1cpKQotCQlrdHJjc3coMCwgMCk7CisJCWt0cmNzdygw LCAwLCB3bWVzZyk7CiAjZW5kaWYKIAlQSUNLVVBfR0lBTlQoKTsKIAlpZiAobG9jayAhPSBO VUxMICYmIGxvY2sgIT0gJkdpYW50LmxvY2tfb2JqZWN0ICYmICEocHJpb3JpdHkgJiBQRFJP UCkpIHsKQEAgLTI5OCw3ICsyOTgsNyBAQCBtc2xlZXBfc3Bpbih2b2lkICppZGVudCwgc3Ry dWN0IG10eCAqbXR4LCBjb25zdCBjaAogI2lmZGVmIEtUUkFDRQogCWlmIChLVFJQT0lOVCh0 ZCwgS1RSX0NTVykpIHsKIAkJc2xlZXBxX3JlbGVhc2UoaWRlbnQpOwotCQlrdHJjc3coMSwg MCk7CisJCWt0cmNzdygxLCAwLCB3bWVzZyk7CiAJCXNsZWVwcV9sb2NrKGlkZW50KTsKIAl9 CiAjZW5kaWYKQEAgLTMxNiw3ICszMTYsNyBAQCBtc2xlZXBfc3Bpbih2b2lkICppZGVudCwg c3RydWN0IG10eCAqbXR4LCBjb25zdCBjaAogCX0KICNpZmRlZiBLVFJBQ0UKIAlpZiAoS1RS UE9JTlQodGQsIEtUUl9DU1cpKQotCQlrdHJjc3coMCwgMCk7CisJCWt0cmNzdygwLCAwLCB3 bWVzZyk7CiAjZW5kaWYKIAlQSUNLVVBfR0lBTlQoKTsKIAltdHhfbG9ja19zcGluKG10eCk7 Cg== --------------080007010705000102020006-- From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 19:47:45 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8D5B910656B5; Tue, 10 Apr 2012 19:47:45 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 789248FC1B; Tue, 10 Apr 2012 19:47: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 q3AJljXD038023; Tue, 10 Apr 2012 19:47:45 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3AJljRD038021; Tue, 10 Apr 2012 19:47:45 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204101947.q3AJljRD038021@svn.freebsd.org> From: Adrian Chadd Date: Tue, 10 Apr 2012 19:47:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234110 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 19:47:45 -0000 Author: adrian Date: Tue Apr 10 19:47:44 2012 New Revision: 234110 URL: http://svn.freebsd.org/changeset/base/234110 Log: Fix compilation with IEEE80211_ENABLE_SUPERG defined. PR: kern/164951 Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Tue Apr 10 19:25:43 2012 (r234109) +++ head/sys/dev/ath/if_ath.c Tue Apr 10 19:47:44 2012 (r234110) @@ -4906,6 +4906,7 @@ ath_tx_processq(struct ath_softc *sc, st struct ath_tx_status *ts; struct ieee80211_node *ni; struct ath_node *an; + struct ieee80211com *ic = sc->sc_ifp->if_l2com; int nacked; HAL_STATUS status; From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 20:17:01 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBBEB106566B; Tue, 10 Apr 2012 20:17:01 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 547028FC12; Tue, 10 Apr 2012 20:17:00 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id XAA16626; Tue, 10 Apr 2012 23:16:58 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1SHhUo-000IZ1-4s; Tue, 10 Apr 2012 23:16:58 +0300 Message-ID: <4F849538.9000604@FreeBSD.org> Date: Tue, 10 Apr 2012 23:16:56 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:10.0.3) Gecko/20120317 Thunderbird/10.0.3 MIME-Version: 1.0 To: src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org References: <201204101633.q3AGXJjG031714@svn.freebsd.org> In-Reply-To: <201204101633.q3AGXJjG031714@svn.freebsd.org> X-Enigmail-Version: 1.4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Jim Harris , Scott Long , Alexander Motin Subject: Re: svn commit: r234106 - head/sys/dev/isci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 20:17:02 -0000 on 10/04/2012 19:33 Jim Harris said the following: > Author: jimharris > Date: Tue Apr 10 16:33:19 2012 > New Revision: 234106 > URL: http://svn.freebsd.org/changeset/base/234106 > > Log: > Queue CCBs internally instead of using CAM_REQUEUE_REQ status. This fixes > problem where userspace apps such as smartctl fail due to CAM_REQUEUE_REQ > status getting returned when tagged commands are outstanding when smartctl > sends its I/O using the pass(4) interface. > > Sponsored by: Intel > Found and tested by: Ravi Pokala > Reviewed by: scottl > Approved by: scottl > MFC after: 1 week Once upon a time I had an idea that CAM_REQUEUE_REQ should never be leaked to userland and always re-queued. But our SCSI experts were against that. (I don't recall the exact argument, but I think that it was something about target emulation). So there is at least one other driver that likely needs the same kind of change. Maybe we should have some common infrastructure to support "really re-queue this CCB" case, so that each driver doesn't have to re-implement it? Or maybe CAM_REQUEUE_REQ should become that kind of command, after all. [Just thinking out loud] -- Andriy Gapon From owner-svn-src-all@FreeBSD.ORG Tue Apr 10 21:23:28 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9075D106566B; Tue, 10 Apr 2012 21:23:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A41F8FC18; Tue, 10 Apr 2012 21:23:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3ALNSR9041039; Tue, 10 Apr 2012 21:23:28 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3ALNSwV041037; Tue, 10 Apr 2012 21:23:28 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204102123.q3ALNSwV041037@svn.freebsd.org> From: Adrian Chadd Date: Tue, 10 Apr 2012 21:23:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234111 - stable/9/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2012 21:23:28 -0000 Author: adrian Date: Tue Apr 10 21:23:28 2012 New Revision: 234111 URL: http://svn.freebsd.org/changeset/base/234111 Log: MFC r226294 / r226793 from HEAD - Only call fixup_filename() when printing. This reduces CPU overhead on lock-happy workloads when using WITNESS. Modified: stable/9/sys/kern/subr_witness.c (contents, props changed) Modified: stable/9/sys/kern/subr_witness.c ============================================================================== --- stable/9/sys/kern/subr_witness.c Tue Apr 10 19:47:44 2012 (r234110) +++ stable/9/sys/kern/subr_witness.c Tue Apr 10 21:23:28 2012 (r234111) @@ -719,6 +719,18 @@ static int witness_cold = 1; */ static int witness_spin_warn = 0; +/* Trim useless garbage from filenames. */ +static const char * +fixup_filename(const char *file) +{ + + if (file == NULL) + return (NULL); + while (strncmp(file, "../", 3) == 0) + file += 3; + return (file); +} + /* * The WITNESS-enabled diagnostic code. Note that the witness code does * assume that the early boot is single-threaded at least until after this @@ -924,7 +936,7 @@ witness_ddb_display_descendants(int(*prn } w->w_displayed = 1; if (w->w_file != NULL && w->w_line != 0) - prnt(" -- last acquired @ %s:%d\n", w->w_file, + prnt(" -- last acquired @ %s:%d\n", fixup_filename(w->w_file), w->w_line); else prnt(" -- never acquired\n"); @@ -990,18 +1002,6 @@ witness_ddb_display(int(*prnt)(const cha } #endif /* DDB */ -/* Trim useless garbage from filenames. */ -static const char * -fixup_filename(const char *file) -{ - - if (file == NULL) - return (NULL); - while (strncmp(file, "../", 3) == 0) - file += 3; - return (file); -} - int witness_defineorder(struct lock_object *lock1, struct lock_object *lock2) { @@ -1053,7 +1053,6 @@ witness_checkorder(struct lock_object *l w = lock->lo_witness; class = LOCK_CLASS(lock); td = curthread; - file = fixup_filename(file); if (class->lc_flags & LC_SLEEPLOCK) { @@ -1064,7 +1063,8 @@ witness_checkorder(struct lock_object *l */ if (td->td_critnest != 0 && !kdb_active) panic("blockable sleep lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); /* * If this is the first lock acquired then just return as @@ -1102,17 +1102,19 @@ witness_checkorder(struct lock_object *l if ((lock1->li_flags & LI_EXCLUSIVE) != 0 && (flags & LOP_EXCLUSIVE) == 0) { printf("shared lock of (%s) %s @ %s:%d\n", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); printf("while exclusively locked from %s:%d\n", - lock1->li_file, lock1->li_line); + fixup_filename(lock1->li_file), lock1->li_line); panic("share->excl"); } if ((lock1->li_flags & LI_EXCLUSIVE) == 0 && (flags & LOP_EXCLUSIVE) != 0) { printf("exclusive lock of (%s) %s @ %s:%d\n", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); printf("while share locked from %s:%d\n", - lock1->li_file, lock1->li_line); + fixup_filename(lock1->li_file), lock1->li_line); panic("excl->share"); } return; @@ -1165,11 +1167,12 @@ witness_checkorder(struct lock_object *l "acquiring duplicate lock of same type: \"%s\"\n", w->w_name); printf(" 1st %s @ %s:%d\n", plock->li_lock->lo_name, - plock->li_file, plock->li_line); - printf(" 2nd %s @ %s:%d\n", lock->lo_name, file, line); + fixup_filename(plock->li_file), plock->li_line); + printf(" 2nd %s @ %s:%d\n", lock->lo_name, + fixup_filename(file), line); witness_debugger(1); - } else - mtx_unlock_spin(&w_mtx); + } else + mtx_unlock_spin(&w_mtx); return; } mtx_assert(&w_mtx, MA_OWNED); @@ -1307,19 +1310,24 @@ witness_checkorder(struct lock_object *l if (i < 0) { printf(" 1st %p %s (%s) @ %s:%d\n", lock1->li_lock, lock1->li_lock->lo_name, - w1->w_name, lock1->li_file, lock1->li_line); + w1->w_name, fixup_filename(lock1->li_file), + lock1->li_line); printf(" 2nd %p %s (%s) @ %s:%d\n", lock, - lock->lo_name, w->w_name, file, line); + lock->lo_name, w->w_name, + fixup_filename(file), line); } else { printf(" 1st %p %s (%s) @ %s:%d\n", lock2->li_lock, lock2->li_lock->lo_name, lock2->li_lock->lo_witness->w_name, - lock2->li_file, lock2->li_line); + fixup_filename(lock2->li_file), + lock2->li_line); printf(" 2nd %p %s (%s) @ %s:%d\n", lock1->li_lock, lock1->li_lock->lo_name, - w1->w_name, lock1->li_file, lock1->li_line); + w1->w_name, fixup_filename(lock1->li_file), + lock1->li_line); printf(" 3rd %p %s (%s) @ %s:%d\n", lock, - lock->lo_name, w->w_name, file, line); + lock->lo_name, w->w_name, + fixup_filename(file), line); } witness_debugger(1); return; @@ -1356,7 +1364,6 @@ witness_lock(struct lock_object *lock, i return; w = lock->lo_witness; td = curthread; - file = fixup_filename(file); /* Determine lock list for this lock. */ if (LOCK_CLASS(lock)->lc_flags & LC_SLEEPLOCK) @@ -1413,27 +1420,31 @@ witness_upgrade(struct lock_object *lock if (lock->lo_witness == NULL || witness_watch == -1 || panicstr != NULL) return; class = LOCK_CLASS(lock); - file = fixup_filename(file); if (witness_watch) { if ((lock->lo_flags & LO_UPGRADABLE) == 0) panic("upgrade of non-upgradable lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if ((class->lc_flags & LC_SLEEPLOCK) == 0) panic("upgrade of non-sleep lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); } instance = find_instance(curthread->td_sleeplocks, lock); if (instance == NULL) panic("upgrade of unlocked lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if (witness_watch) { if ((instance->li_flags & LI_EXCLUSIVE) != 0) panic("upgrade of exclusive lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if ((instance->li_flags & LI_RECURSEMASK) != 0) panic("upgrade of recursed lock (%s) %s r=%d @ %s:%d", class->lc_name, lock->lo_name, - instance->li_flags & LI_RECURSEMASK, file, line); + instance->li_flags & LI_RECURSEMASK, + fixup_filename(file), line); } instance->li_flags |= LI_EXCLUSIVE; } @@ -1449,27 +1460,31 @@ witness_downgrade(struct lock_object *lo if (lock->lo_witness == NULL || witness_watch == -1 || panicstr != NULL) return; class = LOCK_CLASS(lock); - file = fixup_filename(file); if (witness_watch) { if ((lock->lo_flags & LO_UPGRADABLE) == 0) panic("downgrade of non-upgradable lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if ((class->lc_flags & LC_SLEEPLOCK) == 0) panic("downgrade of non-sleep lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); } instance = find_instance(curthread->td_sleeplocks, lock); if (instance == NULL) panic("downgrade of unlocked lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if (witness_watch) { if ((instance->li_flags & LI_EXCLUSIVE) == 0) panic("downgrade of shared lock (%s) %s @ %s:%d", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if ((instance->li_flags & LI_RECURSEMASK) != 0) panic("downgrade of recursed lock (%s) %s r=%d @ %s:%d", class->lc_name, lock->lo_name, - instance->li_flags & LI_RECURSEMASK, file, line); + instance->li_flags & LI_RECURSEMASK, + fixup_filename(file), line); } instance->li_flags &= ~LI_EXCLUSIVE; } @@ -1488,7 +1503,6 @@ witness_unlock(struct lock_object *lock, return; td = curthread; class = LOCK_CLASS(lock); - file = fixup_filename(file); /* Find lock instance associated with this lock. */ if (class->lc_flags & LC_SLEEPLOCK) @@ -1511,7 +1525,7 @@ witness_unlock(struct lock_object *lock, */ if (witness_watch > 0) panic("lock (%s) %s not locked @ %s:%d", class->lc_name, - lock->lo_name, file, line); + lock->lo_name, fixup_filename(file), line); else return; found: @@ -1520,16 +1534,17 @@ found: if ((instance->li_flags & LI_EXCLUSIVE) != 0 && witness_watch > 0 && (flags & LOP_EXCLUSIVE) == 0) { printf("shared unlock of (%s) %s @ %s:%d\n", class->lc_name, - lock->lo_name, file, line); + lock->lo_name, fixup_filename(file), line); printf("while exclusively locked from %s:%d\n", - instance->li_file, instance->li_line); + fixup_filename(instance->li_file), instance->li_line); panic("excl->ushare"); } if ((instance->li_flags & LI_EXCLUSIVE) == 0 && witness_watch > 0 && (flags & LOP_EXCLUSIVE) != 0) { printf("exclusive unlock of (%s) %s @ %s:%d\n", class->lc_name, - lock->lo_name, file, line); - printf("while share locked from %s:%d\n", instance->li_file, + lock->lo_name, fixup_filename(file), line); + printf("while share locked from %s:%d\n", + fixup_filename(instance->li_file), instance->li_line); panic("share->uexcl"); } @@ -1544,7 +1559,7 @@ found: /* The lock is now being dropped, check for NORELEASE flag */ if ((instance->li_flags & LI_NORELEASE) != 0 && witness_watch > 0) { printf("forbidden unlock of (%s) %s @ %s:%d\n", class->lc_name, - lock->lo_name, file, line); + lock->lo_name, fixup_filename(file), line); panic("lock marked norelease"); } @@ -2074,8 +2089,8 @@ witness_list_lock(struct lock_instance * if (lock->lo_witness->w_name != lock->lo_name) prnt(" (%s)", lock->lo_witness->w_name); prnt(" r = %d (%p) locked @ %s:%d\n", - instance->li_flags & LI_RECURSEMASK, lock, instance->li_file, - instance->li_line); + instance->li_flags & LI_RECURSEMASK, lock, + fixup_filename(instance->li_file), instance->li_line); } #ifdef DDB @@ -2211,12 +2226,12 @@ witness_assert(struct lock_object *lock, panic("Lock (%s) %s is not sleep or spin!", class->lc_name, lock->lo_name); } - file = fixup_filename(file); switch (flags) { case LA_UNLOCKED: if (instance != NULL) panic("Lock (%s) %s locked @ %s:%d.", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); break; case LA_LOCKED: case LA_LOCKED | LA_RECURSED: @@ -2229,28 +2244,34 @@ witness_assert(struct lock_object *lock, case LA_XLOCKED | LA_NOTRECURSED: if (instance == NULL) { panic("Lock (%s) %s not locked @ %s:%d.", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); break; } if ((flags & LA_XLOCKED) != 0 && (instance->li_flags & LI_EXCLUSIVE) == 0) panic("Lock (%s) %s not exclusively locked @ %s:%d.", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if ((flags & LA_SLOCKED) != 0 && (instance->li_flags & LI_EXCLUSIVE) != 0) panic("Lock (%s) %s exclusively locked @ %s:%d.", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if ((flags & LA_RECURSED) != 0 && (instance->li_flags & LI_RECURSEMASK) == 0) panic("Lock (%s) %s not recursed @ %s:%d.", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); if ((flags & LA_NOTRECURSED) != 0 && (instance->li_flags & LI_RECURSEMASK) != 0) panic("Lock (%s) %s recursed @ %s:%d.", - class->lc_name, lock->lo_name, file, line); + class->lc_name, lock->lo_name, + fixup_filename(file), line); break; default: - panic("Invalid lock assertion at %s:%d.", file, line); + panic("Invalid lock assertion at %s:%d.", + fixup_filename(file), line); } #endif /* INVARIANT_SUPPORT */ From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 00:00:41 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B673F106564A; Wed, 11 Apr 2012 00:00:41 +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 5C15D8FC08; Wed, 11 Apr 2012 00:00:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3B00fir046056; Wed, 11 Apr 2012 00:00:41 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B00fQT046048; Wed, 11 Apr 2012 00:00:41 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201204110000.q3B00fQT046048@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 11 Apr 2012 00:00:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234115 - in head: lib/libc/powerpc/gen lib/libc/powerpc64/gen sys/powerpc/powerpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 00:00:41 -0000 Author: nwhitehorn Date: Wed Apr 11 00:00:40 2012 New Revision: 234115 URL: http://svn.freebsd.org/changeset/base/234115 Log: Do not restore the register holding the TLS pointer when doing various usermode context switches (long jumps and ucontext operations). If these are used across threads, multiple threads can end up with the same TLS base. Madness will then result. This makes behavior on PPC match that on x86 systems and on Linux. MFC after: 10 days Modified: head/lib/libc/powerpc/gen/_setjmp.S head/lib/libc/powerpc/gen/setjmp.S head/lib/libc/powerpc/gen/sigsetjmp.S head/lib/libc/powerpc64/gen/_setjmp.S head/lib/libc/powerpc64/gen/setjmp.S head/lib/libc/powerpc64/gen/sigsetjmp.S head/sys/powerpc/powerpc/exec_machdep.c Modified: head/lib/libc/powerpc/gen/_setjmp.S ============================================================================== --- head/lib/libc/powerpc/gen/_setjmp.S Tue Apr 10 22:46:40 2012 (r234114) +++ head/lib/libc/powerpc/gen/_setjmp.S Wed Apr 11 00:00:40 2012 (r234115) @@ -63,7 +63,6 @@ ENTRY(_longjmp) lmw %r9,20(%r3) mtlr %r11 mtcr %r12 - mr %r2,%r9 mr %r1,%r10 or. %r3,%r4,%r4 bnelr Modified: head/lib/libc/powerpc/gen/setjmp.S ============================================================================== --- head/lib/libc/powerpc/gen/setjmp.S Tue Apr 10 22:46:40 2012 (r234114) +++ head/lib/libc/powerpc/gen/setjmp.S Wed Apr 11 00:00:40 2012 (r234115) @@ -75,7 +75,6 @@ ENTRY(__longjmp) mr %r6,%r4 /* save val param */ mtlr %r11 /* r11 -> link reg */ mtcr %r12 /* r12 -> condition reg */ - mr %r2,%r9 /* r9 -> global ptr */ mr %r1,%r10 /* r10 -> stackptr */ mr %r4,%r3 li %r3,3 /* SIG_SETMASK */ Modified: head/lib/libc/powerpc/gen/sigsetjmp.S ============================================================================== --- head/lib/libc/powerpc/gen/sigsetjmp.S Tue Apr 10 22:46:40 2012 (r234114) +++ head/lib/libc/powerpc/gen/sigsetjmp.S Wed Apr 11 00:00:40 2012 (r234115) @@ -80,7 +80,6 @@ ENTRY(siglongjmp) mr %r6,%r4 mtlr %r11 mtcr %r12 - mr %r2,%r9 mr %r1,%r10 or. %r7,%r7,%r7 beq 1f Modified: head/lib/libc/powerpc64/gen/_setjmp.S ============================================================================== --- head/lib/libc/powerpc64/gen/_setjmp.S Tue Apr 10 22:46:40 2012 (r234114) +++ head/lib/libc/powerpc64/gen/_setjmp.S Wed Apr 11 00:00:40 2012 (r234115) @@ -86,7 +86,6 @@ ENTRY(_longjmp) ld %r10,40 + 1*8(%r3) ld %r11,40 + 2*8(%r3) ld %r12,40 + 3*8(%r3) - ld %r13,40 + 4*8(%r3) ld %r14,40 + 5*8(%r3) ld %r15,40 + 6*8(%r3) ld %r16,40 + 7*8(%r3) Modified: head/lib/libc/powerpc64/gen/setjmp.S ============================================================================== --- head/lib/libc/powerpc64/gen/setjmp.S Tue Apr 10 22:46:40 2012 (r234114) +++ head/lib/libc/powerpc64/gen/setjmp.S Wed Apr 11 00:00:40 2012 (r234115) @@ -99,7 +99,6 @@ ENTRY(__longjmp) ld %r10,40 + 1*8(%r3) ld %r11,40 + 2*8(%r3) ld %r12,40 + 3*8(%r3) - ld %r13,40 + 4*8(%r3) ld %r14,40 + 5*8(%r3) ld %r15,40 + 6*8(%r3) ld %r16,40 + 7*8(%r3) Modified: head/lib/libc/powerpc64/gen/sigsetjmp.S ============================================================================== --- head/lib/libc/powerpc64/gen/sigsetjmp.S Tue Apr 10 22:46:40 2012 (r234114) +++ head/lib/libc/powerpc64/gen/sigsetjmp.S Wed Apr 11 00:00:40 2012 (r234115) @@ -103,7 +103,6 @@ ENTRY(siglongjmp) ld %r10,40 + 1*8(%r3) ld %r11,40 + 2*8(%r3) ld %r12,40 + 3*8(%r3) - ld %r13,40 + 4*8(%r3) ld %r14,40 + 5*8(%r3) ld %r15,40 + 6*8(%r3) ld %r16,40 + 7*8(%r3) Modified: head/sys/powerpc/powerpc/exec_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/exec_machdep.c Tue Apr 10 22:46:40 2012 (r234114) +++ head/sys/powerpc/powerpc/exec_machdep.c Wed Apr 11 00:00:40 2012 (r234115) @@ -441,6 +441,7 @@ set_mcontext(struct thread *td, const mc { struct pcb *pcb; struct trapframe *tf; + register_t tls; pcb = td->td_pcb; tf = td->td_frame; @@ -448,16 +449,25 @@ set_mcontext(struct thread *td, const mc if (mcp->mc_vers != _MC_VERSION || mcp->mc_len != sizeof(*mcp)) return (EINVAL); - #ifdef AIM +#ifdef AIM /* * Don't let the user set privileged MSR bits */ if ((mcp->mc_srr1 & PSL_USERSTATIC) != (tf->srr1 & PSL_USERSTATIC)) { return (EINVAL); } - #endif +#endif + /* Copy trapframe, preserving TLS pointer across context change */ + if (SV_PROC_FLAG(td->td_proc, SV_LP64)) + tls = tf->fixreg[13]; + else + tls = tf->fixreg[2]; memcpy(tf, mcp->mc_frame, sizeof(mcp->mc_frame)); + if (SV_PROC_FLAG(td->td_proc, SV_LP64)) + tf->fixreg[13] = tls; + else + tf->fixreg[2] = tls; #ifdef AIM if (mcp->mc_flags & _MC_FP_VALID) { From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 00:03:40 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 86B3B106566B; Wed, 11 Apr 2012 00:03:40 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail06.syd.optusnet.com.au (mail06.syd.optusnet.com.au [211.29.132.187]) by mx1.freebsd.org (Postfix) with ESMTP id 203B98FC08; Wed, 11 Apr 2012 00:03:39 +0000 (UTC) Received: from c211-30-171-136.carlnfd1.nsw.optusnet.com.au (c211-30-171-136.carlnfd1.nsw.optusnet.com.au [211.30.171.136]) by mail06.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id q3B03U5D013128 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 11 Apr 2012 10:03:32 +1000 Date: Wed, 11 Apr 2012 10:03:30 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Jaakko Heinonen In-Reply-To: <201204101559.q3AFxbX2030563@svn.freebsd.org> Message-ID: <20120411085433.S1057@besplex.bde.org> References: <201204101559.q3AFxbX2030563@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234103 - in head: lib/libc/sys sys/ufs/ufs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 00:03:40 -0000 On Tue, 10 Apr 2012, Jaakko Heinonen wrote: > Log: > - Return EPERM from ufs_setattr() when an user without PRIV_VFS_SYSFLAGS > privilege attempts to toggle SF_SETTABLE flags. > - Use the '^' operator in the SF_SNAPSHOT anti-toggling check. > > Flags are now stored to ip->i_flags in one place after all checks. > > Submitted by: bde Thanks. The first point fixes longstanding brokenness of chflags(2). > ... > Modified: head/lib/libc/sys/chflags.2 > ============================================================================== > --- head/lib/libc/sys/chflags.2 Tue Apr 10 15:58:22 2012 (r234102) > +++ head/lib/libc/sys/chflags.2 Tue Apr 10 15:59:37 2012 (r234103) > @@ -28,7 +28,7 @@ > .\" @(#)chflags.2 8.3 (Berkeley) 5/2/95 > .\" $FreeBSD$ > .\" > -.Dd Oct 29, 2010 > +.Dd Apr 10, 2012 > .Dt CHFLAGS 2 > .Os > .Sh NAME > @@ -114,8 +114,7 @@ The > and > .Dv SF_ARCHIVED > flags may only be set or unset by the super-user. > -Attempts to set these flags by non-super-users are rejected, attempts by > -non-superusers to clear flags that are already unset are silently ignored. > +Attempts to toggle these flags by non-super-users are rejected. > These flags may be set at any time, but normally may only be unset when > the system is in single-user mode. > (See The fixed semantics are documented here. Previously, normal read-modify- write didn't work for non-super-users when trying to change user flags while preserving system flags that don't prevent user changes (SF_ARCHIVED and SF_SNAPSHOT). Naive programs like chflags(1) didn't understand the complications and just did a normal read-modify-write. A few more changes in the man page are needed. Quoting "man ./chflags.2 | col -bx": % ERRORS % The chflags() system call will fail if: % ... % [EPERM] A non-super-user tries to set one of SF_ARCHIVED, % SF_IMMUTABLE, SF_APPEND, or SF_NOUNLINK. s/set/toggle/ s/tries to/attempted to/ This fixes this part of the man page not being as formal as the rest. This is the only man page in all of libc/sys that uses the expression "tries to". 3 lines use the correct tense "tried to". 14 lines use "attempted to". I got the changed wording mostly from getpriority.2. The other (mostly worse) variations with "attempt" and "super" are: % clock_gettime.2:A user other than the super-user attempted to set the time. % ffclock.2:A user other than the super-user attempted to set the feed-forward clock % getpriority.2:A non super-user attempted to lower a process priority. % gettimeofday.2:A user other than the super-user attempted to set the time. % jail.2:A user other than the super-user attempted to attach to or remove a jail. % kenv.2:a user other than the superuser attempted to set or unset a kernel Most of these presume that there is only 1 super-user. "non-super-user" avoids this and is shorter. Apparently, "non-super-user" should be hyhenated after "non", since 5 lines do it and only the above line in getpriority.2 doesn't do it. kenv.2 is also missing capitalization of the sentence and hyphenation of super-user. 99 lines hyphenate super-user, and only 16 don't. % % [EPERM] User tries to set or remove the SF_SNAPSHOT flag. s/User tries to set or remove/An attempt was made to toggle/ This sentence had many more bugs: - missing article before "User" - but "User" was just misleading -- the error applies to all callers - "tries to" was informal - "set or remove" was less clear than "toggle". % ... % The fchflags() system call will fail if: % ... % [EPERM] A non-super-user tries to set one of SF_ARCHIVED, % SF_IMMUTABLE, SF_APPEND, or SF_NOUNLINK. % % [EPERM] User tries to set or remove the SF_SNAPSHOT flag. As above. Reviewing all other FreeBSD changes to chflags.2 showed a few more problems: - the description of SF_SNAPSHOT says "cannot be changed". "cannot be toggled" would be clearer. It also says "by any user", and as above, "user" is just misleading. It is this syscall that cannot change SF_SNAPSHOT. - the main description and the 2 EPERM error descriptions of SF_IMMUTABLE, etc., presume only 1 super-user - the EOPNOTSUPP error description still says "the underlying file system does not support file flags", but this error can now happen even for ffs when the underlying file system doesn't support at least one of the flags that the syscall attempted to set - lchflags() is missing in HISTORY. Bruce From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 00:28:45 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5B76A106566B; Wed, 11 Apr 2012 00:28:45 +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 45FD98FC18; Wed, 11 Apr 2012 00:28: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 q3B0SjJm046938; Wed, 11 Apr 2012 00:28:45 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B0SjVK046936; Wed, 11 Apr 2012 00:28:45 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201204110028.q3B0SjVK046936@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 11 Apr 2012 00:28:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234116 - stable/9/sys/powerpc/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 00:28:45 -0000 Author: nwhitehorn Date: Wed Apr 11 00:28:44 2012 New Revision: 234116 URL: http://svn.freebsd.org/changeset/base/234116 Log: MFC r233948: Give the kernel pmap lock a different name than user pmap locks. It has (slightly) different semantics and renaming it prevents a (harmless) WITNESS warning during bootup for 32-bit kernels on 64-bit CPUs. Modified: stable/9/sys/powerpc/include/pmap.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/powerpc/include/pmap.h ============================================================================== --- stable/9/sys/powerpc/include/pmap.h Wed Apr 11 00:00:40 2012 (r234115) +++ stable/9/sys/powerpc/include/pmap.h Wed Apr 11 00:28:44 2012 (r234116) @@ -212,8 +212,9 @@ extern struct pmap kernel_pmap_store; #define PMAP_LOCK_ASSERT(pmap, type) \ mtx_assert(&(pmap)->pm_mtx, (type)) #define PMAP_LOCK_DESTROY(pmap) mtx_destroy(&(pmap)->pm_mtx) -#define PMAP_LOCK_INIT(pmap) mtx_init(&(pmap)->pm_mtx, "pmap", \ - NULL, MTX_DEF) +#define PMAP_LOCK_INIT(pmap) mtx_init(&(pmap)->pm_mtx, \ + (pmap == kernel_pmap) ? "kernelpmap" : \ + "pmap", NULL, MTX_DEF) #define PMAP_LOCKED(pmap) mtx_owned(&(pmap)->pm_mtx) #define PMAP_MTX(pmap) (&(pmap)->pm_mtx) #define PMAP_TRYLOCK(pmap) mtx_trylock(&(pmap)->pm_mtx) From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 02:34:33 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2B382106566C; Wed, 11 Apr 2012 02:34:33 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 16E6C8FC0A; Wed, 11 Apr 2012 02:34: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 q3B2YW7U050815; Wed, 11 Apr 2012 02:34:32 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B2YWRE050813; Wed, 11 Apr 2012 02:34:32 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204110234.q3B2YWRE050813@svn.freebsd.org> From: Adrian Chadd Date: Wed, 11 Apr 2012 02:34:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234117 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 02:34:33 -0000 Author: adrian Date: Wed Apr 11 02:34:32 2012 New Revision: 234117 URL: http://svn.freebsd.org/changeset/base/234117 Log: Fix the default, non-superg compile. Pointy-hat-to: adrian Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Wed Apr 11 00:28:44 2012 (r234116) +++ head/sys/dev/ath/if_ath.c Wed Apr 11 02:34:32 2012 (r234117) @@ -4906,7 +4906,9 @@ ath_tx_processq(struct ath_softc *sc, st struct ath_tx_status *ts; struct ieee80211_node *ni; struct ath_node *an; +#ifdef IEEE80211_SUPPORT_SUPERG struct ieee80211com *ic = sc->sc_ifp->if_l2com; +#endif /* IEEE80211_SUPPORT_SUPERG */ int nacked; HAL_STATUS status; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 02:42:02 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E208106566C; Wed, 11 Apr 2012 02:42:02 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E35718FC14; Wed, 11 Apr 2012 02:42:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3B2g1He051067; Wed, 11 Apr 2012 02:42:01 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B2g1GF051063; Wed, 11 Apr 2012 02:42:01 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201204110242.q3B2g1GF051063@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 11 Apr 2012 02:42:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234118 - in head/sys: conf dev/uart X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 02:42:02 -0000 Author: marcel Date: Wed Apr 11 02:42:01 2012 New Revision: 234118 URL: http://svn.freebsd.org/changeset/base/234118 Log: uart_cpu_amd64.c and uart_cpu_i386.c (under sys/dev/uart) are identical now that the bus spaces are unified under sys/x86. Replace them with a single uart_cpu_x86.c. o delete uart_cpu_i386.c o move uart_cpu_amd64.c to uart_cpu_x86.c o update files.amd64 and files.i386 accordingly. Added: head/sys/dev/uart/uart_cpu_x86.c - copied unchanged from r234116, head/sys/dev/uart/uart_cpu_amd64.c Deleted: head/sys/dev/uart/uart_cpu_amd64.c head/sys/dev/uart/uart_cpu_i386.c Modified: head/sys/conf/files.amd64 head/sys/conf/files.i386 Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Wed Apr 11 02:34:32 2012 (r234117) +++ head/sys/conf/files.amd64 Wed Apr 11 02:42:01 2012 (r234118) @@ -267,7 +267,7 @@ dev/syscons/scvtb.c optional sc dev/tpm/tpm.c optional tpm dev/tpm/tpm_acpi.c optional tpm acpi dev/tpm/tpm_isa.c optional tpm isa -dev/uart/uart_cpu_amd64.c optional uart +dev/uart/uart_cpu_x86.c optional uart dev/viawd/viawd.c optional viawd dev/wbwd/wbwd.c optional wbwd dev/wpi/if_wpi.c optional wpi Modified: head/sys/conf/files.i386 ============================================================================== --- head/sys/conf/files.i386 Wed Apr 11 02:34:32 2012 (r234117) +++ head/sys/conf/files.i386 Wed Apr 11 02:42:01 2012 (r234118) @@ -244,7 +244,7 @@ dev/syscons/scvtb.c optional sc dev/tpm/tpm.c optional tpm dev/tpm/tpm_acpi.c optional tpm acpi dev/tpm/tpm_isa.c optional tpm isa -dev/uart/uart_cpu_i386.c optional uart +dev/uart/uart_cpu_x86.c optional uart dev/viawd/viawd.c optional viawd dev/acpica/acpi_if.m standard dev/acpi_support/acpi_wmi_if.m standard Copied: head/sys/dev/uart/uart_cpu_x86.c (from r234116, head/sys/dev/uart/uart_cpu_amd64.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/uart/uart_cpu_x86.c Wed Apr 11 02:42:01 2012 (r234118, copy of r234116, head/sys/dev/uart/uart_cpu_amd64.c) @@ -0,0 +1,107 @@ +/*- + * Copyright (c) 2003, 2004 Marcel Moolenaar + * 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 + +bus_space_tag_t uart_bus_space_io = X86_BUS_SPACE_IO; +bus_space_tag_t uart_bus_space_mem = X86_BUS_SPACE_MEM; + +int +uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) +{ + + return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0); +} + +int +uart_cpu_getdev(int devtype, struct uart_devinfo *di) +{ + struct uart_class *class; + unsigned int i, ivar; + + class = &uart_ns8250_class; + if (class == NULL) + return (ENXIO); + + /* Check the environment. */ + if (uart_getenv(devtype, di, class) == 0) + return (0); + + /* + * Scan the hints. We only try units 0 to 3 (inclusive). This + * covers the ISA legacy where 4 UARTs had their resources + * predefined. + */ + for (i = 0; i < 4; i++) { + if (resource_int_value("uart", i, "flags", &ivar)) + continue; + if (devtype == UART_DEV_CONSOLE && !UART_FLAGS_CONSOLE(ivar)) + continue; + if (devtype == UART_DEV_DBGPORT && !UART_FLAGS_DBGPORT(ivar)) + continue; + /* + * We have a possible device. Make sure it's enabled and + * that we have an I/O port. + */ + if (resource_int_value("uart", i, "disabled", &ivar) == 0 && + ivar != 0) + continue; + if (resource_int_value("uart", i, "port", &ivar) != 0 || + ivar == 0) + continue; + /* + * Got it. Fill in the instance and return it. We only have + * ns8250 and successors on i386. + */ + di->ops = uart_getops(class); + di->bas.chan = 0; + di->bas.bst = uart_bus_space_io; + if (bus_space_map(di->bas.bst, ivar, uart_getrange(class), 0, + &di->bas.bsh) != 0) + continue; + di->bas.regshft = 0; + di->bas.rclk = 0; + if (resource_int_value("uart", i, "baud", &ivar) != 0) + ivar = 0; + di->baudrate = ivar; + di->databits = 8; + di->stopbits = 1; + di->parity = UART_PARITY_NONE; + return (0); + } + + return (ENXIO); +} From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 04:57:12 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 255211065672; Wed, 11 Apr 2012 04:57:12 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E4468FC12; Wed, 11 Apr 2012 04:57:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3B4vBsr055417; Wed, 11 Apr 2012 04:57:11 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B4vB7D055415; Wed, 11 Apr 2012 04:57:11 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201204110457.q3B4vB7D055415@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 11 Apr 2012 04:57:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234119 - stable/9/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 04:57:12 -0000 Author: kib Date: Wed Apr 11 04:57:11 2012 New Revision: 234119 URL: http://svn.freebsd.org/changeset/base/234119 Log: MFC r233609, r233610: Restore the writes of atimes, quotas and superblock from syncer vnode. Modified: stable/9/sys/ufs/ffs/ffs_vfsops.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- stable/9/sys/ufs/ffs/ffs_vfsops.c Wed Apr 11 02:42:01 2012 (r234118) +++ stable/9/sys/ufs/ffs/ffs_vfsops.c Wed Apr 11 04:57:11 2012 (r234119) @@ -80,6 +80,8 @@ static int ffs_mountfs(struct vnode *, s static void ffs_oldfscompat_read(struct fs *, struct ufsmount *, ufs2_daddr_t); static void ffs_ifree(struct ufsmount *ump, struct inode *ip); +static int ffs_sync_lazy(struct mount *mp); + static vfs_init_t ffs_init; static vfs_uninit_t ffs_uninit; static vfs_extattrctl_t ffs_extattrctl; @@ -1411,11 +1413,77 @@ ffs_statfs(mp, sbp) } /* + * For a lazy sync, we only care about access times, quotas and the + * superblock. Other filesystem changes are already converted to + * cylinder group blocks or inode blocks updates and are written to + * disk by syncer. + */ +static int +ffs_sync_lazy(mp) + struct mount *mp; +{ + struct vnode *mvp, *vp; + struct inode *ip; + struct thread *td; + int allerror, error; + + allerror = 0; + td = curthread; + if ((mp->mnt_flag & MNT_NOATIME) != 0) + goto qupdate; + MNT_ILOCK(mp); + MNT_VNODE_FOREACH(vp, mp, mvp) { + VI_LOCK(vp); + if (vp->v_iflag & VI_DOOMED || vp->v_type == VNON) { + VI_UNLOCK(vp); + continue; + } + ip = VTOI(vp); + + /* + * The IN_ACCESS flag is converted to IN_MODIFIED by + * ufs_close() and ufs_getattr() by the calls to + * ufs_itimes_locked(), without subsequent UFS_UPDATE(). + * Test also all the other timestamp flags too, to pick up + * any other cases that could be missed. + */ + if ((ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_MODIFIED | + IN_UPDATE)) == 0) { + VI_UNLOCK(vp); + continue; + } + MNT_IUNLOCK(mp); + if ((error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, + td)) != 0) { + MNT_ILOCK(mp); + continue; + } + error = ffs_update(vp, 0); + if (error != 0) + allerror = error; + vput(vp); + MNT_ILOCK(mp); + } + MNT_IUNLOCK(mp); + +qupdate: +#ifdef QUOTA + qsync(mp); +#endif + + if (VFSTOUFS(mp)->um_fs->fs_fmod != 0 && + (error = ffs_sbupdate(VFSTOUFS(mp), MNT_LAZY, 0)) != 0) + allerror = error; + return (allerror); +} + +/* * Go through the disk queues to initiate sandbagged IO; * go through the inodes to write those that have been modified; * initiate the writing of the super block if it has been modified. * - * Note: we are always called with the filesystem marked `MPBUSY'. + * Note: we are always called with the filesystem marked busy using + * vfs_busy(). */ static int ffs_sync(mp, waitfor) @@ -1444,15 +1512,9 @@ ffs_sync(mp, waitfor) if (fs->fs_fmod != 0 && fs->fs_ronly != 0 && ump->um_fsckpid == 0) panic("%s: ffs_sync: modification on read-only filesystem", fs->fs_fsmnt); - /* - * For a lazy sync, we just care about the filesystem metadata. - */ - if (waitfor == MNT_LAZY) { - secondary_accwrites = 0; - secondary_writes = 0; - lockreq = 0; - goto metasync; - } + if (waitfor == MNT_LAZY) + return (ffs_sync_lazy(mp)); + /* * Write back each (modified) inode. */ @@ -1527,7 +1589,6 @@ loop: qsync(mp); #endif -metasync: devvp = ump->um_devvp; bo = &devvp->v_bufobj; BO_LOCK(bo); From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 05:11:34 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1894C1065672; Wed, 11 Apr 2012 05:11:34 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 02FC58FC1A; Wed, 11 Apr 2012 05:11: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 q3B5BXHq055965; Wed, 11 Apr 2012 05:11:33 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B5BXSk055963; Wed, 11 Apr 2012 05:11:33 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201204110511.q3B5BXSk055963@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 11 Apr 2012 05:11:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234120 - stable/8/sys/ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 05:11:34 -0000 Author: kib Date: Wed Apr 11 05:11:33 2012 New Revision: 234120 URL: http://svn.freebsd.org/changeset/base/234120 Log: MFC r233609, r233610: Restore the writes of atimes, quotas and superblock from syncer vnode. Modified: stable/8/sys/ufs/ffs/ffs_vfsops.c Directory Properties: stable/8/sys/ (props changed) Modified: stable/8/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- stable/8/sys/ufs/ffs/ffs_vfsops.c Wed Apr 11 04:57:11 2012 (r234119) +++ stable/8/sys/ufs/ffs/ffs_vfsops.c Wed Apr 11 05:11:33 2012 (r234120) @@ -81,6 +81,8 @@ static void ffs_oldfscompat_read(struct ufs2_daddr_t); static void ffs_oldfscompat_write(struct fs *, struct ufsmount *); static void ffs_ifree(struct ufsmount *ump, struct inode *ip); +static int ffs_sync_lazy(struct mount *mp); + static vfs_init_t ffs_init; static vfs_uninit_t ffs_uninit; static vfs_extattrctl_t ffs_extattrctl; @@ -1296,11 +1298,77 @@ ffs_statfs(mp, sbp) } /* + * For a lazy sync, we only care about access times, quotas and the + * superblock. Other filesystem changes are already converted to + * cylinder group blocks or inode blocks updates and are written to + * disk by syncer. + */ +static int +ffs_sync_lazy(mp) + struct mount *mp; +{ + struct vnode *mvp, *vp; + struct inode *ip; + struct thread *td; + int allerror, error; + + allerror = 0; + td = curthread; + if ((mp->mnt_flag & MNT_NOATIME) != 0) + goto qupdate; + MNT_ILOCK(mp); + MNT_VNODE_FOREACH(vp, mp, mvp) { + VI_LOCK(vp); + if (vp->v_iflag & VI_DOOMED || vp->v_type == VNON) { + VI_UNLOCK(vp); + continue; + } + ip = VTOI(vp); + + /* + * The IN_ACCESS flag is converted to IN_MODIFIED by + * ufs_close() and ufs_getattr() by the calls to + * ufs_itimes_locked(), without subsequent UFS_UPDATE(). + * Test also all the other timestamp flags too, to pick up + * any other cases that could be missed. + */ + if ((ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_MODIFIED | + IN_UPDATE)) == 0) { + VI_UNLOCK(vp); + continue; + } + MNT_IUNLOCK(mp); + if ((error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, + td)) != 0) { + MNT_ILOCK(mp); + continue; + } + error = ffs_update(vp, 0); + if (error != 0) + allerror = error; + vput(vp); + MNT_ILOCK(mp); + } + MNT_IUNLOCK(mp); + +qupdate: +#ifdef QUOTA + qsync(mp); +#endif + + if (VFSTOUFS(mp)->um_fs->fs_fmod != 0 && + (error = ffs_sbupdate(VFSTOUFS(mp), MNT_LAZY, 0)) != 0) + allerror = error; + return (allerror); +} + +/* * Go through the disk queues to initiate sandbagged IO; * go through the inodes to write those that have been modified; * initiate the writing of the super block if it has been modified. * - * Note: we are always called with the filesystem marked `MPBUSY'. + * Note: we are always called with the filesystem marked busy using + * vfs_busy(). */ static int ffs_sync(mp, waitfor) @@ -1329,15 +1397,9 @@ ffs_sync(mp, waitfor) if (fs->fs_fmod != 0 && fs->fs_ronly != 0) panic("%s: ffs_sync: modification on read-only filesystem", fs->fs_fsmnt); - /* - * For a lazy sync, we just care about the filesystem metadata. - */ - if (waitfor == MNT_LAZY) { - secondary_accwrites = 0; - secondary_writes = 0; - lockreq = 0; - goto metasync; - } + if (waitfor == MNT_LAZY) + return (ffs_sync_lazy(mp)); + /* * Write back each (modified) inode. */ @@ -1412,7 +1474,6 @@ loop: qsync(mp); #endif -metasync: devvp = ump->um_devvp; bo = &devvp->v_bufobj; BO_LOCK(bo); From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 06:34:26 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 612BA1065672; Wed, 11 Apr 2012 06:34:26 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 41CAD8FC1D; Wed, 11 Apr 2012 06:34: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 q3B6YQaq058532; Wed, 11 Apr 2012 06:34:26 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B6YPM0058529; Wed, 11 Apr 2012 06:34:25 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201204110634.q3B6YPM0058529@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 11 Apr 2012 06:34:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234121 - head/sys/dev/bce X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 06:34:26 -0000 Author: yongari Date: Wed Apr 11 06:34:25 2012 New Revision: 234121 URL: http://svn.freebsd.org/changeset/base/234121 Log: Back out r228476. r228476 fixed superfluous link UP/DOWN messages but broke IPMI access during boot. It's not clear why r228476 breaks IPMI and should be revisited. Reported by: Paul Guyot ieee dot org > MFC after: 1 week Modified: head/sys/dev/bce/if_bce.c head/sys/dev/bce/if_bcereg.h Modified: head/sys/dev/bce/if_bce.c ============================================================================== --- head/sys/dev/bce/if_bce.c Wed Apr 11 05:11:33 2012 (r234120) +++ head/sys/dev/bce/if_bce.c Wed Apr 11 06:34:25 2012 (r234121) @@ -1982,7 +1982,6 @@ static void bce_miibus_statchg(device_t dev) { struct bce_softc *sc; - struct ifnet *ifp; struct mii_data *mii; int val; @@ -1990,57 +1989,42 @@ bce_miibus_statchg(device_t dev) DBENTER(BCE_VERBOSE_PHY); - ifp = sc->bce_ifp; mii = device_get_softc(sc->bce_miibus); - if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) - return; - sc->bce_link_up = FALSE; val = REG_RD(sc, BCE_EMAC_MODE); val &= ~(BCE_EMAC_MODE_PORT | BCE_EMAC_MODE_HALF_DUPLEX | BCE_EMAC_MODE_MAC_LOOP | BCE_EMAC_MODE_FORCE_LINK | BCE_EMAC_MODE_25G); /* Set MII or GMII interface based on the PHY speed. */ - if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == - (IFM_ACTIVE | IFM_AVALID)) { - switch (IFM_SUBTYPE(mii->mii_media_active)) { - case IFM_10_T: - if (BCE_CHIP_NUM(sc) != BCE_CHIP_NUM_5706) { - DBPRINT(sc, BCE_INFO_PHY, - "Enabling 10Mb interface.\n"); - val |= BCE_EMAC_MODE_PORT_MII_10; - sc->bce_link_up = TRUE; - break; - } - /* FALLTHROUGH */ - case IFM_100_TX: - DBPRINT(sc, BCE_INFO_PHY, "Enabling MII interface.\n"); - val |= BCE_EMAC_MODE_PORT_MII; - sc->bce_link_up = TRUE; - break; - case IFM_2500_SX: - DBPRINT(sc, BCE_INFO_PHY, "Enabling 2.5G MAC mode.\n"); - val |= BCE_EMAC_MODE_25G; - /* FALLTHROUGH */ - case IFM_1000_T: - case IFM_1000_SX: - DBPRINT(sc, BCE_INFO_PHY, "Enabling GMII interface.\n"); - val |= BCE_EMAC_MODE_PORT_GMII; - sc->bce_link_up = TRUE; - if (bce_verbose || bootverbose) - BCE_PRINTF("Gigabit link up!\n"); - break; - default: - DBPRINT(sc, BCE_INFO_PHY, "Unknown link speed.\n"); + switch (IFM_SUBTYPE(mii->mii_media_active)) { + case IFM_10_T: + if (BCE_CHIP_NUM(sc) != BCE_CHIP_NUM_5706) { + DBPRINT(sc, BCE_INFO_PHY, + "Enabling 10Mb interface.\n"); + val |= BCE_EMAC_MODE_PORT_MII_10; break; } + /* fall-through */ + case IFM_100_TX: + DBPRINT(sc, BCE_INFO_PHY, "Enabling MII interface.\n"); + val |= BCE_EMAC_MODE_PORT_MII; + break; + case IFM_2500_SX: + DBPRINT(sc, BCE_INFO_PHY, "Enabling 2.5G MAC mode.\n"); + val |= BCE_EMAC_MODE_25G; + /* fall-through */ + case IFM_1000_T: + case IFM_1000_SX: + DBPRINT(sc, BCE_INFO_PHY, "Enabling GMII interface.\n"); + val |= BCE_EMAC_MODE_PORT_GMII; + break; + default: + DBPRINT(sc, BCE_INFO_PHY, "Unknown link speed, enabling " + "default GMII interface.\n"); + val |= BCE_EMAC_MODE_PORT_GMII; } - if (sc->bce_link_up == FALSE) - return; - /* Set half or full duplex based on PHY settings. */ if ((mii->mii_media_active & IFM_GMASK) == IFM_HDX) { DBPRINT(sc, BCE_INFO_PHY, @@ -2052,7 +2036,7 @@ bce_miibus_statchg(device_t dev) REG_WR(sc, BCE_EMAC_MODE, val); - if ((mii->mii_media_active & IFM_ETH_RXPAUSE) != 0) { + if ((mii->mii_media_active & IFM_ETH_RXPAUSE) != 0) { DBPRINT(sc, BCE_INFO_PHY, "%s(): Enabling RX flow control.\n", __FUNCTION__); BCE_SETBIT(sc, BCE_EMAC_RX_MODE, BCE_EMAC_RX_MODE_FLOW_EN); @@ -2062,7 +2046,7 @@ bce_miibus_statchg(device_t dev) BCE_CLRBIT(sc, BCE_EMAC_RX_MODE, BCE_EMAC_RX_MODE_FLOW_EN); } - if ((mii->mii_media_active & IFM_ETH_TXPAUSE) != 0) { + if ((mii->mii_media_active & IFM_ETH_TXPAUSE) != 0) { DBPRINT(sc, BCE_INFO_PHY, "%s(): Enabling TX flow control.\n", __FUNCTION__); BCE_SETBIT(sc, BCE_EMAC_TX_MODE, BCE_EMAC_TX_MODE_FLOW_EN); @@ -6222,11 +6206,15 @@ bce_phy_intr(struct bce_softc *sc) DBPRINT(sc, BCE_INFO_PHY, "%s(): Link is now DOWN.\n", __FUNCTION__); } + /* - * Link state changed, allow tick routine to update - * the state baased on actual media state. + * Assume link is down and allow + * tick routine to update the state + * based on the actual media state. */ - sc->bce_link_tick = TRUE; + sc->bce_link_up = FALSE; + callout_stop(&sc->bce_tick_callout); + bce_tick(sc); } /* Acknowledge the link change interrupt. */ @@ -6910,13 +6898,12 @@ bce_init_locked(struct bce_softc *sc) /* Enable host interrupts. */ bce_enable_intr(sc, 1); + bce_ifmedia_upd_locked(ifp); + /* Let the OS know the driver is up and running. */ ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - sc->bce_link_tick = TRUE; - bce_ifmedia_upd_locked(ifp); - callout_reset(&sc->bce_tick_callout, hz, bce_tick, sc); bce_init_locked_exit: @@ -8212,19 +8199,31 @@ bce_tick(void *xsc) bce_watchdog(sc); /* If link is up already up then we're done. */ - if (sc->bce_link_tick == FALSE && sc->bce_link_up == TRUE) + if (sc->bce_link_up == TRUE) goto bce_tick_exit; /* Link is down. Check what the PHY's doing. */ mii = device_get_softc(sc->bce_miibus); mii_tick(mii); - sc->bce_link_tick = FALSE; - /* Now that link is up, handle any outstanding TX traffic. */ - if (sc->bce_link_up == TRUE && !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { + /* Check if the link has come up. */ + if ((mii->mii_media_status & IFM_ACTIVE) && + (IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)) { DBPRINT(sc, BCE_VERBOSE_MISC, - "%s(): Found pending TX traffic.\n", __FUNCTION__); - bce_start_locked(ifp); + "%s(): Link up!\n", __FUNCTION__); + sc->bce_link_up = TRUE; + if ((IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_T || + IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_SX || + IFM_SUBTYPE(mii->mii_media_active) == IFM_2500_SX) && + (bce_verbose || bootverbose)) + BCE_PRINTF("Gigabit link up!\n"); + + /* Now that link is up, handle any outstanding TX traffic. */ + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { + DBPRINT(sc, BCE_VERBOSE_MISC, "%s(): Found " + "pending TX traffic.\n", __FUNCTION__); + bce_start_locked(ifp); + } } bce_tick_exit: Modified: head/sys/dev/bce/if_bcereg.h ============================================================================== --- head/sys/dev/bce/if_bcereg.h Wed Apr 11 05:11:33 2012 (r234120) +++ head/sys/dev/bce/if_bcereg.h Wed Apr 11 06:34:25 2012 (r234121) @@ -6560,7 +6560,6 @@ struct bce_softc u16 pg_prod; u16 pg_cons; - int bce_link_tick; int bce_link_up; struct callout bce_tick_callout; struct callout bce_pulse_callout; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 06:35:14 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F0C51065672; Wed, 11 Apr 2012 06:35:14 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1A0718FC1A; Wed, 11 Apr 2012 06:35: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 q3B6ZDWM058592; Wed, 11 Apr 2012 06:35:13 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B6ZDg5058590; Wed, 11 Apr 2012 06:35:13 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201204110635.q3B6ZDg5058590@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 11 Apr 2012 06:35:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234122 - head/sbin/bsdlabel X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 06:35:14 -0000 Author: ae Date: Wed Apr 11 06:35:13 2012 New Revision: 234122 URL: http://svn.freebsd.org/changeset/base/234122 Log: It seems that libdisk(3) incorrectly sets d_secperunit value. Automatically fix it like GEOM_PART_BSD does. MFC after: 1 week Modified: head/sbin/bsdlabel/bsdlabel.c Modified: head/sbin/bsdlabel/bsdlabel.c ============================================================================== --- head/sbin/bsdlabel/bsdlabel.c Wed Apr 11 06:34:25 2012 (r234121) +++ head/sbin/bsdlabel/bsdlabel.c Wed Apr 11 06:35:13 2012 (r234122) @@ -1194,7 +1194,8 @@ checklabel(struct disklabel *lp) lp->d_interleave = vl->d_interleave; if (lp->d_secpercyl == 0) lp->d_secpercyl = vl->d_secpercyl; - if (lp->d_secperunit == 0) + if (lp->d_secperunit == 0 || + lp->d_secperunit > vl->d_secperunit) lp->d_secperunit = vl->d_secperunit; if (lp->d_bbsize == 0) lp->d_bbsize = vl->d_bbsize; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 07:08:42 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7196C106566C; Wed, 11 Apr 2012 07:08:42 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 512F68FC19; Wed, 11 Apr 2012 07:08:42 +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 q3B78gxO059784; Wed, 11 Apr 2012 07:08:42 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B78gAj059780; Wed, 11 Apr 2012 07:08:42 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201204110708.q3B78gAj059780@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 11 Apr 2012 07:08:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234123 - in stable/9/sys: dev/fxp i386/conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 07:08:42 -0000 Author: yongari Date: Wed Apr 11 07:08:41 2012 New Revision: 234123 URL: http://svn.freebsd.org/changeset/base/234123 Log: MFC r233585-233587: r233585: Partially revert r223608 and selectively allow microcode loading for 82550C. For 82550 controllers this change restores CPUSaver microcode loading. Due to silicon bug on 82550 and 82550C with server extension, these controllers seem to require CPUSaver microcode to receive fragmented UDP datagrams. However the microcode shouldn't be used on client featured 82550C as it locks up the controller. In addition, client featured 82550C does not have the silicon bug. Also clear temporary memory used for microcode loading since the same memory area is used for other commands. While I'm here use 82550C in probe message instead of generic 82550. Reported by: Andreas Longwitz incore de> Tested by: Andreas Longwitz incore de> r233586: Load entire EEPROM contents in device attach time and verify whether the checksum of EEPROM is valid or not. Because driver heavily relies on EEPROM information when it selectively enables features/workarounds, it would be helpful to know whether driver sees valid EEPROM. While I'm here remove all other EEPROM accesses since the entire EEPROM is loaded at device attach time. r233587: Remove unnecessary #if as the software workaround for PCI protocol violation should be activated unless the system is cold-booted after updating EEPROM. The PCI protocol violation happens only when established link is 10Mbps so the workaround should be updated whenever link state change is detected. Previously the workaround was activated only when user checks current media status with ifconfig(8). Modified: stable/9/sys/dev/fxp/if_fxp.c stable/9/sys/dev/fxp/if_fxpreg.h stable/9/sys/dev/fxp/if_fxpvar.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/dev/fxp/if_fxp.c ============================================================================== --- stable/9/sys/dev/fxp/if_fxp.c Wed Apr 11 06:35:13 2012 (r234122) +++ stable/9/sys/dev/fxp/if_fxp.c Wed Apr 11 07:08:41 2012 (r234123) @@ -194,7 +194,7 @@ static const struct fxp_ident const fxp_ { 0x1229, 0x08, 0, "Intel 82559 Pro/100 Ethernet" }, { 0x1229, 0x09, 0, "Intel 82559ER Pro/100 Ethernet" }, { 0x1229, 0x0c, 0, "Intel 82550 Pro/100 Ethernet" }, - { 0x1229, 0x0d, 0, "Intel 82550 Pro/100 Ethernet" }, + { 0x1229, 0x0d, 0, "Intel 82550C Pro/100 Ethernet" }, { 0x1229, 0x0e, 0, "Intel 82550 Pro/100 Ethernet" }, { 0x1229, 0x0f, 0, "Intel 82551 Pro/100 Ethernet" }, { 0x1229, 0x10, 0, "Intel 82551 Pro/100 Ethernet" }, @@ -248,6 +248,7 @@ static uint16_t fxp_eeprom_getword(stru static void fxp_eeprom_putword(struct fxp_softc *sc, int offset, uint16_t data); static void fxp_autosize_eeprom(struct fxp_softc *sc); +static void fxp_load_eeprom(struct fxp_softc *sc); static void fxp_read_eeprom(struct fxp_softc *sc, u_short *data, int offset, int words); static void fxp_write_eeprom(struct fxp_softc *sc, u_short *data, @@ -426,7 +427,7 @@ fxp_attach(device_t dev) struct fxp_rx *rxp; struct ifnet *ifp; uint32_t val; - uint16_t data, myea[ETHER_ADDR_LEN / 2]; + uint16_t data; u_char eaddr[ETHER_ADDR_LEN]; int error, flags, i, pmc, prefer_iomap; @@ -498,6 +499,7 @@ fxp_attach(device_t dev) * Find out how large of an SEEPROM we have. */ fxp_autosize_eeprom(sc); + fxp_load_eeprom(sc); /* * Find out the chip revision; lump all 82557 revs together. @@ -507,7 +509,7 @@ fxp_attach(device_t dev) /* Assume ICH controllers are 82559. */ sc->revision = FXP_REV_82559_A0; } else { - fxp_read_eeprom(sc, &data, 5, 1); + data = sc->eeprom[FXP_EEPROM_MAP_CNTR]; if ((data >> 8) == 1) sc->revision = FXP_REV_82557; else @@ -519,15 +521,27 @@ fxp_attach(device_t dev) */ if (sc->revision >= FXP_REV_82558_A4 && sc->revision != FXP_REV_82559S_A) { - fxp_read_eeprom(sc, &data, 10, 1); + data = sc->eeprom[FXP_EEPROM_MAP_ID]; if ((data & 0x20) != 0 && pci_find_cap(sc->dev, PCIY_PMG, &pmc) == 0) sc->flags |= FXP_FLAG_WOLCAP; } + if (sc->revision == FXP_REV_82550_C) { + /* + * 82550C with server extension requires microcode to + * receive fragmented UDP datagrams. However if the + * microcode is used for client-only featured 82550C + * it locks up controller. + */ + data = sc->eeprom[FXP_EEPROM_MAP_COMPAT]; + if ((data & 0x0400) == 0) + sc->flags |= FXP_FLAG_NO_UCODE; + } + /* Receiver lock-up workaround detection. */ if (sc->revision < FXP_REV_82558_A4) { - fxp_read_eeprom(sc, &data, 3, 1); + data = sc->eeprom[FXP_EEPROM_MAP_COMPAT]; if ((data & 0x03) != 0x03) { sc->flags |= FXP_FLAG_RXBUG; device_printf(dev, "Enabling Rx lock-up workaround\n"); @@ -537,7 +551,7 @@ fxp_attach(device_t dev) /* * Determine whether we must use the 503 serial interface. */ - fxp_read_eeprom(sc, &data, 6, 1); + data = sc->eeprom[FXP_EEPROM_MAP_PRI_PHY]; if (sc->revision == FXP_REV_82557 && (data & FXP_PHY_DEVICE_MASK) != 0 && (data & FXP_PHY_SERIAL_ONLY)) sc->flags |= FXP_FLAG_SERIAL_MEDIA; @@ -557,7 +571,7 @@ fxp_attach(device_t dev) */ if ((sc->ident->ich >= 2 && sc->ident->ich <= 3) || (sc->ident->ich == 0 && sc->revision >= FXP_REV_82559_A0)) { - fxp_read_eeprom(sc, &data, 10, 1); + data = sc->eeprom[FXP_EEPROM_MAP_ID]; if (data & 0x02) { /* STB enable */ uint16_t cksum; int i; @@ -565,27 +579,24 @@ fxp_attach(device_t dev) device_printf(dev, "Disabling dynamic standby mode in EEPROM\n"); data &= ~0x02; - fxp_write_eeprom(sc, &data, 10, 1); + sc->eeprom[FXP_EEPROM_MAP_ID] = data; + fxp_write_eeprom(sc, &data, FXP_EEPROM_MAP_ID, 1); device_printf(dev, "New EEPROM ID: 0x%x\n", data); cksum = 0; - for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) { - fxp_read_eeprom(sc, &data, i, 1); - cksum += data; - } + for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) + cksum += sc->eeprom[i]; i = (1 << sc->eeprom_size) - 1; cksum = 0xBABA - cksum; - fxp_read_eeprom(sc, &data, i, 1); fxp_write_eeprom(sc, &cksum, i, 1); device_printf(dev, "EEPROM checksum @ 0x%x: 0x%x -> 0x%x\n", - i, data, cksum); -#if 1 + i, sc->eeprom[i], cksum); + sc->eeprom[i] = cksum; /* * If the user elects to continue, try the software * workaround, as it is better than nothing. */ sc->flags |= FXP_FLAG_CU_RESUME_BUG; -#endif } } @@ -779,21 +790,20 @@ fxp_attach(device_t dev) /* * Read MAC address. */ - fxp_read_eeprom(sc, myea, 0, 3); - eaddr[0] = myea[0] & 0xff; - eaddr[1] = myea[0] >> 8; - eaddr[2] = myea[1] & 0xff; - eaddr[3] = myea[1] >> 8; - eaddr[4] = myea[2] & 0xff; - eaddr[5] = myea[2] >> 8; + eaddr[0] = sc->eeprom[FXP_EEPROM_MAP_IA0] & 0xff; + eaddr[1] = sc->eeprom[FXP_EEPROM_MAP_IA0] >> 8; + eaddr[2] = sc->eeprom[FXP_EEPROM_MAP_IA1] & 0xff; + eaddr[3] = sc->eeprom[FXP_EEPROM_MAP_IA1] >> 8; + eaddr[4] = sc->eeprom[FXP_EEPROM_MAP_IA2] & 0xff; + eaddr[5] = sc->eeprom[FXP_EEPROM_MAP_IA2] >> 8; if (bootverbose) { device_printf(dev, "PCI IDs: %04x %04x %04x %04x %04x\n", pci_get_vendor(dev), pci_get_device(dev), pci_get_subvendor(dev), pci_get_subdevice(dev), pci_get_revid(dev)); - fxp_read_eeprom(sc, &data, 10, 1); device_printf(dev, "Dynamic Standby mode is %s\n", - data & 0x02 ? "enabled" : "disabled"); + sc->eeprom[FXP_EEPROM_MAP_ID] & 0x02 ? "enabled" : + "disabled"); } /* @@ -1289,6 +1299,23 @@ fxp_write_eeprom(struct fxp_softc *sc, u fxp_eeprom_putword(sc, offset + i, data[i]); } +static void +fxp_load_eeprom(struct fxp_softc *sc) +{ + int i; + uint16_t cksum; + + fxp_read_eeprom(sc, sc->eeprom, 0, 1 << sc->eeprom_size); + cksum = 0; + for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) + cksum += sc->eeprom[i]; + cksum = 0xBABA - cksum; + if (cksum != sc->eeprom[(1 << sc->eeprom_size) - 1]) + device_printf(sc->dev, + "EEPROM checksum mismatch! (0x%04x -> 0x%04x)\n", + cksum, sc->eeprom[(1 << sc->eeprom_size) - 1]); +} + /* * Grab the softc lock and call the real fxp_start_body() routine */ @@ -2582,12 +2609,6 @@ fxp_ifmedia_sts(struct ifnet *ifp, struc mii_pollstat(mii); ifmr->ifm_active = mii->mii_media_active; ifmr->ifm_status = mii->mii_media_status; - - if (IFM_SUBTYPE(ifmr->ifm_active) == IFM_10_T && - sc->flags & FXP_FLAG_CU_RESUME_BUG) - sc->cu_resume_bug = 1; - else - sc->cu_resume_bug = 0; FXP_UNLOCK(sc); } @@ -2780,6 +2801,11 @@ fxp_miibus_statchg(device_t dev) (IFM_AVALID | IFM_ACTIVE)) return; + if (IFM_SUBTYPE(mii->mii_media_active) == IFM_10_T && + sc->flags & FXP_FLAG_CU_RESUME_BUG) + sc->cu_resume_bug = 1; + else + sc->cu_resume_bug = 0; /* * Call fxp_init_body in order to adjust the flow control settings. * Note that the 82557 doesn't support hardware flow control. @@ -3014,10 +3040,8 @@ static uint32_t fxp_ucode_d101a[] = D101 static uint32_t fxp_ucode_d101b0[] = D101_B0_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d101ma[] = D101M_B_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d101s[] = D101S_RCVBUNDLE_UCODE; -#ifdef notyet static uint32_t fxp_ucode_d102[] = D102_B_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d102c[] = D102_C_RCVBUNDLE_UCODE; -#endif static uint32_t fxp_ucode_d102e[] = D102_E_RCVBUNDLE_UCODE; #define UCODE(x) x, sizeof(x)/sizeof(uint32_t) @@ -3035,12 +3059,10 @@ static const struct ucode { D101M_CPUSAVER_DWORD, D101M_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82559S_A, UCODE(fxp_ucode_d101s), D101S_CPUSAVER_DWORD, D101S_CPUSAVER_BUNDLE_MAX_DWORD }, -#ifdef notyet { FXP_REV_82550, UCODE(fxp_ucode_d102), D102_B_CPUSAVER_DWORD, D102_B_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82550_C, UCODE(fxp_ucode_d102c), D102_C_CPUSAVER_DWORD, D102_C_CPUSAVER_BUNDLE_MAX_DWORD }, -#endif { FXP_REV_82551_F, UCODE(fxp_ucode_d102e), D102_E_CPUSAVER_DWORD, D102_E_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82551_10, UCODE(fxp_ucode_d102e), @@ -3055,6 +3077,9 @@ fxp_load_ucode(struct fxp_softc *sc) struct fxp_cb_ucode *cbp; int i; + if (sc->flags & FXP_FLAG_NO_UCODE) + return; + for (uc = ucode_table; uc->ucode != NULL; uc++) if (sc->revision == uc->revision) break; @@ -3087,6 +3112,7 @@ fxp_load_ucode(struct fxp_softc *sc) sc->tunable_int_delay, uc->bundle_max_offset == 0 ? 0 : sc->tunable_bundle_max); sc->flags |= FXP_FLAG_UCODE; + bzero(cbp, FXP_TXCB_SZ); } #define FXP_SYSCTL_STAT_ADD(c, h, n, p, d) \ Modified: stable/9/sys/dev/fxp/if_fxpreg.h ============================================================================== --- stable/9/sys/dev/fxp/if_fxpreg.h Wed Apr 11 06:35:13 2012 (r234122) +++ stable/9/sys/dev/fxp/if_fxpreg.h Wed Apr 11 07:08:41 2012 (r234123) @@ -448,6 +448,24 @@ struct fxp_stats { #define FXP_EEPROM_OPC_READ 0x6 /* + * EEPROM map + */ +#define FXP_EEPROM_MAP_IA0 0x00 /* Station address */ +#define FXP_EEPROM_MAP_IA1 0x01 +#define FXP_EEPROM_MAP_IA2 0x02 +#define FXP_EEPROM_MAP_COMPAT 0x03 /* Compatibility */ +#define FXP_EEPROM_MAP_CNTR 0x05 /* Controller/connector type */ +#define FXP_EEPROM_MAP_PRI_PHY 0x06 /* Primary PHY record */ +#define FXP_EEPROM_MAP_SEC_PHY 0x07 /* Secondary PHY record */ +#define FXP_EEPROM_MAP_PWA0 0x08 /* Printed wire assembly num. */ +#define FXP_EEPROM_MAP_PWA1 0x09 /* Printed wire assembly num. */ +#define FXP_EEPROM_MAP_ID 0x0A /* EEPROM ID */ +#define FXP_EEPROM_MAP_SUBSYS 0x0B /* Subsystem ID */ +#define FXP_EEPROM_MAP_SUBVEN 0x0C /* Subsystem vendor ID */ +#define FXP_EEPROM_MAP_CKSUM64 0x3F /* 64-word EEPROM checksum */ +#define FXP_EEPROM_MAP_CKSUM256 0xFF /* 256-word EEPROM checksum */ + +/* * Management Data Interface opcodes */ #define FXP_MDI_WRITE 0x1 Modified: stable/9/sys/dev/fxp/if_fxpvar.h ============================================================================== --- stable/9/sys/dev/fxp/if_fxpvar.h Wed Apr 11 06:35:13 2012 (r234122) +++ stable/9/sys/dev/fxp/if_fxpvar.h Wed Apr 11 07:08:41 2012 (r234123) @@ -219,6 +219,7 @@ struct fxp_softc { int if_flags; uint8_t rfa_size; uint32_t tx_cmd; + uint16_t eeprom[256]; }; #define FXP_FLAG_MWI_ENABLE 0x0001 /* MWI enable */ @@ -236,6 +237,7 @@ struct fxp_softc { #define FXP_FLAG_WOLCAP 0x2000 /* WOL capability */ #define FXP_FLAG_WOL 0x4000 /* WOL active */ #define FXP_FLAG_RXBUG 0x8000 /* Rx lock-up bug */ +#define FXP_FLAG_NO_UCODE 0x10000 /* ucode is not applicable */ /* Macros to ease CSR access. */ #define CSR_READ_1(sc, reg) bus_read_1(sc->fxp_res[0], reg) From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 07:10:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 11E211065670; Wed, 11 Apr 2012 07:10:59 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E695E8FC12; Wed, 11 Apr 2012 07:10: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 q3B7AwfF059889; Wed, 11 Apr 2012 07:10:58 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B7AwlE059885; Wed, 11 Apr 2012 07:10:58 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201204110710.q3B7AwlE059885@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 11 Apr 2012 07:10:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234124 - in stable/8/sys: dev/fxp i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 07:10:59 -0000 Author: yongari Date: Wed Apr 11 07:10:58 2012 New Revision: 234124 URL: http://svn.freebsd.org/changeset/base/234124 Log: MFC r233585-233587: r233585: Partially revert r223608 and selectively allow microcode loading for 82550C. For 82550 controllers this change restores CPUSaver microcode loading. Due to silicon bug on 82550 and 82550C with server extension, these controllers seem to require CPUSaver microcode to receive fragmented UDP datagrams. However the microcode shouldn't be used on client featured 82550C as it locks up the controller. In addition, client featured 82550C does not have the silicon bug. Also clear temporary memory used for microcode loading since the same memory area is used for other commands. While I'm here use 82550C in probe message instead of generic 82550. Reported by: Andreas Longwitz incore de> Tested by: Andreas Longwitz incore de> r233586: Load entire EEPROM contents in device attach time and verify whether the checksum of EEPROM is valid or not. Because driver heavily relies on EEPROM information when it selectively enables features/workarounds, it would be helpful to know whether driver sees valid EEPROM. While I'm here remove all other EEPROM accesses since the entire EEPROM is loaded at device attach time. r233587: Remove unnecessary #if as the software workaround for PCI protocol violation should be activated unless the system is cold-booted after updating EEPROM. The PCI protocol violation happens only when established link is 10Mbps so the workaround should be updated whenever link state change is detected. Previously the workaround was activated only when user checks current media status with ifconfig(8). Modified: stable/8/sys/dev/fxp/if_fxp.c stable/8/sys/dev/fxp/if_fxpreg.h stable/8/sys/dev/fxp/if_fxpvar.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/dev/fxp/if_fxp.c ============================================================================== --- stable/8/sys/dev/fxp/if_fxp.c Wed Apr 11 07:08:41 2012 (r234123) +++ stable/8/sys/dev/fxp/if_fxp.c Wed Apr 11 07:10:58 2012 (r234124) @@ -194,7 +194,7 @@ static const struct fxp_ident const fxp_ { 0x1229, 0x08, 0, "Intel 82559 Pro/100 Ethernet" }, { 0x1229, 0x09, 0, "Intel 82559ER Pro/100 Ethernet" }, { 0x1229, 0x0c, 0, "Intel 82550 Pro/100 Ethernet" }, - { 0x1229, 0x0d, 0, "Intel 82550 Pro/100 Ethernet" }, + { 0x1229, 0x0d, 0, "Intel 82550C Pro/100 Ethernet" }, { 0x1229, 0x0e, 0, "Intel 82550 Pro/100 Ethernet" }, { 0x1229, 0x0f, 0, "Intel 82551 Pro/100 Ethernet" }, { 0x1229, 0x10, 0, "Intel 82551 Pro/100 Ethernet" }, @@ -248,6 +248,7 @@ static uint16_t fxp_eeprom_getword(stru static void fxp_eeprom_putword(struct fxp_softc *sc, int offset, uint16_t data); static void fxp_autosize_eeprom(struct fxp_softc *sc); +static void fxp_load_eeprom(struct fxp_softc *sc); static void fxp_read_eeprom(struct fxp_softc *sc, u_short *data, int offset, int words); static void fxp_write_eeprom(struct fxp_softc *sc, u_short *data, @@ -426,7 +427,7 @@ fxp_attach(device_t dev) struct fxp_rx *rxp; struct ifnet *ifp; uint32_t val; - uint16_t data, myea[ETHER_ADDR_LEN / 2]; + uint16_t data; u_char eaddr[ETHER_ADDR_LEN]; int error, flags, i, pmc, prefer_iomap; @@ -498,6 +499,7 @@ fxp_attach(device_t dev) * Find out how large of an SEEPROM we have. */ fxp_autosize_eeprom(sc); + fxp_load_eeprom(sc); /* * Find out the chip revision; lump all 82557 revs together. @@ -507,7 +509,7 @@ fxp_attach(device_t dev) /* Assume ICH controllers are 82559. */ sc->revision = FXP_REV_82559_A0; } else { - fxp_read_eeprom(sc, &data, 5, 1); + data = sc->eeprom[FXP_EEPROM_MAP_CNTR]; if ((data >> 8) == 1) sc->revision = FXP_REV_82557; else @@ -519,15 +521,27 @@ fxp_attach(device_t dev) */ if (sc->revision >= FXP_REV_82558_A4 && sc->revision != FXP_REV_82559S_A) { - fxp_read_eeprom(sc, &data, 10, 1); + data = sc->eeprom[FXP_EEPROM_MAP_ID]; if ((data & 0x20) != 0 && pci_find_extcap(sc->dev, PCIY_PMG, &pmc) == 0) sc->flags |= FXP_FLAG_WOLCAP; } + if (sc->revision == FXP_REV_82550_C) { + /* + * 82550C with server extension requires microcode to + * receive fragmented UDP datagrams. However if the + * microcode is used for client-only featured 82550C + * it locks up controller. + */ + data = sc->eeprom[FXP_EEPROM_MAP_COMPAT]; + if ((data & 0x0400) == 0) + sc->flags |= FXP_FLAG_NO_UCODE; + } + /* Receiver lock-up workaround detection. */ if (sc->revision < FXP_REV_82558_A4) { - fxp_read_eeprom(sc, &data, 3, 1); + data = sc->eeprom[FXP_EEPROM_MAP_COMPAT]; if ((data & 0x03) != 0x03) { sc->flags |= FXP_FLAG_RXBUG; device_printf(dev, "Enabling Rx lock-up workaround\n"); @@ -537,7 +551,7 @@ fxp_attach(device_t dev) /* * Determine whether we must use the 503 serial interface. */ - fxp_read_eeprom(sc, &data, 6, 1); + data = sc->eeprom[FXP_EEPROM_MAP_PRI_PHY]; if (sc->revision == FXP_REV_82557 && (data & FXP_PHY_DEVICE_MASK) != 0 && (data & FXP_PHY_SERIAL_ONLY)) sc->flags |= FXP_FLAG_SERIAL_MEDIA; @@ -557,7 +571,7 @@ fxp_attach(device_t dev) */ if ((sc->ident->ich >= 2 && sc->ident->ich <= 3) || (sc->ident->ich == 0 && sc->revision >= FXP_REV_82559_A0)) { - fxp_read_eeprom(sc, &data, 10, 1); + data = sc->eeprom[FXP_EEPROM_MAP_ID]; if (data & 0x02) { /* STB enable */ uint16_t cksum; int i; @@ -565,27 +579,24 @@ fxp_attach(device_t dev) device_printf(dev, "Disabling dynamic standby mode in EEPROM\n"); data &= ~0x02; - fxp_write_eeprom(sc, &data, 10, 1); + sc->eeprom[FXP_EEPROM_MAP_ID] = data; + fxp_write_eeprom(sc, &data, FXP_EEPROM_MAP_ID, 1); device_printf(dev, "New EEPROM ID: 0x%x\n", data); cksum = 0; - for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) { - fxp_read_eeprom(sc, &data, i, 1); - cksum += data; - } + for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) + cksum += sc->eeprom[i]; i = (1 << sc->eeprom_size) - 1; cksum = 0xBABA - cksum; - fxp_read_eeprom(sc, &data, i, 1); fxp_write_eeprom(sc, &cksum, i, 1); device_printf(dev, "EEPROM checksum @ 0x%x: 0x%x -> 0x%x\n", - i, data, cksum); -#if 1 + i, sc->eeprom[i], cksum); + sc->eeprom[i] = cksum; /* * If the user elects to continue, try the software * workaround, as it is better than nothing. */ sc->flags |= FXP_FLAG_CU_RESUME_BUG; -#endif } } @@ -779,21 +790,20 @@ fxp_attach(device_t dev) /* * Read MAC address. */ - fxp_read_eeprom(sc, myea, 0, 3); - eaddr[0] = myea[0] & 0xff; - eaddr[1] = myea[0] >> 8; - eaddr[2] = myea[1] & 0xff; - eaddr[3] = myea[1] >> 8; - eaddr[4] = myea[2] & 0xff; - eaddr[5] = myea[2] >> 8; + eaddr[0] = sc->eeprom[FXP_EEPROM_MAP_IA0] & 0xff; + eaddr[1] = sc->eeprom[FXP_EEPROM_MAP_IA0] >> 8; + eaddr[2] = sc->eeprom[FXP_EEPROM_MAP_IA1] & 0xff; + eaddr[3] = sc->eeprom[FXP_EEPROM_MAP_IA1] >> 8; + eaddr[4] = sc->eeprom[FXP_EEPROM_MAP_IA2] & 0xff; + eaddr[5] = sc->eeprom[FXP_EEPROM_MAP_IA2] >> 8; if (bootverbose) { device_printf(dev, "PCI IDs: %04x %04x %04x %04x %04x\n", pci_get_vendor(dev), pci_get_device(dev), pci_get_subvendor(dev), pci_get_subdevice(dev), pci_get_revid(dev)); - fxp_read_eeprom(sc, &data, 10, 1); device_printf(dev, "Dynamic Standby mode is %s\n", - data & 0x02 ? "enabled" : "disabled"); + sc->eeprom[FXP_EEPROM_MAP_ID] & 0x02 ? "enabled" : + "disabled"); } /* @@ -1289,6 +1299,23 @@ fxp_write_eeprom(struct fxp_softc *sc, u fxp_eeprom_putword(sc, offset + i, data[i]); } +static void +fxp_load_eeprom(struct fxp_softc *sc) +{ + int i; + uint16_t cksum; + + fxp_read_eeprom(sc, sc->eeprom, 0, 1 << sc->eeprom_size); + cksum = 0; + for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) + cksum += sc->eeprom[i]; + cksum = 0xBABA - cksum; + if (cksum != sc->eeprom[(1 << sc->eeprom_size) - 1]) + device_printf(sc->dev, + "EEPROM checksum mismatch! (0x%04x -> 0x%04x)\n", + cksum, sc->eeprom[(1 << sc->eeprom_size) - 1]); +} + /* * Grab the softc lock and call the real fxp_start_body() routine */ @@ -2582,12 +2609,6 @@ fxp_ifmedia_sts(struct ifnet *ifp, struc mii_pollstat(mii); ifmr->ifm_active = mii->mii_media_active; ifmr->ifm_status = mii->mii_media_status; - - if (IFM_SUBTYPE(ifmr->ifm_active) == IFM_10_T && - sc->flags & FXP_FLAG_CU_RESUME_BUG) - sc->cu_resume_bug = 1; - else - sc->cu_resume_bug = 0; FXP_UNLOCK(sc); } @@ -2780,6 +2801,11 @@ fxp_miibus_statchg(device_t dev) (IFM_AVALID | IFM_ACTIVE)) return; + if (IFM_SUBTYPE(mii->mii_media_active) == IFM_10_T && + sc->flags & FXP_FLAG_CU_RESUME_BUG) + sc->cu_resume_bug = 1; + else + sc->cu_resume_bug = 0; /* * Call fxp_init_body in order to adjust the flow control settings. * Note that the 82557 doesn't support hardware flow control. @@ -3014,10 +3040,8 @@ static uint32_t fxp_ucode_d101a[] = D101 static uint32_t fxp_ucode_d101b0[] = D101_B0_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d101ma[] = D101M_B_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d101s[] = D101S_RCVBUNDLE_UCODE; -#ifdef notyet static uint32_t fxp_ucode_d102[] = D102_B_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d102c[] = D102_C_RCVBUNDLE_UCODE; -#endif static uint32_t fxp_ucode_d102e[] = D102_E_RCVBUNDLE_UCODE; #define UCODE(x) x, sizeof(x)/sizeof(uint32_t) @@ -3035,12 +3059,10 @@ static const struct ucode { D101M_CPUSAVER_DWORD, D101M_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82559S_A, UCODE(fxp_ucode_d101s), D101S_CPUSAVER_DWORD, D101S_CPUSAVER_BUNDLE_MAX_DWORD }, -#ifdef notyet { FXP_REV_82550, UCODE(fxp_ucode_d102), D102_B_CPUSAVER_DWORD, D102_B_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82550_C, UCODE(fxp_ucode_d102c), D102_C_CPUSAVER_DWORD, D102_C_CPUSAVER_BUNDLE_MAX_DWORD }, -#endif { FXP_REV_82551_F, UCODE(fxp_ucode_d102e), D102_E_CPUSAVER_DWORD, D102_E_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82551_10, UCODE(fxp_ucode_d102e), @@ -3055,6 +3077,9 @@ fxp_load_ucode(struct fxp_softc *sc) struct fxp_cb_ucode *cbp; int i; + if (sc->flags & FXP_FLAG_NO_UCODE) + return; + for (uc = ucode_table; uc->ucode != NULL; uc++) if (sc->revision == uc->revision) break; @@ -3087,6 +3112,7 @@ fxp_load_ucode(struct fxp_softc *sc) sc->tunable_int_delay, uc->bundle_max_offset == 0 ? 0 : sc->tunable_bundle_max); sc->flags |= FXP_FLAG_UCODE; + bzero(cbp, FXP_TXCB_SZ); } #define FXP_SYSCTL_STAT_ADD(c, h, n, p, d) \ Modified: stable/8/sys/dev/fxp/if_fxpreg.h ============================================================================== --- stable/8/sys/dev/fxp/if_fxpreg.h Wed Apr 11 07:08:41 2012 (r234123) +++ stable/8/sys/dev/fxp/if_fxpreg.h Wed Apr 11 07:10:58 2012 (r234124) @@ -448,6 +448,24 @@ struct fxp_stats { #define FXP_EEPROM_OPC_READ 0x6 /* + * EEPROM map + */ +#define FXP_EEPROM_MAP_IA0 0x00 /* Station address */ +#define FXP_EEPROM_MAP_IA1 0x01 +#define FXP_EEPROM_MAP_IA2 0x02 +#define FXP_EEPROM_MAP_COMPAT 0x03 /* Compatibility */ +#define FXP_EEPROM_MAP_CNTR 0x05 /* Controller/connector type */ +#define FXP_EEPROM_MAP_PRI_PHY 0x06 /* Primary PHY record */ +#define FXP_EEPROM_MAP_SEC_PHY 0x07 /* Secondary PHY record */ +#define FXP_EEPROM_MAP_PWA0 0x08 /* Printed wire assembly num. */ +#define FXP_EEPROM_MAP_PWA1 0x09 /* Printed wire assembly num. */ +#define FXP_EEPROM_MAP_ID 0x0A /* EEPROM ID */ +#define FXP_EEPROM_MAP_SUBSYS 0x0B /* Subsystem ID */ +#define FXP_EEPROM_MAP_SUBVEN 0x0C /* Subsystem vendor ID */ +#define FXP_EEPROM_MAP_CKSUM64 0x3F /* 64-word EEPROM checksum */ +#define FXP_EEPROM_MAP_CKSUM256 0xFF /* 256-word EEPROM checksum */ + +/* * Management Data Interface opcodes */ #define FXP_MDI_WRITE 0x1 Modified: stable/8/sys/dev/fxp/if_fxpvar.h ============================================================================== --- stable/8/sys/dev/fxp/if_fxpvar.h Wed Apr 11 07:08:41 2012 (r234123) +++ stable/8/sys/dev/fxp/if_fxpvar.h Wed Apr 11 07:10:58 2012 (r234124) @@ -219,6 +219,7 @@ struct fxp_softc { int if_flags; uint8_t rfa_size; uint32_t tx_cmd; + uint16_t eeprom[256]; }; #define FXP_FLAG_MWI_ENABLE 0x0001 /* MWI enable */ @@ -236,6 +237,7 @@ struct fxp_softc { #define FXP_FLAG_WOLCAP 0x2000 /* WOL capability */ #define FXP_FLAG_WOL 0x4000 /* WOL active */ #define FXP_FLAG_RXBUG 0x8000 /* Rx lock-up bug */ +#define FXP_FLAG_NO_UCODE 0x10000 /* ucode is not applicable */ /* Macros to ease CSR access. */ #define CSR_READ_1(sc, reg) bus_read_1(sc->fxp_res[0], reg) From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 07:12:20 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFF1F1065672; Wed, 11 Apr 2012 07:12:20 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A8CFD8FC17; Wed, 11 Apr 2012 07:12: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 q3B7CKHg059985; Wed, 11 Apr 2012 07:12:20 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B7CKlM059981; Wed, 11 Apr 2012 07:12:20 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201204110712.q3B7CKlM059981@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 11 Apr 2012 07:12:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234125 - stable/7/sys/dev/fxp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 07:12:21 -0000 Author: yongari Date: Wed Apr 11 07:12:20 2012 New Revision: 234125 URL: http://svn.freebsd.org/changeset/base/234125 Log: MFC r233585-233587: r233585: Partially revert r223608 and selectively allow microcode loading for 82550C. For 82550 controllers this change restores CPUSaver microcode loading. Due to silicon bug on 82550 and 82550C with server extension, these controllers seem to require CPUSaver microcode to receive fragmented UDP datagrams. However the microcode shouldn't be used on client featured 82550C as it locks up the controller. In addition, client featured 82550C does not have the silicon bug. Also clear temporary memory used for microcode loading since the same memory area is used for other commands. While I'm here use 82550C in probe message instead of generic 82550. Reported by: Andreas Longwitz incore de> Tested by: Andreas Longwitz incore de> r233586: Load entire EEPROM contents in device attach time and verify whether the checksum of EEPROM is valid or not. Because driver heavily relies on EEPROM information when it selectively enables features/workarounds, it would be helpful to know whether driver sees valid EEPROM. While I'm here remove all other EEPROM accesses since the entire EEPROM is loaded at device attach time. r233587: Remove unnecessary #if as the software workaround for PCI protocol violation should be activated unless the system is cold-booted after updating EEPROM. The PCI protocol violation happens only when established link is 10Mbps so the workaround should be updated whenever link state change is detected. Previously the workaround was activated only when user checks current media status with ifconfig(8). Modified: stable/7/sys/dev/fxp/if_fxp.c stable/7/sys/dev/fxp/if_fxpreg.h stable/7/sys/dev/fxp/if_fxpvar.h Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/fxp/if_fxp.c ============================================================================== --- stable/7/sys/dev/fxp/if_fxp.c Wed Apr 11 07:10:58 2012 (r234124) +++ stable/7/sys/dev/fxp/if_fxp.c Wed Apr 11 07:12:20 2012 (r234125) @@ -194,7 +194,7 @@ static const struct fxp_ident const fxp_ { 0x1229, 0x08, 0, "Intel 82559 Pro/100 Ethernet" }, { 0x1229, 0x09, 0, "Intel 82559ER Pro/100 Ethernet" }, { 0x1229, 0x0c, 0, "Intel 82550 Pro/100 Ethernet" }, - { 0x1229, 0x0d, 0, "Intel 82550 Pro/100 Ethernet" }, + { 0x1229, 0x0d, 0, "Intel 82550C Pro/100 Ethernet" }, { 0x1229, 0x0e, 0, "Intel 82550 Pro/100 Ethernet" }, { 0x1229, 0x0f, 0, "Intel 82551 Pro/100 Ethernet" }, { 0x1229, 0x10, 0, "Intel 82551 Pro/100 Ethernet" }, @@ -248,6 +248,7 @@ static uint16_t fxp_eeprom_getword(stru static void fxp_eeprom_putword(struct fxp_softc *sc, int offset, uint16_t data); static void fxp_autosize_eeprom(struct fxp_softc *sc); +static void fxp_load_eeprom(struct fxp_softc *sc); static void fxp_read_eeprom(struct fxp_softc *sc, u_short *data, int offset, int words); static void fxp_write_eeprom(struct fxp_softc *sc, u_short *data, @@ -427,7 +428,7 @@ fxp_attach(device_t dev) struct fxp_rx *rxp; struct ifnet *ifp; uint32_t val; - uint16_t data, myea[ETHER_ADDR_LEN / 2]; + uint16_t data; u_char eaddr[ETHER_ADDR_LEN]; int error, flags, i, pmc, prefer_iomap; @@ -499,6 +500,7 @@ fxp_attach(device_t dev) * Find out how large of an SEEPROM we have. */ fxp_autosize_eeprom(sc); + fxp_load_eeprom(sc); /* * Find out the chip revision; lump all 82557 revs together. @@ -508,7 +510,7 @@ fxp_attach(device_t dev) /* Assume ICH controllers are 82559. */ sc->revision = FXP_REV_82559_A0; } else { - fxp_read_eeprom(sc, &data, 5, 1); + data = sc->eeprom[FXP_EEPROM_MAP_CNTR]; if ((data >> 8) == 1) sc->revision = FXP_REV_82557; else @@ -520,15 +522,27 @@ fxp_attach(device_t dev) */ if (sc->revision >= FXP_REV_82558_A4 && sc->revision != FXP_REV_82559S_A) { - fxp_read_eeprom(sc, &data, 10, 1); + data = sc->eeprom[FXP_EEPROM_MAP_ID]; if ((data & 0x20) != 0 && pci_find_extcap(sc->dev, PCIY_PMG, &pmc) == 0) sc->flags |= FXP_FLAG_WOLCAP; } + if (sc->revision == FXP_REV_82550_C) { + /* + * 82550C with server extension requires microcode to + * receive fragmented UDP datagrams. However if the + * microcode is used for client-only featured 82550C + * it locks up controller. + */ + data = sc->eeprom[FXP_EEPROM_MAP_COMPAT]; + if ((data & 0x0400) == 0) + sc->flags |= FXP_FLAG_NO_UCODE; + } + /* Receiver lock-up workaround detection. */ if (sc->revision < FXP_REV_82558_A4) { - fxp_read_eeprom(sc, &data, 3, 1); + data = sc->eeprom[FXP_EEPROM_MAP_COMPAT]; if ((data & 0x03) != 0x03) { sc->flags |= FXP_FLAG_RXBUG; device_printf(dev, "Enabling Rx lock-up workaround\n"); @@ -538,7 +552,7 @@ fxp_attach(device_t dev) /* * Determine whether we must use the 503 serial interface. */ - fxp_read_eeprom(sc, &data, 6, 1); + data = sc->eeprom[FXP_EEPROM_MAP_PRI_PHY]; if (sc->revision == FXP_REV_82557 && (data & FXP_PHY_DEVICE_MASK) != 0 && (data & FXP_PHY_SERIAL_ONLY)) sc->flags |= FXP_FLAG_SERIAL_MEDIA; @@ -558,7 +572,7 @@ fxp_attach(device_t dev) */ if ((sc->ident->ich >= 2 && sc->ident->ich <= 3) || (sc->ident->ich == 0 && sc->revision >= FXP_REV_82559_A0)) { - fxp_read_eeprom(sc, &data, 10, 1); + data = sc->eeprom[FXP_EEPROM_MAP_ID]; if (data & 0x02) { /* STB enable */ uint16_t cksum; int i; @@ -566,27 +580,24 @@ fxp_attach(device_t dev) device_printf(dev, "Disabling dynamic standby mode in EEPROM\n"); data &= ~0x02; - fxp_write_eeprom(sc, &data, 10, 1); + sc->eeprom[FXP_EEPROM_MAP_ID] = data; + fxp_write_eeprom(sc, &data, FXP_EEPROM_MAP_ID, 1); device_printf(dev, "New EEPROM ID: 0x%x\n", data); cksum = 0; - for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) { - fxp_read_eeprom(sc, &data, i, 1); - cksum += data; - } + for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) + cksum += sc->eeprom[i]; i = (1 << sc->eeprom_size) - 1; cksum = 0xBABA - cksum; - fxp_read_eeprom(sc, &data, i, 1); fxp_write_eeprom(sc, &cksum, i, 1); device_printf(dev, "EEPROM checksum @ 0x%x: 0x%x -> 0x%x\n", - i, data, cksum); -#if 1 + i, sc->eeprom[i], cksum); + sc->eeprom[i] = cksum; /* * If the user elects to continue, try the software * workaround, as it is better than nothing. */ sc->flags |= FXP_FLAG_CU_RESUME_BUG; -#endif } } @@ -780,21 +791,20 @@ fxp_attach(device_t dev) /* * Read MAC address. */ - fxp_read_eeprom(sc, myea, 0, 3); - eaddr[0] = myea[0] & 0xff; - eaddr[1] = myea[0] >> 8; - eaddr[2] = myea[1] & 0xff; - eaddr[3] = myea[1] >> 8; - eaddr[4] = myea[2] & 0xff; - eaddr[5] = myea[2] >> 8; + eaddr[0] = sc->eeprom[FXP_EEPROM_MAP_IA0] & 0xff; + eaddr[1] = sc->eeprom[FXP_EEPROM_MAP_IA0] >> 8; + eaddr[2] = sc->eeprom[FXP_EEPROM_MAP_IA1] & 0xff; + eaddr[3] = sc->eeprom[FXP_EEPROM_MAP_IA1] >> 8; + eaddr[4] = sc->eeprom[FXP_EEPROM_MAP_IA2] & 0xff; + eaddr[5] = sc->eeprom[FXP_EEPROM_MAP_IA2] >> 8; if (bootverbose) { device_printf(dev, "PCI IDs: %04x %04x %04x %04x %04x\n", pci_get_vendor(dev), pci_get_device(dev), pci_get_subvendor(dev), pci_get_subdevice(dev), pci_get_revid(dev)); - fxp_read_eeprom(sc, &data, 10, 1); device_printf(dev, "Dynamic Standby mode is %s\n", - data & 0x02 ? "enabled" : "disabled"); + sc->eeprom[FXP_EEPROM_MAP_ID] & 0x02 ? "enabled" : + "disabled"); } /* @@ -1290,6 +1300,23 @@ fxp_write_eeprom(struct fxp_softc *sc, u fxp_eeprom_putword(sc, offset + i, data[i]); } +static void +fxp_load_eeprom(struct fxp_softc *sc) +{ + int i; + uint16_t cksum; + + fxp_read_eeprom(sc, sc->eeprom, 0, 1 << sc->eeprom_size); + cksum = 0; + for (i = 0; i < (1 << sc->eeprom_size) - 1; i++) + cksum += sc->eeprom[i]; + cksum = 0xBABA - cksum; + if (cksum != sc->eeprom[(1 << sc->eeprom_size) - 1]) + device_printf(sc->dev, + "EEPROM checksum mismatch! (0x%04x -> 0x%04x)\n", + cksum, sc->eeprom[(1 << sc->eeprom_size) - 1]); +} + /* * Grab the softc lock and call the real fxp_start_body() routine */ @@ -2576,12 +2603,6 @@ fxp_ifmedia_sts(struct ifnet *ifp, struc mii_pollstat(mii); ifmr->ifm_active = mii->mii_media_active; ifmr->ifm_status = mii->mii_media_status; - - if (IFM_SUBTYPE(ifmr->ifm_active) == IFM_10_T && - sc->flags & FXP_FLAG_CU_RESUME_BUG) - sc->cu_resume_bug = 1; - else - sc->cu_resume_bug = 0; FXP_UNLOCK(sc); } @@ -2773,6 +2794,11 @@ fxp_miibus_statchg(device_t dev) (IFM_AVALID | IFM_ACTIVE)) return; + if (IFM_SUBTYPE(mii->mii_media_active) == IFM_10_T && + sc->flags & FXP_FLAG_CU_RESUME_BUG) + sc->cu_resume_bug = 1; + else + sc->cu_resume_bug = 0; /* * Call fxp_init_body in order to adjust the flow control settings. * Note that the 82557 doesn't support hardware flow control. @@ -3007,10 +3033,8 @@ static uint32_t fxp_ucode_d101a[] = D101 static uint32_t fxp_ucode_d101b0[] = D101_B0_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d101ma[] = D101M_B_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d101s[] = D101S_RCVBUNDLE_UCODE; -#ifdef notyet static uint32_t fxp_ucode_d102[] = D102_B_RCVBUNDLE_UCODE; static uint32_t fxp_ucode_d102c[] = D102_C_RCVBUNDLE_UCODE; -#endif static uint32_t fxp_ucode_d102e[] = D102_E_RCVBUNDLE_UCODE; #define UCODE(x) x, sizeof(x)/sizeof(uint32_t) @@ -3028,12 +3052,10 @@ static const struct ucode { D101M_CPUSAVER_DWORD, D101M_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82559S_A, UCODE(fxp_ucode_d101s), D101S_CPUSAVER_DWORD, D101S_CPUSAVER_BUNDLE_MAX_DWORD }, -#ifdef notyet { FXP_REV_82550, UCODE(fxp_ucode_d102), D102_B_CPUSAVER_DWORD, D102_B_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82550_C, UCODE(fxp_ucode_d102c), D102_C_CPUSAVER_DWORD, D102_C_CPUSAVER_BUNDLE_MAX_DWORD }, -#endif { FXP_REV_82551_F, UCODE(fxp_ucode_d102e), D102_E_CPUSAVER_DWORD, D102_E_CPUSAVER_BUNDLE_MAX_DWORD }, { FXP_REV_82551_10, UCODE(fxp_ucode_d102e), @@ -3048,6 +3070,9 @@ fxp_load_ucode(struct fxp_softc *sc) struct fxp_cb_ucode *cbp; int i; + if (sc->flags & FXP_FLAG_NO_UCODE) + return; + for (uc = ucode_table; uc->ucode != NULL; uc++) if (sc->revision == uc->revision) break; @@ -3080,6 +3105,7 @@ fxp_load_ucode(struct fxp_softc *sc) sc->tunable_int_delay, uc->bundle_max_offset == 0 ? 0 : sc->tunable_bundle_max); sc->flags |= FXP_FLAG_UCODE; + bzero(cbp, FXP_TXCB_SZ); } #define FXP_SYSCTL_STAT_ADD(c, h, n, p, d) \ Modified: stable/7/sys/dev/fxp/if_fxpreg.h ============================================================================== --- stable/7/sys/dev/fxp/if_fxpreg.h Wed Apr 11 07:10:58 2012 (r234124) +++ stable/7/sys/dev/fxp/if_fxpreg.h Wed Apr 11 07:12:20 2012 (r234125) @@ -448,6 +448,24 @@ struct fxp_stats { #define FXP_EEPROM_OPC_READ 0x6 /* + * EEPROM map + */ +#define FXP_EEPROM_MAP_IA0 0x00 /* Station address */ +#define FXP_EEPROM_MAP_IA1 0x01 +#define FXP_EEPROM_MAP_IA2 0x02 +#define FXP_EEPROM_MAP_COMPAT 0x03 /* Compatibility */ +#define FXP_EEPROM_MAP_CNTR 0x05 /* Controller/connector type */ +#define FXP_EEPROM_MAP_PRI_PHY 0x06 /* Primary PHY record */ +#define FXP_EEPROM_MAP_SEC_PHY 0x07 /* Secondary PHY record */ +#define FXP_EEPROM_MAP_PWA0 0x08 /* Printed wire assembly num. */ +#define FXP_EEPROM_MAP_PWA1 0x09 /* Printed wire assembly num. */ +#define FXP_EEPROM_MAP_ID 0x0A /* EEPROM ID */ +#define FXP_EEPROM_MAP_SUBSYS 0x0B /* Subsystem ID */ +#define FXP_EEPROM_MAP_SUBVEN 0x0C /* Subsystem vendor ID */ +#define FXP_EEPROM_MAP_CKSUM64 0x3F /* 64-word EEPROM checksum */ +#define FXP_EEPROM_MAP_CKSUM256 0xFF /* 256-word EEPROM checksum */ + +/* * Management Data Interface opcodes */ #define FXP_MDI_WRITE 0x1 Modified: stable/7/sys/dev/fxp/if_fxpvar.h ============================================================================== --- stable/7/sys/dev/fxp/if_fxpvar.h Wed Apr 11 07:10:58 2012 (r234124) +++ stable/7/sys/dev/fxp/if_fxpvar.h Wed Apr 11 07:12:20 2012 (r234125) @@ -219,6 +219,7 @@ struct fxp_softc { int if_flags; uint8_t rfa_size; uint32_t tx_cmd; + uint16_t eeprom[256]; }; #define FXP_FLAG_MWI_ENABLE 0x0001 /* MWI enable */ @@ -236,6 +237,7 @@ struct fxp_softc { #define FXP_FLAG_WOLCAP 0x2000 /* WOL capability */ #define FXP_FLAG_WOL 0x4000 /* WOL active */ #define FXP_FLAG_RXBUG 0x8000 /* Rx lock-up bug */ +#define FXP_FLAG_NO_UCODE 0x10000 /* ucode is not applicable */ /* Macros to ease CSR access. */ #define CSR_READ_1(sc, reg) bus_read_1(sc->fxp_res[0], reg) From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 07:18:41 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D39BE106566C; Wed, 11 Apr 2012 07:18:41 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BD3BA8FC08; Wed, 11 Apr 2012 07:18:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3B7IfMC060290; Wed, 11 Apr 2012 07:18:41 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B7IfCw060287; Wed, 11 Apr 2012 07:18:41 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201204110718.q3B7IfCw060287@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 11 Apr 2012 07:18:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234126 - in stable/9/sys: dev/ale i386/conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 07:18:41 -0000 Author: yongari Date: Wed Apr 11 07:18:41 2012 New Revision: 234126 URL: http://svn.freebsd.org/changeset/base/234126 Log: MFC r233688-233689: r233688: Remove task queue based link state change handler. Driver no longer needs to defer link state handling. While I'm here, mark IFF_DRV_RUNNING before changing media. If link is established without any delay, that link state change handling could be lost. r233689: Do not report current link status if driver is not running. This change also workarounds dhclient's link state handling bug by not giving current link status. Unlike other controllers, ale(4)'s PHY hibernation perfectly works such that driver does not see a valid link if the controller is not brought up. If dhclient(8) runs on ale(4) it will blindly waits until link UP and then gives up after 10 seconds. Because dhclient(8) still thinks interface got a valid link when IFM_AVALID is not set for selected media, this change makes dhclient initiate DHCP without waiting for link UP. Modified: stable/9/sys/dev/ale/if_ale.c stable/9/sys/dev/ale/if_alevar.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/dev/ale/if_ale.c ============================================================================== --- stable/9/sys/dev/ale/if_ale.c Wed Apr 11 07:12:20 2012 (r234125) +++ stable/9/sys/dev/ale/if_ale.c Wed Apr 11 07:18:41 2012 (r234126) @@ -115,7 +115,6 @@ static void ale_init_tx_ring(struct ale_ static void ale_int_task(void *, int); static int ale_intr(void *); static int ale_ioctl(struct ifnet *, u_long, caddr_t); -static void ale_link_task(void *, int); static void ale_mac_config(struct ale_softc *); static int ale_miibus_readreg(device_t, int, int); static void ale_miibus_statchg(device_t); @@ -253,10 +252,45 @@ static void ale_miibus_statchg(device_t dev) { struct ale_softc *sc; + struct mii_data *mii; + struct ifnet *ifp; + uint32_t reg; sc = device_get_softc(dev); + mii = device_get_softc(sc->ale_miibus); + ifp = sc->ale_ifp; + if (mii == NULL || ifp == NULL || + (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return; + + sc->ale_flags &= ~ALE_FLAG_LINK; + if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == + (IFM_ACTIVE | IFM_AVALID)) { + switch (IFM_SUBTYPE(mii->mii_media_active)) { + case IFM_10_T: + case IFM_100_TX: + sc->ale_flags |= ALE_FLAG_LINK; + break; + case IFM_1000_T: + if ((sc->ale_flags & ALE_FLAG_FASTETHER) == 0) + sc->ale_flags |= ALE_FLAG_LINK; + break; + default: + break; + } + } - taskqueue_enqueue(taskqueue_swi, &sc->ale_link_task); + /* Stop Rx/Tx MACs. */ + ale_stop_mac(sc); + + /* Program MACs with resolved speed/duplex/flow-control. */ + if ((sc->ale_flags & ALE_FLAG_LINK) != 0) { + ale_mac_config(sc); + /* Reenable Tx/Rx MACs. */ + reg = CSR_READ_4(sc, ALE_MAC_CFG); + reg |= MAC_CFG_TX_ENB | MAC_CFG_RX_ENB; + CSR_WRITE_4(sc, ALE_MAC_CFG, reg); + } } static void @@ -267,6 +301,10 @@ ale_mediastatus(struct ifnet *ifp, struc sc = ifp->if_softc; ALE_LOCK(sc); + if ((ifp->if_flags & IFF_UP) == 0) { + ALE_UNLOCK(sc); + return; + } mii = device_get_softc(sc->ale_miibus); mii_pollstat(mii); @@ -425,7 +463,6 @@ ale_attach(device_t dev) MTX_DEF); callout_init_mtx(&sc->ale_tick_ch, &sc->ale_mtx, 0); TASK_INIT(&sc->ale_int_task, 0, ale_int_task, sc); - TASK_INIT(&sc->ale_link_task, 0, ale_link_task, sc); /* Map the device. */ pci_enable_busmaster(dev); @@ -679,7 +716,6 @@ ale_detach(device_t dev) ALE_UNLOCK(sc); callout_drain(&sc->ale_tick_ch); taskqueue_drain(sc->ale_tq, &sc->ale_int_task); - taskqueue_drain(taskqueue_swi, &sc->ale_link_task); } if (sc->ale_tq != NULL) { @@ -2076,57 +2112,6 @@ ale_mac_config(struct ale_softc *sc) } static void -ale_link_task(void *arg, int pending) -{ - struct ale_softc *sc; - struct mii_data *mii; - struct ifnet *ifp; - uint32_t reg; - - sc = (struct ale_softc *)arg; - - ALE_LOCK(sc); - mii = device_get_softc(sc->ale_miibus); - ifp = sc->ale_ifp; - if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { - ALE_UNLOCK(sc); - return; - } - - sc->ale_flags &= ~ALE_FLAG_LINK; - if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == - (IFM_ACTIVE | IFM_AVALID)) { - switch (IFM_SUBTYPE(mii->mii_media_active)) { - case IFM_10_T: - case IFM_100_TX: - sc->ale_flags |= ALE_FLAG_LINK; - break; - case IFM_1000_T: - if ((sc->ale_flags & ALE_FLAG_FASTETHER) == 0) - sc->ale_flags |= ALE_FLAG_LINK; - break; - default: - break; - } - } - - /* Stop Rx/Tx MACs. */ - ale_stop_mac(sc); - - /* Program MACs with resolved speed/duplex/flow-control. */ - if ((sc->ale_flags & ALE_FLAG_LINK) != 0) { - ale_mac_config(sc); - /* Reenable Tx/Rx MACs. */ - reg = CSR_READ_4(sc, ALE_MAC_CFG); - reg |= MAC_CFG_TX_ENB | MAC_CFG_RX_ENB; - CSR_WRITE_4(sc, ALE_MAC_CFG, reg); - } - - ALE_UNLOCK(sc); -} - -static void ale_stats_clear(struct ale_softc *sc) { struct smb sb; @@ -2876,14 +2861,14 @@ ale_init_locked(struct ale_softc *sc) CSR_WRITE_4(sc, ALE_INTR_STATUS, 0xFFFFFFFF); CSR_WRITE_4(sc, ALE_INTR_STATUS, 0); + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + sc->ale_flags &= ~ALE_FLAG_LINK; /* Switch to the current media. */ mii_mediachg(mii); callout_reset(&sc->ale_tick_ch, hz, ale_tick, sc); - - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; } static void Modified: stable/9/sys/dev/ale/if_alevar.h ============================================================================== --- stable/9/sys/dev/ale/if_alevar.h Wed Apr 11 07:12:20 2012 (r234125) +++ stable/9/sys/dev/ale/if_alevar.h Wed Apr 11 07:18:41 2012 (r234126) @@ -221,7 +221,6 @@ struct ale_softc { int ale_pagesize; struct task ale_int_task; - struct task ale_link_task; struct taskqueue *ale_tq; struct mtx ale_mtx; }; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 07:19:47 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 91D37106564A; Wed, 11 Apr 2012 07:19:47 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7B1A48FC0C; Wed, 11 Apr 2012 07:19:47 +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 q3B7JlV9060356; Wed, 11 Apr 2012 07:19:47 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B7JlCi060353; Wed, 11 Apr 2012 07:19:47 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201204110719.q3B7JlCi060353@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 11 Apr 2012 07:19:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234127 - in stable/8/sys: dev/ale i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 07:19:47 -0000 Author: yongari Date: Wed Apr 11 07:19:46 2012 New Revision: 234127 URL: http://svn.freebsd.org/changeset/base/234127 Log: MFC r233688-233689: r233688: Remove task queue based link state change handler. Driver no longer needs to defer link state handling. While I'm here, mark IFF_DRV_RUNNING before changing media. If link is established without any delay, that link state change handling could be lost. r233689: Do not report current link status if driver is not running. This change also workarounds dhclient's link state handling bug by not giving current link status. Unlike other controllers, ale(4)'s PHY hibernation perfectly works such that driver does not see a valid link if the controller is not brought up. If dhclient(8) runs on ale(4) it will blindly waits until link UP and then gives up after 10 seconds. Because dhclient(8) still thinks interface got a valid link when IFM_AVALID is not set for selected media, this change makes dhclient initiate DHCP without waiting for link UP. Modified: stable/8/sys/dev/ale/if_ale.c stable/8/sys/dev/ale/if_alevar.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/dev/ale/if_ale.c ============================================================================== --- stable/8/sys/dev/ale/if_ale.c Wed Apr 11 07:18:41 2012 (r234126) +++ stable/8/sys/dev/ale/if_ale.c Wed Apr 11 07:19:46 2012 (r234127) @@ -115,7 +115,6 @@ static void ale_init_tx_ring(struct ale_ static void ale_int_task(void *, int); static int ale_intr(void *); static int ale_ioctl(struct ifnet *, u_long, caddr_t); -static void ale_link_task(void *, int); static void ale_mac_config(struct ale_softc *); static int ale_miibus_readreg(device_t, int, int); static void ale_miibus_statchg(device_t); @@ -253,10 +252,45 @@ static void ale_miibus_statchg(device_t dev) { struct ale_softc *sc; + struct mii_data *mii; + struct ifnet *ifp; + uint32_t reg; sc = device_get_softc(dev); + mii = device_get_softc(sc->ale_miibus); + ifp = sc->ale_ifp; + if (mii == NULL || ifp == NULL || + (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return; + + sc->ale_flags &= ~ALE_FLAG_LINK; + if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == + (IFM_ACTIVE | IFM_AVALID)) { + switch (IFM_SUBTYPE(mii->mii_media_active)) { + case IFM_10_T: + case IFM_100_TX: + sc->ale_flags |= ALE_FLAG_LINK; + break; + case IFM_1000_T: + if ((sc->ale_flags & ALE_FLAG_FASTETHER) == 0) + sc->ale_flags |= ALE_FLAG_LINK; + break; + default: + break; + } + } - taskqueue_enqueue(taskqueue_swi, &sc->ale_link_task); + /* Stop Rx/Tx MACs. */ + ale_stop_mac(sc); + + /* Program MACs with resolved speed/duplex/flow-control. */ + if ((sc->ale_flags & ALE_FLAG_LINK) != 0) { + ale_mac_config(sc); + /* Reenable Tx/Rx MACs. */ + reg = CSR_READ_4(sc, ALE_MAC_CFG); + reg |= MAC_CFG_TX_ENB | MAC_CFG_RX_ENB; + CSR_WRITE_4(sc, ALE_MAC_CFG, reg); + } } static void @@ -267,6 +301,10 @@ ale_mediastatus(struct ifnet *ifp, struc sc = ifp->if_softc; ALE_LOCK(sc); + if ((ifp->if_flags & IFF_UP) == 0) { + ALE_UNLOCK(sc); + return; + } mii = device_get_softc(sc->ale_miibus); mii_pollstat(mii); @@ -425,7 +463,6 @@ ale_attach(device_t dev) MTX_DEF); callout_init_mtx(&sc->ale_tick_ch, &sc->ale_mtx, 0); TASK_INIT(&sc->ale_int_task, 0, ale_int_task, sc); - TASK_INIT(&sc->ale_link_task, 0, ale_link_task, sc); /* Map the device. */ pci_enable_busmaster(dev); @@ -679,7 +716,6 @@ ale_detach(device_t dev) ALE_UNLOCK(sc); callout_drain(&sc->ale_tick_ch); taskqueue_drain(sc->ale_tq, &sc->ale_int_task); - taskqueue_drain(taskqueue_swi, &sc->ale_link_task); } if (sc->ale_tq != NULL) { @@ -2073,57 +2109,6 @@ ale_mac_config(struct ale_softc *sc) } static void -ale_link_task(void *arg, int pending) -{ - struct ale_softc *sc; - struct mii_data *mii; - struct ifnet *ifp; - uint32_t reg; - - sc = (struct ale_softc *)arg; - - ALE_LOCK(sc); - mii = device_get_softc(sc->ale_miibus); - ifp = sc->ale_ifp; - if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { - ALE_UNLOCK(sc); - return; - } - - sc->ale_flags &= ~ALE_FLAG_LINK; - if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == - (IFM_ACTIVE | IFM_AVALID)) { - switch (IFM_SUBTYPE(mii->mii_media_active)) { - case IFM_10_T: - case IFM_100_TX: - sc->ale_flags |= ALE_FLAG_LINK; - break; - case IFM_1000_T: - if ((sc->ale_flags & ALE_FLAG_FASTETHER) == 0) - sc->ale_flags |= ALE_FLAG_LINK; - break; - default: - break; - } - } - - /* Stop Rx/Tx MACs. */ - ale_stop_mac(sc); - - /* Program MACs with resolved speed/duplex/flow-control. */ - if ((sc->ale_flags & ALE_FLAG_LINK) != 0) { - ale_mac_config(sc); - /* Reenable Tx/Rx MACs. */ - reg = CSR_READ_4(sc, ALE_MAC_CFG); - reg |= MAC_CFG_TX_ENB | MAC_CFG_RX_ENB; - CSR_WRITE_4(sc, ALE_MAC_CFG, reg); - } - - ALE_UNLOCK(sc); -} - -static void ale_stats_clear(struct ale_softc *sc) { struct smb sb; @@ -2873,14 +2858,14 @@ ale_init_locked(struct ale_softc *sc) CSR_WRITE_4(sc, ALE_INTR_STATUS, 0xFFFFFFFF); CSR_WRITE_4(sc, ALE_INTR_STATUS, 0); + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + sc->ale_flags &= ~ALE_FLAG_LINK; /* Switch to the current media. */ mii_mediachg(mii); callout_reset(&sc->ale_tick_ch, hz, ale_tick, sc); - - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; } static void Modified: stable/8/sys/dev/ale/if_alevar.h ============================================================================== --- stable/8/sys/dev/ale/if_alevar.h Wed Apr 11 07:18:41 2012 (r234126) +++ stable/8/sys/dev/ale/if_alevar.h Wed Apr 11 07:19:46 2012 (r234127) @@ -221,7 +221,6 @@ struct ale_softc { int ale_pagesize; struct task ale_int_task; - struct task ale_link_task; struct taskqueue *ale_tq; struct mtx ale_mtx; }; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 07:21:52 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6DD2B1065670; Wed, 11 Apr 2012 07:21:52 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 577F58FC0A; Wed, 11 Apr 2012 07:21:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3B7Lqjs060459; Wed, 11 Apr 2012 07:21:52 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3B7LqUr060456; Wed, 11 Apr 2012 07:21:52 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201204110721.q3B7LqUr060456@svn.freebsd.org> From: Pyun YongHyeon Date: Wed, 11 Apr 2012 07:21:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234128 - stable/7/sys/dev/ale X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 07:21:52 -0000 Author: yongari Date: Wed Apr 11 07:21:51 2012 New Revision: 234128 URL: http://svn.freebsd.org/changeset/base/234128 Log: MFC r233688-233689: r233688: Remove task queue based link state change handler. Driver no longer needs to defer link state handling. While I'm here, mark IFF_DRV_RUNNING before changing media. If link is established without any delay, that link state change handling could be lost. r233689: Do not report current link status if driver is not running. This change also workarounds dhclient's link state handling bug by not giving current link status. Unlike other controllers, ale(4)'s PHY hibernation perfectly works such that driver does not see a valid link if the controller is not brought up. If dhclient(8) runs on ale(4) it will blindly waits until link UP and then gives up after 10 seconds. Because dhclient(8) still thinks interface got a valid link when IFM_AVALID is not set for selected media, this change makes dhclient initiate DHCP without waiting for link UP. Modified: stable/7/sys/dev/ale/if_ale.c stable/7/sys/dev/ale/if_alevar.h Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/ale/if_ale.c ============================================================================== --- stable/7/sys/dev/ale/if_ale.c Wed Apr 11 07:19:46 2012 (r234127) +++ stable/7/sys/dev/ale/if_ale.c Wed Apr 11 07:21:51 2012 (r234128) @@ -115,7 +115,6 @@ static void ale_init_tx_ring(struct ale_ static void ale_int_task(void *, int); static int ale_intr(void *); static int ale_ioctl(struct ifnet *, u_long, caddr_t); -static void ale_link_task(void *, int); static void ale_mac_config(struct ale_softc *); static int ale_miibus_readreg(device_t, int, int); static void ale_miibus_statchg(device_t); @@ -253,10 +252,45 @@ static void ale_miibus_statchg(device_t dev) { struct ale_softc *sc; + struct mii_data *mii; + struct ifnet *ifp; + uint32_t reg; sc = device_get_softc(dev); + mii = device_get_softc(sc->ale_miibus); + ifp = sc->ale_ifp; + if (mii == NULL || ifp == NULL || + (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return; + + sc->ale_flags &= ~ALE_FLAG_LINK; + if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == + (IFM_ACTIVE | IFM_AVALID)) { + switch (IFM_SUBTYPE(mii->mii_media_active)) { + case IFM_10_T: + case IFM_100_TX: + sc->ale_flags |= ALE_FLAG_LINK; + break; + case IFM_1000_T: + if ((sc->ale_flags & ALE_FLAG_FASTETHER) == 0) + sc->ale_flags |= ALE_FLAG_LINK; + break; + default: + break; + } + } - taskqueue_enqueue(taskqueue_swi, &sc->ale_link_task); + /* Stop Rx/Tx MACs. */ + ale_stop_mac(sc); + + /* Program MACs with resolved speed/duplex/flow-control. */ + if ((sc->ale_flags & ALE_FLAG_LINK) != 0) { + ale_mac_config(sc); + /* Reenable Tx/Rx MACs. */ + reg = CSR_READ_4(sc, ALE_MAC_CFG); + reg |= MAC_CFG_TX_ENB | MAC_CFG_RX_ENB; + CSR_WRITE_4(sc, ALE_MAC_CFG, reg); + } } static void @@ -267,6 +301,10 @@ ale_mediastatus(struct ifnet *ifp, struc sc = ifp->if_softc; ALE_LOCK(sc); + if ((ifp->if_flags & IFF_UP) == 0) { + ALE_UNLOCK(sc); + return; + } mii = device_get_softc(sc->ale_miibus); mii_pollstat(mii); @@ -425,7 +463,6 @@ ale_attach(device_t dev) MTX_DEF); callout_init_mtx(&sc->ale_tick_ch, &sc->ale_mtx, 0); TASK_INIT(&sc->ale_int_task, 0, ale_int_task, sc); - TASK_INIT(&sc->ale_link_task, 0, ale_link_task, sc); /* Map the device. */ pci_enable_busmaster(dev); @@ -679,7 +716,6 @@ ale_detach(device_t dev) ALE_UNLOCK(sc); callout_drain(&sc->ale_tick_ch); taskqueue_drain(sc->ale_tq, &sc->ale_int_task); - taskqueue_drain(taskqueue_swi, &sc->ale_link_task); } if (sc->ale_tq != NULL) { @@ -2073,57 +2109,6 @@ ale_mac_config(struct ale_softc *sc) } static void -ale_link_task(void *arg, int pending) -{ - struct ale_softc *sc; - struct mii_data *mii; - struct ifnet *ifp; - uint32_t reg; - - sc = (struct ale_softc *)arg; - - ALE_LOCK(sc); - mii = device_get_softc(sc->ale_miibus); - ifp = sc->ale_ifp; - if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { - ALE_UNLOCK(sc); - return; - } - - sc->ale_flags &= ~ALE_FLAG_LINK; - if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == - (IFM_ACTIVE | IFM_AVALID)) { - switch (IFM_SUBTYPE(mii->mii_media_active)) { - case IFM_10_T: - case IFM_100_TX: - sc->ale_flags |= ALE_FLAG_LINK; - break; - case IFM_1000_T: - if ((sc->ale_flags & ALE_FLAG_FASTETHER) == 0) - sc->ale_flags |= ALE_FLAG_LINK; - break; - default: - break; - } - } - - /* Stop Rx/Tx MACs. */ - ale_stop_mac(sc); - - /* Program MACs with resolved speed/duplex/flow-control. */ - if ((sc->ale_flags & ALE_FLAG_LINK) != 0) { - ale_mac_config(sc); - /* Reenable Tx/Rx MACs. */ - reg = CSR_READ_4(sc, ALE_MAC_CFG); - reg |= MAC_CFG_TX_ENB | MAC_CFG_RX_ENB; - CSR_WRITE_4(sc, ALE_MAC_CFG, reg); - } - - ALE_UNLOCK(sc); -} - -static void ale_stats_clear(struct ale_softc *sc) { struct smb sb; @@ -2873,14 +2858,14 @@ ale_init_locked(struct ale_softc *sc) CSR_WRITE_4(sc, ALE_INTR_STATUS, 0xFFFFFFFF); CSR_WRITE_4(sc, ALE_INTR_STATUS, 0); + ifp->if_drv_flags |= IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + sc->ale_flags &= ~ALE_FLAG_LINK; /* Switch to the current media. */ mii_mediachg(mii); callout_reset(&sc->ale_tick_ch, hz, ale_tick, sc); - - ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; } static void Modified: stable/7/sys/dev/ale/if_alevar.h ============================================================================== --- stable/7/sys/dev/ale/if_alevar.h Wed Apr 11 07:19:46 2012 (r234127) +++ stable/7/sys/dev/ale/if_alevar.h Wed Apr 11 07:21:51 2012 (r234128) @@ -221,7 +221,6 @@ struct ale_softc { int ale_pagesize; struct task ale_int_task; - struct task ale_link_task; struct taskqueue *ale_tq; struct mtx ale_mtx; }; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 12:26:30 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E592F1065673; Wed, 11 Apr 2012 12:26:30 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D1FFC8FC15; Wed, 11 Apr 2012 12:26:30 +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 q3BCQUnJ077682; Wed, 11 Apr 2012 12:26:30 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BCQUUQ077680; Wed, 11 Apr 2012 12:26:30 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204111226.q3BCQUUQ077680@svn.freebsd.org> From: Gleb Smirnoff Date: Wed, 11 Apr 2012 12:26:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234130 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 12:26:31 -0000 Author: glebius Date: Wed Apr 11 12:26:30 2012 New Revision: 234130 URL: http://svn.freebsd.org/changeset/base/234130 Log: It is a logical error that in carp_multicast_cleanup() we look at count of addresses on a particular vhid, we should account number of addresses on cif. To achieve this we need to run carp_attach() and carp_detach() under appropriate cif lock. Modified: head/sys/netinet/ip_carp.c Modified: head/sys/netinet/ip_carp.c ============================================================================== --- head/sys/netinet/ip_carp.c Wed Apr 11 09:25:20 2012 (r234129) +++ head/sys/netinet/ip_carp.c Wed Apr 11 12:26:30 2012 (r234130) @@ -223,6 +223,13 @@ SYSCTL_STRUCT(_net_inet_carp, OID_AUTO, #define CIF_LOCK_ASSERT(cif) mtx_assert(&(cif)->cif_mtx, MA_OWNED) #define CIF_LOCK(cif) mtx_lock(&(cif)->cif_mtx) #define CIF_UNLOCK(cif) mtx_unlock(&(cif)->cif_mtx) +#define CIF_FREE(cif) do { \ + CIF_LOCK_ASSERT(cif); \ + if (TAILQ_EMPTY(&(cif)->cif_vrs)) \ + carp_free_if(cif); \ + else \ + CIF_UNLOCK(cif); \ +} while (0) #define CARP_LOG(...) do { \ if (carp_log > 0) \ @@ -257,6 +264,7 @@ SYSCTL_STRUCT(_net_inet_carp, OID_AUTO, static void carp_input_c(struct mbuf *, struct carp_header *, sa_family_t); static struct carp_softc *carp_alloc(struct ifnet *); +static void carp_detach_locked(struct ifaddr *); static void carp_destroy(struct carp_softc *); static struct carp_if *carp_alloc_if(struct ifnet *); @@ -1214,12 +1222,13 @@ carp_setrun(struct carp_softc *sc, sa_fa * Setup multicast structures. */ static int -carp_multicast_setup(struct carp_softc *sc, sa_family_t sa) +carp_multicast_setup(struct carp_if *cif, sa_family_t sa) { - struct ifnet *ifp = sc->sc_carpdev; - struct carp_if *cif = ifp->if_carp; + struct ifnet *ifp = cif->cif_ifp; int error = 0; + CIF_LOCK_ASSERT(cif); + switch (sa) { #ifdef INET case AF_INET: @@ -1232,7 +1241,9 @@ carp_multicast_setup(struct carp_softc * imo->imo_membership = (struct in_multi **)malloc( (sizeof(struct in_multi *) * IP_MIN_MEMBERSHIPS), M_CARP, - M_WAITOK); + M_NOWAIT); + if (imo->imo_membership == NULL) + return (ENOMEM); imo->imo_mfilters = NULL; imo->imo_max_memberships = IP_MIN_MEMBERSHIPS; imo->imo_multicast_vif = -1; @@ -1262,7 +1273,9 @@ carp_multicast_setup(struct carp_softc * im6o->im6o_membership = (struct in6_multi **)malloc( (sizeof(struct in6_multi *) * IPV6_MIN_MEMBERSHIPS), M_CARP, - M_ZERO|M_WAITOK); + M_ZERO | M_NOWAIT); + if (im6o->im6o_membership == NULL) + return (ENOMEM); im6o->im6o_mfilters = NULL; im6o->im6o_max_memberships = IPV6_MIN_MEMBERSHIPS; im6o->im6o_multicast_hlim = CARP_DFLTTL; @@ -1316,15 +1329,14 @@ carp_multicast_setup(struct carp_softc * * Free multicast structures. */ static void -carp_multicast_cleanup(struct carp_softc *sc, sa_family_t sa) +carp_multicast_cleanup(struct carp_if *cif, sa_family_t sa) { - struct ifnet *ifp = sc->sc_carpdev; - struct carp_if *cif = ifp->if_carp; + CIF_LOCK_ASSERT(cif); switch (sa) { #ifdef INET case AF_INET: - if (sc->sc_naddrs == 0) { + if (cif->cif_naddrs == 0) { struct ip_moptions *imo = &cif->cif_imo; in_leavegroup(imo->imo_membership[0], NULL); @@ -1338,7 +1350,7 @@ carp_multicast_cleanup(struct carp_softc #endif #ifdef INET6 case AF_INET6: - if (sc->sc_naddrs6 == 0) { + if (cif->cif_naddrs6 == 0) { struct ip6_moptions *im6o = &cif->cif_im6o; in6_mc_leave(im6o->im6o_membership[0], NULL); @@ -1496,12 +1508,9 @@ carp_destroy(struct carp_softc *sc) struct ifnet *ifp = sc->sc_carpdev; struct carp_if *cif = ifp->if_carp; - CIF_LOCK(cif); + CIF_LOCK_ASSERT(cif); + TAILQ_REMOVE(&cif->cif_vrs, sc, sc_list); - if (TAILQ_EMPTY(&cif->cif_vrs)) - carp_free_if(cif); - else - CIF_UNLOCK(cif); mtx_lock(&carp_mtx); LIST_REMOVE(sc, sc_next); @@ -1777,6 +1786,7 @@ int carp_attach(struct ifaddr *ifa, int vhid) { struct ifnet *ifp = ifa->ifa_ifp; + struct carp_if *cif = ifp->if_carp; struct carp_softc *sc; int index, error; @@ -1795,43 +1805,51 @@ carp_attach(struct ifaddr *ifa, int vhid return (EPROTOTYPE); } - CIF_LOCK(ifp->if_carp); + CIF_LOCK(cif); IFNET_FOREACH_CARP(ifp, sc) if (sc->sc_vhid == vhid) break; - CIF_UNLOCK(ifp->if_carp); - if (sc == NULL) + if (sc == NULL) { + CIF_UNLOCK(cif); return (ENOENT); + } if (ifa->ifa_carp) { if (ifa->ifa_carp->sc_vhid != vhid) - carp_detach(ifa); - else + carp_detach_locked(ifa); + else { + CIF_UNLOCK(cif); return (0); + } } - error = carp_multicast_setup(sc, ifa->ifa_addr->sa_family); - if (error) + error = carp_multicast_setup(cif, ifa->ifa_addr->sa_family); + if (error) { + CIF_FREE(cif); return (error); + } CARP_LOCK(sc); index = sc->sc_naddrs + sc->sc_naddrs6 + 1; if (index > sc->sc_ifasiz / sizeof(struct ifaddr *)) if ((error = carp_grow_ifas(sc)) != 0) { - carp_multicast_cleanup(sc, + carp_multicast_cleanup(cif, ifa->ifa_addr->sa_family); CARP_UNLOCK(sc); + CIF_FREE(cif); return (error); } switch (ifa->ifa_addr->sa_family) { #ifdef INET case AF_INET: + cif->cif_naddrs++; sc->sc_naddrs++; break; #endif #ifdef INET6 case AF_INET6: + cif->cif_naddrs6++; sc->sc_naddrs6++; break; #endif @@ -1845,6 +1863,7 @@ carp_attach(struct ifaddr *ifa, int vhid carp_sc_state(sc); CARP_UNLOCK(sc); + CIF_UNLOCK(cif); return (0); } @@ -1852,11 +1871,25 @@ carp_attach(struct ifaddr *ifa, int vhid void carp_detach(struct ifaddr *ifa) { + struct ifnet *ifp = ifa->ifa_ifp; + struct carp_if *cif = ifp->if_carp; + + CIF_LOCK(cif); + carp_detach_locked(ifa); + CIF_FREE(cif); +} + +static void +carp_detach_locked(struct ifaddr *ifa) +{ + struct ifnet *ifp = ifa->ifa_ifp; + struct carp_if *cif = ifp->if_carp; struct carp_softc *sc = ifa->ifa_carp; int i, index; KASSERT(sc != NULL, ("%s: %p not attached", __func__, ifa)); + CIF_LOCK_ASSERT(cif); CARP_LOCK(sc); /* Shift array. */ @@ -1872,18 +1905,20 @@ carp_detach(struct ifaddr *ifa) switch (ifa->ifa_addr->sa_family) { #ifdef INET case AF_INET: + cif->cif_naddrs--; sc->sc_naddrs--; break; #endif #ifdef INET6 case AF_INET6: + cif->cif_naddrs6--; sc->sc_naddrs6--; break; #endif } carp_ifa_delroute(ifa); - carp_multicast_cleanup(sc, ifa->ifa_addr->sa_family); + carp_multicast_cleanup(cif, ifa->ifa_addr->sa_family); ifa->ifa_carp = NULL; ifa_free(ifa); From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 14:08:10 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 91AA8106564A; Wed, 11 Apr 2012 14:08:10 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 627638FC15; Wed, 11 Apr 2012 14:08:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BE8Ae8080945; Wed, 11 Apr 2012 14:08:10 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BE8A3x080941; Wed, 11 Apr 2012 14:08:10 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204111408.q3BE8A3x080941@svn.freebsd.org> From: Eitan Adler Date: Wed, 11 Apr 2012 14:08:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234131 - in head: lib/libc/sys sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 14:08:10 -0000 Author: eadler Date: Wed Apr 11 14:08:09 2012 New Revision: 234131 URL: http://svn.freebsd.org/changeset/base/234131 Log: Return EBADF instead of EMFILE from dup2 when the second argument is outside the range of valid file descriptors PR: kern/164970 Submitted by: Peter Jeremy Reviewed by: jilles Approved by: cperciva MFC after: 1 week Modified: head/lib/libc/sys/dup.2 head/lib/libc/sys/fcntl.2 head/sys/kern/kern_descrip.c Modified: head/lib/libc/sys/dup.2 ============================================================================== --- head/lib/libc/sys/dup.2 Wed Apr 11 12:26:30 2012 (r234130) +++ head/lib/libc/sys/dup.2 Wed Apr 11 14:08:09 2012 (r234131) @@ -128,20 +128,27 @@ indicates the cause of the error. .Sh ERRORS The .Fn dup -and -.Fn dup2 -system calls fail if: +system call fails if: .Bl -tag -width Er .It Bq Er EBADF The .Fa oldd -or -.Fa newd argument is not a valid active descriptor .It Bq Er EMFILE Too many descriptors are active. .El +The +.Fn dup2 +system call fails if: +.Bl -tag -width Er +.It Bq Er EBADF +The +.Fa oldd +argument is not a valid active descriptor or the +.Fa newd +argument is negative or exceeds the maximum allowable descriptor number +.El .Sh SEE ALSO .Xr accept 2 , .Xr cap_new 2 , Modified: head/lib/libc/sys/fcntl.2 ============================================================================== --- head/lib/libc/sys/fcntl.2 Wed Apr 11 12:26:30 2012 (r234130) +++ head/lib/libc/sys/fcntl.2 Wed Apr 11 14:08:09 2012 (r234131) @@ -539,8 +539,6 @@ The argument .Fa cmd is .Dv F_DUPFD -or -.Dv F_DUP2FD and the maximum number of file descriptors permitted for the process are already in use, or no file descriptors greater than or equal to Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Wed Apr 11 12:26:30 2012 (r234130) +++ head/sys/kern/kern_descrip.c Wed Apr 11 14:08:09 2012 (r234131) @@ -817,7 +817,7 @@ do_dup(struct thread *td, int flags, int maxfd = min((int)lim_cur(p, RLIMIT_NOFILE), maxfilesperproc); PROC_UNLOCK(p); if (new >= maxfd) - return (flags & DUP_FCNTL ? EINVAL : EMFILE); + return (flags & DUP_FCNTL ? EINVAL : EBADF); FILEDESC_XLOCK(fdp); if (old >= fdp->fd_nfiles || fdp->fd_ofiles[old] == NULL) { From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 14:12:29 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7B4051065781; Wed, 11 Apr 2012 14:12:29 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 667F98FC0A; Wed, 11 Apr 2012 14:12: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 q3BECT4M081111; Wed, 11 Apr 2012 14:12:29 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BECTCp081109; Wed, 11 Apr 2012 14:12:29 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204111412.q3BECTCp081109@svn.freebsd.org> From: Eitan Adler Date: Wed, 11 Apr 2012 14:12:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234132 - head/lib/libcrypt X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 14:12:29 -0000 Author: eadler Date: Wed Apr 11 14:12:28 2012 New Revision: 234132 URL: http://svn.freebsd.org/changeset/base/234132 Log: Make the item numbers match the crypt magic number PR: docs/166497 Submitted by: Mike Kelly Approved by: cperciva MFC after: 1 week Modified: head/lib/libcrypt/crypt.3 Modified: head/lib/libcrypt/crypt.3 ============================================================================== --- head/lib/libcrypt/crypt.3 Wed Apr 11 14:08:09 2012 (r234131) +++ head/lib/libcrypt/crypt.3 Wed Apr 11 14:12:28 2012 (r234132) @@ -187,6 +187,8 @@ Blowfish .It NT-Hash .It +(unused) +.It SHA-256 .It SHA-512 From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 14:13:22 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7C541065678; Wed, 11 Apr 2012 14:13:22 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D31968FC20; Wed, 11 Apr 2012 14:13:22 +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 q3BEDMr8081170; Wed, 11 Apr 2012 14:13:22 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BEDMU4081168; Wed, 11 Apr 2012 14:13:22 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204111413.q3BEDMU4081168@svn.freebsd.org> From: Eitan Adler Date: Wed, 11 Apr 2012 14:13:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234133 - head/etc/root X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 14:13:23 -0000 Author: eadler Date: Wed Apr 11 14:13:22 2012 New Revision: 234133 URL: http://svn.freebsd.org/changeset/base/234133 Log: - remove the length shortening on the path - make the default prompt a bit more like scp - make the user show as root even when using 'su' instead of 'su -' - the key bindings didn't hurt anything but likely hide a bug - merge history instead of overwriting it Submitted by: gavin, joel Approved by: cperciva Modified: head/etc/root/dot.cshrc Modified: head/etc/root/dot.cshrc ============================================================================== --- head/etc/root/dot.cshrc Wed Apr 11 14:12:28 2012 (r234132) +++ head/etc/root/dot.cshrc Wed Apr 11 14:13:22 2012 (r234133) @@ -23,12 +23,15 @@ setenv BLOCKSIZE K if ($?prompt) then # An interactive shell -- set some stuff up - set prompt = "%n@%m:%c04%# " + if ($uid == 0) then + set user = root + endif + set prompt = "%n@%m:%/ %# " set promptchars = "%#" set filec set history = 1000 - set savehist = 1000 + set savehist = (1000 merge) set autolist = ambiguous # Use history to aid expansion set autoexpand @@ -38,10 +41,6 @@ if ($?prompt) then bindkey "^W" backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward - - bindkey "\e[1~" beginning-of-line #make Home key work; - bindkey "\e[3~" delete-char #make Delete key work; - bindkey "\e[4~" end-of-line #make End key work; endif endif From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 14:18:18 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CBDF9106564A; Wed, 11 Apr 2012 14:18:18 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B74658FC18; Wed, 11 Apr 2012 14:18:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BEIIpW081364; Wed, 11 Apr 2012 14:18:18 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BEIIg1081362; Wed, 11 Apr 2012 14:18:18 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204111418.q3BEIIg1081362@svn.freebsd.org> From: Eitan Adler Date: Wed, 11 Apr 2012 14:18:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234134 - head/sbin/sysctl X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 14:18:18 -0000 Author: eadler Date: Wed Apr 11 14:18:18 2012 New Revision: 234134 URL: http://svn.freebsd.org/changeset/base/234134 Log: s/Free Memory Pages/Free Memory/ to avoid confusion, since we're reporting a number of bytes rather than a number of pages PR: misc/165208 Submitted by: Arnaud Lacombe Approved by: cperciva MFC after: 3 days Modified: head/sbin/sysctl/sysctl.c Modified: head/sbin/sysctl/sysctl.c ============================================================================== --- head/sbin/sysctl/sysctl.c Wed Apr 11 14:13:22 2012 (r234133) +++ head/sbin/sysctl/sysctl.c Wed Apr 11 14:18:18 2012 (r234134) @@ -419,7 +419,7 @@ S_vmtotal(int l2, void *p) v->t_vmshr * pageKilo, v->t_avmshr * pageKilo); printf("Shared Real Memory:\t(Total: %dK Active: %dK)\n", v->t_rmshr * pageKilo, v->t_armshr * pageKilo); - printf("Free Memory Pages:\t%dK\n", v->t_free * pageKilo); + printf("Free Memory:\t%dK\n", v->t_free * pageKilo); return (0); } From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 14:36:06 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D906106566C; Wed, 11 Apr 2012 14:36:06 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 088398FC19; Wed, 11 Apr 2012 14:36:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BEa5nP081978; Wed, 11 Apr 2012 14:36:05 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BEa5Sd081976; Wed, 11 Apr 2012 14:36:05 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204111436.q3BEa5Sd081976@svn.freebsd.org> From: Eitan Adler Date: Wed, 11 Apr 2012 14:36:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234135 - head/share/examples/csh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 14:36:06 -0000 Author: eadler Date: Wed Apr 11 14:36:05 2012 New Revision: 234135 URL: http://svn.freebsd.org/changeset/base/234135 Log: Fix typo (add a missing '%/' in sed) Submitted by: jmallett Approved by: cperciva (implicit) MFC after: 3 days Modified: head/share/examples/csh/dot.cshrc Modified: head/share/examples/csh/dot.cshrc ============================================================================== --- head/share/examples/csh/dot.cshrc Wed Apr 11 14:18:18 2012 (r234134) +++ head/share/examples/csh/dot.cshrc Wed Apr 11 14:36:05 2012 (r234135) @@ -29,7 +29,7 @@ complete service 'c/-/(e l r v)/' 'p/1 complete kldunload 'n@*@`kldstat | awk \{sub\(\/\.ko\/,\"\",\$NF\)\;print\ \$NF\} | grep -v Name` @' complete make 'n@*@`make -pn | sed -n -E "/^[#_.\/[:blank:]]+/d; /=/d; s/[[:blank:]]*:.*//gp;"`@' complete pkg_delete 'c/-/(i v D n p d f G x X r)/' 'n@*@`ls /var/db/pkg`@' -complete pkg_info 'c/-/(a b v p q Q c d D f g i I j k K r R m L s o G O x X e E l t V P)/' 'n@*@`\ls -1 /var/db/pkg | sed svar/db/pkg/%%`@' +complete pkg_info 'c/-/(a b v p q Q c d D f g i I j k K r R m L s o G O x X e E l t V P)/' 'n@*@`\ls -1 /var/db/pkg | sed s%/var/db/pkg/%%`@' complete kill 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $1}'"'"'`/' complete killall 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $5}'"'"'`/' complete dd 'c/[io]f=/f/ n/*/"(if of ibs obs bs skip seek count)"/=' From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 15:02:14 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ED905106564A; Wed, 11 Apr 2012 15:02:14 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D8CFC8FC0C; Wed, 11 Apr 2012 15:02: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 q3BF2EKc082895; Wed, 11 Apr 2012 15:02:14 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BF2Eb3082893; Wed, 11 Apr 2012 15:02:14 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204111502.q3BF2Eb3082893@svn.freebsd.org> From: Luigi Rizzo Date: Wed, 11 Apr 2012 15:02:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234137 - head/sys/dev/ixgbe X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 15:02:15 -0000 Author: luigi Date: Wed Apr 11 15:02:14 2012 New Revision: 234137 URL: http://svn.freebsd.org/changeset/base/234137 Log: Enable prefetching of descriptors on the TX ring, using the same values as in the Intel driver 3.8.21 for linux. The fact that it is standard in the above driver suggests that it has no bad side effects. But of course there must be a reason for enabling features, not just "it does not harm", so here it is a good one: Prefetching enables full line rate even using a single queue (14.88 Mpps, compared to ~12 Mpps without prefetch). This in turn is terribly useful when one wants to schedule traffic. For obvious reasons the difference is only visible with netmap or other high speed solutions, but presumably the advantage should be in the order of a fraction of a microsecond when starting transmission on an empty queue. Discussed with Jack Vogel. MFC after: 1 week Modified: head/sys/dev/ixgbe/ixgbe.c Modified: head/sys/dev/ixgbe/ixgbe.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe.c Wed Apr 11 14:54:06 2012 (r234136) +++ head/sys/dev/ixgbe/ixgbe.c Wed Apr 11 15:02:14 2012 (r234137) @@ -1143,6 +1143,14 @@ ixgbe_init_locked(struct adapter *adapte txdctl |= IXGBE_TXDCTL_ENABLE; /* Set WTHRESH to 8, burst writeback */ txdctl |= (8 << 16); + /* + * When the internal queue falls below PTHRESH (32), + * start prefetching as long as there are at least + * HTHRESH (1) buffers ready. The values are taken + * from the Intel linux driver 3.8.21. + * Prefetching enables tx line rate even with 1 queue. + */ + txdctl |= (16 << 0) | (1 << 8); IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(i), txdctl); } From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 15:42:03 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD7A2106566B; Wed, 11 Apr 2012 15:42:03 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7F1828FC1D; Wed, 11 Apr 2012 15:42: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 q3BFg3Md084117; Wed, 11 Apr 2012 15:42:03 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BFg3pS084115; Wed, 11 Apr 2012 15:42:03 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201204111542.q3BFg3pS084115@svn.freebsd.org> From: Ed Maste Date: Wed, 11 Apr 2012 15:42:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234138 - head/lib/libfetch X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 15:42:03 -0000 Author: emaste Date: Wed Apr 11 15:42:02 2012 New Revision: 234138 URL: http://svn.freebsd.org/changeset/base/234138 Log: Support percent-encoded user and password RFC 1738 specifies that any ":", "@", or "/" within a user name or password in a URL is percent-encoded, to avoid ambiguity with the use of those characters as URL component separators. Reviewed by: rstone@ MFC after: 1 month Modified: head/lib/libfetch/fetch.c Modified: head/lib/libfetch/fetch.c ============================================================================== --- head/lib/libfetch/fetch.c Wed Apr 11 15:02:14 2012 (r234137) +++ head/lib/libfetch/fetch.c Wed Apr 11 15:42:02 2012 (r234138) @@ -289,6 +289,49 @@ fetchMakeURL(const char *scheme, const c } /* + * Return value of the given hex digit. + */ +static int +fetch_hexval(char ch) +{ + + if (ch >= '0' && ch <= '9') + return (ch - '0'); + else if (ch >= 'a' && ch <= 'f') + return (ch - 'a' + 10); + else if (ch >= 'A' && ch <= 'F') + return (ch - 'A' + 10); + return (-1); +} + +/* + * Decode percent-encoded URL component from src into dst, stopping at end + * of string, or at @ or : separators. Returns a pointer to the unhandled + * part of the input string (null terminator, @, or :). No terminator is + * written to dst (it is the caller's responsibility). + */ +static const char * +fetch_pctdecode(char *dst, const char *src, size_t dlen) +{ + int d1, d2; + char c; + const char *s; + + for (s = src; *s != '\0' && *s != '@' && *s != ':'; s++) { + if (s[0] == '%' && (d1 = fetch_hexval(s[1])) >= 0 && + (d2 = fetch_hexval(s[2])) >= 0 && (d1 > 0 || d2 > 0)) { + c = d1 << 4 | d2; + s += 2; + } else { + c = *s; + } + if (dlen-- > 0) + *dst++ = c; + } + return (s); +} + +/* * Split an URL into components. URL syntax is: * [method:/][/[user[:pwd]@]host[:port]/][document] * This almost, but not quite, RFC1738 URL syntax. @@ -329,15 +372,11 @@ fetchParseURL(const char *URL) p = strpbrk(URL, "/@"); if (p && *p == '@') { /* username */ - for (q = URL, i = 0; (*q != ':') && (*q != '@'); q++) - if (i < URL_USERLEN) - u->user[i++] = *q; + q = fetch_pctdecode(u->user, URL, URL_USERLEN); /* password */ if (*q == ':') - for (q++, i = 0; (*q != ':') && (*q != '@'); q++) - if (i < URL_PWDLEN) - u->pwd[i++] = *q; + q = fetch_pctdecode(u->pwd, ++q, URL_PWDLEN); p++; } else { From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 15:48:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 030E8106566B; Wed, 11 Apr 2012 15:48:51 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D691F8FC15; Wed, 11 Apr 2012 15:48:50 +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 q3BFmoUI084377; Wed, 11 Apr 2012 15:48:50 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BFmocP084375; Wed, 11 Apr 2012 15:48:50 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201204111548.q3BFmocP084375@svn.freebsd.org> From: Jaakko Heinonen Date: Wed, 11 Apr 2012 15:48:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234139 - head/sys/fs/ext2fs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 15:48:51 -0000 Author: jh Date: Wed Apr 11 15:48:50 2012 New Revision: 234139 URL: http://svn.freebsd.org/changeset/base/234139 Log: Restore the blank line incorrectly removed in r234104. Pointed out by: bde Modified: head/sys/fs/ext2fs/ext2_vnops.c Modified: head/sys/fs/ext2fs/ext2_vnops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vnops.c Wed Apr 11 15:42:02 2012 (r234138) +++ head/sys/fs/ext2fs/ext2_vnops.c Wed Apr 11 15:48:50 2012 (r234139) @@ -407,6 +407,7 @@ ext2_setattr(ap) /* Disallow flags not supported by ext2fs. */ if(vap->va_flags & ~(SF_APPEND | SF_IMMUTABLE | UF_NODUMP)) return (EOPNOTSUPP); + if (vp->v_mount->mnt_flag & MNT_RDONLY) return (EROFS); /* From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 16:11:09 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B043106564A; Wed, 11 Apr 2012 16:11:09 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 060698FC14; Wed, 11 Apr 2012 16:11:09 +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 q3BGB812085145; Wed, 11 Apr 2012 16:11:08 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BGB8CM085142; Wed, 11 Apr 2012 16:11:08 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204111611.q3BGB8CM085142@svn.freebsd.org> From: Luigi Rizzo Date: Wed, 11 Apr 2012 16:11:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234140 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 16:11:09 -0000 Author: luigi Date: Wed Apr 11 16:11:08 2012 New Revision: 234140 URL: http://svn.freebsd.org/changeset/base/234140 Log: A couple of changes related to ixgbe operation in netmap mode: - add a sysctl, dev.netmap.ix_crcstrip, to control whether ixgbe should strip the CRC on received frames. Defaults to 0, which keeps the CRC. and improves performance when receiving min-sized (64-byte) frames. This matters because min-sized frames is one of the standard benchmarks for switches and routers, some chipsets seem to issue read-modify-write cycles for PCIe transactions that are not a full cache line, and a min-sized frame triggers the bug, resulting in reduced throughput -- 9.7 instead of 14.88 Mpps -- and heavy bus load. - for the time being, always look for incoming packets on a select/poll even if there has not been an interrupt in the meantime. This is only a temporary workaround for a probable race condition in keeping track of rx interrupts. Add a couple of diagnostic vars to help studying the problem. Modified: head/sys/dev/netmap/ixgbe_netmap.h head/sys/dev/netmap/netmap.c Modified: head/sys/dev/netmap/ixgbe_netmap.h ============================================================================== --- head/sys/dev/netmap/ixgbe_netmap.h Wed Apr 11 15:48:50 2012 (r234139) +++ head/sys/dev/netmap/ixgbe_netmap.h Wed Apr 11 16:11:08 2012 (r234140) @@ -49,6 +49,29 @@ */ #include +/* + * ix_crcstrip: 0: keep CRC in rx frames (default), 1: strip it. + * During regular operations the CRC is stripped, but on some + * hardware reception of frames not multiple of 64 is slower, + * so using crcstrip=0 helps in benchmarks. + * + * ix_rx_miss, ix_rx_miss_bufs: + * count packets that might be missed due to lost interrupts. + * + * ix_use_dd + * use the dd bit for completed tx transmissions. + * This is tricky, much better to use TDH for now. + */ +SYSCTL_DECL(_dev_netmap); +static int ix_rx_miss, ix_rx_miss_bufs, ix_use_dd, ix_crcstrip; +SYSCTL_INT(_dev_netmap, OID_AUTO, ix_crcstrip, + CTLFLAG_RW, &ix_crcstrip, 0, "strip CRC on rx frames"); +SYSCTL_INT(_dev_netmap, OID_AUTO, ix_use_dd, + CTLFLAG_RW, &ix_use_dd, 0, "use dd instead of tdh to detect tx frames"); +SYSCTL_INT(_dev_netmap, OID_AUTO, ix_rx_miss, + CTLFLAG_RW, &ix_rx_miss, 0, "potentially missed rx intr"); +SYSCTL_INT(_dev_netmap, OID_AUTO, ix_rx_miss_bufs, + CTLFLAG_RW, &ix_rx_miss_bufs, 0, "potentially missed rx intr bufs"); /* * wrapper to export locks to the generic netmap code. @@ -82,6 +105,38 @@ ixgbe_netmap_lock_wrapper(struct ifnet * } +static void +set_crcstrip(struct ixgbe_hw *hw, int onoff) +{ + /* crc stripping is set in two places: + * IXGBE_HLREG0 (left alone by the original driver) + * IXGBE_RDRXCTL (set by the original driver in + * ixgbe_setup_hw_rsc() called in init_locked. + * We disable the setting when netmap is compiled in). + * When netmap is compiled in we disabling IXGBE_RDRXCTL + * modifications of the IXGBE_RDRXCTL_CRCSTRIP bit, and + * instead update the state here. + */ + uint32_t hl, rxc; + + hl = IXGBE_READ_REG(hw, IXGBE_HLREG0); + rxc = IXGBE_READ_REG(hw, IXGBE_RDRXCTL); + /* hw requirements ... */ + rxc &= ~IXGBE_RDRXCTL_RSCFRSTSIZE; + rxc |= IXGBE_RDRXCTL_RSCACKC; + if (onoff && !ix_crcstrip) { + /* keep the crc. Fast rx */ + hl &= ~IXGBE_HLREG0_RXCRCSTRP; + rxc &= ~IXGBE_RDRXCTL_CRCSTRIP; + } else { + /* reset default mode */ + hl |= IXGBE_HLREG0_RXCRCSTRP; + rxc |= IXGBE_RDRXCTL_CRCSTRIP; + } + IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hl); + IXGBE_WRITE_REG(hw, IXGBE_RDRXCTL, rxc); +} + /* * Register/unregister. We are already under core lock. * Only called on the first register or the last unregister. @@ -101,6 +156,7 @@ ixgbe_netmap_reg(struct ifnet *ifp, int /* Tell the stack that the interface is no longer active */ ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + set_crcstrip(&adapter->hw, onoff); if (onoff) { /* enable netmap mode */ ifp->if_capenable |= IFCAP_NETMAP; @@ -125,6 +181,7 @@ fail: /* initialize the card, this time in standard mode */ ixgbe_init_locked(adapter); /* also enables intr */ } + set_crcstrip(&adapter->hw, onoff); return (error); } @@ -325,12 +382,26 @@ ring_reset: * For the time being we use TDH, as we do it infrequently * enough not to pose performance problems. */ + if (ix_use_dd) { + struct ixgbe_legacy_tx_desc *txd = + (struct ixgbe_legacy_tx_desc *)txr->tx_base; + + l = txr->next_to_clean; + k = netmap_idx_k2n(kring, kring->nr_hwcur); + delta = 0; + while (l != k && + txd[l].upper.fields.status & IXGBE_TXD_STAT_DD) { + delta++; + l = (l == lim) ? 0 : l + 1; + } + } else { l = IXGBE_READ_REG(&adapter->hw, IXGBE_TDH(ring_nr)); if (l >= kring->nkr_num_slots) { /* XXX can happen */ D("TDH wrap %d", l); l -= kring->nkr_num_slots; } delta = l - txr->next_to_clean; + } if (delta) { /* some tx completed, increment avail */ if (delta < 0) @@ -402,23 +473,29 @@ ixgbe_netmap_rxsync(struct ifnet *ifp, u * * rxr->next_to_check is set to 0 on a ring reinit */ - l = rxr->next_to_check; - j = netmap_idx_n2k(kring, l); - if (netmap_no_pendintr || force_update) { + int crclen = ix_crcstrip ? 0 : 4; + l = rxr->next_to_check; + j = netmap_idx_n2k(kring, l); + for (n = 0; ; n++) { union ixgbe_adv_rx_desc *curr = &rxr->rx_base[l]; uint32_t staterr = le32toh(curr->wb.upper.status_error); if ((staterr & IXGBE_RXD_STAT_DD) == 0) break; - ring->slot[j].len = le16toh(curr->wb.upper.length); + ring->slot[j].len = le16toh(curr->wb.upper.length) - crclen; bus_dmamap_sync(rxr->ptag, rxr->rx_buffers[l].pmap, BUS_DMASYNC_POSTREAD); j = (j == lim) ? 0 : j + 1; l = (l == lim) ? 0 : l + 1; } if (n) { /* update the state variables */ + if (netmap_no_pendintr && !force_update) { + /* diagnostics */ + ix_rx_miss ++; + ix_rx_miss_bufs += n; + } rxr->next_to_check = l; kring->nr_hwavail += n; } Modified: head/sys/dev/netmap/netmap.c ============================================================================== --- head/sys/dev/netmap/netmap.c Wed Apr 11 15:48:50 2012 (r234139) +++ head/sys/dev/netmap/netmap.c Wed Apr 11 16:11:08 2012 (r234140) @@ -111,7 +111,7 @@ SYSCTL_INT(_dev_netmap, OID_AUTO, buf_si CTLFLAG_RD, &netmap_buf_size, 0, "Size of packet buffers"); int netmap_mitigate = 1; SYSCTL_INT(_dev_netmap, OID_AUTO, mitigate, CTLFLAG_RW, &netmap_mitigate, 0, ""); -int netmap_no_pendintr; +int netmap_no_pendintr = 1; SYSCTL_INT(_dev_netmap, OID_AUTO, no_pendintr, CTLFLAG_RW, &netmap_no_pendintr, 0, "Always look for new received packets."); From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 19:37:09 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6B9F71065670; Wed, 11 Apr 2012 19:37:09 +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 561C38FC12; Wed, 11 Apr 2012 19:37:09 +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 q3BJb91r092258; Wed, 11 Apr 2012 19:37:09 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BJb95Z092255; Wed, 11 Apr 2012 19:37:09 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204111937.q3BJb95Z092255@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 19:37:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234141 - in stable/9/sys: i386/acpica i386/conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 19:37:09 -0000 Author: jhb Date: Wed Apr 11 19:37:08 2012 New Revision: 234141 URL: http://svn.freebsd.org/changeset/base/234141 Log: MFC 232742: MFamd64: - Return failure for a suspend attempt if we have no wake address. - Use intr_disable()/intr_restore() instead of ACPI_DISABLE_IRQS(). - Invoke intr_suspend() earlier and call intr_resume() if suspend fails. - Use pause in the loop waiting for CPU to suspend. - Restore PAT MSR, switchtime, switchticks, and MTRRs on resume. Modified: stable/9/sys/i386/acpica/acpi_wakeup.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/i386/acpica/acpi_wakeup.c ============================================================================== --- stable/9/sys/i386/acpica/acpi_wakeup.c Wed Apr 11 16:11:08 2012 (r234140) +++ stable/9/sys/i386/acpica/acpi_wakeup.c Wed Apr 11 19:37:08 2012 (r234141) @@ -33,6 +33,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include @@ -200,13 +202,14 @@ acpi_sleep_machdep(struct acpi_softc *sc uint32_t cr3; u_long ef; - ret = 0; + ret = -1; if (sc->acpi_wakeaddr == 0) - return (0); + return (ret); AcpiSetFirmwareWakingVector(sc->acpi_wakephys); - ef = read_eflags(); + ef = intr_disable(); + intr_suspend(); /* * Temporarily switch to the kernel pmap because it provides an @@ -222,10 +225,8 @@ acpi_sleep_machdep(struct acpi_softc *sc #endif ret_addr = 0; - ACPI_DISABLE_IRQS(); if (acpi_savecpu()) { /* Execute Sleep */ - intr_suspend(); p_gdt = (struct region_descriptor *) (sc->acpi_wakeaddr + physical_gdt); @@ -267,25 +268,31 @@ acpi_sleep_machdep(struct acpi_softc *sc device_printf(sc->acpi_dev, "AcpiEnterSleepState failed - %s\n", AcpiFormatException(status)); - ret = -1; goto out; } - for (;;) ; + for (;;) + ia32_pause(); } else { - /* Execute Wakeup */ - mca_resume(); - intr_resume(); - + pmap_init_pat(); + PCPU_SET(switchtime, 0); + PCPU_SET(switchticks, ticks); if (bootverbose) { acpi_savecpu(); acpi_printcpu(); } + ret = 0; } out: load_cr3(cr3); - write_eflags(ef); + mca_resume(); + intr_resume(); + intr_restore(ef); + + if (ret == 0 && mem_range_softc.mr_op != NULL && + mem_range_softc.mr_op->reinit != NULL) + mem_range_softc.mr_op->reinit(&mem_range_softc); /* If we beeped, turn it off after a delay. */ if (acpi_resume_beep) From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 19:37:37 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5E958106566B; Wed, 11 Apr 2012 19:37:37 +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 E9ECA8FC17; Wed, 11 Apr 2012 19:37:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BJba3x092305; Wed, 11 Apr 2012 19:37:36 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BJbaau092303; Wed, 11 Apr 2012 19:37:36 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204111937.q3BJbaau092303@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 19:37:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234142 - in stable/8/sys/i386: acpica conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 19:37:37 -0000 Author: jhb Date: Wed Apr 11 19:37:36 2012 New Revision: 234142 URL: http://svn.freebsd.org/changeset/base/234142 Log: MFC 232742: MFamd64: - Return failure for a suspend attempt if we have no wake address. - Use intr_disable()/intr_restore() instead of ACPI_DISABLE_IRQS(). - Invoke intr_suspend() earlier and call intr_resume() if suspend fails. - Use pause in the loop waiting for CPU to suspend. - Restore PAT MSR, switchtime, switchticks, and MTRRs on resume. Modified: stable/8/sys/i386/acpica/acpi_wakeup.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/i386/acpica/acpi_wakeup.c ============================================================================== --- stable/8/sys/i386/acpica/acpi_wakeup.c Wed Apr 11 19:37:08 2012 (r234141) +++ stable/8/sys/i386/acpica/acpi_wakeup.c Wed Apr 11 19:37:36 2012 (r234142) @@ -33,6 +33,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include @@ -199,13 +201,14 @@ acpi_sleep_machdep(struct acpi_softc *sc uint32_t cr3; u_long ef; - ret = 0; + ret = -1; if (sc->acpi_wakeaddr == 0) - return (0); + return (ret); AcpiSetFirmwareWakingVector(sc->acpi_wakephys); - ef = read_eflags(); + ef = intr_disable(); + intr_suspend(); /* * Temporarily switch to the kernel pmap because it provides an @@ -221,10 +224,8 @@ acpi_sleep_machdep(struct acpi_softc *sc #endif ret_addr = 0; - ACPI_DISABLE_IRQS(); if (acpi_savecpu()) { /* Execute Sleep */ - intr_suspend(); p_gdt = (struct region_descriptor *) (sc->acpi_wakeaddr + physical_gdt); @@ -266,25 +267,31 @@ acpi_sleep_machdep(struct acpi_softc *sc device_printf(sc->acpi_dev, "AcpiEnterSleepState failed - %s\n", AcpiFormatException(status)); - ret = -1; goto out; } - for (;;) ; + for (;;) + ia32_pause(); } else { - /* Execute Wakeup */ - mca_resume(); - intr_resume(); - + pmap_init_pat(); + PCPU_SET(switchtime, 0); + PCPU_SET(switchticks, ticks); if (bootverbose) { acpi_savecpu(); acpi_printcpu(); } + ret = 0; } out: load_cr3(cr3); - write_eflags(ef); + mca_resume(); + intr_resume(); + intr_restore(ef); + + if (ret == 0 && mem_range_softc.mr_op != NULL && + mem_range_softc.mr_op->reinit != NULL) + mem_range_softc.mr_op->reinit(&mem_range_softc); /* If we beeped, turn it off after a delay. */ if (acpi_resume_beep) From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:04:32 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5105F106564A; Wed, 11 Apr 2012 20:04:32 +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 3815E8FC15; Wed, 11 Apr 2012 20:04:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BK4W7Y093278; Wed, 11 Apr 2012 20:04:32 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BK4VR2093267; Wed, 11 Apr 2012 20:04:31 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112004.q3BK4VR2093267@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 20:04:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234144 - in stable/9/sys: amd64/amd64 conf i386/conf i386/i386 i386/include kern pc98/pc98 x86/isa x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:04:32 -0000 Author: jhb Date: Wed Apr 11 20:04:31 2012 New Revision: 234144 URL: http://svn.freebsd.org/changeset/base/234144 Log: MFC 232744,232747,233031: - Allow a native i386 kernel to be built with 'nodevice atpic'. Just as on amd64, if 'device isa' is present quiesce the 8259A's during boot and resume from suspend. - Move i386's intr_machdep.c to the x86 tree and share it with amd64. - Merge r232744 changes to pc98. (Allow a kernel to be built with 'nodevice atpic'.) - Move ICU related defines from x86/isa/atpic.c to x86/isa/icu.h and use them in x86/x86/intr_machdep.c. Note, I normally would have merged 232747 separately, but 233031 assumed 232747 was already merged and 232744 needs to be merged with 233031. Added: stable/9/sys/x86/x86/intr_machdep.c - copied, changed from r232747, head/sys/x86/x86/intr_machdep.c Deleted: stable/9/sys/amd64/amd64/intr_machdep.c stable/9/sys/i386/i386/intr_machdep.c Modified: stable/9/sys/conf/files.amd64 stable/9/sys/conf/files.i386 stable/9/sys/conf/files.pc98 stable/9/sys/i386/i386/exception.s stable/9/sys/i386/i386/machdep.c stable/9/sys/i386/include/intr_machdep.h stable/9/sys/pc98/pc98/machdep.c stable/9/sys/x86/isa/atpic.c stable/9/sys/x86/isa/icu.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/conf/files.amd64 ============================================================================== --- stable/9/sys/conf/files.amd64 Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/conf/files.amd64 Wed Apr 11 20:04:31 2012 (r234144) @@ -112,7 +112,6 @@ amd64/amd64/gdb_machdep.c optional gdb amd64/amd64/identcpu.c standard amd64/amd64/in_cksum.c optional inet | inet6 amd64/amd64/initcpu.c standard -amd64/amd64/intr_machdep.c standard amd64/amd64/io.c optional io amd64/amd64/legacy.c standard amd64/amd64/locore.S standard no-obj @@ -465,7 +464,7 @@ x86/cpufreq/p4tcc.c optional cpufreq x86/isa/atpic.c optional atpic isa x86/isa/atrtc.c standard x86/isa/clock.c standard -x86/isa/elcr.c standard +x86/isa/elcr.c optional atpic isa | mptable x86/isa/isa.c standard x86/isa/isa_dma.c standard x86/isa/nmi.c standard @@ -474,6 +473,7 @@ x86/pci/pci_bus.c optional pci x86/pci/qpi.c optional pci x86/x86/busdma_machdep.c standard x86/x86/dump_machdep.c standard +x86/x86/intr_machdep.c standard x86/x86/io_apic.c standard x86/x86/local_apic.c standard x86/x86/mca.c standard Modified: stable/9/sys/conf/files.i386 ============================================================================== --- stable/9/sys/conf/files.i386 Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/conf/files.i386 Wed Apr 11 20:04:31 2012 (r234144) @@ -404,7 +404,6 @@ i386/i386/i686_mem.c optional mem i386/i386/identcpu.c standard i386/i386/in_cksum.c optional inet | inet6 i386/i386/initcpu.c standard -i386/i386/intr_machdep.c standard i386/i386/io.c optional io i386/i386/k6_mem.c optional mem i386/i386/legacy.c optional native @@ -515,9 +514,9 @@ x86/cpufreq/p4tcc.c optional cpufreq x86/cpufreq/powernow.c optional cpufreq x86/cpufreq/smist.c optional cpufreq x86/isa/atpic.c optional atpic -x86/isa/atrtc.c optional atpic +x86/isa/atrtc.c optional native x86/isa/clock.c optional native -x86/isa/elcr.c standard +x86/isa/elcr.c optional atpic | apic native x86/isa/isa.c optional isa x86/isa/isa_dma.c optional isa x86/isa/nmi.c standard @@ -526,6 +525,7 @@ x86/pci/pci_bus.c optional pci x86/pci/qpi.c optional pci x86/x86/busdma_machdep.c standard x86/x86/dump_machdep.c standard +x86/x86/intr_machdep.c standard x86/x86/io_apic.c optional apic x86/x86/local_apic.c optional apic x86/x86/mca.c standard Modified: stable/9/sys/conf/files.pc98 ============================================================================== --- stable/9/sys/conf/files.pc98 Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/conf/files.pc98 Wed Apr 11 20:04:31 2012 (r234144) @@ -144,7 +144,6 @@ i386/i386/i686_mem.c optional mem i386/i386/identcpu.c standard i386/i386/in_cksum.c optional inet | inet6 i386/i386/initcpu.c standard -i386/i386/intr_machdep.c standard i386/i386/io.c optional io i386/i386/k6_mem.c optional mem i386/i386/legacy.c standard @@ -227,7 +226,7 @@ pc98/cbus/gdc.c optional gdc pc98/cbus/nmi.c standard pc98/cbus/olpt.c optional olpt pc98/cbus/pckbd.c optional pckbd -pc98/cbus/pcrtc.c optional atpic +pc98/cbus/pcrtc.c standard pc98/cbus/pmc.c optional pmc pc98/cbus/scgdcrndr.c optional sc gdc pc98/cbus/scterm-sck.c optional sc @@ -251,6 +250,7 @@ x86/isa/isa.c optional isa x86/pci/pci_bus.c optional pci x86/x86/busdma_machdep.c standard x86/x86/dump_machdep.c standard +x86/x86/intr_machdep.c standard x86/x86/io_apic.c optional apic x86/x86/local_apic.c optional apic x86/x86/mca.c standard Modified: stable/9/sys/i386/i386/exception.s ============================================================================== --- stable/9/sys/i386/i386/exception.s Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/i386/i386/exception.s Wed Apr 11 20:04:31 2012 (r234144) @@ -35,6 +35,7 @@ */ #include "opt_apic.h" +#include "opt_atpic.h" #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" #include "opt_npx.h" @@ -299,14 +300,18 @@ ENTRY(fork_trampoline) SUPERALIGN_TEXT MCOUNT_LABEL(bintr) +#ifdef DEV_ATPIC #include +#endif -#ifdef DEV_APIC +#if defined(DEV_APIC) && defined(DEV_ATPIC) .data .p2align 4 .text SUPERALIGN_TEXT +#endif +#ifdef DEV_APIC #include #endif Modified: stable/9/sys/i386/i386/machdep.c ============================================================================== --- stable/9/sys/i386/i386/machdep.c Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/i386/i386/machdep.c Wed Apr 11 20:04:31 2012 (r234144) @@ -40,7 +40,9 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_apic.h" #include "opt_atalk.h" +#include "opt_atpic.h" #include "opt_compat.h" #include "opt_cpu.h" #include "opt_ddb.h" @@ -135,6 +137,10 @@ __FBSDID("$FreeBSD$"); #include #endif +#ifdef DEV_APIC +#include +#endif + #ifdef DEV_ISA #include #endif @@ -2683,8 +2689,22 @@ init386(first) printf("WARNING: loader(8) metadata is missing!\n"); #ifdef DEV_ISA +#ifdef DEV_ATPIC elcr_probe(); atpic_startup(); +#else + /* Reset and mask the atpics and leave them shut down. */ + atpic_reset(); + + /* + * Point the ICU spurious interrupt vectors at the APIC spurious + * interrupt handler. + */ + setidt(IDT_IO_INTS + 7, IDTVEC(spuriousint), SDT_SYS386IGT, SEL_KPL, + GSEL(GCODE_SEL, SEL_KPL)); + setidt(IDT_IO_INTS + 15, IDTVEC(spuriousint), SDT_SYS386IGT, SEL_KPL, + GSEL(GCODE_SEL, SEL_KPL)); +#endif #endif #ifdef DDB @@ -2942,8 +2962,22 @@ init386(first) printf("WARNING: loader(8) metadata is missing!\n"); #ifdef DEV_ISA +#ifdef DEV_ATPIC elcr_probe(); atpic_startup(); +#else + /* Reset and mask the atpics and leave them shut down. */ + atpic_reset(); + + /* + * Point the ICU spurious interrupt vectors at the APIC spurious + * interrupt handler. + */ + setidt(IDT_IO_INTS + 7, IDTVEC(spuriousint), SDT_SYS386IGT, SEL_KPL, + GSEL(GCODE_SEL, SEL_KPL)); + setidt(IDT_IO_INTS + 15, IDTVEC(spuriousint), SDT_SYS386IGT, SEL_KPL, + GSEL(GCODE_SEL, SEL_KPL)); +#endif #endif #ifdef DDB Modified: stable/9/sys/i386/include/intr_machdep.h ============================================================================== --- stable/9/sys/i386/include/intr_machdep.h Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/i386/include/intr_machdep.h Wed Apr 11 20:04:31 2012 (r234144) @@ -123,6 +123,9 @@ struct trapframe; extern struct mtx icu_lock; extern int elcr_found; +#ifndef DEV_ATPIC +void atpic_reset(void); +#endif /* XXX: The elcr_* prototypes probably belong somewhere else. */ int elcr_probe(void); enum intr_trigger elcr_read_trigger(u_int irq); Modified: stable/9/sys/pc98/pc98/machdep.c ============================================================================== --- stable/9/sys/pc98/pc98/machdep.c Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/pc98/pc98/machdep.c Wed Apr 11 20:04:31 2012 (r234144) @@ -40,7 +40,9 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_apic.h" #include "opt_atalk.h" +#include "opt_atpic.h" #include "opt_compat.h" #include "opt_cpu.h" #include "opt_ddb.h" @@ -132,6 +134,10 @@ __FBSDID("$FreeBSD$"); #include #endif +#ifdef DEV_APIC +#include +#endif + #ifdef DEV_ISA #include #endif @@ -2269,7 +2275,21 @@ init386(first) printf("WARNING: loader(8) metadata is missing!\n"); #ifdef DEV_ISA +#ifdef DEV_ATPIC atpic_startup(); +#else + /* Reset and mask the atpics and leave them shut down. */ + atpic_reset(); + + /* + * Point the ICU spurious interrupt vectors at the APIC spurious + * interrupt handler. + */ + setidt(IDT_IO_INTS + 7, IDTVEC(spuriousint), SDT_SYS386IGT, SEL_KPL, + GSEL(GCODE_SEL, SEL_KPL)); + setidt(IDT_IO_INTS + 15, IDTVEC(spuriousint), SDT_SYS386IGT, SEL_KPL, + GSEL(GCODE_SEL, SEL_KPL)); +#endif #endif #ifdef DDB Modified: stable/9/sys/x86/isa/atpic.c ============================================================================== --- stable/9/sys/x86/isa/atpic.c Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/x86/isa/atpic.c Wed Apr 11 20:04:31 2012 (r234144) @@ -72,48 +72,6 @@ __FBSDID("$FreeBSD$"); #define MASTER 0 #define SLAVE 1 -/* - * PC-98 machines wire the slave 8259A to pin 7 on the master PIC, and - * PC-AT machines wire the slave PIC to pin 2 on the master PIC. - */ -#ifdef PC98 -#define ICU_SLAVEID 7 -#else -#define ICU_SLAVEID 2 -#endif - -/* - * Determine the base master and slave modes not including auto EOI support. - * All machines that FreeBSD supports use 8086 mode. - */ -#ifdef PC98 -/* - * PC-98 machines do not support auto EOI on the second PIC. Also, it - * seems that PC-98 machine PICs use buffered mode, and the master PIC - * uses special fully nested mode. - */ -#define BASE_MASTER_MODE (ICW4_SFNM | ICW4_BUF | ICW4_MS | ICW4_8086) -#define BASE_SLAVE_MODE (ICW4_BUF | ICW4_8086) -#else -#define BASE_MASTER_MODE ICW4_8086 -#define BASE_SLAVE_MODE ICW4_8086 -#endif - -/* Enable automatic EOI if requested. */ -#ifdef AUTO_EOI_1 -#define MASTER_MODE (BASE_MASTER_MODE | ICW4_AEOI) -#else -#define MASTER_MODE BASE_MASTER_MODE -#endif -#ifdef AUTO_EOI_2 -#define SLAVE_MODE (BASE_SLAVE_MODE | ICW4_AEOI) -#else -#define SLAVE_MODE BASE_SLAVE_MODE -#endif - -#define IRQ_MASK(irq) (1 << (irq)) -#define IMEN_MASK(ai) (IRQ_MASK((ai)->at_irq)) - #define NUM_ISA_IRQS 16 static void atpic_init(void *dummy); Modified: stable/9/sys/x86/isa/icu.h ============================================================================== --- stable/9/sys/x86/isa/icu.h Wed Apr 11 19:58:29 2012 (r234143) +++ stable/9/sys/x86/isa/icu.h Wed Apr 11 20:04:31 2012 (r234144) @@ -47,6 +47,48 @@ #define ICU_IMR_OFFSET 1 #endif +/* + * PC-98 machines wire the slave 8259A to pin 7 on the master PIC, and + * PC-AT machines wire the slave PIC to pin 2 on the master PIC. + */ +#ifdef PC98 +#define ICU_SLAVEID 7 +#else +#define ICU_SLAVEID 2 +#endif + +/* + * Determine the base master and slave modes not including auto EOI support. + * All machines that FreeBSD supports use 8086 mode. + */ +#ifdef PC98 +/* + * PC-98 machines do not support auto EOI on the second PIC. Also, it + * seems that PC-98 machine PICs use buffered mode, and the master PIC + * uses special fully nested mode. + */ +#define BASE_MASTER_MODE (ICW4_SFNM | ICW4_BUF | ICW4_MS | ICW4_8086) +#define BASE_SLAVE_MODE (ICW4_BUF | ICW4_8086) +#else +#define BASE_MASTER_MODE ICW4_8086 +#define BASE_SLAVE_MODE ICW4_8086 +#endif + +/* Enable automatic EOI if requested. */ +#ifdef AUTO_EOI_1 +#define MASTER_MODE (BASE_MASTER_MODE | ICW4_AEOI) +#else +#define MASTER_MODE BASE_MASTER_MODE +#endif +#ifdef AUTO_EOI_2 +#define SLAVE_MODE (BASE_SLAVE_MODE | ICW4_AEOI) +#else +#define SLAVE_MODE BASE_SLAVE_MODE +#endif + +#define IRQ_MASK(irq) (1 << (irq)) +#define IMEN_MASK(ai) (IRQ_MASK((ai)->at_irq)) + void atpic_handle_intr(u_int vector, struct trapframe *frame); void atpic_startup(void); Copied and modified: stable/9/sys/x86/x86/intr_machdep.c (from r232747, head/sys/x86/x86/intr_machdep.c) ============================================================================== --- head/sys/x86/x86/intr_machdep.c Fri Mar 9 20:43:29 2012 (r232747, copy source) +++ stable/9/sys/x86/x86/intr_machdep.c Wed Apr 11 20:04:31 2012 (r234144) @@ -63,8 +63,12 @@ #include #include #include +#ifdef PC98 +#include +#else #include #endif +#endif #define MAX_STRAY_LOG 5 @@ -391,15 +395,15 @@ atpic_reset(void) outb(IO_ICU1, ICW1_RESET | ICW1_IC4); outb(IO_ICU1 + ICU_IMR_OFFSET, IDT_IO_INTS); - outb(IO_ICU1 + ICU_IMR_OFFSET, 1 << 2); - outb(IO_ICU1 + ICU_IMR_OFFSET, ICW4_8086); + outb(IO_ICU1 + ICU_IMR_OFFSET, IRQ_MASK(ICU_SLAVEID)); + outb(IO_ICU1 + ICU_IMR_OFFSET, MASTER_MODE); outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff); outb(IO_ICU1, OCW3_SEL | OCW3_RR); outb(IO_ICU2, ICW1_RESET | ICW1_IC4); outb(IO_ICU2 + ICU_IMR_OFFSET, IDT_IO_INTS + 8); - outb(IO_ICU2 + ICU_IMR_OFFSET, 2); - outb(IO_ICU2 + ICU_IMR_OFFSET, ICW4_8086); + outb(IO_ICU2 + ICU_IMR_OFFSET, ICU_SLAVEID); + outb(IO_ICU2 + ICU_IMR_OFFSET, SLAVE_MODE); outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff); outb(IO_ICU2, OCW3_SEL | OCW3_RR); } From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:19:08 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8DB2E1065672; Wed, 11 Apr 2012 20:19: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 5E1338FC08; Wed, 11 Apr 2012 20:19: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 q3BKJ8BT093836; Wed, 11 Apr 2012 20:19:08 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BKJ8cv093833; Wed, 11 Apr 2012 20:19:08 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112019.q3BKJ8cv093833@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 20:19:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234145 - in stable/9/sys: amd64/include i386/conf i386/include kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:19:08 -0000 Author: jhb Date: Wed Apr 11 20:19:07 2012 New Revision: 234145 URL: http://svn.freebsd.org/changeset/base/234145 Log: MFC 232228,233613: Move the DTrace return IDT vector back up from 0x20 to 0x92. The 0x20 vector is currently dedicated to servicing IRQ 0 from the 8259A's, so it shouldn't be overloaded for DTrace. Modified: stable/9/sys/amd64/include/segments.h stable/9/sys/i386/include/segments.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/amd64/include/segments.h ============================================================================== --- stable/9/sys/amd64/include/segments.h Wed Apr 11 20:04:31 2012 (r234144) +++ stable/9/sys/amd64/include/segments.h Wed Apr 11 20:19:07 2012 (r234145) @@ -214,7 +214,7 @@ struct region_descriptor { #define IDT_XF 19 /* #XF: SIMD Floating-Point Exception */ #define IDT_IO_INTS NRSVIDT /* Base of IDT entries for I/O interrupts. */ #define IDT_SYSCALL 0x80 /* System Call Interrupt Vector */ -#define IDT_DTRACE_RET 0x20 /* DTrace pid provider Interrupt Vector */ +#define IDT_DTRACE_RET 0x92 /* DTrace pid provider Interrupt Vector */ /* * Entries in the Global Descriptor Table (GDT) Modified: stable/9/sys/i386/include/segments.h ============================================================================== --- stable/9/sys/i386/include/segments.h Wed Apr 11 20:04:31 2012 (r234144) +++ stable/9/sys/i386/include/segments.h Wed Apr 11 20:19:07 2012 (r234145) @@ -207,7 +207,7 @@ struct region_descriptor { #define IDT_XF 19 /* #XF: SIMD Floating-Point Exception */ #define IDT_IO_INTS NRSVIDT /* Base of IDT entries for I/O interrupts. */ #define IDT_SYSCALL 0x80 /* System Call Interrupt Vector */ -#define IDT_DTRACE_RET 0x20 /* DTrace pid provider Interrupt Vector */ +#define IDT_DTRACE_RET 0x92 /* DTrace pid provider Interrupt Vector */ /* * Entries in the Global Descriptor Table (GDT) From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:19:35 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F048C106576D; Wed, 11 Apr 2012 20:19:35 +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 C06838FC19; Wed, 11 Apr 2012 20:19:30 +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 q3BKJTZJ093885; Wed, 11 Apr 2012 20:19:29 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BKJTAW093882; Wed, 11 Apr 2012 20:19:29 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112019.q3BKJTAW093882@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 20:19:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234146 - in stable/8/sys: amd64/include i386/conf i386/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:19:36 -0000 Author: jhb Date: Wed Apr 11 20:19:29 2012 New Revision: 234146 URL: http://svn.freebsd.org/changeset/base/234146 Log: MFC 232228,233613: Move the DTrace return IDT vector back up from 0x20 to 0x92. The 0x20 vector is currently dedicated to servicing IRQ 0 from the 8259A's, so it shouldn't be overloaded for DTrace. Modified: stable/8/sys/amd64/include/segments.h stable/8/sys/i386/include/segments.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/amd64/include/segments.h ============================================================================== --- stable/8/sys/amd64/include/segments.h Wed Apr 11 20:19:07 2012 (r234145) +++ stable/8/sys/amd64/include/segments.h Wed Apr 11 20:19:29 2012 (r234146) @@ -214,7 +214,7 @@ struct region_descriptor { #define IDT_XF 19 /* #XF: SIMD Floating-Point Exception */ #define IDT_IO_INTS NRSVIDT /* Base of IDT entries for I/O interrupts. */ #define IDT_SYSCALL 0x80 /* System Call Interrupt Vector */ -#define IDT_DTRACE_RET 0x20 /* DTrace pid provider Interrupt Vector */ +#define IDT_DTRACE_RET 0x92 /* DTrace pid provider Interrupt Vector */ /* * Entries in the Global Descriptor Table (GDT) Modified: stable/8/sys/i386/include/segments.h ============================================================================== --- stable/8/sys/i386/include/segments.h Wed Apr 11 20:19:07 2012 (r234145) +++ stable/8/sys/i386/include/segments.h Wed Apr 11 20:19:29 2012 (r234146) @@ -207,7 +207,7 @@ struct region_descriptor { #define IDT_XF 19 /* #XF: SIMD Floating-Point Exception */ #define IDT_IO_INTS NRSVIDT /* Base of IDT entries for I/O interrupts. */ #define IDT_SYSCALL 0x80 /* System Call Interrupt Vector */ -#define IDT_DTRACE_RET 0x20 /* DTrace pid provider Interrupt Vector */ +#define IDT_DTRACE_RET 0x92 /* DTrace pid provider Interrupt Vector */ /* * Entries in the Global Descriptor Table (GDT) From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:25:01 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CD0091065670; Wed, 11 Apr 2012 20:25:01 +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 9A4558FC1B; Wed, 11 Apr 2012 20:25:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BKP1c6094191; Wed, 11 Apr 2012 20:25:01 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BKP19o094189; Wed, 11 Apr 2012 20:25:01 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112025.q3BKP19o094189@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 20:25:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234147 - in stable/9/sys: i386/conf kern x86/acpica X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:25:02 -0000 Author: jhb Date: Wed Apr 11 20:25:01 2012 New Revision: 234147 URL: http://svn.freebsd.org/changeset/base/234147 Log: MFC 233305,233623: - Mark the 'lapics' and 'ioapics' arrays here static since they are private to this file. The 'lapics' array was actually shadowing a completely different 'lapics' array that is private to local_apic.c. - Allocate the ioapics[] array dynamically since it is only needed for the duration of madt_setup_io(). This avoids having the array take up permanent space in the BSS. Modified: stable/9/sys/x86/acpica/madt.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/x86/acpica/madt.c ============================================================================== --- stable/9/sys/x86/acpica/madt.c Wed Apr 11 20:19:29 2012 (r234146) +++ stable/9/sys/x86/acpica/madt.c Wed Apr 11 20:25:01 2012 (r234147) @@ -50,12 +50,12 @@ __FBSDID("$FreeBSD$"); #include /* These two arrays are indexed by APIC IDs. */ -struct ioapic_info { +static struct { void *io_apic; UINT32 io_vector; -} ioapics[MAX_APIC_ID + 1]; +} *ioapics; -struct lapic_info { +static struct lapic_info { u_int la_enabled:1; u_int la_acpi_id:8; } lapics[MAX_APIC_ID + 1]; @@ -162,7 +162,10 @@ madt_setup_io(void) printf("Try disabling either ACPI or apic support.\n"); panic("Using MADT but ACPI doesn't work"); } - + + ioapics = malloc(sizeof(*ioapics) * (MAX_APIC_ID + 1), M_MADT, + M_WAITOK | M_ZERO); + /* First, we run through adding I/O APIC's. */ madt_walk_table(madt_parse_apics, NULL); @@ -194,6 +197,9 @@ madt_setup_io(void) /* Finally, we throw the switch to enable the I/O APIC's. */ acpi_SetDefaultIntrModel(ACPI_INTR_APIC); + free(ioapics, M_MADT); + ioapics = NULL; + return (0); } From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:26:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 89AF2106564A; Wed, 11 Apr 2012 20:26:51 +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 743348FC15; Wed, 11 Apr 2012 20:26:51 +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 q3BKQp9W094290; Wed, 11 Apr 2012 20:26:51 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BKQpgP094288; Wed, 11 Apr 2012 20:26:51 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112026.q3BKQpgP094288@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 20:26:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234148 - in stable/9/sys: conf i386/conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:26:51 -0000 Author: jhb Date: Wed Apr 11 20:26:50 2012 New Revision: 234148 URL: http://svn.freebsd.org/changeset/base/234148 Log: MFC 233893: Disable INET6 support in modules when building the LINT-NOINET6 kernel. Modified: stable/9/sys/conf/makeLINT.mk Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/conf/makeLINT.mk ============================================================================== --- stable/9/sys/conf/makeLINT.mk Wed Apr 11 20:25:01 2012 (r234147) +++ stable/9/sys/conf/makeLINT.mk Wed Apr 11 20:26:50 2012 (r234148) @@ -23,6 +23,7 @@ LINT: ${NOTES} ../../conf/makeLINT.sed echo "nodevice gre" >> ${.TARGET}-NOINET echo "include ${.TARGET}" > ${.TARGET}-NOINET6 echo "ident ${.TARGET}-NOINET6" >> ${.TARGET}-NOINET6 + echo 'makeoptions MKMODULESENV+="WITHOUT_INET6_SUPPORT="' >> ${.TARGET}-NOINET6 echo "nooptions INET6" >> ${.TARGET}-NOINET6 echo "include ${.TARGET}" > ${.TARGET}-NOIP echo "ident ${.TARGET}-NOIP" >> ${.TARGET}-NOIP From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:28:06 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0530D1065674; Wed, 11 Apr 2012 20:28:06 +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 E40678FC12; Wed, 11 Apr 2012 20:28:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BKS5G5094376; Wed, 11 Apr 2012 20:28:05 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BKS5XI094374; Wed, 11 Apr 2012 20:28:05 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201204112028.q3BKS5XI094374@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 11 Apr 2012 20:28:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234149 - head/sys/powerpc/aim X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:28:06 -0000 Author: nwhitehorn Date: Wed Apr 11 20:28:05 2012 New Revision: 234149 URL: http://svn.freebsd.org/changeset/base/234149 Log: Fix error in r233949. Synchronizing icaches on uncacheable pages turns out not to be a good idea, and of course the PV entry list for a page is never empty after the page has been mapped. Modified: head/sys/powerpc/aim/mmu_oea.c Modified: head/sys/powerpc/aim/mmu_oea.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea.c Wed Apr 11 20:26:50 2012 (r234148) +++ head/sys/powerpc/aim/mmu_oea.c Wed Apr 11 20:28:05 2012 (r234149) @@ -1137,9 +1137,11 @@ moea_enter_locked(pmap_t pmap, vm_offset /* * Flush the real page from the instruction cache. This has be done * for all user mappings to prevent information leakage via the - * instruction cache. + * instruction cache. moea_pvo_enter() returns ENOENT for the first + * mapping for a page. */ - if (pmap != kernel_pmap && LIST_EMPTY(vm_page_to_pvoh(m))) + if (pmap != kernel_pmap && error == ENOENT && + (pte_lo & (PTE_I | PTE_G)) == 0) moea_syncicache(VM_PAGE_TO_PHYS(m), PAGE_SIZE); } From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:50:18 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67568106564A; Wed, 11 Apr 2012 20:50:18 +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 47A008FC16; Wed, 11 Apr 2012 20:50:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BKoIfo095122; Wed, 11 Apr 2012 20:50:18 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BKoHPq095113; Wed, 11 Apr 2012 20:50:17 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112050.q3BKoHPq095113@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 20:50:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234150 - in stable/9/sys: amd64/amd64 amd64/include dev/acpica dev/pci i386/conf i386/i386 i386/include kern x86/pci x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:50:18 -0000 Author: jhb Date: Wed Apr 11 20:50:17 2012 New Revision: 234150 URL: http://svn.freebsd.org/changeset/base/234150 Log: MFC 233676: Use a more proper fix for enabling HT MSI mapping windows on Host-PCI bridges. Rather than blindly enabling the windows on all of them, only enable the window when an MSI interrupt is enabled for a device behind the bridge, similar to what already happens for HT PCI-PCI bridges. Modified: stable/9/sys/amd64/amd64/legacy.c stable/9/sys/amd64/include/legacyvar.h stable/9/sys/dev/acpica/acpi_pcib_acpi.c stable/9/sys/dev/pci/pci.c stable/9/sys/i386/i386/legacy.c stable/9/sys/i386/include/legacyvar.h stable/9/sys/x86/pci/pci_bus.c stable/9/sys/x86/x86/mptable_pci.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/amd64/amd64/legacy.c ============================================================================== --- stable/9/sys/amd64/amd64/legacy.c Wed Apr 11 20:28:05 2012 (r234149) +++ stable/9/sys/amd64/amd64/legacy.c Wed Apr 11 20:50:17 2012 (r234150) @@ -53,7 +53,9 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_LEGACYDEV, "legacydrv", "legacy system device"); struct legacy_device { - int lg_pcibus; + int lg_pcibus; + int lg_pcislot; + int lg_pcifunc; }; #define DEVTOAT(dev) ((struct legacy_device *)device_get_ivars(dev)) @@ -161,6 +163,8 @@ legacy_add_child(device_t bus, u_int ord if (atdev == NULL) return(NULL); atdev->lg_pcibus = -1; + atdev->lg_pcislot = -1; + atdev->lg_pcifunc = -1; child = device_add_child_ordered(bus, order, name, unit); if (child == NULL) @@ -184,6 +188,12 @@ legacy_read_ivar(device_t dev, device_t case LEGACY_IVAR_PCIBUS: *result = atdev->lg_pcibus; break; + case LEGACY_IVAR_PCISLOT: + *result = atdev->lg_pcislot; + break; + case LEGACY_IVAR_PCIFUNC: + *result = atdev->lg_pcifunc; + break; default: return ENOENT; } @@ -202,6 +212,12 @@ legacy_write_ivar(device_t dev, device_t case LEGACY_IVAR_PCIBUS: atdev->lg_pcibus = value; break; + case LEGACY_IVAR_PCISLOT: + atdev->lg_pcislot = value; + break; + case LEGACY_IVAR_PCIFUNC: + atdev->lg_pcifunc = value; + break; default: return ENOENT; } Modified: stable/9/sys/amd64/include/legacyvar.h ============================================================================== --- stable/9/sys/amd64/include/legacyvar.h Wed Apr 11 20:28:05 2012 (r234149) +++ stable/9/sys/amd64/include/legacyvar.h Wed Apr 11 20:50:17 2012 (r234150) @@ -31,7 +31,9 @@ enum legacy_device_ivars { LEGACY_IVAR_PCIDOMAIN, - LEGACY_IVAR_PCIBUS + LEGACY_IVAR_PCIBUS, + LEGACY_IVAR_PCISLOT, + LEGACY_IVAR_PCIFUNC }; #define LEGACY_ACCESSOR(var, ivar, type) \ @@ -39,6 +41,8 @@ enum legacy_device_ivars { LEGACY_ACCESSOR(pcidomain, PCIDOMAIN, uint32_t) LEGACY_ACCESSOR(pcibus, PCIBUS, uint32_t) +LEGACY_ACCESSOR(pcislot, PCISLOT, int) +LEGACY_ACCESSOR(pcifunc, PCIFUNC, int) #undef LEGACY_ACCESSOR @@ -53,5 +57,7 @@ int legacy_pcib_write_ivar(device_t dev, uintptr_t value); struct resource *legacy_pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags); +int legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, + uint64_t *addr, uint32_t *data); #endif /* !_MACHINE_LEGACYVAR_H_ */ Modified: stable/9/sys/dev/acpica/acpi_pcib_acpi.c ============================================================================== --- stable/9/sys/dev/acpica/acpi_pcib_acpi.c Wed Apr 11 20:28:05 2012 (r234149) +++ stable/9/sys/dev/acpica/acpi_pcib_acpi.c Wed Apr 11 20:50:17 2012 (r234150) @@ -59,8 +59,9 @@ struct acpi_hpcib_softc { ACPI_HANDLE ap_handle; int ap_flags; - int ap_segment; /* analagous to Alpha 'hose' */ + int ap_segment; /* PCI domain */ int ap_bus; /* bios-assigned bus number */ + int ap_addr; /* device/func of PCI-Host bridge */ ACPI_BUFFER ap_prt; /* interrupt routing table */ #ifdef NEW_PCIB @@ -276,7 +277,7 @@ acpi_pcib_acpi_attach(device_t dev) struct acpi_hpcib_softc *sc; ACPI_STATUS status; static int bus0_seen = 0; - u_int addr, slot, func, busok; + u_int slot, func, busok; uint8_t busno; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); @@ -286,7 +287,7 @@ acpi_pcib_acpi_attach(device_t dev) sc->ap_handle = acpi_get_handle(dev); /* - * Get our segment number by evaluating _SEG + * Get our segment number by evaluating _SEG. * It's OK for this to not exist. */ status = acpi_GetInteger(sc->ap_handle, "_SEG", &sc->ap_segment); @@ -300,6 +301,18 @@ acpi_pcib_acpi_attach(device_t dev) sc->ap_segment = 0; } + /* + * Get the address (device and function) of the associated + * PCI-Host bridge device from _ADR. Assume we don't have one if + * it doesn't exist. + */ + status = acpi_GetInteger(sc->ap_handle, "_ADR", &sc->ap_addr); + if (ACPI_FAILURE(status)) { + device_printf(dev, "could not evaluate _ADR - %s\n", + AcpiFormatException(status)); + sc->ap_addr = -1; + } + #ifdef NEW_PCIB /* * Determine which address ranges this bridge decodes and setup @@ -354,18 +367,10 @@ acpi_pcib_acpi_attach(device_t dev) busok = 1; if (sc->ap_segment == 0 && sc->ap_bus == 0 && bus0_seen) { busok = 0; - status = acpi_GetInteger(sc->ap_handle, "_ADR", &addr); - if (ACPI_FAILURE(status)) { - if (status != AE_NOT_FOUND) { - device_printf(dev, "could not evaluate _ADR - %s\n", - AcpiFormatException(status)); - return_VALUE (ENXIO); - } else - device_printf(dev, "couldn't find _ADR\n"); - } else { + if (sc->ap_addr != -1) { /* XXX: We assume bus 0. */ - slot = ACPI_ADR_PCI_SLOT(addr); - func = ACPI_ADR_PCI_FUNC(addr); + slot = ACPI_ADR_PCI_SLOT(sc->ap_addr); + func = ACPI_ADR_PCI_FUNC(sc->ap_addr); if (bootverbose) device_printf(dev, "reading config registers from 0:%d:%d\n", slot, func); @@ -488,10 +493,24 @@ static int acpi_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) { - device_t bus; + struct acpi_hpcib_softc *sc; + device_t bus, hostb; + int error; bus = device_get_parent(pcib); - return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); + error = PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data); + if (error) + return (error); + + sc = device_get_softc(dev); + if (sc->ap_addr == -1) + return (0); + /* XXX: Assumes all bridges are on bus 0. */ + hostb = pci_find_dbsf(sc->ap_segment, 0, ACPI_ADR_PCI_SLOT(sc->ap_addr), + ACPI_ADR_PCI_FUNC(sc->ap_addr)); + if (hostb != NULL) + pci_ht_map_msi(hostb, *addr); + return (0); } struct resource * Modified: stable/9/sys/dev/pci/pci.c ============================================================================== --- stable/9/sys/dev/pci/pci.c Wed Apr 11 20:28:05 2012 (r234149) +++ stable/9/sys/dev/pci/pci.c Wed Apr 11 20:50:17 2012 (r234150) @@ -756,7 +756,7 @@ pci_read_cap(device_t pcib, pcicfgregs * } } -#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) +#if defined(__powerpc__) /* * Enable the MSI mapping window for all HyperTransport * slaves. PCI-PCI bridges have their windows enabled via Modified: stable/9/sys/i386/i386/legacy.c ============================================================================== --- stable/9/sys/i386/i386/legacy.c Wed Apr 11 20:28:05 2012 (r234149) +++ stable/9/sys/i386/i386/legacy.c Wed Apr 11 20:50:17 2012 (r234150) @@ -58,7 +58,9 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_LEGACYDEV, "legacydrv", "legacy system device"); struct legacy_device { - int lg_pcibus; + int lg_pcibus; + int lg_pcislot; + int lg_pcifunc; }; #define DEVTOAT(dev) ((struct legacy_device *)device_get_ivars(dev)) @@ -182,6 +184,8 @@ legacy_add_child(device_t bus, u_int ord if (atdev == NULL) return(NULL); atdev->lg_pcibus = -1; + atdev->lg_pcislot = -1; + atdev->lg_pcifunc = -1; child = device_add_child_ordered(bus, order, name, unit); if (child == NULL) @@ -205,6 +209,12 @@ legacy_read_ivar(device_t dev, device_t case LEGACY_IVAR_PCIBUS: *result = atdev->lg_pcibus; break; + case LEGACY_IVAR_PCISLOT: + *result = atdev->lg_pcislot; + break; + case LEGACY_IVAR_PCIFUNC: + *result = atdev->lg_pcifunc; + break; default: return ENOENT; } @@ -223,6 +233,12 @@ legacy_write_ivar(device_t dev, device_t case LEGACY_IVAR_PCIBUS: atdev->lg_pcibus = value; break; + case LEGACY_IVAR_PCISLOT: + atdev->lg_pcislot = value; + break; + case LEGACY_IVAR_PCIFUNC: + atdev->lg_pcifunc = value; + break; default: return ENOENT; } Modified: stable/9/sys/i386/include/legacyvar.h ============================================================================== --- stable/9/sys/i386/include/legacyvar.h Wed Apr 11 20:28:05 2012 (r234149) +++ stable/9/sys/i386/include/legacyvar.h Wed Apr 11 20:50:17 2012 (r234150) @@ -31,7 +31,9 @@ enum legacy_device_ivars { LEGACY_IVAR_PCIDOMAIN, - LEGACY_IVAR_PCIBUS + LEGACY_IVAR_PCIBUS, + LEGACY_IVAR_PCISLOT, + LEGACY_IVAR_PCIFUNC }; #define LEGACY_ACCESSOR(var, ivar, type) \ @@ -39,6 +41,8 @@ enum legacy_device_ivars { LEGACY_ACCESSOR(pcidomain, PCIDOMAIN, uint32_t) LEGACY_ACCESSOR(pcibus, PCIBUS, uint32_t) +LEGACY_ACCESSOR(pcislot, PCISLOT, int) +LEGACY_ACCESSOR(pcifunc, PCIFUNC, int) #undef LEGACY_ACCESSOR @@ -53,5 +57,7 @@ int legacy_pcib_write_ivar(device_t dev, uintptr_t value); struct resource *legacy_pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags); +int legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, + uint64_t *addr, uint32_t *data); #endif /* !_MACHINE_LEGACYVAR_H_ */ Modified: stable/9/sys/x86/pci/pci_bus.c ============================================================================== --- stable/9/sys/x86/pci/pci_bus.c Wed Apr 11 20:28:05 2012 (r234149) +++ stable/9/sys/x86/pci/pci_bus.c Wed Apr 11 20:50:17 2012 (r234150) @@ -112,14 +112,28 @@ legacy_pcib_alloc_msix(device_t pcib, de return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); } -static int +int legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) { - device_t bus; + device_t bus, hostb; + int error, func, slot; bus = device_get_parent(pcib); - return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); + error = PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data); + if (error) + return (error); + + slot = legacy_get_pcislot(pcib); + func = legacy_get_pcifunc(pcib); + if (slot == -1 || func == -1) + return (0); + hostb = pci_find_bsf(0, slot, func); + KASSERT(hostb != NULL, ("%s: missing hostb for 0:%d:%d", __func__, + slot, func)); + pci_ht_map_msi(hostb, *addr); + return (0); + } static const char * @@ -453,6 +467,8 @@ legacy_pcib_identify(driver_t *driver, d "pcib", busnum); device_set_desc(child, s); legacy_set_pcibus(child, busnum); + legacy_set_pcislot(child, slot); + legacy_set_pcifunc(child, func); found = 1; if (id == 0x12258086) Modified: stable/9/sys/x86/x86/mptable_pci.c ============================================================================== --- stable/9/sys/x86/x86/mptable_pci.c Wed Apr 11 20:28:05 2012 (r234149) +++ stable/9/sys/x86/x86/mptable_pci.c Wed Apr 11 20:50:17 2012 (r234150) @@ -97,16 +97,6 @@ mptable_hostb_alloc_msix(device_t pcib, return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); } -static int -mptable_hostb_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, - uint32_t *data) -{ - device_t bus; - - bus = device_get_parent(pcib); - return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); -} - #ifdef NEW_PCIB static int mptable_is_isa_range(u_long start, u_long end) @@ -214,7 +204,7 @@ static device_method_t mptable_hostb_met DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, mptable_hostb_alloc_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), - DEVMETHOD(pcib_map_msi, mptable_hostb_map_msi), + DEVMETHOD(pcib_map_msi, legacy_pcib_map_msi), DEVMETHOD_END }; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:55:21 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF1751065674; Wed, 11 Apr 2012 20:55:21 +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 C6A378FC14; Wed, 11 Apr 2012 20:55: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 q3BKtLWH095334; Wed, 11 Apr 2012 20:55:21 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BKtLoU095323; Wed, 11 Apr 2012 20:55:21 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112055.q3BKtLoU095323@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 20:55:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234151 - in stable/8/sys: amd64/amd64 amd64/include amd64/pci dev/acpica dev/pci i386/conf i386/i386 i386/include i386/pci x86/x86 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:55:22 -0000 Author: jhb Date: Wed Apr 11 20:55:21 2012 New Revision: 234151 URL: http://svn.freebsd.org/changeset/base/234151 Log: MFC 219737,219740,233676: Improve handling of MSI interrupts with HyperTransport devices: - Always enable the HyperTransport MSI mapping window for HyperTransport to PCI bridges (these show up as HyperTransport slave devices) on powerpc. - Enable the HyperTransport MSI mapping window for HyperTransport to PCI bridges when an interrupt is configured via the PCIB_MAP_MSI() call on x86. Modified: stable/8/sys/amd64/amd64/legacy.c stable/8/sys/amd64/include/legacyvar.h stable/8/sys/amd64/pci/pci_bus.c stable/8/sys/dev/acpica/acpi_pcib_acpi.c stable/8/sys/dev/pci/pci.c stable/8/sys/dev/pci/pcivar.h stable/8/sys/i386/i386/legacy.c stable/8/sys/i386/include/legacyvar.h stable/8/sys/i386/pci/pci_bus.c stable/8/sys/x86/x86/mptable_pci.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/amd64/amd64/legacy.c ============================================================================== --- stable/8/sys/amd64/amd64/legacy.c Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/amd64/amd64/legacy.c Wed Apr 11 20:55:21 2012 (r234151) @@ -52,7 +52,9 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_LEGACYDEV, "legacydrv", "legacy system device"); struct legacy_device { - int lg_pcibus; + int lg_pcibus; + int lg_pcislot; + int lg_pcifunc; }; #define DEVTOAT(dev) ((struct legacy_device *)device_get_ivars(dev)) @@ -160,6 +162,8 @@ legacy_add_child(device_t bus, u_int ord if (atdev == NULL) return(NULL); atdev->lg_pcibus = -1; + atdev->lg_pcislot = -1; + atdev->lg_pcifunc = -1; child = device_add_child_ordered(bus, order, name, unit); if (child == NULL) @@ -183,6 +187,12 @@ legacy_read_ivar(device_t dev, device_t case LEGACY_IVAR_PCIBUS: *result = atdev->lg_pcibus; break; + case LEGACY_IVAR_PCISLOT: + *result = atdev->lg_pcislot; + break; + case LEGACY_IVAR_PCIFUNC: + *result = atdev->lg_pcifunc; + break; default: return ENOENT; } @@ -201,6 +211,12 @@ legacy_write_ivar(device_t dev, device_t case LEGACY_IVAR_PCIBUS: atdev->lg_pcibus = value; break; + case LEGACY_IVAR_PCISLOT: + atdev->lg_pcislot = value; + break; + case LEGACY_IVAR_PCIFUNC: + atdev->lg_pcifunc = value; + break; default: return ENOENT; } Modified: stable/8/sys/amd64/include/legacyvar.h ============================================================================== --- stable/8/sys/amd64/include/legacyvar.h Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/amd64/include/legacyvar.h Wed Apr 11 20:55:21 2012 (r234151) @@ -31,7 +31,9 @@ enum legacy_device_ivars { LEGACY_IVAR_PCIDOMAIN, - LEGACY_IVAR_PCIBUS + LEGACY_IVAR_PCIBUS, + LEGACY_IVAR_PCISLOT, + LEGACY_IVAR_PCIFUNC }; #define LEGACY_ACCESSOR(var, ivar, type) \ @@ -39,6 +41,8 @@ enum legacy_device_ivars { LEGACY_ACCESSOR(pcidomain, PCIDOMAIN, uint32_t) LEGACY_ACCESSOR(pcibus, PCIBUS, uint32_t) +LEGACY_ACCESSOR(pcislot, PCISLOT, int) +LEGACY_ACCESSOR(pcifunc, PCIFUNC, int) #undef LEGACY_ACCESSOR @@ -53,5 +57,7 @@ int legacy_pcib_write_ivar(device_t dev, uintptr_t value); struct resource *legacy_pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags); +int legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, + uint64_t *addr, uint32_t *data); #endif /* !_MACHINE_LEGACYVAR_H_ */ Modified: stable/8/sys/amd64/pci/pci_bus.c ============================================================================== --- stable/8/sys/amd64/pci/pci_bus.c Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/amd64/pci/pci_bus.c Wed Apr 11 20:55:21 2012 (r234151) @@ -104,14 +104,28 @@ legacy_pcib_alloc_msix(device_t pcib, de return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); } -static int +int legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) { - device_t bus; + device_t bus, hostb; + int error, func, slot; bus = device_get_parent(pcib); - return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); + error = PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data); + if (error) + return (error); + + slot = legacy_get_pcislot(pcib); + func = legacy_get_pcifunc(pcib); + if (slot == -1 || func == -1) + return (0); + hostb = pci_find_bsf(0, slot, func); + KASSERT(hostb != NULL, ("%s: missing hostb for 0:%d:%d", __func__, + slot, func)); + pci_ht_map_msi(hostb, *addr); + return (0); + } static const char * @@ -225,6 +239,8 @@ legacy_pcib_identify(driver_t *driver, d "pcib", busnum); device_set_desc(child, s); legacy_set_pcibus(child, busnum); + legacy_set_pcislot(child, slot); + legacy_set_pcifunc(child, func); found = 1; if (id == 0x12258086) Modified: stable/8/sys/dev/acpica/acpi_pcib_acpi.c ============================================================================== --- stable/8/sys/dev/acpica/acpi_pcib_acpi.c Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/dev/acpica/acpi_pcib_acpi.c Wed Apr 11 20:55:21 2012 (r234151) @@ -58,8 +58,9 @@ struct acpi_hpcib_softc { ACPI_HANDLE ap_handle; int ap_flags; - int ap_segment; /* analagous to Alpha 'hose' */ + int ap_segment; /* PCI domain */ int ap_bus; /* bios-assigned bus number */ + int ap_addr; /* device/func of PCI-Host bridge */ ACPI_BUFFER ap_prt; /* interrupt routing table */ }; @@ -153,7 +154,7 @@ acpi_pcib_acpi_attach(device_t dev) struct acpi_hpcib_softc *sc; ACPI_STATUS status; static int bus0_seen = 0; - u_int addr, slot, func, busok; + u_int slot, func, busok; uint8_t busno; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); @@ -163,7 +164,7 @@ acpi_pcib_acpi_attach(device_t dev) sc->ap_handle = acpi_get_handle(dev); /* - * Get our segment number by evaluating _SEG + * Get our segment number by evaluating _SEG. * It's OK for this to not exist. */ status = acpi_GetInteger(sc->ap_handle, "_SEG", &sc->ap_segment); @@ -178,6 +179,18 @@ acpi_pcib_acpi_attach(device_t dev) } /* + * Get the address (device and function) of the associated + * PCI-Host bridge device from _ADR. Assume we don't have one if + * it doesn't exist. + */ + status = acpi_GetInteger(sc->ap_handle, "_ADR", &sc->ap_addr); + if (ACPI_FAILURE(status)) { + device_printf(dev, "could not evaluate _ADR - %s\n", + AcpiFormatException(status)); + sc->ap_addr = -1; + } + + /* * Get our base bus number by evaluating _BBN. * If this doesn't work, we assume we're bus number 0. * @@ -215,18 +228,10 @@ acpi_pcib_acpi_attach(device_t dev) busok = 1; if (sc->ap_segment == 0 && sc->ap_bus == 0 && bus0_seen) { busok = 0; - status = acpi_GetInteger(sc->ap_handle, "_ADR", &addr); - if (ACPI_FAILURE(status)) { - if (status != AE_NOT_FOUND) { - device_printf(dev, "could not evaluate _ADR - %s\n", - AcpiFormatException(status)); - return_VALUE (ENXIO); - } else - device_printf(dev, "couldn't find _ADR\n"); - } else { + if (sc->ap_addr != -1) { /* XXX: We assume bus 0. */ - slot = ACPI_ADR_PCI_SLOT(addr); - func = ACPI_ADR_PCI_FUNC(addr); + slot = ACPI_ADR_PCI_SLOT(sc->ap_addr); + func = ACPI_ADR_PCI_FUNC(sc->ap_addr); if (bootverbose) device_printf(dev, "reading config registers from 0:%d:%d\n", slot, func); @@ -349,10 +354,24 @@ static int acpi_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) { - device_t bus; + struct acpi_hpcib_softc *sc; + device_t bus, hostb; + int error; bus = device_get_parent(pcib); - return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); + error = PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data); + if (error) + return (error); + + sc = device_get_softc(dev); + if (sc->ap_addr == -1) + return (0); + /* XXX: Assumes all bridges are on bus 0. */ + hostb = pci_find_dbsf(sc->ap_segment, 0, ACPI_ADR_PCI_SLOT(sc->ap_addr), + ACPI_ADR_PCI_FUNC(sc->ap_addr)); + if (hostb != NULL) + pci_ht_map_msi(hostb, *addr); + return (0); } static u_long acpi_host_mem_start = 0x80000000; Modified: stable/8/sys/dev/pci/pci.c ============================================================================== --- stable/8/sys/dev/pci/pci.c Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/dev/pci/pci.c Wed Apr 11 20:55:21 2012 (r234151) @@ -632,10 +632,14 @@ pci_read_cap(device_t pcib, pcicfgregs * cfg->pp.pp_data = ptr + PCIR_POWER_DATA; } break; -#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) case PCIY_HT: /* HyperTransport */ /* Determine HT-specific capability type. */ val = REG(ptr + PCIR_HT_COMMAND, 2); + + if ((val & 0xe000) == PCIM_HTCAP_SLAVE) + cfg->ht.ht_slave = ptr; + +#if defined(__i386__) || defined(__amd64__) || defined(__powerpc__) switch (val & PCIM_HTCMD_CAP_MASK) { case PCIM_HTCAP_MSI_MAPPING: if (!(val & PCIM_HTCMD_MSI_FIXED)) { @@ -647,7 +651,7 @@ pci_read_cap(device_t pcib, pcicfgregs * 4); if (addr != MSI_INTEL_ADDR_BASE) device_printf(pcib, - "HT Bridge at pci%d:%d:%d:%d has non-default MSI window 0x%llx\n", + "HT device at pci%d:%d:%d:%d has non-default MSI window 0x%llx\n", cfg->domain, cfg->bus, cfg->slot, cfg->func, (long long)addr); @@ -659,8 +663,8 @@ pci_read_cap(device_t pcib, pcicfgregs * cfg->ht.ht_msiaddr = addr; break; } - break; #endif + break; case PCIY_MSI: /* PCI MSI */ cfg->msi.msi_location = ptr; cfg->msi.msi_ctrl = REG(ptr + PCIR_MSI_CTRL, 2); @@ -714,6 +718,23 @@ pci_read_cap(device_t pcib, pcicfgregs * break; } } + +#if defined(__powerpc__) + /* + * Enable the MSI mapping window for all HyperTransport + * slaves. PCI-PCI bridges have their windows enabled via + * PCIB_MAP_MSI(). + */ + if (cfg->ht.ht_slave != 0 && cfg->ht.ht_msimap != 0 && + !(cfg->ht.ht_msictrl & PCIM_HTCMD_MSI_ENABLE)) { + device_printf(pcib, + "Enabling MSI window for HyperTransport slave at pci%d:%d:%d:%d\n", + cfg->domain, cfg->bus, cfg->slot, cfg->func); + cfg->ht.ht_msictrl |= PCIM_HTCMD_MSI_ENABLE; + WREG(cfg->ht.ht_msimap + PCIR_HT_COMMAND, cfg->ht.ht_msictrl, + 2); + } +#endif /* REG and WREG use carry through to next functions */ } Modified: stable/8/sys/dev/pci/pcivar.h ============================================================================== --- stable/8/sys/dev/pci/pcivar.h Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/dev/pci/pcivar.h Wed Apr 11 20:55:21 2012 (r234151) @@ -110,6 +110,7 @@ struct pcicfg_msix { /* Interesting values for HyperTransport */ struct pcicfg_ht { + uint8_t ht_slave; /* Non-zero if device is an HT slave. */ uint8_t ht_msimap; /* Offset of MSI mapping cap registers. */ uint16_t ht_msictrl; /* MSI mapping control */ uint64_t ht_msiaddr; /* MSI mapping base address */ Modified: stable/8/sys/i386/i386/legacy.c ============================================================================== --- stable/8/sys/i386/i386/legacy.c Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/i386/i386/legacy.c Wed Apr 11 20:55:21 2012 (r234151) @@ -57,7 +57,9 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_LEGACYDEV, "legacydrv", "legacy system device"); struct legacy_device { - int lg_pcibus; + int lg_pcibus; + int lg_pcislot; + int lg_pcifunc; }; #define DEVTOAT(dev) ((struct legacy_device *)device_get_ivars(dev)) @@ -181,6 +183,8 @@ legacy_add_child(device_t bus, u_int ord if (atdev == NULL) return(NULL); atdev->lg_pcibus = -1; + atdev->lg_pcislot = -1; + atdev->lg_pcifunc = -1; child = device_add_child_ordered(bus, order, name, unit); if (child == NULL) @@ -204,6 +208,12 @@ legacy_read_ivar(device_t dev, device_t case LEGACY_IVAR_PCIBUS: *result = atdev->lg_pcibus; break; + case LEGACY_IVAR_PCISLOT: + *result = atdev->lg_pcislot; + break; + case LEGACY_IVAR_PCIFUNC: + *result = atdev->lg_pcifunc; + break; default: return ENOENT; } @@ -222,6 +232,12 @@ legacy_write_ivar(device_t dev, device_t case LEGACY_IVAR_PCIBUS: atdev->lg_pcibus = value; break; + case LEGACY_IVAR_PCISLOT: + atdev->lg_pcislot = value; + break; + case LEGACY_IVAR_PCIFUNC: + atdev->lg_pcifunc = value; + break; default: return ENOENT; } Modified: stable/8/sys/i386/include/legacyvar.h ============================================================================== --- stable/8/sys/i386/include/legacyvar.h Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/i386/include/legacyvar.h Wed Apr 11 20:55:21 2012 (r234151) @@ -31,7 +31,9 @@ enum legacy_device_ivars { LEGACY_IVAR_PCIDOMAIN, - LEGACY_IVAR_PCIBUS + LEGACY_IVAR_PCIBUS, + LEGACY_IVAR_PCISLOT, + LEGACY_IVAR_PCIFUNC }; #define LEGACY_ACCESSOR(var, ivar, type) \ @@ -39,6 +41,8 @@ enum legacy_device_ivars { LEGACY_ACCESSOR(pcidomain, PCIDOMAIN, uint32_t) LEGACY_ACCESSOR(pcibus, PCIBUS, uint32_t) +LEGACY_ACCESSOR(pcislot, PCISLOT, int) +LEGACY_ACCESSOR(pcifunc, PCIFUNC, int) #undef LEGACY_ACCESSOR @@ -53,5 +57,7 @@ int legacy_pcib_write_ivar(device_t dev, uintptr_t value); struct resource *legacy_pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags); +int legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, + uint64_t *addr, uint32_t *data); #endif /* !_MACHINE_LEGACYVAR_H_ */ Modified: stable/8/sys/i386/pci/pci_bus.c ============================================================================== --- stable/8/sys/i386/pci/pci_bus.c Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/i386/pci/pci_bus.c Wed Apr 11 20:55:21 2012 (r234151) @@ -100,14 +100,28 @@ legacy_pcib_alloc_msix(device_t pcib, de return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); } -static int +int legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) { - device_t bus; + device_t bus, hostb; + int error, func, slot; bus = device_get_parent(pcib); - return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); + error = PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data); + if (error) + return (error); + + slot = legacy_get_pcislot(pcib); + func = legacy_get_pcifunc(pcib); + if (slot == -1 || func == -1) + return (0); + hostb = pci_find_bsf(0, slot, func); + KASSERT(hostb != NULL, ("%s: missing hostb for 0:%d:%d", __func__, + slot, func)); + pci_ht_map_msi(hostb, *addr); + return (0); + } static const char * @@ -432,6 +446,8 @@ legacy_pcib_identify(driver_t *driver, d "pcib", busnum); device_set_desc(child, s); legacy_set_pcibus(child, busnum); + legacy_set_pcislot(child, slot); + legacy_set_pcifunc(child, func); found = 1; if (id == 0x12258086) Modified: stable/8/sys/x86/x86/mptable_pci.c ============================================================================== --- stable/8/sys/x86/x86/mptable_pci.c Wed Apr 11 20:50:17 2012 (r234150) +++ stable/8/sys/x86/x86/mptable_pci.c Wed Apr 11 20:55:21 2012 (r234151) @@ -94,16 +94,6 @@ mptable_hostb_alloc_msix(device_t pcib, return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); } -static int -mptable_hostb_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, - uint32_t *data) -{ - device_t bus; - - bus = device_get_parent(pcib); - return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); -} - static device_method_t mptable_hostb_methods[] = { /* Device interface */ DEVMETHOD(device_probe, mptable_hostb_probe), @@ -132,7 +122,7 @@ static device_method_t mptable_hostb_met DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, mptable_hostb_alloc_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), - DEVMETHOD(pcib_map_msi, mptable_hostb_map_msi), + DEVMETHOD(pcib_map_msi, legacy_pcib_map_msi), DEVMETHOD_END }; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 20:57:42 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13623106566B; Wed, 11 Apr 2012 20:57:42 +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 E8CD58FC14; Wed, 11 Apr 2012 20:57:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BKvfmR095443; Wed, 11 Apr 2012 20:57:41 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BKvfoA095440; Wed, 11 Apr 2012 20:57:41 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112057.q3BKvfoA095440@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 20:57:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234152 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 20:57:42 -0000 Author: jhb Date: Wed Apr 11 20:57:41 2012 New Revision: 234152 URL: http://svn.freebsd.org/changeset/base/234152 Log: Allow device_busy() and device_unbusy() to be invoked while a device is being attached. This is implemented by adding a new DS_ATTACHING state while a device's DEVICE_ATTACH() method is being invoked. A driver is required to not fail an attach of a busy device. The device's state will be promoted to DS_BUSY rather than DS_ACTIVE() if the device was marked busy during DEVICE_ATTACH(). Reviewed by: kib MFC after: 1 week Modified: head/sys/kern/subr_bus.c head/sys/sys/bus.h Modified: head/sys/kern/subr_bus.c ============================================================================== --- head/sys/kern/subr_bus.c Wed Apr 11 20:55:21 2012 (r234151) +++ head/sys/kern/subr_bus.c Wed Apr 11 20:57:41 2012 (r234152) @@ -2472,12 +2472,13 @@ device_disable(device_t dev) void device_busy(device_t dev) { - if (dev->state < DS_ATTACHED) + if (dev->state < DS_ATTACHING) panic("device_busy: called for unattached device"); if (dev->busy == 0 && dev->parent) device_busy(dev->parent); dev->busy++; - dev->state = DS_BUSY; + if (dev->state == DS_ATTACHED) + dev->state = DS_BUSY; } /** @@ -2486,14 +2487,16 @@ device_busy(device_t dev) void device_unbusy(device_t dev) { - if (dev->state != DS_BUSY) + if (dev->busy != 0 && dev->state != DS_BUSY && + dev->state != DS_ATTACHING) panic("device_unbusy: called for non-busy device %s", device_get_nameunit(dev)); dev->busy--; if (dev->busy == 0) { if (dev->parent) device_unbusy(dev->parent); - dev->state = DS_ATTACHED; + if (dev->state == DS_BUSY) + dev->state = DS_ATTACHED; } } @@ -2729,6 +2732,7 @@ device_attach(device_t dev) device_sysctl_init(dev); if (!device_is_quiet(dev)) device_print_child(dev->parent, dev); + dev->state = DS_ATTACHING; if ((error = DEVICE_ATTACH(dev)) != 0) { printf("device_attach: %s%d attach returned %d\n", dev->driver->name, dev->unit, error); @@ -2736,11 +2740,15 @@ device_attach(device_t dev) devclass_delete_device(dev->devclass, dev); (void)device_set_driver(dev, NULL); device_sysctl_fini(dev); + KASSERT(dev->busy == 0, ("attach failed but busy")); dev->state = DS_NOTPRESENT; return (error); } device_sysctl_update(dev); - dev->state = DS_ATTACHED; + if (dev->busy) + dev->state = DS_BUSY; + else + dev->state = DS_ATTACHED; dev->flags &= ~DF_DONENOMATCH; devadded(dev); return (0); Modified: head/sys/sys/bus.h ============================================================================== --- head/sys/sys/bus.h Wed Apr 11 20:55:21 2012 (r234151) +++ head/sys/sys/bus.h Wed Apr 11 20:57:41 2012 (r234152) @@ -52,6 +52,7 @@ struct u_businfo { typedef enum device_state { DS_NOTPRESENT = 10, /**< @brief not probed or probe failed */ DS_ALIVE = 20, /**< @brief probe succeeded */ + DS_ATTACHING = 25, /**< @brief currently attaching */ DS_ATTACHED = 30, /**< @brief attach method called */ DS_BUSY = 40 /**< @brief device is open */ } device_state_t; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 21:00:34 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D7741065677; Wed, 11 Apr 2012 21:00:34 +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 1EAD78FC16; Wed, 11 Apr 2012 21:00: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 q3BL0XR7095591; Wed, 11 Apr 2012 21:00:33 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BL0Xs9095589; Wed, 11 Apr 2012 21:00:33 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112100.q3BL0Xs9095589@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 21:00:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234153 - head/sys/x86/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 21:00:34 -0000 Author: jhb Date: Wed Apr 11 21:00:33 2012 New Revision: 234153 URL: http://svn.freebsd.org/changeset/base/234153 Log: Trim stray blank line. Modified: head/sys/x86/pci/pci_bus.c Modified: head/sys/x86/pci/pci_bus.c ============================================================================== --- head/sys/x86/pci/pci_bus.c Wed Apr 11 20:57:41 2012 (r234152) +++ head/sys/x86/pci/pci_bus.c Wed Apr 11 21:00:33 2012 (r234153) @@ -133,7 +133,6 @@ legacy_pcib_map_msi(device_t pcib, devic slot, func)); pci_ht_map_msi(hostb, *addr); return (0); - } static const char * From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 21:33:46 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5233A1065680; Wed, 11 Apr 2012 21:33:46 +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 324E58FC16; Wed, 11 Apr 2012 21:33: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 q3BLXkDW096690; Wed, 11 Apr 2012 21:33:46 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BLXjgZ096687; Wed, 11 Apr 2012 21:33:45 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204112133.q3BLXjgZ096687@svn.freebsd.org> From: John Baldwin Date: Wed, 11 Apr 2012 21:33:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234154 - head/sys/dev/e1000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 21:33:46 -0000 Author: jhb Date: Wed Apr 11 21:33:45 2012 New Revision: 234154 URL: http://svn.freebsd.org/changeset/base/234154 Log: Reapply r223198 which was reverted in the previous vendor import. Some portions were already reapplied in r233708: - Use a dedicated task to handle deferred transmits from the if_transmit method instead of reusing the existing per-queue interrupt task. Reusing the per-queue interrupt task could result in both an interrupt thread and the taskqueue thread trying to handle received packets on a single queue resulting in out-of-order packet processing. - Call ether_ifdetach() earlier in igb_detach(). - Drain tasks and free taskqueues during igb_detach(). MFC after: 1 week Modified: head/sys/dev/e1000/if_igb.c head/sys/dev/e1000/if_igb.h Modified: head/sys/dev/e1000/if_igb.c ============================================================================== --- head/sys/dev/e1000/if_igb.c Wed Apr 11 21:00:33 2012 (r234153) +++ head/sys/dev/e1000/if_igb.c Wed Apr 11 21:33:45 2012 (r234154) @@ -176,6 +176,7 @@ static int igb_mq_start(struct ifnet *, static int igb_mq_start_locked(struct ifnet *, struct tx_ring *, struct mbuf *); static void igb_qflush(struct ifnet *); +static void igb_deferred_mq_start(void *, int); #else static void igb_start(struct ifnet *); static void igb_start_locked(struct tx_ring *, struct ifnet *ifp); @@ -715,6 +716,8 @@ igb_detach(device_t dev) return (EBUSY); } + ether_ifdetach(adapter->ifp); + if (adapter->led_dev != NULL) led_destroy(adapter->led_dev); @@ -746,8 +749,6 @@ igb_detach(device_t dev) if (adapter->vlan_detach != NULL) EVENTHANDLER_DEREGISTER(vlan_unconfig, adapter->vlan_detach); - ether_ifdetach(adapter->ifp); - callout_drain(&adapter->timer); #ifdef DEV_NETMAP @@ -943,7 +944,7 @@ igb_mq_start(struct ifnet *ifp, struct m IGB_TX_UNLOCK(txr); } else { err = drbr_enqueue(ifp, txr->br, m); - taskqueue_enqueue(que->tq, &que->que_task); + taskqueue_enqueue(que->tq, &txr->txq_task); } return (err); @@ -1003,6 +1004,22 @@ igb_mq_start_locked(struct ifnet *ifp, s } /* + * Called from a taskqueue to drain queued transmit packets. + */ +static void +igb_deferred_mq_start(void *arg, int pending) +{ + struct tx_ring *txr = arg; + struct adapter *adapter = txr->adapter; + struct ifnet *ifp = adapter->ifp; + + IGB_TX_LOCK(txr); + if (!drbr_empty(ifp, txr->br)) + igb_mq_start_locked(ifp, txr, NULL); + IGB_TX_UNLOCK(txr); +} + +/* ** Flush all ring buffers */ static void @@ -2382,6 +2399,7 @@ igb_allocate_legacy(struct adapter *adap { device_t dev = adapter->dev; struct igb_queue *que = adapter->queues; + struct tx_ring *txr = adapter->tx_rings; int error, rid = 0; /* Turn off all interrupts */ @@ -2400,6 +2418,10 @@ igb_allocate_legacy(struct adapter *adap return (ENXIO); } +#if __FreeBSD_version >= 800000 + TASK_INIT(&txr->txq_task, 0, igb_deferred_mq_start, txr); +#endif + /* * Try allocating a fast interrupt and the associated deferred * processing contexts. @@ -2473,9 +2495,13 @@ igb_allocate_msix(struct adapter *adapte */ if (adapter->num_queues > 1) bus_bind_intr(dev, que->res, i); +#if __FreeBSD_version >= 800000 + TASK_INIT(&que->txr->txq_task, 0, igb_deferred_mq_start, + que->txr); +#endif /* Make tasklet for deferred handling */ TASK_INIT(&que->que_task, 0, igb_handle_que, que); - que->tq = taskqueue_create_fast("igb_que", M_NOWAIT, + que->tq = taskqueue_create("igb_que", M_NOWAIT, taskqueue_thread_enqueue, &que->tq); taskqueue_start_threads(&que->tq, 1, PI_NET, "%s que", device_get_nameunit(adapter->dev)); @@ -2682,13 +2708,24 @@ igb_free_pci_resources(struct adapter *a else (adapter->msix != 0) ? (rid = 1):(rid = 0); + que = adapter->queues; if (adapter->tag != NULL) { + taskqueue_drain(que->tq, &adapter->link_task); bus_teardown_intr(dev, adapter->res, adapter->tag); adapter->tag = NULL; } if (adapter->res != NULL) bus_release_resource(dev, SYS_RES_IRQ, rid, adapter->res); + for (int i = 0; i < adapter->num_queues; i++, que++) { + if (que->tq != NULL) { +#if __FreeBSD_version >= 800000 + taskqueue_drain(que->tq, &que->txr->txq_task); +#endif + taskqueue_drain(que->tq, &que->que_task); + taskqueue_free(que->tq); + } + } mem: if (adapter->msix) pci_release_msi(dev); Modified: head/sys/dev/e1000/if_igb.h ============================================================================== --- head/sys/dev/e1000/if_igb.h Wed Apr 11 21:00:33 2012 (r234153) +++ head/sys/dev/e1000/if_igb.h Wed Apr 11 21:33:45 2012 (r234154) @@ -301,6 +301,7 @@ struct tx_ring { struct buf_ring *br; #endif bus_dma_tag_t txtag; + struct task txq_task; u32 bytes; u32 packets; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 21:35:14 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFA4F10656A8; Wed, 11 Apr 2012 21:35:14 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 39C678FC16; Wed, 11 Apr 2012 21:35:01 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 8FEA1B94D; Wed, 11 Apr 2012 17:35:00 -0400 (EDT) From: John Baldwin To: Andrey Zonov Date: Wed, 11 Apr 2012 12:02:05 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201204051713.q35HDE3d067735@svn.freebsd.org> <4F848E4B.8020302@zonov.org> In-Reply-To: <4F848E4B.8020302@zonov.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201204111202.05409.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 11 Apr 2012 17:35:00 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233925 - in head: sys/kern sys/sys sys/vm usr.bin/kdump usr.bin/ktrace X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 21:35:14 -0000 On Tuesday, April 10, 2012 3:47:23 pm Andrey Zonov wrote: > On 05.04.2012 21:13, John Baldwin wrote: > > Author: jhb > > Date: Thu Apr 5 17:13:14 2012 > > New Revision: 233925 > > URL: http://svn.freebsd.org/changeset/base/233925 > > > > Log: > > Add new ktrace records for the start and end of VM faults. This gives > > a pair of records similar to syscall entry and return that a user can > > use to determine how long page faults take. The new ktrace records are > > enabled via the 'p' trace type, and are enabled in the default set of > > trace points. > > > > Reviewed by: kib > > MFC after: 2 weeks > > > > Hi John, > > Thanks a lot, this change is very useful! > > And while you are here I would like to show you a patch which adds a > "wmesg" to the context switch tracing. It is not finished, it's just a > concept. Please review it and if you are interesting in that I'll > finish it and will test more widely. Ah, this looks fairly neat. However, I think you will need a few changes: 1) You will want to make kdump handle either the old or new size of struct ktr_csw. (The size of the record is in the header, so as long as you have a 'struct ktr_csw_old' you can handle this fairly easily.) 2) cs->wmesg is never NULL. Instead, it should probably just always print it out. 3) condvar's have a valid wmesg. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 21:56:56 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4A571106566B; Wed, 11 Apr 2012 21:56:56 +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 1BAB38FC14; Wed, 11 Apr 2012 21:56:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BLutq1097433; Wed, 11 Apr 2012 21:56:55 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BLutS8097431; Wed, 11 Apr 2012 21:56:55 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201204112156.q3BLutS8097431@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 11 Apr 2012 21:56:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234155 - head/sys/powerpc/aim X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 21:56:56 -0000 Author: nwhitehorn Date: Wed Apr 11 21:56:55 2012 New Revision: 234155 URL: http://svn.freebsd.org/changeset/base/234155 Log: Only manipulate the PGA_EXECUTABLE flag on managed pages. This is a proxy for whether the page is physical. On dense phys mem systems (32-bit), VM_PHYS_TO_PAGE will not return NULL for device memory pages if device memory is above physical memory even if there is no allocated vm_page. Attempting to use the returned page could then cause either memory corruption or a page fault. Modified: head/sys/powerpc/aim/mmu_oea64.c Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Wed Apr 11 21:33:45 2012 (r234154) +++ head/sys/powerpc/aim/mmu_oea64.c Wed Apr 11 21:56:55 2012 (r234155) @@ -1906,17 +1906,15 @@ moea64_pvo_protect(mmu_t mmu, pmap_t pm /* * If the PVO is in the page table, update that pte as well. */ - if (pt != -1) { + if (pt != -1) MOEA64_PTE_CHANGE(mmu, pt, &pvo->pvo_pte.lpte, pvo->pvo_vpn); - if (pm != kernel_pmap && pg != NULL && - !(pg->aflags & PGA_EXECUTABLE) && - (pvo->pvo_pte.lpte.pte_lo & - (LPTE_I | LPTE_G | LPTE_NOEXEC)) == 0) { + if (pm != kernel_pmap && pg != NULL && !(pg->aflags & PGA_EXECUTABLE) && + (pvo->pvo_pte.lpte.pte_lo & (LPTE_I | LPTE_G | LPTE_NOEXEC)) == 0) { + if ((pg->oflags & VPO_UNMANAGED) == 0) vm_page_aflag_set(pg, PGA_EXECUTABLE); - moea64_syncicache(mmu, pm, PVO_VADDR(pvo), - pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN, PAGE_SIZE); - } + moea64_syncicache(mmu, pm, PVO_VADDR(pvo), + pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN, PAGE_SIZE); } /* @@ -2368,9 +2366,8 @@ moea64_pvo_remove(mmu_t mmu, struct pvo_ */ pg = PHYS_TO_VM_PAGE(pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN); - if ((pvo->pvo_vaddr & PVO_MANAGED) == PVO_MANAGED && - (pvo->pvo_pte.lpte.pte_lo & LPTE_PP) != LPTE_BR) { - if (pg != NULL) { + if ((pvo->pvo_vaddr & PVO_MANAGED) == PVO_MANAGED && pg != NULL) { + if ((pvo->pvo_pte.lpte.pte_lo & LPTE_PP) != LPTE_BR) { if (pvo->pvo_pte.lpte.pte_lo & LPTE_CHG) vm_page_dirty(pg); if (pvo->pvo_pte.lpte.pte_lo & LPTE_REF) @@ -2378,11 +2375,10 @@ moea64_pvo_remove(mmu_t mmu, struct pvo_ if (LIST_EMPTY(vm_page_to_pvoh(pg))) vm_page_aflag_clear(pg, PGA_WRITEABLE); } + if (LIST_EMPTY(vm_page_to_pvoh(pg))) + vm_page_aflag_clear(pg, PGA_EXECUTABLE); } - if (pg != NULL && LIST_EMPTY(vm_page_to_pvoh(pg))) - vm_page_aflag_clear(pg, PGA_EXECUTABLE); - moea64_pvo_entries--; moea64_pvo_remove_calls++; From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 22:23:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 61404106564A; Wed, 11 Apr 2012 22:23:51 +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 426288FC0C; Wed, 11 Apr 2012 22:23:51 +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 q3BMNpZB098396; Wed, 11 Apr 2012 22:23:51 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BMNp6l098391; Wed, 11 Apr 2012 22:23:51 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201204112223.q3BMNp6l098391@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 11 Apr 2012 22:23:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234156 - in head/sys/powerpc: aim include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 22:23:51 -0000 Author: nwhitehorn Date: Wed Apr 11 22:23:50 2012 New Revision: 234156 URL: http://svn.freebsd.org/changeset/base/234156 Log: We don't need kcopy() in any of the remaining places it is used, so remove it. MFC after: 2 weeks Modified: head/sys/powerpc/aim/machdep.c head/sys/powerpc/aim/mmu_oea.c head/sys/powerpc/aim/mmu_oea64.c head/sys/powerpc/include/cpu.h Modified: head/sys/powerpc/aim/machdep.c ============================================================================== --- head/sys/powerpc/aim/machdep.c Wed Apr 11 21:56:55 2012 (r234155) +++ head/sys/powerpc/aim/machdep.c Wed Apr 11 22:23:50 2012 (r234156) @@ -738,36 +738,6 @@ spinlock_exit(void) intr_restore(msr); } -/* - * kcopy(const void *src, void *dst, size_t len); - * - * Copy len bytes from src to dst, aborting if we encounter a fatal - * page fault. - * - * kcopy() _must_ save and restore the old fault handler since it is - * called by uiomove(), which may be in the path of servicing a non-fatal - * page fault. - */ -int -kcopy(const void *src, void *dst, size_t len) -{ - struct thread *td; - faultbuf env, *oldfault; - int rv; - - td = curthread; - oldfault = td->td_pcb->pcb_onfault; - if ((rv = setfault(env)) != 0) { - td->td_pcb->pcb_onfault = oldfault; - return rv; - } - - memcpy(dst, src, len); - - td->td_pcb->pcb_onfault = oldfault; - return (0); -} - int db_trap_glue(struct trapframe *); /* Called from trap_subr.S */ int Modified: head/sys/powerpc/aim/mmu_oea.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea.c Wed Apr 11 21:56:55 2012 (r234155) +++ head/sys/powerpc/aim/mmu_oea.c Wed Apr 11 22:23:50 2012 (r234156) @@ -1023,7 +1023,7 @@ moea_copy_page(mmu_t mmu, vm_page_t msrc dst = VM_PAGE_TO_PHYS(mdst); src = VM_PAGE_TO_PHYS(msrc); - kcopy((void *)src, (void *)dst, PAGE_SIZE); + bcopy((void *)src, (void *)dst, PAGE_SIZE); } /* Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Wed Apr 11 21:56:55 2012 (r234155) +++ head/sys/powerpc/aim/mmu_oea64.c Wed Apr 11 22:23:50 2012 (r234156) @@ -1097,14 +1097,14 @@ moea64_copy_page(mmu_t mmu, vm_page_t ms src = VM_PAGE_TO_PHYS(msrc); if (hw_direct_map) { - kcopy((void *)src, (void *)dst, PAGE_SIZE); + bcopy((void *)src, (void *)dst, PAGE_SIZE); } else { mtx_lock(&moea64_scratchpage_mtx); moea64_set_scratchpage_pa(mmu, 0, src); moea64_set_scratchpage_pa(mmu, 1, dst); - kcopy((void *)moea64_scratchpage_va[0], + bcopy((void *)moea64_scratchpage_va[0], (void *)moea64_scratchpage_va[1], PAGE_SIZE); mtx_unlock(&moea64_scratchpage_mtx); Modified: head/sys/powerpc/include/cpu.h ============================================================================== --- head/sys/powerpc/include/cpu.h Wed Apr 11 21:56:55 2012 (r234155) +++ head/sys/powerpc/include/cpu.h Wed Apr 11 22:23:50 2012 (r234156) @@ -100,6 +100,5 @@ void swi_vm(void *); /* XXX the following should not be here. */ void savectx(struct pcb *); -int kcopy(const void *, void *, size_t); #endif /* _MACHINE_CPU_H_ */ From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 22:43:41 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7B764106566B; Wed, 11 Apr 2012 22:43:41 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6713F8FC0A; Wed, 11 Apr 2012 22:43:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BMhfUX099010; Wed, 11 Apr 2012 22:43:41 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BMhf1E099008; Wed, 11 Apr 2012 22:43:41 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201204112243.q3BMhf1E099008@svn.freebsd.org> From: Kirk McKusick Date: Wed, 11 Apr 2012 22:43:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234157 - head/sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 22:43:41 -0000 Author: mckusick Date: Wed Apr 11 22:43:40 2012 New Revision: 234157 URL: http://svn.freebsd.org/changeset/base/234157 Log: Whitespace cleanup. Modified: head/sys/sys/mount.h Modified: head/sys/sys/mount.h ============================================================================== --- head/sys/sys/mount.h Wed Apr 11 22:23:50 2012 (r234156) +++ head/sys/sys/mount.h Wed Apr 11 22:43:40 2012 (r234157) @@ -199,10 +199,10 @@ void __mnt_vnode_markerfree(str __mnt_vnode_markerfree(&(mvp), (mp)) #define MNT_VNODE_FOREACH_ABORT(mp, mvp) \ - do { \ - MNT_ILOCK(mp); \ - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); \ - MNT_IUNLOCK(mp); \ + do { \ + MNT_ILOCK(mp); \ + MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); \ + MNT_IUNLOCK(mp); \ } while (0) #define MNT_ILOCK(mp) mtx_lock(&(mp)->mnt_mtx) @@ -211,7 +211,7 @@ void __mnt_vnode_markerfree(str #define MNT_MTX(mp) (&(mp)->mnt_mtx) #define MNT_REF(mp) (mp)->mnt_ref++ #define MNT_REL(mp) do { \ - KASSERT((mp)->mnt_ref > 0, ("negative mnt_ref")); \ + KASSERT((mp)->mnt_ref > 0, ("negative mnt_ref")); \ (mp)->mnt_ref--; \ if ((mp)->mnt_ref == 0) \ wakeup((mp)); \ From owner-svn-src-all@FreeBSD.ORG Wed Apr 11 23:01:12 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A60881065673; Wed, 11 Apr 2012 23:01:12 +0000 (UTC) (envelope-from mckusick@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 776528FC18; Wed, 11 Apr 2012 23:01:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3BN1CNm099602; Wed, 11 Apr 2012 23:01:12 GMT (envelope-from mckusick@svn.freebsd.org) Received: (from mckusick@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3BN1Ctn099598; Wed, 11 Apr 2012 23:01:12 GMT (envelope-from mckusick@svn.freebsd.org) Message-Id: <201204112301.q3BN1Ctn099598@svn.freebsd.org> From: Kirk McKusick Date: Wed, 11 Apr 2012 23:01:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234158 - in head/sys: kern sys ufs/ffs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Apr 2012 23:01:12 -0000 Author: mckusick Date: Wed Apr 11 23:01:11 2012 New Revision: 234158 URL: http://svn.freebsd.org/changeset/base/234158 Log: Export vinactive() from kern/vfs_subr.c (e.g., make it no longer static and declare its prototype in sys/vnode.h) so that it can be called from process_deferred_inactive() (in ufs/ffs/ffs_snapshot.c) instead of the body of vinactive() being cut and pasted into process_deferred_inactive(). Reviewed by: kib MFC after: 2 weeks Modified: head/sys/kern/vfs_subr.c head/sys/sys/vnode.h head/sys/ufs/ffs/ffs_snapshot.c Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Wed Apr 11 22:43:40 2012 (r234157) +++ head/sys/kern/vfs_subr.c Wed Apr 11 23:01:11 2012 (r234158) @@ -103,7 +103,6 @@ static int flushbuflist(struct bufv *buf static void syncer_shutdown(void *arg, int howto); static int vtryrecycle(struct vnode *vp); static void vbusy(struct vnode *vp); -static void vinactive(struct vnode *, struct thread *); static void v_incr_usecount(struct vnode *); static void v_decr_usecount(struct vnode *); static void v_decr_useonly(struct vnode *); @@ -2401,7 +2400,7 @@ vdropl(struct vnode *vp) * OWEINACT tracks whether a vnode missed a call to inactive due to a * failed lock upgrade. */ -static void +void vinactive(struct vnode *vp, struct thread *td) { Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Wed Apr 11 22:43:40 2012 (r234157) +++ head/sys/sys/vnode.h Wed Apr 11 23:01:11 2012 (r234158) @@ -632,6 +632,7 @@ int vget(struct vnode *vp, int lockflag, void vgone(struct vnode *vp); void vhold(struct vnode *); void vholdl(struct vnode *); +void vinactive(struct vnode *, struct thread *); int vinvalbuf(struct vnode *vp, int save, int slpflag, int slptimeo); int vtruncbuf(struct vnode *vp, struct ucred *cred, struct thread *td, off_t length, int blksize); Modified: head/sys/ufs/ffs/ffs_snapshot.c ============================================================================== --- head/sys/ufs/ffs/ffs_snapshot.c Wed Apr 11 22:43:40 2012 (r234157) +++ head/sys/ufs/ffs/ffs_snapshot.c Wed Apr 11 23:01:11 2012 (r234158) @@ -2572,20 +2572,9 @@ process_deferred_inactive(struct mount * MNT_ILOCK(mp); continue; } - - VNASSERT((vp->v_iflag & VI_DOINGINACT) == 0, vp, - ("process_deferred_inactive: " - "recursed on VI_DOINGINACT")); - vp->v_iflag |= VI_DOINGINACT; - vp->v_iflag &= ~VI_OWEINACT; - VI_UNLOCK(vp); - (void) VOP_INACTIVE(vp, td); - VI_LOCK(vp); - VNASSERT(vp->v_iflag & VI_DOINGINACT, vp, - ("process_deferred_inactive: lost VI_DOINGINACT")); + vinactive(vp, td); VNASSERT((vp->v_iflag & VI_OWEINACT) == 0, vp, ("process_deferred_inactive: got VI_OWEINACT")); - vp->v_iflag &= ~VI_DOINGINACT; VI_UNLOCK(vp); VOP_UNLOCK(vp, 0); vdrop(vp); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 00:12:18 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 712D31065670; Thu, 12 Apr 2012 00:12:18 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 51C758FC0C; Thu, 12 Apr 2012 00:12:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3C0CIra001895; Thu, 12 Apr 2012 00:12:18 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C0CIJ9001893; Thu, 12 Apr 2012 00:12:18 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204120012.q3C0CIJ9001893@svn.freebsd.org> From: Eitan Adler Date: Thu, 12 Apr 2012 00:12:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234159 - head/share/examples/csh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 00:12:18 -0000 Author: eadler Date: Thu Apr 12 00:12:17 2012 New Revision: 234159 URL: http://svn.freebsd.org/changeset/base/234159 Log: Sort completions Add a new one for sysctl Submitted by: rm (the new completion) Approved by: cperciva (implicit) MFC after: 3 days Modified: head/share/examples/csh/dot.cshrc Modified: head/share/examples/csh/dot.cshrc ============================================================================== --- head/share/examples/csh/dot.cshrc Wed Apr 11 23:01:11 2012 (r234158) +++ head/share/examples/csh/dot.cshrc Thu Apr 12 00:12:17 2012 (r234159) @@ -21,20 +21,20 @@ bindkey "^[[3~" delete-char-or-list-or-e # Make the Ins key work bindkey "\e[2~" overwrite-mode +# Aliases used for completions +alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-name -r | cut -d . -f 1' +alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-`uname -r | cut -d . -f 1`&& pkg_info -E \*' + # Some common completions complete chown 'p/1/u/' -complete man 'C/*/c/' -complete service 'n/*/`service -l`/' -complete service 'c/-/(e l r v)/' 'p/1/`service -l`/' 'n/*/(start stop reload restart status rcvar onestart onestop)/' +complete dd 'c/[io]f=/f/ n/*/"(if of ibs obs bs skip seek count)"/=' +complete kill 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $1}'"'"'`/' +complete killall 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $5}'"'"'`/' complete kldunload 'n@*@`kldstat | awk \{sub\(\/\.ko\/,\"\",\$NF\)\;print\ \$NF\} | grep -v Name` @' complete make 'n@*@`make -pn | sed -n -E "/^[#_.\/[:blank:]]+/d; /=/d; s/[[:blank:]]*:.*//gp;"`@' +complete man 'C/*/c/' complete pkg_delete 'c/-/(i v D n p d f G x X r)/' 'n@*@`ls /var/db/pkg`@' complete pkg_info 'c/-/(a b v p q Q c d D f g i I j k K r R m L s o G O x X e E l t V P)/' 'n@*@`\ls -1 /var/db/pkg | sed s%/var/db/pkg/%%`@' -complete kill 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $1}'"'"'`/' -complete killall 'c/-/S/' 'c/%/j/' 'n/*/`ps -ax | awk '"'"'{print $5}'"'"'`/' -complete dd 'c/[io]f=/f/ n/*/"(if of ibs obs bs skip seek count)"/=' -alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-name -r | cut -d . -f 1' -alias _PKGS_PkGs_PoRtS_ 'awk -F\| \{sub\(\"\/usr\/ports\/\"\,\"\"\,\$2\)\;print\ \$2\} /usr/ports/INDEX-`uname -r | cut -d . -f 1`&& pkg_info -E \*' complete portmaster 'c/--/(always-fetch check-depends check-port-dbdir clean-distfiles \ clean-packages delete-build-only delete-packages force-config help \ index index-first index-only list-origins local-packagedir no-confirm \ @@ -42,6 +42,8 @@ complete portmaster 'c/--/(always-fetc packages-local packages-only show-work update-if-newer version)/' \ 'c/-/(a b B C d D e f F g G h H i l L m n o p r R s t u v w x)/' \ 'n@*@`_PKGS_PkGs_PoRtS_`@' +complete service 'c/-/(e l r v)/' 'p/1/`service -l`/' 'n/*/(start stop reload restart status rcvar onestart onestop)/' +complete sysctl 'n/*/`sysctl -Na`/' # Alternate prompts set prompt = '#' From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 00:38:34 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DB7751065672; Thu, 12 Apr 2012 00:38:34 +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 C426E8FC0A; Thu, 12 Apr 2012 00:38: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 q3C0cYvi002778; Thu, 12 Apr 2012 00:38:34 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C0cYxx002770; Thu, 12 Apr 2012 00:38:34 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201204120038.q3C0cYxx002770@svn.freebsd.org> From: Nathan Whitehorn Date: Thu, 12 Apr 2012 00:38:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234160 - in stable/9/sys: dev/ofw dev/pcf powerpc/ofw sparc64/pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 00:38:35 -0000 Author: nwhitehorn Date: Thu Apr 12 00:38:34 2012 New Revision: 234160 URL: http://svn.freebsd.org/changeset/base/234160 Log: MFC r233018: Make ofw_bus_get_node() consistently return -1 when there is no associated OF node, instead of a random mixture of 0 and -1. Update all checks for 0 to check for -1 instead. Modified: stable/9/sys/dev/ofw/ofw_bus_if.m stable/9/sys/dev/ofw/ofw_bus_subr.c stable/9/sys/dev/ofw/ofw_iicbus.c stable/9/sys/dev/pcf/pcf_ebus.c stable/9/sys/powerpc/ofw/ofw_pcib_pci.c stable/9/sys/powerpc/ofw/ofw_pcibus.c stable/9/sys/sparc64/pci/ofw_pcibus.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/dev/ofw/ofw_bus_if.m ============================================================================== --- stable/9/sys/dev/ofw/ofw_bus_if.m Thu Apr 12 00:12:17 2012 (r234159) +++ stable/9/sys/dev/ofw/ofw_bus_if.m Thu Apr 12 00:38:34 2012 (r234160) @@ -89,7 +89,7 @@ CODE { ofw_bus_default_get_node(device_t bus, device_t dev) { - return (0); + return (-1); } static const char * Modified: stable/9/sys/dev/ofw/ofw_bus_subr.c ============================================================================== --- stable/9/sys/dev/ofw/ofw_bus_subr.c Thu Apr 12 00:12:17 2012 (r234159) +++ stable/9/sys/dev/ofw/ofw_bus_subr.c Thu Apr 12 00:38:34 2012 (r234160) @@ -157,7 +157,7 @@ ofw_bus_is_compatible(device_t dev, cons if ((compat = ofw_bus_get_compat(dev)) == NULL) return (0); - if ((node = ofw_bus_get_node(dev)) == 0) + if ((node = ofw_bus_get_node(dev)) == -1) return (0); /* Get total 'compatible' prop len */ Modified: stable/9/sys/dev/ofw/ofw_iicbus.c ============================================================================== --- stable/9/sys/dev/ofw/ofw_iicbus.c Thu Apr 12 00:12:17 2012 (r234159) +++ stable/9/sys/dev/ofw/ofw_iicbus.c Thu Apr 12 00:38:34 2012 (r234160) @@ -88,7 +88,7 @@ static int ofw_iicbus_probe(device_t dev) { - if (ofw_bus_get_node(dev) == 0) + if (ofw_bus_get_node(dev) == -1) return (ENXIO); device_set_desc(dev, "OFW I2C bus"); Modified: stable/9/sys/dev/pcf/pcf_ebus.c ============================================================================== --- stable/9/sys/dev/pcf/pcf_ebus.c Thu Apr 12 00:12:17 2012 (r234159) +++ stable/9/sys/dev/pcf/pcf_ebus.c Thu Apr 12 00:38:34 2012 (r234160) @@ -147,7 +147,7 @@ pcf_ebus_attach(device_t dev) mtx_init(&sc->pcf_lock, device_get_nameunit(dev), "pcf", MTX_DEF); /* get OFW node of the pcf */ - if ((node = ofw_bus_get_node(dev)) <= 0) { + if ((node = ofw_bus_get_node(dev)) == -1) { device_printf(dev, "cannot get OFW node\n"); goto error; } Modified: stable/9/sys/powerpc/ofw/ofw_pcib_pci.c ============================================================================== --- stable/9/sys/powerpc/ofw/ofw_pcib_pci.c Thu Apr 12 00:12:17 2012 (r234159) +++ stable/9/sys/powerpc/ofw/ofw_pcib_pci.c Thu Apr 12 00:38:34 2012 (r234160) @@ -93,7 +93,7 @@ ofw_pcib_pci_probe(device_t dev) return (ENXIO); } - if (ofw_bus_get_node(dev) == 0) + if (ofw_bus_get_node(dev) == -1) return (ENXIO); device_set_desc(dev, "OFW PCI-PCI bridge"); Modified: stable/9/sys/powerpc/ofw/ofw_pcibus.c ============================================================================== --- stable/9/sys/powerpc/ofw/ofw_pcibus.c Thu Apr 12 00:12:17 2012 (r234159) +++ stable/9/sys/powerpc/ofw/ofw_pcibus.c Thu Apr 12 00:38:34 2012 (r234160) @@ -105,7 +105,7 @@ static int ofw_pcibus_probe(device_t dev) { - if (ofw_bus_get_node(dev) == 0) + if (ofw_bus_get_node(dev) == -1) return (ENXIO); device_set_desc(dev, "OFW PCI bus"); Modified: stable/9/sys/sparc64/pci/ofw_pcibus.c ============================================================================== --- stable/9/sys/sparc64/pci/ofw_pcibus.c Thu Apr 12 00:12:17 2012 (r234159) +++ stable/9/sys/sparc64/pci/ofw_pcibus.c Thu Apr 12 00:38:34 2012 (r234160) @@ -111,7 +111,7 @@ static int ofw_pcibus_probe(device_t dev) { - if (ofw_bus_get_node(dev) == 0) + if (ofw_bus_get_node(dev) == -1) return (ENXIO); device_set_desc(dev, "OFW PCI bus"); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 01:07:17 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E5C89106566B; Thu, 12 Apr 2012 01:07:17 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B74398FC0A; Thu, 12 Apr 2012 01:07:17 +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 q3C17H26003746; Thu, 12 Apr 2012 01:07:17 GMT (envelope-from thompsa@svn.freebsd.org) Received: (from thompsa@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C17H42003743; Thu, 12 Apr 2012 01:07:17 GMT (envelope-from thompsa@svn.freebsd.org) Message-Id: <201204120107.q3C17H42003743@svn.freebsd.org> From: Andrew Thompson Date: Thu, 12 Apr 2012 01:07:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234163 - head/sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 01:07:18 -0000 Author: thompsa Date: Thu Apr 12 01:07:17 2012 New Revision: 234163 URL: http://svn.freebsd.org/changeset/base/234163 Log: Set the proto to LAGG_PROTO_NONE before calling the detach routine so packets are discarded, this is an issue because lacp drops the lock which may allow network threads to access freed memory. Expand the lock coverage so the detach/attach happen atomically. Submitted by: Andrew Boyer (earlier version) Modified: head/sys/net/if_lagg.c Modified: head/sys/net/if_lagg.c ============================================================================== --- head/sys/net/if_lagg.c Thu Apr 12 00:59:30 2012 (r234162) +++ head/sys/net/if_lagg.c Thu Apr 12 01:07:17 2012 (r234163) @@ -950,11 +950,11 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd error = EPROTONOSUPPORT; break; } + LAGG_WLOCK(sc); if (sc->sc_proto != LAGG_PROTO_NONE) { - LAGG_WLOCK(sc); - error = sc->sc_detach(sc); - /* Reset protocol and pointers */ + /* Reset protocol first in case detach unlocks */ sc->sc_proto = LAGG_PROTO_NONE; + error = sc->sc_detach(sc); sc->sc_detach = NULL; sc->sc_start = NULL; sc->sc_input = NULL; @@ -966,10 +966,14 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd sc->sc_lladdr = NULL; sc->sc_req = NULL; sc->sc_portreq = NULL; - LAGG_WUNLOCK(sc); + } else if (sc->sc_input != NULL) { + /* Still detaching */ + error = EBUSY; } - if (error != 0) + if (error != 0) { + LAGG_WUNLOCK(sc); break; + } for (int i = 0; i < (sizeof(lagg_protos) / sizeof(lagg_protos[0])); i++) { if (lagg_protos[i].ti_proto == ra->ra_proto) { @@ -977,7 +981,6 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd printf("%s: using proto %u\n", sc->sc_ifname, lagg_protos[i].ti_proto); - LAGG_WLOCK(sc); sc->sc_proto = lagg_protos[i].ti_proto; if (sc->sc_proto != LAGG_PROTO_NONE) error = lagg_protos[i].ti_attach(sc); @@ -985,6 +988,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd return (error); } } + LAGG_WUNLOCK(sc); error = EPROTONOSUPPORT; break; case SIOCGLAGGFLAGS: From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 01:14:04 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 361D01065673; Thu, 12 Apr 2012 01:14:04 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 088878FC14; Thu, 12 Apr 2012 01:14: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 q3C1E3q7004001; Thu, 12 Apr 2012 01:14:03 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C1E3pi004000; Thu, 12 Apr 2012 01:14:03 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201204120114.q3C1E3pi004000@svn.freebsd.org> From: Doug Barton Date: Thu, 12 Apr 2012 01:14:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234164 - vendor/bind9/dist X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 01:14:04 -0000 Author: dougb Date: Thu Apr 12 01:14:03 2012 New Revision: 234164 URL: http://svn.freebsd.org/changeset/base/234164 Log: The BIND 9.8.2 tarball was re-rolled to remove 9.8.1 release notes. This change was noticed by ISC at: https://lists.isc.org/pipermail/bind-users/2012-April/087345.html and verified by me both by comparing the contents of the old and new distfiles and by verifying the PGP signature on the new distfile. Deleted: vendor/bind9/dist/RELEASE-NOTES-BIND-9.8.1.html vendor/bind9/dist/RELEASE-NOTES-BIND-9.8.1.pdf vendor/bind9/dist/RELEASE-NOTES-BIND-9.8.1.txt vendor/bind9/dist/release-notes.css From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 01:51:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [69.147.83.53]) by hub.freebsd.org (Postfix) with ESMTP id D256F1065675; Thu, 12 Apr 2012 01:51:23 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from opti.dougb.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 0083916456D; Thu, 12 Apr 2012 01:51:00 +0000 (UTC) Date: Wed, 11 Apr 2012 18:51:00 -0700 (PDT) From: Doug Barton To: Stanislav Sedov In-Reply-To: <201204100927.q3A9Rf3r013400@svn.freebsd.org> Message-ID: References: <201204100927.q3A9Rf3r013400@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-message-flag: Outlook -- Not just for spreading viruses anymore! OpenPGP: id=1A1ABC84 Organization: http://SupersetSolutions.com/ MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-318390063-1334195461=:20567" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234093 - in head/etc: defaults rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 01:51:23 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-318390063-1334195461=:20567 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed This script has many problems. First, new scripts in the base should never use BEFORE since this makes debugging rcorder issues harder. Please instead add this to the REQUIRE line in DAEMON. You can use 'service -r' to get an idea of where it will be included at boot time. Second, for new scripts the name of the file, $name, and PROVIDE should all the the same, in this case "kfd". That implies that the rcvar should be kfd_enable unless there is a very good reason for it to be different, which in this case there is not one that I can see. (FYI, the "d" in "kfd" implies "server.") Scripts that start persistent services should always include "KEYWORD: shutdown" so that they get started cleanly. It's not clear to me if this script should also include the nojail keyword. It's also generally a good idea to add a REQUIRE line unless it truly doesn't matter. I guessed at REQUIRE: kerberos ala the kadamind script, if that's wrong please let me know. Next, the arguments in the script, and the script generally, don't follow the default format. It's very helpful when doing mass reviews/updates if the script looks the same as other similar scripts unless there is a good reason for it to be different. The reference at http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/rc-scripts.html should help. It's also unclear why you are unset'ing start_cmd, but not supplying your own start method. The way that you're using kfd_server is also totally wrong, as is hard-coding kfd_flags in the script. If the -i argument is always needed, it should be included in command_args. If it's not always needed, but is generally recommended, you should include it in /etc/defaults/rc.conf so that the user can easily override it. I've assumed the latter, if it should always be included please let me know. Finally, you neglected to update rc.conf.5. The attached patch fixes the problems mentioned above, modulo the rc.conf.5 update which I'll leave to you. In order to avoid inconvenience to those tracking HEAD who want to use this new feature I plan to commit this in the next couple of days if I don't hear from you. In the future it would probably be a good idea to submit patches to freebsd-rc@ for review. hth, Doug On Tue, 10 Apr 2012, Stanislav Sedov wrote: > Author: stas > Date: Tue Apr 10 09:27:41 2012 > New Revision: 234093 > URL: http://svn.freebsd.org/changeset/base/234093 > > Log: > - Add rc.d script for kfd, kerberos forwarded tickets daemon. > > Added: > head/etc/rc.d/kfd (contents, props changed) > Modified: > head/etc/defaults/rc.conf > head/etc/rc.d/Makefile > > Modified: head/etc/defaults/rc.conf > ============================================================================== > --- head/etc/defaults/rc.conf Tue Apr 10 07:38:58 2012 (r234092) > +++ head/etc/defaults/rc.conf Tue Apr 10 09:27:41 2012 (r234093) > @@ -297,6 +297,8 @@ kadmind5_server_enable="NO" # Run kadmin > kadmind5_server="/usr/libexec/kadmind" # path to kerberos 5 admin daemon > kpasswdd_server_enable="NO" # Run kpasswdd (or NO) > kpasswdd_server="/usr/libexec/kpasswdd" # path to kerberos 5 passwd daemon > +kfd_server_enable="NO" # Run kfd (or NO) > +kfd_server="/usr/libexec/kfd" # path to kerberos 5 kfd daemon > > gssd_enable="NO" # Run the gssd daemon (or NO). > gssd_flags="" # Flags for gssd. > > Modified: head/etc/rc.d/Makefile > ============================================================================== > --- head/etc/rc.d/Makefile Tue Apr 10 07:38:58 2012 (r234092) > +++ head/etc/rc.d/Makefile Tue Apr 10 09:27:41 2012 (r234093) > @@ -66,6 +66,7 @@ FILES= DAEMON \ > kadmind \ > kerberos \ > keyserv \ > + kfd \ > kld \ > kldxref \ > kpasswdd \ > > Added: head/etc/rc.d/kfd > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/etc/rc.d/kfd Tue Apr 10 09:27:41 2012 (r234093) > @@ -0,0 +1,19 @@ > +#!/bin/sh > +# > +# $FreeBSD$ > +# > + > +# PROVIDE: kfd > +# BEFORE: DAEMON > + > +. /etc/rc.subr > + > +name="kfd" > +load_rc_config $name > +rcvar="kfd_server_enable" > +unset start_cmd > +command="${kfd_server}" > +kfd_flags="-i" > +command_args="&" > + > +run_rc_command "$1" > > -- It's always a long day; 86400 doesn't fit into a short. Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ --0-318390063-1334195461=:20567 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=kfd-rcd.diff Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=kfd-rcd.diff SW5kZXg6IGRlZmF1bHRzL3JjLmNvbmYNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCi0tLSBkZWZhdWx0cy9yYy5jb25mCShyZXZpc2lvbiAyMzQxNjQpDQor KysgZGVmYXVsdHMvcmMuY29uZgkod29ya2luZyBjb3B5KQ0KQEAgLTI5Nyw4 ICsyOTcsOSBAQA0KIGthZG1pbmQ1X3NlcnZlcj0iL3Vzci9saWJleGVjL2th ZG1pbmQiCSMgcGF0aCB0byBrZXJiZXJvcyA1IGFkbWluIGRhZW1vbg0KIGtw YXNzd2RkX3NlcnZlcl9lbmFibGU9Ik5PIgkjIFJ1biBrcGFzc3dkZCAob3Ig Tk8pDQoga3Bhc3N3ZGRfc2VydmVyPSIvdXNyL2xpYmV4ZWMva3Bhc3N3ZGQi CSMgcGF0aCB0byBrZXJiZXJvcyA1IHBhc3N3ZCBkYWVtb24NCi1rZmRfc2Vy dmVyX2VuYWJsZT0iTk8iCQkjIFJ1biBrZmQgKG9yIE5PKQ0KLWtmZF9zZXJ2 ZXI9Ii91c3IvbGliZXhlYy9rZmQiCSMgcGF0aCB0byBrZXJiZXJvcyA1IGtm ZCBkYWVtb24NCitrZmRfZW5hYmxlPSJOTyIgCQkjIFJ1biBrZmQgKG9yIE5P KQ0KK2tmZF9wcm9ncmFtPSIvdXNyL2xpYmV4ZWMva2ZkIgkjIFBhdGggdG8g a2VyYmVyb3MgNSBrZmQgZGFlbW9uDQora2ZkX2ZsYWdzPSItaSINCiANCiBn c3NkX2VuYWJsZT0iTk8iCQkjIFJ1biB0aGUgZ3NzZCBkYWVtb24gKG9yIE5P KS4NCiBnc3NkX2ZsYWdzPSIiCQkJIyBGbGFncyBmb3IgZ3NzZC4NCkluZGV4 OiByYy5kL2tmZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHJjLmQv a2ZkCShyZXZpc2lvbiAyMzQxNjQpDQorKysgcmMuZC9rZmQJKHdvcmtpbmcg Y29weSkNCkBAIC0xLDE5ICsxLDIwIEBADQogIyEvYmluL3NoDQotIw0KKw0K ICMgJEZyZWVCU0QkDQogIw0KLQ0KICMgUFJPVklERToga2ZkDQotIyBCRUZP UkU6IERBRU1PTg0KKyMgUkVRVUlSRToga2VyYmVyb3MNCisjIEtFWVdPUkQ6 IHNodXRkb3duDQogDQogLiAvZXRjL3JjLnN1YnINCiANCi1uYW1lPSJrZmQi DQorbmFtZT1rZmQNCityY3Zhcj1rZmRfZW5hYmxlDQorDQogbG9hZF9yY19j b25maWcgJG5hbWUNCi1yY3Zhcj0ia2ZkX3NlcnZlcl9lbmFibGUiDQotdW5z ZXQgc3RhcnRfY21kDQotY29tbWFuZD0iJHtrZmRfc2VydmVyfSINCi1rZmRf ZmxhZ3M9Ii1pIg0KKw0KKyMgdW5zZXQgc3RhcnRfY21kID8/Pw0KKw0KIGNv bW1hbmRfYXJncz0iJiINCiANCiBydW5fcmNfY29tbWFuZCAiJDEiDQpJbmRl eDogcmMuZC9EQUVNT04NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBy Yy5kL0RBRU1PTgkocmV2aXNpb24gMjM0MTY0KQ0KKysrIHJjLmQvREFFTU9O CSh3b3JraW5nIGNvcHkpDQpAQCAtNCw3ICs0LDcgQEANCiAjDQogDQogIyBQ Uk9WSURFOiBEQUVNT04NCi0jIFJFUVVJUkU6IE5FVFdPUktJTkcgU0VSVkVS Uw0KKyMgUkVRVUlSRTogTkVUV09SS0lORyBTRVJWRVJTIGtmZA0KIA0KICMJ VGhpcyBpcyBhIGR1bW15IGRlcGVuZGVuY3ksIHRvIGVuc3VyZSB0aGF0IGdl bmVyYWwgcHVycG9zZSBkYWVtb25zDQogIwlhcmUgcnVuIF9hZnRlcl8gdGhl IGFib3ZlIGFyZS4NCg== --0-318390063-1334195461=:20567-- From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 01:53:34 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 55AB1106566C; Thu, 12 Apr 2012 01:53:34 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3F3C08FC0C; Thu, 12 Apr 2012 01:53: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 q3C1rYv0005329; Thu, 12 Apr 2012 01:53:34 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C1rYlk005327; Thu, 12 Apr 2012 01:53:34 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201204120153.q3C1rYlk005327@svn.freebsd.org> From: Doug Barton Date: Thu, 12 Apr 2012 01:53:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234165 - in head: contrib/bind9 share/doc/bind9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 01:53:34 -0000 Author: dougb Date: Thu Apr 12 01:53:33 2012 New Revision: 234165 URL: http://svn.freebsd.org/changeset/base/234165 Log: The BIND 9.8.2 tarball was re-rolled to remove 9.8.1 release notes. This change was noticed by ISC at: https://lists.isc.org/pipermail/bind-users/2012-April/087345.html and verified by me both by comparing the contents of the old and new distfiles and by verifying the PGP signature on the new distfile. Deleted: head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.html head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.pdf head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.txt head/contrib/bind9/release-notes.css Modified: head/share/doc/bind9/Makefile Directory Properties: head/contrib/bind9/ (props changed) Modified: head/share/doc/bind9/Makefile ============================================================================== --- head/share/doc/bind9/Makefile Thu Apr 12 01:14:03 2012 (r234164) +++ head/share/doc/bind9/Makefile Thu Apr 12 01:53:33 2012 (r234165) @@ -8,9 +8,7 @@ SRCDIR= ${BIND_DIR}/doc NO_OBJ= FILESGROUPS= TOP ARM MISC -TOP= CHANGES COPYRIGHT FAQ HISTORY README \ - RELEASE-NOTES-BIND-9.8.1.pdf RELEASE-NOTES-BIND-9.8.1.txt \ - RELEASE-NOTES-BIND-9.8.1.html release-notes.css +TOP= CHANGES COPYRIGHT FAQ HISTORY README TOPDIR= ${DOCDIR}/bind9 ARM= Bv9ARM.ch01.html Bv9ARM.ch02.html Bv9ARM.ch03.html \ Bv9ARM.ch04.html Bv9ARM.ch05.html Bv9ARM.ch06.html \ From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 01:57:26 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id 43B981065697; Thu, 12 Apr 2012 01:57:26 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from opti.dougb.net (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 3110C1631D2; Thu, 12 Apr 2012 01:57:24 +0000 (UTC) Date: Wed, 11 Apr 2012 18:57:23 -0700 (PDT) From: Doug Barton To: Stanislav Sedov In-Reply-To: Message-ID: References: <201204100927.q3A9Rf3r013400@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-message-flag: Outlook -- Not just for spreading viruses anymore! OpenPGP: id=1A1ABC84 Organization: http://SupersetSolutions.com/ MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234093 - in head/etc: defaults rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 01:57:26 -0000 On Wed, 11 Apr 2012, Doug Barton wrote: > Scripts that start persistent services should always include "KEYWORD: > shutdown" so that they get started cleanly. Sorry, that's "so that they get shut down cleanly." Doug From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 03:25:47 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 785D5106566C; Thu, 12 Apr 2012 03:25:47 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 3ACEB8FC14; Thu, 12 Apr 2012 03:25:47 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q3C3PfOr029778; Wed, 11 Apr 2012 23:25:41 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q3C3PfdN029777; Wed, 11 Apr 2012 23:25:41 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Date: Wed, 11 Apr 2012 23:25:41 -0400 From: David Schultz To: David Chisnall Message-ID: <20120412032541.GA29711@zim.MIT.EDU> Mail-Followup-To: David Chisnall , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201203131414.q2DEEDBR048510@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201203131414.q2DEEDBR048510@svn.freebsd.org> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r232926 - in head: include/xlocale lib/libc/locale X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 03:25:47 -0000 On Tue, Mar 13, 2012, David Chisnall wrote: > Modified: head/lib/libc/locale/Symbol.map > ============================================================================== > --- head/lib/libc/locale/Symbol.map Tue Mar 13 14:10:33 2012 (r232925) > +++ head/lib/libc/locale/Symbol.map Tue Mar 13 14:14:13 2012 (r232926) > @@ -60,9 +60,13 @@ FBSD_1.0 { > nextwctype; > nl_langinfo; > __maskrune; > + __maskrune_l; > __sbmaskrune; > + __sbmaskrune_l; > __istype; > + __istype_l; > __sbistype; > + __sbistype_l; > __isctype; > __toupper; > __sbtoupper; (still a month behind on commit mail) This doesn't look right; new symbols should be in the FBSD_1.3 namespace, not FBSD_1.0. Here is the symbol versioning documentation, if you care: http://people.freebsd.org/~deischen/symver/freebsd_versioning.txt From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 03:35:53 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A349A106564A; Thu, 12 Apr 2012 03:35:53 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 4B6848FC0A; Thu, 12 Apr 2012 03:35:53 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q3C3ZqJo029947; Wed, 11 Apr 2012 23:35:52 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q3C3Zqkw029946; Wed, 11 Apr 2012 23:35:52 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Date: Wed, 11 Apr 2012 23:35:52 -0400 From: David Schultz To: David Chisnall Message-ID: <20120412033552.GB29711@zim.MIT.EDU> Mail-Followup-To: David Chisnall , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201203132002.q2DK2g0K060213@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201203132002.q2DK2g0K060213@svn.freebsd.org> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r232935 - head/lib/libc/locale X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 03:35:53 -0000 On Tue, Mar 13, 2012, David Chisnall wrote: > Author: theraven > Date: Tue Mar 13 20:02:41 2012 > New Revision: 232935 > URL: http://svn.freebsd.org/changeset/base/232935 > > Log: > First set of xlocale man pages. More to follow... Thanks! By the way, it's customary to bump the date on the manpage if there are significant changes, such as the addition of a new function. From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 06:24:48 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6BF9F1065670; Thu, 12 Apr 2012 06:24:48 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 559B88FC0C; Thu, 12 Apr 2012 06:24:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3C6OmHc013917; Thu, 12 Apr 2012 06:24:48 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C6OmiT013915; Thu, 12 Apr 2012 06:24:48 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201204120624.q3C6OmiT013915@svn.freebsd.org> From: Alexander Motin Date: Thu, 12 Apr 2012 06:24:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234166 - stable/9/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 06:24:48 -0000 Author: mav Date: Thu Apr 12 06:24:47 2012 New Revision: 234166 URL: http://svn.freebsd.org/changeset/base/234166 Log: MFC r232917: Rewrite thread CPU usage percentage math to not depend on periodic calls with HZ rate through the sched_tick() calls from hardclock(). Potentially it can be used to improve precision, but now it is just minus one more reason to call hardclock() for every HZ tick on every active CPU. SCHED_4BSD never used sched_tick(), but keep it in place for now, as at least SCHED_FBFS existing in patches out of the tree depends on it. Modified: stable/9/sys/kern/sched_ule.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/kern/sched_ule.c ============================================================================== --- stable/9/sys/kern/sched_ule.c Thu Apr 12 01:53:33 2012 (r234165) +++ stable/9/sys/kern/sched_ule.c Thu Apr 12 06:24:47 2012 (r234166) @@ -99,7 +99,6 @@ struct td_sched { u_int ts_slptime; /* Number of ticks we vol. slept */ u_int ts_runtime; /* Number of ticks we were running */ int ts_ltick; /* Last tick that we were running on */ - int ts_incrtick; /* Last tick that we incremented on */ int ts_ftick; /* First tick that we were running on */ int ts_ticks; /* Tick count */ #ifdef KTR @@ -291,7 +290,7 @@ static void sched_thread_priority(struct static int sched_interact_score(struct thread *); static void sched_interact_update(struct thread *); static void sched_interact_fork(struct thread *); -static void sched_pctcpu_update(struct td_sched *); +static void sched_pctcpu_update(struct td_sched *, int); /* Operations on per processor queues */ static struct thread *tdq_choose(struct tdq *); @@ -671,7 +670,7 @@ cpu_search(const struct cpu_group *cg, s } } if (match & CPU_SEARCH_HIGHEST) - if (hgroup.cs_load != -1 && + if (hgroup.cs_load >= 0 && (load > hload || (load == hload && hgroup.cs_load > high->cs_load))) { hload = load; @@ -1588,24 +1587,21 @@ sched_rr_interval(void) * mechanism since it happens with less regular and frequent events. */ static void -sched_pctcpu_update(struct td_sched *ts) +sched_pctcpu_update(struct td_sched *ts, int run) { + int t = ticks; - if (ts->ts_ticks == 0) - return; - if (ticks - (hz / 10) < ts->ts_ltick && - SCHED_TICK_TOTAL(ts) < SCHED_TICK_MAX) - return; - /* - * Adjust counters and watermark for pctcpu calc. - */ - if (ts->ts_ltick > ticks - SCHED_TICK_TARG) - ts->ts_ticks = (ts->ts_ticks / (ticks - ts->ts_ftick)) * - SCHED_TICK_TARG; - else + if (t - ts->ts_ltick >= SCHED_TICK_TARG) { ts->ts_ticks = 0; - ts->ts_ltick = ticks; - ts->ts_ftick = ts->ts_ltick - SCHED_TICK_TARG; + ts->ts_ftick = t - SCHED_TICK_TARG; + } else if (t - ts->ts_ftick >= SCHED_TICK_MAX) { + ts->ts_ticks = (ts->ts_ticks / (ts->ts_ltick - ts->ts_ftick)) * + (ts->ts_ltick - (t - SCHED_TICK_TARG)); + ts->ts_ftick = t - SCHED_TICK_TARG; + } + if (run) + ts->ts_ticks += (t - ts->ts_ltick) << SCHED_TICK_SHIFT; + ts->ts_ltick = t; } /* @@ -1824,6 +1820,7 @@ sched_switch(struct thread *td, struct t tdq = TDQ_CPU(cpuid); ts = td->td_sched; mtx = td->td_lock; + sched_pctcpu_update(ts, 1); ts->ts_rltick = ticks; td->td_lastcpu = td->td_oncpu; td->td_oncpu = NOCPU; @@ -1878,6 +1875,7 @@ sched_switch(struct thread *td, struct t #endif lock_profile_release_lock(&TDQ_LOCKPTR(tdq)->lock_object); TDQ_LOCKPTR(tdq)->mtx_lock = (uintptr_t)newtd; + sched_pctcpu_update(newtd->td_sched, 0); #ifdef KDTRACE_HOOKS /* @@ -1972,12 +1970,9 @@ sched_wakeup(struct thread *td) slptick = td->td_slptick; td->td_slptick = 0; if (slptick && slptick != ticks) { - u_int hzticks; - - hzticks = (ticks - slptick) << SCHED_TICK_SHIFT; - ts->ts_slptime += hzticks; + ts->ts_slptime += (ticks - slptick) << SCHED_TICK_SHIFT; sched_interact_update(td); - sched_pctcpu_update(ts); + sched_pctcpu_update(ts, 0); } /* Reset the slice value after we sleep. */ ts->ts_slice = sched_slice; @@ -1992,6 +1987,7 @@ void sched_fork(struct thread *td, struct thread *child) { THREAD_LOCK_ASSERT(td, MA_OWNED); + sched_pctcpu_update(td->td_sched, 1); sched_fork_thread(td, child); /* * Penalize the parent and child for forking. @@ -2027,7 +2023,6 @@ sched_fork_thread(struct thread *td, str */ ts2->ts_ticks = ts->ts_ticks; ts2->ts_ltick = ts->ts_ltick; - ts2->ts_incrtick = ts->ts_incrtick; ts2->ts_ftick = ts->ts_ftick; /* * Do not inherit any borrowed priority from the parent. @@ -2184,6 +2179,7 @@ sched_clock(struct thread *td) tdq->tdq_ridx = tdq->tdq_idx; } ts = td->td_sched; + sched_pctcpu_update(ts, 1); if (td->td_pri_class & PRI_FIFO_BIT) return; if (PRI_BASE(td->td_pri_class) == PRI_TIMESHARE) { @@ -2208,31 +2204,12 @@ sched_clock(struct thread *td) } /* - * Called once per hz tick. Used for cpu utilization information. This - * is easier than trying to scale based on stathz. + * Called once per hz tick. */ void sched_tick(int cnt) { - struct td_sched *ts; - ts = curthread->td_sched; - /* - * Ticks is updated asynchronously on a single cpu. Check here to - * avoid incrementing ts_ticks multiple times in a single tick. - */ - if (ts->ts_incrtick == ticks) - return; - /* Adjust ticks for pctcpu */ - ts->ts_ticks += cnt << SCHED_TICK_SHIFT; - ts->ts_ltick = ticks; - ts->ts_incrtick = ticks; - /* - * Update if we've exceeded our desired tick threshold by over one - * second. - */ - if (ts->ts_ftick + SCHED_TICK_MAX < ts->ts_ltick) - sched_pctcpu_update(ts); } /* @@ -2274,7 +2251,6 @@ sched_choose(void) TDQ_LOCK_ASSERT(tdq, MA_OWNED); td = tdq_choose(tdq); if (td) { - td->td_sched->ts_ltick = ticks; tdq_runq_rem(tdq, td); tdq->tdq_lowpri = td->td_priority; return (td); @@ -2420,10 +2396,10 @@ sched_pctcpu(struct thread *td) return (0); THREAD_LOCK_ASSERT(td, MA_OWNED); + sched_pctcpu_update(ts, TD_IS_RUNNING(td)); if (ts->ts_ticks) { int rtick; - sched_pctcpu_update(ts); /* How many rtick per second ? */ rtick = min(SCHED_TICK_HZ(ts) / SCHED_TICK_SECS, hz); pctcpu = (FSCALE * ((FSCALE * rtick)/hz)) >> FSHIFT; From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 06:29:03 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4BB9B106564A; Thu, 12 Apr 2012 06:29:03 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 34D5C8FC15; Thu, 12 Apr 2012 06:29: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 q3C6T3jt014098; Thu, 12 Apr 2012 06:29:03 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C6T3rX014095; Thu, 12 Apr 2012 06:29:03 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201204120629.q3C6T3rX014095@svn.freebsd.org> From: Alexander Motin Date: Thu, 12 Apr 2012 06:29:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234167 - in stable/9: share/man/man4 sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 06:29:03 -0000 Author: mav Date: Thu Apr 12 06:29:02 2012 New Revision: 234167 URL: http://svn.freebsd.org/changeset/base/234167 Log: MFC 232919: Add kern.eventtimer.activetick tunable/sysctl, specifying whether each hardclock() tick should be run on every active CPU, or on only one. On my tests, avoiding extra interrupts because of this on 8-CPU Core i7 system with HZ=10000 saves about 2% of performance. At this moment option implemented only for global timers, as reprogramming per-CPU timers is too expensive now to be compensated by this benefit, especially since we still have to regularly run hardclock() on at least one active CPU to update system uptime. For global timer it is quite trivial: timer runs always, but we just skip IPIs to other CPUs when possible. Option is enabled by default now, keeping previous behavior, as periodic hardclock() calls are still used at least to implement setitimer(2) with ITIMER_VIRTUAL and ITIMER_PROF arguments. But since default schedulers don't depend on it since r232917, we are much more free to experiment with it. Modified: stable/9/share/man/man4/eventtimers.4 stable/9/sys/kern/kern_clocksource.c Directory Properties: stable/9/share/man/man4/ (props changed) stable/9/sys/ (props changed) Modified: stable/9/share/man/man4/eventtimers.4 ============================================================================== --- stable/9/share/man/man4/eventtimers.4 Thu Apr 12 06:24:47 2012 (r234166) +++ stable/9/share/man/man4/eventtimers.4 Thu Apr 12 06:29:02 2012 (r234167) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 15, 2010 +.Dd March 13, 2012 .Dt EVENTTIMERS 4 .Os .Sh NAME @@ -143,6 +143,12 @@ By default this options is disabled. If chosen timer is per-CPU and runs in periodic mode, this option has no effect - all interrupts are always generating. +.It Va kern.eventtimer.activetick +makes each CPU to receive all kinds of timer interrupts when they are busy. +Disabling it allows to skip some hardclock() calls in some cases. +By default this options is enabled. +If chosen timer is per-CPU, this option has no effect - all interrupts are +always generating, as timer reprogramming is too expensive for that case. .El .Sh SEE ALSO .Xr apic 4 , Modified: stable/9/sys/kern/kern_clocksource.c ============================================================================== --- stable/9/sys/kern/kern_clocksource.c Thu Apr 12 06:24:47 2012 (r234166) +++ stable/9/sys/kern/kern_clocksource.c Thu Apr 12 06:29:02 2012 (r234167) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2010 Alexander Motin + * Copyright (c) 2010-2012 Alexander Motin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -99,6 +99,7 @@ static struct bintime hardperiod; /* har static struct bintime statperiod; /* statclock() events period. */ static struct bintime profperiod; /* profclock() events period. */ static struct bintime nexttick; /* Next global timer tick time. */ +static struct bintime nexthard; /* Next global hardlock() event. */ static u_int busy = 0; /* Reconfiguration is in progress. */ static int profiling = 0; /* Profiling events enabled. */ @@ -110,11 +111,16 @@ TUNABLE_INT("kern.eventtimer.singlemul", SYSCTL_INT(_kern_eventtimer, OID_AUTO, singlemul, CTLFLAG_RW, &singlemul, 0, "Multiplier for periodic mode"); -static u_int idletick = 0; /* Idle mode allowed. */ +static u_int idletick = 0; /* Run periodic events when idle. */ TUNABLE_INT("kern.eventtimer.idletick", &idletick); SYSCTL_UINT(_kern_eventtimer, OID_AUTO, idletick, CTLFLAG_RW, &idletick, 0, "Run periodic events when idle"); +static u_int activetick = 1; /* Run all periodic events when active. */ +TUNABLE_INT("kern.eventtimer.activetick", &activetick); +SYSCTL_UINT(_kern_eventtimer, OID_AUTO, activetick, CTLFLAG_RW, &activetick, + 0, "Run all periodic events when active"); + static int periodic = 0; /* Periodic or one-shot mode. */ static int want_periodic = 0; /* What mode to prefer. */ TUNABLE_INT("kern.eventtimer.periodic", &want_periodic); @@ -202,6 +208,9 @@ handleevents(struct bintime *now, int fa bintime_add(&state->nexthard, &hardperiod); runs++; } + if ((timer->et_flags & ET_FLAGS_PERCPU) == 0 && + bintime_cmp(&state->nexthard, &nexthard, >)) + nexthard = state->nexthard; if (runs && fake < 2) { hardclock_cnt(runs, usermode); done = 1; @@ -263,9 +272,11 @@ getnextcpuevent(struct bintime *event, i int skip; state = DPCPU_PTR(timerstate); + /* Handle hardclock() events. */ *event = state->nexthard; - if (idle) { /* If CPU is idle - ask callouts for how long. */ - skip = 4; + if (idle || (!activetick && !profiling && + (timer->et_flags & ET_FLAGS_PERCPU) == 0)) { + skip = idle ? 4 : (stathz / 2); if (curcpu == CPU_FIRST() && tc_min_ticktock_freq > skip) skip = tc_min_ticktock_freq; skip = callout_tickstofirst(hz / skip) - 1; @@ -273,7 +284,8 @@ getnextcpuevent(struct bintime *event, i tmp = hardperiod; bintime_mul(&tmp, skip); bintime_add(event, &tmp); - } else { /* If CPU is active - handle all types of events. */ + } + if (!idle) { /* If CPU is active - handle other types of events. */ if (bintime_cmp(event, &state->nextstat, >)) *event = state->nextstat; if (profiling && bintime_cmp(event, &state->nextprof, >)) @@ -295,24 +307,28 @@ getnextevent(struct bintime *event) #ifdef SMP int cpu; #endif - int c; + int c, nonidle; state = DPCPU_PTR(timerstate); *event = state->nextevent; c = curcpu; -#ifdef SMP + nonidle = !state->idle; if ((timer->et_flags & ET_FLAGS_PERCPU) == 0) { +#ifdef SMP CPU_FOREACH(cpu) { if (curcpu == cpu) continue; state = DPCPU_ID_PTR(cpu, timerstate); + nonidle += !state->idle; if (bintime_cmp(event, &state->nextevent, >)) { *event = state->nextevent; c = cpu; } } - } #endif + if (nonidle != 0 && bintime_cmp(event, &nexthard, >)) + *event = nexthard; + } CTR5(KTR_SPARE2, "next at %d: next %d.%08x%08x by %d", curcpu, event->sec, (unsigned int)(event->frac >> 32), (unsigned int)(event->frac & 0xffffffff), c); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 06:32:46 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A069B1065672 for ; Thu, 12 Apr 2012 06:32:46 +0000 (UTC) (envelope-from andrey@zonov.org) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1.freebsd.org (Postfix) with ESMTP id 0D10A8FC12 for ; Thu, 12 Apr 2012 06:32:45 +0000 (UTC) Received: by lbbgj3 with SMTP id gj3so1691947lbb.13 for ; Wed, 11 Apr 2012 23:32:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:x-gm-message-state; bh=X/leeGBKreRkeDKGLnxVcShyUabI+X2rcNy+ZoxWA+A=; b=axCxF6g5/OAu8hKT/7ABNez/NCwDhRIidoHA1gSUJnvHrI9KsQSpxjrm3dzURSTz9C bISL6hvRv07vRtD+Kw7RwLXZ7H7NnseVIlPAkvaJUqPqv2ZQjv7BNKyRwy88U+jHdlQp q9JFOmxBLLBvlYEorFdCWIhw+AHA8MWiNT0FKyZ7sxbk+dU1ofIOZuS4VZ335mIRYGTY 05JnKxcMnfwVPvHY9CpuqXkSMbrtZDvhiAaunoq48prb7G8GUcy7tW7EBhbgfEsKmDgc EEC/lC5TyygkDCp8KHc6aIF8ACw63eaaHV7cnuP0p5NfEeRxwe0tzIv2nV35aio5U7Hz Ohzw== Received: by 10.152.110.193 with SMTP id ic1mr1098738lab.4.1334212364659; Wed, 11 Apr 2012 23:32:44 -0700 (PDT) Received: from [10.254.254.77] (ppp109-252-212-252.pppoe.spdop.ru. [109.252.212.252]) by mx.google.com with ESMTPS id h8sm6491916lbx.8.2012.04.11.23.32.43 (version=SSLv3 cipher=OTHER); Wed, 11 Apr 2012 23:32:44 -0700 (PDT) Message-ID: <4F86770B.508@zonov.org> Date: Thu, 12 Apr 2012 10:32:43 +0400 From: Andrey Zonov User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.24) Gecko/20100228 Thunderbird/2.0.0.24 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: John Baldwin References: <201204051713.q35HDE3d067735@svn.freebsd.org> <4F848E4B.8020302@zonov.org> <201204111202.05409.jhb@freebsd.org> In-Reply-To: <201204111202.05409.jhb@freebsd.org> Content-Type: multipart/mixed; boundary="------------070604040808030408020200" X-Gm-Message-State: ALoCoQnHWqoqErzol6TB8HcjEbyQSWfzmMWlNTEnv6TSuK6qmnyZUUacsGB4m9AKDlWXBtM2mHbi Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233925 - in head: sys/kern sys/sys sys/vm usr.bin/kdump usr.bin/ktrace X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 06:32:46 -0000 This is a multi-part message in MIME format. --------------070604040808030408020200 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit On 11.04.2012 20:02, John Baldwin wrote: > On Tuesday, April 10, 2012 3:47:23 pm Andrey Zonov wrote: >> On 05.04.2012 21:13, John Baldwin wrote: >>> Author: jhb >>> Date: Thu Apr 5 17:13:14 2012 >>> New Revision: 233925 >>> URL: http://svn.freebsd.org/changeset/base/233925 >>> >>> Log: >>> Add new ktrace records for the start and end of VM faults. This gives >>> a pair of records similar to syscall entry and return that a user can >>> use to determine how long page faults take. The new ktrace records are >>> enabled via the 'p' trace type, and are enabled in the default set of >>> trace points. >>> >>> Reviewed by: kib >>> MFC after: 2 weeks >>> >> >> Hi John, >> >> Thanks a lot, this change is very useful! >> >> And while you are here I would like to show you a patch which adds a >> "wmesg" to the context switch tracing. It is not finished, it's just a >> concept. Please review it and if you are interesting in that I'll >> finish it and will test more widely. > > Ah, this looks fairly neat. However, I think you will need a few changes: > > 1) You will want to make kdump handle either the old or new size of struct > ktr_csw. (The size of the record is in the header, so as long as you have > a 'struct ktr_csw_old' you can handle this fairly easily.) > It's a good suggestion. I've implemented that and tested. > 2) cs->wmesg is never NULL. Instead, it should probably just always print it > out. > Agree. > 3) condvar's have a valid wmesg. > Yes, I found it in 5 minutes after sending mail. Please look at updated patch. -- Andrey Zonov --------------070604040808030408020200 Content-Type: text/plain; charset=windows-1251; name="ktrace_csw.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ktrace_csw.patch" Index: usr.bin/kdump/kdump.c =================================================================== --- usr.bin/kdump/kdump.c (revision 233925) +++ usr.bin/kdump/kdump.c (working copy) @@ -94,7 +94,7 @@ void visdump(char *, int, int); void ktrgenio(struct ktr_genio *, int); void ktrpsig(struct ktr_psig *); -void ktrcsw(struct ktr_csw *); +void ktrcsw(struct ktr_csw *, int); void ktruser_malloc(unsigned char *); void ktruser_rtld(int, unsigned char *); void ktruser(int, unsigned char *); @@ -298,7 +298,7 @@ ktrpsig((struct ktr_psig *)m); break; case KTR_CSW: - ktrcsw((struct ktr_csw *)m); + ktrcsw((struct ktr_csw *)m, ktrlen); break; case KTR_USER: ktruser(ktrlen, m); @@ -1245,10 +1245,16 @@ } void -ktrcsw(struct ktr_csw *cs) +ktrcsw(struct ktr_csw *cs, int len) { - printf("%s %s\n", cs->out ? "stop" : "resume", - cs->user ? "user" : "kernel"); + if (len == sizeof(struct ktr_csw_old)) + printf("%s %s\n", cs->out ? "stop" : "resume", + cs->user ? "user" : "kernel"); + else if (len == sizeof(struct ktr_csw)) + printf("%s %s \"%s\"\n", cs->out ? "stop" : "resume", + cs->user ? "user" : "kernel", cs->wmesg); + else + errx(1, "Unknown size of ktrace record"); } #define UTRACE_DLOPEN_START 1 Index: sys/sys/ktrace.h =================================================================== --- sys/sys/ktrace.h (revision 233925) +++ sys/sys/ktrace.h (working copy) @@ -135,9 +135,15 @@ * KTR_CSW - trace context switches */ #define KTR_CSW 6 +struct ktr_csw_old { + int out; /* 1 if switch out, 0 if switch in */ + int user; /* 1 if usermode (ivcsw), 0 if kernel (vcsw) */ +}; + struct ktr_csw { int out; /* 1 if switch out, 0 if switch in */ int user; /* 1 if usermode (ivcsw), 0 if kernel (vcsw) */ + char wmesg[8]; }; /* @@ -244,7 +250,7 @@ #ifdef _KERNEL void ktrnamei(char *); -void ktrcsw(int, int); +void ktrcsw(int, int, const char *); void ktrpsig(int, sig_t, sigset_t *, int); void ktrfault(vm_offset_t, int); void ktrfaultend(int); Index: sys/kern/kern_ktrace.c =================================================================== --- sys/kern/kern_ktrace.c (revision 233925) +++ sys/kern/kern_ktrace.c (working copy) @@ -733,8 +733,9 @@ } void -ktrcsw(out, user) +ktrcsw(out, user, wmesg) int out, user; + const char *wmesg; { struct thread *td = curthread; struct ktr_request *req; @@ -746,6 +747,10 @@ kc = &req->ktr_data.ktr_csw; kc->out = out; kc->user = user; + if (wmesg != NULL) + strlcpy(kc->wmesg, wmesg, sizeof(kc->wmesg)); + else + bzero(kc->wmesg, sizeof(kc->wmesg)); ktr_enqueuerequest(td, req); ktrace_exit(td); } Index: sys/kern/subr_trap.c =================================================================== --- sys/kern/subr_trap.c (revision 233925) +++ sys/kern/subr_trap.c (working copy) @@ -219,7 +219,7 @@ if (flags & TDF_NEEDRESCHED) { #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 1); + ktrcsw(1, 1, __func__); #endif thread_lock(td); sched_prio(td, td->td_user_pri); @@ -227,7 +227,7 @@ thread_unlock(td); #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 1); + ktrcsw(0, 1, __func__); #endif } Index: sys/kern/kern_condvar.c =================================================================== --- sys/kern/kern_condvar.c (revision 233925) +++ sys/kern/kern_condvar.c (working copy) @@ -103,7 +103,7 @@ lock_state = 0; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -140,7 +140,7 @@ #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); if (lock != &Giant.lock_object) { @@ -162,7 +162,7 @@ td = curthread; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -197,7 +197,7 @@ #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); } @@ -220,7 +220,7 @@ lock_state = 0; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -258,7 +258,7 @@ #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); if (lock != &Giant.lock_object) { @@ -286,7 +286,7 @@ lock_state = 0; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -324,7 +324,7 @@ #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); if (lock != &Giant.lock_object) { @@ -353,7 +353,7 @@ lock_state = 0; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -392,7 +392,7 @@ #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); if (lock != &Giant.lock_object) { Index: sys/kern/kern_synch.c =================================================================== --- sys/kern/kern_synch.c (revision 233925) +++ sys/kern/kern_synch.c (working copy) @@ -142,7 +142,7 @@ p = td->td_proc; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, wmesg); #endif WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, "Sleeping on \"%s\"", wmesg); @@ -236,7 +236,7 @@ } #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, wmesg); #endif PICKUP_GIANT(); if (lock != NULL && lock != &Giant.lock_object && !(priority & PDROP)) { @@ -298,7 +298,7 @@ #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) { sleepq_release(ident); - ktrcsw(1, 0); + ktrcsw(1, 0, wmesg); sleepq_lock(ident); } #endif @@ -316,7 +316,7 @@ } #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, wmesg); #endif PICKUP_GIANT(); mtx_lock_spin(mtx); --------------070604040808030408020200-- From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 08:38:56 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2973106566B; Thu, 12 Apr 2012 08:38:56 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AD9958FC08; Thu, 12 Apr 2012 08:38:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3C8cuBQ017984; Thu, 12 Apr 2012 08:38:56 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C8cu3p017982; Thu, 12 Apr 2012 08:38:56 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204120838.q3C8cu3p017982@svn.freebsd.org> From: Luigi Rizzo Date: Thu, 12 Apr 2012 08:38:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234168 - head/tools/tools/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 08:38:57 -0000 Author: luigi Date: Thu Apr 12 08:38:56 2012 New Revision: 234168 URL: http://svn.freebsd.org/changeset/base/234168 Log: use getopt to parse options, add one option to set the wait time for link-up events Modified: head/tools/tools/netmap/bridge.c Modified: head/tools/tools/netmap/bridge.c ============================================================================== --- head/tools/tools/netmap/bridge.c Thu Apr 12 06:29:02 2012 (r234167) +++ head/tools/tools/netmap/bridge.c Thu Apr 12 08:38:56 2012 (r234168) @@ -48,7 +48,7 @@ int verbose = 0; } while (0) -char *version = "$Id: bridge.c 10637 2012-02-24 16:36:25Z luigi $"; +char *version = "$Id: bridge.c 10857 2012-04-06 12:18:22Z luigi $"; static int do_abort = 0; @@ -306,6 +306,14 @@ howmany(struct my_ring *me, int tx) return tot; } +static void +usage(void) +{ + fprintf(stderr, + "usage: bridge [-v] [-i ifa] [-i ifb] [-b burst] [-w wait_time] [iface]\n"); + exit(1); +} + /* * bridge [-v] if1 [if2] * @@ -317,36 +325,72 @@ int main(int argc, char **argv) { struct pollfd pollfd[2]; - int i; - u_int burst = 1024; + int i, ch; + u_int burst = 1024, wait_link = 4; struct my_ring me[2]; + char *ifa = NULL, *ifb = NULL; fprintf(stderr, "%s %s built %s %s\n", argv[0], version, __DATE__, __TIME__); bzero(me, sizeof(me)); - while (argc > 1 && !strcmp(argv[1], "-v")) { - verbose++; - argv++; - argc--; - } + while ( (ch = getopt(argc, argv, "b:i:vw:")) != -1) { + switch (ch) { + D("bad option %c %s", ch, optarg); + usage(); + break; + case 'b': /* burst */ + burst = atoi(optarg); + break; + case 'i': /* interface */ + if (ifa == NULL) + ifa = optarg; + else if (ifb == NULL) + ifb = optarg; + else + D("%s ignored, already have 2 interfaces", + optarg); + break; + case 'v': + verbose++; + break; + case 'w': + wait_link = atoi(optarg); + break; + } - if (argc < 2 || argc > 4) { - D("Usage: %s IFNAME1 [IFNAME2 [BURST]]", argv[0]); - return (1); } + if (argc > 1) + ifa = argv[1]; + if (argc > 2) + ifb = argv[2]; + if (argc > 3) + burst = atoi(argv[3]); + if (!ifb) + ifb = ifa; + if (!ifa) { + D("missing interface"); + usage(); + } + if (burst < 1 || burst > 8192) { + D("invalid burst %d, set to 1024", burst); + burst = 1024; + } + if (wait_link > 100) { + D("invalid wait_link %d, set to 4", wait_link); + wait_link = 4; + } /* setup netmap interface #1. */ - me[0].ifname = argv[1]; - if (argc == 2 || !strcmp(argv[1], argv[2])) { + me[0].ifname = ifa; + me[1].ifname = ifb; + if (!strcmp(ifa, ifb)) { D("same interface, endpoint 0 goes to host"); i = NETMAP_SW_RING; - me[1].ifname = argv[1]; } else { /* two different interfaces. Take all rings on if1 */ i = 0; // all hw rings - me[1].ifname = argv[2]; } if (netmap_open(me, i)) return (1); @@ -385,8 +429,6 @@ main(int argc, char **argv) me[1].if_reqcap = me[1].if_curcap; me[1].if_reqcap &= ~(IFCAP_HWCSUM | IFCAP_TSO | IFCAP_TOE); do_ioctl(me+1, SIOCSIFCAP); - if (argc > 3) - burst = atoi(argv[3]); /* packets burst size. */ /* setup poll(2) variables. */ memset(pollfd, 0, sizeof(pollfd)); @@ -395,8 +437,8 @@ main(int argc, char **argv) pollfd[i].events = (POLLIN); } - D("Wait 2 secs for link to come up..."); - sleep(2); + D("Wait %d secs for link to come up...", wait_link); + sleep(wait_link); D("Ready to go, %s 0x%x/%d <-> %s 0x%x/%d.", me[0].ifname, me[0].queueid, me[0].nifp->ni_rx_queues, me[1].ifname, me[1].queueid, me[1].nifp->ni_rx_queues); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 08:54:02 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6A0CE106566B; Thu, 12 Apr 2012 08:54:02 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 552048FC0C; Thu, 12 Apr 2012 08:54:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3C8s2Ie018579; Thu, 12 Apr 2012 08:54:02 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3C8s2XY018577; Thu, 12 Apr 2012 08:54:02 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204120854.q3C8s2XY018577@svn.freebsd.org> From: Luigi Rizzo Date: Thu, 12 Apr 2012 08:54:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234169 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 08:54:02 -0000 Author: luigi Date: Thu Apr 12 08:54:01 2012 New Revision: 234169 URL: http://svn.freebsd.org/changeset/base/234169 Log: use correct selinfo pointer for the generic interrupt handler (it is never used in current FreeBSD drivers). Modified: head/sys/dev/netmap/netmap.c Modified: head/sys/dev/netmap/netmap.c ============================================================================== --- head/sys/dev/netmap/netmap.c Thu Apr 12 08:38:56 2012 (r234168) +++ head/sys/dev/netmap/netmap.c Thu Apr 12 08:54:01 2012 (r234169) @@ -1667,10 +1667,10 @@ netmap_rx_irq(struct ifnet *ifp, int q, if (work_done) { /* RX path */ r = na->rx_rings + q; r->nr_kflags |= NKR_PENDINTR; - main_wq = (na->num_rx_queues > 1) ? &na->tx_si : NULL; + main_wq = (na->num_rx_queues > 1) ? &na->rx_si : NULL; } else { /* tx path */ r = na->tx_rings + q; - main_wq = (na->num_tx_queues > 1) ? &na->rx_si : NULL; + main_wq = (na->num_tx_queues > 1) ? &na->tx_si : NULL; work_done = &q; /* dummy */ } if (na->separate_locks) { From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 09:30:20 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 72B931065689; Thu, 12 Apr 2012 09:30:20 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1.freebsd.org (Postfix) with ESMTP id 462268FC16; Thu, 12 Apr 2012 09:30:19 +0000 (UTC) Received: by lbbgj3 with SMTP id gj3so1827056lbb.13 for ; Thu, 12 Apr 2012 02:30:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=JRzBPqvCp6nrwGAHkC9dd0MDRl/PNqLeZh/Qm/yek4s=; b=Rjniy8DSv2RnWAu4bvKJFoBVRsazyrUEoJK+jA6BpOeOlPEQBXdorYPu3RiGJ4JXrA Ay6r28HH9wMhIWQhmrheS2PnGZNrcUlnAJuH2jkphGf9i2dJLtoREfICjtx0ow6M8ScO KdZH5YNLAQLhAqF++4J38uooFPcLjlxhrvIB9i24BOjUAqxpz2cLB09zlQuOSi68YDlq xnO60EE2QD/jkTk4A06Eh7qgboodyxWCdhPf1Sdf8aof99sHeKprQm1txUf6IiADnNWP KUZ+dda0r+cjtikwlqt9sEsPCXEFyTwN203smmrhwMzZEvM+9oBl81xRH6/jjFIjnmkD /N8w== MIME-Version: 1.0 Received: by 10.112.11.39 with SMTP id n7mr683277lbb.93.1334223017893; Thu, 12 Apr 2012 02:30:17 -0700 (PDT) Sender: pluknet@gmail.com Received: by 10.152.25.69 with HTTP; Thu, 12 Apr 2012 02:30:17 -0700 (PDT) In-Reply-To: <201204120153.q3C1rYlk005327@svn.freebsd.org> References: <201204120153.q3C1rYlk005327@svn.freebsd.org> Date: Thu, 12 Apr 2012 13:30:17 +0400 X-Google-Sender-Auth: AUIPGN_La1H0twNveY0lN6C67PE Message-ID: From: Sergey Kandaurov To: Doug Barton Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234165 - in head: contrib/bind9 share/doc/bind9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 09:30:20 -0000 On 12 April 2012 05:53, Doug Barton wrote: > Author: dougb > Date: Thu Apr 12 01:53:33 2012 > New Revision: 234165 > URL: http://svn.freebsd.org/changeset/base/234165 > > Log: > =A0The BIND 9.8.2 tarball was re-rolled to remove 9.8.1 release notes. > =A0This change was noticed by ISC at: > > =A0https://lists.isc.org/pipermail/bind-users/2012-April/087345.html > > =A0and verified by me both by comparing the contents of the old and new > =A0distfiles and by verifying the PGP signature on the new distfile. > > Deleted: > =A0head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.html > =A0head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.pdf > =A0head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.txt > =A0head/contrib/bind9/release-notes.css Also, these files should be added to ObsoleteFiles.inc [...] --=20 wbr, pluknet From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 10:32:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A82AE106564A; Thu, 12 Apr 2012 10:32:23 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F227D8FC0A; Thu, 12 Apr 2012 10:32:22 +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 q3CAWMFP024353; Thu, 12 Apr 2012 10:32:22 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CAWM0W024351; Thu, 12 Apr 2012 10:32:22 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201204121032.q3CAWM0W024351@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 12 Apr 2012 10:32:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234170 - head/libexec/rtld-elf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 10:32:23 -0000 Author: kib Date: Thu Apr 12 10:32:22 2012 New Revision: 234170 URL: http://svn.freebsd.org/changeset/base/234170 Log: Propagate the current state of rtld_bind_lock to dlopen_object() calls through the filter loading call chain. This fixes attempts to write-lock the already locked rtld_bind_lock when filter loading is initiated by relocation of dlopening dso. Reported and tested by: Taku YAMAMOTO MFC after: 1 week Modified: head/libexec/rtld-elf/rtld.c Modified: head/libexec/rtld-elf/rtld.c ============================================================================== --- head/libexec/rtld-elf/rtld.c Thu Apr 12 08:54:01 2012 (r234169) +++ head/libexec/rtld-elf/rtld.c Thu Apr 12 10:32:22 2012 (r234170) @@ -85,7 +85,7 @@ static void digest_dynamic(Obj_Entry *, static Obj_Entry *digest_phdr(const Elf_Phdr *, int, caddr_t, const char *); static Obj_Entry *dlcheck(void *); static Obj_Entry *dlopen_object(const char *name, int fd, Obj_Entry *refobj, - int lo_flags, int mode); + int lo_flags, int mode, RtldLockState *lockstate); static Obj_Entry *do_load_object(int, const char *, char *, struct stat *, int); static int do_search_info(const Obj_Entry *obj, int, struct dl_serinfo *); static bool donelist_check(DoneList *, const Obj_Entry *); @@ -1672,13 +1672,14 @@ unload_filtees(Obj_Entry *obj) } static void -load_filtee1(Obj_Entry *obj, Needed_Entry *needed, int flags) +load_filtee1(Obj_Entry *obj, Needed_Entry *needed, int flags, + RtldLockState *lockstate) { for (; needed != NULL; needed = needed->next) { needed->obj = dlopen_object(obj->strtab + needed->name, -1, obj, flags, ((ld_loadfltr || obj->z_loadfltr) ? RTLD_NOW : RTLD_LAZY) | - RTLD_LOCAL); + RTLD_LOCAL, lockstate); } } @@ -1688,8 +1689,8 @@ load_filtees(Obj_Entry *obj, int flags, lock_restart_for_upgrade(lockstate); if (!obj->filtees_loaded) { - load_filtee1(obj, obj->needed_filtees, flags); - load_filtee1(obj, obj->needed_aux_filtees, flags); + load_filtee1(obj, obj->needed_filtees, flags, lockstate); + load_filtee1(obj, obj->needed_aux_filtees, flags, lockstate); obj->filtees_loaded = true; } } @@ -2489,7 +2490,7 @@ rtld_dlopen(const char *name, int fd, in lo_flags |= RTLD_LO_TRACE; return (dlopen_object(name, fd, obj_main, lo_flags, - mode & (RTLD_MODEMASK | RTLD_GLOBAL))); + mode & (RTLD_MODEMASK | RTLD_GLOBAL), NULL)); } static void @@ -2504,17 +2505,20 @@ dlopen_cleanup(Obj_Entry *obj) static Obj_Entry * dlopen_object(const char *name, int fd, Obj_Entry *refobj, int lo_flags, - int mode) + int mode, RtldLockState *lockstate) { Obj_Entry **old_obj_tail; Obj_Entry *obj; Objlist initlist; - RtldLockState lockstate; + RtldLockState mlockstate; int result; objlist_init(&initlist); - wlock_acquire(rtld_bind_lock, &lockstate); + if (lockstate == NULL && !(lo_flags & RTLD_LO_EARLY)) { + wlock_acquire(rtld_bind_lock, &mlockstate); + lockstate = &mlockstate; + } GDB_STATE(RT_ADD,NULL); old_obj_tail = obj_tail; @@ -2543,7 +2547,7 @@ dlopen_object(const char *name, int fd, if (result == -1 || (relocate_objects(obj, (mode & RTLD_MODEMASK) == RTLD_NOW, &obj_rtld, (lo_flags & RTLD_LO_EARLY) ? SYMLOOK_EARLY : 0, - &lockstate)) == -1) { + lockstate)) == -1) { dlopen_cleanup(obj); obj = NULL; } else if (lo_flags & RTLD_LO_EARLY) { @@ -2587,28 +2591,31 @@ dlopen_object(const char *name, int fd, GDB_STATE(RT_CONSISTENT,obj ? &obj->linkmap : NULL); if (!(lo_flags & RTLD_LO_EARLY)) { - map_stacks_exec(&lockstate); + map_stacks_exec(lockstate); } if (initlist_objects_ifunc(&initlist, (mode & RTLD_MODEMASK) == RTLD_NOW, (lo_flags & RTLD_LO_EARLY) ? SYMLOOK_EARLY : 0, - &lockstate) == -1) { + lockstate) == -1) { objlist_clear(&initlist); dlopen_cleanup(obj); - lock_release(rtld_bind_lock, &lockstate); + if (lockstate == &mlockstate) + lock_release(rtld_bind_lock, lockstate); return (NULL); } if (!(lo_flags & RTLD_LO_EARLY)) { /* Call the init functions. */ - objlist_call_init(&initlist, &lockstate); + objlist_call_init(&initlist, lockstate); } objlist_clear(&initlist); - lock_release(rtld_bind_lock, &lockstate); + if (lockstate == &mlockstate) + lock_release(rtld_bind_lock, lockstate); return obj; trace: trace_loaded_objects(obj); - lock_release(rtld_bind_lock, &lockstate); + if (lockstate == &mlockstate) + lock_release(rtld_bind_lock, lockstate); exit(0); } From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 10:32:34 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFE2210657AA; Thu, 12 Apr 2012 10:32:34 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C292C8FC08; Thu, 12 Apr 2012 10:32: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 q3CAWYaJ024395; Thu, 12 Apr 2012 10:32:34 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CAWY96024393; Thu, 12 Apr 2012 10:32:34 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204121032.q3CAWY96024393@svn.freebsd.org> From: Luigi Rizzo Date: Thu, 12 Apr 2012 10:32:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234171 - head/sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 10:32:35 -0000 Author: luigi Date: Thu Apr 12 10:32:34 2012 New Revision: 234171 URL: http://svn.freebsd.org/changeset/base/234171 Log: remove an unnecessary #define Modified: head/sys/net/netmap.h Modified: head/sys/net/netmap.h ============================================================================== --- head/sys/net/netmap.h Thu Apr 12 10:32:22 2012 (r234170) +++ head/sys/net/netmap.h Thu Apr 12 10:32:34 2012 (r234171) @@ -234,10 +234,6 @@ struct netmap_if { const ssize_t ring_ofs[0]; }; -#ifndef IFCAP_NETMAP -#define IFCAP_NETMAP 0x100000 /* used on linux */ -#endif - #ifndef NIOCREGIF /* * ioctl names and related fields From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 10:48:44 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EBC32106564A; Thu, 12 Apr 2012 10:48:44 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8089C8FC12; Thu, 12 Apr 2012 10:48:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CAmifE024927; Thu, 12 Apr 2012 10:48:44 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CAmi06024923; Thu, 12 Apr 2012 10:48:44 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201204121048.q3CAmi06024923@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 12 Apr 2012 10:48:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234172 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 10:48:45 -0000 Author: kib Date: Thu Apr 12 10:48:43 2012 New Revision: 234172 URL: http://svn.freebsd.org/changeset/base/234172 Log: Add thread-private flag to indicate that error value is already placed in td_errno. Flag is supposed to be used by syscalls returning EJUSTRETURN because errno was already placed into the usermode frame by a call to set_syscall_retval(9). Both ktrace and dtrace get errno value from td_errno if the flag is set. Use the flag to fix sigsuspend(2) error return ktrace records. Requested by: bde MFC after: 1 week Modified: head/sys/kern/kern_sig.c head/sys/kern/subr_syscall.c head/sys/sys/proc.h Modified: head/sys/kern/kern_sig.c ============================================================================== --- head/sys/kern/kern_sig.c Thu Apr 12 10:32:34 2012 (r234171) +++ head/sys/kern/kern_sig.c Thu Apr 12 10:48:43 2012 (r234172) @@ -1465,6 +1465,8 @@ kern_sigsuspend(struct thread *td, sigse mtx_unlock(&p->p_sigacts->ps_mtx); } PROC_UNLOCK(p); + td->td_errno = EINTR; + td->td_pflags |= TDP_NERRNO; return (EJUSTRETURN); } Modified: head/sys/kern/subr_syscall.c ============================================================================== --- head/sys/kern/subr_syscall.c Thu Apr 12 10:32:34 2012 (r234171) +++ head/sys/kern/subr_syscall.c Thu Apr 12 10:48:43 2012 (r234172) @@ -136,7 +136,8 @@ syscallenter(struct thread *td, struct s AUDIT_SYSCALL_EXIT(error, td); /* Save the latest error return value. */ - td->td_errno = error; + if ((td->td_pflags & TDP_NERRNO) == 0) + td->td_errno = error; #ifdef KDTRACE_HOOKS /* @@ -191,9 +192,12 @@ syscallret(struct thread *td, int error, syscallname(p, sa->code), td, td->td_proc->p_pid, td->td_name); #ifdef KTRACE - if (KTRPOINT(td, KTR_SYSRET)) - ktrsysret(sa->code, error, td->td_retval[0]); + if (KTRPOINT(td, KTR_SYSRET)) { + ktrsysret(sa->code, (td->td_pflags & TDP_NERRNO) == 0 ? + error : td->td_errno, td->td_retval[0]); + } #endif + td->td_pflags &= ~TDP_NERRNO; if (p->p_flag & P_TRACED) { traced = 1; Modified: head/sys/sys/proc.h ============================================================================== --- head/sys/sys/proc.h Thu Apr 12 10:32:34 2012 (r234171) +++ head/sys/sys/proc.h Thu Apr 12 10:48:43 2012 (r234172) @@ -418,6 +418,7 @@ do { \ #define TDP_AUDITREC 0x01000000 /* Audit record pending on thread */ #define TDP_RFPPWAIT 0x02000000 /* Handle RFPPWAIT on syscall exit */ #define TDP_RESETSPUR 0x04000000 /* Reset spurious page fault history. */ +#define TDP_NERRNO 0x08000000 /* Last errno is already in td_errno */ /* * Reasons that the current thread can not be run yet. From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 11:23:25 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FF571065678; Thu, 12 Apr 2012 11:23:25 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E5D668FC15; Thu, 12 Apr 2012 11:23:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CBNOQs026193; Thu, 12 Apr 2012 11:23:24 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CBNOB8026191; Thu, 12 Apr 2012 11:23:24 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201204121123.q3CBNOB8026191@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Thu, 12 Apr 2012 11:23:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234173 - head/contrib/openpam/lib X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 11:23:25 -0000 Author: des Date: Thu Apr 12 11:23:24 2012 New Revision: 234173 URL: http://svn.freebsd.org/changeset/base/234173 Log: Keep a copy of the original pointer returned by openpam_readline() so we can free it later, instead of trying to free a pointer that points to the end of the buffer. Committed to head because this code no longer exists upstream. Submitted by: jasone@ Modified: head/contrib/openpam/lib/openpam_configure.c Modified: head/contrib/openpam/lib/openpam_configure.c ============================================================================== --- head/contrib/openpam/lib/openpam_configure.c Thu Apr 12 10:48:43 2012 (r234172) +++ head/contrib/openpam/lib/openpam_configure.c Thu Apr 12 11:23:24 2012 (r234173) @@ -360,7 +360,7 @@ openpam_parse_chain(pam_handle_t *pamh, pam_chain_t *this, **next; pam_facility_t fclt; pam_control_t ctlf; - char *line, *str, *name; + char *line0, *line, *str, *name; char *option, **optv; int len, lineno, ret; FILE *f; @@ -377,18 +377,18 @@ openpam_parse_chain(pam_handle_t *pamh, this = NULL; name = NULL; lineno = 0; - while ((line = openpam_readline(f, &lineno, NULL)) != NULL) { + while ((line0 = line = openpam_readline(f, &lineno, NULL)) != NULL) { /* get service name if necessary */ if (style == pam_conf_style) { if ((len = parse_service_name(&line, &str)) == 0) { openpam_log(PAM_LOG_NOTICE, "%s(%d): invalid service name (ignored)", filename, lineno); - FREE(line); + FREE(line0); continue; } if (strlcmp(service, str, len) != 0) { - FREE(line); + FREE(line0); continue; } } @@ -401,7 +401,7 @@ openpam_parse_chain(pam_handle_t *pamh, goto fail; } if (facility != fclt && facility != PAM_FACILITY_ANY) { - FREE(line); + FREE(line0); continue; } @@ -425,7 +425,7 @@ openpam_parse_chain(pam_handle_t *pamh, FREE(name); if (ret != PAM_SUCCESS) goto fail; - FREE(line); + FREE(line0); continue; } @@ -486,7 +486,7 @@ openpam_parse_chain(pam_handle_t *pamh, this = NULL; /* next please... */ - FREE(line); + FREE(line0); } if (!feof(f)) goto syserr; From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 11:27:10 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1C729106566B; Thu, 12 Apr 2012 11:27:10 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 05B1E8FC14; Thu, 12 Apr 2012 11:27:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CBR9Bd026349; Thu, 12 Apr 2012 11:27:09 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CBR9VO026345; Thu, 12 Apr 2012 11:27:09 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204121127.q3CBR9VO026345@svn.freebsd.org> From: Luigi Rizzo Date: Thu, 12 Apr 2012 11:27:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234174 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 11:27:10 -0000 Author: luigi Date: Thu Apr 12 11:27:09 2012 New Revision: 234174 URL: http://svn.freebsd.org/changeset/base/234174 Log: Some code restructuring to bring the memory allocator out of netmap.c and make it easier to replace it with a different implementation. On passing, also fix indentation. NOTE: I know that #include "foo.c" is ugly, but the alternative (add another entry to sys/conf/files, add a separate header with structs and prototypes, and expose functions that are meant to be private) looks even worse to me. We need a more modular way to specify dependencies and build options. Added: head/sys/dev/netmap/netmap_mem1.c (contents, props changed) Modified: head/sys/dev/netmap/netmap.c head/sys/dev/netmap/netmap_kern.h Modified: head/sys/dev/netmap/netmap.c ============================================================================== --- head/sys/dev/netmap/netmap.c Thu Apr 12 11:23:24 2012 (r234173) +++ head/sys/dev/netmap/netmap.c Thu Apr 12 11:27:09 2012 (r234174) @@ -116,507 +116,13 @@ SYSCTL_INT(_dev_netmap, OID_AUTO, no_pen CTLFLAG_RW, &netmap_no_pendintr, 0, "Always look for new received packets."); - -/*----- memory allocator -----------------*/ -/* - * Here we have the low level routines for memory allocator - * and its primary users. - */ - -/* - * Default amount of memory pre-allocated by the module. - * We start with a large size and then shrink our demand - * according to what is avalable when the module is loaded. - * At the moment the block is contiguous, but we can easily - * restrict our demand to smaller units (16..64k) - */ -#define NETMAP_MEMORY_SIZE (64 * 1024 * PAGE_SIZE) -static void * netmap_malloc(size_t size, const char *msg); -static void netmap_free(void *addr, const char *msg); - -#define netmap_if_malloc(len) netmap_malloc(len, "nifp") -#define netmap_if_free(v) netmap_free((v), "nifp") - -#define netmap_ring_malloc(len) netmap_malloc(len, "ring") -#define netmap_free_rings(na) \ - netmap_free((na)->tx_rings[0].ring, "shadow rings"); - -/* - * Allocator for a pool of packet buffers. For each buffer we have - * one entry in the bitmap to signal the state. Allocation scans - * the bitmap, but since this is done only on attach, we are not - * too worried about performance - * XXX if we need to allocate small blocks, a translation - * table is used both for kernel virtual address and physical - * addresses. - */ -struct netmap_buf_pool { - u_int total_buffers; /* total buffers. */ - u_int free; - u_int bufsize; - char *base; /* buffer base address */ - uint32_t *bitmap; /* one bit per buffer, 1 means free */ -}; -struct netmap_buf_pool nm_buf_pool; -SYSCTL_INT(_dev_netmap, OID_AUTO, total_buffers, - CTLFLAG_RD, &nm_buf_pool.total_buffers, 0, "total_buffers"); -SYSCTL_INT(_dev_netmap, OID_AUTO, free_buffers, - CTLFLAG_RD, &nm_buf_pool.free, 0, "free_buffers"); - - - - -/* - * Allocate n buffers from the ring, and fill the slot. - * Buffer 0 is the 'junk' buffer. - */ -static void -netmap_new_bufs(struct netmap_if *nifp __unused, - struct netmap_slot *slot, u_int n) -{ - struct netmap_buf_pool *p = &nm_buf_pool; - uint32_t bi = 0; /* index in the bitmap */ - uint32_t mask, j, i = 0; /* slot counter */ - - if (n > p->free) { - D("only %d out of %d buffers available", i, n); - return; - } - /* termination is guaranteed by p->free */ - while (i < n && p->free > 0) { - uint32_t cur = p->bitmap[bi]; - if (cur == 0) { /* bitmask is fully used */ - bi++; - continue; - } - /* locate a slot */ - for (j = 0, mask = 1; (cur & mask) == 0; j++, mask <<= 1) ; - p->bitmap[bi] &= ~mask; /* slot in use */ - p->free--; - slot[i].buf_idx = bi*32+j; - slot[i].len = p->bufsize; - slot[i].flags = NS_BUF_CHANGED; - i++; - } - ND("allocated %d buffers, %d available", n, p->free); -} - - -static void -netmap_free_buf(struct netmap_if *nifp __unused, uint32_t i) -{ - struct netmap_buf_pool *p = &nm_buf_pool; - - uint32_t pos, mask; - if (i >= p->total_buffers) { - D("invalid free index %d", i); - return; - } - pos = i / 32; - mask = 1 << (i % 32); - if (p->bitmap[pos] & mask) { - D("slot %d already free", i); - return; - } - p->bitmap[pos] |= mask; - p->free++; -} - - -/* Descriptor of the memory objects handled by our memory allocator. */ -struct netmap_mem_obj { - TAILQ_ENTRY(netmap_mem_obj) nmo_next; /* next object in the - chain. */ - int nmo_used; /* flag set on used memory objects. */ - size_t nmo_size; /* size of the memory area reserved for the - object. */ - void *nmo_data; /* pointer to the memory area. */ -}; - -/* Wrap our memory objects to make them ``chainable``. */ -TAILQ_HEAD(netmap_mem_obj_h, netmap_mem_obj); - - -/* Descriptor of our custom memory allocator. */ -struct netmap_mem_d { - struct mtx nm_mtx; /* lock used to handle the chain of memory - objects. */ - struct netmap_mem_obj_h nm_molist; /* list of memory objects */ - size_t nm_size; /* total amount of memory used for rings etc. */ - size_t nm_totalsize; /* total amount of allocated memory - (the difference is used for buffers) */ - size_t nm_buf_start; /* offset of packet buffers. - This is page-aligned. */ - size_t nm_buf_len; /* total memory for buffers */ - void *nm_buffer; /* pointer to the whole pre-allocated memory - area. */ -}; - -/* Shorthand to compute a netmap interface offset. */ -#define netmap_if_offset(v) \ - ((char *) (v) - (char *) nm_mem->nm_buffer) -/* .. and get a physical address given a memory offset */ -#define netmap_ofstophys(o) \ - (vtophys(nm_mem->nm_buffer) + (o)) - - -/*------ netmap memory allocator -------*/ -/* - * Request for a chunk of memory. - * - * Memory objects are arranged into a list, hence we need to walk this - * list until we find an object with the needed amount of data free. - * This sounds like a completely inefficient implementation, but given - * the fact that data allocation is done once, we can handle it - * flawlessly. - * - * Return NULL on failure. - */ -static void * -netmap_malloc(size_t size, __unused const char *msg) -{ - struct netmap_mem_obj *mem_obj, *new_mem_obj; - void *ret = NULL; - - NMA_LOCK(); - TAILQ_FOREACH(mem_obj, &nm_mem->nm_molist, nmo_next) { - if (mem_obj->nmo_used != 0 || mem_obj->nmo_size < size) - continue; - - new_mem_obj = malloc(sizeof(struct netmap_mem_obj), M_NETMAP, - M_WAITOK | M_ZERO); - TAILQ_INSERT_BEFORE(mem_obj, new_mem_obj, nmo_next); - - new_mem_obj->nmo_used = 1; - new_mem_obj->nmo_size = size; - new_mem_obj->nmo_data = mem_obj->nmo_data; - memset(new_mem_obj->nmo_data, 0, new_mem_obj->nmo_size); - - mem_obj->nmo_size -= size; - mem_obj->nmo_data = (char *) mem_obj->nmo_data + size; - if (mem_obj->nmo_size == 0) { - TAILQ_REMOVE(&nm_mem->nm_molist, mem_obj, - nmo_next); - free(mem_obj, M_NETMAP); - } - - ret = new_mem_obj->nmo_data; - - break; - } - NMA_UNLOCK(); - ND("%s: %d bytes at %p", msg, size, ret); - - return (ret); -} - -/* - * Return the memory to the allocator. - * - * While freeing a memory object, we try to merge adjacent chunks in - * order to reduce memory fragmentation. - */ -static void -netmap_free(void *addr, const char *msg) -{ - size_t size; - struct netmap_mem_obj *cur, *prev, *next; - - if (addr == NULL) { - D("NULL addr for %s", msg); - return; - } - - NMA_LOCK(); - TAILQ_FOREACH(cur, &nm_mem->nm_molist, nmo_next) { - if (cur->nmo_data == addr && cur->nmo_used) - break; - } - if (cur == NULL) { - NMA_UNLOCK(); - D("invalid addr %s %p", msg, addr); - return; - } - - size = cur->nmo_size; - cur->nmo_used = 0; - - /* merge current chunk of memory with the previous one, - if present. */ - prev = TAILQ_PREV(cur, netmap_mem_obj_h, nmo_next); - if (prev && prev->nmo_used == 0) { - TAILQ_REMOVE(&nm_mem->nm_molist, cur, nmo_next); - prev->nmo_size += cur->nmo_size; - free(cur, M_NETMAP); - cur = prev; - } - - /* merge with the next one */ - next = TAILQ_NEXT(cur, nmo_next); - if (next && next->nmo_used == 0) { - TAILQ_REMOVE(&nm_mem->nm_molist, next, nmo_next); - cur->nmo_size += next->nmo_size; - free(next, M_NETMAP); - } - NMA_UNLOCK(); - ND("freed %s %d bytes at %p", msg, size, addr); -} - - -/* - * Create and return a new ``netmap_if`` object, and possibly also - * rings and packet buffors. - * - * Return NULL on failure. - */ -static void * -netmap_if_new(const char *ifname, struct netmap_adapter *na) -{ - struct netmap_if *nifp; - struct netmap_ring *ring; - struct netmap_kring *kring; - char *buff; - u_int i, len, ofs, numdesc; - u_int nrx = na->num_rx_queues + 1; /* shorthand, include stack queue */ - u_int ntx = na->num_tx_queues + 1; /* shorthand, include stack queue */ - - /* - * the descriptor is followed inline by an array of offsets - * to the tx and rx rings in the shared memory region. - */ - len = sizeof(struct netmap_if) + (nrx + ntx) * sizeof(ssize_t); - nifp = netmap_if_malloc(len); - if (nifp == NULL) - return (NULL); - - /* initialize base fields */ - *(int *)(uintptr_t)&nifp->ni_rx_queues = na->num_rx_queues; - *(int *)(uintptr_t)&nifp->ni_tx_queues = na->num_tx_queues; - strncpy(nifp->ni_name, ifname, IFNAMSIZ); - - (na->refcount)++; /* XXX atomic ? we are under lock */ - if (na->refcount > 1) - goto final; - - /* - * First instance. Allocate the netmap rings - * (one for each hw queue, one pair for the host). - * The rings are contiguous, but have variable size. - * The entire block is reachable at - * na->tx_rings[0] - */ - len = (ntx + nrx) * sizeof(struct netmap_ring) + - (ntx * na->num_tx_desc + nrx * na->num_rx_desc) * - sizeof(struct netmap_slot); - buff = netmap_ring_malloc(len); - if (buff == NULL) { - D("failed to allocate %d bytes for %s shadow ring", - len, ifname); -error: - (na->refcount)--; - netmap_if_free(nifp); - return (NULL); - } - /* Check whether we have enough buffers */ - len = ntx * na->num_tx_desc + nrx * na->num_rx_desc; - NMA_LOCK(); - if (nm_buf_pool.free < len) { - NMA_UNLOCK(); - netmap_free(buff, "not enough bufs"); - goto error; - } - /* - * in the kring, store the pointers to the shared rings - * and initialize the rings. We are under NMA_LOCK(). - */ - ofs = 0; - for (i = 0; i < ntx; i++) { /* Transmit rings */ - kring = &na->tx_rings[i]; - numdesc = na->num_tx_desc; - bzero(kring, sizeof(*kring)); - kring->na = na; - - ring = kring->ring = (struct netmap_ring *)(buff + ofs); - *(ssize_t *)(uintptr_t)&ring->buf_ofs = - nm_buf_pool.base - (char *)ring; - ND("txring[%d] at %p ofs %d", i, ring, ring->buf_ofs); - *(uint32_t *)(uintptr_t)&ring->num_slots = - kring->nkr_num_slots = numdesc; - - /* - * IMPORTANT: - * Always keep one slot empty, so we can detect new - * transmissions comparing cur and nr_hwcur (they are - * the same only if there are no new transmissions). - */ - ring->avail = kring->nr_hwavail = numdesc - 1; - ring->cur = kring->nr_hwcur = 0; - *(uint16_t *)(uintptr_t)&ring->nr_buf_size = NETMAP_BUF_SIZE; - netmap_new_bufs(nifp, ring->slot, numdesc); - - ofs += sizeof(struct netmap_ring) + - numdesc * sizeof(struct netmap_slot); - } - - for (i = 0; i < nrx; i++) { /* Receive rings */ - kring = &na->rx_rings[i]; - numdesc = na->num_rx_desc; - bzero(kring, sizeof(*kring)); - kring->na = na; - - ring = kring->ring = (struct netmap_ring *)(buff + ofs); - *(ssize_t *)(uintptr_t)&ring->buf_ofs = - nm_buf_pool.base - (char *)ring; - ND("rxring[%d] at %p offset %d", i, ring, ring->buf_ofs); - *(uint32_t *)(uintptr_t)&ring->num_slots = - kring->nkr_num_slots = numdesc; - ring->cur = kring->nr_hwcur = 0; - ring->avail = kring->nr_hwavail = 0; /* empty */ - *(uint16_t *)(uintptr_t)&ring->nr_buf_size = NETMAP_BUF_SIZE; - netmap_new_bufs(nifp, ring->slot, numdesc); - ofs += sizeof(struct netmap_ring) + - numdesc * sizeof(struct netmap_slot); - } - NMA_UNLOCK(); - // XXX initialize the selrecord structs. - -final: - /* - * fill the slots for the rx and tx queues. They contain the offset - * between the ring and nifp, so the information is usable in - * userspace to reach the ring from the nifp. - */ - for (i = 0; i < ntx; i++) { - *(ssize_t *)(uintptr_t)&nifp->ring_ofs[i] = - (char *)na->tx_rings[i].ring - (char *)nifp; - } - for (i = 0; i < nrx; i++) { - *(ssize_t *)(uintptr_t)&nifp->ring_ofs[i+ntx] = - (char *)na->rx_rings[i].ring - (char *)nifp; - } - return (nifp); -} - -/* - * Initialize the memory allocator. - * - * Create the descriptor for the memory , allocate the pool of memory - * and initialize the list of memory objects with a single chunk - * containing the whole pre-allocated memory marked as free. - * - * Start with a large size, then halve as needed if we fail to - * allocate the block. While halving, always add one extra page - * because buffers 0 and 1 are used for special purposes. - * Return 0 on success, errno otherwise. - */ -static int -netmap_memory_init(void) -{ - struct netmap_mem_obj *mem_obj; - void *buf = NULL; - int i, n, sz = NETMAP_MEMORY_SIZE; - int extra_sz = 0; // space for rings and two spare buffers - - for (; sz >= 1<<20; sz >>=1) { - extra_sz = sz/200; - extra_sz = (extra_sz + 2*PAGE_SIZE - 1) & ~(PAGE_SIZE-1); - buf = contigmalloc(sz + extra_sz, - M_NETMAP, - M_WAITOK | M_ZERO, - 0, /* low address */ - -1UL, /* high address */ - PAGE_SIZE, /* alignment */ - 0 /* boundary */ - ); - if (buf) - break; - } - if (buf == NULL) - return (ENOMEM); - sz += extra_sz; - nm_mem = malloc(sizeof(struct netmap_mem_d), M_NETMAP, - M_WAITOK | M_ZERO); - mtx_init(&nm_mem->nm_mtx, "netmap memory allocator lock", NULL, - MTX_DEF); - TAILQ_INIT(&nm_mem->nm_molist); - nm_mem->nm_buffer = buf; - nm_mem->nm_totalsize = sz; - - /* - * A buffer takes 2k, a slot takes 8 bytes + ring overhead, - * so the ratio is 200:1. In other words, we can use 1/200 of - * the memory for the rings, and the rest for the buffers, - * and be sure we never run out. - */ - nm_mem->nm_size = sz/200; - nm_mem->nm_buf_start = - (nm_mem->nm_size + PAGE_SIZE - 1) & ~(PAGE_SIZE-1); - nm_mem->nm_buf_len = sz - nm_mem->nm_buf_start; - - nm_buf_pool.base = nm_mem->nm_buffer; - nm_buf_pool.base += nm_mem->nm_buf_start; - netmap_buffer_base = nm_buf_pool.base; - D("netmap_buffer_base %p (offset %d)", - netmap_buffer_base, (int)nm_mem->nm_buf_start); - /* number of buffers, they all start as free */ - - netmap_total_buffers = nm_buf_pool.total_buffers = - nm_mem->nm_buf_len / NETMAP_BUF_SIZE; - nm_buf_pool.bufsize = NETMAP_BUF_SIZE; - - D("Have %d MB, use %dKB for rings, %d buffers at %p", - (sz >> 20), (int)(nm_mem->nm_size >> 10), - nm_buf_pool.total_buffers, nm_buf_pool.base); - - /* allocate and initialize the bitmap. Entry 0 is considered - * always busy (used as default when there are no buffers left). - */ - n = (nm_buf_pool.total_buffers + 31) / 32; - nm_buf_pool.bitmap = malloc(sizeof(uint32_t) * n, M_NETMAP, - M_WAITOK | M_ZERO); - nm_buf_pool.bitmap[0] = ~3; /* slot 0 and 1 always busy */ - for (i = 1; i < n; i++) - nm_buf_pool.bitmap[i] = ~0; - nm_buf_pool.free = nm_buf_pool.total_buffers - 2; - - mem_obj = malloc(sizeof(struct netmap_mem_obj), M_NETMAP, - M_WAITOK | M_ZERO); - TAILQ_INSERT_HEAD(&nm_mem->nm_molist, mem_obj, nmo_next); - mem_obj->nmo_used = 0; - mem_obj->nmo_size = nm_mem->nm_size; - mem_obj->nmo_data = nm_mem->nm_buffer; - - return (0); -} - - -/* - * Finalize the memory allocator. - * - * Free all the memory objects contained inside the list, and deallocate - * the pool of memory; finally free the memory allocator descriptor. - */ -static void -netmap_memory_fini(void) -{ - struct netmap_mem_obj *mem_obj; - - while (!TAILQ_EMPTY(&nm_mem->nm_molist)) { - mem_obj = TAILQ_FIRST(&nm_mem->nm_molist); - TAILQ_REMOVE(&nm_mem->nm_molist, mem_obj, nmo_next); - if (mem_obj->nmo_used == 1) { - printf("netmap: leaked %d bytes at %p\n", - (int)mem_obj->nmo_size, - mem_obj->nmo_data); - } - free(mem_obj, M_NETMAP); - } - contigfree(nm_mem->nm_buffer, nm_mem->nm_totalsize, M_NETMAP); - // XXX mutex_destroy(nm_mtx); - free(nm_mem, M_NETMAP); -} -/*------------- end of memory allocator -----------------*/ - +/*------------- memory allocator -----------------*/ +#ifdef NETMAP_MEM2 +#include "netmap_mem2.c" +#else /* !NETMAP_MEM2 */ +#include "netmap_mem1.c" +#endif /* !NETMAP_MEM2 */ +/*------------ end of memory allocator ----------*/ /* Structure associated to each thread which registered an interface. */ struct netmap_priv_d { @@ -837,7 +343,7 @@ netmap_sync_from_host(struct netmap_adap if (j != k) { n = k >= j ? k - j : k + lim - j; kring->nr_hwavail -= n; - kring->nr_hwcur = k; + kring->nr_hwcur = k; } k = ring->avail = kring->nr_hwavail - resvd; if (k == 0 && td) @@ -1150,27 +656,28 @@ error: /* find the last ring to scan */ lim = priv->np_qlast; if (lim == NETMAP_HW_RING) - lim = (cmd == NIOCTXSYNC) ? na->num_tx_queues : na->num_rx_queues; + lim = (cmd == NIOCTXSYNC) ? + na->num_tx_queues : na->num_rx_queues; for (i = priv->np_qfirst; i < lim; i++) { - if (cmd == NIOCTXSYNC) { - struct netmap_kring *kring = &na->tx_rings[i]; - if (netmap_verbose & NM_VERB_TXSYNC) - D("sync tx ring %d cur %d hwcur %d", - i, kring->ring->cur, - kring->nr_hwcur); - na->nm_txsync(ifp, i, 1 /* do lock */); - if (netmap_verbose & NM_VERB_TXSYNC) - D("after sync tx ring %d cur %d hwcur %d", - i, kring->ring->cur, - kring->nr_hwcur); - } else { - na->nm_rxsync(ifp, i, 1 /* do lock */); - microtime(&na->rx_rings[i].ring->ts); - } + if (cmd == NIOCTXSYNC) { + struct netmap_kring *kring = &na->tx_rings[i]; + if (netmap_verbose & NM_VERB_TXSYNC) + D("pre txsync ring %d cur %d hwcur %d", + i, kring->ring->cur, + kring->nr_hwcur); + na->nm_txsync(ifp, i, 1 /* do lock */); + if (netmap_verbose & NM_VERB_TXSYNC) + D("post txsync ring %d cur %d hwcur %d", + i, kring->ring->cur, + kring->nr_hwcur); + } else { + na->nm_rxsync(ifp, i, 1 /* do lock */); + microtime(&na->rx_rings[i].ring->ts); + } } - break; + break; case BIOCIMMEDIATE: case BIOCGHDRCMPLT: @@ -1645,13 +1152,13 @@ netmap_reset(struct netmap_adapter *na, * Default functions to handle rx/tx interrupts * we have 4 cases: * 1 ring, single lock: - * lock(core); wake(i=0); unlock(core) + * lock(core); wake(i=0); unlock(core) * N rings, single lock: - * lock(core); wake(i); wake(N+1) unlock(core) + * lock(core); wake(i); wake(N+1) unlock(core) * 1 ring, separate locks: (i=0) - * lock(i); wake(i); unlock(i) + * lock(i); wake(i); unlock(i) * N rings, separate locks: - * lock(i); wake(i); unlock(i); lock(core) wake(N+1) unlock(core) + * lock(i); wake(i); unlock(i); lock(core) wake(N+1) unlock(core) * work_done is non-null on the RX path. */ int @@ -1689,7 +1196,7 @@ netmap_rx_irq(struct ifnet *ifp, int q, selwakeuppri(main_wq, PI_NET); mtx_unlock(&na->core_lock); } - *work_done = 1; /* do not fire napi again */ + *work_done = 1; /* do not fire napi again */ return 1; } Modified: head/sys/dev/netmap/netmap_kern.h ============================================================================== --- head/sys/dev/netmap/netmap_kern.h Thu Apr 12 11:23:24 2012 (r234173) +++ head/sys/dev/netmap/netmap_kern.h Thu Apr 12 11:27:09 2012 (r234174) @@ -86,7 +86,7 @@ struct netmap_kring { u_int nr_hwcur; int nr_hwavail; u_int nr_kflags; /* private driver flags */ -#define NKR_PENDINTR 0x1 // Pending interrupt. +#define NKR_PENDINTR 0x1 // Pending interrupt. u_int nkr_num_slots; int nkr_hwofs; /* offset between NIC and netmap ring */ @@ -208,7 +208,7 @@ struct netmap_slot *netmap_reset(struct int netmap_ring_reinit(struct netmap_kring *); extern int netmap_buf_size; -#define NETMAP_BUF_SIZE netmap_buf_size +#define NETMAP_BUF_SIZE netmap_buf_size extern int netmap_mitigate; extern int netmap_no_pendintr; extern u_int netmap_total_buffers; @@ -303,7 +303,7 @@ NMB(struct netmap_slot *slot) { uint32_t i = slot->buf_idx; return (i >= netmap_total_buffers) ? netmap_buffer_base : - netmap_buffer_base + (i *NETMAP_BUF_SIZE); + netmap_buffer_base + (i * NETMAP_BUF_SIZE); } static inline void * @@ -311,7 +311,7 @@ PNMB(struct netmap_slot *slot, uint64_t { uint32_t i = slot->buf_idx; void *ret = (i >= netmap_total_buffers) ? netmap_buffer_base : - netmap_buffer_base + (i *NETMAP_BUF_SIZE); + netmap_buffer_base + (i * NETMAP_BUF_SIZE); *pp = vtophys(ret); return ret; } @@ -319,8 +319,4 @@ PNMB(struct netmap_slot *slot, uint64_t /* default functions to handle rx/tx interrupts */ int netmap_rx_irq(struct ifnet *, int, int *); #define netmap_tx_irq(_n, _q) netmap_rx_irq(_n, _q, NULL) -#ifdef __linux__ -#define bus_dmamap_sync(_a, _b, _c) // wmb() or rmb() ? -netdev_tx_t netmap_start_linux(struct sk_buff *skb, struct net_device *dev); -#endif #endif /* _NET_NETMAP_KERN_H_ */ Added: head/sys/dev/netmap/netmap_mem1.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/netmap/netmap_mem1.c Thu Apr 12 11:27:09 2012 (r234174) @@ -0,0 +1,521 @@ +/* + * Copyright (C) 2011 Matteo Landi, Luigi Rizzo. 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$ + * + * The original netmap memory allocator, using a single large + * chunk of memory allocated with contigmalloc. + */ + +/* + * Default amount of memory pre-allocated by the module. + * We start with a large size and then shrink our demand + * according to what is avalable when the module is loaded. + */ +#define NETMAP_MEMORY_SIZE (64 * 1024 * PAGE_SIZE) +static void * netmap_malloc(size_t size, const char *msg); +static void netmap_free(void *addr, const char *msg); + +#define netmap_if_malloc(len) netmap_malloc(len, "nifp") +#define netmap_if_free(v) netmap_free((v), "nifp") + +#define netmap_ring_malloc(len) netmap_malloc(len, "ring") +#define netmap_free_rings(na) \ + netmap_free((na)->tx_rings[0].ring, "shadow rings"); + +/* + * Allocator for a pool of packet buffers. For each buffer we have + * one entry in the bitmap to signal the state. Allocation scans + * the bitmap, but since this is done only on attach, we are not + * too worried about performance + * XXX if we need to allocate small blocks, a translation + * table is used both for kernel virtual address and physical + * addresses. + */ +struct netmap_buf_pool { + u_int total_buffers; /* total buffers. */ + u_int free; + u_int bufsize; + char *base; /* buffer base address */ + uint32_t *bitmap; /* one bit per buffer, 1 means free */ +}; +struct netmap_buf_pool nm_buf_pool; +SYSCTL_INT(_dev_netmap, OID_AUTO, total_buffers, + CTLFLAG_RD, &nm_buf_pool.total_buffers, 0, "total_buffers"); +SYSCTL_INT(_dev_netmap, OID_AUTO, free_buffers, + CTLFLAG_RD, &nm_buf_pool.free, 0, "free_buffers"); + + +/* + * Allocate n buffers from the ring, and fill the slot. + * Buffer 0 is the 'junk' buffer. + */ +static void +netmap_new_bufs(struct netmap_if *nifp __unused, + struct netmap_slot *slot, u_int n) +{ + struct netmap_buf_pool *p = &nm_buf_pool; + uint32_t bi = 0; /* index in the bitmap */ + uint32_t mask, j, i = 0; /* slot counter */ + + if (n > p->free) { + D("only %d out of %d buffers available", i, n); + return; + } + /* termination is guaranteed by p->free */ + while (i < n && p->free > 0) { + uint32_t cur = p->bitmap[bi]; + if (cur == 0) { /* bitmask is fully used */ + bi++; + continue; + } + /* locate a slot */ + for (j = 0, mask = 1; (cur & mask) == 0; j++, mask <<= 1) ; + p->bitmap[bi] &= ~mask; /* slot in use */ + p->free--; + slot[i].buf_idx = bi*32+j; + slot[i].len = p->bufsize; + slot[i].flags = NS_BUF_CHANGED; + i++; + } + ND("allocated %d buffers, %d available", n, p->free); +} + + +static void +netmap_free_buf(struct netmap_if *nifp __unused, uint32_t i) +{ + struct netmap_buf_pool *p = &nm_buf_pool; + + uint32_t pos, mask; + if (i >= p->total_buffers) { + D("invalid free index %d", i); + return; + } + pos = i / 32; + mask = 1 << (i % 32); + if (p->bitmap[pos] & mask) { + D("slot %d already free", i); + return; + } + p->bitmap[pos] |= mask; + p->free++; +} + + +/* Descriptor of the memory objects handled by our memory allocator. */ +struct netmap_mem_obj { + TAILQ_ENTRY(netmap_mem_obj) nmo_next; /* next object in the + chain. */ + int nmo_used; /* flag set on used memory objects. */ + size_t nmo_size; /* size of the memory area reserved for the + object. */ + void *nmo_data; /* pointer to the memory area. */ +}; + +/* Wrap our memory objects to make them ``chainable``. */ +TAILQ_HEAD(netmap_mem_obj_h, netmap_mem_obj); + + +/* Descriptor of our custom memory allocator. */ +struct netmap_mem_d { + struct mtx nm_mtx; /* lock used to handle the chain of memory + objects. */ + struct netmap_mem_obj_h nm_molist; /* list of memory objects */ + size_t nm_size; /* total amount of memory used for rings etc. */ + size_t nm_totalsize; /* total amount of allocated memory + (the difference is used for buffers) */ + size_t nm_buf_start; /* offset of packet buffers. + This is page-aligned. */ + size_t nm_buf_len; /* total memory for buffers */ + void *nm_buffer; /* pointer to the whole pre-allocated memory + area. */ +}; + +/* Shorthand to compute a netmap interface offset. */ +#define netmap_if_offset(v) \ + ((char *) (v) - (char *) nm_mem->nm_buffer) +/* .. and get a physical address given a memory offset */ +#define netmap_ofstophys(o) \ + (vtophys(nm_mem->nm_buffer) + (o)) + + +/*------ netmap memory allocator -------*/ +/* + * Request for a chunk of memory. + * + * Memory objects are arranged into a list, hence we need to walk this + * list until we find an object with the needed amount of data free. + * This sounds like a completely inefficient implementation, but given + * the fact that data allocation is done once, we can handle it + * flawlessly. + * + * Return NULL on failure. + */ +static void * +netmap_malloc(size_t size, __unused const char *msg) +{ + struct netmap_mem_obj *mem_obj, *new_mem_obj; + void *ret = NULL; + + NMA_LOCK(); + TAILQ_FOREACH(mem_obj, &nm_mem->nm_molist, nmo_next) { + if (mem_obj->nmo_used != 0 || mem_obj->nmo_size < size) + continue; + + new_mem_obj = malloc(sizeof(struct netmap_mem_obj), M_NETMAP, + M_WAITOK | M_ZERO); + TAILQ_INSERT_BEFORE(mem_obj, new_mem_obj, nmo_next); + + new_mem_obj->nmo_used = 1; + new_mem_obj->nmo_size = size; + new_mem_obj->nmo_data = mem_obj->nmo_data; + memset(new_mem_obj->nmo_data, 0, new_mem_obj->nmo_size); + + mem_obj->nmo_size -= size; + mem_obj->nmo_data = (char *) mem_obj->nmo_data + size; + if (mem_obj->nmo_size == 0) { + TAILQ_REMOVE(&nm_mem->nm_molist, mem_obj, + nmo_next); + free(mem_obj, M_NETMAP); + } + + ret = new_mem_obj->nmo_data; + + break; + } + NMA_UNLOCK(); + ND("%s: %d bytes at %p", msg, size, ret); + + return (ret); +} + +/* + * Return the memory to the allocator. + * + * While freeing a memory object, we try to merge adjacent chunks in + * order to reduce memory fragmentation. + */ +static void +netmap_free(void *addr, const char *msg) +{ + size_t size; + struct netmap_mem_obj *cur, *prev, *next; + + if (addr == NULL) { + D("NULL addr for %s", msg); + return; + } + + NMA_LOCK(); + TAILQ_FOREACH(cur, &nm_mem->nm_molist, nmo_next) { + if (cur->nmo_data == addr && cur->nmo_used) + break; + } + if (cur == NULL) { + NMA_UNLOCK(); + D("invalid addr %s %p", msg, addr); + return; + } + + size = cur->nmo_size; + cur->nmo_used = 0; + + /* merge current chunk of memory with the previous one, + if present. */ + prev = TAILQ_PREV(cur, netmap_mem_obj_h, nmo_next); + if (prev && prev->nmo_used == 0) { + TAILQ_REMOVE(&nm_mem->nm_molist, cur, nmo_next); + prev->nmo_size += cur->nmo_size; + free(cur, M_NETMAP); + cur = prev; + } + + /* merge with the next one */ + next = TAILQ_NEXT(cur, nmo_next); + if (next && next->nmo_used == 0) { + TAILQ_REMOVE(&nm_mem->nm_molist, next, nmo_next); + cur->nmo_size += next->nmo_size; + free(next, M_NETMAP); + } + NMA_UNLOCK(); + ND("freed %s %d bytes at %p", msg, size, addr); +} + + +/* + * Create and return a new ``netmap_if`` object, and possibly also + * rings and packet buffors. + * + * Return NULL on failure. + */ +static void * +netmap_if_new(const char *ifname, struct netmap_adapter *na) +{ + struct netmap_if *nifp; + struct netmap_ring *ring; + struct netmap_kring *kring; + char *buff; + u_int i, len, ofs, numdesc; + u_int nrx = na->num_rx_queues + 1; /* shorthand, include stack queue */ + u_int ntx = na->num_tx_queues + 1; /* shorthand, include stack queue */ + + /* + * the descriptor is followed inline by an array of offsets + * to the tx and rx rings in the shared memory region. + */ + len = sizeof(struct netmap_if) + (nrx + ntx) * sizeof(ssize_t); + nifp = netmap_if_malloc(len); + if (nifp == NULL) + return (NULL); + + /* initialize base fields */ + *(int *)(uintptr_t)&nifp->ni_rx_queues = na->num_rx_queues; + *(int *)(uintptr_t)&nifp->ni_tx_queues = na->num_tx_queues; + strncpy(nifp->ni_name, ifname, IFNAMSIZ); + + (na->refcount)++; /* XXX atomic ? we are under lock */ + if (na->refcount > 1) + goto final; + + /* + * First instance. Allocate the netmap rings + * (one for each hw queue, one pair for the host). + * The rings are contiguous, but have variable size. + * The entire block is reachable at + * na->tx_rings[0] + */ + len = (ntx + nrx) * sizeof(struct netmap_ring) + + (ntx * na->num_tx_desc + nrx * na->num_rx_desc) * + sizeof(struct netmap_slot); + buff = netmap_ring_malloc(len); + if (buff == NULL) { + D("failed to allocate %d bytes for %s shadow ring", + len, ifname); +error: + (na->refcount)--; + netmap_if_free(nifp); + return (NULL); + } + /* Check whether we have enough buffers */ + len = ntx * na->num_tx_desc + nrx * na->num_rx_desc; + NMA_LOCK(); + if (nm_buf_pool.free < len) { + NMA_UNLOCK(); + netmap_free(buff, "not enough bufs"); + goto error; + } + /* + * in the kring, store the pointers to the shared rings + * and initialize the rings. We are under NMA_LOCK(). + */ + ofs = 0; + for (i = 0; i < ntx; i++) { /* Transmit rings */ + kring = &na->tx_rings[i]; + numdesc = na->num_tx_desc; + bzero(kring, sizeof(*kring)); + kring->na = na; + + ring = kring->ring = (struct netmap_ring *)(buff + ofs); + *(ssize_t *)(uintptr_t)&ring->buf_ofs = + nm_buf_pool.base - (char *)ring; + ND("txring[%d] at %p ofs %d", i, ring, ring->buf_ofs); + *(uint32_t *)(uintptr_t)&ring->num_slots = + kring->nkr_num_slots = numdesc; + + /* + * IMPORTANT: + * Always keep one slot empty, so we can detect new *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 12:37:54 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 32DBC106566B; Thu, 12 Apr 2012 12:37:53 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D71828FC08; Thu, 12 Apr 2012 12:37: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 q3CCbrMJ028524; Thu, 12 Apr 2012 12:37:53 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CCbrQu028522; Thu, 12 Apr 2012 12:37:53 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201204121237.q3CCbrQu028522@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Thu, 12 Apr 2012 12:37:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234176 - head/sys/boot/common X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 12:37:54 -0000 Author: ae Date: Thu Apr 12 12:37:53 2012 New Revision: 234176 URL: http://svn.freebsd.org/changeset/base/234176 Log: Read backup GPT header from the last LBA only when primary GPT header and table aren't valid. If they are ok, use hdr_lba_alt value to read backup header. This will make gptboot happy when GPT used atop of some GEOM provider, e.g. GEOM_MIRROR. Reviewed by: pjd MFC after: 2 weeks Modified: head/sys/boot/common/gpt.c Modified: head/sys/boot/common/gpt.c ============================================================================== --- head/sys/boot/common/gpt.c Thu Apr 12 12:15:15 2012 (r234175) +++ head/sys/boot/common/gpt.c Thu Apr 12 12:37:53 2012 (r234176) @@ -337,16 +337,16 @@ gptread(const uuid_t *uuid, struct dsk * gpttable = table_primary; } - altlba = drvsize(dskp); - if (altlba > 0) - altlba--; - else if (hdr_primary_lba > 0) { + if (hdr_primary_lba > 0) { /* - * If we cannot obtain disk size, but primary header - * is valid, we can get backup header location from - * there. + * If primary header is valid, we can get backup + * header location from there. */ altlba = hdr_primary.hdr_lba_alt; + } else { + altlba = drvsize(dskp); + if (altlba > 0) + altlba--; } if (altlba == 0) printf("%s: unable to locate backup GPT header\n", BOOTPROG); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 12:58:15 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 48FF7106564A; Thu, 12 Apr 2012 12:58:15 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 32F918FC12; Thu, 12 Apr 2012 12:58: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 q3CCwFRi029229; Thu, 12 Apr 2012 12:58:15 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CCwEVe029227; Thu, 12 Apr 2012 12:58:14 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201204121258.q3CCwEVe029227@svn.freebsd.org> From: Edward Tomasz Napierala Date: Thu, 12 Apr 2012 12:58:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234177 - head/sys/cam/scsi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 12:58:15 -0000 Author: trasz Date: Thu Apr 12 12:58:14 2012 New Revision: 234177 URL: http://svn.freebsd.org/changeset/base/234177 Log: Refactor da(4) to remove one of two code paths used to query capacity data. Reviewed by: ken, mav (earlier version) Sponsored by: The FreeBSD Foundation Modified: head/sys/cam/scsi/scsi_da.c Modified: head/sys/cam/scsi/scsi_da.c ============================================================================== --- head/sys/cam/scsi/scsi_da.c Thu Apr 12 12:37:53 2012 (r234176) +++ head/sys/cam/scsi/scsi_da.c Thu Apr 12 12:58:14 2012 (r234177) @@ -83,7 +83,8 @@ typedef enum { DA_FLAG_RETRY_UA = 0x080, DA_FLAG_OPEN = 0x100, DA_FLAG_SCTX_INIT = 0x200, - DA_FLAG_CAN_RC16 = 0x400 + DA_FLAG_CAN_RC16 = 0x400, + DA_FLAG_PROBED = 0x800 } da_flags; typedef enum { @@ -829,7 +830,7 @@ static void dadone(struct cam_periph *p static int daerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags); static void daprevent(struct cam_periph *periph, int action); -static int dagetcapacity(struct cam_periph *periph); +static void dareprobe(struct cam_periph *periph); static void dasetgeom(struct cam_periph *periph, uint32_t block_len, uint64_t maxsector, struct scsi_read_capacity_data_long *rcaplong, @@ -929,36 +930,29 @@ daopen(struct disk *dp) softc->flags &= ~DA_FLAG_PACK_INVALID; } - error = dagetcapacity(periph); + dareprobe(periph); - if (error == 0) { - - softc->disk->d_sectorsize = softc->params.secsize; - softc->disk->d_mediasize = softc->params.secsize * (off_t)softc->params.sectors; - softc->disk->d_stripesize = softc->params.stripesize; - softc->disk->d_stripeoffset = softc->params.stripeoffset; - /* XXX: these are not actually "firmware" values, so they may be wrong */ - softc->disk->d_fwsectors = softc->params.secs_per_track; - softc->disk->d_fwheads = softc->params.heads; - softc->disk->d_devstat->block_size = softc->params.secsize; - softc->disk->d_devstat->flags &= ~DEVSTAT_BS_UNAVAILABLE; - if (softc->delete_method > DA_DELETE_DISABLE) - softc->disk->d_flags |= DISKFLAG_CANDELETE; - else - softc->disk->d_flags &= ~DISKFLAG_CANDELETE; - - if ((softc->flags & DA_FLAG_PACK_REMOVABLE) != 0 && - (softc->quirks & DA_Q_NO_PREVENT) == 0) - daprevent(periph, PR_PREVENT); - } else - softc->flags &= ~DA_FLAG_OPEN; + /* Wait for the disk size update. */ + error = msleep(&softc->disk->d_mediasize, periph->sim->mtx, PRIBIO, + "dareprobe", 0); + if (error != 0) + xpt_print(periph->path, "unable to retrieve capacity data"); + + if (periph->flags & CAM_PERIPH_INVALID) + error = ENXIO; + + if (error == 0 && (softc->flags & DA_FLAG_PACK_REMOVABLE) != 0 && + (softc->quirks & DA_Q_NO_PREVENT) == 0) + daprevent(periph, PR_PREVENT); cam_periph_unhold(periph); cam_periph_unlock(periph); if (error != 0) { + softc->flags &= ~DA_FLAG_OPEN; cam_periph_release(periph); } + return (error); } @@ -2364,7 +2358,7 @@ dadone(struct cam_periph *periph, union } } free(csio->data_ptr, M_SCSIDA); - if (announce_buf[0] != '\0') { + if (announce_buf[0] != '\0' && ((softc->flags & DA_FLAG_PROBED) == 0)) { /* * Create our sysctl variables, now that we know * we have successfully attached. @@ -2378,9 +2372,7 @@ dadone(struct cam_periph *periph, union xpt_print(periph->path, "fatal error, " "could not acquire reference count\n"); } - } - softc->state = DA_STATE_NORMAL; /* * Since our peripheral may be invalidated by an error * above or an external event, we must release our CCB @@ -2390,7 +2382,13 @@ dadone(struct cam_periph *periph, union * operation. */ xpt_release_ccb(done_ccb); - cam_periph_unhold(periph); + softc->state = DA_STATE_NORMAL; + wakeup(&softc->disk->d_mediasize); + if ((softc->flags & DA_FLAG_PROBED) == 0) { + softc->flags |= DA_FLAG_PROBED; + cam_periph_unhold(periph); + } else + cam_periph_release_locked(periph); return; } case DA_CCB_WAITING: @@ -2408,6 +2406,30 @@ dadone(struct cam_periph *periph, union xpt_release_ccb(done_ccb); } +static void +dareprobe(struct cam_periph *periph) +{ + struct da_softc *softc; + cam_status status; + + softc = (struct da_softc *)periph->softc; + + /* Probe in progress; don't interfere. */ + if ((softc->flags & DA_FLAG_PROBED) == 0) + return; + + status = cam_periph_acquire(periph); + KASSERT(status == CAM_REQ_CMP, + ("dareprobe: cam_periph_acquire failed")); + + if (softc->flags & DA_FLAG_CAN_RC16) + softc->state = DA_STATE_PROBE2; + else + softc->state = DA_STATE_PROBE; + + xpt_schedule(periph, CAM_PRIORITY_DEV); +} + static int daerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags) { @@ -2437,6 +2459,16 @@ daerror(union ccb *ccb, u_int32_t cam_fl &error_code, &sense_key, &asc, &ascq); if (sense_key == SSD_KEY_ILLEGAL_REQUEST) error = cmd6workaround(ccb); + /* + * If the target replied with CAPACITY DATA HAS CHANGED UA, + * query the capacity and notify upper layers. + */ + else if (sense_key == SSD_KEY_UNIT_ATTENTION && + asc == 0x2A && ascq == 0x09) { + xpt_print(periph->path, "capacity data has changed\n"); + dareprobe(periph); + sense_flags |= SF_NO_PRINT; + } } if (error == ERESTART) return (ERESTART); @@ -2490,164 +2522,6 @@ daprevent(struct cam_periph *periph, int xpt_release_ccb(ccb); } -static int -dagetcapacity(struct cam_periph *periph) -{ - struct da_softc *softc; - union ccb *ccb; - struct scsi_read_capacity_data *rcap; - struct scsi_read_capacity_data_long *rcaplong; - uint32_t block_len; - uint64_t maxsector; - int error, rc16failed; - u_int32_t sense_flags; - u_int lbppbe; /* Logical blocks per physical block exponent. */ - u_int lalba; /* Lowest aligned LBA. */ - - softc = (struct da_softc *)periph->softc; - block_len = 0; - maxsector = 0; - lbppbe = 0; - lalba = 0; - error = 0; - rc16failed = 0; - rcaplong = NULL; - sense_flags = SF_RETRY_UA; - if (softc->flags & DA_FLAG_PACK_REMOVABLE) - sense_flags |= SF_NO_PRINT; - - /* Do a read capacity */ - rcap = (struct scsi_read_capacity_data *)malloc(sizeof(*rcaplong), - M_SCSIDA, - M_NOWAIT | M_ZERO); - if (rcap == NULL) - return (ENOMEM); - rcaplong = (struct scsi_read_capacity_data_long *)rcap; - - ccb = cam_periph_getccb(periph, CAM_PRIORITY_NORMAL); - - /* Try READ CAPACITY(16) first if we think it should work. */ - if (softc->flags & DA_FLAG_CAN_RC16) { - scsi_read_capacity_16(&ccb->csio, - /*retries*/ 4, - /*cbfcnp*/ dadone, - /*tag_action*/ MSG_SIMPLE_Q_TAG, - /*lba*/ 0, - /*reladr*/ 0, - /*pmi*/ 0, - /*rcap_buf*/ (uint8_t *)rcaplong, - /*rcap_buf_len*/ sizeof(*rcaplong), - /*sense_len*/ SSD_FULL_SIZE, - /*timeout*/ 60000); - ccb->ccb_h.ccb_bp = NULL; - - error = cam_periph_runccb(ccb, daerror, - /*cam_flags*/CAM_RETRY_SELTO, - sense_flags, softc->disk->d_devstat); - if (error == 0) - goto rc16ok; - - /* If we got ILLEGAL REQUEST, do not prefer RC16 any more. */ - if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INVALID) { - softc->flags &= ~DA_FLAG_CAN_RC16; - } else if (((ccb->ccb_h.status & CAM_STATUS_MASK) == - CAM_SCSI_STATUS_ERROR) - && (ccb->csio.scsi_status == SCSI_STATUS_CHECK_COND) - && (ccb->ccb_h.status & CAM_AUTOSNS_VALID) - && ((ccb->ccb_h.flags & CAM_SENSE_PHYS) == 0) - && ((ccb->ccb_h.flags & CAM_SENSE_PTR) == 0)) { - int sense_key, error_code, asc, ascq; - - scsi_extract_sense_len(&ccb->csio.sense_data, - ccb->csio.sense_len - - ccb->csio.sense_resid, - &error_code, &sense_key, - &asc, &ascq, /*show_errors*/1); - /* - * If we don't have enough sense to get the sense - * key, or if it's illegal request, turn off - * READ CAPACITY (16). - */ - if ((sense_key == -1) - || (sense_key == SSD_KEY_ILLEGAL_REQUEST)) - softc->flags &= ~DA_FLAG_CAN_RC16; - } - rc16failed = 1; - } - - /* Do READ CAPACITY(10). */ - scsi_read_capacity(&ccb->csio, - /*retries*/4, - /*cbfncp*/dadone, - MSG_SIMPLE_Q_TAG, - rcap, - SSD_FULL_SIZE, - /*timeout*/60000); - ccb->ccb_h.ccb_bp = NULL; - - error = cam_periph_runccb(ccb, daerror, - /*cam_flags*/CAM_RETRY_SELTO, - sense_flags, - softc->disk->d_devstat); - if (error == 0) { - block_len = scsi_4btoul(rcap->length); - maxsector = scsi_4btoul(rcap->addr); - - if (maxsector != 0xffffffff || rc16failed) - goto done; - } else - goto done; - - /* If READ CAPACITY(10) returned overflow, use READ CAPACITY(16) */ - scsi_read_capacity_16(&ccb->csio, - /*retries*/ 4, - /*cbfcnp*/ dadone, - /*tag_action*/ MSG_SIMPLE_Q_TAG, - /*lba*/ 0, - /*reladr*/ 0, - /*pmi*/ 0, - /*rcap_buf*/ (uint8_t *)rcaplong, - /*rcap_buf_len*/ sizeof(*rcaplong), - /*sense_len*/ SSD_FULL_SIZE, - /*timeout*/ 60000); - ccb->ccb_h.ccb_bp = NULL; - - error = cam_periph_runccb(ccb, daerror, - /*cam_flags*/CAM_RETRY_SELTO, - sense_flags, - softc->disk->d_devstat); - if (error == 0) { -rc16ok: - block_len = scsi_4btoul(rcaplong->length); - maxsector = scsi_8btou64(rcaplong->addr); - lbppbe = rcaplong->prot_lbppbe & SRC16_LBPPBE; - lalba = scsi_2btoul(rcaplong->lalba_lbp); - } - -done: - - if (error == 0) { - if (block_len >= MAXPHYS || block_len == 0) { - xpt_print(periph->path, - "unsupportable block size %ju\n", - (uintmax_t) block_len); - error = EINVAL; - } else { - dasetgeom(periph, block_len, maxsector, - rcaplong, sizeof(*rcaplong)); - if ((lalba & SRC16_LBPME) - && softc->delete_method == DA_DELETE_NONE) - softc->delete_method = DA_DELETE_UNMAP; - } - } - - xpt_release_ccb(ccb); - - free(rcap, M_SCSIDA); - - return (error); -} - static void dasetgeom(struct cam_periph *periph, uint32_t block_len, uint64_t maxsector, struct scsi_read_capacity_data_long *rcaplong, size_t rcap_len) @@ -2747,6 +2621,20 @@ dasetgeom(struct cam_periph *periph, uin min(sizeof(softc->rcaplong), rcap_len)); } } + + softc->disk->d_sectorsize = softc->params.secsize; + softc->disk->d_mediasize = softc->params.secsize * (off_t)softc->params.sectors; + softc->disk->d_stripesize = softc->params.stripesize; + softc->disk->d_stripeoffset = softc->params.stripeoffset; + /* XXX: these are not actually "firmware" values, so they may be wrong */ + softc->disk->d_fwsectors = softc->params.secs_per_track; + softc->disk->d_fwheads = softc->params.heads; + softc->disk->d_devstat->block_size = softc->params.secsize; + softc->disk->d_devstat->flags &= ~DEVSTAT_BS_UNAVAILABLE; + if (softc->delete_method > DA_DELETE_DISABLE) + softc->disk->d_flags |= DISKFLAG_CANDELETE; + else + softc->disk->d_flags &= ~DISKFLAG_CANDELETE; } static void From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 13:43:43 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BEFF3106566C; Thu, 12 Apr 2012 13:43:43 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A74308FC14; Thu, 12 Apr 2012 13:43:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CDhhl3030674; Thu, 12 Apr 2012 13:43:43 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CDhh21030672; Thu, 12 Apr 2012 13:43:43 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201204121343.q3CDhh21030672@svn.freebsd.org> From: Edward Tomasz Napierala Date: Thu, 12 Apr 2012 13:43:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234178 - head/sbin/growfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 13:43:43 -0000 Author: trasz Date: Thu Apr 12 13:43:43 2012 New Revision: 234178 URL: http://svn.freebsd.org/changeset/base/234178 Log: Remove block reallocation used to make room for the cylinder group summary structure. From now on, when there is no room for it, we simply allocate new one in a newly added cylinder group. This patch removes a conditional in updcsloc(), reindents some code there, and removes unused routines. I decided to do it this way instead of disabling reallocation when the filesystem is live and leaving it as it is otherwise, because this allows for removal of lots of complicated and hard to test code. Also, conditionally disabling it would result in a different layout in filesystems resized online and offline, which would look somewhat weird. Reviewed by: mckusick No objections from: kib Sponsored by: The FreeBSD Foundation Modified: head/sbin/growfs/growfs.c Modified: head/sbin/growfs/growfs.c ============================================================================== --- head/sbin/growfs/growfs.c Thu Apr 12 12:58:14 2012 (r234177) +++ head/sbin/growfs/growfs.c Thu Apr 12 13:43:43 2012 (r234178) @@ -94,45 +94,11 @@ static union { #define acg cgun1.cg /* a cylinder cgroup (new) */ #define aocg cgun2.cg /* an old cylinder group */ -static char ablk[MAXBSIZE]; /* a block */ - static struct csum *fscs; /* cylinder summary */ -union dinode { - struct ufs1_dinode dp1; - struct ufs2_dinode dp2; -}; -#define DIP(dp, field) \ - ((sblock.fs_magic == FS_UFS1_MAGIC) ? \ - (uint32_t)(dp)->dp1.field : (dp)->dp2.field) -#define DIP_SET(dp, field, val) do { \ - if (sblock.fs_magic == FS_UFS1_MAGIC) \ - (dp)->dp1.field = (val); \ - else \ - (dp)->dp2.field = (val); \ - } while (0) -static ufs2_daddr_t inoblk; /* inode block address */ -static char inobuf[MAXBSIZE]; /* inode block */ -static ino_t maxino; /* last valid inode */ - -/* - * An array of elements of type struct gfs_bpp describes all blocks to - * be relocated in order to free the space needed for the cylinder group - * summary for all cylinder groups located in the first cylinder group. - */ -struct gfs_bpp { - ufs2_daddr_t old; /* old block number */ - ufs2_daddr_t new; /* new block number */ -#define GFS_FL_FIRST 1 -#define GFS_FL_LAST 2 - unsigned int flags; /* special handling required */ - int found; /* how many references were updated */ -}; - static void growfs(int, int, unsigned int); static void rdfs(ufs2_daddr_t, size_t, void *, int); static void wtfs(ufs2_daddr_t, size_t, void *, int, unsigned int); -static ufs2_daddr_t alloc(void); static int charsperline(void); static void usage(void); static int isblock(struct fs *, unsigned char *, int); @@ -141,14 +107,8 @@ static void setblock(struct fs *, unsign static void initcg(int, time_t, int, unsigned int); static void updjcg(int, time_t, int, int, unsigned int); static void updcsloc(time_t, int, int, unsigned int); -static union dinode *ginode(ino_t, int, int); static void frag_adjust(ufs2_daddr_t, int); -static int cond_bl_upd(ufs2_daddr_t *, struct gfs_bpp *, int, int, - unsigned int); static void updclst(int); -static void updrefs(int, ino_t, struct gfs_bpp *, int, int, unsigned int); -static void indirchk(ufs_lbn_t, ufs_lbn_t, ufs2_daddr_t, ufs_lbn_t, - struct gfs_bpp *, int, int, unsigned int); static void get_dev_size(int, int *); /* @@ -587,64 +547,6 @@ frag_adjust(ufs2_daddr_t frag, int sign) } /* - * Here we conditionally update a pointer to a fragment. We check for all - * relocated blocks if any of its fragments is referenced by the current - * field, and update the pointer to the respective fragment in our new - * block. If we find a reference we write back the block immediately, - * as there is no easy way for our general block reading engine to figure - * out if a write back operation is needed. - */ -static int -cond_bl_upd(ufs2_daddr_t *block, struct gfs_bpp *field, int fsi, int fso, - unsigned int Nflag) -{ - DBG_FUNC("cond_bl_upd") - struct gfs_bpp *f; - ufs2_daddr_t src, dst; - int fragnum; - void *ibuf; - - DBG_ENTER; - - for (f = field; f->old != 0; f++) { - src = *block; - if (fragstoblks(&sblock, src) != f->old) - continue; - /* - * The fragment is part of the block, so update. - */ - dst = blkstofrags(&sblock, f->new); - fragnum = fragnum(&sblock, src); - *block = dst + fragnum; - f->found++; - DBG_PRINT3("scg (%jd->%jd)[%d] reference updated\n", - (intmax_t)f->old, (intmax_t)f->new, fragnum); - - /* - * Copy the block back immediately. - * - * XXX If src is from an indirect block we have - * to implement copy on write here in case of - * active snapshots. - */ - ibuf = malloc(sblock.fs_bsize); - if (!ibuf) - errx(1, "malloc failed"); - src -= fragnum; - rdfs(fsbtodb(&sblock, src), (size_t)sblock.fs_bsize, ibuf, fsi); - wtfs(dst, (size_t)sblock.fs_bsize, ibuf, fso, Nflag); - free(ibuf); - /* - * The same block can't be found again in this loop. - */ - return (1); - } - - DBG_LEAVE; - return (0); -} - -/* * Here we do all needed work for the former last cylinder group. It has to be * changed in any case, even if the file system ended exactly on the end of * this group, as there is some slightly inconsistent handling of the number @@ -890,11 +792,8 @@ updjcg(int cylno, time_t modtime, int fs * longer in the beginning of the first cylinder group you should never * use a version of fsck which is not aware of the possibility to have * this structure in a non standard place. - * Option (1) is considered to be less intrusive to the structure of the file- - * system. So we try to stick to that whenever possible. If there is not enough - * space in the cylinder group containing the cylinder summary we have to use - * method (2). In case of active snapshots in the file system we probably can - * completely avoid implementing copy on write if we stick to method (2) only. + * Option (2) is considered to be less intrusive to the structure of the file- + * system, so that's the one being used. */ static void updcsloc(time_t modtime, int fsi, int fso, unsigned int Nflag) @@ -903,11 +802,7 @@ updcsloc(time_t modtime, int fsi, int fs struct csum *cs; int ocscg, ncscg; int blocks; - ufs2_daddr_t cbase, dupper, odupper, d, f, g; - int ind, inc; - uint cylno; - struct gfs_bpp *bp; - int i, l; + ufs2_daddr_t d; int lcs = 0; int block; @@ -951,117 +846,86 @@ updcsloc(time_t modtime, int fsi, int fs * also up to 8*3 blocks for indirect blocks for all possible * references. */ - if (/*((int)sblock.fs_time&0x3)>0||*/ cs->cs_nbfree < blocks) { - /* - * There is not enough space in the old cylinder group to - * relocate all blocks as needed, so we relocate the whole - * cylinder group summary to a new group. We try to use the - * first complete new cylinder group just created. Within the - * cylinder group we align the area immediately after the - * cylinder group information location in order to be as - * close as possible to the original implementation of ffs. - * - * First we have to make sure we'll find enough space in the - * new cylinder group. If not, then we currently give up. - * We start with freeing everything which was used by the - * fragments of the old cylinder summary in the current group. - * Now we write back the group meta data, read in the needed - * meta data from the new cylinder group, and start allocating - * within that group. Here we can assume, the group to be - * completely empty. Which makes the handling of fragments and - * clusters a lot easier. - */ - DBG_TRC; - if (sblock.fs_ncg - osblock.fs_ncg < 2) - errx(2, "panic: not enough space"); + /* + * There is not enough space in the old cylinder group to + * relocate all blocks as needed, so we relocate the whole + * cylinder group summary to a new group. We try to use the + * first complete new cylinder group just created. Within the + * cylinder group we align the area immediately after the + * cylinder group information location in order to be as + * close as possible to the original implementation of ffs. + * + * First we have to make sure we'll find enough space in the + * new cylinder group. If not, then we currently give up. + * We start with freeing everything which was used by the + * fragments of the old cylinder summary in the current group. + * Now we write back the group meta data, read in the needed + * meta data from the new cylinder group, and start allocating + * within that group. Here we can assume, the group to be + * completely empty. Which makes the handling of fragments and + * clusters a lot easier. + */ + DBG_TRC; + if (sblock.fs_ncg - osblock.fs_ncg < 2) + errx(2, "panic: not enough space"); - /* - * Point "d" to the first fragment not used by the cylinder - * summary. - */ - d = osblock.fs_csaddr + (osblock.fs_cssize / osblock.fs_fsize); + /* + * Point "d" to the first fragment not used by the cylinder + * summary. + */ + d = osblock.fs_csaddr + (osblock.fs_cssize / osblock.fs_fsize); - /* - * Set up last cluster size ("lcs") already here. Calculate - * the size for the trailing cluster just behind where "d" - * points to. - */ - if (sblock.fs_contigsumsize > 0) { - for (block = howmany(d % sblock.fs_fpg, sblock.fs_frag), - lcs = 0; lcs < sblock.fs_contigsumsize; - block++, lcs++) { - if (isclr(cg_clustersfree(&acg), block)) - break; - } + /* + * Set up last cluster size ("lcs") already here. Calculate + * the size for the trailing cluster just behind where "d" + * points to. + */ + if (sblock.fs_contigsumsize > 0) { + for (block = howmany(d % sblock.fs_fpg, sblock.fs_frag), + lcs = 0; lcs < sblock.fs_contigsumsize; + block++, lcs++) { + if (isclr(cg_clustersfree(&acg), block)) + break; } + } + /* + * Point "d" to the last frag used by the cylinder summary. + */ + d--; + + DBG_PRINT1("d=%jd\n", (intmax_t)d); + if ((d + 1) % sblock.fs_frag) { /* - * Point "d" to the last frag used by the cylinder summary. + * The end of the cylinder summary is not a complete + * block. */ - d--; - - DBG_PRINT1("d=%jd\n", (intmax_t)d); - if ((d + 1) % sblock.fs_frag) { - /* - * The end of the cylinder summary is not a complete - * block. - */ - DBG_TRC; - frag_adjust(d % sblock.fs_fpg, -1); - for (; (d + 1) % sblock.fs_frag; d--) { - DBG_PRINT1("d=%jd\n", (intmax_t)d); - setbit(cg_blksfree(&acg), d % sblock.fs_fpg); - acg.cg_cs.cs_nffree++; - sblock.fs_cstotal.cs_nffree++; - } - /* - * Point "d" to the last fragment of the last - * (incomplete) block of the cylinder summary. - */ - d++; - frag_adjust(d%sblock.fs_fpg, 1); - - if (isblock(&sblock, cg_blksfree(&acg), - (d % sblock.fs_fpg) / sblock.fs_frag)) { - DBG_PRINT1("d=%jd\n", (intmax_t)d); - acg.cg_cs.cs_nffree -= sblock.fs_frag; - acg.cg_cs.cs_nbfree++; - sblock.fs_cstotal.cs_nffree -= sblock.fs_frag; - sblock.fs_cstotal.cs_nbfree++; - if (sblock.fs_contigsumsize > 0) { - setbit(cg_clustersfree(&acg), - (d % sblock.fs_fpg) / - sblock.fs_frag); - if (lcs < sblock.fs_contigsumsize) { - if (lcs) - cg_clustersum(&acg)[lcs]--; - lcs++; - cg_clustersum(&acg)[lcs]++; - } - } - } - /* - * Point "d" to the first fragment of the block before - * the last incomplete block. - */ - d--; + DBG_TRC; + frag_adjust(d % sblock.fs_fpg, -1); + for (; (d + 1) % sblock.fs_frag; d--) { + DBG_PRINT1("d=%jd\n", (intmax_t)d); + setbit(cg_blksfree(&acg), d % sblock.fs_fpg); + acg.cg_cs.cs_nffree++; + sblock.fs_cstotal.cs_nffree++; } + /* + * Point "d" to the last fragment of the last + * (incomplete) block of the cylinder summary. + */ + d++; + frag_adjust(d%sblock.fs_fpg, 1); - DBG_PRINT1("d=%jd\n", (intmax_t)d); - for (d = rounddown(d, sblock.fs_frag); d >= osblock.fs_csaddr; - d -= sblock.fs_frag) { - DBG_TRC; + if (isblock(&sblock, cg_blksfree(&acg), + (d % sblock.fs_fpg) / sblock.fs_frag)) { DBG_PRINT1("d=%jd\n", (intmax_t)d); - setblock(&sblock, cg_blksfree(&acg), - (d % sblock.fs_fpg) / sblock.fs_frag); + acg.cg_cs.cs_nffree -= sblock.fs_frag; acg.cg_cs.cs_nbfree++; + sblock.fs_cstotal.cs_nffree -= sblock.fs_frag; sblock.fs_cstotal.cs_nbfree++; if (sblock.fs_contigsumsize > 0) { setbit(cg_clustersfree(&acg), - (d % sblock.fs_fpg) / sblock.fs_frag); - /* - * The last cluster size is already set up. - */ + (d % sblock.fs_fpg) / + sblock.fs_frag); if (lcs < sblock.fs_contigsumsize) { if (lcs) cg_clustersum(&acg)[lcs]--; @@ -1070,392 +934,138 @@ updcsloc(time_t modtime, int fsi, int fs } } } - *cs = acg.cg_cs; - /* - * Now write the former cylinder group containing the cylinder - * summary back to disk. + * Point "d" to the first fragment of the block before + * the last incomplete block. */ - wtfs(fsbtodb(&sblock, cgtod(&sblock, ocscg)), - (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); - DBG_PRINT0("oscg written\n"); - DBG_DUMP_CG(&sblock, "old summary cg", &acg); - - /* - * Find the beginning of the new cylinder group containing the - * cylinder summary. - */ - sblock.fs_csaddr = cgdmin(&sblock, osblock.fs_ncg); - ncscg = dtog(&sblock, sblock.fs_csaddr); - cs = fscs + ncscg; - - /* - * If Nflag is specified, we would now read random data instead - * of an empty cg structure from disk. So we can't simulate that - * part for now. - */ - if (Nflag) { - DBG_PRINT0("nscg update skipped\n"); - DBG_LEAVE; - return; - } - - /* - * Read the future cylinder group containing the cylinder - * summary from disk, and make a copy. - */ - rdfs(fsbtodb(&sblock, cgtod(&sblock, ncscg)), - (size_t)sblock.fs_cgsize, (void *)&aocg, fsi); - DBG_PRINT0("nscg read\n"); - DBG_DUMP_CG(&sblock, "new summary cg", &aocg); - - memcpy((void *)&cgun1, (void *)&cgun2, sizeof(cgun2)); + d--; + } - /* - * Allocate all complete blocks used by the new cylinder - * summary. - */ - for (d = sblock.fs_csaddr; d + sblock.fs_frag <= - sblock.fs_csaddr + (sblock.fs_cssize / sblock.fs_fsize); - d += sblock.fs_frag) { - clrblock(&sblock, cg_blksfree(&acg), + DBG_PRINT1("d=%jd\n", (intmax_t)d); + for (d = rounddown(d, sblock.fs_frag); d >= osblock.fs_csaddr; + d -= sblock.fs_frag) { + DBG_TRC; + DBG_PRINT1("d=%jd\n", (intmax_t)d); + setblock(&sblock, cg_blksfree(&acg), + (d % sblock.fs_fpg) / sblock.fs_frag); + acg.cg_cs.cs_nbfree++; + sblock.fs_cstotal.cs_nbfree++; + if (sblock.fs_contigsumsize > 0) { + setbit(cg_clustersfree(&acg), (d % sblock.fs_fpg) / sblock.fs_frag); - acg.cg_cs.cs_nbfree--; - sblock.fs_cstotal.cs_nbfree--; - if (sblock.fs_contigsumsize > 0) { - clrbit(cg_clustersfree(&acg), - (d % sblock.fs_fpg) / sblock.fs_frag); - } - } - - /* - * Allocate all fragments used by the cylinder summary in the - * last block. - */ - if (d < - sblock.fs_csaddr + (sblock.fs_cssize / sblock.fs_fsize)) { - for (; d - sblock.fs_csaddr < - sblock.fs_cssize/sblock.fs_fsize; d++) { - clrbit(cg_blksfree(&acg), d % sblock.fs_fpg); - acg.cg_cs.cs_nffree--; - sblock.fs_cstotal.cs_nffree--; + /* + * The last cluster size is already set up. + */ + if (lcs < sblock.fs_contigsumsize) { + if (lcs) + cg_clustersum(&acg)[lcs]--; + lcs++; + cg_clustersum(&acg)[lcs]++; } - acg.cg_cs.cs_nbfree--; - acg.cg_cs.cs_nffree += sblock.fs_frag; - sblock.fs_cstotal.cs_nbfree--; - sblock.fs_cstotal.cs_nffree += sblock.fs_frag; - if (sblock.fs_contigsumsize > 0) - clrbit(cg_clustersfree(&acg), - (d % sblock.fs_fpg) / sblock.fs_frag); - - frag_adjust(d % sblock.fs_fpg, 1); } - /* - * XXX Handle the cluster statistics here in the case this - * cylinder group is now almost full, and the remaining - * space is less then the maximum cluster size. This is - * probably not needed, as you would hardly find a file - * system which has only MAXCSBUFS+FS_MAXCONTIG of free - * space right behind the cylinder group information in - * any new cylinder group. - */ - - /* - * Update our statistics in the cylinder summary. - */ - *cs = acg.cg_cs; - - /* - * Write the new cylinder group containing the cylinder summary - * back to disk. - */ - wtfs(fsbtodb(&sblock, cgtod(&sblock, ncscg)), - (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); - DBG_PRINT0("nscg written\n"); - DBG_DUMP_CG(&sblock, "new summary cg", &acg); - - DBG_LEAVE; - return; } - /* - * We have got enough of space in the current cylinder group, so we - * can relocate just a few blocks, and let the summary information - * grow in place where it is right now. - */ - DBG_TRC; - - cbase = cgbase(&osblock, ocscg); /* old and new are equal */ - dupper = sblock.fs_csaddr - cbase + - howmany(sblock.fs_cssize, sblock.fs_fsize); - odupper = osblock.fs_csaddr - cbase + - howmany(osblock.fs_cssize, osblock.fs_fsize); - - sblock.fs_dsize -= dupper - odupper; + *cs = acg.cg_cs; /* - * Allocate the space for the array of blocks to be relocated. + * Now write the former cylinder group containing the cylinder + * summary back to disk. */ - bp = (struct gfs_bpp *)malloc(((dupper - odupper) / - sblock.fs_frag + 2) * sizeof(struct gfs_bpp)); - if (bp == NULL) - errx(1, "malloc failed"); - memset((char *)bp, 0, ((dupper - odupper) / sblock.fs_frag + 2) * - sizeof(struct gfs_bpp)); + wtfs(fsbtodb(&sblock, cgtod(&sblock, ocscg)), + (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); + DBG_PRINT0("oscg written\n"); + DBG_DUMP_CG(&sblock, "old summary cg", &acg); /* - * Lock all new frags needed for the cylinder group summary. This is - * done per fragment in the first and last block of the new required - * area, and per block for all other blocks. - * - * Handle the first new block here (but only if some fragments where - * already used for the cylinder summary). + * Find the beginning of the new cylinder group containing the + * cylinder summary. */ - ind = 0; - frag_adjust(odupper, -1); - for (d = odupper; ((d < dupper) && (d % sblock.fs_frag)); d++) { - DBG_PRINT1("scg first frag check loop d=%jd\n", (intmax_t)d); - if (isclr(cg_blksfree(&acg), d)) { - if (!ind) { - bp[ind].old = d / sblock.fs_frag; - bp[ind].flags |= GFS_FL_FIRST; - if (roundup(d, sblock.fs_frag) >= dupper) - bp[ind].flags |= GFS_FL_LAST; - ind++; - } - } else { - clrbit(cg_blksfree(&acg), d); - acg.cg_cs.cs_nffree--; - sblock.fs_cstotal.cs_nffree--; - } - /* - * No cluster handling is needed here, as there was at least - * one fragment in use by the cylinder summary in the old - * file system. - * No block-free counter handling here as this block was not - * a free block. - */ - } - frag_adjust(odupper, 1); + sblock.fs_csaddr = cgdmin(&sblock, osblock.fs_ncg); + ncscg = dtog(&sblock, sblock.fs_csaddr); + cs = fscs + ncscg; /* - * Handle all needed complete blocks here. + * If Nflag is specified, we would now read random data instead + * of an empty cg structure from disk. So we can't simulate that + * part for now. */ - for (; d + sblock.fs_frag <= dupper; d += sblock.fs_frag) { - DBG_PRINT1("scg block check loop d=%jd\n", (intmax_t)d); - if (!isblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag)) { - for (f = d; f < d + sblock.fs_frag; f++) { - if (isset(cg_blksfree(&aocg), f)) { - acg.cg_cs.cs_nffree--; - sblock.fs_cstotal.cs_nffree--; - } - } - clrblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag); - bp[ind].old = d / sblock.fs_frag; - ind++; - } else { - clrblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag); - acg.cg_cs.cs_nbfree--; - sblock.fs_cstotal.cs_nbfree--; - if (sblock.fs_contigsumsize > 0) { - clrbit(cg_clustersfree(&acg), d / sblock.fs_frag); - for (lcs = 0, l = (d / sblock.fs_frag) + 1; - lcs < sblock.fs_contigsumsize; l++, lcs++ ) { - if (isclr(cg_clustersfree(&acg), l)) - break; - } - if (lcs < sblock.fs_contigsumsize) { - cg_clustersum(&acg)[lcs + 1]--; - if (lcs) - cg_clustersum(&acg)[lcs]++; - } - } - } - /* - * No fragment counter handling is needed here, as this finally - * doesn't change after the relocation. - */ + if (Nflag) { + DBG_PRINT0("nscg update skipped\n"); + DBG_LEAVE; + return; } /* - * Handle all fragments needed in the last new affected block. + * Read the future cylinder group containing the cylinder + * summary from disk, and make a copy. */ - if (d < dupper) { - frag_adjust(dupper - 1, -1); + rdfs(fsbtodb(&sblock, cgtod(&sblock, ncscg)), + (size_t)sblock.fs_cgsize, (void *)&aocg, fsi); + DBG_PRINT0("nscg read\n"); + DBG_DUMP_CG(&sblock, "new summary cg", &aocg); - if (isblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag)) { - acg.cg_cs.cs_nbfree--; - sblock.fs_cstotal.cs_nbfree--; - acg.cg_cs.cs_nffree += sblock.fs_frag; - sblock.fs_cstotal.cs_nffree += sblock.fs_frag; - if (sblock.fs_contigsumsize > 0) { - clrbit(cg_clustersfree(&acg), d / sblock.fs_frag); - for (lcs = 0, l =(d / sblock.fs_frag) + 1; - lcs < sblock.fs_contigsumsize; l++, lcs++ ) { - if (isclr(cg_clustersfree(&acg),l)) - break; - } - if (lcs < sblock.fs_contigsumsize) { - cg_clustersum(&acg)[lcs + 1]--; - if (lcs) - cg_clustersum(&acg)[lcs]++; - } - } - } + memcpy((void *)&cgun1, (void *)&cgun2, sizeof(cgun2)); - for (; d < dupper; d++) { - DBG_PRINT1("scg second frag check loop d=%jd\n", - (intmax_t)d); - if (isclr(cg_blksfree(&acg), d)) { - bp[ind].old = d / sblock.fs_frag; - bp[ind].flags |= GFS_FL_LAST; - } else { - clrbit(cg_blksfree(&acg), d); - acg.cg_cs.cs_nffree--; - sblock.fs_cstotal.cs_nffree--; - } + /* + * Allocate all complete blocks used by the new cylinder + * summary. + */ + for (d = sblock.fs_csaddr; d + sblock.fs_frag <= + sblock.fs_csaddr + (sblock.fs_cssize / sblock.fs_fsize); + d += sblock.fs_frag) { + clrblock(&sblock, cg_blksfree(&acg), + (d % sblock.fs_fpg) / sblock.fs_frag); + acg.cg_cs.cs_nbfree--; + sblock.fs_cstotal.cs_nbfree--; + if (sblock.fs_contigsumsize > 0) { + clrbit(cg_clustersfree(&acg), + (d % sblock.fs_fpg) / sblock.fs_frag); } - if (bp[ind].flags & GFS_FL_LAST) /* we have to advance here */ - ind++; - frag_adjust(dupper - 1, 1); } /* - * If we found a block to relocate just do so. + * Allocate all fragments used by the cylinder summary in the + * last block. */ - if (ind) { - for (i = 0; i < ind; i++) { - if (!bp[i].old) { /* no more blocks listed */ - /* - * XXX A relative blocknumber should not be - * zero, which is not explicitly - * guaranteed by our code. - */ - break; - } - /* - * Allocate a complete block in the same (current) - * cylinder group. - */ - bp[i].new = alloc() / sblock.fs_frag; - - /* - * There is no frag_adjust() needed for the new block - * as it will have no fragments yet :-). - */ - for (f = bp[i].old * sblock.fs_frag, - g = bp[i].new * sblock.fs_frag; - f < (bp[i].old + 1) * sblock.fs_frag; - f++, g++) { - if (isset(cg_blksfree(&aocg), f)) { - setbit(cg_blksfree(&acg), g); - acg.cg_cs.cs_nffree++; - sblock.fs_cstotal.cs_nffree++; - } - } - - /* - * Special handling is required if this was the first - * block. We have to consider the fragments which were - * used by the cylinder summary in the original block - * which re to be free in the copy of our block. We - * have to be careful if this first block happens to - * be also the last block to be relocated. - */ - if (bp[i].flags & GFS_FL_FIRST) { - for (f = bp[i].old * sblock.fs_frag, - g =bp[i].new * sblock.fs_frag; - f < odupper; f++, g++) { - setbit(cg_blksfree(&acg), g); - acg.cg_cs.cs_nffree++; - sblock.fs_cstotal.cs_nffree++; - } - if (!(bp[i].flags & GFS_FL_LAST)) - frag_adjust(bp[i].new * sblock.fs_frag, 1); - } - - /* - * Special handling is required if this is the last - * block to be relocated. - */ - if (bp[i].flags & GFS_FL_LAST) { - frag_adjust(bp[i].new * sblock.fs_frag, 1); - frag_adjust(bp[i].old * sblock.fs_frag, -1); - for (f = dupper; - f < roundup(dupper, sblock.fs_frag); f++) { - if (isclr(cg_blksfree(&acg), f)) { - setbit(cg_blksfree(&acg), f); - acg.cg_cs.cs_nffree++; - sblock.fs_cstotal.cs_nffree++; - } - } - frag_adjust(bp[i].old * sblock.fs_frag, 1); - } - - /* - * !!! Attach the cylindergroup offset here. - */ - bp[i].old += cbase / sblock.fs_frag; - bp[i].new += cbase / sblock.fs_frag; - - /* - * Copy the content of the block. - */ - /* - * XXX Here we will have to implement a copy on write - * in the case we have any active snapshots. - */ - rdfs(fsbtodb(&sblock, bp[i].old * sblock.fs_frag), - (size_t)sblock.fs_bsize, (void *)&ablk, fsi); - wtfs(fsbtodb(&sblock, bp[i].new * sblock.fs_frag), - (size_t)sblock.fs_bsize, (void *)&ablk, fso, Nflag); - DBG_DUMP_HEX(&sblock, "copied full block", - (unsigned char *)&ablk); - DBG_PRINT2("scg (%jd->%jd) block relocated\n", - (intmax_t)bp[i].old, (intmax_t)bp[i].new); - } - - /* - * Now we have to update all references to any fragment which - * belongs to any block relocated. We iterate now over all - * cylinder groups, within those over all non zero length - * inodes. - */ - for (cylno = 0; cylno < osblock.fs_ncg; cylno++) { - DBG_PRINT1("scg doing cg (%d)\n", cylno); - for (inc = osblock.fs_ipg - 1 ; inc > 0 ; inc--) - updrefs(cylno, (ino_t)inc, bp, fsi, fso, Nflag); + if (d < + sblock.fs_csaddr + (sblock.fs_cssize / sblock.fs_fsize)) { + for (; d - sblock.fs_csaddr < + sblock.fs_cssize/sblock.fs_fsize; d++) { + clrbit(cg_blksfree(&acg), d % sblock.fs_fpg); + acg.cg_cs.cs_nffree--; + sblock.fs_cstotal.cs_nffree--; } + acg.cg_cs.cs_nbfree--; + acg.cg_cs.cs_nffree += sblock.fs_frag; + sblock.fs_cstotal.cs_nbfree--; + sblock.fs_cstotal.cs_nffree += sblock.fs_frag; + if (sblock.fs_contigsumsize > 0) + clrbit(cg_clustersfree(&acg), + (d % sblock.fs_fpg) / sblock.fs_frag); - /* - * All inodes are checked, now make sure the number of - * references found make sense. - */ - for (i = 0; i < ind; i++) { - if (!bp[i].found || (bp[i].found > sblock.fs_frag)) { - warnx("error: %jd refs found for block %jd.", - (intmax_t)bp[i].found, (intmax_t)bp[i].old); - } - } + frag_adjust(d % sblock.fs_fpg, 1); } /* - * The following statistics are not changed here: - * sblock.fs_cstotal.cs_ndir - * sblock.fs_cstotal.cs_nifree - * The following statistics were already updated on the fly: - * sblock.fs_cstotal.cs_nffree - * sblock.fs_cstotal.cs_nbfree - * As the statistics for this cylinder group are ready, copy it to - * the summary information array. + * XXX Handle the cluster statistics here in the case this + * cylinder group is now almost full, and the remaining + * space is less then the maximum cluster size. This is + * probably not needed, as you would hardly find a file + * system which has only MAXCSBUFS+FS_MAXCONTIG of free + * space right behind the cylinder group information in + * any new cylinder group. */ + /* + * Update our statistics in the cylinder summary. + */ *cs = acg.cg_cs; /* - * Write summary cylinder group back to disk. + * Write the new cylinder group containing the cylinder summary + * back to disk. */ - wtfs(fsbtodb(&sblock, cgtod(&sblock, ocscg)), (size_t)sblock.fs_cgsize, - (void *)&acg, fso, Nflag); - DBG_PRINT0("scg written\n"); + wtfs(fsbtodb(&sblock, cgtod(&sblock, ncscg)), + (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); + DBG_PRINT0("nscg written\n"); DBG_DUMP_CG(&sblock, "new summary cg", &acg); DBG_LEAVE; @@ -1511,126 +1121,6 @@ wtfs(ufs2_daddr_t bno, size_t size, void } /* - * Here we allocate a free block in the current cylinder group. It is assumed, - * that acg contains the current cylinder group. As we may take a block from - * somewhere in the file system we have to handle cluster summary here. - */ -static ufs2_daddr_t -alloc(void) -{ - DBG_FUNC("alloc") - ufs2_daddr_t d, blkno; - int lcs1, lcs2; - int l; - int csmin, csmax; - int dlower, dupper, dmax; - - DBG_ENTER; - - if (acg.cg_magic != CG_MAGIC) { - warnx("acg: bad magic number"); - DBG_LEAVE; - return (0); - } - if (acg.cg_cs.cs_nbfree == 0) { - warnx("error: cylinder group ran out of space"); - DBG_LEAVE; - return (0); - } - /* - * We start seeking for free blocks only from the space available after - * the end of the new grown cylinder summary. Otherwise we allocate a - * block here which we have to relocate a couple of seconds later again - * again, and we are not prepared to to this anyway. - */ - blkno = -1; - dlower = cgsblock(&sblock, acg.cg_cgx) - cgbase(&sblock, acg.cg_cgx); - dupper = cgdmin(&sblock, acg.cg_cgx) - cgbase(&sblock, acg.cg_cgx); - dmax = cgbase(&sblock, acg.cg_cgx) + sblock.fs_fpg; - if (dmax > sblock.fs_size) - dmax = sblock.fs_size; - dmax -= cgbase(&sblock, acg.cg_cgx); /* retransform into cg */ - csmin = sblock.fs_csaddr - cgbase(&sblock, acg.cg_cgx); - csmax = csmin + howmany(sblock.fs_cssize, sblock.fs_fsize); - DBG_PRINT3("seek range: dl=%d, du=%d, dm=%d\n", dlower, dupper, dmax); - DBG_PRINT2("range cont: csmin=%d, csmax=%d\n", csmin, csmax); - - for (d = 0; (d < dlower && blkno == -1); d += sblock.fs_frag) { - if (d >= csmin && d <= csmax) - continue; - if (isblock(&sblock, cg_blksfree(&acg), fragstoblks(&sblock, d))) { - blkno = fragstoblks(&sblock, d);/* Yeah found a block */ - break; - } - } - for (d = dupper; (d < dmax && blkno == -1); d += sblock.fs_frag) { - if (d >= csmin && d <= csmax) { - continue; - } - if (isblock(&sblock, cg_blksfree(&acg), fragstoblks(&sblock, d))) { - blkno = fragstoblks(&sblock, d);/* Yeah found a block */ - break; - } - } - if (blkno == -1) { - warnx("internal error: couldn't find promised block in cg"); - DBG_LEAVE; - return (0); - } - - /* - * This is needed if the block was found already in the first loop. - */ - d = blkstofrags(&sblock, blkno); - - clrblock(&sblock, cg_blksfree(&acg), blkno); - if (sblock.fs_contigsumsize > 0) { - /* - * Handle the cluster allocation bitmap. - */ - clrbit(cg_clustersfree(&acg), blkno); - /* - * We possibly have split a cluster here, so we have to do - * recalculate the sizes of the remaining cluster halves now, - * and use them for updating the cluster summary information. - * - * Lets start with the blocks before our allocated block ... - */ - for (lcs1 = 0, l = blkno - 1; lcs1 < sblock.fs_contigsumsize; - l--, lcs1++ ) { - if (isclr(cg_clustersfree(&acg), l)) - break; - } - /* - * ... and continue with the blocks right after our allocated - * block. - */ - for (lcs2 = 0, l = blkno + 1; lcs2 < sblock.fs_contigsumsize; - l++, lcs2++ ) { - if (isclr(cg_clustersfree(&acg), l)) - break; - } - - /* - * Now update all counters. - */ - cg_clustersum(&acg)[MIN(lcs1 + lcs2 + 1, sblock.fs_contigsumsize)]--; - if (lcs1) - cg_clustersum(&acg)[lcs1]++; - if (lcs2) - cg_clustersum(&acg)[lcs2]++; - } - /* - * Update all statistics based on blocks. - */ - acg.cg_cs.cs_nbfree--; - sblock.fs_cstotal.cs_nbfree--; - - DBG_LEAVE; - return (d); -} - -/* * Here we check if all frags of a block are free. For more details again * please see the source of newfs(8), as this function is taken over almost * unchanged. @@ -1735,54 +1225,6 @@ setblock(struct fs *fs, unsigned char *c } /* - * This function provides access to an individual inode. We find out in which - * block the requested inode is located, read it from disk if needed, and - * return the pointer into that block. We maintain a cache of one block to - * not read the same block again and again if we iterate linearly over all - * inodes. - */ -static union dinode * -ginode(ino_t inumber, int fsi, int cg) -{ - DBG_FUNC("ginode") - static ino_t startinum = 0; /* first inode in cached block */ - - DBG_ENTER; - - /* - * The inumber passed in is relative to the cg, so use it here to see - * if the inode has been allocated yet. - */ - if (isclr(cg_inosused(&aocg), inumber)) { - DBG_LEAVE; - return NULL; - } - /* - * Now make the inumber relative to the entire inode space so it can - * be sanity checked. - */ - inumber += (cg * sblock.fs_ipg); - if (inumber < ROOTINO) { - DBG_LEAVE; - return NULL; - } - if (inumber > maxino) - errx(8, "bad inode number %d to ginode", inumber); - if (startinum == 0 || - inumber < startinum || inumber >= startinum + INOPB(&sblock)) { - inoblk = fsbtodb(&sblock, ino_to_fsba(&sblock, inumber)); - rdfs(inoblk, (size_t)sblock.fs_bsize, inobuf, fsi); - startinum = (inumber / INOPB(&sblock)) * INOPB(&sblock); - } - DBG_LEAVE; - if (sblock.fs_magic == FS_UFS1_MAGIC) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 13:46:57 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D9CC106566C; Thu, 12 Apr 2012 13:46:57 +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 262128FC0C; Thu, 12 Apr 2012 13:46:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CDkusa030833; Thu, 12 Apr 2012 13:46:56 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CDku4W030828; Thu, 12 Apr 2012 13:46:56 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204121346.q3CDku4W030828@svn.freebsd.org> From: John Baldwin Date: Thu, 12 Apr 2012 13:46:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234179 - in stable/9/sys: amd64/include i386/conf i386/include kern mips/include powerpc/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 13:46:57 -0000 Author: jhb Date: Thu Apr 12 13:46:56 2012 New Revision: 234179 URL: http://svn.freebsd.org/changeset/base/234179 Log: MFC 233670,233671: - Use VM_MEMATTR_UNCACHEABLE for the constant for UC memory rather than VM_MEMATTR_UNCACHED on mips. - Rename VM_MEMATTR_UNCACHED to VM_MEMATTR_WEAK_UNCACHEABLE on x86 to be less ambiguous and more clearly identify what it means. An alias from VM_MEMATTR_WEAK_UNCACHEABLE to VM_MEMATTR_WEAK_UNCACHED remains on x86 to preserve the KPI. - Remove the VM_MEMATTR_UNCACHED alias from powerpc. Modified: stable/9/sys/amd64/include/vm.h stable/9/sys/i386/include/vm.h stable/9/sys/mips/include/vm.h stable/9/sys/powerpc/include/vm.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/amd64/include/vm.h ============================================================================== --- stable/9/sys/amd64/include/vm.h Thu Apr 12 13:43:43 2012 (r234178) +++ stable/9/sys/amd64/include/vm.h Thu Apr 12 13:46:56 2012 (r234179) @@ -38,7 +38,8 @@ #define VM_MEMATTR_WRITE_THROUGH ((vm_memattr_t)PAT_WRITE_THROUGH) #define VM_MEMATTR_WRITE_PROTECTED ((vm_memattr_t)PAT_WRITE_PROTECTED) #define VM_MEMATTR_WRITE_BACK ((vm_memattr_t)PAT_WRITE_BACK) -#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PAT_UNCACHED) +#define VM_MEMATTR_WEAK_UNCACHEABLE ((vm_memattr_t)PAT_UNCACHED) +#define VM_MEMATTR_UNCACHED VM_MEMATTR_WEAK_UNCACHEABLE #define VM_MEMATTR_DEFAULT VM_MEMATTR_WRITE_BACK Modified: stable/9/sys/i386/include/vm.h ============================================================================== --- stable/9/sys/i386/include/vm.h Thu Apr 12 13:43:43 2012 (r234178) +++ stable/9/sys/i386/include/vm.h Thu Apr 12 13:46:56 2012 (r234179) @@ -38,7 +38,8 @@ #define VM_MEMATTR_WRITE_THROUGH ((vm_memattr_t)PAT_WRITE_THROUGH) #define VM_MEMATTR_WRITE_PROTECTED ((vm_memattr_t)PAT_WRITE_PROTECTED) #define VM_MEMATTR_WRITE_BACK ((vm_memattr_t)PAT_WRITE_BACK) -#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PAT_UNCACHED) +#define VM_MEMATTR_WEAK_UNCACHEABLE ((vm_memattr_t)PAT_UNCACHED) +#define VM_MEMATTR_UNCACHED VM_MEMATTR_WEAK_UNCACHEABLE #define VM_MEMATTR_DEFAULT VM_MEMATTR_WRITE_BACK Modified: stable/9/sys/mips/include/vm.h ============================================================================== --- stable/9/sys/mips/include/vm.h Thu Apr 12 13:43:43 2012 (r234178) +++ stable/9/sys/mips/include/vm.h Thu Apr 12 13:46:56 2012 (r234179) @@ -32,7 +32,7 @@ #include /* Memory attributes. */ -#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PTE_C_UNCACHED) +#define VM_MEMATTR_UNCACHEABLE ((vm_memattr_t)PTE_C_UNCACHED) #define VM_MEMATTR_DEFAULT ((vm_memattr_t)PTE_C_CACHE) #endif /* !_MACHINE_VM_H_ */ Modified: stable/9/sys/powerpc/include/vm.h ============================================================================== --- stable/9/sys/powerpc/include/vm.h Thu Apr 12 13:43:43 2012 (r234178) +++ stable/9/sys/powerpc/include/vm.h Thu Apr 12 13:46:56 2012 (r234179) @@ -34,7 +34,6 @@ /* Memory attributes. */ #define VM_MEMATTR_DEFAULT 0 #define VM_MEMATTR_UNCACHEABLE 0x01 -#define VM_MEMATTR_UNCACHED VM_MEMATTR_UNCACHEABLE #define VM_MEMATTR_CACHEABLE 0x02 #define VM_MEMATTR_WRITE_COMBINING 0x04 #define VM_MEMATTR_WRITE_BACK 0x08 From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 13:47:24 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2F7BA10656D0; Thu, 12 Apr 2012 13:47:24 +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 15B128FC17; Thu, 12 Apr 2012 13:47:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CDlN23030887; Thu, 12 Apr 2012 13:47:23 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CDlNSO030882; Thu, 12 Apr 2012 13:47:23 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204121347.q3CDlNSO030882@svn.freebsd.org> From: John Baldwin Date: Thu, 12 Apr 2012 13:47:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234180 - in stable/8/sys: amd64/include i386/conf i386/include mips/include powerpc/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 13:47:24 -0000 Author: jhb Date: Thu Apr 12 13:47:23 2012 New Revision: 234180 URL: http://svn.freebsd.org/changeset/base/234180 Log: MFC 233670,233671: - Use VM_MEMATTR_UNCACHEABLE for the constant for UC memory rather than VM_MEMATTR_UNCACHED on mips. - Rename VM_MEMATTR_UNCACHED to VM_MEMATTR_WEAK_UNCACHEABLE on x86 to be less ambiguous and more clearly identify what it means. An alias from VM_MEMATTR_WEAK_UNCACHEABLE to VM_MEMATTR_WEAK_UNCACHED remains on x86 to preserve the KPI. - Remove the VM_MEMATTR_UNCACHED alias from powerpc. Modified: stable/8/sys/amd64/include/vm.h stable/8/sys/i386/include/vm.h stable/8/sys/mips/include/vm.h stable/8/sys/powerpc/include/vm.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/amd64/include/vm.h ============================================================================== --- stable/8/sys/amd64/include/vm.h Thu Apr 12 13:46:56 2012 (r234179) +++ stable/8/sys/amd64/include/vm.h Thu Apr 12 13:47:23 2012 (r234180) @@ -38,7 +38,8 @@ #define VM_MEMATTR_WRITE_THROUGH ((vm_memattr_t)PAT_WRITE_THROUGH) #define VM_MEMATTR_WRITE_PROTECTED ((vm_memattr_t)PAT_WRITE_PROTECTED) #define VM_MEMATTR_WRITE_BACK ((vm_memattr_t)PAT_WRITE_BACK) -#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PAT_UNCACHED) +#define VM_MEMATTR_WEAK_UNCACHEABLE ((vm_memattr_t)PAT_UNCACHED) +#define VM_MEMATTR_UNCACHED VM_MEMATTR_WEAK_UNCACHEABLE #define VM_MEMATTR_DEFAULT VM_MEMATTR_WRITE_BACK Modified: stable/8/sys/i386/include/vm.h ============================================================================== --- stable/8/sys/i386/include/vm.h Thu Apr 12 13:46:56 2012 (r234179) +++ stable/8/sys/i386/include/vm.h Thu Apr 12 13:47:23 2012 (r234180) @@ -38,7 +38,8 @@ #define VM_MEMATTR_WRITE_THROUGH ((vm_memattr_t)PAT_WRITE_THROUGH) #define VM_MEMATTR_WRITE_PROTECTED ((vm_memattr_t)PAT_WRITE_PROTECTED) #define VM_MEMATTR_WRITE_BACK ((vm_memattr_t)PAT_WRITE_BACK) -#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PAT_UNCACHED) +#define VM_MEMATTR_WEAK_UNCACHEABLE ((vm_memattr_t)PAT_UNCACHED) +#define VM_MEMATTR_UNCACHED VM_MEMATTR_WEAK_UNCACHEABLE #define VM_MEMATTR_DEFAULT VM_MEMATTR_WRITE_BACK Modified: stable/8/sys/mips/include/vm.h ============================================================================== --- stable/8/sys/mips/include/vm.h Thu Apr 12 13:46:56 2012 (r234179) +++ stable/8/sys/mips/include/vm.h Thu Apr 12 13:47:23 2012 (r234180) @@ -32,7 +32,7 @@ #include /* Memory attributes. */ -#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PTE_C_UNCACHED) +#define VM_MEMATTR_UNCACHEABLE ((vm_memattr_t)PTE_C_UNCACHED) #define VM_MEMATTR_DEFAULT ((vm_memattr_t)PTE_C_CACHE) #endif /* !_MACHINE_VM_H_ */ Modified: stable/8/sys/powerpc/include/vm.h ============================================================================== --- stable/8/sys/powerpc/include/vm.h Thu Apr 12 13:46:56 2012 (r234179) +++ stable/8/sys/powerpc/include/vm.h Thu Apr 12 13:47:23 2012 (r234180) @@ -34,7 +34,6 @@ /* Memory attributes. */ #define VM_MEMATTR_DEFAULT 0 #define VM_MEMATTR_UNCACHEABLE 0x01 -#define VM_MEMATTR_UNCACHED VM_MEMATTR_UNCACHEABLE #define VM_MEMATTR_CACHEABLE 0x02 #define VM_MEMATTR_WRITE_COMBINING 0x04 #define VM_MEMATTR_WRITE_BACK 0x08 From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 13:53:11 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97FC8106566C; Thu, 12 Apr 2012 13:53: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 67C0B8FC08; Thu, 12 Apr 2012 13:53: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 q3CDrB02031115; Thu, 12 Apr 2012 13:53:11 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CDrB7k031111; Thu, 12 Apr 2012 13:53:11 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204121353.q3CDrB7k031111@svn.freebsd.org> From: John Baldwin Date: Thu, 12 Apr 2012 13:53:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234181 - in stable/9/sys: i386/conf kern ofed/include/linux X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 13:53:11 -0000 Author: jhb Date: Thu Apr 12 13:53:10 2012 New Revision: 234181 URL: http://svn.freebsd.org/changeset/base/234181 Log: MFC 233547: Use VM_MEMATTR_UNCACHEABLE instead of VM_MEMATTR_UNCACHED for UC mappings. VM_MEMATTR_UNCACHED is actually the x86-specific UC- mode (where a WC MTRR can override the PAT setting). Modified: stable/9/sys/ofed/include/linux/io.h stable/9/sys/ofed/include/linux/page.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/ofed/include/linux/io.h ============================================================================== --- stable/9/sys/ofed/include/linux/io.h Thu Apr 12 13:47:23 2012 (r234180) +++ stable/9/sys/ofed/include/linux/io.h Thu Apr 12 13:53:10 2012 (r234181) @@ -90,7 +90,7 @@ writew(uint16_t b, void *addr) void *_ioremap_attr(vm_paddr_t phys_addr, unsigned long size, int attr); #define ioremap_nocache(addr, size) \ - _ioremap_attr((addr), (size), VM_MEMATTR_UNCACHED) + _ioremap_attr((addr), (size), VM_MEMATTR_UNCACHEABLE) #define ioremap_wc(addr, size) \ _ioremap_attr((addr), (size), VM_MEMATTR_WRITE_COMBINING) #define ioremap ioremap_nocache Modified: stable/9/sys/ofed/include/linux/page.h ============================================================================== --- stable/9/sys/ofed/include/linux/page.h Thu Apr 12 13:47:23 2012 (r234180) +++ stable/9/sys/ofed/include/linux/page.h Thu Apr 12 13:53:10 2012 (r234181) @@ -40,7 +40,7 @@ #define virt_to_page(x) PHYS_TO_VM_PAGE(vtophys((x))) #define clear_page(page) memset((page), 0, PAGE_SIZE) -#define pgprot_noncached(prot) VM_MEMATTR_UNCACHED +#define pgprot_noncached(prot) VM_MEMATTR_UNCACHEABLE #define pgprot_writecombine(prot) VM_MEMATTR_WRITE_COMBINING #undef PAGE_MASK From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 13:53:49 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E519F106566B; Thu, 12 Apr 2012 13:53:49 +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 CFFA78FC12; Thu, 12 Apr 2012 13:53:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CDrn88031167; Thu, 12 Apr 2012 13:53:49 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CDrnII031164; Thu, 12 Apr 2012 13:53:49 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204121353.q3CDrnII031164@svn.freebsd.org> From: John Baldwin Date: Thu, 12 Apr 2012 13:53:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234182 - head/sys/ofed/drivers/infiniband/ulp/ipoib X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 13:53:50 -0000 Author: jhb Date: Thu Apr 12 13:53:49 2012 New Revision: 234182 URL: http://svn.freebsd.org/changeset/base/234182 Log: Don't update if_obytes when transmitting packets. That is already done in IFQ_HANDOFF() when the packet is passed to the start routine, so doing it here resulted in double counting. Reported by: Alex Tutubalin lexa lexa ru MFC after: 1 week Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c Thu Apr 12 13:53:10 2012 (r234181) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c Thu Apr 12 13:53:49 2012 (r234182) @@ -682,7 +682,6 @@ void ipoib_cm_handle_tx_wc(struct ipoib_ /* FIXME: is this right? Shouldn't we only increment on success? */ ++dev->if_opackets; - dev->if_obytes += tx_req->mb->m_pkthdr.len; m_freem(tx_req->mb); Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c Thu Apr 12 13:53:10 2012 (r234181) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c Thu Apr 12 13:53:49 2012 (r234182) @@ -345,7 +345,6 @@ static void ipoib_ib_handle_tx_wc(struct ipoib_dma_unmap_tx(priv->ca, tx_req); ++dev->if_opackets; - dev->if_obytes += tx_req->mb->m_pkthdr.len; m_freem(tx_req->mb); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 14:01:07 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A405106566C; Thu, 12 Apr 2012 14:01:07 +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 129B48FC14; Thu, 12 Apr 2012 14:01:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CE17dv031478; Thu, 12 Apr 2012 14:01:07 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CE16ts031461; Thu, 12 Apr 2012 14:01:06 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204121401.q3CE16ts031461@svn.freebsd.org> From: John Baldwin Date: Thu, 12 Apr 2012 14:01:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234183 - in head/sys: amd64/conf conf i386/conf modules/mlx4 modules/mlx4ib modules/mlxen modules/mthca ofed/drivers/infiniband/core ofed/drivers/infiniband/ulp/ipoib ofed/drivers/net/... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 14:01:07 -0000 Author: jhb Date: Thu Apr 12 14:01:06 2012 New Revision: 234183 URL: http://svn.freebsd.org/changeset/base/234183 Log: Add OFED and the associated options and drivers to x86 LINT builds: - Mark 'sdp' as requiring 'inet'. - Always include "opt_inet.h" and "opt_inet6.h" and modify the IB driver Makefiles to honor WITH/WITHOUT_INET/INET6/_SUPPORT options to determine what should be enabled during a module build. - Fix the mlxen(4) driver and the core IB code to compile without if INET is disabled (including when both INET and INET6 are disabled). Reviewed by: bz MFC after: 2 weeks Modified: head/sys/amd64/conf/NOTES head/sys/conf/files head/sys/i386/conf/NOTES head/sys/modules/mlx4/Makefile head/sys/modules/mlx4ib/Makefile head/sys/modules/mlxen/Makefile head/sys/modules/mthca/Makefile head/sys/ofed/drivers/infiniband/core/addr.c head/sys/ofed/drivers/infiniband/core/cma.c head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c head/sys/ofed/drivers/net/mlx4/en_frag.c head/sys/ofed/drivers/net/mlx4/en_rx.c head/sys/ofed/include/linux/in.h head/sys/ofed/include/linux/in6.h head/sys/ofed/include/net/ip.h head/sys/ofed/include/net/ipv6.h Modified: head/sys/amd64/conf/NOTES ============================================================================== --- head/sys/amd64/conf/NOTES Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/amd64/conf/NOTES Thu Apr 12 14:01:06 2012 (r234183) @@ -90,6 +90,19 @@ options DEVICE_POLLING options BPF_JITTER +# OpenFabrics Enterprise Distribution (Infiniband). +options OFED +options OFED_DEBUG_INIT + +# Sockets Direct Protocol +options SDP +options SDP_DEBUG + +# IP over Inifiband +options IPOIB +options IPOIB_DEBUG +options IPOIB_CM + ##################################################################### # CLOCK OPTIONS @@ -290,6 +303,9 @@ options DRM_DEBUG # Include debug print # Requires the iwi firmware module # iwn: Intel Wireless WiFi Link 4965/1000/5000/6000 802.11 network adapters # Requires the iwn firmware module +# mlx4ib: Mellanox ConnectX HCA InfiniBand +# mlxen: Mellanox ConnectX HCA Ethernet +# mthca: Mellanox HCA InfiniBand # mwl: Marvell 88W8363 IEEE 802.11 adapter # Requires the mwl firmware module # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) @@ -305,6 +321,9 @@ options ED_SIC device ipw # Intel 2100 wireless NICs. device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. device iwn # Intel 4965/1000/5000/6000 wireless NICs. +device mlx4ib # Mellanox ConnectX HCA InfiniBand +device mlxen # Mellanox ConnectX HCA Ethernet +device mthca # Mellanox HCA InfiniBand device mwl # Marvell 88W8363 802.11n wireless NICs. device nfe # nVidia nForce MCP on-board Ethernet device nve # nVidia nForce MCP on-board Ethernet Networking Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/conf/files Thu Apr 12 14:01:06 2012 (r234183) @@ -3215,19 +3215,19 @@ ofed/drivers/infiniband/ulp/ipoib/ipoib_ # no-depend \ # compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/" -ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c optional sdp \ +ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" -ofed/drivers/infiniband/ulp/sdp/sdp_main.c optional sdp \ +ofed/drivers/infiniband/ulp/sdp/sdp_main.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" -ofed/drivers/infiniband/ulp/sdp/sdp_rx.c optional sdp \ +ofed/drivers/infiniband/ulp/sdp/sdp_rx.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" -ofed/drivers/infiniband/ulp/sdp/sdp_cma.c optional sdp \ +ofed/drivers/infiniband/ulp/sdp/sdp_cma.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" -ofed/drivers/infiniband/ulp/sdp/sdp_tx.c optional sdp \ +ofed/drivers/infiniband/ulp/sdp/sdp_tx.c optional sdp inet \ no-depend \ compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/" Modified: head/sys/i386/conf/NOTES ============================================================================== --- head/sys/i386/conf/NOTES Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/i386/conf/NOTES Thu Apr 12 14:01:06 2012 (r234183) @@ -260,6 +260,19 @@ options DEVICE_POLLING options BPF_JITTER +# OpenFabrics Enterprise Distribution (Infiniband). +options OFED +options OFED_DEBUG_INIT + +# Sockets Direct Protocol +options SDP +options SDP_DEBUG + +# IP over Inifiband +options IPOIB +options IPOIB_DEBUG +options IPOIB_CM + ##################################################################### # CLOCK OPTIONS @@ -561,6 +574,9 @@ hint.mse.0.irq="5" # Requires the iwi firmware module # iwn: Intel Wireless WiFi Link 4965AGN 802.11 network adapters # Requires the iwn firmware module +# mlx4ib: Mellanox ConnectX HCA InfiniBand +# mlxen: Mellanox ConnectX HCA Ethernet +# mthca: Mellanox HCA InfiniBand # mwl: Marvell 88W8363 IEEE 802.11 adapter # Requires the mwl firmware module # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) @@ -605,6 +621,9 @@ hint.le.0.at="isa" hint.le.0.port="0x280" hint.le.0.irq="10" hint.le.0.drq="0" +device mlx4ib # Mellanox ConnectX HCA InfiniBand +device mlxen # Mellanox ConnectX HCA Ethernet +device mthca # Mellanox HCA InfiniBand device mwl # Marvell 88W8363 802.11n wireless NICs. device nfe # nVidia nForce MCP on-board Ethernet device nve # nVidia nForce MCP on-board Ethernet Networking Modified: head/sys/modules/mlx4/Makefile ============================================================================== --- head/sys/modules/mlx4/Makefile Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/modules/mlx4/Makefile Thu Apr 12 14:01:06 2012 (r234183) @@ -1,13 +1,28 @@ # $FreeBSD$ .PATH: ${.CURDIR}/../../ofed/drivers/net/mlx4 + +.include + KMOD = mlx4 SRCS = device_if.h bus_if.h pci_if.h vnode_if.h SRCS+= alloc.c catas.c cmd.c cq.c eq.c fw.c icm.c intf.c main.c mcg.c mr.c SRCS+= pd.c port.c profile.c qp.c reset.c sense.c srq.c xrcd.c +SRCS+= opt_inet.h opt_inet6.h CFLAGS+= -I${.CURDIR}/../../ofed/drivers/net/mlx4 CFLAGS+= -I${.CURDIR}/../../ofed/include/ -CFLAGS+= -DINET6 + +.if !defined(KERNBUILDDIR) +.if ${MK_INET_SUPPORT} != "no" +opt_inet.h: + @echo "#define INET 1" > ${.TARGET} +.endif + +.if ${MK_INET6_SUPPORT} != "no" +opt_inet6.h: + @echo "#define INET6 1" > ${.TARGET} +.endif +.endif .include Modified: head/sys/modules/mlx4ib/Makefile ============================================================================== --- head/sys/modules/mlx4ib/Makefile Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/modules/mlx4ib/Makefile Thu Apr 12 14:01:06 2012 (r234183) @@ -1,10 +1,26 @@ # $FreeBSD$ .PATH: ${.CURDIR}/../../ofed/drivers/infiniband/hw/mlx4 + +.include + KMOD = mlx4ib SRCS = device_if.h bus_if.h pci_if.h vnode_if.h SRCS+= ah.c cq.c doorbell.c mad.c main.c mr.c qp.c srq.c wc.c +SRCS+= opt_inet.h opt_inet6.h + +CFLAGS+= -I${.CURDIR}/../../ofed/include/ + +.if !defined(KERNBUILDDIR) +.if ${MK_INET_SUPPORT} != "no" +opt_inet.h: + @echo "#define INET 1" > ${.TARGET} +.endif -CFLAGS+= -I${.CURDIR}/../../ofed/include/ -DINET6 +.if ${MK_INET6_SUPPORT} != "no" +opt_inet6.h: + @echo "#define INET6 1" > ${.TARGET} +.endif +.endif .include Modified: head/sys/modules/mlxen/Makefile ============================================================================== --- head/sys/modules/mlxen/Makefile Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/modules/mlxen/Makefile Thu Apr 12 14:01:06 2012 (r234183) @@ -1,12 +1,27 @@ # $FreeBSD$ .PATH: ${.CURDIR}/../../ofed/drivers/net/mlx4 + +.include + KMOD = mlxen SRCS = device_if.h bus_if.h pci_if.h vnode_if.h SRCS += en_cq.c en_frag.c en_main.c en_netdev.c en_port.c en_resources.c SRCS += en_rx.c en_tx.c +SRCS += opt_inet.h opt_inet6.h CFLAGS+= -I${.CURDIR}/../../ofed/drivers/net/mlx4 CFLAGS+= -I${.CURDIR}/../../ofed/include/ -CFLAGS+= -DINET6 + +.if !defined(KERNBUILDDIR) +.if ${MK_INET_SUPPORT} != "no" +opt_inet.h: + @echo "#define INET 1" > ${.TARGET} +.endif + +.if ${MK_INET6_SUPPORT} != "no" +opt_inet6.h: + @echo "#define INET6 1" > ${.TARGET} +.endif +.endif .include Modified: head/sys/modules/mthca/Makefile ============================================================================== --- head/sys/modules/mthca/Makefile Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/modules/mthca/Makefile Thu Apr 12 14:01:06 2012 (r234183) @@ -1,14 +1,30 @@ # $FreeBSD$ .PATH: ${.CURDIR}/../../ofed/drivers/infiniband/hw/mthca + +.include + KMOD = mthca SRCS = device_if.h bus_if.h pci_if.h vnode_if.h SRCS+= mthca_allocator.c mthca_av.c mthca_catas.c mthca_cmd.c mthca_cq.c SRCS+= mthca_eq.c mthca_mad.c mthca_main.c mthca_mcg.c mthca_memfree.c SRCS+= mthca_mr.c mthca_pd.c mthca_profile.c mthca_provider.c mthca_qp.c SRCS+= mthca_reset.c mthca_srq.c mthca_uar.c +SRCS+= opt_inet.h opt_inet6.h + +CFLAGS+= -I${.CURDIR}/../../ofed/include + +.if !defined(KERNBUILDDIR) +.if ${MK_INET_SUPPORT} != "no" +opt_inet.h: + @echo "#define INET 1" > ${.TARGET} +.endif -CFLAGS+= -I${.CURDIR}/../../ofed/include/ -DINET6 +.if ${MK_INET6_SUPPORT} != "no" +opt_inet6.h: + @echo "#define INET6 1" > ${.TARGET} +.endif +.endif .include Modified: head/sys/ofed/drivers/infiniband/core/addr.c ============================================================================== --- head/sys/ofed/drivers/infiniband/core/addr.c Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/drivers/infiniband/core/addr.c Thu Apr 12 14:01:06 2012 (r234183) @@ -136,6 +136,7 @@ int rdma_translate_ip(struct sockaddr *a } switch (addr->sa_family) { +#ifdef INET case AF_INET: dev = ip_dev_find(NULL, ((struct sockaddr_in *) addr)->sin_addr.s_addr); @@ -146,6 +147,7 @@ int rdma_translate_ip(struct sockaddr *a ret = rdma_copy_addr(dev_addr, dev, NULL); dev_put(dev); break; +#endif #if defined(INET6) case AF_INET6: @@ -346,7 +348,9 @@ static int addr_resolve(struct sockaddr struct sockaddr_in6 *sin6; struct ifaddr *ifa; struct ifnet *ifp; +#if defined(INET) || defined(INET6) struct llentry *lle; +#endif struct rtentry *rte; in_port_t port; u_char edst[MAX_ADDR_LEN]; @@ -365,6 +369,7 @@ static int addr_resolve(struct sockaddr ifp = NULL; rte = NULL; switch (dst_in->sa_family) { +#ifdef INET case AF_INET: sin = (struct sockaddr_in *)dst_in; if (sin->sin_addr.s_addr == INADDR_BROADCAST) @@ -383,6 +388,7 @@ static int addr_resolve(struct sockaddr } else src_in = NULL; break; +#endif #ifdef INET6 case AF_INET6: sin6 = (struct sockaddr_in6 *)dst_in; @@ -459,12 +465,21 @@ mcast: /* * Resolve the link local address. */ + switch (dst_in->sa_family) { +#ifdef INET + case AF_INET: + error = arpresolve(ifp, rte, NULL, dst_in, edst, &lle); + break; +#endif #ifdef INET6 - if (dst_in->sa_family == AF_INET6) + case AF_INET6: error = nd6_storelladdr(ifp, NULL, dst_in, (u_char *)edst, &lle); - else + break; #endif - error = arpresolve(ifp, rte, NULL, dst_in, edst, &lle); + default: + /* XXX: Shouldn't happen. */ + error = -EINVAL; + } RTFREE(rte); if (error == 0) return rdma_copy_addr(addr, ifp, edst); Modified: head/sys/ofed/drivers/infiniband/core/cma.c ============================================================================== --- head/sys/ofed/drivers/infiniband/core/cma.c Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/drivers/infiniband/core/cma.c Thu Apr 12 14:01:06 2012 (r234183) @@ -96,7 +96,9 @@ static DEFINE_IDR(sdp_ps); static DEFINE_IDR(tcp_ps); static DEFINE_IDR(udp_ps); static DEFINE_IDR(ipoib_ps); +#if defined(INET) static int next_port; +#endif struct cma_device { struct list_head list; @@ -2137,6 +2139,7 @@ err1: static int cma_alloc_any_port(struct idr *ps, struct rdma_id_private *id_priv) { +#if defined(INET) struct rdma_bind_list *bind_list; int port, ret, low, high; @@ -2178,6 +2181,9 @@ err2: err1: kfree(bind_list); return ret; +#else + return -ENOSPC; +#endif } static int cma_use_port(struct idr *ps, struct rdma_id_private *id_priv) @@ -2919,9 +2925,13 @@ static int cma_ib_mc_handler(int status, static void cma_set_mgid(struct rdma_id_private *id_priv, struct sockaddr *addr, union ib_gid *mgid) { +#if defined(INET) || defined(INET6) unsigned char mc_map[MAX_ADDR_LEN]; struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; +#endif +#ifdef INET struct sockaddr_in *sin = (struct sockaddr_in *) addr; +#endif #ifdef INET6 struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) addr; #endif @@ -2940,11 +2950,13 @@ static void cma_set_mgid(struct rdma_id_ mc_map[7] = 0x01; /* Use RDMA CM signature */ *mgid = *(union ib_gid *) (mc_map + 4); #endif +#ifdef INET } else { ip_ib_mc_map(sin->sin_addr.s_addr, dev_addr->broadcast, mc_map); if (id_priv->id.ps == RDMA_PS_UDP) mc_map[7] = 0x01; /* Use RDMA CM signature */ *mgid = *(union ib_gid *) (mc_map + 4); +#endif } } @@ -3347,12 +3359,15 @@ static void cma_remove_one(struct ib_dev static int cma_init(void) { - int ret, low, high, remaining; + int ret; +#if defined(INET) + int low, high, remaining; get_random_bytes(&next_port, sizeof next_port); inet_get_local_port_range(&low, &high); remaining = (high - low) + 1; next_port = ((unsigned int) next_port % remaining) + low; +#endif cma_wq = create_singlethread_workqueue("rdma_cm"); if (!cma_wq) Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c Thu Apr 12 14:01:06 2012 (r234183) @@ -1247,7 +1247,9 @@ static void ipoib_cm_mb_reap(struct work cm.mb_task); struct mbuf *mb; unsigned long flags; +#if defined(INET) || defined(INET6) unsigned mtu = priv->mcast_mtu; +#endif uint16_t proto; spin_lock_irqsave(&priv->lock, flags); @@ -1260,14 +1262,20 @@ static void ipoib_cm_mb_reap(struct work proto = htons(*mtod(mb, uint16_t *)); m_adj(mb, IPOIB_ENCAP_LEN); - if (proto == ETHERTYPE_IP) + switch (proto) { +#if defined(INET) + case ETHERTYPE_IP: icmp_error(mb, ICMP_UNREACH, ICMP_UNREACH_NEEDFRAG, 0, mtu); + break; +#endif #if defined(INET6) - else if (proto == ETHERTYPE_IPV6) + case ETHERTYPE_IPV6: icmp6_error(mb, ICMP6_PACKET_TOO_BIG, 0, mtu); + break; #endif - else + default: m_freem(mb); + } spin_lock_irqsave(&priv->lock, flags); } Modified: head/sys/ofed/drivers/net/mlx4/en_frag.c ============================================================================== --- head/sys/ofed/drivers/net/mlx4/en_frag.c Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/drivers/net/mlx4/en_frag.c Thu Apr 12 14:01:06 2012 (r234183) @@ -31,8 +31,11 @@ * */ +#include "opt_inet.h" #include "mlx4_en.h" +#ifdef INET + #include #include #include @@ -186,3 +189,4 @@ void mlx4_en_flush_frags(struct mlx4_en_ flush_session(priv, session, IP_MF); } } +#endif Modified: head/sys/ofed/drivers/net/mlx4/en_rx.c ============================================================================== --- head/sys/ofed/drivers/net/mlx4/en_rx.c Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/drivers/net/mlx4/en_rx.c Thu Apr 12 14:01:06 2012 (r234183) @@ -31,6 +31,7 @@ * */ +#include "opt_inet.h" #include "mlx4_en.h" #include @@ -287,6 +288,7 @@ int mlx4_en_activate_rx_rings(struct mlx /* Initailize all descriptors */ for (i = 0; i < ring->size; i++) mlx4_en_init_rx_desc(priv, ring, i); +#ifdef INET /* Configure lro mngr */ if (priv->dev->if_capenable & IFCAP_LRO) { if (tcp_lro_init(&ring->lro)) @@ -294,6 +296,7 @@ int mlx4_en_activate_rx_rings(struct mlx else ring->lro.ifp = priv->dev; } +#endif } err = mlx4_en_fill_rx_buffers(priv); if (err) @@ -330,7 +333,9 @@ void mlx4_en_destroy_rx_ring(struct mlx4 void mlx4_en_deactivate_rx_ring(struct mlx4_en_priv *priv, struct mlx4_en_rx_ring *ring) { +#ifdef INET tcp_lro_free(&ring->lro); +#endif mlx4_en_free_rx_buf(priv, ring); if (ring->stride <= TXBB_SIZE) ring->buf -= TXBB_SIZE; @@ -446,7 +451,9 @@ int mlx4_en_process_rx_cq(struct net_dev struct mbuf **mb_list; struct mlx4_en_rx_desc *rx_desc; struct mbuf *mb; +#ifdef INET struct lro_entry *queued; +#endif int index; unsigned int length; int polled = 0; @@ -515,22 +522,26 @@ int mlx4_en_process_rx_cq(struct net_dev * - without IP options * - not an IP fragment */ +#ifdef INET if (mlx4_en_can_lro(cqe->status) && (dev->if_capenable & IFCAP_LRO)) { if (ring->lro.lro_cnt != 0 && tcp_lro_rx(&ring->lro, mb, 0) == 0) goto next; } +#endif /* LRO not possible, complete processing here */ INC_PERF_COUNTER(priv->pstats.lro_misses); } else { mb->m_pkthdr.csum_flags = 0; priv->port_stats.rx_chksum_none++; +#ifdef INET if (priv->ip_reasm && cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPV4) && !mlx4_en_rx_frags(priv, ring, mb, cqe)) goto next; +#endif } /* Push it up the stack */ @@ -545,11 +556,13 @@ next: } /* Flush all pending IP reassembly sessions */ out: +#ifdef INET mlx4_en_flush_frags(priv, ring); while ((queued = SLIST_FIRST(&ring->lro.lro_active)) != NULL) { SLIST_REMOVE_HEAD(&ring->lro.lro_active, next); tcp_lro_flush(&ring->lro, queued); } +#endif AVG_PERF_COUNTER(priv->pstats.rx_coal_avg, polled); mlx4_cq_set_ci(&cq->mcq); wmb(); /* ensure HW sees CQ consumer before we post new buffers */ Modified: head/sys/ofed/include/linux/in.h ============================================================================== --- head/sys/ofed/include/linux/in.h Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/include/linux/in.h Thu Apr 12 14:01:06 2012 (r234183) @@ -28,6 +28,8 @@ #ifndef _LINUX_IN_H_ #define _LINUX_IN_H_ +#include "opt_inet.h" + #include #include Modified: head/sys/ofed/include/linux/in6.h ============================================================================== --- head/sys/ofed/include/linux/in6.h Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/include/linux/in6.h Thu Apr 12 14:01:06 2012 (r234183) @@ -29,8 +29,6 @@ #ifndef _LINUX_IN6_H_ #define _LINUX_IN6_H_ -#ifndef KLD_MODULE #include "opt_inet6.h" -#endif #endif /* _LINUX_IN6_H_ */ Modified: head/sys/ofed/include/net/ip.h ============================================================================== --- head/sys/ofed/include/net/ip.h Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/include/net/ip.h Thu Apr 12 14:01:06 2012 (r234183) @@ -29,6 +29,8 @@ #ifndef _LINUX_NET_IP_H_ #define _LINUX_NET_IP_H_ +#include "opt_inet.h" + #include #include @@ -39,6 +41,7 @@ #include #include +#ifdef INET static inline void inet_get_local_port_range(int *low, int *high) { *low = V_ipport_firstauto; @@ -73,5 +76,6 @@ ip_ib_mc_map(uint32_t addr, const unsign buf[18] = (addr >> 8) & 0xff; buf[19] = addr & 0xff; } +#endif #endif /* _LINUX_NET_IP_H_ */ Modified: head/sys/ofed/include/net/ipv6.h ============================================================================== --- head/sys/ofed/include/net/ipv6.h Thu Apr 12 13:53:49 2012 (r234182) +++ head/sys/ofed/include/net/ipv6.h Thu Apr 12 14:01:06 2012 (r234183) @@ -29,9 +29,7 @@ #ifndef _LINUX_NET_IPV6_H_ #define _LINUX_NET_IPV6_H_ -#ifndef KLD_MODULE #include "opt_inet6.h" -#endif #define ipv6_addr_loopback IN6_IS_ADDR_LOOPBACK #define ipv6_addr_copy(dst, src) \ From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 14:03:00 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3F748106566C; Thu, 12 Apr 2012 14:03:00 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 294168FC16; Thu, 12 Apr 2012 14:03:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CE30ZD031569; Thu, 12 Apr 2012 14:03:00 GMT (envelope-from dumbbell@svn.freebsd.org) Received: (from dumbbell@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CE2xZ3031567; Thu, 12 Apr 2012 14:02:59 GMT (envelope-from dumbbell@svn.freebsd.org) Message-Id: <201204121402.q3CE2xZ3031567@svn.freebsd.org> From: Jean-Sebastien Pedron Date: Thu, 12 Apr 2012 14:02:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234184 - head/lib/libpam/modules/pam_exec X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 14:03:00 -0000 Author: dumbbell Date: Thu Apr 12 14:02:59 2012 New Revision: 234184 URL: http://svn.freebsd.org/changeset/base/234184 Log: Fix error messages containing the executed command name Before, we took the first argument to pam_exec(8). With the addition of options in front of the command, this could be wrong. Now, options are parsed before calling _pam_exec() and messages contain the proper command name. While here, fix a warning. Sponsored by: Yakaz (http://www.yakaz.com) Modified: head/lib/libpam/modules/pam_exec/pam_exec.c Modified: head/lib/libpam/modules/pam_exec/pam_exec.c ============================================================================== --- head/lib/libpam/modules/pam_exec/pam_exec.c Thu Apr 12 14:01:06 2012 (r234183) +++ head/lib/libpam/modules/pam_exec/pam_exec.c Thu Apr 12 14:02:59 2012 (r234184) @@ -60,22 +60,17 @@ static struct { ENV_ITEM(PAM_RUSER), }; +struct pe_opts { + int return_prog_exit_status; +}; + #define PAM_RV_COUNT 24 static int -_pam_exec(pam_handle_t *pamh __unused, - const char *func, int flags __unused, int argc, const char *argv[]) +parse_options(const char *func, int *argc, const char **argv[], + struct pe_opts *options) { - int envlen, i, nitems, pam_err, status, return_prog_exit_status; - int nitems_rv; - char *env, **envlist, **tmp, *envstr; - volatile int childerr; - pid_t pid; - - /* - * XXX For additional credit, divert child's stdin/stdout/stderr - * to the conversation function. - */ + int i; /* * Parse options: @@ -84,25 +79,45 @@ _pam_exec(pam_handle_t *pamh __unused, * --: * stop options parsing; what follows is the command to execute */ - return_prog_exit_status = 0; - for (i = 0; i < argc; ++i) { - if (strcmp(argv[i], "return_prog_exit_status") == 0) { + options->return_prog_exit_status = 0; + + for (i = 0; i < *argc; ++i) { + if (strcmp((*argv)[i], "return_prog_exit_status") == 0) { openpam_log(PAM_LOG_DEBUG, "%s: Option \"return_prog_exit_status\" enabled", func); - return_prog_exit_status = 1; + options->return_prog_exit_status = 1; } else { - if (strcmp(argv[i], "--") == 0) { - argc--; - argv++; + if (strcmp((*argv)[i], "--") == 0) { + (*argc)--; + (*argv)++; } break; } } - argc -= i; - argv += i; + (*argc) -= i; + (*argv) += i; + + return (0); +} + +static int +_pam_exec(pam_handle_t *pamh __unused, + const char *func, int flags __unused, int argc, const char *argv[], + struct pe_opts *options) +{ + int envlen, i, nitems, pam_err, status; + int nitems_rv; + char **envlist, **tmp, *envstr; + volatile int childerr; + pid_t pid; + + /* + * XXX For additional credit, divert child's stdin/stdout/stderr + * to the conversation function. + */ /* Check there's a program name left after parsing options. */ if (argc < 1) { @@ -122,7 +137,7 @@ _pam_exec(pam_handle_t *pamh __unused, /* nothing */ ; nitems = sizeof(env_items) / sizeof(*env_items); /* Count PAM return values put in the environment. */ - nitems_rv = return_prog_exit_status ? PAM_RV_COUNT : 0; + nitems_rv = options->return_prog_exit_status ? PAM_RV_COUNT : 0; tmp = realloc(envlist, (envlen + nitems + 1 + nitems_rv + 1) * sizeof(*envlist)); if (tmp == NULL) { @@ -136,7 +151,8 @@ _pam_exec(pam_handle_t *pamh __unused, pam_err = pam_get_item(pamh, env_items[i].item, &item); if (pam_err != PAM_SUCCESS || item == NULL) continue; - asprintf(&envstr, "%s=%s", env_items[i].name, item); + asprintf(&envstr, "%s=%s", env_items[i].name, + (const char *)item); if (envstr == NULL) { openpam_free_envlist(envlist); return (PAM_BUF_ERR); @@ -154,7 +170,7 @@ _pam_exec(pam_handle_t *pamh __unused, envlist[envlen++] = envstr; /* Add the PAM return values to the environment. */ - if (return_prog_exit_status) { + if (options->return_prog_exit_status) { #define ADD_PAM_RV_TO_ENV(name) \ asprintf(&envstr, #name "=%d", name); \ if (envstr == NULL) { \ @@ -232,7 +248,7 @@ _pam_exec(pam_handle_t *pamh __unused, return (PAM_SERVICE_ERR); } - if (return_prog_exit_status) { + if (options->return_prog_exit_status) { openpam_log(PAM_LOG_DEBUG, "%s: Use program exit status as return value: %d", func, WEXITSTATUS(status)); @@ -248,8 +264,13 @@ pam_sm_authenticate(pam_handle_t *pamh, int argc, const char *argv[]) { int ret; + struct pe_opts options; - ret = _pam_exec(pamh, __func__, flags, argc, argv); + ret = parse_options(__func__, &argc, &argv, &options); + if (ret != 0) + return (PAM_SERVICE_ERR); + + ret = _pam_exec(pamh, __func__, flags, argc, argv, &options); /* * We must check that the program returned a valid code for this @@ -284,8 +305,13 @@ pam_sm_setcred(pam_handle_t *pamh, int f int argc, const char *argv[]) { int ret; + struct pe_opts options; - ret = _pam_exec(pamh, __func__, flags, argc, argv); + ret = parse_options(__func__, &argc, &argv, &options); + if (ret != 0) + return (PAM_SERVICE_ERR); + + ret = _pam_exec(pamh, __func__, flags, argc, argv, &options); /* * We must check that the program returned a valid code for this @@ -319,8 +345,13 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int int argc, const char *argv[]) { int ret; + struct pe_opts options; + + ret = parse_options(__func__, &argc, &argv, &options); + if (ret != 0) + return (PAM_SERVICE_ERR); - ret = _pam_exec(pamh, __func__, flags, argc, argv); + ret = _pam_exec(pamh, __func__, flags, argc, argv, &options); /* * We must check that the program returned a valid code for this @@ -354,8 +385,13 @@ pam_sm_open_session(pam_handle_t *pamh, int argc, const char *argv[]) { int ret; + struct pe_opts options; + + ret = parse_options(__func__, &argc, &argv, &options); + if (ret != 0) + return (PAM_SERVICE_ERR); - ret = _pam_exec(pamh, __func__, flags, argc, argv); + ret = _pam_exec(pamh, __func__, flags, argc, argv, &options); /* * We must check that the program returned a valid code for this @@ -386,8 +422,13 @@ pam_sm_close_session(pam_handle_t *pamh, int argc, const char *argv[]) { int ret; + struct pe_opts options; - ret = _pam_exec(pamh, __func__, flags, argc, argv); + ret = parse_options(__func__, &argc, &argv, &options); + if (ret != 0) + return (PAM_SERVICE_ERR); + + ret = _pam_exec(pamh, __func__, flags, argc, argv, &options); /* * We must check that the program returned a valid code for this @@ -418,8 +459,13 @@ pam_sm_chauthtok(pam_handle_t *pamh, int int argc, const char *argv[]) { int ret; + struct pe_opts options; + + ret = parse_options(__func__, &argc, &argv, &options); + if (ret != 0) + return (PAM_SERVICE_ERR); - ret = _pam_exec(pamh, __func__, flags, argc, argv); + ret = _pam_exec(pamh, __func__, flags, argc, argv, &options); /* * We must check that the program returned a valid code for this From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 14:06:06 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0B6631065670; Thu, 12 Apr 2012 14:06:06 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EA79C8FC0A; Thu, 12 Apr 2012 14:06:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CE65cf031776; Thu, 12 Apr 2012 14:06:05 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CE65in031774; Thu, 12 Apr 2012 14:06:05 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204121406.q3CE65in031774@svn.freebsd.org> From: Luigi Rizzo Date: Thu, 12 Apr 2012 14:06:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234185 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 14:06:06 -0000 Author: luigi Date: Thu Apr 12 14:06:05 2012 New Revision: 234185 URL: http://svn.freebsd.org/changeset/base/234185 Log: Apparently the length field in advanced descriptors does not include the CRC irrespective of the setting of CRCSTRIP. The 82599 data sheets (sec. 7.1.6) say differently. Very strange. Need to check what happens on legacy descriptors, but for the time being this restores functionality. Modified: head/sys/dev/netmap/ixgbe_netmap.h Modified: head/sys/dev/netmap/ixgbe_netmap.h ============================================================================== --- head/sys/dev/netmap/ixgbe_netmap.h Thu Apr 12 14:02:59 2012 (r234184) +++ head/sys/dev/netmap/ixgbe_netmap.h Thu Apr 12 14:06:05 2012 (r234185) @@ -474,7 +474,12 @@ ixgbe_netmap_rxsync(struct ifnet *ifp, u * rxr->next_to_check is set to 0 on a ring reinit */ if (netmap_no_pendintr || force_update) { - int crclen = ix_crcstrip ? 0 : 4; + /* XXX apparently the length field in advanced descriptors + * does not include the CRC irrespective of the setting + * of CRCSTRIP. The data sheets say differently. + * Very strange. + */ + int crclen = 0; // ix_crcstrip ? 0 : 4; l = rxr->next_to_check; j = netmap_idx_n2k(kring, l); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 14:49:26 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1BBD1106564A; Thu, 12 Apr 2012 14:49:26 +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 06BA28FC14; Thu, 12 Apr 2012 14:49: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 q3CEnP3j033084; Thu, 12 Apr 2012 14:49:25 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CEnP8L033082; Thu, 12 Apr 2012 14:49:25 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204121449.q3CEnP8L033082@svn.freebsd.org> From: John Baldwin Date: Thu, 12 Apr 2012 14:49:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234186 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 14:49:26 -0000 Author: jhb Date: Thu Apr 12 14:49:25 2012 New Revision: 234186 URL: http://svn.freebsd.org/changeset/base/234186 Log: If a linker file contains at least one module, but all of the modules fail to load (the MOD_LOAD event fails) during a kldload(2), unload the linker file and fail the kldload(2) with ENOEXEC. Reported by: gcooper MFC after: 1 week Modified: head/sys/kern/kern_linker.c Modified: head/sys/kern/kern_linker.c ============================================================================== --- head/sys/kern/kern_linker.c Thu Apr 12 14:06:05 2012 (r234185) +++ head/sys/kern/kern_linker.c Thu Apr 12 14:49:25 2012 (r234186) @@ -380,7 +380,7 @@ linker_load_file(const char *filename, l { linker_class_t lc; linker_file_t lf; - int foundfile, error; + int foundfile, error, modules; /* Refuse to load modules if securelevel raised */ if (prison0.pr_securelevel > 0) @@ -419,11 +419,22 @@ linker_load_file(const char *filename, l linker_file_unload(lf, LINKER_UNLOAD_FORCE); return (error); } + modules = !TAILQ_EMPTY(&lf->modules); KLD_UNLOCK(); linker_file_register_sysctls(lf); linker_file_sysinit(lf); KLD_LOCK(); lf->flags |= LINKER_FILE_LINKED; + + /* + * If all of the modules in this file failed + * to load, unload the file and return an + * error of ENOEXEC. + */ + if (modules && TAILQ_EMPTY(&lf->modules)) { + linker_file_unload(lf, LINKER_UNLOAD_FORCE); + return (ENOEXEC); + } *result = lf; return (0); } @@ -627,7 +638,7 @@ linker_file_unload(linker_file_t file, i /* * Inform any modules associated with this file that they are - * being be unloaded. + * being unloaded. */ MOD_XLOCK; for (mod = TAILQ_FIRST(&file->modules); mod; mod = next) { From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 15:06:58 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7409D106564A; Thu, 12 Apr 2012 15:06:58 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-lpp01m010-f54.google.com (mail-lpp01m010-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 5B6108FC08; Thu, 12 Apr 2012 15:06:57 +0000 (UTC) Received: by lagv3 with SMTP id v3so2155365lag.13 for ; Thu, 12 Apr 2012 08:06:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=X42I/aUnKx8Rla2NNKtWYzj0eBzbTd8+cvoyrMofwqQ=; b=DrdTr5m1Gnq9c4ufhDUFGsLykASZ7S7arZL4aJTchFt2SC63RJDWVfivH43K/zX2sB kd5ChG2Ho+0NCuU+bthhSHWY5J4nHdbq/3PApLkZd26g2tE4WJDezavw6G9WXyW4E0en JUPHkRmSQYnRezrpTEj0cdvV9EOK33rT+ga9IGOi1Ub7ELt2Rourvw5h5P8isxdJpEPf +n1FATRy+lEExFfVNqyMWsjpVIoK146038nsjrwmUuHVsSuBc6eRVV5JIBYG0Sr9f5uK Nb5BBqF/v6DYvOKAnLLBgJZ6BERN6r025N2mMrYLHkgH37uC8tRJuxRmo1w8lNETAA+l 7mXg== MIME-Version: 1.0 Received: by 10.112.25.130 with SMTP id c2mr1217169lbg.107.1334243216315; Thu, 12 Apr 2012 08:06:56 -0700 (PDT) Sender: pluknet@gmail.com Received: by 10.152.25.69 with HTTP; Thu, 12 Apr 2012 08:06:56 -0700 (PDT) In-Reply-To: <201204121449.q3CEnP8L033082@svn.freebsd.org> References: <201204121449.q3CEnP8L033082@svn.freebsd.org> Date: Thu, 12 Apr 2012 19:06:56 +0400 X-Google-Sender-Auth: H007v4XVVdqU9r33Lltf7O7IuqY Message-ID: From: Sergey Kandaurov To: John Baldwin Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234186 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 15:06:58 -0000 On 12 April 2012 18:49, John Baldwin wrote: > Author: jhb > Date: Thu Apr 12 14:49:25 2012 > New Revision: 234186 > URL: http://svn.freebsd.org/changeset/base/234186 > > Log: > =A0If a linker file contains at least one module, but all of the modules > =A0fail to load (the MOD_LOAD event fails) during a kldload(2), unload th= e > =A0linker file and fail the kldload(2) with ENOEXEC. > > =A0Reported by: =A0gcooper > =A0MFC after: =A0 =A01 week > > Modified: > =A0head/sys/kern/kern_linker.c > > Modified: head/sys/kern/kern_linker.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/kern/kern_linker.c Thu Apr 12 14:06:05 2012 =A0 =A0 =A0 =A0(= r234185) > +++ head/sys/kern/kern_linker.c Thu Apr 12 14:49:25 2012 =A0 =A0 =A0 =A0(= r234186) > @@ -380,7 +380,7 @@ linker_load_file(const char *filename, l > =A0{ > =A0 =A0 =A0 =A0linker_class_t lc; > =A0 =A0 =A0 =A0linker_file_t lf; > - =A0 =A0 =A0 int foundfile, error; > + =A0 =A0 =A0 int foundfile, error, modules; > > =A0 =A0 =A0 =A0/* Refuse to load modules if securelevel raised */ > =A0 =A0 =A0 =A0if (prison0.pr_securelevel > 0) > @@ -419,11 +419,22 @@ linker_load_file(const char *filename, l > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0linker_fil= e_unload(lf, LINKER_UNLOAD_FORCE); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return (er= ror); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 modules =3D !TAILQ_EMPTY(&l= f->modules); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0KLD_UNLOCK(); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0linker_file_register_sysct= ls(lf); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0linker_file_sysinit(lf); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0KLD_LOCK(); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0lf->flags |=3D LINKER_FILE= _LINKED; > + > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* If all of the modules = in this file failed > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* to load, unload the fi= le and return an > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* error of ENOEXEC. > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*/ > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (modules && TAILQ_EMPTY(= &lf->modules)) { > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 linker_file= _unload(lf, LINKER_UNLOAD_FORCE); > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return (ENO= EXEC); > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 } > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*result =3D lf; > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return (0); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} > @@ -627,7 +638,7 @@ linker_file_unload(linker_file_t file, i > > =A0 =A0 =A0 =A0/* > =A0 =A0 =A0 =A0 * Inform any modules associated with this file that they = are > - =A0 =A0 =A0 =A0* being be unloaded. > + =A0 =A0 =A0 =A0* being unloaded. > =A0 =A0 =A0 =A0 */ > =A0 =A0 =A0 =A0MOD_XLOCK; > =A0 =A0 =A0 =A0for (mod =3D TAILQ_FIRST(&file->modules); mod; mod =3D nex= t) { Thanks. I have had exactly this change in my local tree, but I didn't commit it for some reasons I don't recall... --=20 wbr, pluknet From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 15:10:14 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 37774106566B; Thu, 12 Apr 2012 15:10:14 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1.freebsd.org (Postfix) with ESMTP id C39AB8FC16; Thu, 12 Apr 2012 15:10:12 +0000 (UTC) Received: by lbbgj3 with SMTP id gj3so2149898lbb.13 for ; Thu, 12 Apr 2012 08:10:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=noNGpKtSKe2oZETelh9Dap35voQJ813oOFkpFkC8MCo=; b=nT4kK/Ye/c+yxJnOJdmDziNlCRnr/9dKbeKUlkrv5NRfVuR569XtmwS5og4u+KMaG1 +jDZ5nm0SrVVoqoNuaUDpASBTdWl/jZJubK9uNbCkJNFjvLmcSPGKifRbWSglgh9n9+u J88MvPxyxDZW+cw/w6OXn+N43GYQpIQ8GV1RhSwly32AH+fHpLPxJXXPY3aKjvfXXI9Q O0aCDfQPkZy1HzkSvSE0vuBq0C2OJS8YQX3OB43fdrTOFbMIfWtevFmo6buMH43OZgmC EOpnjlTBfvDBzBwNt2HOinoFmXciSTlIBJpB5C4jKx9BgurXwC1Kx3OPs86dshxNnO68 uCmQ== MIME-Version: 1.0 Received: by 10.152.104.109 with SMTP id gd13mr2574645lab.9.1334243410321; Thu, 12 Apr 2012 08:10:10 -0700 (PDT) Sender: pluknet@gmail.com Received: by 10.152.25.69 with HTTP; Thu, 12 Apr 2012 08:10:10 -0700 (PDT) In-Reply-To: References: <201204121449.q3CEnP8L033082@svn.freebsd.org> Date: Thu, 12 Apr 2012 19:10:10 +0400 X-Google-Sender-Auth: GJ7_tIl3pIfWNIXhxz-42RZkoII Message-ID: From: Sergey Kandaurov To: John Baldwin Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234186 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 15:10:14 -0000 On 12 April 2012 19:06, Sergey Kandaurov wrote: > On 12 April 2012 18:49, John Baldwin wrote: >> Author: jhb >> Date: Thu Apr 12 14:49:25 2012 >> New Revision: 234186 >> URL: http://svn.freebsd.org/changeset/base/234186 >> >> Log: >> =A0If a linker file contains at least one module, but all of the modules >> =A0fail to load (the MOD_LOAD event fails) during a kldload(2), unload t= he >> =A0linker file and fail the kldload(2) with ENOEXEC. >> >> =A0Reported by: =A0gcooper >> =A0MFC after: =A0 =A01 week >> >> Modified: >> =A0head/sys/kern/kern_linker.c >> >> Modified: head/sys/kern/kern_linker.c >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/sys/kern/kern_linker.c Thu Apr 12 14:06:05 2012 =A0 =A0 =A0 =A0= (r234185) >> +++ head/sys/kern/kern_linker.c Thu Apr 12 14:49:25 2012 =A0 =A0 =A0 =A0= (r234186) >> @@ -380,7 +380,7 @@ linker_load_file(const char *filename, l >> =A0{ >> =A0 =A0 =A0 =A0linker_class_t lc; >> =A0 =A0 =A0 =A0linker_file_t lf; >> - =A0 =A0 =A0 int foundfile, error; >> + =A0 =A0 =A0 int foundfile, error, modules; >> >> =A0 =A0 =A0 =A0/* Refuse to load modules if securelevel raised */ >> =A0 =A0 =A0 =A0if (prison0.pr_securelevel > 0) >> @@ -419,11 +419,22 @@ linker_load_file(const char *filename, l >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0linker_fi= le_unload(lf, LINKER_UNLOAD_FORCE); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return (e= rror); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 modules =3D !TAILQ_EMPTY(&= lf->modules); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0KLD_UNLOCK(); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0linker_file_register_sysc= tls(lf); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0linker_file_sysinit(lf); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0KLD_LOCK(); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0lf->flags |=3D LINKER_FIL= E_LINKED; >> + >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* If all of the modules= in this file failed >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* to load, unload the f= ile and return an >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* error of ENOEXEC. >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*/ >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (modules && TAILQ_EMPTY= (&lf->modules)) { >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 linker_fil= e_unload(lf, LINKER_UNLOAD_FORCE); >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 return (EN= OEXEC); >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 } >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*result =3D lf; >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return (0); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} >> @@ -627,7 +638,7 @@ linker_file_unload(linker_file_t file, i >> >> =A0 =A0 =A0 =A0/* >> =A0 =A0 =A0 =A0 * Inform any modules associated with this file that they= are >> - =A0 =A0 =A0 =A0* being be unloaded. >> + =A0 =A0 =A0 =A0* being unloaded. >> =A0 =A0 =A0 =A0 */ >> =A0 =A0 =A0 =A0MOD_XLOCK; >> =A0 =A0 =A0 =A0for (mod =3D TAILQ_FIRST(&file->modules); mod; mod =3D ne= xt) { > > Thanks. I have had exactly this change in my local tree, > but I didn't commit it for some reasons I don't recall... Doh, I have had something different.. Sorry. --=20 wbr, pluknet From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 16:02:46 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BF511065672; Thu, 12 Apr 2012 16:02:46 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D1C48FC0C; Thu, 12 Apr 2012 16:02: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 q3CG2kMH035436; Thu, 12 Apr 2012 16:02:46 GMT (envelope-from pluknet@svn.freebsd.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CG2kpK035434; Thu, 12 Apr 2012 16:02:46 GMT (envelope-from pluknet@svn.freebsd.org) Message-Id: <201204121602.q3CG2kpK035434@svn.freebsd.org> From: Sergey Kandaurov Date: Thu, 12 Apr 2012 16:02:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234188 - head/share/man/man9 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 16:02:46 -0000 Author: pluknet Date: Thu Apr 12 16:02:45 2012 New Revision: 234188 URL: http://svn.freebsd.org/changeset/base/234188 Log: Update the swi_add prototype after struct ithd was split up into struct intr_event and struct intr_thread. PR: docs/166864 Reviewed by: jhb (older version) MFC after: 1 week Modified: head/share/man/man9/swi.9 Modified: head/share/man/man9/swi.9 ============================================================================== --- head/share/man/man9/swi.9 Thu Apr 12 15:56:04 2012 (r234187) +++ head/share/man/man9/swi.9 Thu Apr 12 16:02:45 2012 (r234188) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 30, 2000 +.Dd April 12, 2012 .Dt SWI 9 .Os .Sh NAME @@ -42,7 +42,7 @@ .Vt "extern void *vm_ih" ; .Ft int .Fo swi_add -.Fa "struct ithd **ithdp" +.Fa "struct intr_event **eventp" .Fa "const char *name" .Fa "driver_intr_t handler" .Fa "void *arg" @@ -67,20 +67,21 @@ time, and that they can be run via a lig .Pp The .Fn swi_add -function is used to register a new software interrupt handler. +function is used to add a new software interrupt handler to a specified +interrupt event. The -.Fa ithdp +.Fa eventp argument is an optional pointer to a -.Vt struct ithd +.Vt struct intr_event pointer. -If this argument points to an existing software interrupt thread, then this -handler will be attached to that thread. -Otherwise a new thread will be created, and if -.Fa ithdp +If this argument points to an existing event that holds a list of +interrupt handlers, then this handler will be attached to that event. +Otherwise a new event will be created, and if +.Fa eventp is not .Dv NULL , then the pointer at that address to will be modified to point to the -newly created thread. +newly created event. The .Fa name argument is used to associate a name with a specific handler. @@ -99,7 +100,7 @@ The .Fa pri value specifies the priority of this interrupt handler relative to other software interrupt handlers. -If an interrupt thread is created, then this value is used as the vector, +If an interrupt event is created, then this value is used as the vector, and the .Fa flags argument is used to specify the attributes of a handler such as @@ -183,7 +184,7 @@ argument specifies .Dv INTR_ENTROPY . .It Bq Er EINVAL The -.Fa ithdp +.Fa eventp argument points to a hardware interrupt thread. .It Bq Er EINVAL Either of the @@ -195,9 +196,9 @@ arguments are .It Bq Er EINVAL The .Dv INTR_EXCL -flag is specified and the interrupt thread pointed to by -.Fa ithdp -already has at least one handler, or the interrupt thread already has an +flag is specified and the interrupt event pointed to by +.Fa eventp +already has at least one handler, or the interrupt event already has an exclusive handler. .El .Sh SEE ALSO From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 16:55:48 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF005106564A; Thu, 12 Apr 2012 16:55:48 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C0CE38FC0A; Thu, 12 Apr 2012 16:55:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CGtm2i037801; Thu, 12 Apr 2012 16:55:48 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CGtm5l037799; Thu, 12 Apr 2012 16:55:48 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201204121655.q3CGtm5l037799@svn.freebsd.org> From: Edward Tomasz Napierala Date: Thu, 12 Apr 2012 16:55:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234189 - head/sbin/growfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 16:55:49 -0000 Author: trasz Date: Thu Apr 12 16:55:48 2012 New Revision: 234189 URL: http://svn.freebsd.org/changeset/base/234189 Log: Style. Modified: head/sbin/growfs/growfs.c Modified: head/sbin/growfs/growfs.c ============================================================================== --- head/sbin/growfs/growfs.c Thu Apr 12 16:02:45 2012 (r234188) +++ head/sbin/growfs/growfs.c Thu Apr 12 16:55:48 2012 (r234189) @@ -76,7 +76,7 @@ int _dbg_lvl_ = (DL_INFO); /* DL_TRC */ static union { struct fs fs; - char pad[SBLOCKSIZE]; + char pad[SBLOCKSIZE]; } fsun1, fsun2; #define sblock fsun1.fs /* the new superblock */ #define osblock fsun2.fs /* the old superblock */ @@ -89,7 +89,7 @@ static ufs2_daddr_t sblockloc; static union { struct cg cg; - char pad[MAXBSIZE]; + char pad[MAXBSIZE]; } cgun1, cgun2; #define acg cgun1.cg /* a cylinder cgroup (new) */ #define aocg cgun2.cg /* an old cylinder group */ @@ -526,7 +526,7 @@ frag_adjust(ufs2_daddr_t frag, int sign) /* * We found something in between. */ - acg.cg_frsum[fragsize]+=sign; + acg.cg_frsum[fragsize] += sign; DBG_PRINT2("frag_adjust [%d]+=%d\n", fragsize, sign); } @@ -882,8 +882,7 @@ updcsloc(time_t modtime, int fsi, int fs */ if (sblock.fs_contigsumsize > 0) { for (block = howmany(d % sblock.fs_fpg, sblock.fs_frag), - lcs = 0; lcs < sblock.fs_contigsumsize; - block++, lcs++) { + lcs = 0; lcs < sblock.fs_contigsumsize; block++, lcs++) { if (isclr(cg_clustersfree(&acg), block)) break; } @@ -913,7 +912,7 @@ updcsloc(time_t modtime, int fsi, int fs * (incomplete) block of the cylinder summary. */ d++; - frag_adjust(d%sblock.fs_fpg, 1); + frag_adjust(d % sblock.fs_fpg, 1); if (isblock(&sblock, cg_blksfree(&acg), (d % sblock.fs_fpg) / sblock.fs_frag)) { @@ -924,8 +923,7 @@ updcsloc(time_t modtime, int fsi, int fs sblock.fs_cstotal.cs_nbfree++; if (sblock.fs_contigsumsize > 0) { setbit(cg_clustersfree(&acg), - (d % sblock.fs_fpg) / - sblock.fs_frag); + (d % sblock.fs_fpg) / sblock.fs_frag); if (lcs < sblock.fs_contigsumsize) { if (lcs) cg_clustersum(&acg)[lcs]--; @@ -1026,8 +1024,7 @@ updcsloc(time_t modtime, int fsi, int fs * Allocate all fragments used by the cylinder summary in the * last block. */ - if (d < - sblock.fs_csaddr + (sblock.fs_cssize / sblock.fs_fsize)) { + if (d < sblock.fs_csaddr + (sblock.fs_cssize / sblock.fs_fsize)) { for (; d - sblock.fs_csaddr < sblock.fs_cssize/sblock.fs_fsize; d++) { clrbit(cg_blksfree(&acg), d % sblock.fs_fpg); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 17:43:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DAECE106564A; Thu, 12 Apr 2012 17:43:59 +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 C5AD18FC0A; Thu, 12 Apr 2012 17:43: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 q3CHhxK9039337; Thu, 12 Apr 2012 17:43:59 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CHhxQA039333; Thu, 12 Apr 2012 17:43:59 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204121743.q3CHhxQA039333@svn.freebsd.org> From: John Baldwin Date: Thu, 12 Apr 2012 17:43:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234190 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 17:44:00 -0000 Author: jhb Date: Thu Apr 12 17:43:59 2012 New Revision: 234190 URL: http://svn.freebsd.org/changeset/base/234190 Log: - Extend the KDB interface to add a per-debugger callback to print a backtrace for an arbitrary thread (rather than the calling thread). A kdb_backtrace_thread() wrapper function uses the configured debugger if possible, otherwise it falls back to using stack(9) if that is available. - Replace a direct call to db_trace_thread() in propagate_priority() with a call to kdb_backtrace_thread() instead. MFC after: 1 week Modified: head/sys/kern/subr_kdb.c head/sys/kern/subr_turnstile.c head/sys/sys/kdb.h Modified: head/sys/kern/subr_kdb.c ============================================================================== --- head/sys/kern/subr_kdb.c Thu Apr 12 16:55:48 2012 (r234189) +++ head/sys/kern/subr_kdb.c Thu Apr 12 17:43:59 2012 (r234190) @@ -73,7 +73,7 @@ struct trapframe *kdb_frame = NULL; static int kdb_break_to_debugger = KDB_BREAK_TO_DEBUGGER; static int kdb_alt_break_to_debugger = KDB_ALT_BREAK_TO_DEBUGGER; -KDB_BACKEND(null, NULL, NULL, NULL); +KDB_BACKEND(null, NULL, NULL, NULL, NULL); SET_DECLARE(kdb_dbbe_set, struct kdb_dbbe); static int kdb_sysctl_available(SYSCTL_HANDLER_ARGS); @@ -376,6 +376,7 @@ kdb_backtrace(void) struct stack st; printf("KDB: stack backtrace:\n"); + stack_zero(&st); stack_save(&st); stack_print_ddb(&st); } @@ -383,6 +384,30 @@ kdb_backtrace(void) } /* + * Similar to kdb_backtrace() except that it prints a backtrace of an + * arbitrary thread rather than the calling thread. + */ +void +kdb_backtrace_thread(struct thread *td) +{ + + if (kdb_dbbe != NULL && kdb_dbbe->dbbe_trace_thread != NULL) { + printf("KDB: stack backtrace of thread %d:\n", td->td_tid); + kdb_dbbe->dbbe_trace_thread(td); + } +#ifdef STACK + else { + struct stack st; + + printf("KDB: stack backtrace of thread %d:\n", td->td_tid); + stack_zero(&st); + stack_save_td(&st, td); + stack_print_ddb(&st); + } +#endif +} + +/* * Set/change the current backend. */ Modified: head/sys/kern/subr_turnstile.c ============================================================================== --- head/sys/kern/subr_turnstile.c Thu Apr 12 16:55:48 2012 (r234189) +++ head/sys/kern/subr_turnstile.c Thu Apr 12 17:43:59 2012 (r234190) @@ -217,9 +217,7 @@ propagate_priority(struct thread *td) printf( "Sleeping thread (tid %d, pid %d) owns a non-sleepable lock\n", td->td_tid, td->td_proc->p_pid); -#ifdef DDB - db_trace_thread(td, -1); -#endif + kdb_backtrace_thread(td); panic("sleeping thread"); } Modified: head/sys/sys/kdb.h ============================================================================== --- head/sys/sys/kdb.h Thu Apr 12 16:55:48 2012 (r234189) +++ head/sys/sys/kdb.h Thu Apr 12 17:43:59 2012 (r234190) @@ -31,31 +31,34 @@ #include +struct pcb; +struct thread; +struct trapframe; + typedef int dbbe_init_f(void); typedef void dbbe_trace_f(void); +typedef void dbbe_trace_thread_f(struct thread *); typedef int dbbe_trap_f(int, int); struct kdb_dbbe { const char *dbbe_name; dbbe_init_f *dbbe_init; dbbe_trace_f *dbbe_trace; + dbbe_trace_thread_f *dbbe_trace_thread; dbbe_trap_f *dbbe_trap; int dbbe_active; }; -#define KDB_BACKEND(name, init, trace, trap) \ +#define KDB_BACKEND(name, init, trace, trace_thread, trap) \ static struct kdb_dbbe name##_dbbe = { \ .dbbe_name = #name, \ .dbbe_init = init, \ .dbbe_trace = trace, \ + .dbbe_trace_thread = trace_thread, \ .dbbe_trap = trap \ }; \ DATA_SET(kdb_dbbe_set, name##_dbbe) -struct pcb; -struct thread; -struct trapframe; - extern int kdb_active; /* Non-zero while in debugger. */ extern int debugger_on_panic; /* enter the debugger on panic. */ extern struct kdb_dbbe *kdb_dbbe; /* Default debugger backend or NULL. */ @@ -67,6 +70,7 @@ int kdb_alt_break(int, int *); int kdb_alt_break_gdb(int, int *); int kdb_break(void); void kdb_backtrace(void); +void kdb_backtrace_thread(struct thread *); int kdb_dbbe_select(const char *); void kdb_enter(const char *, const char *); void kdb_init(void); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 17:49:54 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F2C471065670; Thu, 12 Apr 2012 17:49:53 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD6148FC17; Thu, 12 Apr 2012 17:49: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 q3CHnrOO039555; Thu, 12 Apr 2012 17:49:53 GMT (envelope-from melifaro@svn.freebsd.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CHnriJ039549; Thu, 12 Apr 2012 17:49:53 GMT (envelope-from melifaro@svn.freebsd.org) Message-Id: <201204121749.q3CHnriJ039549@svn.freebsd.org> From: "Alexander V. Chernikov" Date: Thu, 12 Apr 2012 17:49:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234191 - stable/9/lib/libradius X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 17:49:54 -0000 Author: melifaro Date: Thu Apr 12 17:49:53 2012 New Revision: 234191 URL: http://svn.freebsd.org/changeset/base/234191 Log: MFC: r228730 Add binding support to libradius(3). Submitted by: Sergey Matveychuk Approved by: kib(mentor) Modified: stable/9/lib/libradius/Makefile stable/9/lib/libradius/libradius.3 stable/9/lib/libradius/radlib.c stable/9/lib/libradius/radlib.h stable/9/lib/libradius/radlib_private.h Directory Properties: stable/9/lib/libradius/ (props changed) Modified: stable/9/lib/libradius/Makefile ============================================================================== --- stable/9/lib/libradius/Makefile Thu Apr 12 17:43:59 2012 (r234190) +++ stable/9/lib/libradius/Makefile Thu Apr 12 17:49:53 2012 (r234191) @@ -36,6 +36,7 @@ MAN= libradius.3 radius.conf.5 MLINKS+=libradius.3 rad_acct_open.3 \ libradius.3 rad_add_server.3 \ libradius.3 rad_auth_open.3 \ + libradius.3 rad_bind_to.3 \ libradius.3 rad_close.3 \ libradius.3 rad_config.3 \ libradius.3 rad_continue_send_request.3 \ Modified: stable/9/lib/libradius/libradius.3 ============================================================================== --- stable/9/lib/libradius/libradius.3 Thu Apr 12 17:43:59 2012 (r234190) +++ stable/9/lib/libradius/libradius.3 Thu Apr 12 17:49:53 2012 (r234191) @@ -91,6 +91,8 @@ .Fn rad_server_open "int fd" .Ft "const char *" .Fn rad_server_secret "struct rad_handle *h" +.Ft "void" +.Fn rad_bind_to "struct rad_handle *h" "in_addr_t addr" .Ft u_char * .Fn rad_demangle "struct rad_handle *h" "const void *mangled" "size_t mlen" .Ft u_char * @@ -431,6 +433,10 @@ returns the secret shared with the curre supplied rad_handle. .Pp The +.Fn rad_bind_to +assigns a source address for all requests to the current RADIUS server. +.Pp +The .Fn rad_demangle function demangles attributes containing passwords and MS-CHAPv1 MPPE-Keys. The return value is Modified: stable/9/lib/libradius/radlib.c ============================================================================== --- stable/9/lib/libradius/radlib.c Thu Apr 12 17:43:59 2012 (r234190) +++ stable/9/lib/libradius/radlib.c Thu Apr 12 17:49:53 2012 (r234191) @@ -756,9 +756,16 @@ rad_create_request(struct rad_handle *h, clear_password(h); h->authentic_pos = 0; h->out_created = 1; + h->bindto = INADDR_ANY; return 0; } +void +rad_bind_to(struct rad_handle *h, in_addr_t addr) +{ + h->bindto = addr; +} + int rad_create_response(struct rad_handle *h, int code) { @@ -857,7 +864,7 @@ rad_init_send_request(struct rad_handle memset(&sin, 0, sizeof sin); sin.sin_len = sizeof sin; sin.sin_family = AF_INET; - sin.sin_addr.s_addr = INADDR_ANY; + sin.sin_addr.s_addr = h->bindto; sin.sin_port = htons(0); if (bind(h->fd, (const struct sockaddr *)&sin, sizeof sin) == -1) { Modified: stable/9/lib/libradius/radlib.h ============================================================================== --- stable/9/lib/libradius/radlib.h Thu Apr 12 17:43:59 2012 (r234190) +++ stable/9/lib/libradius/radlib.h Thu Apr 12 17:49:53 2012 (r234191) @@ -195,6 +195,7 @@ struct rad_handle *rad_acct_open(void); int rad_add_server(struct rad_handle *, const char *, int, const char *, int, int); struct rad_handle *rad_auth_open(void); +void rad_bind_to(struct rad_handle *, in_addr_t); void rad_close(struct rad_handle *); int rad_config(struct rad_handle *, const char *); int rad_continue_send_request(struct rad_handle *, int, Modified: stable/9/lib/libradius/radlib_private.h ============================================================================== --- stable/9/lib/libradius/radlib_private.h Thu Apr 12 17:43:59 2012 (r234190) +++ stable/9/lib/libradius/radlib_private.h Thu Apr 12 17:49:53 2012 (r234191) @@ -92,6 +92,7 @@ struct rad_handle { int try; /* How many requests we've sent */ int srv; /* Server number we did last */ int type; /* Handle type */ + in_addr_t bindto; /* Bind to address */ }; struct vendor_attribute { From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 17:59:18 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B67D2106566B; Thu, 12 Apr 2012 17:59:18 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 663DF8FC0A; Thu, 12 Apr 2012 17:59:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CHxIsq039887; Thu, 12 Apr 2012 17:59:18 GMT (envelope-from melifaro@svn.freebsd.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CHxI0b039885; Thu, 12 Apr 2012 17:59:18 GMT (envelope-from melifaro@svn.freebsd.org) Message-Id: <201204121759.q3CHxI0b039885@svn.freebsd.org> From: "Alexander V. Chernikov" Date: Thu, 12 Apr 2012 17:59:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234192 - stable/8/lib/libradius X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 17:59:18 -0000 Author: melifaro Date: Thu Apr 12 17:59:17 2012 New Revision: 234192 URL: http://svn.freebsd.org/changeset/base/234192 Log: MFC: r214018 Add links for libradius(3) functions. Approved by: pjd Approved by: kib(mentor) Modified: stable/8/lib/libradius/Makefile Directory Properties: stable/8/lib/libradius/ (props changed) Modified: stable/8/lib/libradius/Makefile ============================================================================== --- stable/8/lib/libradius/Makefile Thu Apr 12 17:49:53 2012 (r234191) +++ stable/8/lib/libradius/Makefile Thu Apr 12 17:59:17 2012 (r234192) @@ -33,6 +33,39 @@ CFLAGS+= -Wall SHLIB_MAJOR= 4 MAN= libradius.3 radius.conf.5 +MLINKS+=libradius.3 rad_acct_open.3 \ + libradius.3 rad_add_server.3 \ + libradius.3 rad_auth_open.3 \ + libradius.3 rad_close.3 \ + libradius.3 rad_config.3 \ + libradius.3 rad_continue_send_request.3 \ + libradius.3 rad_create_request.3 \ + libradius.3 rad_create_response.3 \ + libradius.3 rad_cvt_addr.3 \ + libradius.3 rad_cvt_int.3 \ + libradius.3 rad_cvt_string.3 \ + libradius.3 rad_demangle.3 \ + libradius.3 rad_demangle_mppe_key.3 \ + libradius.3 rad_get_attr.3 \ + libradius.3 rad_get_vendor_attr.3 \ + libradius.3 rad_init_send_request.3 \ + libradius.3 rad_put_addr.3 \ + libradius.3 rad_put_attr.3 \ + libradius.3 rad_put_int.3 \ + libradius.3 rad_put_message_authentic.3 \ + libradius.3 rad_put_string.3 \ + libradius.3 rad_put_vendor_addr.3 \ + libradius.3 rad_put_vendor_attr.3 \ + libradius.3 rad_put_vendor_int.3 \ + libradius.3 rad_put_vendor_string.3 \ + libradius.3 rad_receive_request.3 \ + libradius.3 rad_request_authenticator.3 \ + libradius.3 rad_send_request.3 \ + libradius.3 rad_send_response.3 \ + libradius.3 rad_server_open.3 \ + libradius.3 rad_server_secret.3 \ + libradius.3 rad_strerror.3 + .if ${MK_OPENSSL} == "no" DPADD= ${LIBMD} LDADD= -lmd From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 18:06:30 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C8BD7106566C; Thu, 12 Apr 2012 18:06:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B42628FC12; Thu, 12 Apr 2012 18:06:30 +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 q3CI6UH9040160; Thu, 12 Apr 2012 18:06:30 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CI6Ugw040155; Thu, 12 Apr 2012 18:06:30 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201204121806.q3CI6Ugw040155@svn.freebsd.org> From: Hans Petter Selasky Date: Thu, 12 Apr 2012 18:06:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234193 - head/lib/libusb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 18:06:31 -0000 Author: hselasky Date: Thu Apr 12 18:06:30 2012 New Revision: 234193 URL: http://svn.freebsd.org/changeset/base/234193 Log: Add missing LibUSB 1.0 API function. Reported by: lme @ MFC after: 1 week Modified: head/lib/libusb/Makefile head/lib/libusb/libusb.3 head/lib/libusb/libusb.h head/lib/libusb/libusb10.c Modified: head/lib/libusb/Makefile ============================================================================== --- head/lib/libusb/Makefile Thu Apr 12 17:59:17 2012 (r234192) +++ head/lib/libusb/Makefile Thu Apr 12 18:06:30 2012 (r234193) @@ -48,6 +48,7 @@ MLINKS += libusb.3 libusb_get_bus_number MLINKS += libusb.3 libusb_get_device_address.3 MLINKS += libusb.3 libusb_get_device_speed.3 MLINKS += libusb.3 libusb_get_max_packet_size.3 +MLINKS += libusb.3 libusb_get_max_iso_packet_size.3 MLINKS += libusb.3 libusb_ref_device.3 MLINKS += libusb.3 libusb_unref_device.3 MLINKS += libusb.3 libusb_open.3 Modified: head/lib/libusb/libusb.3 ============================================================================== --- head/lib/libusb/libusb.3 Thu Apr 12 17:59:17 2012 (r234192) +++ head/lib/libusb/libusb.3 Thu Apr 12 18:06:30 2012 (r234193) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 25, 2012 +.Dd April 12, 2012 .Dt LIBUSB 3 .Os .Sh NAME @@ -118,6 +118,12 @@ LIBUSB_SPEED_UNKNOWN is returned in case Returns the wMaxPacketSize value on success, LIBUSB_ERROR_NOT_FOUND if the endpoint does not exist and LIBUSB_ERROR_OTHERS on other failure. .Pp +.Ft int +.Fn libusb_get_max_iso_packet_size "libusb_device *dev" "unsigned char endpoint" +Returns the packet size multiplied by the packet multiplier on success, +LIBUSB_ERROR_NOT_FOUND if the endpoint does not exist and +LIBUSB_ERROR_OTHERS on other failure. +.Pp .Ft libusb_device * .Fn libusb_ref_device "libusb_device *dev" Increment the reference counter of the device Modified: head/lib/libusb/libusb.h ============================================================================== --- head/lib/libusb/libusb.h Thu Apr 12 17:59:17 2012 (r234192) +++ head/lib/libusb/libusb.h Thu Apr 12 18:06:30 2012 (r234193) @@ -371,6 +371,7 @@ uint8_t libusb_get_device_address(libusb enum libusb_speed libusb_get_device_speed(libusb_device * dev); int libusb_clear_halt(libusb_device_handle *devh, uint8_t endpoint); int libusb_get_max_packet_size(libusb_device * dev, uint8_t endpoint); +int libusb_get_max_iso_packet_size(libusb_device * dev, uint8_t endpoint); libusb_device *libusb_ref_device(libusb_device * dev); void libusb_unref_device(libusb_device * dev); int libusb_open(libusb_device * dev, libusb_device_handle ** devh); Modified: head/lib/libusb/libusb10.c ============================================================================== --- head/lib/libusb/libusb10.c Thu Apr 12 17:59:17 2012 (r234192) +++ head/lib/libusb/libusb10.c Thu Apr 12 18:06:30 2012 (r234193) @@ -331,6 +331,30 @@ out: return (ret); } +int +libusb_get_max_iso_packet_size(libusb_device *dev, uint8_t endpoint) +{ + int multiplier; + int ret; + + ret = libusb_get_max_packet_size(dev, endpoint); + + switch (libusb20_dev_get_speed(dev->os_priv)) { + case LIBUSB20_SPEED_LOW: + case LIBUSB20_SPEED_FULL: + break; + default: + if (ret > -1) { + multiplier = (1 + ((ret >> 11) & 3)); + if (multiplier > 3) + multiplier = 3; + ret = (ret & 0x7FF) * multiplier; + } + break; + } + return (ret); +} + libusb_device * libusb_ref_device(libusb_device *dev) { From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 18:46:48 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8A261065672; Thu, 12 Apr 2012 18:46:48 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 998138FC1D; Thu, 12 Apr 2012 18:46:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CIkmle041387; Thu, 12 Apr 2012 18:46:48 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CIkm15041383; Thu, 12 Apr 2012 18:46:48 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201204121846.q3CIkm15041383@svn.freebsd.org> From: Peter Grehan Date: Thu, 12 Apr 2012 18:46:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234194 - head/sys/dev/uart X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 18:46:48 -0000 Author: grehan Date: Thu Apr 12 18:46:48 2012 New Revision: 234194 URL: http://svn.freebsd.org/changeset/base/234194 Log: Complete polled-mode operation by using a callout if the device will be used in polled-mode. The callout invokes uart_intr, which rearms the timeout. Implemented for bhyve, but generically useful for e.g. embedded bringup when the interrupt controller hasn't been setup, or if it's not deemed worthy to wire an interrupt line from a serial port. Submitted by: neel Reviewed by: marcel Obtained from: NetApp MFC after: 3 weeks Modified: head/sys/dev/uart/uart_bus.h head/sys/dev/uart/uart_core.c head/sys/dev/uart/uart_if.m Modified: head/sys/dev/uart/uart_bus.h ============================================================================== --- head/sys/dev/uart/uart_bus.h Thu Apr 12 18:06:30 2012 (r234193) +++ head/sys/dev/uart/uart_bus.h Thu Apr 12 18:46:48 2012 (r234194) @@ -87,6 +87,7 @@ struct uart_softc { struct resource *sc_ires; /* Interrupt resource. */ void *sc_icookie; int sc_irid; + struct callout sc_timer; int sc_callout:1; /* This UART is opened for callout. */ int sc_fastintr:1; /* This UART uses fast interrupts. */ Modified: head/sys/dev/uart/uart_core.c ============================================================================== --- head/sys/dev/uart/uart_core.c Thu Apr 12 18:06:30 2012 (r234193) +++ head/sys/dev/uart/uart_core.c Thu Apr 12 18:46:48 2012 (r234194) @@ -58,6 +58,12 @@ SLIST_HEAD(uart_devinfo_list, uart_devin static MALLOC_DEFINE(M_UART, "UART", "UART driver"); +#ifndef UART_POLL_FREQ +#define UART_POLL_FREQ 50 +#endif +static int uart_poll_freq = UART_POLL_FREQ; +TUNABLE_INT("debug.uart_poll_freq", &uart_poll_freq); + void uart_add_sysdev(struct uart_devinfo *di) { @@ -257,6 +263,12 @@ uart_intr(void *arg) if (ipend & SER_INT_TXIDLE) uart_intr_txidle(sc); } + + if (sc->sc_polled) { + callout_reset(&sc->sc_timer, hz / uart_poll_freq, + (timeout_t *)uart_intr, sc); + } + return((flag)?FILTER_HANDLED:FILTER_STRAY); } @@ -440,8 +452,9 @@ uart_bus_attach(device_t dev) } } if (sc->sc_ires == NULL) { - /* XXX no interrupt resource. Force polled mode. */ + /* No interrupt resource. Force polled mode. */ sc->sc_polled = 1; + callout_init(&sc->sc_timer, 1); } sc->sc_rxbufsz = 384; Modified: head/sys/dev/uart/uart_if.m ============================================================================== --- head/sys/dev/uart/uart_if.m Thu Apr 12 18:06:30 2012 (r234193) +++ head/sys/dev/uart/uart_if.m Thu Apr 12 18:46:48 2012 (r234194) @@ -26,6 +26,7 @@ # $FreeBSD$ #include +#include #include #include #include From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 20:22:17 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D863A106564A; Thu, 12 Apr 2012 20:22:17 +0000 (UTC) (envelope-from madpilot@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C385A8FC08; Thu, 12 Apr 2012 20:22:17 +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 q3CKMHa0044493; Thu, 12 Apr 2012 20:22:17 GMT (envelope-from madpilot@svn.freebsd.org) Received: (from madpilot@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CKMHQA044491; Thu, 12 Apr 2012 20:22:17 GMT (envelope-from madpilot@svn.freebsd.org) Message-Id: <201204122022.q3CKMHQA044491@svn.freebsd.org> From: Guido Falsi Date: Thu, 12 Apr 2012 20:22:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234195 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 20:22:17 -0000 Author: madpilot (ports committer) Date: Thu Apr 12 20:22:17 2012 New Revision: 234195 URL: http://svn.freebsd.org/changeset/base/234195 Log: Add myself and my relation to my mentors. Approved by: crees Modified: head/share/misc/committers-ports.dot Modified: head/share/misc/committers-ports.dot ============================================================================== --- head/share/misc/committers-ports.dot Thu Apr 12 18:46:48 2012 (r234194) +++ head/share/misc/committers-ports.dot Thu Apr 12 20:22:17 2012 (r234195) @@ -128,6 +128,7 @@ lme [label="Lars Engels\nlme@FreeBSD.org lth [label="Lars Thegler\nlth@FreeBSD.org\n2004/05/04"] lwhsu [label="Li-Wen Hsu\nlwhsu@FreeBSD.org\n2007/04/03"] lx [label="David Thiel\nlx@FreeBSD.org\n2006/11/29"] +madpilot [label="Guido Falsi\nmadpilot@FreeBSD.org\n2012/04/12"] maho [label="Maho Nakata\nmaho@FreeBSD.org\n2002/10/17"] makc [label="Max Brazhnikov\nmakc@FreeBSD.org\n2008/08/25"] mandree [label="Matthias Andree\nmandree@FreeBSD.org\n2009/11/18"] @@ -240,6 +241,7 @@ clsung -> lwhsu clsung -> tabthorpe crees -> jgh +crees -> madpilot delphij -> nemoliu delphij -> rafan @@ -440,6 +442,7 @@ tabthorpe -> fluffy tabthorpe -> jacula tabthorpe -> jadawin tabthorpe -> jlaffaye +tabthorpe -> madpilot tabthorpe -> pgj tabthorpe -> rene tabthorpe -> zi From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 21:34:58 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0009106566C; Thu, 12 Apr 2012 21:34:58 +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 BAFFA8FC14; Thu, 12 Apr 2012 21:34: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 q3CLYwYm046739; Thu, 12 Apr 2012 21:34:58 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CLYwrN046736; Thu, 12 Apr 2012 21:34:58 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201204122134.q3CLYwrN046736@svn.freebsd.org> From: John Baldwin Date: Thu, 12 Apr 2012 21:34:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234196 - in head/sys: ddb gdb X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 21:34:58 -0000 Author: jhb Date: Thu Apr 12 21:34:58 2012 New Revision: 234196 URL: http://svn.freebsd.org/changeset/base/234196 Log: Update the ddb and gdb backends for the new 'trace_thread' hook. It is implemented via db_trace_thread() for DDB and not implemented for GDB. This should have been part of r234190. Pointy hat to: jhb Reported by: jkim MFC after: 1 week Modified: head/sys/ddb/db_main.c head/sys/gdb/gdb_main.c Modified: head/sys/ddb/db_main.c ============================================================================== --- head/sys/ddb/db_main.c Thu Apr 12 20:22:17 2012 (r234195) +++ head/sys/ddb/db_main.c Thu Apr 12 21:34:58 2012 (r234196) @@ -51,8 +51,10 @@ SYSCTL_NODE(_debug, OID_AUTO, ddb, CTLFL static dbbe_init_f db_init; static dbbe_trap_f db_trap; static dbbe_trace_f db_trace_self_wrapper; +static dbbe_trace_thread_f db_trace_thread_wrapper; -KDB_BACKEND(ddb, db_init, db_trace_self_wrapper, db_trap); +KDB_BACKEND(ddb, db_init, db_trace_self_wrapper, db_trace_thread_wrapper, + db_trap); vm_offset_t ksym_start, ksym_end; @@ -246,3 +248,15 @@ db_trace_self_wrapper(void) db_trace_self(); (void)kdb_jmpbuf(prev_jb); } + +static void +db_trace_thread_wrapper(struct thread *td) +{ + jmp_buf jb; + void *prev_jb; + + prev_jb = kdb_jmpbuf(jb); + if (setjmp(jb) == 0) + db_trace_thread(td, -1); + (void)kdb_jmpbuf(prev_jb); +} Modified: head/sys/gdb/gdb_main.c ============================================================================== --- head/sys/gdb/gdb_main.c Thu Apr 12 20:22:17 2012 (r234195) +++ head/sys/gdb/gdb_main.c Thu Apr 12 21:34:58 2012 (r234196) @@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$"); static dbbe_init_f gdb_init; static dbbe_trap_f gdb_trap; -KDB_BACKEND(gdb, gdb_init, NULL, gdb_trap); +KDB_BACKEND(gdb, gdb_init, NULL, NULL, gdb_trap); static struct gdb_dbgport null_gdb_dbgport; DATA_SET(gdb_dbgport_set, null_gdb_dbgport); From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 23:06:08 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 78D46106566C; Thu, 12 Apr 2012 23:06:08 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 638CD8FC15; Thu, 12 Apr 2012 23:06: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 q3CN68XZ049619; Thu, 12 Apr 2012 23:06:08 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CN6893049616; Thu, 12 Apr 2012 23:06:08 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201204122306.q3CN6893049616@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 12 Apr 2012 23:06:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234197 - in stable/9/sys/amd64: acpica amd64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 23:06:08 -0000 Author: jkim Date: Thu Apr 12 23:06:07 2012 New Revision: 234197 URL: http://svn.freebsd.org/changeset/base/234197 Log: MFC: r233704 Re-initialize more model-specific registers when we resume CPUs. Modified: stable/9/sys/amd64/acpica/acpi_wakeup.c stable/9/sys/amd64/amd64/mp_machdep.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/amd64/acpica/acpi_wakeup.c ============================================================================== --- stable/9/sys/amd64/acpica/acpi_wakeup.c Thu Apr 12 21:34:58 2012 (r234196) +++ stable/9/sys/amd64/acpica/acpi_wakeup.c Thu Apr 12 23:06:07 2012 (r234197) @@ -284,6 +284,7 @@ acpi_sleep_machdep(struct acpi_softc *sc } else { pmap_init_pat(); load_cr3(susppcbs[0]->pcb_cr3); + initializecpu(); PCPU_SET(switchtime, 0); PCPU_SET(switchticks, ticks); #ifdef SMP Modified: stable/9/sys/amd64/amd64/mp_machdep.c ============================================================================== --- stable/9/sys/amd64/amd64/mp_machdep.c Thu Apr 12 21:34:58 2012 (r234196) +++ stable/9/sys/amd64/amd64/mp_machdep.c Thu Apr 12 23:06:07 2012 (r234197) @@ -1425,6 +1425,7 @@ cpususpend_handler(void) } else { pmap_init_pat(); load_cr3(susppcbs[cpu]->pcb_cr3); + initializecpu(); PCPU_SET(switchtime, 0); PCPU_SET(switchticks, ticks); } From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 04:17:45 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1E451106564A; Fri, 13 Apr 2012 04:17:45 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E30E68FC08; Fri, 13 Apr 2012 04:17:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D4Hi7F059571; Fri, 13 Apr 2012 04:17:44 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D4HiMo059568; Fri, 13 Apr 2012 04:17:44 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201204130417.q3D4HiMo059568@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Fri, 13 Apr 2012 04:17:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234198 - stable/9/sys/geom/part X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 04:17:45 -0000 Author: ae Date: Fri Apr 13 04:17:43 2012 New Revision: 234198 URL: http://svn.freebsd.org/changeset/base/234198 Log: MFC r233000: Add MODULE_DEPEND() to geom_part modules. MFC r233342: Check that scheme is not already registered. This may happens when a KLD is preloaded with loader(8) and leads to infinity loop. Also do not return EEXIST error code from MOD_LOAD handler, because we have undocumented(?) ability replace kernel's module with preloaded one. And if we have so, then preloaded module will be initialized first. Thus error in MOD_LOAD handler will be triggered for the kernel. PR: kern/165573 Modified: stable/9/sys/geom/part/g_part.c stable/9/sys/geom/part/g_part.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/geom/part/g_part.c ============================================================================== --- stable/9/sys/geom/part/g_part.c Thu Apr 12 23:06:07 2012 (r234197) +++ stable/9/sys/geom/part/g_part.c Fri Apr 13 04:17:43 2012 (r234198) @@ -145,6 +145,7 @@ static struct g_class g_part_class = { }; DECLARE_GEOM_CLASS(g_part_class, g_part); +MODULE_VERSION(g_part, 0); /* * Support functions. @@ -2208,23 +2209,32 @@ g_part_unload_event(void *arg, int flag) int g_part_modevent(module_t mod, int type, struct g_part_scheme *scheme) { + struct g_part_scheme *iter; uintptr_t arg; int error; + error = 0; switch (type) { case MOD_LOAD: - TAILQ_INSERT_TAIL(&g_part_schemes, scheme, scheme_list); - - error = g_retaste(&g_part_class); - if (error) - TAILQ_REMOVE(&g_part_schemes, scheme, scheme_list); + TAILQ_FOREACH(iter, &g_part_schemes, scheme_list) { + if (scheme == iter) { + printf("GEOM_PART: scheme %s is already " + "registered!\n", scheme->name); + break; + } + } + if (iter == NULL) { + TAILQ_INSERT_TAIL(&g_part_schemes, scheme, + scheme_list); + g_retaste(&g_part_class); + } break; case MOD_UNLOAD: arg = (uintptr_t)scheme; error = g_waitfor_event(g_part_unload_event, &arg, M_WAITOK, NULL); - if (!error) - error = (arg == (uintptr_t)scheme) ? EDOOFUS : arg; + if (error == 0) + error = arg; break; default: error = EOPNOTSUPP; Modified: stable/9/sys/geom/part/g_part.h ============================================================================== --- stable/9/sys/geom/part/g_part.h Thu Apr 12 23:06:07 2012 (r234197) +++ stable/9/sys/geom/part/g_part.h Fri Apr 13 04:17:43 2012 (r234198) @@ -208,6 +208,7 @@ int g_part_modevent(module_t, int, struc name##_modevent, \ &name##_scheme \ }; \ - DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_ANY) + DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_ANY); \ + MODULE_DEPEND(name, g_part, 0, 0, 0) #endif /* !_GEOM_PART_H_ */ From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 04:18:13 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1136910657EB; Fri, 13 Apr 2012 04:18:13 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D67D58FC0A; Fri, 13 Apr 2012 04:18:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D4IC2p059626; Fri, 13 Apr 2012 04:18:12 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D4ICHI059623; Fri, 13 Apr 2012 04:18:12 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201204130418.q3D4ICHI059623@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Fri, 13 Apr 2012 04:18:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234199 - stable/8/sys/geom/part X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 04:18:13 -0000 Author: ae Date: Fri Apr 13 04:18:12 2012 New Revision: 234199 URL: http://svn.freebsd.org/changeset/base/234199 Log: MFC r233000: Add MODULE_DEPEND() to geom_part modules. MFC r233342: Check that scheme is not already registered. This may happens when a KLD is preloaded with loader(8) and leads to infinity loop. Also do not return EEXIST error code from MOD_LOAD handler, because we have undocumented(?) ability replace kernel's module with preloaded one. And if we have so, then preloaded module will be initialized first. Thus error in MOD_LOAD handler will be triggered for the kernel. PR: kern/165573 Modified: stable/8/sys/geom/part/g_part.c stable/8/sys/geom/part/g_part.h Directory Properties: stable/8/sys/ (props changed) Modified: stable/8/sys/geom/part/g_part.c ============================================================================== --- stable/8/sys/geom/part/g_part.c Fri Apr 13 04:17:43 2012 (r234198) +++ stable/8/sys/geom/part/g_part.c Fri Apr 13 04:18:12 2012 (r234199) @@ -145,6 +145,7 @@ static struct g_class g_part_class = { }; DECLARE_GEOM_CLASS(g_part_class, g_part); +MODULE_VERSION(g_part, 0); /* * Support functions. @@ -2135,23 +2136,32 @@ g_part_unload_event(void *arg, int flag) int g_part_modevent(module_t mod, int type, struct g_part_scheme *scheme) { + struct g_part_scheme *iter; uintptr_t arg; int error; + error = 0; switch (type) { case MOD_LOAD: - TAILQ_INSERT_TAIL(&g_part_schemes, scheme, scheme_list); - - error = g_retaste(&g_part_class); - if (error) - TAILQ_REMOVE(&g_part_schemes, scheme, scheme_list); + TAILQ_FOREACH(iter, &g_part_schemes, scheme_list) { + if (scheme == iter) { + printf("GEOM_PART: scheme %s is already " + "registered!\n", scheme->name); + break; + } + } + if (iter == NULL) { + TAILQ_INSERT_TAIL(&g_part_schemes, scheme, + scheme_list); + g_retaste(&g_part_class); + } break; case MOD_UNLOAD: arg = (uintptr_t)scheme; error = g_waitfor_event(g_part_unload_event, &arg, M_WAITOK, NULL); - if (!error) - error = (arg == (uintptr_t)scheme) ? EDOOFUS : arg; + if (error == 0) + error = arg; break; default: error = EOPNOTSUPP; Modified: stable/8/sys/geom/part/g_part.h ============================================================================== --- stable/8/sys/geom/part/g_part.h Fri Apr 13 04:17:43 2012 (r234198) +++ stable/8/sys/geom/part/g_part.h Fri Apr 13 04:18:12 2012 (r234199) @@ -208,6 +208,7 @@ int g_part_modevent(module_t, int, struc name##_modevent, \ &name##_scheme \ }; \ - DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_ANY) + DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_ANY); \ + MODULE_DEPEND(name, g_part, 0, 0, 0) #endif /* !_GEOM_PART_H_ */ From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 04:22:42 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF8861065672; Fri, 13 Apr 2012 04:22:42 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BAC848FC08; Fri, 13 Apr 2012 04:22:42 +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 q3D4MgmU059822; Fri, 13 Apr 2012 04:22:42 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D4MglV059820; Fri, 13 Apr 2012 04:22:42 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204130422.q3D4MglV059820@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 04:22:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234201 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 04:22:42 -0000 Author: adrian Date: Fri Apr 13 04:22:42 2012 New Revision: 234201 URL: http://svn.freebsd.org/changeset/base/234201 Log: Use strdup() on the name (and free it when it's done) so non-static names can be used in firmware_register(). Modified: head/sys/kern/subr_firmware.c Modified: head/sys/kern/subr_firmware.c ============================================================================== --- head/sys/kern/subr_firmware.c Fri Apr 13 04:21:54 2012 (r234200) +++ head/sys/kern/subr_firmware.c Fri Apr 13 04:22:42 2012 (r234201) @@ -175,6 +175,9 @@ firmware_register(const char *imagename, unsigned int version, const struct firmware *parent) { struct priv_fw *match, *frp; + char *str; + + str = strdup(imagename, M_TEMP); mtx_lock(&firmware_mtx); /* @@ -185,16 +188,18 @@ firmware_register(const char *imagename, mtx_unlock(&firmware_mtx); printf("%s: image %s already registered!\n", __func__, imagename); + free(str, M_TEMP); return NULL; } if (frp == NULL) { mtx_unlock(&firmware_mtx); printf("%s: cannot register image %s, firmware table full!\n", __func__, imagename); + free(str, M_TEMP); return NULL; } bzero(frp, sizeof(frp)); /* start from a clean record */ - frp->fw.name = imagename; + frp->fw.name = str; frp->fw.data = data; frp->fw.datasize = datasize; frp->fw.version = version; @@ -230,7 +235,7 @@ firmware_unregister(const char *imagenam err = 0; } else if (fp->refcnt != 0) { /* cannot unregister */ err = EBUSY; - } else { + } else { linker_file_t x = fp->file; /* save value */ /* @@ -238,6 +243,7 @@ firmware_unregister(const char *imagenam * do not forget anything. Then restore 'file' which is * non-null for autoloaded images. */ + free((void *) (uintptr_t) fp->fw.name, M_TEMP); bzero(fp, sizeof(struct priv_fw)); fp->file = x; err = 0; From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 05:40:27 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96269106564A; Fri, 13 Apr 2012 05:40:27 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 67C6F8FC08; Fri, 13 Apr 2012 05:40:27 +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 q3D5eRFb062345; Fri, 13 Apr 2012 05:40:27 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D5eRia062343; Fri, 13 Apr 2012 05:40:27 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201204130540.q3D5eRia062343@svn.freebsd.org> From: Jaakko Heinonen Date: Fri, 13 Apr 2012 05:40:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234202 - head/lib/libc/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 05:40:27 -0000 Author: jh Date: Fri Apr 13 05:40:26 2012 New Revision: 234202 URL: http://svn.freebsd.org/changeset/base/234202 Log: Additional manual page updates for r234103. Submitted by: bde Modified: head/lib/libc/sys/chflags.2 Modified: head/lib/libc/sys/chflags.2 ============================================================================== --- head/lib/libc/sys/chflags.2 Fri Apr 13 04:22:42 2012 (r234201) +++ head/lib/libc/sys/chflags.2 Fri Apr 13 05:40:26 2012 (r234202) @@ -28,7 +28,7 @@ .\" @(#)chflags.2 8.3 (Berkeley) 5/2/95 .\" $FreeBSD$ .\" -.Dd Apr 10, 2012 +.Dd Apr 13, 2012 .Dt CHFLAGS 2 .Os .Sh NAME @@ -123,7 +123,7 @@ for details.) .Pp The .Dv SF_SNAPSHOT -flag is maintained by the system and cannot be changed by any user. +flag is maintained by the system and cannot be toggled. .Sh RETURN VALUES .Rv -std .Sh ERRORS @@ -153,12 +153,12 @@ or is set and the user is either not the super-user or securelevel is greater than 0. .It Bq Er EPERM -A non-super-user tries to set one of +A non-super-user attempted to toggle one of .Dv SF_ARCHIVED , SF_IMMUTABLE , SF_APPEND , or .Dv SF_NOUNLINK . .It Bq Er EPERM -User tries to set or remove the +An attempt was made to toggle the .Dv SF_SNAPSHOT flag. .It Bq Er EROFS @@ -173,7 +173,9 @@ An .Tn I/O error occurred while reading from or writing to the file system. .It Bq Er EOPNOTSUPP -The underlying file system does not support file flags. +The underlying file system does not support file flags, or +does not support all of the flags set in +.Fa flags . .El .Pp The @@ -198,12 +200,12 @@ or is set and the user is either not the super-user or securelevel is greater than 0. .It Bq Er EPERM -A non-super-user tries to set one of +A non-super-user attempted to toggle one of .Dv SF_ARCHIVED , SF_IMMUTABLE , SF_APPEND , or .Dv SF_NOUNLINK . .It Bq Er EPERM -User tries to set or remove the +An attempt was made to toggle the .Dv SF_SNAPSHOT flag. .It Bq Er EROFS @@ -213,7 +215,9 @@ An .Tn I/O error occurred while reading from or writing to the file system. .It Bq Er EOPNOTSUPP -The underlying file system does not support file flags. +The underlying file system does not support file flags, or +does not support all of the flags set in +.Fa flags . .El .Sh SEE ALSO .Xr chflags 1 , From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 05:48:31 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A8F261065778; Fri, 13 Apr 2012 05:48:31 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 93D408FC15; Fri, 13 Apr 2012 05:48: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 q3D5mVDB062623; Fri, 13 Apr 2012 05:48:31 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D5mVkN062621; Fri, 13 Apr 2012 05:48:31 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201204130548.q3D5mVkN062621@svn.freebsd.org> From: Jaakko Heinonen Date: Fri, 13 Apr 2012 05:48:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234203 - head/sys/fs/ext2fs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 05:48:31 -0000 Author: jh Date: Fri Apr 13 05:48:31 2012 New Revision: 234203 URL: http://svn.freebsd.org/changeset/base/234203 Log: Apply changes from r234103 to ext2fs: Return EPERM from ext2_setattr() when an user without PRIV_VFS_SYSFLAGS privilege attempts to toggle SF_SETTABLE flags. Flags are now stored to ip->i_flags in one place after all checks. Also, remove SF_NOUNLINK from the checks because ext2fs doesn't support that flag. Reviewed by: bde Modified: head/sys/fs/ext2fs/ext2_vnops.c Modified: head/sys/fs/ext2fs/ext2_vnops.c ============================================================================== --- head/sys/fs/ext2fs/ext2_vnops.c Fri Apr 13 05:40:26 2012 (r234202) +++ head/sys/fs/ext2fs/ext2_vnops.c Fri Apr 13 05:48:31 2012 (r234203) @@ -424,21 +424,17 @@ ext2_setattr(ap) * if securelevel > 0 and any existing system flags are set. */ if (!priv_check_cred(cred, PRIV_VFS_SYSFLAGS, 0)) { - if (ip->i_flags & - (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND)) { + if (ip->i_flags & (SF_IMMUTABLE | SF_APPEND)) { error = securelevel_gt(cred, 0); if (error) return (error); } - ip->i_flags = vap->va_flags; } else { - if (ip->i_flags & - (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND) || - (vap->va_flags & UF_SETTABLE) != vap->va_flags) + if (ip->i_flags & (SF_IMMUTABLE | SF_APPEND) || + ((vap->va_flags ^ ip->i_flags) & SF_SETTABLE)) return (EPERM); - ip->i_flags &= SF_SETTABLE; - ip->i_flags |= (vap->va_flags & UF_SETTABLE); } + ip->i_flags = vap->va_flags; ip->i_flag |= IN_CHANGE; if (ip->i_flags & (IMMUTABLE | APPEND)) return (0); From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 06:11:25 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 43A8B1065673; Fri, 13 Apr 2012 06:11:25 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2DE478FC16; Fri, 13 Apr 2012 06:11: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 q3D6BPrg063426; Fri, 13 Apr 2012 06:11:25 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D6BOQZ063423; Fri, 13 Apr 2012 06:11:24 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204130611.q3D6BOQZ063423@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 06:11:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234204 - head/sys/mips/atheros X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 06:11:25 -0000 Author: adrian Date: Fri Apr 13 06:11:24 2012 New Revision: 234204 URL: http://svn.freebsd.org/changeset/base/234204 Log: Sync this code against what's in OpenWRT trunk. * the openwrt code doesn't treat 0/0/0 any differently from other bus/slot/func combinations. * A "local write" function writes to the LCONF area, and so I've added it. * The PCI workaround at attach time uses this LCONF code, which it already did .. * .. but it is a 4 byte write, not a 2 byte write. Even though it's PCIR_COMMAND which is a two byte PCI register. Tested on: AR7161 TODO: The other two AR71xx derivatives TODO: More thoroughly stare at the datasheets I do have and if it indeed is incorrect, push fixes to both FreeBSD and Linux/OpenWRT. Obtained from: Linux OpenWRT Modified: head/sys/mips/atheros/ar71xx_pci.c Modified: head/sys/mips/atheros/ar71xx_pci.c ============================================================================== --- head/sys/mips/atheros/ar71xx_pci.c Fri Apr 13 05:48:31 2012 (r234203) +++ head/sys/mips/atheros/ar71xx_pci.c Fri Apr 13 06:11:24 2012 (r234204) @@ -207,17 +207,11 @@ ar71xx_pci_read_config(device_t dev, u_i dprintf("%s: tag (%x, %x, %x) reg %d(%d)\n", __func__, bus, slot, func, reg, bytes); - if ((bus == 0) && (slot == 0) && (func == 0)) { - cmd = PCI_LCONF_CMD_READ | (reg & ~3); - ATH_WRITE_REG(AR71XX_PCI_LCONF_CMD, cmd); - data = ATH_READ_REG(AR71XX_PCI_LCONF_READ_DATA); - } else { - if (ar71xx_pci_conf_setup(bus, slot, func, reg, bytes, - PCI_CONF_CMD_READ) == 0) - data = ATH_READ_REG(AR71XX_PCI_CONF_READ_DATA); - else - data = -1; - } + if (ar71xx_pci_conf_setup(bus, slot, func, reg, bytes, + PCI_CONF_CMD_READ) == 0) + data = ATH_READ_REG(AR71XX_PCI_CONF_READ_DATA); + else + data = -1; /* get request bytes from 32-bit word */ data = (data >> shift) & mask; @@ -228,26 +222,33 @@ ar71xx_pci_read_config(device_t dev, u_i } static void -ar71xx_pci_write_config(device_t dev, u_int bus, u_int slot, u_int func, - u_int reg, uint32_t data, int bytes) +ar71xx_pci_local_write(device_t dev, uint32_t reg, uint32_t data, int bytes) { uint32_t cmd; - dprintf("%s: tag (%x, %x, %x) reg %d(%d)\n", __func__, bus, slot, + dprintf("%s: local write reg %d(%d)\n", __func__, reg, bytes); + + data = data << (8*(reg % 4)); + + cmd = PCI_LCONF_CMD_WRITE | (reg & ~3); + cmd |= (ar71xx_get_bytes_to_read(reg, bytes) << 20); + ATH_WRITE_REG(AR71XX_PCI_LCONF_CMD, cmd); + ATH_WRITE_REG(AR71XX_PCI_LCONF_WRITE_DATA, data); +} + +static void +ar71xx_pci_write_config(device_t dev, u_int bus, u_int slot, u_int func, + u_int reg, uint32_t data, int bytes) +{ + + dprintf("%s: tag (%x, %x, %x) reg %d(%d)\n", __func__, bus, slot, func, reg, bytes); data = data << (8*(reg % 4)); - if ((bus == 0) && (slot == 0) && (func == 0)) { - cmd = PCI_LCONF_CMD_WRITE | (reg & ~3); - cmd |= ar71xx_get_bytes_to_read(reg, bytes) << 20; - ATH_WRITE_REG(AR71XX_PCI_LCONF_CMD, cmd); - ATH_WRITE_REG(AR71XX_PCI_LCONF_WRITE_DATA, data); - } else { - if (ar71xx_pci_conf_setup(bus, slot, func, reg, bytes, - PCI_CONF_CMD_WRITE) == 0) - ATH_WRITE_REG(AR71XX_PCI_CONF_WRITE_DATA, data); - } + if (ar71xx_pci_conf_setup(bus, slot, func, reg, bytes, + PCI_CONF_CMD_WRITE) == 0) + ATH_WRITE_REG(AR71XX_PCI_CONF_WRITE_DATA, data); } #ifdef AR71XX_ATH_EEPROM @@ -389,10 +390,10 @@ ar71xx_pci_attach(device_t dev) ar71xx_pci_check_bus_error(); /* Fixup internal PCI bridge */ - ar71xx_pci_write_config(dev, 0, 0, 0, PCIR_COMMAND, - PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN + ar71xx_pci_local_write(dev, PCIR_COMMAND, + PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN | PCIM_CMD_SERRESPEN | PCIM_CMD_BACKTOBACK - | PCIM_CMD_PERRESPEN | PCIM_CMD_MWRICEN, 2); + | PCIM_CMD_PERRESPEN | PCIM_CMD_MWRICEN, 4); #ifdef AR71XX_ATH_EEPROM /* From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 06:11:53 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6FA4106564A; Fri, 13 Apr 2012 06:11:53 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from gw01.mail.saunalahti.fi (gw01.mail.saunalahti.fi [195.197.172.115]) by mx1.freebsd.org (Postfix) with ESMTP id 26C0E8FC14; Fri, 13 Apr 2012 06:11:53 +0000 (UTC) Received: from a91-153-116-96.elisa-laajakaista.fi (a91-153-116-96.elisa-laajakaista.fi [91.153.116.96]) by gw01.mail.saunalahti.fi (Postfix) with SMTP id 98FCA1515A1; Fri, 13 Apr 2012 09:11:40 +0300 (EEST) Date: Fri, 13 Apr 2012 09:11:39 +0300 From: Jaakko Heinonen To: Mikolaj Golub , Kevin Lo Message-ID: <20120413061139.GA2370@a91-153-116-96.elisa-laajakaista.fi> References: <201201170125.q0H1PrlJ061058@svn.freebsd.org> <20120117171031.GA2316@a91-153-116-96.elisa-laajakaista.fi> <86obtvvr4v.fsf@kopusha.home.net> <20120122134218.GA2247@a91-153-116-96.elisa-laajakaista.fi> <86lioztzh5.fsf@kopusha.home.net> <20120123153457.GA2246@a91-153-116-96.elisa-laajakaista.fi> <86vco2yvrt.fsf@kopusha.home.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86vco2yvrt.fsf@kopusha.home.net> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230252 - head/sys/fs/tmpfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 06:11:53 -0000 On 2012-01-23, Mikolaj Golub wrote: > I see two issues with this patch: What do you think about this patch? %%% Index: sys/fs/tmpfs/tmpfs.h =================================================================== --- sys/fs/tmpfs/tmpfs.h (revision 234201) +++ sys/fs/tmpfs/tmpfs.h (working copy) @@ -387,6 +387,9 @@ struct tmpfs_mount { * tmpfs_pool.c. */ uma_zone_t tm_dirent_pool; uma_zone_t tm_node_pool; + + /* Read-only status. */ + int tm_ronly; }; #define TMPFS_LOCK(tm) mtx_lock(&(tm)->allnode_lock) #define TMPFS_UNLOCK(tm) mtx_unlock(&(tm)->allnode_lock) Index: sys/fs/tmpfs/tmpfs_vfsops.c =================================================================== --- sys/fs/tmpfs/tmpfs_vfsops.c (revision 234201) +++ sys/fs/tmpfs/tmpfs_vfsops.c (working copy) @@ -82,6 +82,10 @@ static const char *tmpfs_opts[] = { NULL }; +static const char *tmpfs_updateopts[] = { + "from", "export", NULL +}; + /* --------------------------------------------------------------------- */ static int @@ -150,12 +154,13 @@ tmpfs_mount(struct mount *mp) return (EINVAL); if (mp->mnt_flag & MNT_UPDATE) { - /* - * Only support update mounts for NFS export. - */ - if (vfs_flagopt(mp->mnt_optnew, "export", NULL, 0)) - return (0); - return (EOPNOTSUPP); + /* Only support update mounts for certain options. */ + if (vfs_filteropt(mp->mnt_optnew, tmpfs_updateopts) != 0) + return (EOPNOTSUPP); + if (vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0) != + ((struct tmpfs_mount *)mp->mnt_data)->tm_ronly) + return (EOPNOTSUPP); + return (0); } vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY); @@ -228,6 +233,7 @@ tmpfs_mount(struct mount *mp) tmpfs_node_ctor, tmpfs_node_dtor, tmpfs_node_init, tmpfs_node_fini, UMA_ALIGN_PTR, 0); + tmp->tm_ronly = (mp->mnt_flag & MNT_RDONLY) != 0; /* Allocate the root node. */ error = tmpfs_alloc_node(tmp, VDIR, root_uid, %%% -- Jaakko From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 06:13:37 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AAC70106566B; Fri, 13 Apr 2012 06:13:37 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 96A118FC08; Fri, 13 Apr 2012 06:13:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D6Dbbu063530; Fri, 13 Apr 2012 06:13:37 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D6DbFT063528; Fri, 13 Apr 2012 06:13:37 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204130613.q3D6DbFT063528@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 06:13:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234205 - head/sys/mips/atheros X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 06:13:37 -0000 Author: adrian Date: Fri Apr 13 06:13:37 2012 New Revision: 234205 URL: http://svn.freebsd.org/changeset/base/234205 Log: Remove an unused variable. Grr. Modified: head/sys/mips/atheros/ar71xx_pci.c Modified: head/sys/mips/atheros/ar71xx_pci.c ============================================================================== --- head/sys/mips/atheros/ar71xx_pci.c Fri Apr 13 06:11:24 2012 (r234204) +++ head/sys/mips/atheros/ar71xx_pci.c Fri Apr 13 06:13:37 2012 (r234205) @@ -195,7 +195,7 @@ ar71xx_pci_read_config(device_t dev, u_i u_int reg, int bytes) { uint32_t data; - uint32_t cmd, shift, mask; + uint32_t shift, mask; /* register access is 32-bit aligned */ shift = (reg & 3) * 8; From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 06:15:52 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1E8331065676; Fri, 13 Apr 2012 06:15:52 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 005408FC0C; Fri, 13 Apr 2012 06:15:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D6FpQl063635; Fri, 13 Apr 2012 06:15:51 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D6FpFa063633; Fri, 13 Apr 2012 06:15:51 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201204130615.q3D6FpFa063633@svn.freebsd.org> From: Kevin Lo Date: Fri, 13 Apr 2012 06:15:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234206 - head/usr.bin/unzip X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 06:15:52 -0000 Author: kevlo Date: Fri Apr 13 06:15:51 2012 New Revision: 234206 URL: http://svn.freebsd.org/changeset/base/234206 Log: Partially implement zipinfo (-Z) support. This fixes some test failures seen with perl 5.12 and 5.14. PR: bin/166895 Submitted by: swills MFC after: 3 days Modified: head/usr.bin/unzip/unzip.c Modified: head/usr.bin/unzip/unzip.c ============================================================================== --- head/usr.bin/unzip/unzip.c Fri Apr 13 06:13:37 2012 (r234205) +++ head/usr.bin/unzip/unzip.c Fri Apr 13 06:15:51 2012 (r234206) @@ -65,6 +65,7 @@ static int q_opt; /* quiet */ static int t_opt; /* test */ static int u_opt; /* update */ static int v_opt; /* verbose/list */ +static int Z1_opt; /* zipinfo mode list files only */ /* time when unzip started */ static time_t now; @@ -72,6 +73,9 @@ static time_t now; /* debug flag */ static int unzip_debug; +/* zipinfo mode */ +static int zipinfo_mode; + /* running on tty? */ static int tty; @@ -802,17 +806,22 @@ list(struct archive *a, struct archive_e mtime = archive_entry_mtime(e); strftime(buf, sizeof(buf), "%m-%d-%g %R", localtime(&mtime)); - if (v_opt == 1) { - printf(" %8ju %s %s\n", - (uintmax_t)archive_entry_size(e), - buf, archive_entry_pathname(e)); - } else if (v_opt == 2) { - printf("%8ju Stored %7ju 0%% %s %08x %s\n", - (uintmax_t)archive_entry_size(e), - (uintmax_t)archive_entry_size(e), - buf, - 0U, - archive_entry_pathname(e)); + if (!zipinfo_mode) { + if (v_opt == 1) { + printf(" %8ju %s %s\n", + (uintmax_t)archive_entry_size(e), + buf, archive_entry_pathname(e)); + } else if (v_opt == 2) { + printf("%8ju Stored %7ju 0%% %s %08x %s\n", + (uintmax_t)archive_entry_size(e), + (uintmax_t)archive_entry_size(e), + buf, + 0U, + archive_entry_pathname(e)); + } + } else { + if (Z1_opt) + printf("%s\n",archive_entry_pathname(e)); } ac(archive_read_data_skip(a)); } @@ -870,14 +879,16 @@ unzip(const char *fn) ac(archive_read_support_format_zip(a)); ac(archive_read_open_fd(a, fd, 8192)); - if (!p_opt && !q_opt) - printf("Archive: %s\n", fn); - if (v_opt == 1) { - printf(" Length Date Time Name\n"); - printf(" -------- ---- ---- ----\n"); - } else if (v_opt == 2) { - printf(" Length Method Size Ratio Date Time CRC-32 Name\n"); - printf("-------- ------ ------- ----- ---- ---- ------ ----\n"); + if (!zipinfo_mode) { + if (!p_opt && !q_opt) + printf("Archive: %s\n", fn); + if (v_opt == 1) { + printf(" Length Date Time Name\n"); + printf(" -------- ---- ---- ----\n"); + } else if (v_opt == 2) { + printf(" Length Method Size Ratio Date Time CRC-32 Name\n"); + printf("-------- ------ ------- ----- ---- ---- ------ ----\n"); + } } total_size = 0; @@ -888,28 +899,35 @@ unzip(const char *fn) if (ret == ARCHIVE_EOF) break; ac(ret); - if (t_opt) - error_count += test(a, e); - else if (v_opt) - list(a, e); - else if (p_opt || c_opt) - extract_stdout(a, e); - else - extract(a, e); + if (!zipinfo_mode) { + if (t_opt) + error_count += test(a, e); + else if (v_opt) + list(a, e); + else if (p_opt || c_opt) + extract_stdout(a, e); + else + extract(a, e); + } else { + if (Z1_opt) + list(a, e); + } total_size += archive_entry_size(e); ++file_count; } - if (v_opt == 1) { - printf(" -------- -------\n"); - printf(" %8ju %ju file%s\n", - total_size, file_count, file_count != 1 ? "s" : ""); - } else if (v_opt == 2) { - printf("-------- ------- --- -------\n"); - printf("%8ju %7ju 0%% %ju file%s\n", - total_size, total_size, file_count, - file_count != 1 ? "s" : ""); + if (zipinfo_mode) { + if (v_opt == 1) { + printf(" -------- -------\n"); + printf(" %8ju %ju file%s\n", + total_size, file_count, file_count != 1 ? "s" : ""); + } else if (v_opt == 2) { + printf("-------- ------- --- -------\n"); + printf("%8ju %7ju 0%% %ju file%s\n", + total_size, total_size, file_count, + file_count != 1 ? "s" : ""); + } } ac(archive_read_close(a)); @@ -933,7 +951,7 @@ static void usage(void) { - fprintf(stderr, "usage: unzip [-aCcfjLlnopqtuv] [-d dir] [-x pattern] zipfile\n"); + fprintf(stderr, "usage: unzip [-aCcfjLlnopqtuvZ1] [-d dir] [-x pattern] zipfile\n"); exit(1); } @@ -943,8 +961,11 @@ getopts(int argc, char *argv[]) int opt; optreset = optind = 1; - while ((opt = getopt(argc, argv, "aCcd:fjLlnopqtuvx:")) != -1) + while ((opt = getopt(argc, argv, "aCcd:fjLlnopqtuvx:Z1")) != -1) switch (opt) { + case '1': + Z1_opt = 1; + break; case 'a': a_opt = 1; break; @@ -995,6 +1016,9 @@ getopts(int argc, char *argv[]) case 'x': add_pattern(&exclude, optarg); break; + case 'Z': + zipinfo_mode = 1; + break; default: usage(); } @@ -1024,6 +1048,15 @@ main(int argc, char *argv[]) */ nopts = getopts(argc, argv); + /* + * When more of the zipinfo mode options are implemented, this + * will need to change. + */ + if (zipinfo_mode && !Z1_opt) { + printf("Zipinfo mode needs additional options\n"); + exit(1); + } + if (argc <= nopts) usage(); zipfile = argv[nopts++]; From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 07:15:40 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AF8951065672; Fri, 13 Apr 2012 07:15:40 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9AEC88FC15; Fri, 13 Apr 2012 07:15:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D7FeQb065423; Fri, 13 Apr 2012 07:15:40 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D7Fevo065420; Fri, 13 Apr 2012 07:15:40 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130715.q3D7Fevo065420@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 07:15:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234207 - in head/sys: amd64/include i386/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 07:15:40 -0000 Author: avg Date: Fri Apr 13 07:15:40 2012 New Revision: 234207 URL: http://svn.freebsd.org/changeset/base/234207 Log: bump INTRCNT_COUNT values to reflect actual numbers of IPI counters Maybe the numbers should be conditionalized on COUNT_IPIS Reviewed by: jhb MFC after: 1 week Modified: head/sys/amd64/include/intr_machdep.h head/sys/i386/include/intr_machdep.h Modified: head/sys/amd64/include/intr_machdep.h ============================================================================== --- head/sys/amd64/include/intr_machdep.h Fri Apr 13 06:15:51 2012 (r234206) +++ head/sys/amd64/include/intr_machdep.h Fri Apr 13 07:15:40 2012 (r234207) @@ -60,10 +60,10 @@ * - 1 ??? dummy counter. * - 2 counters for each I/O interrupt. * - 1 counter for each CPU for lapic timer. - * - 7 counters for each CPU for IPI counters for SMP. + * - 8 counters for each CPU for IPI counters for SMP. */ #ifdef SMP -#define INTRCNT_COUNT (1 + NUM_IO_INTS * 2 + (1 + 7) * MAXCPU) +#define INTRCNT_COUNT (1 + NUM_IO_INTS * 2 + (1 + 8) * MAXCPU) #else #define INTRCNT_COUNT (1 + NUM_IO_INTS * 2 + 1) #endif Modified: head/sys/i386/include/intr_machdep.h ============================================================================== --- head/sys/i386/include/intr_machdep.h Fri Apr 13 06:15:51 2012 (r234206) +++ head/sys/i386/include/intr_machdep.h Fri Apr 13 07:15:40 2012 (r234207) @@ -60,10 +60,10 @@ * - 1 ??? dummy counter. * - 2 counters for each I/O interrupt. * - 1 counter for each CPU for lapic timer. - * - 7 counters for each CPU for IPI counters for SMP. + * - 9 counters for each CPU for IPI counters for SMP. */ #ifdef SMP -#define INTRCNT_COUNT (1 + NUM_IO_INTS * 2 + (1 + 7) * MAXCPU) +#define INTRCNT_COUNT (1 + NUM_IO_INTS * 2 + (1 + 9) * MAXCPU) #else #define INTRCNT_COUNT (1 + NUM_IO_INTS * 2 + 1) #endif From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 07:18:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CE5EF106564A; Fri, 13 Apr 2012 07:18:19 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B90178FC14; Fri, 13 Apr 2012 07:18:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D7IJIO065542; Fri, 13 Apr 2012 07:18:19 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D7IJQh065539; Fri, 13 Apr 2012 07:18:19 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130718.q3D7IJQh065539@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 07:18:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234208 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 07:18:19 -0000 Author: avg Date: Fri Apr 13 07:18:19 2012 New Revision: 234208 URL: http://svn.freebsd.org/changeset/base/234208 Log: add actual interrupt counters to back ipi_invlcache_counts Otherwise one could run into a panic with COUNT_IPIS when cache invalidation actually happened. Reviewed by: jhb MFC after: 1 week Modified: head/sys/amd64/amd64/mp_machdep.c head/sys/i386/i386/mp_machdep.c Modified: head/sys/amd64/amd64/mp_machdep.c ============================================================================== --- head/sys/amd64/amd64/mp_machdep.c Fri Apr 13 07:15:40 2012 (r234207) +++ head/sys/amd64/amd64/mp_machdep.c Fri Apr 13 07:18:19 2012 (r234208) @@ -1471,6 +1471,8 @@ mp_ipi_intrcnt(void *dummy) intrcnt_add(buf, &ipi_invlrng_counts[i]); snprintf(buf, sizeof(buf), "cpu%d:invlpg", i); intrcnt_add(buf, &ipi_invlpg_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:invlcache", i); + intrcnt_add(buf, &ipi_invlcache_counts[i]); snprintf(buf, sizeof(buf), "cpu%d:preempt", i); intrcnt_add(buf, &ipi_preempt_counts[i]); snprintf(buf, sizeof(buf), "cpu%d:ast", i); Modified: head/sys/i386/i386/mp_machdep.c ============================================================================== --- head/sys/i386/i386/mp_machdep.c Fri Apr 13 07:15:40 2012 (r234207) +++ head/sys/i386/i386/mp_machdep.c Fri Apr 13 07:18:19 2012 (r234208) @@ -1530,6 +1530,8 @@ mp_ipi_intrcnt(void *dummy) intrcnt_add(buf, &ipi_invlrng_counts[i]); snprintf(buf, sizeof(buf), "cpu%d:invlpg", i); intrcnt_add(buf, &ipi_invlpg_counts[i]); + snprintf(buf, sizeof(buf), "cpu%d:invlcache", i); + intrcnt_add(buf, &ipi_invlcache_counts[i]); snprintf(buf, sizeof(buf), "cpu%d:preempt", i); intrcnt_add(buf, &ipi_preempt_counts[i]); snprintf(buf, sizeof(buf), "cpu%d:ast", i); From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 07:39:21 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 06C79106566C; Fri, 13 Apr 2012 07:39:21 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E5D998FC14; Fri, 13 Apr 2012 07:39: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 q3D7dKEg066262; Fri, 13 Apr 2012 07:39:20 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D7dKFQ066260; Fri, 13 Apr 2012 07:39:20 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130739.q3D7dKFQ066260@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 07:39:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234209 - in stable/9/sys: conf i386/conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 07:39:21 -0000 Author: avg Date: Fri Apr 13 07:39:20 2012 New Revision: 234209 URL: http://svn.freebsd.org/changeset/base/234209 Log: MFC r231558: newvers.sh: unbreak git/git-svn support Modified: stable/9/sys/conf/newvers.sh Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/conf/newvers.sh ============================================================================== --- stable/9/sys/conf/newvers.sh Fri Apr 13 07:18:19 2012 (r234208) +++ stable/9/sys/conf/newvers.sh Fri Apr 13 07:39:20 2012 (r234209) @@ -92,11 +92,15 @@ for dir in /bin /usr/bin /usr/local/bin; svnversion=${dir}/svnversion break fi - if [ -d "${SYSDIR}/../.git" -a -x "${dir}/git" ] ; then - git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" - break - fi done +if [ -d "${SYSDIR}/../.git" ] ; then + for dir in /bin /usr/bin /usr/local/bin; do + if [ -x "${dir}/git" ] ; then + git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" + break + fi + done +fi if [ -n "$svnversion" ] ; then echo "$svnversion" From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 07:44:41 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A2C3106566B; Fri, 13 Apr 2012 07:44:41 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E7D158FC0C; Fri, 13 Apr 2012 07:44:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D7ieQd066485; Fri, 13 Apr 2012 07:44:40 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D7ietx066482; Fri, 13 Apr 2012 07:44:40 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130744.q3D7ietx066482@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 07:44:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234210 - in stable/8/sys: conf i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 07:44:41 -0000 Author: avg Date: Fri Apr 13 07:44:40 2012 New Revision: 234210 URL: http://svn.freebsd.org/changeset/base/234210 Log: MFC r231558: newvers.sh: unbreak git/git-svn support Modified: stable/8/sys/conf/newvers.sh Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/conf/newvers.sh ============================================================================== --- stable/8/sys/conf/newvers.sh Fri Apr 13 07:39:20 2012 (r234209) +++ stable/8/sys/conf/newvers.sh Fri Apr 13 07:44:40 2012 (r234210) @@ -92,11 +92,15 @@ for dir in /bin /usr/bin /usr/local/bin; svnversion=${dir}/svnversion break fi - if [ -d "${SYSDIR}/../.git" -a -x "${dir}/git" ] ; then - git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" - break - fi done +if [ -d "${SYSDIR}/../.git" ] ; then + for dir in /bin /usr/bin /usr/local/bin; do + if [ -x "${dir}/git" ] ; then + git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" + break + fi + done +fi if [ -n "$svnversion" ] ; then echo "$svnversion" From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 07:48:46 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B847C106564A; Fri, 13 Apr 2012 07:48:46 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 88F028FC08; Fri, 13 Apr 2012 07:48: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 q3D7mkQW066678; Fri, 13 Apr 2012 07:48:46 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D7mkdG066676; Fri, 13 Apr 2012 07:48:46 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130748.q3D7mkdG066676@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 07:48:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234211 - in stable/9/sys: cddl/contrib/opensolaris/uts/common/fs/zfs i386/conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 07:48:46 -0000 Author: avg Date: Fri Apr 13 07:48:45 2012 New Revision: 234211 URL: http://svn.freebsd.org/changeset/base/234211 Log: MFC r233918: zfs_ioctl: no need for ddi_copyin/out here because sys_ioctl handles that Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Apr 13 07:44:40 2012 (r234210) +++ stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Apr 13 07:48:45 2012 (r234211) @@ -293,9 +293,12 @@ zfs_ioctl(vnode_t *vp, u_long com, intpt case _FIO_SEEK_DATA: case _FIO_SEEK_HOLE: +#ifdef sun if (ddi_copyin((void *)data, &off, sizeof (off), flag)) return (EFAULT); - +#else + off = *(offset_t *)data; +#endif zp = VTOZ(vp); zfsvfs = zp->z_zfsvfs; ZFS_ENTER(zfsvfs); @@ -306,8 +309,12 @@ zfs_ioctl(vnode_t *vp, u_long com, intpt ZFS_EXIT(zfsvfs); if (error) return (error); +#ifdef sun if (ddi_copyout(&off, (void *)data, sizeof (off), flag)) return (EFAULT); +#else + *(offset_t *)data = off; +#endif return (0); } return (ENOTTY); From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 07:54:10 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CD071065672; Fri, 13 Apr 2012 07:54:10 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CC1AC8FC16; Fri, 13 Apr 2012 07:54:09 +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 q3D7s9sd066912; Fri, 13 Apr 2012 07:54:09 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D7s9qs066910; Fri, 13 Apr 2012 07:54:09 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130754.q3D7s9qs066910@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 07:54:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234212 - in stable/8/sys: cddl/contrib/opensolaris/uts/common/fs/zfs i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 07:54:10 -0000 Author: avg Date: Fri Apr 13 07:54:09 2012 New Revision: 234212 URL: http://svn.freebsd.org/changeset/base/234212 Log: MFC r233918: zfs_ioctl: no need for ddi_copyin/out here because sys_ioctl handles that Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Apr 13 07:48:45 2012 (r234211) +++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Apr 13 07:54:09 2012 (r234212) @@ -294,9 +294,12 @@ zfs_ioctl(vnode_t *vp, u_long com, intpt case _FIO_SEEK_DATA: case _FIO_SEEK_HOLE: +#ifdef sun if (ddi_copyin((void *)data, &off, sizeof (off), flag)) return (EFAULT); - +#else + off = *(offset_t *)data; +#endif zp = VTOZ(vp); zfsvfs = zp->z_zfsvfs; ZFS_ENTER(zfsvfs); @@ -307,8 +310,12 @@ zfs_ioctl(vnode_t *vp, u_long com, intpt ZFS_EXIT(zfsvfs); if (error) return (error); +#ifdef sun if (ddi_copyout(&off, (void *)data, sizeof (off), flag)) return (EFAULT); +#else + *(offset_t *)data = off; +#endif return (0); } return (ENOTTY); From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 08:01:34 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E0F6F1065670; Fri, 13 Apr 2012 08:01:34 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CBB4E8FC0C; Fri, 13 Apr 2012 08:01: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 q3D81Ylj067230; Fri, 13 Apr 2012 08:01:34 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D81YHK067228; Fri, 13 Apr 2012 08:01:34 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130801.q3D81YHK067228@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 08:01:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234213 - in stable/9/sys: i386/conf kern pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 08:01:35 -0000 Author: avg Date: Fri Apr 13 08:01:34 2012 New Revision: 234213 URL: http://svn.freebsd.org/changeset/base/234213 Log: MFC r234040: intpm: reflect the fact that SB800 and later AMD chipsets are not supported Modified: stable/9/sys/pci/intpm.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/pci/intpm.c ============================================================================== --- stable/9/sys/pci/intpm.c Fri Apr 13 07:54:09 2012 (r234212) +++ stable/9/sys/pci/intpm.c Fri Apr 13 08:01:34 2012 (r234213) @@ -99,6 +99,9 @@ intsmb_probe(device_t dev) device_set_desc(dev, "Intel PIIX4 SMBUS Interface"); break; case 0x43851002: + /* SB800 and newer can not be configured in a compatible way. */ + if (pci_get_revid(dev) >= 0x40) + return (ENXIO); device_set_desc(dev, "AMD SB600/700/710/750 SMBus Controller"); /* XXX Maybe force polling right here? */ break; From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 08:04:01 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0C9A81065670; Fri, 13 Apr 2012 08:04:01 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EC1D38FC0C; Fri, 13 Apr 2012 08:04:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D840p6067358; Fri, 13 Apr 2012 08:04:00 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D84063067356; Fri, 13 Apr 2012 08:04:00 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130804.q3D84063067356@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 08:04:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234214 - in stable/8/sys: i386/conf pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 08:04:01 -0000 Author: avg Date: Fri Apr 13 08:04:00 2012 New Revision: 234214 URL: http://svn.freebsd.org/changeset/base/234214 Log: MFC r234040: intpm: reflect the fact that SB800 and later AMD chipsets are not supported Modified: stable/8/sys/pci/intpm.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/pci/intpm.c ============================================================================== --- stable/8/sys/pci/intpm.c Fri Apr 13 08:01:34 2012 (r234213) +++ stable/8/sys/pci/intpm.c Fri Apr 13 08:04:00 2012 (r234214) @@ -99,6 +99,9 @@ intsmb_probe(device_t dev) device_set_desc(dev, "Intel PIIX4 SMBUS Interface"); break; case 0x43851002: + /* SB800 and newer can not be configured in a compatible way. */ + if (pci_get_revid(dev) >= 0x40) + return (ENXIO); device_set_desc(dev, "AMD SB600/700/710/750 SMBus Controller"); /* XXX Maybe force polling right here? */ break; From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 08:08:45 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5ECFE1065680; Fri, 13 Apr 2012 08:08:45 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 490B88FC0C; Fri, 13 Apr 2012 08:08: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 q3D88jiG067557; Fri, 13 Apr 2012 08:08:45 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D88jr2067555; Fri, 13 Apr 2012 08:08:45 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130808.q3D88jr2067555@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 08:08:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234215 - in stable/9/sys: i386/conf kern pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 08:08:45 -0000 Author: avg Date: Fri Apr 13 08:08:44 2012 New Revision: 234215 URL: http://svn.freebsd.org/changeset/base/234215 Log: MFC r234043: intpm: return only SMB bus error codes from SMB methods Modified: stable/9/sys/pci/intpm.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/pci/intpm.c ============================================================================== --- stable/9/sys/pci/intpm.c Fri Apr 13 08:04:00 2012 (r234214) +++ stable/9/sys/pci/intpm.c Fri Apr 13 08:08:44 2012 (r234215) @@ -272,7 +272,7 @@ intsmb_callback(device_t dev, int index, case SMB_RELEASE_BUS: break; default: - error = EINVAL; + error = SMB_EINVAL; } return (error); @@ -519,7 +519,7 @@ intsmb_quick(device_t dev, u_char slave, data |= LSB; break; default: - return (EINVAL); + return (SMB_EINVAL); } INTSMB_LOCK(sc); @@ -774,7 +774,7 @@ intsmb_bread(device_t dev, u_char slave, } *count = nread; } else - error = EIO; + error = SMB_EBUSERR; } INTSMB_UNLOCK(sc); return (error); From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 08:11:15 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 24F421065670; Fri, 13 Apr 2012 08:11:15 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0F5718FC15; Fri, 13 Apr 2012 08:11: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 q3D8BE2Q067694; Fri, 13 Apr 2012 08:11:14 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D8BEFh067692; Fri, 13 Apr 2012 08:11:14 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204130811.q3D8BEFh067692@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 08:11:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234216 - in stable/8/sys: i386/conf pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 08:11:15 -0000 Author: avg Date: Fri Apr 13 08:11:14 2012 New Revision: 234216 URL: http://svn.freebsd.org/changeset/base/234216 Log: MFC r234043: intpm: return only SMB bus error codes from SMB methods Modified: stable/8/sys/pci/intpm.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/pci/intpm.c ============================================================================== --- stable/8/sys/pci/intpm.c Fri Apr 13 08:08:44 2012 (r234215) +++ stable/8/sys/pci/intpm.c Fri Apr 13 08:11:14 2012 (r234216) @@ -272,7 +272,7 @@ intsmb_callback(device_t dev, int index, case SMB_RELEASE_BUS: break; default: - error = EINVAL; + error = SMB_EINVAL; } return (error); @@ -519,7 +519,7 @@ intsmb_quick(device_t dev, u_char slave, data |= LSB; break; default: - return (EINVAL); + return (SMB_EINVAL); } INTSMB_LOCK(sc); @@ -774,7 +774,7 @@ intsmb_bread(device_t dev, u_char slave, } *count = nread; } else - error = EIO; + error = SMB_EBUSERR; } INTSMB_UNLOCK(sc); return (error); From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 08:45:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D200106564A; Fri, 13 Apr 2012 08:45:51 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F21378FC18; Fri, 13 Apr 2012 08:45:50 +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 q3D8joDN068844; Fri, 13 Apr 2012 08:45:50 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D8joSO068842; Fri, 13 Apr 2012 08:45:50 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204130845.q3D8joSO068842@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 08:45:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234217 - head/sys/mips/atheros X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 08:45:51 -0000 Author: adrian Date: Fri Apr 13 08:45:50 2012 New Revision: 234217 URL: http://svn.freebsd.org/changeset/base/234217 Log: (ab)Use the firmware API to store away EEPROM calibration data for future use by the ath(4) driver. These embedded devices put the calibration/PCI bootstrap data on the on board SPI flash rather than on an EEPROM connected to the NIC. For some boards, there's two NICs and two sets of EEPROM data in the main SPI flash. The particulars: * Introduce ath_fixup_size, which is the size of the EEPROM area in bytes. * Create a firmware image with a name based on the PCI device identifier (bus/slot/device/function). * Hide some verbose debugging behind 'bootverbose'. ath(4) can then use this to load in the EEPROM data. This requires AR71XX_ATH_EEPROM to be defined. Modified: head/sys/mips/atheros/ar71xx_pci.c Modified: head/sys/mips/atheros/ar71xx_pci.c ============================================================================== --- head/sys/mips/atheros/ar71xx_pci.c Fri Apr 13 08:11:14 2012 (r234216) +++ head/sys/mips/atheros/ar71xx_pci.c Fri Apr 13 08:45:50 2012 (r234217) @@ -60,6 +60,11 @@ __FBSDID("$FreeBSD$"); #include +#ifdef AR71XX_ATH_EEPROM +#include +#include +#endif /* AR71XX_ATH_EEPROM */ + #undef AR71XX_PCI_DEBUG #ifdef AR71XX_PCI_DEBUG #define dprintf printf @@ -266,8 +271,9 @@ ar71xx_pci_fixup(device_t dev, u_int bus uint16_t *cal_data = (uint16_t *) MIPS_PHYS_TO_KSEG1(flash_addr); uint32_t reg, val, bar0; - printf("%s: flash_addr=%lx, cal_data=%p\n", - __func__, flash_addr, cal_data); + if (bootverbose) + device_printf(dev, "%s: flash_addr=%lx, cal_data=%p\n", + __func__, flash_addr, cal_data); /* XXX check 0xa55a */ /* Save bar(0) address - just to flush bar(0) (SoC WAR) ? */ @@ -284,7 +290,8 @@ ar71xx_pci_fixup(device_t dev, u_int bus reg = *cal_data++; val = *cal_data++; val |= (*cal_data++) << 16; - printf(" reg: %x, val=%x\n", reg, val); + if (bootverbose) + printf(" reg: %x, val=%x\n", reg, val); /* Write eeprom fixup data to device memory */ ATH_WRITE_REG(AR71XX_PCI_MEM_BASE + reg, val); @@ -299,6 +306,62 @@ ar71xx_pci_fixup(device_t dev, u_int bus ar71xx_pci_write_config(dev, bus, slot, func, PCIR_BAR(0), bar0, 4); } +/* + * Take a copy of the EEPROM contents and squirrel it away in a firmware. + * The SPI flash will eventually cease to be memory-mapped, so we need + * to take a copy of this before the SPI driver initialises. + */ +static void +ar71xx_pci_slot_create_eeprom_firmware(device_t dev, u_int bus, u_int slot, + u_int func, long int flash_addr) +{ + char buf[64]; + uint16_t *cal_data = (uint16_t *) MIPS_PHYS_TO_KSEG1(flash_addr); + void *eeprom = NULL; + const struct firmware *fw = NULL; + int len; + + snprintf(buf, sizeof(buf), "bus.%d.%d.%d.ath_fixup_size", + bus, slot, func); + + if (resource_int_value(device_get_name(dev), device_get_unit(dev), + buf, &len) != 0) { + device_printf(dev, "%s: missing hint '%s', aborting EEPROM\n", + __func__, buf); + return; + } + + device_printf(dev, "EEPROM firmware: 0x%lx @ %d bytes\n", + flash_addr, len); + + eeprom = malloc(len, M_DEVBUF, M_WAITOK | M_ZERO); + if (! eeprom) { + device_printf(dev, + "%s: malloc failed for '%s', aborting EEPROM\n", + __func__, buf); + return; + } + + memcpy(eeprom, cal_data, len); + + /* + * Generate a flash EEPROM 'firmware' from the given memory + * region. Since the SPI controller will eventually + * go into port-IO mode instead of memory-mapped IO + * mode, a copy of the EEPROM contents is required. + */ + snprintf(buf, sizeof(buf), "%s.%d.bus.%d.%d.%d.eeprom_firmware", + device_get_name(dev), device_get_unit(dev), bus, slot, func); + fw = firmware_register(buf, eeprom, len, 1, NULL); + if (fw == NULL) { + device_printf(dev, "%s: firmware_register (%s) failed\n", + __func__, buf); + free(eeprom, M_DEVBUF); + return; + } + device_printf(dev, "device EEPROM '%s' registered\n", buf); +} + static void ar71xx_pci_slot_fixup(device_t dev, u_int bus, u_int slot, u_int func) { @@ -308,16 +371,19 @@ ar71xx_pci_slot_fixup(device_t dev, u_in /* * Check whether the given slot has a hint to poke. */ - printf("%s: checking dev %s, %d/%d/%d\n", + if (bootverbose) + device_printf(dev, "%s: checking dev %s, %d/%d/%d\n", __func__, device_get_nameunit(dev), bus, slot, func); snprintf(buf, sizeof(buf), "bus.%d.%d.%d.ath_fixup_addr", bus, slot, func); if (resource_long_value(device_get_name(dev), device_get_unit(dev), buf, &flash_addr) == 0) { - printf("%s: found fixupaddr at %lx: updating\n", - __func__, flash_addr); + device_printf(dev, "found EEPROM at 0x%lx on %d.%d.%d\n", + flash_addr, bus, slot, func); ar71xx_pci_fixup(dev, bus, slot, func, flash_addr); + ar71xx_pci_slot_create_eeprom_firmware(dev, bus, slot, func, + flash_addr); } } #endif /* AR71XX_ATH_EEPROM */ From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 08:48:39 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 64E461065674; Fri, 13 Apr 2012 08:48:39 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 364B08FC08; Fri, 13 Apr 2012 08:48: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 q3D8mdl1068959; Fri, 13 Apr 2012 08:48:39 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D8mdRD068957; Fri, 13 Apr 2012 08:48:39 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204130848.q3D8mdRD068957@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 08:48:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234218 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 08:48:39 -0000 Author: adrian Date: Fri Apr 13 08:48:38 2012 New Revision: 234218 URL: http://svn.freebsd.org/changeset/base/234218 Log: Introduce the ability to grab local EEPROM data from the firmware(9) interface. * Introduce a device hint, 'eeprom_firmware', which is the name of firmware to lookup. * If the lookup succeeds, take a copy of it and use it as the eeprom data. This isn't enabled by default - you have to define ATH_EEPROM_FIRMWARE. I'll add it to the configuration variables in a later commit. TODO: * just keep a firmware reference in ath_softc, and remove the need to waste the extra memory in having sc_eepromdata be a malloc()ed block. Modified: head/sys/dev/ath/if_ath_pci.c Modified: head/sys/dev/ath/if_ath_pci.c ============================================================================== --- head/sys/dev/ath/if_ath_pci.c Fri Apr 13 08:45:50 2012 (r234217) +++ head/sys/dev/ath/if_ath_pci.c Fri Apr 13 08:48:38 2012 (r234218) @@ -60,6 +60,14 @@ __FBSDID("$FreeBSD$"); #include #include +/* #define ATH_EEPROM_FIRMWARE */ + +/* For EEPROM firmware */ +#ifdef ATH_EEPROM_FIRMWARE +#include +#include +#endif /* ATH_EEPROM_FIRMWARE */ + /* * PCI glue. */ @@ -123,6 +131,10 @@ ath_pci_attach(device_t dev) struct ath_softc *sc = &psc->sc_sc; int error = ENXIO; int rid; +#ifdef ATH_EEPROM_FIRMWARE + const struct firmware *fw = NULL; + const char *buf; +#endif sc->sc_dev = dev; @@ -191,6 +203,37 @@ ath_pci_attach(device_t dev) goto bad3; } +#ifdef ATH_EEPROM_FIRMWARE + /* + * If there's an EEPROM firmware image, load that in. + */ + if (resource_string_value(device_get_name(dev), device_get_unit(dev), + "eeprom_firmware", &buf) == 0) { + if (bootverbose) + device_printf(dev, "%s: looking up firmware @ '%s'\n", + __func__, buf); + + fw = firmware_get(buf); + if (fw == NULL) { + device_printf(dev, "%s: couldn't find firmware\n", + __func__); + goto bad3; + } + + device_printf(dev, "%s: EEPROM firmware @ %p\n", + __func__, fw->data); + sc->sc_eepromdata = + malloc(fw->datasize, M_TEMP, M_WAITOK | M_ZERO); + if (! sc->sc_eepromdata) { + device_printf(dev, "%s: can't malloc eepromdata\n", + __func__); + goto bad3; + } + memcpy(sc->sc_eepromdata, fw->data, fw->datasize); + firmware_put(fw, 0); + } +#endif /* ATH_EEPROM_FIRMWARE */ + ATH_LOCK_INIT(sc); ATH_PCU_LOCK_INIT(sc); @@ -234,6 +277,9 @@ ath_pci_detach(device_t dev) bus_dma_tag_destroy(sc->sc_dmat); bus_release_resource(dev, SYS_RES_MEMORY, BS_BAR, psc->sc_sr); + if (sc->sc_eepromdata) + free(sc->sc_eepromdata, M_TEMP); + ATH_PCU_LOCK_DESTROY(sc); ATH_LOCK_DESTROY(sc); From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 08:52:25 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C18BE106564A; Fri, 13 Apr 2012 08:52:25 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AC5B98FC0C; Fri, 13 Apr 2012 08:52: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 q3D8qPMa069109; Fri, 13 Apr 2012 08:52:25 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D8qP1k069105; Fri, 13 Apr 2012 08:52:25 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204130852.q3D8qP1k069105@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 08:52:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234219 - head/sys/mips/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 08:52:25 -0000 Author: adrian Date: Fri Apr 13 08:52:25 2012 New Revision: 234219 URL: http://svn.freebsd.org/changeset/base/234219 Log: Introduce configuration files for AP94 and AP96. This uses the new firmware(9) method for squirreling away the EEPROM contents from SPI flash so ath(4) can get to them later. It won't work out of the box just yet - you have to add this to if_ath_pci.c: #define ATH_EEPROM_FIRMWARE .. until I've added it as a configuration option and updated things. Added: head/sys/mips/conf/AP94 (contents, props changed) head/sys/mips/conf/AP94.hints (contents, props changed) head/sys/mips/conf/AP96 (contents, props changed) head/sys/mips/conf/AP96.hints (contents, props changed) Added: head/sys/mips/conf/AP94 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/AP94 Fri Apr 13 08:52:25 2012 (r234219) @@ -0,0 +1,32 @@ +# +# Specific board setup for the Atheros AP94 reference board. +# +# The AP94 has the following hardware: +# +# + AR7161 CPU SoC +# + AR9223 2.4GHz 11n +# + AR9220 5GHz 11n +# + AR8216 10/100 switch +# + m25p64 based 8MB flash +# + 32mb RAM +# + uboot environment + +# $FreeBSD$ + +include "AR71XX_BASE" +ident "AP94" +hints "AP94.hints" + +# GEOM modules +device geom_redboot # to get access to the SPI flash partitions +device geom_uzip # compressed in-memory filesystem hackery! +options GEOM_UZIP + +options ROOTDEVNAME=\"ufs:md0.uzip\" +options AR71XX_REALMEM=32*1024*1024 + +# options MD_ROOT +# options MD_ROOT_SIZE="6144" + +options AR71XX_ATH_EEPROM +device firmware Added: head/sys/mips/conf/AP94.hints ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/AP94.hints Fri Apr 13 08:52:25 2012 (r234219) @@ -0,0 +1,28 @@ +# $FreeBSD$ + +hint.arge.0.phymask=0x000c +hint.arge.0.media=100 +hint.arge.0.fduplex=1 + +# XXX grab these from uboot? +# hint.arge.0.eeprommac=0x1f01fc00 + +# The ath NICs have calibration data in flash. +# PCI slot 17 +# hint.ath.0.eepromaddr=0x1fff1000 +# PCI slot 18 +# hint.ath.1.eepromaddr=0x1fff5000 + +# ath0 - slot 17 +hint.pcib.0.bus.0.17.0.ath_fixup_addr=0x1fff1000 +hint.pcib.0.bus.0.17.0.ath_fixup_size=4096 + +# ath1 - slot 18 +hint.pcib.0.bus.0.18.0.ath_fixup_addr=0x1fff5000 +hint.pcib.0.bus.0.18.0.ath_fixup_size=4096 + +# .. and now, telling each ath(4) NIC where to find the firmware +# image. +hint.ath.0.eeprom_firmware="pcib.0.bus.0.17.0.eeprom_firmware" +hint.ath.1.eeprom_firmware="pcib.0.bus.0.18.0.eeprom_firmware" + Added: head/sys/mips/conf/AP96 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/AP96 Fri Apr 13 08:52:25 2012 (r234219) @@ -0,0 +1,32 @@ +# +# Specific board setup for the Atheros AP96 reference board. +# +# The AP96 has the following hardware: +# +# + AR7161 CPU SoC +# + AR9223 2.4GHz 11n +# + AR9220 5GHz 11n +# + AR8316 10/100/1000 switch +# + m25p64 based 8MB flash +# + 64mb RAM +# + uboot environment + +# $FreeBSD$ + +include "AR71XX_BASE" +ident "AP96" +hints "AP96.hints" + +# GEOM modules +device geom_redboot # to get access to the SPI flash partitions +device geom_uzip # compressed in-memory filesystem hackery! +options GEOM_UZIP + +options ROOTDEVNAME=\"ufs:md0.uzip\" +options AR71XX_REALMEM=64*1024*1024 + +# options MD_ROOT +# options MD_ROOT_SIZE="6144" + +options AR71XX_ATH_EEPROM +device firmware Added: head/sys/mips/conf/AP96.hints ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/conf/AP96.hints Fri Apr 13 08:52:25 2012 (r234219) @@ -0,0 +1,28 @@ +# $FreeBSD$ + +hint.arge.0.phymask=0x000c +hint.arge.0.media=100 +hint.arge.0.fduplex=1 + +# XXX grab these from uboot? +# hint.arge.0.eeprommac=0x1f01fc00 + +# The ath NICs have calibration data in flash. +# PCI slot 17 +# hint.ath.0.eepromaddr=0x1fff1000 +# PCI slot 18 +# hint.ath.1.eepromaddr=0x1fff5000 + +# ath0 - slot 17 +hint.pcib.0.bus.0.17.0.ath_fixup_addr=0x1fff1000 +hint.pcib.0.bus.0.17.0.ath_fixup_size=4096 + +# ath1 - slot 18 +hint.pcib.0.bus.0.18.0.ath_fixup_addr=0x1fff5000 +hint.pcib.0.bus.0.18.0.ath_fixup_size=4096 + +# .. and now, telling each ath(4) NIC where to find the firmware +# image. +hint.ath.0.eeprom_firmware="pcib.0.bus.0.17.0.eeprom_firmware" +hint.ath.1.eeprom_firmware="pcib.0.bus.0.18.0.eeprom_firmware" + From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 08:56:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B50081065672; Fri, 13 Apr 2012 08:56:23 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A101C8FC17; Fri, 13 Apr 2012 08:56:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D8uNNd069294; Fri, 13 Apr 2012 08:56:23 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D8uNfA069291; Fri, 13 Apr 2012 08:56:23 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204130856.q3D8uNfA069291@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 08:56:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234220 - head/sys/mips/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 08:56:23 -0000 Author: adrian Date: Fri Apr 13 08:56:23 2012 New Revision: 234220 URL: http://svn.freebsd.org/changeset/base/234220 Log: These are uboot, so mark them as such or booting from flash will not work. Modified: head/sys/mips/conf/AP94 head/sys/mips/conf/AP96 Modified: head/sys/mips/conf/AP94 ============================================================================== --- head/sys/mips/conf/AP94 Fri Apr 13 08:52:25 2012 (r234219) +++ head/sys/mips/conf/AP94 Fri Apr 13 08:56:23 2012 (r234220) @@ -25,6 +25,8 @@ options GEOM_UZIP options ROOTDEVNAME=\"ufs:md0.uzip\" options AR71XX_REALMEM=32*1024*1024 +options AR71XX_ENV_UBOOT + # options MD_ROOT # options MD_ROOT_SIZE="6144" Modified: head/sys/mips/conf/AP96 ============================================================================== --- head/sys/mips/conf/AP96 Fri Apr 13 08:52:25 2012 (r234219) +++ head/sys/mips/conf/AP96 Fri Apr 13 08:56:23 2012 (r234220) @@ -25,6 +25,8 @@ options GEOM_UZIP options ROOTDEVNAME=\"ufs:md0.uzip\" options AR71XX_REALMEM=64*1024*1024 +options AR71XX_ENV_UBOOT + # options MD_ROOT # options MD_ROOT_SIZE="6144" From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 09:54:37 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 496D71065670; Fri, 13 Apr 2012 09:54:37 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 341D48FC15; Fri, 13 Apr 2012 09:54:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3D9sbRj071208; Fri, 13 Apr 2012 09:54:37 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3D9sbFP071206; Fri, 13 Apr 2012 09:54:37 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201204130954.q3D9sbFP071206@svn.freebsd.org> From: Glen Barber Date: Fri, 13 Apr 2012 09:54:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234221 - head/usr.bin/calendar/calendars X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 09:54:37 -0000 Author: gjb (doc committer) Date: Fri Apr 13 09:54:36 2012 New Revision: 234221 URL: http://svn.freebsd.org/changeset/base/234221 Log: Belatedly add my entry to the calendar file, now that 30 is here and gone. Modified: head/usr.bin/calendar/calendars/calendar.freebsd Modified: head/usr.bin/calendar/calendars/calendar.freebsd ============================================================================== --- head/usr.bin/calendar/calendars/calendar.freebsd Fri Apr 13 08:56:23 2012 (r234220) +++ head/usr.bin/calendar/calendars/calendar.freebsd Fri Apr 13 09:54:36 2012 (r234221) @@ -126,6 +126,7 @@ 04/12 Ed Schouten born in Oss, the Netherlands, 1986 04/13 Oliver Braun born in Nuremberg, Bavaria, Germany, 1972 04/14 Crist J. Clark born in Milwaukee, Wisconsin, United States, 1970 +04/14 Glen J. Barber born in Wilkes-Barre, Pennsylvania, United States, 1981 04/15 David Malone born in Dublin, Ireland, 1973 04/17 Dryice Liu born in Jinan, Shandong, China, 1975 04/22 Joerg Wunsch born in Dresden, Sachsen, Germany, 1962 From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 10:49:18 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1151B106564A; Fri, 13 Apr 2012 10:49:18 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by mx1.freebsd.org (Postfix) with ESMTP id 78E448FC08; Fri, 13 Apr 2012 10:49:17 +0000 (UTC) Received: by ggnk4 with SMTP id k4so1869149ggn.13 for ; Fri, 13 Apr 2012 03:49:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Rc2C92j85/3+zrEjX+NKqHrzrUfFoCpkvP7FI+gcgs0=; b=nJtokKs6JNxRTOle6muKY8AvBqlDduYTwgLYMYE7tBLpwth8zJfGw1ru0rj79ITgxk 0EhXVbCV0KzlE+6MZjUbh4a0gDVaIUoYRkIFRrwgaQVAQvbicLbSBZ7FYCElgrR5j1Bv 2FdFjZBkRdMCu5aeJ1g6J6x4QihVbaVuoOe53bQPg99Zlpt7Bh21FwoLrwtOTLrfjhZI zd+rmV4CfUjGxPhuHs2sH8zj2uXHFoXBuVLUcjiXMTurDf9kvPCbay+PSPM3H5fWK6UC wkhrlrQOzOx9Y10yOF+I8o6fB4uOzPHTQvQOGPwseoZFXMDwe68Sg/WxkvCZbIkdX1b4 z+bQ== MIME-Version: 1.0 Received: by 10.236.200.228 with SMTP id z64mr1156463yhn.10.1334314156816; Fri, 13 Apr 2012 03:49:16 -0700 (PDT) Received: by 10.236.181.225 with HTTP; Fri, 13 Apr 2012 03:49:16 -0700 (PDT) In-Reply-To: <201204130739.q3D7dKFQ066260@svn.freebsd.org> References: <201204130739.q3D7dKFQ066260@svn.freebsd.org> Date: Fri, 13 Apr 2012 12:49:16 +0200 Message-ID: From: Oliver Pinter To: Andriy Gapon Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org Subject: Re: svn commit: r234209 - in stable/9/sys: conf i386/conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 10:49:18 -0000 Hi! Please MFC back this patch to 7 and 8 STABLE. On 4/13/12, Andriy Gapon wrote: > Author: avg > Date: Fri Apr 13 07:39:20 2012 > New Revision: 234209 > URL: http://svn.freebsd.org/changeset/base/234209 > > Log: > MFC r231558: newvers.sh: unbreak git/git-svn support > > Modified: > stable/9/sys/conf/newvers.sh > Directory Properties: > stable/9/sys/ (props changed) > stable/9/sys/amd64/include/xen/ (props changed) > stable/9/sys/boot/ (props changed) > stable/9/sys/boot/i386/efi/ (props changed) > stable/9/sys/boot/ia64/efi/ (props changed) > stable/9/sys/boot/ia64/ski/ (props changed) > stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) > stable/9/sys/boot/powerpc/ofw/ (props changed) > stable/9/sys/cddl/contrib/opensolaris/ (props changed) > stable/9/sys/conf/ (props changed) > stable/9/sys/contrib/dev/acpica/ (props changed) > stable/9/sys/contrib/octeon-sdk/ (props changed) > stable/9/sys/contrib/pf/ (props changed) > stable/9/sys/contrib/x86emu/ (props changed) > stable/9/sys/fs/ (props changed) > stable/9/sys/fs/ntfs/ (props changed) > stable/9/sys/i386/conf/XENHVM (props changed) > stable/9/sys/kern/subr_witness.c (props changed) > > Modified: stable/9/sys/conf/newvers.sh > ============================================================================== > --- stable/9/sys/conf/newvers.sh Fri Apr 13 07:18:19 2012 (r234208) > +++ stable/9/sys/conf/newvers.sh Fri Apr 13 07:39:20 2012 (r234209) > @@ -92,11 +92,15 @@ for dir in /bin /usr/bin /usr/local/bin; > svnversion=${dir}/svnversion > break > fi > - if [ -d "${SYSDIR}/../.git" -a -x "${dir}/git" ] ; then > - git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" > - break > - fi > done > +if [ -d "${SYSDIR}/../.git" ] ; then > + for dir in /bin /usr/bin /usr/local/bin; do > + if [ -x "${dir}/git" ] ; then > + git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" > + break > + fi > + done > +fi > > if [ -n "$svnversion" ] ; then > echo "$svnversion" > _______________________________________________ > svn-src-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-stable > To unsubscribe, send any mail to "svn-src-stable-unsubscribe@freebsd.org" > From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 11:12:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A5323106566B; Fri, 13 Apr 2012 11:12:19 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8FD208FC0A; Fri, 13 Apr 2012 11:12:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DBCJBJ076911; Fri, 13 Apr 2012 11:12:19 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DBCJbX076909; Fri, 13 Apr 2012 11:12:19 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201204131112.q3DBCJbX076909@svn.freebsd.org> From: Andriy Gapon Date: Fri, 13 Apr 2012 11:12:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234222 - stable/7/sys/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 11:12:19 -0000 Author: avg Date: Fri Apr 13 11:12:18 2012 New Revision: 234222 URL: http://svn.freebsd.org/changeset/base/234222 Log: MFC r231558: newvers.sh: unbreak git/git-svn support Modified: stable/7/sys/conf/newvers.sh Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/conf/newvers.sh ============================================================================== --- stable/7/sys/conf/newvers.sh Fri Apr 13 09:54:36 2012 (r234221) +++ stable/7/sys/conf/newvers.sh Fri Apr 13 11:12:18 2012 (r234222) @@ -92,11 +92,15 @@ for dir in /bin /usr/bin /usr/local/bin; svnversion=${dir}/svnversion break fi - if [ -d "${SYSDIR}/../.git" -a -x "${dir}/git" ] ; then - git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" - break - fi done +if [ -d "${SYSDIR}/../.git" ] ; then + for dir in /bin /usr/bin /usr/local/bin; do + if [ -x "${dir}/git" ] ; then + git_cmd="${dir}/git --git-dir=${SYSDIR}/../.git" + break + fi + done +fi if [ -n "$svnversion" ] ; then echo "$svnversion" From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 15:33:12 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0352106566B; Fri, 13 Apr 2012 15:33:12 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BC2A08FC15; Fri, 13 Apr 2012 15:33:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DFXCUk086053; Fri, 13 Apr 2012 15:33:12 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DFXCN9086051; Fri, 13 Apr 2012 15:33:12 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204131533.q3DFXCN9086051@svn.freebsd.org> From: Luigi Rizzo Date: Fri, 13 Apr 2012 15:33:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234225 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 15:33:12 -0000 Author: luigi Date: Fri Apr 13 15:33:12 2012 New Revision: 234225 URL: http://svn.freebsd.org/changeset/base/234225 Log: do not use a deprecated field in a structure. Modified: head/sys/dev/netmap/if_re_netmap.h Modified: head/sys/dev/netmap/if_re_netmap.h ============================================================================== --- head/sys/dev/netmap/if_re_netmap.h Fri Apr 13 14:36:57 2012 (r234224) +++ head/sys/dev/netmap/if_re_netmap.h Fri Apr 13 15:33:12 2012 (r234225) @@ -284,7 +284,7 @@ re_netmap_rxsync(struct ifnet *ifp, u_in for (n = 0; j != k; n++) { struct netmap_slot *slot = ring->slot + j; struct rl_desc *desc = &sc->rl_ldata.rl_rx_list[l]; - int cmd = na->buff_size | RL_RDESC_CMD_OWN; + int cmd = NETMAP_BUF_SIZE | RL_RDESC_CMD_OWN; uint64_t paddr; void *addr = PNMB(slot, &paddr); @@ -391,7 +391,7 @@ re_netmap_rx_init(struct rl_softc *sc) sc->rl_ldata.rl_rx_desc[i].rx_dmamap, BUS_DMASYNC_PREREAD); desc[i].rl_bufaddr_lo = htole32(RL_ADDR_LO(paddr)); desc[i].rl_bufaddr_hi = htole32(RL_ADDR_HI(paddr)); - cmdstat = na->buff_size; + cmdstat = NETMAP_BUF_SIZE; if (i == n - 1) /* mark the end of ring */ cmdstat |= RL_RDESC_CMD_EOR; if (i < max_avail) From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 16:03:08 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C188106564A; Fri, 13 Apr 2012 16:03:08 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 754C28FC0C; Fri, 13 Apr 2012 16:03: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 q3DG38dk087229; Fri, 13 Apr 2012 16:03:08 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DG38gK087221; Fri, 13 Apr 2012 16:03:08 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204131603.q3DG38gK087221@svn.freebsd.org> From: Luigi Rizzo Date: Fri, 13 Apr 2012 16:03:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234227 - in head: sys/dev/netmap sys/net tools/tools/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 16:03:08 -0000 Author: luigi Date: Fri Apr 13 16:03:07 2012 New Revision: 234227 URL: http://svn.freebsd.org/changeset/base/234227 Log: A bit of cleanup in the names of fields of netmap-related structures. Use the name 'ring' instead of 'queue' in all fields. Bump NETMAP_API. Modified: head/sys/dev/netmap/ixgbe_netmap.h head/sys/dev/netmap/netmap.c head/sys/dev/netmap/netmap_kern.h head/sys/dev/netmap/netmap_mem1.c head/sys/net/netmap.h head/sys/net/netmap_user.h head/tools/tools/netmap/bridge.c Modified: head/sys/dev/netmap/ixgbe_netmap.h ============================================================================== --- head/sys/dev/netmap/ixgbe_netmap.h Fri Apr 13 15:43:42 2012 (r234226) +++ head/sys/dev/netmap/ixgbe_netmap.h Fri Apr 13 16:03:07 2012 (r234227) @@ -63,6 +63,9 @@ * This is tricky, much better to use TDH for now. */ SYSCTL_DECL(_dev_netmap); +static int ix_write_len; +SYSCTL_INT(_dev_netmap, OID_AUTO, ix_write_len, + CTLFLAG_RW, &ix_write_len, 0, "write rx len"); static int ix_rx_miss, ix_rx_miss_bufs, ix_use_dd, ix_crcstrip; SYSCTL_INT(_dev_netmap, OID_AUTO, ix_crcstrip, CTLFLAG_RW, &ix_crcstrip, 0, "strip CRC on rx frames"); @@ -121,6 +124,9 @@ set_crcstrip(struct ixgbe_hw *hw, int on hl = IXGBE_READ_REG(hw, IXGBE_HLREG0); rxc = IXGBE_READ_REG(hw, IXGBE_RDRXCTL); + if (netmap_verbose) + D("%s read HLREG 0x%x rxc 0x%x", + onoff ? "enter" : "exit", hl, rxc); /* hw requirements ... */ rxc &= ~IXGBE_RDRXCTL_RSCFRSTSIZE; rxc |= IXGBE_RDRXCTL_RSCACKC; @@ -133,6 +139,9 @@ set_crcstrip(struct ixgbe_hw *hw, int on hl |= IXGBE_HLREG0_RXCRCSTRP; rxc |= IXGBE_RDRXCTL_CRCSTRIP; } + if (netmap_verbose) + D("%s write HLREG 0x%x rxc 0x%x", + onoff ? "enter" : "exit", hl, rxc); IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hl); IXGBE_WRITE_REG(hw, IXGBE_RDRXCTL, rxc); } @@ -479,7 +488,7 @@ ixgbe_netmap_rxsync(struct ifnet *ifp, u * of CRCSTRIP. The data sheets say differently. * Very strange. */ - int crclen = 0; // ix_crcstrip ? 0 : 4; + int crclen = ix_crcstrip ? 0 : 4; l = rxr->next_to_check; j = netmap_idx_n2k(kring, l); @@ -490,6 +499,8 @@ ixgbe_netmap_rxsync(struct ifnet *ifp, u if ((staterr & IXGBE_RXD_STAT_DD) == 0) break; ring->slot[j].len = le16toh(curr->wb.upper.length) - crclen; + if (ix_write_len) + D("rx[%d] len %d", j, ring->slot[j].len); bus_dmamap_sync(rxr->ptag, rxr->rx_buffers[l].pmap, BUS_DMASYNC_POSTREAD); j = (j == lim) ? 0 : j + 1; Modified: head/sys/dev/netmap/netmap.c ============================================================================== --- head/sys/dev/netmap/netmap.c Fri Apr 13 15:43:42 2012 (r234226) +++ head/sys/dev/netmap/netmap.c Fri Apr 13 16:03:07 2012 (r234227) @@ -173,21 +173,21 @@ netmap_dtor_locked(void *data) /* Wake up any sleeping threads. netmap_poll will * then return POLLERR */ - for (i = 0; i < na->num_tx_queues + 1; i++) + for (i = 0; i < na->num_tx_rings + 1; i++) selwakeuppri(&na->tx_rings[i].si, PI_NET); - for (i = 0; i < na->num_rx_queues + 1; i++) + for (i = 0; i < na->num_rx_rings + 1; i++) selwakeuppri(&na->rx_rings[i].si, PI_NET); selwakeuppri(&na->tx_si, PI_NET); selwakeuppri(&na->rx_si, PI_NET); /* release all buffers */ NMA_LOCK(); - for (i = 0; i < na->num_tx_queues + 1; i++) { + for (i = 0; i < na->num_tx_rings + 1; i++) { struct netmap_ring *ring = na->tx_rings[i].ring; lim = na->tx_rings[i].nkr_num_slots; for (j = 0; j < lim; j++) netmap_free_buf(nifp, ring->slot[j].buf_idx); } - for (i = 0; i < na->num_rx_queues + 1; i++) { + for (i = 0; i < na->num_rx_rings + 1; i++) { struct netmap_ring *ring = na->rx_rings[i].ring; lim = na->rx_rings[i].nkr_num_slots; for (j = 0; j < lim; j++) @@ -260,7 +260,7 @@ netmap_mmap(__unused struct cdev *dev, static void netmap_sync_to_host(struct netmap_adapter *na) { - struct netmap_kring *kring = &na->tx_rings[na->num_tx_queues]; + struct netmap_kring *kring = &na->tx_rings[na->num_tx_rings]; struct netmap_ring *ring = kring->ring; struct mbuf *head = NULL, *tail = NULL, *m; u_int k, n, lim = kring->nkr_num_slots - 1; @@ -320,7 +320,7 @@ netmap_sync_to_host(struct netmap_adapte static void netmap_sync_from_host(struct netmap_adapter *na, struct thread *td) { - struct netmap_kring *kring = &na->rx_rings[na->num_rx_queues]; + struct netmap_kring *kring = &na->rx_rings[na->num_rx_rings]; struct netmap_ring *ring = kring->ring; u_int j, n, lim = kring->nkr_num_slots; u_int k = ring->cur, resvd = ring->reserved; @@ -415,7 +415,7 @@ netmap_ring_reinit(struct netmap_kring * } if (errors) { int pos = kring - kring->na->tx_rings; - int n = kring->na->num_tx_queues + 1; + int n = kring->na->num_tx_rings + 1; D("total %d errors", errors); errors++; @@ -443,10 +443,10 @@ netmap_set_ringid(struct netmap_priv_d * u_int i = ringid & NETMAP_RING_MASK; /* initially (np_qfirst == np_qlast) we don't want to lock */ int need_lock = (priv->np_qfirst != priv->np_qlast); - int lim = na->num_rx_queues; + int lim = na->num_rx_rings; - if (na->num_tx_queues > lim) - lim = na->num_tx_queues; + if (na->num_tx_rings > lim) + lim = na->num_tx_rings; if ( (ringid & NETMAP_HW_RING) && i >= lim) { D("invalid ring id %d", i); return (EINVAL); @@ -531,8 +531,8 @@ netmap_ioctl(__unused struct cdev *dev, if (error) break; na = NA(ifp); /* retrieve netmap_adapter */ - nmr->nr_rx_rings = na->num_rx_queues; - nmr->nr_tx_rings = na->num_tx_queues; + nmr->nr_rx_rings = na->num_rx_rings; + nmr->nr_tx_rings = na->num_tx_rings; nmr->nr_rx_slots = na->num_rx_desc; nmr->nr_tx_slots = na->num_tx_desc; if_rele(ifp); /* return the refcount */ @@ -619,8 +619,8 @@ error: } /* return the offset of the netmap_if object */ - nmr->nr_rx_rings = na->num_rx_queues; - nmr->nr_tx_rings = na->num_tx_queues; + nmr->nr_rx_rings = na->num_rx_rings; + nmr->nr_tx_rings = na->num_tx_rings; nmr->nr_rx_slots = na->num_rx_desc; nmr->nr_tx_slots = na->num_tx_desc; nmr->nr_memsize = nm_mem->nm_totalsize; @@ -657,7 +657,7 @@ error: lim = priv->np_qlast; if (lim == NETMAP_HW_RING) lim = (cmd == NIOCTXSYNC) ? - na->num_tx_queues : na->num_rx_queues; + na->num_tx_rings : na->num_rx_rings; for (i = priv->np_qfirst; i < lim; i++) { if (cmd == NIOCTXSYNC) { @@ -742,8 +742,8 @@ netmap_poll(__unused struct cdev *dev, i na = NA(ifp); /* retrieve netmap adapter */ - lim_tx = na->num_tx_queues; - lim_rx = na->num_rx_queues; + lim_tx = na->num_tx_rings; + lim_rx = na->num_rx_rings; /* how many queues we are scanning */ if (priv->np_qfirst == NETMAP_SW_RING) { if (priv->np_txpoll || want_tx) { @@ -965,7 +965,7 @@ netmap_lock_wrapper(struct ifnet *dev, i * kring N+1 is only used for the selinfo for all queues. * Return 0 on success, ENOMEM otherwise. * - * na->num_tx_queues can be set for cards with different tx/rx setups + * na->num_tx_rings can be set for cards with different tx/rx setups */ int netmap_attach(struct netmap_adapter *na, int num_queues) @@ -980,22 +980,21 @@ netmap_attach(struct netmap_adapter *na, } /* clear other fields ? */ na->refcount = 0; - if (na->num_tx_queues == 0) - na->num_tx_queues = num_queues; - na->num_rx_queues = num_queues; + if (na->num_tx_rings == 0) + na->num_tx_rings = num_queues; + na->num_rx_rings = num_queues; /* on each direction we have N+1 resources * 0..n-1 are the hardware rings * n is the ring attached to the stack. */ - n = na->num_rx_queues + na->num_tx_queues + 2; + n = na->num_rx_rings + na->num_tx_rings + 2; size = sizeof(*na) + n * sizeof(struct netmap_kring); buf = malloc(size, M_DEVBUF, M_NOWAIT | M_ZERO); if (buf) { WNA(ifp) = buf; na->tx_rings = (void *)((char *)buf + sizeof(*na)); - na->rx_rings = na->tx_rings + na->num_tx_queues + 1; - na->buff_size = NETMAP_BUF_SIZE; + na->rx_rings = na->tx_rings + na->num_tx_rings + 1; bcopy(na, buf, sizeof(*na)); ifp->if_capabilities |= IFCAP_NETMAP; @@ -1003,9 +1002,9 @@ netmap_attach(struct netmap_adapter *na, if (na->nm_lock == NULL) na->nm_lock = netmap_lock_wrapper; mtx_init(&na->core_lock, "netmap core lock", NULL, MTX_DEF); - for (i = 0 ; i < na->num_tx_queues + 1; i++) + for (i = 0 ; i < na->num_tx_rings + 1; i++) mtx_init(&na->tx_rings[i].q_lock, "netmap txq lock", NULL, MTX_DEF); - for (i = 0 ; i < na->num_rx_queues + 1; i++) + for (i = 0 ; i < na->num_rx_rings + 1; i++) mtx_init(&na->rx_rings[i].q_lock, "netmap rxq lock", NULL, MTX_DEF); } #ifdef linux @@ -1033,11 +1032,11 @@ netmap_detach(struct ifnet *ifp) if (!na) return; - for (i = 0; i < na->num_tx_queues + 1; i++) { + for (i = 0; i < na->num_tx_rings + 1; i++) { knlist_destroy(&na->tx_rings[i].si.si_note); mtx_destroy(&na->tx_rings[i].q_lock); } - for (i = 0; i < na->num_rx_queues + 1; i++) { + for (i = 0; i < na->num_rx_rings + 1; i++) { knlist_destroy(&na->rx_rings[i].si.si_note); mtx_destroy(&na->rx_rings[i].q_lock); } @@ -1058,7 +1057,7 @@ int netmap_start(struct ifnet *ifp, struct mbuf *m) { struct netmap_adapter *na = NA(ifp); - struct netmap_kring *kring = &na->rx_rings[na->num_rx_queues]; + struct netmap_kring *kring = &na->rx_rings[na->num_rx_rings]; u_int i, len = MBUF_LEN(m); int error = EBUSY, lim = kring->nkr_num_slots - 1; struct netmap_slot *slot; @@ -1085,7 +1084,7 @@ netmap_start(struct ifnet *ifp, struct m slot->len = len; kring->nr_hwavail++; if (netmap_verbose & NM_VERB_HOST) - D("wake up host ring %s %d", na->ifp->if_xname, na->num_rx_queues); + D("wake up host ring %s %d", na->ifp->if_xname, na->num_rx_rings); selwakeuppri(&kring->si, PI_NET); error = 0; done: @@ -1174,10 +1173,10 @@ netmap_rx_irq(struct ifnet *ifp, int q, if (work_done) { /* RX path */ r = na->rx_rings + q; r->nr_kflags |= NKR_PENDINTR; - main_wq = (na->num_rx_queues > 1) ? &na->rx_si : NULL; + main_wq = (na->num_rx_rings > 1) ? &na->rx_si : NULL; } else { /* tx path */ r = na->tx_rings + q; - main_wq = (na->num_tx_queues > 1) ? &na->tx_si : NULL; + main_wq = (na->num_tx_rings > 1) ? &na->tx_si : NULL; work_done = &q; /* dummy */ } if (na->separate_locks) { Modified: head/sys/dev/netmap/netmap_kern.h ============================================================================== --- head/sys/dev/netmap/netmap_kern.h Fri Apr 13 15:43:42 2012 (r234226) +++ head/sys/dev/netmap/netmap_kern.h Fri Apr 13 16:03:07 2012 (r234227) @@ -34,6 +34,8 @@ #ifndef _NET_NETMAP_KERN_H_ #define _NET_NETMAP_KERN_H_ +#define NETMAP_MEM2 // use the new memory allocator + #if defined(__FreeBSD__) #define NM_LOCK_T struct mtx #define NM_SELINFO_T struct selinfo @@ -104,20 +106,25 @@ struct netmap_adapter { int refcount; /* number of user-space descriptors using this interface, which is equal to the number of struct netmap_if objs in the mapped region. */ + /* + * The selwakeup in the interrupt thread can use per-ring + * and/or global wait queues. We track how many clients + * of each type we have so we can optimize the drivers, + * and especially avoid huge contention on the locks. + */ + int na_single; /* threads attached to a single hw queue */ + int na_multi; /* threads attached to multiple hw queues */ int separate_locks; /* set if the interface suports different locks for rx, tx and core. */ - u_int num_rx_queues; /* number of tx/rx queue pairs: this is - a duplicate field needed to simplify the - signature of ``netmap_detach``. */ - u_int num_tx_queues; // if nonzero, overrides num_queues XXX + u_int num_rx_rings; /* number of tx/rx ring pairs */ + u_int num_tx_rings; // if nonzero, overrides num_rx_rings u_int num_tx_desc; /* number of descriptor in each queue */ u_int num_rx_desc; - u_int buff_size; // XXX deprecate, use NETMAP_BUF_SIZE + //u_int buff_size; // XXX deprecate, use NETMAP_BUF_SIZE - //u_int flags; // XXX unused /* tx_rings and rx_rings are private but allocated * as a contiguous chunk of memory. Each array has * N+1 entries, for the adapter queues and for the host queue. @@ -129,9 +136,7 @@ struct netmap_adapter { /* copy of if_qflush and if_transmit pointers, to intercept * packets from the network stack when netmap is active. - * XXX probably if_qflush is not necessary. */ - //void (*if_qflush)(struct ifnet *); // XXX unused int (*if_transmit)(struct ifnet *, struct mbuf *); /* references to the ifnet and device routines, used by @@ -294,6 +299,21 @@ netmap_idx_k2n(struct netmap_kring *kr, } +#ifdef NETMAP_MEM2 +/* Entries of the look-up table. */ +struct lut_entry { + void *vaddr; /* virtual address. */ + vm_paddr_t paddr; /* phisical address. */ +}; + +struct netmap_obj_pool; +extern struct lut_entry *netmap_buffer_lut; +#define NMB_VA(i) (netmap_buffer_lut[i].vaddr) +#define NMB_PA(i) (netmap_buffer_lut[i].paddr) +#else /* NETMAP_MEM1 */ +#define NMB_VA(i) (netmap_buffer_base + (i * NETMAP_BUF_SIZE) ) +#endif /* NETMAP_MEM2 */ + /* * NMB return the virtual address of a buffer (buffer 0 on bad index) * PNMB also fills the physical address @@ -302,17 +322,19 @@ static inline void * NMB(struct netmap_slot *slot) { uint32_t i = slot->buf_idx; - return (i >= netmap_total_buffers) ? netmap_buffer_base : - netmap_buffer_base + (i * NETMAP_BUF_SIZE); + return (i >= netmap_total_buffers) ? NMB_VA(0) : NMB_VA(i); } static inline void * PNMB(struct netmap_slot *slot, uint64_t *pp) { uint32_t i = slot->buf_idx; - void *ret = (i >= netmap_total_buffers) ? netmap_buffer_base : - netmap_buffer_base + (i * NETMAP_BUF_SIZE); + void *ret = (i >= netmap_total_buffers) ? NMB_VA(0) : NMB_VA(i); +#ifdef NETMAP_MEM2 + *pp = (i >= netmap_total_buffers) ? NMB_PA(0) : NMB_PA(i); +#else *pp = vtophys(ret); +#endif return ret; } Modified: head/sys/dev/netmap/netmap_mem1.c ============================================================================== --- head/sys/dev/netmap/netmap_mem1.c Fri Apr 13 15:43:42 2012 (r234226) +++ head/sys/dev/netmap/netmap_mem1.c Fri Apr 13 16:03:07 2012 (r234227) @@ -280,8 +280,8 @@ netmap_if_new(const char *ifname, struct struct netmap_kring *kring; char *buff; u_int i, len, ofs, numdesc; - u_int nrx = na->num_rx_queues + 1; /* shorthand, include stack queue */ - u_int ntx = na->num_tx_queues + 1; /* shorthand, include stack queue */ + u_int nrx = na->num_rx_rings + 1; /* shorthand, include stack queue */ + u_int ntx = na->num_tx_rings + 1; /* shorthand, include stack queue */ /* * the descriptor is followed inline by an array of offsets @@ -293,8 +293,8 @@ netmap_if_new(const char *ifname, struct return (NULL); /* initialize base fields */ - *(int *)(uintptr_t)&nifp->ni_rx_queues = na->num_rx_queues; - *(int *)(uintptr_t)&nifp->ni_tx_queues = na->num_tx_queues; + *(int *)(uintptr_t)&nifp->ni_rx_rings = na->num_rx_rings; + *(int *)(uintptr_t)&nifp->ni_tx_rings = na->num_tx_rings; strncpy(nifp->ni_name, ifname, IFNAMSIZ); (na->refcount)++; /* XXX atomic ? we are under lock */ Modified: head/sys/net/netmap.h ============================================================================== --- head/sys/net/netmap.h Fri Apr 13 15:43:42 2012 (r234226) +++ head/sys/net/netmap.h Fri Apr 13 16:03:07 2012 (r234227) @@ -83,8 +83,8 @@ / | cur | NETMAP_IF (nifp, one per file desc.) / | avail | +---------------+ / | buf_ofs | - | ni_num_queues | / +=============+ - | | / | buf_idx | slot[0] + | ni_tx_rings | / +=============+ + | ni_rx_rings | / | buf_idx | slot[0] | | / | len, flags | | | / +-------------+ +===============+ / | buf_idx | slot[1] @@ -221,8 +221,8 @@ struct netmap_ring { struct netmap_if { char ni_name[IFNAMSIZ]; /* name of the interface. */ const u_int ni_version; /* API version, currently unused */ - const u_int ni_rx_queues; /* number of rx queue pairs */ - const u_int ni_tx_queues; /* if zero, same as ni_tx_queues */ + const u_int ni_rx_rings; /* number of rx rings */ + const u_int ni_tx_rings; /* if zero, same as ni_rx_rings */ /* * The following array contains the offset of each netmap ring * from this structure. The first ni_tx_queues+1 entries refer @@ -257,7 +257,7 @@ struct netmap_if { struct nmreq { char nr_name[IFNAMSIZ]; uint32_t nr_version; /* API version */ -#define NETMAP_API 2 /* current version */ +#define NETMAP_API 3 /* current version */ uint32_t nr_offset; /* nifp offset in the shared region */ uint32_t nr_memsize; /* size of the shared region */ uint32_t nr_tx_slots; /* slots in tx rings */ Modified: head/sys/net/netmap_user.h ============================================================================== --- head/sys/net/netmap_user.h Fri Apr 13 15:43:42 2012 (r234226) +++ head/sys/net/netmap_user.h Fri Apr 13 16:03:07 2012 (r234227) @@ -70,7 +70,7 @@ #define NETMAP_RXRING(nifp, index) \ ((struct netmap_ring *)((char *)(nifp) + \ - (nifp)->ring_ofs[index + (nifp)->ni_tx_queues+1] ) ) + (nifp)->ring_ofs[index + (nifp)->ni_tx_rings + 1] ) ) #define NETMAP_BUF(ring, index) \ ((char *)(ring) + (ring)->buf_ofs + ((index)*(ring)->nr_buf_size)) Modified: head/tools/tools/netmap/bridge.c ============================================================================== --- head/tools/tools/netmap/bridge.c Fri Apr 13 15:43:42 2012 (r234226) +++ head/tools/tools/netmap/bridge.c Fri Apr 13 16:03:07 2012 (r234227) @@ -300,7 +300,7 @@ howmany(struct my_ring *me, int tx) if (0 && verbose && tot && !tx) D("ring %s %s %s has %d avail at %d", me->ifname, tx ? "tx": "rx", - me->end > me->nifp->ni_rx_queues ? + me->end >= me->nifp->ni_tx_rings ? // XXX who comes first ? "host":"net", tot, NETMAP_TXRING(me->nifp, me->begin)->cur); return tot; @@ -361,6 +361,8 @@ main(int argc, char **argv) } } + argc -= optind; + argv += optind; if (argc > 1) ifa = argv[1]; @@ -440,8 +442,8 @@ main(int argc, char **argv) D("Wait %d secs for link to come up...", wait_link); sleep(wait_link); D("Ready to go, %s 0x%x/%d <-> %s 0x%x/%d.", - me[0].ifname, me[0].queueid, me[0].nifp->ni_rx_queues, - me[1].ifname, me[1].queueid, me[1].nifp->ni_rx_queues); + me[0].ifname, me[0].queueid, me[0].nifp->ni_rx_rings, + me[1].ifname, me[1].queueid, me[1].nifp->ni_rx_rings); /* main loop */ signal(SIGINT, sigint_h); From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 16:32:33 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 87664106564A; Fri, 13 Apr 2012 16:32:33 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 70C958FC14; Fri, 13 Apr 2012 16:32: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 q3DGWXc2088241; Fri, 13 Apr 2012 16:32:33 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DGWXqj088240; Fri, 13 Apr 2012 16:32:33 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204131632.q3DGWXqj088240@svn.freebsd.org> From: Luigi Rizzo Date: Fri, 13 Apr 2012 16:32:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234228 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 16:32:33 -0000 Author: luigi Date: Fri Apr 13 16:32:33 2012 New Revision: 234228 URL: http://svn.freebsd.org/changeset/base/234228 Log: add the new memory allocator for netmap, which allocates memory in small clusters instead of one big contiguous chunk. This was already enabled in the previous commit. Added: head/sys/dev/netmap/netmap_mem2.c (contents, props changed) Added: head/sys/dev/netmap/netmap_mem2.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/netmap/netmap_mem2.c Fri Apr 13 16:32:33 2012 (r234228) @@ -0,0 +1,720 @@ +/* + * Copyright (C) 2012 Matteo Landi, Luigi Rizzo. 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$ + * $Id: netmap_mem2.c 10830 2012-03-22 18:06:01Z luigi $ + * + * New memory allocator for netmap + */ + +/* + * The new version allocates three regions: + * nm_if_pool for the struct netmap_if + * nm_ring_pool for the struct netmap_ring + * nm_buf_pool for the packet buffers. + * + * All regions need to be page-sized as we export them to + * userspace through mmap. Only the latter need to be dma-able, + * but for convenience use the same type of allocator for all. + * + * Once mapped, the three regions are exported to userspace + * as a contiguous block, starting from nm_if_pool. Each + * cluster (and pool) is an integral number of pages. + * [ . . . ][ . . . . . .][ . . . . . . . . . .] + * nm_if nm_ring nm_buf + * + * The userspace areas contain offsets of the objects in userspace. + * When (at init time) we write these offsets, we find out the index + * of the object, and from there locate the offset from the beginning + * of the region. + * + * Allocator for a pool of memory objects of the same size. + * The pool is split into smaller clusters, whose size is a + * multiple of the page size. The cluster size is chosen + * to minimize the waste for a given max cluster size + * (we do it by brute force, as we have relatively few object + * per cluster). + * + * To be polite with the cache, objects are aligned to + * the cache line, or 64 bytes. Sizes are rounded to multiple of 64. + * For each object we have + * one entry in the bitmap to signal the state. Allocation scans + * the bitmap, but since this is done only on attach, we are not + * too worried about performance + */ + +/* + * MEMORY SIZES: + * + * (all the parameters below will become tunables) + * + * struct netmap_if is variable size but small. + * Assuming each NIC has 8+2 rings, (4+1 tx, 4+1 rx) the netmap_if + * uses 120 bytes on a 64-bit machine. + * We allocate NETMAP_IF_MAX_SIZE (1024) which should work even for + * cards with 48 ring pairs. + * The total number of 'struct netmap_if' could be slightly larger + * that the total number of rings on all interfaces on the system. + */ +#define NETMAP_IF_MAX_SIZE 1024 +#define NETMAP_IF_MAX_NUM 512 + +/* + * netmap rings are up to 2..4k descriptors, 8 bytes each, + * plus some glue at the beginning (32 bytes). + * We set the default ring size to 9 pages (36K) and enable + * a few hundreds of them. + */ +#define NETMAP_RING_MAX_SIZE (9*PAGE_SIZE) +#define NETMAP_RING_MAX_NUM 200 /* approx 8MB */ + +/* + * Buffers: the more the better. Buffer size is NETMAP_BUF_SIZE, + * 2k or slightly less, aligned to 64 bytes. + * A large 10G interface can have 2k*18 = 36k buffers per interface, + * or about 72MB of memory. Up to us to use more. + */ +#ifndef CONSERVATIVE +#define NETMAP_BUF_MAX_NUM 100000 /* 200MB */ +#else /* CONSERVATIVE */ +#define NETMAP_BUF_MAX_NUM 20000 /* 40MB */ +#endif + + +struct netmap_obj_pool { + char name[16]; /* name of the allocator */ + u_int objtotal; /* actual total number of objects. */ + u_int objfree; /* number of free objects. */ + u_int clustentries; /* actual objects per cluster */ + + /* the total memory space is _numclusters*_clustsize */ + u_int _numclusters; /* how many clusters */ + u_int _clustsize; /* cluster size */ + u_int _objsize; /* actual object size */ + + u_int _memtotal; /* _numclusters*_clustsize */ + struct lut_entry *lut; /* virt,phys addresses, objtotal entries */ + uint32_t *bitmap; /* one bit per buffer, 1 means free */ +}; + +struct netmap_mem_d { + NM_LOCK_T nm_mtx; /* protect the allocator ? */ + u_int nm_totalsize; /* shorthand */ + + /* pointers to the three allocators */ + struct netmap_obj_pool *nm_if_pool; + struct netmap_obj_pool *nm_ring_pool; + struct netmap_obj_pool *nm_buf_pool; +}; + +struct lut_entry *netmap_buffer_lut; /* exported */ + + +/* + * Convert a userspace offset to a phisical address. + * XXX re-do in a simpler way. + * + * The idea here is to hide userspace applications the fact that pre-allocated + * memory is not contiguous, but fragmented across different clusters and + * smaller memory allocators. Consequently, first of all we need to find which + * allocator is owning provided offset, then we need to find out the physical + * address associated to target page (this is done using the look-up table. + */ +static inline vm_paddr_t +netmap_ofstophys(vm_offset_t offset) +{ + const struct netmap_obj_pool *p[] = { + nm_mem->nm_if_pool, + nm_mem->nm_ring_pool, + nm_mem->nm_buf_pool }; + int i; + vm_offset_t o = offset; + + + for (i = 0; i < 3; offset -= p[i]->_memtotal, i++) { + if (offset >= p[i]->_memtotal) + continue; + // XXX now scan the clusters + return p[i]->lut[offset / p[i]->_objsize].paddr + + offset % p[i]->_objsize; + } + D("invalid ofs 0x%x out of 0x%x 0x%x 0x%x", o, + p[0]->_memtotal, p[0]->_memtotal + p[1]->_memtotal, + p[0]->_memtotal + p[1]->_memtotal + p[2]->_memtotal); + return 0; // XXX bad address +} + +/* + * we store objects by kernel address, need to find the offset + * within the pool to export the value to userspace. + * Algorithm: scan until we find the cluster, then add the + * actual offset in the cluster + */ +ssize_t +netmap_obj_offset(struct netmap_obj_pool *p, const void *vaddr) +{ + int i, k = p->clustentries, n = p->objtotal; + ssize_t ofs = 0; + + for (i = 0; i < n; i += k, ofs += p->_clustsize) { + const char *base = p->lut[i].vaddr; + ssize_t relofs = (const char *) vaddr - base; + + if (relofs < 0 || relofs > p->_clustsize) + continue; + + ofs = ofs + relofs; + ND("%s: return offset %d (cluster %d) for pointer %p", + p->name, ofs, i, vaddr); + return ofs; + } + D("address %p is not contained inside any cluster (%s)", + vaddr, p->name); + return 0; /* An error occurred */ +} + +/* Helper functions which convert virtual addresses to offsets */ +#define netmap_if_offset(v) \ + netmap_obj_offset(nm_mem->nm_if_pool, (v)) + +#define netmap_ring_offset(v) \ + (nm_mem->nm_if_pool->_memtotal + \ + netmap_obj_offset(nm_mem->nm_ring_pool, (v))) + +#define netmap_buf_offset(v) \ + (nm_mem->nm_if_pool->_memtotal + \ + nm_mem->nm_ring_pool->_memtotal + \ + netmap_obj_offset(nm_mem->nm_buf_pool, (v))) + + +static void * +netmap_obj_malloc(struct netmap_obj_pool *p, int len) +{ + uint32_t i = 0; /* index in the bitmap */ + uint32_t mask, j; /* slot counter */ + void *vaddr = NULL; + + if (len > p->_objsize) { + D("%s request size %d too large", p->name, len); + // XXX cannot reduce the size + return NULL; + } + + if (p->objfree == 0) { + D("%s allocator: run out of memory", p->name); + return NULL; + } + + /* termination is guaranteed by p->free */ + while (vaddr == NULL) { + uint32_t cur = p->bitmap[i]; + if (cur == 0) { /* bitmask is fully used */ + i++; + continue; + } + /* locate a slot */ + for (j = 0, mask = 1; (cur & mask) == 0; j++, mask <<= 1) + ; + + p->bitmap[i] &= ~mask; /* mark object as in use */ + p->objfree--; + + vaddr = p->lut[i * 32 + j].vaddr; + } + ND("%s allocator: allocated object @ [%d][%d]: vaddr %p", i, j, vaddr); + + return vaddr; +} + + +/* + * free by index, not by address + */ +static void +netmap_obj_free(struct netmap_obj_pool *p, uint32_t j) +{ + if (j >= p->objtotal) { + D("invalid index %u, max %u", j, p->objtotal); + return; + } + p->bitmap[j / 32] |= (1 << (j % 32)); + p->objfree++; + return; +} + +static void +netmap_obj_free_va(struct netmap_obj_pool *p, void *vaddr) +{ + int i, j, n = p->_memtotal / p->_clustsize; + + for (i = 0, j = 0; i < n; i++, j += p->clustentries) { + void *base = p->lut[i * p->clustentries].vaddr; + ssize_t relofs = (ssize_t) vaddr - (ssize_t) base; + + /* Given address, is out of the scope of the current cluster.*/ + if (vaddr < base || relofs > p->_clustsize) + continue; + + j = j + relofs / p->_objsize; + KASSERT(j != 0, ("Cannot free object 0")); + netmap_obj_free(p, j); + return; + } + ND("address %p is not contained inside any cluster (%s)", + vaddr, p->name); +} + +#define netmap_if_malloc(len) netmap_obj_malloc(nm_mem->nm_if_pool, len) +#define netmap_if_free(v) netmap_obj_free_va(nm_mem->nm_if_pool, (v)) +#define netmap_ring_malloc(len) netmap_obj_malloc(nm_mem->nm_ring_pool, len) +#define netmap_buf_malloc() \ + netmap_obj_malloc(nm_mem->nm_buf_pool, NETMAP_BUF_SIZE) + + +/* Return the index associated to the given packet buffer */ +#define netmap_buf_index(v) \ + (netmap_obj_offset(nm_mem->nm_buf_pool, (v)) / nm_mem->nm_buf_pool->_objsize) + + +static void +netmap_new_bufs(struct netmap_if *nifp __unused, + struct netmap_slot *slot, u_int n) +{ + struct netmap_obj_pool *p = nm_mem->nm_buf_pool; + uint32_t i = 0; /* slot counter */ + + for (i = 0; i < n; i++) { + void *vaddr = netmap_buf_malloc(); + if (vaddr == NULL) { + D("unable to locate empty packet buffer"); + goto cleanup; + } + + slot[i].buf_idx = netmap_buf_index(vaddr); + KASSERT(slot[i].buf_idx != 0, + ("Assigning buf_idx=0 to just created slot")); + slot[i].len = p->_objsize; + slot[i].flags = NS_BUF_CHANGED; // XXX GAETANO hack + } + + ND("allocated %d buffers, %d available", n, p->objfree); + return; + +cleanup: + for (i--; i >= 0; i--) { + netmap_obj_free(nm_mem->nm_buf_pool, slot[i].buf_idx); + } +} + + +static void +netmap_free_buf(struct netmap_if *nifp, uint32_t i) +{ + struct netmap_obj_pool *p = nm_mem->nm_buf_pool; + if (i < 2 || i >= p->objtotal) { + D("Cannot free buf#%d: should be in [2, %d[", i, p->objtotal); + return; + } + netmap_obj_free(nm_mem->nm_buf_pool, i); +} + + +/* + * Free all resources related to an allocator. + */ +static void +netmap_destroy_obj_allocator(struct netmap_obj_pool *p) +{ + if (p == NULL) + return; + if (p->bitmap) + free(p->bitmap, M_NETMAP); + if (p->lut) { + int i; + for (i = 0; i < p->objtotal; i += p->clustentries) { + if (p->lut[i].vaddr) + contigfree(p->lut[i].vaddr, p->_clustsize, M_NETMAP); + } + bzero(p->lut, sizeof(struct lut_entry) * p->objtotal); + free(p->lut, M_NETMAP); + } + bzero(p, sizeof(*p)); + free(p, M_NETMAP); +} + +/* + * We receive a request for objtotal objects, of size objsize each. + * Internally we may round up both numbers, as we allocate objects + * in small clusters multiple of the page size. + * In the allocator we don't need to store the objsize, + * but we do need to keep track of objtotal' and clustentries, + * as they are needed when freeing memory. + * + * XXX note -- userspace needs the buffers to be contiguous, + * so we cannot afford gaps at the end of a cluster. + */ +static struct netmap_obj_pool * +netmap_new_obj_allocator(const char *name, u_int objtotal, u_int objsize) +{ + struct netmap_obj_pool *p; + int i, n; + u_int clustsize; /* the cluster size, multiple of page size */ + u_int clustentries; /* how many objects per entry */ + +#define MAX_CLUSTSIZE (1<<17) +#define LINE_ROUND 64 + if (objsize >= MAX_CLUSTSIZE) { + /* we could do it but there is no point */ + D("unsupported allocation for %d bytes", objsize); + return NULL; + } + /* make sure objsize is a multiple of LINE_ROUND */ + i = (objsize & (LINE_ROUND - 1)); + if (i) { + D("XXX aligning object by %d bytes", LINE_ROUND - i); + objsize += LINE_ROUND - i; + } + /* + * Compute number of objects using a brute-force approach: + * given a max cluster size, + * we try to fill it with objects keeping track of the + * wasted space to the next page boundary. + */ + for (clustentries = 0, i = 1;; i++) { + u_int delta, used = i * objsize; + if (used > MAX_CLUSTSIZE) + break; + delta = used % PAGE_SIZE; + if (delta == 0) { // exact solution + clustentries = i; + break; + } + if (delta > ( (clustentries*objsize) % PAGE_SIZE) ) + clustentries = i; + } + // D("XXX --- ouch, delta %d (bad for buffers)", delta); + /* compute clustsize and round to the next page */ + clustsize = clustentries * objsize; + i = (clustsize & (PAGE_SIZE - 1)); + if (i) + clustsize += PAGE_SIZE - i; + D("objsize %d clustsize %d objects %d", + objsize, clustsize, clustentries); + + p = malloc(sizeof(struct netmap_obj_pool), M_NETMAP, + M_WAITOK | M_ZERO); + if (p == NULL) { + D("Unable to create '%s' allocator", name); + return NULL; + } + /* + * Allocate and initialize the lookup table. + * + * The number of clusters is n = ceil(objtotal/clustentries) + * objtotal' = n * clustentries + */ + strncpy(p->name, name, sizeof(p->name)); + p->clustentries = clustentries; + p->_clustsize = clustsize; + n = (objtotal + clustentries - 1) / clustentries; + p->_numclusters = n; + p->objtotal = n * clustentries; + p->objfree = p->objtotal - 2; /* obj 0 and 1 are reserved */ + p->_objsize = objsize; + p->_memtotal = p->_numclusters * p->_clustsize; + + p->lut = malloc(sizeof(struct lut_entry) * p->objtotal, + M_NETMAP, M_WAITOK | M_ZERO); + if (p->lut == NULL) { + D("Unable to create lookup table for '%s' allocator", name); + goto clean; + } + + /* Allocate the bitmap */ + n = (p->objtotal + 31) / 32; + p->bitmap = malloc(sizeof(uint32_t) * n, M_NETMAP, M_WAITOK | M_ZERO); + if (p->bitmap == NULL) { + D("Unable to create bitmap (%d entries) for allocator '%s'", n, + name); + goto clean; + } + + /* + * Allocate clusters, init pointers and bitmap + */ + for (i = 0; i < p->objtotal;) { + int lim = i + clustentries; + char *clust; + + clust = contigmalloc(clustsize, M_NETMAP, M_WAITOK | M_ZERO, + 0, -1UL, PAGE_SIZE, 0); + if (clust == NULL) { + /* + * If we get here, there is a severe memory shortage, + * so halve the allocated memory to reclaim some. + */ + D("Unable to create cluster at %d for '%s' allocator", + i, name); + lim = i / 2; + for (; i >= lim; i--) { + p->bitmap[ (i>>5) ] &= ~( 1 << (i & 31) ); + if (i % clustentries == 0 && p->lut[i].vaddr) + contigfree(p->lut[i].vaddr, + p->_clustsize, M_NETMAP); + } + p->objtotal = i; + p->objfree = p->objtotal - 2; + p->_numclusters = i / clustentries; + p->_memtotal = p->_numclusters * p->_clustsize; + break; + } + for (; i < lim; i++, clust += objsize) { + p->bitmap[ (i>>5) ] |= ( 1 << (i & 31) ); + p->lut[i].vaddr = clust; + p->lut[i].paddr = vtophys(clust); + } + } + p->bitmap[0] = ~3; /* objs 0 and 1 is always busy */ + D("Pre-allocated %d clusters (%d/%dKB) for '%s'", + p->_numclusters, p->_clustsize >> 10, + p->_memtotal >> 10, name); + + return p; + +clean: + netmap_destroy_obj_allocator(p); + return NULL; +} + +static int +netmap_memory_init(void) +{ + struct netmap_obj_pool *p; + + nm_mem = malloc(sizeof(struct netmap_mem_d), M_NETMAP, + M_WAITOK | M_ZERO); + if (nm_mem == NULL) + goto clean; + + p = netmap_new_obj_allocator("netmap_if", + NETMAP_IF_MAX_NUM, NETMAP_IF_MAX_SIZE); + if (p == NULL) + goto clean; + nm_mem->nm_if_pool = p; + + p = netmap_new_obj_allocator("netmap_ring", + NETMAP_RING_MAX_NUM, NETMAP_RING_MAX_SIZE); + if (p == NULL) + goto clean; + nm_mem->nm_ring_pool = p; + + p = netmap_new_obj_allocator("netmap_buf", + NETMAP_BUF_MAX_NUM, NETMAP_BUF_SIZE); + if (p == NULL) + goto clean; + netmap_total_buffers = p->objtotal; + netmap_buffer_lut = p->lut; + nm_mem->nm_buf_pool = p; + netmap_buffer_base = p->lut[0].vaddr; + + mtx_init(&nm_mem->nm_mtx, "netmap memory allocator lock", NULL, + MTX_DEF); + nm_mem->nm_totalsize = + nm_mem->nm_if_pool->_memtotal + + nm_mem->nm_ring_pool->_memtotal + + nm_mem->nm_buf_pool->_memtotal; + + D("Have %d KB for interfaces, %d KB for rings and %d MB for buffers", + nm_mem->nm_if_pool->_memtotal >> 10, + nm_mem->nm_ring_pool->_memtotal >> 10, + nm_mem->nm_buf_pool->_memtotal >> 20); + return 0; + +clean: + if (nm_mem) { + netmap_destroy_obj_allocator(nm_mem->nm_ring_pool); + netmap_destroy_obj_allocator(nm_mem->nm_if_pool); + free(nm_mem, M_NETMAP); + } + return ENOMEM; +} + + +static void +netmap_memory_fini(void) +{ + if (!nm_mem) + return; + netmap_destroy_obj_allocator(nm_mem->nm_if_pool); + netmap_destroy_obj_allocator(nm_mem->nm_ring_pool); + netmap_destroy_obj_allocator(nm_mem->nm_buf_pool); + mtx_destroy(&nm_mem->nm_mtx); + free(nm_mem, M_NETMAP); +} + + + +static void * +netmap_if_new(const char *ifname, struct netmap_adapter *na) +{ + struct netmap_if *nifp; + struct netmap_ring *ring; + ssize_t base; /* handy for relative offsets between rings and nifp */ + u_int i, len, ndesc; + u_int ntx = na->num_tx_rings + 1; /* shorthand, include stack ring */ + u_int nrx = na->num_rx_rings + 1; /* shorthand, include stack ring */ + struct netmap_kring *kring; + + NMA_LOCK(); + /* + * the descriptor is followed inline by an array of offsets + * to the tx and rx rings in the shared memory region. + */ + len = sizeof(struct netmap_if) + (nrx + ntx) * sizeof(ssize_t); + nifp = netmap_if_malloc(len); + if (nifp == NULL) { + NMA_UNLOCK(); + return NULL; + } + + /* initialize base fields -- override const */ + *(int *)(uintptr_t)&nifp->ni_tx_rings = na->num_tx_rings; + *(int *)(uintptr_t)&nifp->ni_rx_rings = na->num_rx_rings; + strncpy(nifp->ni_name, ifname, IFNAMSIZ); + + (na->refcount)++; /* XXX atomic ? we are under lock */ + if (na->refcount > 1) { /* already setup, we are done */ + NMA_UNLOCK(); + goto final; + } + + /* + * First instance, allocate netmap rings and buffers for this card + * The rings are contiguous, but have variable size. + */ + for (i = 0; i < ntx; i++) { /* Transmit rings */ + kring = &na->tx_rings[i]; + ndesc = na->num_tx_desc; + bzero(kring, sizeof(*kring)); + len = sizeof(struct netmap_ring) + + ndesc * sizeof(struct netmap_slot); + ring = netmap_ring_malloc(len); + if (ring == NULL) { + D("Cannot allocate tx_ring[%d] for %s", i, ifname); + goto cleanup; + } + ND("txring[%d] at %p ofs %d", i, ring); + kring->na = na; + kring->ring = ring; + *(int *)(uintptr_t)&ring->num_slots = kring->nkr_num_slots = ndesc; + *(ssize_t *)(uintptr_t)&ring->buf_ofs = + (nm_mem->nm_if_pool->_memtotal + + nm_mem->nm_ring_pool->_memtotal) - + netmap_ring_offset(ring); + + /* + * IMPORTANT: + * Always keep one slot empty, so we can detect new + * transmissions comparing cur and nr_hwcur (they are + * the same only if there are no new transmissions). + */ + ring->avail = kring->nr_hwavail = ndesc - 1; + ring->cur = kring->nr_hwcur = 0; + *(int *)(uintptr_t)&ring->nr_buf_size = NETMAP_BUF_SIZE; + ND("initializing slots for txring[%d]", i); + netmap_new_bufs(nifp, ring->slot, ndesc); + } + + for (i = 0; i < nrx; i++) { /* Receive rings */ + kring = &na->rx_rings[i]; + ndesc = na->num_rx_desc; + bzero(kring, sizeof(*kring)); + len = sizeof(struct netmap_ring) + + ndesc * sizeof(struct netmap_slot); + ring = netmap_ring_malloc(len); + if (ring == NULL) { + D("Cannot allocate rx_ring[%d] for %s", i, ifname); + goto cleanup; + } + ND("rxring[%d] at %p ofs %d", i, ring); + + kring->na = na; + kring->ring = ring; + *(int *)(uintptr_t)&ring->num_slots = kring->nkr_num_slots = ndesc; + *(ssize_t *)(uintptr_t)&ring->buf_ofs = + (nm_mem->nm_if_pool->_memtotal + + nm_mem->nm_ring_pool->_memtotal) - + netmap_ring_offset(ring); + + ring->cur = kring->nr_hwcur = 0; + ring->avail = kring->nr_hwavail = 0; /* empty */ + *(int *)(uintptr_t)&ring->nr_buf_size = NETMAP_BUF_SIZE; + ND("initializing slots for rxring[%d]", i); + netmap_new_bufs(nifp, ring->slot, ndesc); + } + NMA_UNLOCK(); +#ifdef linux + // XXX initialize the selrecord structs. + for (i = 0; i < ntx; i++) + init_waitqueue_head(&na->rx_rings[i].si); + for (i = 0; i < nrx; i++) + init_waitqueue_head(&na->tx_rings[i].si); + init_waitqueue_head(&na->rx_si); + init_waitqueue_head(&na->tx_si); +#endif +final: + /* + * fill the slots for the rx and tx rings. They contain the offset + * between the ring and nifp, so the information is usable in + * userspace to reach the ring from the nifp. + */ + base = netmap_if_offset(nifp); + for (i = 0; i < ntx; i++) { + *(ssize_t *)(uintptr_t)&nifp->ring_ofs[i] = + netmap_ring_offset(na->tx_rings[i].ring) - base; + } + for (i = 0; i < nrx; i++) { + *(ssize_t *)(uintptr_t)&nifp->ring_ofs[i+ntx] = + netmap_ring_offset(na->rx_rings[i].ring) - base; + } + return (nifp); +cleanup: + // XXX missing + NMA_UNLOCK(); + return NULL; +} + +static void +netmap_free_rings(struct netmap_adapter *na) +{ + int i; + for (i = 0; i < na->num_tx_rings + 1; i++) + netmap_obj_free_va(nm_mem->nm_ring_pool, + na->tx_rings[i].ring); + for (i = 0; i < na->num_rx_rings + 1; i++) + netmap_obj_free_va(nm_mem->nm_ring_pool, + na->rx_rings[i].ring); +} From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 16:42:55 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B2CC21065670; Fri, 13 Apr 2012 16:42:55 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 81F478FC16; Fri, 13 Apr 2012 16:42:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DGgtPk088692; Fri, 13 Apr 2012 16:42:55 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DGgtnC088689; Fri, 13 Apr 2012 16:42:55 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204131642.q3DGgtnC088689@svn.freebsd.org> From: Luigi Rizzo Date: Fri, 13 Apr 2012 16:42:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234229 - in head/sys/dev: ixgbe netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 16:42:55 -0000 Author: luigi Date: Fri Apr 13 16:42:54 2012 New Revision: 234229 URL: http://svn.freebsd.org/changeset/base/234229 Log: Properly disable crc stripping when operating in netmap mode. Contrarily to what i wrote in my previous commit, the 82599 does include the CRC in the length. The operating mode is reset in ixgbe_init_locked() and so we need to hook into the places where the two registers (HLREG0 and RDRXCTL) are modified. Modified: head/sys/dev/ixgbe/ixgbe.c head/sys/dev/netmap/ixgbe_netmap.h Modified: head/sys/dev/ixgbe/ixgbe.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe.c Fri Apr 13 16:32:33 2012 (r234228) +++ head/sys/dev/ixgbe/ixgbe.c Fri Apr 13 16:42:54 2012 (r234229) @@ -3812,6 +3812,9 @@ ixgbe_setup_hw_rsc(struct rx_ring *rxr) rdrxctl = IXGBE_READ_REG(hw, IXGBE_RDRXCTL); rdrxctl &= ~IXGBE_RDRXCTL_RSCFRSTSIZE; +#ifdef DEV_NETMAP /* crcstrip is optional in netmap */ + if (adapter->ifp->if_capenable & IFCAP_NETMAP && !ix_crcstrip) +#endif /* DEV_NETMAP */ rdrxctl |= IXGBE_RDRXCTL_CRCSTRIP; rdrxctl |= IXGBE_RDRXCTL_RSCACKC; IXGBE_WRITE_REG(hw, IXGBE_RDRXCTL, rdrxctl); @@ -4104,6 +4107,13 @@ ixgbe_initialize_receive_units(struct ad hlreg |= IXGBE_HLREG0_JUMBOEN; else hlreg &= ~IXGBE_HLREG0_JUMBOEN; +#ifdef DEV_NETMAP + /* crcstrip is conditional in netmap (in RDRXCTL too ?) */ + if (ifp->if_capenable & IFCAP_NETMAP && !ix_crcstrip) + hlreg &= ~IXGBE_HLREG0_RXCRCSTRP; + else + hlreg |= IXGBE_HLREG0_RXCRCSTRP; +#endif /* DEV_NETMAP */ IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hlreg); bufsz = (adapter->rx_mbuf_sz + Modified: head/sys/dev/netmap/ixgbe_netmap.h ============================================================================== --- head/sys/dev/netmap/ixgbe_netmap.h Fri Apr 13 16:32:33 2012 (r234228) +++ head/sys/dev/netmap/ixgbe_netmap.h Fri Apr 13 16:42:54 2012 (r234229) @@ -112,13 +112,12 @@ static void set_crcstrip(struct ixgbe_hw *hw, int onoff) { /* crc stripping is set in two places: - * IXGBE_HLREG0 (left alone by the original driver) + * IXGBE_HLREG0 (modified on init_locked and hw reset) * IXGBE_RDRXCTL (set by the original driver in * ixgbe_setup_hw_rsc() called in init_locked. * We disable the setting when netmap is compiled in). - * When netmap is compiled in we disabling IXGBE_RDRXCTL - * modifications of the IXGBE_RDRXCTL_CRCSTRIP bit, and - * instead update the state here. + * We update the values here, but also in ixgbe.c because + * init_locked sometimes is called outside our control. */ uint32_t hl, rxc; From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 16:53:01 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 45495106566B; Fri, 13 Apr 2012 16:53:01 +0000 (UTC) (envelope-from monthadar@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 307138FC0C; Fri, 13 Apr 2012 16:53:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DGr1fI089078; Fri, 13 Apr 2012 16:53:01 GMT (envelope-from monthadar@svn.freebsd.org) Received: (from monthadar@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DGr0jm089076; Fri, 13 Apr 2012 16:53:01 GMT (envelope-from monthadar@svn.freebsd.org) Message-Id: <201204131653.q3DGr0jm089076@svn.freebsd.org> From: Monthadar Al Jaberi Date: Fri, 13 Apr 2012 16:53:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234230 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 16:53:01 -0000 Author: monthadar Date: Fri Apr 13 16:53:00 2012 New Revision: 234230 URL: http://svn.freebsd.org/changeset/base/234230 Log: Add myself as a new committer and add adrian as my mentor. Approved by: adrian (mentor) Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Fri Apr 13 16:42:54 2012 (r234229) +++ head/share/misc/committers-src.dot Fri Apr 13 16:53:00 2012 (r234230) @@ -195,6 +195,7 @@ mdodd [label="Matthew N. Dodd\nmdodd@Fre melifaro [label="Alexander V. Chernikov\nmelifaro@FreeBSD.org\n2011/10/04"] mjacob [label="Matt Jacob\nmjacob@FreeBSD.org\n1997/08/13"] mlaier [label="Max Laier\nmlaier@FreeBSD.org\n2004/02/10"] +monthadar [label="Monthadar Al Jaberi\nmonthadar@FreeBSD.org\n2012/04/02"] mr [label="Michael Reifenberger\nmr@FreeBSD.org\n2001/09/30"] mux [label="Maxime Henrion\nmux@FreeBSD.org\n2002/03/03"] neel [label="Neel Natu\nneel@FreeBSD.org\n2009/09/20"] @@ -280,6 +281,7 @@ day1 -> rgrimes day1 -> alm day1 -> dg +adrian -> monthadar adrian -> ray adrian -> rmh From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 18:00:00 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A677C1065672; Fri, 13 Apr 2012 18:00:00 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pz0-f44.google.com (mail-pz0-f44.google.com [209.85.210.44]) by mx1.freebsd.org (Postfix) with ESMTP id 662958FC08; Fri, 13 Apr 2012 18:00:00 +0000 (UTC) Received: by dadz14 with SMTP id z14so13767026dad.17 for ; Fri, 13 Apr 2012 11:00:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=s//qjdlhlgeoVQ+/Ye3IwB0ETRDh34F7yhYtzThmI+g=; b=BwTvackWx1tdwhR201ZOtJBp5qq9J6hcaNzZyBfiSFz6rrSN0AwhJMlE2EmIxgNCUA mLXa9RflaYAmmiT6mkvqC5RXRerJUYvzEf1fvVMJLAr5djlKZVS/e3PUD0oDW5BU1rxT 1vqTrerrGJxiLGrbXROw44t3//AmVrVj5NISQvG0vbuN06SOawlg+k27n5xJ4IYnLLgs 5TmIo6m3sc6cDTwwp1au/N85VlzvCZgAU/Zu8Pnb191PJDfjcXiO2ORHLZWKZvL06LKv yeQejZuO71EWRTE7g1NEOoYI/VYXgeyb2uggWpjs4lz0/DKstqw0wmGVbnEyhmnncwXo MCNA== MIME-Version: 1.0 Received: by 10.68.204.228 with SMTP id lb4mr6520965pbc.37.1334339999969; Fri, 13 Apr 2012 10:59:59 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.142.101.9 with HTTP; Fri, 13 Apr 2012 10:59:59 -0700 (PDT) In-Reply-To: <201204131632.q3DGWXqj088240@svn.freebsd.org> References: <201204131632.q3DGWXqj088240@svn.freebsd.org> Date: Fri, 13 Apr 2012 10:59:59 -0700 X-Google-Sender-Auth: r8J-kOnJ2rGKArKqEoQLHxtECpY Message-ID: From: Adrian Chadd To: Luigi Rizzo Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234228 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 18:00:00 -0000 On 13 April 2012 09:32, Luigi Rizzo wrote: > Author: luigi > Date: Fri Apr 13 16:32:33 2012 > New Revision: 234228 > URL: http://svn.freebsd.org/changeset/base/234228 > > Log: > =A0add the new memory allocator for netmap, which allocates memory > =A0in small clusters instead of one big contiguous chunk. > =A0This was already enabled in the previous commit. Hi, is there any scope to make this more generic? I can imagine other parts of the system wanting to use this kind of ring buffer to userland. adrian From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 18:00:49 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8DDEA106564A; Fri, 13 Apr 2012 18:00:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 794EA8FC17; Fri, 13 Apr 2012 18:00:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DI0nQW091304; Fri, 13 Apr 2012 18:00:49 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DI0nOH091301; Fri, 13 Apr 2012 18:00:49 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204131800.q3DI0nOH091301@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 18:00:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234231 - in head/sys: conf dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 18:00:49 -0000 Author: adrian Date: Fri Apr 13 18:00:48 2012 New Revision: 234231 URL: http://svn.freebsd.org/changeset/base/234231 Log: Upgrade ATH_EEPROM_FIRMWARE to a configuration option. Modified: head/sys/conf/options head/sys/dev/ath/if_ath_pci.c Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Fri Apr 13 16:53:00 2012 (r234230) +++ head/sys/conf/options Fri Apr 13 18:00:48 2012 (r234231) @@ -780,6 +780,7 @@ ATH_DIAGAPI opt_ath.h ATH_TX99_DIAG opt_ath.h ATH_ENABLE_11N opt_ath.h ATH_ENABLE_DFS opt_ath.h +ATH_EEPROM_FIRMWARE opt_ath.h # options for the Atheros hal AH_SUPPORT_AR5416 opt_ah.h Modified: head/sys/dev/ath/if_ath_pci.c ============================================================================== --- head/sys/dev/ath/if_ath_pci.c Fri Apr 13 16:53:00 2012 (r234230) +++ head/sys/dev/ath/if_ath_pci.c Fri Apr 13 18:00:48 2012 (r234231) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. */ +#include "opt_ath.h" #include #include @@ -60,8 +61,6 @@ __FBSDID("$FreeBSD$"); #include #include -/* #define ATH_EEPROM_FIRMWARE */ - /* For EEPROM firmware */ #ifdef ATH_EEPROM_FIRMWARE #include From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 18:01:53 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E3D3F1065670; Fri, 13 Apr 2012 18:01:53 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CFA078FC1D; Fri, 13 Apr 2012 18:01: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 q3DI1rfN091375; Fri, 13 Apr 2012 18:01:53 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DI1rEV091372; Fri, 13 Apr 2012 18:01:53 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204131801.q3DI1rEV091372@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 18:01:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234232 - head/sys/mips/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 18:01:54 -0000 Author: adrian Date: Fri Apr 13 18:01:53 2012 New Revision: 234232 URL: http://svn.freebsd.org/changeset/base/234232 Log: * Enable ATH_EEPROM_FIRMWARE, now that it's a compile time option * Tidy up things a bit. Modified: head/sys/mips/conf/AP94 head/sys/mips/conf/AP96 Modified: head/sys/mips/conf/AP94 ============================================================================== --- head/sys/mips/conf/AP94 Fri Apr 13 18:00:48 2012 (r234231) +++ head/sys/mips/conf/AP94 Fri Apr 13 18:01:53 2012 (r234232) @@ -30,5 +30,6 @@ options AR71XX_ENV_UBOOT # options MD_ROOT # options MD_ROOT_SIZE="6144" -options AR71XX_ATH_EEPROM -device firmware +options AR71XX_ATH_EEPROM # Fetch EEPROM/PCI config from flash +options ATH_EEPROM_FIRMWARE # Use EEPROM from flash +device firmware # Used by the above Modified: head/sys/mips/conf/AP96 ============================================================================== --- head/sys/mips/conf/AP96 Fri Apr 13 18:00:48 2012 (r234231) +++ head/sys/mips/conf/AP96 Fri Apr 13 18:01:53 2012 (r234232) @@ -30,5 +30,6 @@ options AR71XX_ENV_UBOOT # options MD_ROOT # options MD_ROOT_SIZE="6144" -options AR71XX_ATH_EEPROM -device firmware +options AR71XX_ATH_EEPROM # Fetch EEPROM/PCI config from flash +options ATH_EEPROM_FIRMWARE # Use EEPROM from flash +device firmware # Used by the above From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 18:12:22 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 599161065670; Fri, 13 Apr 2012 18:12:22 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.59.238]) by mx1.freebsd.org (Postfix) with ESMTP id 16ABD8FC0A; Fri, 13 Apr 2012 18:12:22 +0000 (UTC) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id 156DC7300B; Fri, 13 Apr 2012 20:31:38 +0200 (CEST) Date: Fri, 13 Apr 2012 20:31:38 +0200 From: Luigi Rizzo To: Adrian Chadd Message-ID: <20120413183138.GA88823@onelab2.iet.unipi.it> References: <201204131632.q3DGWXqj088240@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Cc: svn-src-head@freebsd.org, Luigi Rizzo , src-committers@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r234228 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 18:12:22 -0000 On Fri, Apr 13, 2012 at 10:59:59AM -0700, Adrian Chadd wrote: > On 13 April 2012 09:32, Luigi Rizzo wrote: > > Author: luigi > > Date: Fri Apr 13 16:32:33 2012 > > New Revision: 234228 > > URL: http://svn.freebsd.org/changeset/base/234228 > > > > Log: > > ?add the new memory allocator for netmap, which allocates memory > > ?in small clusters instead of one big contiguous chunk. > > ?This was already enabled in the previous commit. > > Hi, > > is there any scope to make this more generic? I can imagine other > parts of the system wanting to use this kind of ring buffer to > userland. well, it is already exported to userland through mmap. Perhaps you want to (a) have the buffers allocated on demand, and yes, this could also be done, either per-interface or globally. For instance the NIOCREGIF ioctl could specify how many buffers you want, and allocate them before you malloc. I still need to make up my mind on what is a good model for sharing buffers among different interfaces. cheers luigi From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 18:21:57 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 17500106566B; Fri, 13 Apr 2012 18:21:57 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F25AD8FC14; Fri, 13 Apr 2012 18:21:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DILueL092019; Fri, 13 Apr 2012 18:21:56 GMT (envelope-from jpaetzel@svn.freebsd.org) Received: (from jpaetzel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DILu0Q092008; Fri, 13 Apr 2012 18:21:56 GMT (envelope-from jpaetzel@svn.freebsd.org) Message-Id: <201204131821.q3DILu0Q092008@svn.freebsd.org> From: Josh Paetzel Date: Fri, 13 Apr 2012 18:21:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234233 - in head: sbin/iscontrol share/man/man4 sys/dev/iscsi/initiator sys/modules/iscsi/initiator X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 18:21:57 -0000 Author: jpaetzel Date: Fri Apr 13 18:21:56 2012 New Revision: 234233 URL: http://svn.freebsd.org/changeset/base/234233 Log: Update to version 2.3.1.0 Obtained from: Daniel Braniss Modified: head/sbin/iscontrol/Makefile head/sbin/iscontrol/iscontrol.8 head/sbin/iscontrol/iscontrol.c head/sbin/iscontrol/iscsi.conf.5 head/share/man/man4/iscsi_initiator.4 head/sys/dev/iscsi/initiator/isc_subr.c head/sys/dev/iscsi/initiator/iscsi.c head/sys/dev/iscsi/initiator/iscsi_subr.c head/sys/dev/iscsi/initiator/iscsivar.h head/sys/modules/iscsi/initiator/Makefile Modified: head/sbin/iscontrol/Makefile ============================================================================== --- head/sbin/iscontrol/Makefile Fri Apr 13 18:01:53 2012 (r234232) +++ head/sbin/iscontrol/Makefile Fri Apr 13 18:21:56 2012 (r234233) @@ -8,7 +8,7 @@ S= ${.CURDIR}/../../sys WARNS?= 3 CFLAGS += -I$S -#CFLAGS += -g -DDEBUG +CFLAGS += -g -DDEBUG MAN= iscsi.conf.5 iscontrol.8 Modified: head/sbin/iscontrol/iscontrol.8 ============================================================================== --- head/sbin/iscontrol/iscontrol.8 Fri Apr 13 18:01:53 2012 (r234232) +++ head/sbin/iscontrol/iscontrol.8 Fri Apr 13 18:21:56 2012 (r234233) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 22, 2007 +.Dd August 9, 2010 .Dt ISCONTROL 8 .Os .Sh NAME Modified: head/sbin/iscontrol/iscontrol.c ============================================================================== --- head/sbin/iscontrol/iscontrol.c Fri Apr 13 18:01:53 2012 (r234232) +++ head/sbin/iscontrol/iscontrol.c Fri Apr 13 18:21:56 2012 (r234233) @@ -56,6 +56,8 @@ __FBSDID("$FreeBSD$"); #include #include "iscontrol.h" +static char version[] = "2.3.1"; // keep in sync with iscsi_initiator + #define USAGE "[-v] [-d] [-c config] [-n name] [-t target] [-p pidfile]" #define OPTIONS "vdc:t:n:p:" @@ -124,9 +126,10 @@ int main(int cc, char **vv) { int ch, disco; - char *pname, *pidfile, *p, *q, *ta, *kw; + char *pname, *pidfile, *p, *q, *ta, *kw, *v; isc_opt_t *op; FILE *fd; + size_t n; op = &opvals; iscsidev = "/dev/"ISCSIDEV; @@ -138,6 +141,21 @@ main(int cc, char **vv) kw = ta = 0; disco = 0; pidfile = NULL; + /* + | check for driver & controller version match + */ + n = 0; + if(sysctlbyname("net.iscsi_initiator.driver_version", 0, &n, 0, 0) != 0) + perror("sysctlbyname"); + v = malloc(n+1); + if(sysctlbyname("net.iscsi_initiator.driver_version", v, &n, 0, 0) != 0) + perror("sysctlbyname"); + + if(strncmp(version, v, 3)) { + fprintf(stderr, "versions missmatch\n"); + exit(1); + } + while((ch = getopt(cc, vv, OPTIONS)) != -1) { switch(ch) { Modified: head/sbin/iscontrol/iscsi.conf.5 ============================================================================== --- head/sbin/iscontrol/iscsi.conf.5 Fri Apr 13 18:01:53 2012 (r234232) +++ head/sbin/iscontrol/iscsi.conf.5 Fri Apr 13 18:21:56 2012 (r234233) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 25, 2012 +.Dd June 5, 2007 .Dt ISCSI.CONF 5 .Os .Sh NAME Modified: head/share/man/man4/iscsi_initiator.4 ============================================================================== --- head/share/man/man4/iscsi_initiator.4 Fri Apr 13 18:01:53 2012 (r234232) +++ head/share/man/man4/iscsi_initiator.4 Fri Apr 13 18:21:56 2012 (r234233) @@ -1,4 +1,4 @@ -.\" Copyright (c) 2007 Daniel Braniss +.\" Copyright (c) 2007-2010 Daniel Braniss .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -24,9 +24,9 @@ .\" .\" $FreeBSD$ .\" -.Dd May 9, 2010 -.Dt ISCSI_INITIATOR 4 +.Dd August 3, 2010 .Os +.Dt ISCSI_INITIATOR 4 .Sh NAME .Nm iscsi_initiator .Nd kernel driver for the iSCSI protocol @@ -48,38 +48,36 @@ iscsi_initiator_load="YES" The .Nm implements the kernel side of the Internet SCSI (iSCSI) network -protocol standard. -The userland companion is +protocol standard, the user land companion is .Xr iscontrol 8 , and permits access to remote .Em virtual SCSI devices via .Xr cam 4 . .Sh SYSCTL VARIABLES -.Bl -tag -width "net.iscsi.n.targedaddress" +.Bl -tag -width ".Va net.iscsi.n.targeaddress" .It Va debug.iscsi_initiator set the debug-level, 0 means no debugging, 9 for maximum. .It Va net.iscsi.isid the initiator part of the Session Identifier. -.El -.Pp -The following are informative only: -.Bl -tag -width "net.iscsi.n.targedaddress" +.It Va "kern.cam.cam_srch_hi=1" +allow search above LUN 7 for SCSI3 and greater devices. +.It "the following are informative only:" .It Va net.iscsi.driver_version the current version of the driver. .It Va net.iscsi.sessions the number of current active sessions. .It Va net.iscsi.n.targetname -the target name of session +is the targe name of session .Em n . -.It Va net.iscsi.n.targedaddress -the IP address of the target of session +.It Va net.iscsi.n.targeaddress +is the IP address of the target of session .Em n . .It Va net.iscsi.n.stats -statistics for session -.Em n +are some statistics for session +.EM n .It Va net.iscsi.n.pid -the +is the .Em "process id" of the userland side of session .Em n , @@ -87,11 +85,11 @@ see .Xr iscontrol 8 . .El .Sh FILES -The +The .Nm driver creates the following: -.Pp .Bl -tag -width ".Pa /dev/iscsi%dxx" -compact +.Pp .It Pa /dev/iscsi used to create new sessions. .It Pa /dev/iscsi%d @@ -105,5 +103,6 @@ for each new session. iSCSI RFC 3720 .\" .Sh HISTORY .\" .Sh AUTHORS +This software was written by Daniel Braniss .Sh BUGS The lun discovery method is old-fashioned. Modified: head/sys/dev/iscsi/initiator/isc_subr.c ============================================================================== --- head/sys/dev/iscsi/initiator/isc_subr.c Fri Apr 13 18:01:53 2012 (r234232) +++ head/sys/dev/iscsi/initiator/isc_subr.c Fri Apr 13 18:21:56 2012 (r234233) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2005-2010 Daniel Braniss + * Copyright (c) 2005-2011 Daniel Braniss * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -77,6 +77,104 @@ i_strdupin(char *s, size_t maxlen) return q; } +#if __FreeBSD_version < 800000 +/*****************************************************************/ +/* */ +/* CRC LOOKUP TABLE */ +/* ================ */ +/* The following CRC lookup table was generated automagically */ +/* by the Rocksoft^tm Model CRC Algorithm Table Generation */ +/* Program V1.0 using the following model parameters: */ +/* */ +/* Width : 4 bytes. */ +/* Poly : 0x1EDC6F41L */ +/* Reverse : TRUE. */ +/* */ +/* For more information on the Rocksoft^tm Model CRC Algorithm, */ +/* see the document titled "A Painless Guide to CRC Error */ +/* Detection Algorithms" by Ross Williams */ +/* (ross@guest.adelaide.edu.au.). This document is likely to be */ +/* in the FTP archive "ftp.adelaide.edu.au/pub/rocksoft". */ +/* */ +/*****************************************************************/ + +static uint32_t crc32Table[256] = { + 0x00000000L, 0xF26B8303L, 0xE13B70F7L, 0x1350F3F4L, + 0xC79A971FL, 0x35F1141CL, 0x26A1E7E8L, 0xD4CA64EBL, + 0x8AD958CFL, 0x78B2DBCCL, 0x6BE22838L, 0x9989AB3BL, + 0x4D43CFD0L, 0xBF284CD3L, 0xAC78BF27L, 0x5E133C24L, + 0x105EC76FL, 0xE235446CL, 0xF165B798L, 0x030E349BL, + 0xD7C45070L, 0x25AFD373L, 0x36FF2087L, 0xC494A384L, + 0x9A879FA0L, 0x68EC1CA3L, 0x7BBCEF57L, 0x89D76C54L, + 0x5D1D08BFL, 0xAF768BBCL, 0xBC267848L, 0x4E4DFB4BL, + 0x20BD8EDEL, 0xD2D60DDDL, 0xC186FE29L, 0x33ED7D2AL, + 0xE72719C1L, 0x154C9AC2L, 0x061C6936L, 0xF477EA35L, + 0xAA64D611L, 0x580F5512L, 0x4B5FA6E6L, 0xB93425E5L, + 0x6DFE410EL, 0x9F95C20DL, 0x8CC531F9L, 0x7EAEB2FAL, + 0x30E349B1L, 0xC288CAB2L, 0xD1D83946L, 0x23B3BA45L, + 0xF779DEAEL, 0x05125DADL, 0x1642AE59L, 0xE4292D5AL, + 0xBA3A117EL, 0x4851927DL, 0x5B016189L, 0xA96AE28AL, + 0x7DA08661L, 0x8FCB0562L, 0x9C9BF696L, 0x6EF07595L, + 0x417B1DBCL, 0xB3109EBFL, 0xA0406D4BL, 0x522BEE48L, + 0x86E18AA3L, 0x748A09A0L, 0x67DAFA54L, 0x95B17957L, + 0xCBA24573L, 0x39C9C670L, 0x2A993584L, 0xD8F2B687L, + 0x0C38D26CL, 0xFE53516FL, 0xED03A29BL, 0x1F682198L, + 0x5125DAD3L, 0xA34E59D0L, 0xB01EAA24L, 0x42752927L, + 0x96BF4DCCL, 0x64D4CECFL, 0x77843D3BL, 0x85EFBE38L, + 0xDBFC821CL, 0x2997011FL, 0x3AC7F2EBL, 0xC8AC71E8L, + 0x1C661503L, 0xEE0D9600L, 0xFD5D65F4L, 0x0F36E6F7L, + 0x61C69362L, 0x93AD1061L, 0x80FDE395L, 0x72966096L, + 0xA65C047DL, 0x5437877EL, 0x4767748AL, 0xB50CF789L, + 0xEB1FCBADL, 0x197448AEL, 0x0A24BB5AL, 0xF84F3859L, + 0x2C855CB2L, 0xDEEEDFB1L, 0xCDBE2C45L, 0x3FD5AF46L, + 0x7198540DL, 0x83F3D70EL, 0x90A324FAL, 0x62C8A7F9L, + 0xB602C312L, 0x44694011L, 0x5739B3E5L, 0xA55230E6L, + 0xFB410CC2L, 0x092A8FC1L, 0x1A7A7C35L, 0xE811FF36L, + 0x3CDB9BDDL, 0xCEB018DEL, 0xDDE0EB2AL, 0x2F8B6829L, + 0x82F63B78L, 0x709DB87BL, 0x63CD4B8FL, 0x91A6C88CL, + 0x456CAC67L, 0xB7072F64L, 0xA457DC90L, 0x563C5F93L, + 0x082F63B7L, 0xFA44E0B4L, 0xE9141340L, 0x1B7F9043L, + 0xCFB5F4A8L, 0x3DDE77ABL, 0x2E8E845FL, 0xDCE5075CL, + 0x92A8FC17L, 0x60C37F14L, 0x73938CE0L, 0x81F80FE3L, + 0x55326B08L, 0xA759E80BL, 0xB4091BFFL, 0x466298FCL, + 0x1871A4D8L, 0xEA1A27DBL, 0xF94AD42FL, 0x0B21572CL, + 0xDFEB33C7L, 0x2D80B0C4L, 0x3ED04330L, 0xCCBBC033L, + 0xA24BB5A6L, 0x502036A5L, 0x4370C551L, 0xB11B4652L, + 0x65D122B9L, 0x97BAA1BAL, 0x84EA524EL, 0x7681D14DL, + 0x2892ED69L, 0xDAF96E6AL, 0xC9A99D9EL, 0x3BC21E9DL, + 0xEF087A76L, 0x1D63F975L, 0x0E330A81L, 0xFC588982L, + 0xB21572C9L, 0x407EF1CAL, 0x532E023EL, 0xA145813DL, + 0x758FE5D6L, 0x87E466D5L, 0x94B49521L, 0x66DF1622L, + 0x38CC2A06L, 0xCAA7A905L, 0xD9F75AF1L, 0x2B9CD9F2L, + 0xFF56BD19L, 0x0D3D3E1AL, 0x1E6DCDEEL, 0xEC064EEDL, + 0xC38D26C4L, 0x31E6A5C7L, 0x22B65633L, 0xD0DDD530L, + 0x0417B1DBL, 0xF67C32D8L, 0xE52CC12CL, 0x1747422FL, + 0x49547E0BL, 0xBB3FFD08L, 0xA86F0EFCL, 0x5A048DFFL, + 0x8ECEE914L, 0x7CA56A17L, 0x6FF599E3L, 0x9D9E1AE0L, + 0xD3D3E1ABL, 0x21B862A8L, 0x32E8915CL, 0xC083125FL, + 0x144976B4L, 0xE622F5B7L, 0xF5720643L, 0x07198540L, + 0x590AB964L, 0xAB613A67L, 0xB831C993L, 0x4A5A4A90L, + 0x9E902E7BL, 0x6CFBAD78L, 0x7FAB5E8CL, 0x8DC0DD8FL, + 0xE330A81AL, 0x115B2B19L, 0x020BD8EDL, 0xF0605BEEL, + 0x24AA3F05L, 0xD6C1BC06L, 0xC5914FF2L, 0x37FACCF1L, + 0x69E9F0D5L, 0x9B8273D6L, 0x88D28022L, 0x7AB90321L, + 0xAE7367CAL, 0x5C18E4C9L, 0x4F48173DL, 0xBD23943EL, + 0xF36E6F75L, 0x0105EC76L, 0x12551F82L, 0xE03E9C81L, + 0x34F4F86AL, 0xC69F7B69L, 0xD5CF889DL, 0x27A40B9EL, + 0x79B737BAL, 0x8BDCB4B9L, 0x988C474DL, 0x6AE7C44EL, + 0xBE2DA0A5L, 0x4C4623A6L, 0x5F16D052L, 0xAD7D5351L +}; + +static __inline int +calculate_crc32c(uint32_t crc, const void *buf, size_t size) +{ + const uint8_t *p = buf; + + while (size--) + crc = crc32Table[(crc ^ *p++) & 0xff] ^ (crc >> 8); + return crc; +} +#endif static uint32_t i_crc32c(const void *buf, size_t size, uint32_t crc) Modified: head/sys/dev/iscsi/initiator/iscsi.c ============================================================================== --- head/sys/dev/iscsi/initiator/iscsi.c Fri Apr 13 18:01:53 2012 (r234232) +++ head/sys/dev/iscsi/initiator/iscsi.c Fri Apr 13 18:21:56 2012 (r234233) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2005-2010 Daniel Braniss + * Copyright (c) 2005-2011 Daniel Braniss * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -60,7 +60,7 @@ __FBSDID("$FreeBSD$"); #include #include -static char *iscsi_driver_version = "2.2.4.2"; +static char *iscsi_driver_version = "2.3.1"; static struct isc_softc *isc; @@ -231,8 +231,8 @@ iscsi_ioctl(struct cdev *dev, u_long cmd if(error == 0) { sp->proc = td->td_proc; SYSCTL_ADD_INT(&sp->clist, SYSCTL_CHILDREN(sp->oid), - OID_AUTO, "pid", CTLFLAG_RD, - &sp->proc->p_pid, sizeof(pid_t), "control process id"); + OID_AUTO, "pid", CTLFLAG_RD, + &sp->proc->p_pid, sizeof(pid_t), "control process id"); } break; @@ -290,8 +290,7 @@ iscsi_read(struct cdev *dev, struct uio sprintf(buf, "%03d] '%s' '%s'\n", i++, sp->opt.targetAddress, sp->opt.targetName); uiomove(buf, strlen(buf), uio); } - sprintf(buf, "%d/%d /---- free -----/\n", sc->npdu_alloc, sc->npdu_max); - i = 0; + sprintf(buf, "free npdu_alloc=%d, npdu_max=%d\n", sc->npdu_alloc, sc->npdu_max); uiomove(buf, strlen(buf), uio); } else { @@ -696,7 +695,6 @@ iscsi_shutdown(void *v) static void free_pdus(struct isc_softc *sc) { - debug_called(8); if(sc->pdu_zone != NULL) { @@ -777,6 +775,10 @@ iscsi_start(void) sizeof(isc->nsess), "number of active session"); +#ifdef ISCSI_INITIATOR_DEBUG + mtx_init(&iscsi_dbg_mtx, "iscsi_dbg", NULL, MTX_DEF); +#endif + printf("iscsi: version %s\n", iscsi_driver_version); } @@ -814,6 +816,11 @@ iscsi_stop(void) xdebug("sysctl_ctx_free failed"); iscsi_shutdown(isc); // XXX: check EVENTHANDLER_ ... + +#ifdef ISCSI_INITIATOR_DEBUG + mtx_destroy(&iscsi_dbg_mtx); +#endif + free(isc, M_ISCSI); } Modified: head/sys/dev/iscsi/initiator/iscsi_subr.c ============================================================================== --- head/sys/dev/iscsi/initiator/iscsi_subr.c Fri Apr 13 18:01:53 2012 (r234232) +++ head/sys/dev/iscsi/initiator/iscsi_subr.c Fri Apr 13 18:21:56 2012 (r234233) @@ -154,7 +154,7 @@ getSenseData(u_int status, union ccb *cc scsi_rsp_t *cmd = &pp->ipdu.scsi_rsp; caddr_t bp; int sense_len, mustfree = 0; - int error_code, sense_key, asc, ascq; + int error_code, sense_key, asc, ascq; bp = mtod(pq->mp, caddr_t); if((sense_len = scsi_2btoul(bp)) == 0) @@ -176,9 +176,8 @@ getSenseData(u_int status, union ccb *cc scsi->sense_resid = 0; if(cmd->flag & (BIT(1)|BIT(2))) scsi->sense_resid = ntohl(pp->ipdu.scsi_rsp.rcnt); - scsi_extract_sense_len(sense, scsi->sense_len - scsi->sense_resid, - &error_code, &sense_key, &asc, &ascq, /*show_errors*/ 1); + &error_code, &sense_key, &asc, &ascq, /*show_errors*/ 1); debug(3, "sense_len=%d rcnt=%d sense_resid=%d dsl=%d error_code=%x flags=%x", sense_len, @@ -479,6 +478,8 @@ scsi_encap(struct cam_sim *sim, union cc cmd = &pq->pdu.ipdu.scsi_req; cmd->opcode = ISCSI_SCSI_CMD; cmd->F = 1; +#if 0 +// this breaks at least Isilon's iscsi target. /* | map tag option, default is UNTAGGED */ @@ -488,6 +489,9 @@ scsi_encap(struct cam_sim *sim, union cc case MSG_ORDERED_Q_TAG: cmd->attr = iSCSI_TASK_ORDER; break; case MSG_ACA_TASK: cmd->attr = iSCSI_TASK_ACA; break; } +#else + cmd->attr = iSCSI_TASK_SIMPLE; +#endif dwl(sp, ccb_h->target_lun, (u_char *)&cmd->lun); Modified: head/sys/dev/iscsi/initiator/iscsivar.h ============================================================================== --- head/sys/dev/iscsi/initiator/iscsivar.h Fri Apr 13 18:01:53 2012 (r234232) +++ head/sys/dev/iscsi/initiator/iscsivar.h Fri Apr 13 18:21:56 2012 (r234233) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2005-2010 Daniel Braniss + * Copyright (c) 2005-2011 Daniel Braniss * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -203,6 +203,8 @@ struct isc_softc { struct sx unit_sx; uma_zone_t pdu_zone; // pool of free pdu's + TAILQ_HEAD(,pduq) freepdu; + #ifdef ISCSI_INITIATOR_DEBUG int npdu_alloc, npdu_max; // for instrumentation #endif @@ -305,9 +307,11 @@ pdu_alloc(struct isc_softc *isc, int wai return NULL; } #ifdef ISCSI_INITIATOR_DEBUG + mtx_lock(&iscsi_dbg_mtx); isc->npdu_alloc++; if(isc->npdu_alloc > isc->npdu_max) isc->npdu_max = isc->npdu_alloc; + mtx_unlock(&iscsi_dbg_mtx); #endif memset(pq, 0, sizeof(pduq_t)); @@ -323,10 +327,12 @@ pdu_free(struct isc_softc *isc, pduq_t * if(pq->buf != NULL) free(pq->buf, M_ISCSIBUF); #endif + uma_zfree(isc->pdu_zone, pq); #ifdef ISCSI_INITIATOR_DEBUG + mtx_lock(&iscsi_dbg_mtx); isc->npdu_alloc--; + mtx_unlock(&iscsi_dbg_mtx); #endif - uma_zfree(isc->pdu_zone, pq); } static __inline void Modified: head/sys/modules/iscsi/initiator/Makefile ============================================================================== --- head/sys/modules/iscsi/initiator/Makefile Fri Apr 13 18:01:53 2012 (r234232) +++ head/sys/modules/iscsi/initiator/Makefile Fri Apr 13 18:21:56 2012 (r234233) @@ -1,14 +1,16 @@ # $FreeBSD$ -.PATH: ${.CURDIR}/../../../dev/iscsi/initiator +S= ${.CURDIR}/../../.. +.PATH: $S/dev/iscsi/initiator + KMOD=iscsi_initiator SRCS= iscsi.h iscsivar.h SRCS+= iscsi.c isc_cam.c isc_soc.c isc_sm.c isc_subr.c iscsi_subr.c SRCS+= opt_cam.h opt_iscsi_initiator.h SRCS+= bus_if.h device_if.h - -# Debugging -# CFLAGS+= -DISCSI_INITIATOR_DEBUG=9 - +#CFLAGS+= -DNO_USE_MBUF +CFLAGS+= -DISCSI_INITIATOR_DEBUG=2 +CFLAGS+= -I$S +CFLAGS+= -DINVARIANTS .include From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 19:07:00 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E412D106566C; Fri, 13 Apr 2012 19:07:00 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 43DA98FC0C; Fri, 13 Apr 2012 19:06:59 +0000 (UTC) Received: from skuns.kiev.zoral.com.ua (localhost [127.0.0.1]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id q3DJ6oQP057236; Fri, 13 Apr 2012 22:06:50 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5) with ESMTP id q3DJ6nHx080943; Fri, 13 Apr 2012 22:06:49 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5/Submit) id q3DJ6nnk080942; Fri, 13 Apr 2012 22:06:49 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 13 Apr 2012 22:06:49 +0300 From: Konstantin Belousov To: Josh Paetzel Message-ID: <20120413190649.GJ2358@deviant.kiev.zoral.com.ua> References: <201204131821.q3DILu0Q092008@svn.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="3qWxh0fJO+pQarUf" Content-Disposition: inline In-Reply-To: <201204131821.q3DILu0Q092008@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-4.0 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234233 - in head: sbin/iscontrol share/man/man4 sys/dev/iscsi/initiator sys/modules/iscsi/initiator X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 19:07:01 -0000 --3qWxh0fJO+pQarUf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Apr 13, 2012 at 06:21:56PM +0000, Josh Paetzel wrote: > Author: jpaetzel > Date: Fri Apr 13 18:21:56 2012 > New Revision: 234233 > URL: http://svn.freebsd.org/changeset/base/234233 >=20 > Log: > Update to version 2.3.1.0 > =20 > Obtained from: Daniel Braniss >=20 > Modified: > head/sbin/iscontrol/Makefile > head/sbin/iscontrol/iscontrol.8 > head/sbin/iscontrol/iscontrol.c > head/sbin/iscontrol/iscsi.conf.5 > head/share/man/man4/iscsi_initiator.4 > head/sys/dev/iscsi/initiator/isc_subr.c > head/sys/dev/iscsi/initiator/iscsi.c > head/sys/dev/iscsi/initiator/iscsi_subr.c > head/sys/dev/iscsi/initiator/iscsivar.h > head/sys/modules/iscsi/initiator/Makefile >=20 > Modified: head/sbin/iscontrol/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sbin/iscontrol/Makefile Fri Apr 13 18:01:53 2012 (r234232) > +++ head/sbin/iscontrol/Makefile Fri Apr 13 18:21:56 2012 (r234233) > @@ -8,7 +8,7 @@ S=3D ${.CURDIR}/../../sys > =20 > WARNS?=3D 3 > CFLAGS +=3D -I$S > -#CFLAGS +=3D -g -DDEBUG > +CFLAGS +=3D -g -DDEBUG > =20 Was this part intended ? > - > -# Debugging > -# CFLAGS+=3D -DISCSI_INITIATOR_DEBUG=3D9 > - > +#CFLAGS+=3D -DNO_USE_MBUF > +CFLAGS+=3D -DISCSI_INITIATOR_DEBUG=3D2 And this ? > +CFLAGS+=3D -I$S > +CFLAGS+=3D -DINVARIANTS > .include --3qWxh0fJO+pQarUf Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAk+IeUkACgkQC3+MBN1Mb4gmjgCg2T15BrYdRzyvdx9J7wmd26pG 77gAnAvfL8ehKuveaIILMMh0OPi3pRfn =AmWr -----END PGP SIGNATURE----- --3qWxh0fJO+pQarUf-- From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 20:22:08 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF0A2106564A; Fri, 13 Apr 2012 20:22:08 +0000 (UTC) (envelope-from gnn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CA8798FC0C; Fri, 13 Apr 2012 20:22: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 q3DKM866095752; Fri, 13 Apr 2012 20:22:08 GMT (envelope-from gnn@svn.freebsd.org) Received: (from gnn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DKM834095750; Fri, 13 Apr 2012 20:22:08 GMT (envelope-from gnn@svn.freebsd.org) Message-Id: <201204132022.q3DKM834095750@svn.freebsd.org> From: "George V. Neville-Neil" Date: Fri, 13 Apr 2012 20:22:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234234 - head/cddl/contrib/opensolaris/lib/libdtrace/common X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 20:22:09 -0000 Author: gnn Date: Fri Apr 13 20:22:08 2012 New Revision: 234234 URL: http://svn.freebsd.org/changeset/base/234234 Log: Change SIGUSR1 to SIGTHR to properly wake up a process that is being traced. The use of SIGUSR1 caused traced processes (those attached to with dtrace -p) to exit when dtrace exited. MFC in: 1 week Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c ============================================================================== --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c Fri Apr 13 18:21:56 2012 (r234233) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c Fri Apr 13 20:22:08 2012 (r234234) @@ -811,7 +811,7 @@ dt_proc_destroy(dtrace_hdl_t *dtp, struc #if defined(sun) (void) _lwp_kill(dpr->dpr_tid, SIGCANCEL); #else - pthread_kill(dpr->dpr_tid, SIGUSR1); + pthread_kill(dpr->dpr_tid, SIGTHR); #endif /* From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 20:23:33 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AA76C106566B; Fri, 13 Apr 2012 20:23:33 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8BAF58FC08; Fri, 13 Apr 2012 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 q3DKNX5C095826; Fri, 13 Apr 2012 20:23:33 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DKNXuD095823; Fri, 13 Apr 2012 20:23:33 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204132023.q3DKNXuD095823@svn.freebsd.org> From: Adrian Chadd Date: Fri, 13 Apr 2012 20:23:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234235 - head/sys/mips/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 20:23:33 -0000 Author: adrian Date: Fri Apr 13 20:23:32 2012 New Revision: 234235 URL: http://svn.freebsd.org/changeset/base/234235 Log: Flesh out the rest of the AP96 board/config. Modified: head/sys/mips/conf/AP96 head/sys/mips/conf/AP96.hints Modified: head/sys/mips/conf/AP96 ============================================================================== --- head/sys/mips/conf/AP96 Fri Apr 13 20:22:08 2012 (r234234) +++ head/sys/mips/conf/AP96 Fri Apr 13 20:23:32 2012 (r234235) @@ -17,19 +17,26 @@ include "AR71XX_BASE" ident "AP96" hints "AP96.hints" -# GEOM modules -device geom_redboot # to get access to the SPI flash partitions -device geom_uzip # compressed in-memory filesystem hackery! -options GEOM_UZIP - -options ROOTDEVNAME=\"ufs:md0.uzip\" options AR71XX_REALMEM=64*1024*1024 options AR71XX_ENV_UBOOT -# options MD_ROOT -# options MD_ROOT_SIZE="6144" +# For DOS - enable if required +options GEOM_PART_BSD +options GEOM_PART_MBR +options MSDOSFS + +# uncompress - to boot read-only lzma natively from flash +device geom_uzip +options GEOM_UZIP + +# Used for the static uboot partition map +device geom_map + +# Boot off of the rootfs, as defined in the geom_map setup. +options ROOTDEVNAME=\"ufs:map/rootfs.uzip\" +# Options needed for the EEPROM based calibration/PCI configuration data. options AR71XX_ATH_EEPROM # Fetch EEPROM/PCI config from flash options ATH_EEPROM_FIRMWARE # Use EEPROM from flash device firmware # Used by the above Modified: head/sys/mips/conf/AP96.hints ============================================================================== --- head/sys/mips/conf/AP96.hints Fri Apr 13 20:22:08 2012 (r234234) +++ head/sys/mips/conf/AP96.hints Fri Apr 13 20:23:32 2012 (r234235) @@ -26,3 +26,52 @@ hint.pcib.0.bus.0.18.0.ath_fixup_size=40 hint.ath.0.eeprom_firmware="pcib.0.bus.0.17.0.eeprom_firmware" hint.ath.1.eeprom_firmware="pcib.0.bus.0.18.0.eeprom_firmware" +# The default flash layout: +# uboot: 192k +# env: 64k +# rootfs: 6144k +# uimage (kernel): 1728k +# caldata: 64k +# +# bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init +# mtdparts=ar7100-nor0:192k(uboot),64k(env),6144k(rootfs),1728k(uImage),64k(caldata) mem=64M + +# +# We steal 64k from the end of rootfs to store the local config. + +hint.map.0.at="flash/spi0" +hint.map.0.start=0x00000000 +hint.map.0.end=0x000030000 +hint.map.0.name="uboot" +hint.map.0.readonly=1 + +hint.map.1.at="flash/spi0" +hint.map.1.start=0x00030000 +hint.map.1.end=0x00040000 +hint.map.1.name="uboot-env" +hint.map.1.readonly=1 + +hint.map.2.at="flash/spi0" +hint.map.2.start=0x00040000 +hint.map.2.end=0x00630000 +hint.map.2.name="rootfs" +hint.map.2.readonly=1 + +hint.map.3.at="flash/spi0" +hint.map.3.start=0x00630000 +hint.map.3.end=0x00640000 +hint.map.3.name="cfg" +hint.map.3.readonly=0 + +hint.map.4.at="flash/spi0" +hint.map.4.start=0x00640000 +hint.map.4.end=0x007f0000 +hint.map.4.name="kernel" +hint.map.4.readonly=1 + +hint.map.5.at="flash/spi0" +hint.map.5.start=0x007f0000 +hint.map.5.end=0x00800000 +hint.map.5.name="art" +hint.map.5.readonly=1 + From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 20:58:02 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0923510656F0; Fri, 13 Apr 2012 20:58:02 +0000 (UTC) (envelope-from jasone@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E94E58FC08; Fri, 13 Apr 2012 20:58:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DKw1r0096969; Fri, 13 Apr 2012 20:58:01 GMT (envelope-from jasone@svn.freebsd.org) Received: (from jasone@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DKw1Fw096967; Fri, 13 Apr 2012 20:58:01 GMT (envelope-from jasone@svn.freebsd.org) Message-Id: <201204132058.q3DKw1Fw096967@svn.freebsd.org> From: Jason Evans Date: Fri, 13 Apr 2012 20:58:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234236 - head/share/misc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 20:58:02 -0000 Author: jasone Date: Fri Apr 13 20:58:01 2012 New Revision: 234236 URL: http://svn.freebsd.org/changeset/base/234236 Log: Added myself to committers-src.dot. Modified: head/share/misc/committers-src.dot Modified: head/share/misc/committers-src.dot ============================================================================== --- head/share/misc/committers-src.dot Fri Apr 13 20:23:32 2012 (r234235) +++ head/share/misc/committers-src.dot Fri Apr 13 20:58:01 2012 (r234236) @@ -156,6 +156,7 @@ iedowse [label="Ian Dowse\niedowse@FreeB imp [label="Warner Losh\nimp@FreeBSD.org\n1996/09/20"] ivoras [label="Ivan Voras\nivoras@FreeBSD.org\n2008/06/10"] jamie [label="Jamie Gritton\njamie@FreeBSD.org\n2009/01/28"] +jasone [label="Jason Evans\njasone@FreeBSD.org\n1999/03/03"] jceel [label="Jakub Klama\njceel@FreeBSD.org\n2011/09/25"] jchandra [label="Jayachandran C.\njchandra@FreeBSD.org\n2010/05/19"] jeff [label="Jeff Roberson\njeff@FreeBSD.org\n2002/02/21"] @@ -478,6 +479,7 @@ marcel -> arun marcel -> marius marcel -> nwhitehorn +markm -> jasone markm -> sheldonh mav -> ae @@ -494,6 +496,7 @@ mlaier -> thompsa mlaier -> eri msmith -> cokane +msmith -> jasone msmith -> scottl murray -> delphij From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 21:35:25 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 78F99106566B; Fri, 13 Apr 2012 21:35:25 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 621828FC08; Fri, 13 Apr 2012 21:35: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 q3DLZPWi098230; Fri, 13 Apr 2012 21:35:25 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DLZPRY098228; Fri, 13 Apr 2012 21:35:25 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204132135.q3DLZPRY098228@svn.freebsd.org> From: Dimitry Andric Date: Fri, 13 Apr 2012 21:35:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234237 - stable/9/share/mk X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 21:35:25 -0000 Author: dim Date: Fri Apr 13 21:35:24 2012 New Revision: 234237 URL: http://svn.freebsd.org/changeset/base/234237 Log: MFC r233052: Change the style of share/mk/bsd.sys.mk to that of the other bsd.*.mk files, and style.Makefile(5), where applicable. While here, update the link to the gcc warning documentation. No functional change. Modified: stable/9/share/mk/bsd.sys.mk (contents, props changed) Directory Properties: stable/9/share/mk/ (props changed) Modified: stable/9/share/mk/bsd.sys.mk ============================================================================== --- stable/9/share/mk/bsd.sys.mk Fri Apr 13 20:58:01 2012 (r234236) +++ stable/9/share/mk/bsd.sys.mk Fri Apr 13 21:35:24 2012 (r234237) @@ -6,112 +6,113 @@ # Enable various levels of compiler warning checks. These may be # overridden (e.g. if using a non-gcc compiler) by defining NO_WARNS. -# for GCC: http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_3.html#IDX143 +# for GCC: http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Warning-Options.html # the default is gnu99 for now -CSTD ?= gnu99 +CSTD?= gnu99 .if ${CSTD} == "k&r" -CFLAGS += -traditional +CFLAGS+= -traditional .elif ${CSTD} == "c89" || ${CSTD} == "c90" -CFLAGS += -std=iso9899:1990 +CFLAGS+= -std=iso9899:1990 .elif ${CSTD} == "c94" || ${CSTD} == "c95" -CFLAGS += -std=iso9899:199409 +CFLAGS+= -std=iso9899:199409 .elif ${CSTD} == "c99" -CFLAGS += -std=iso9899:1999 -.else -CFLAGS += -std=${CSTD} -.endif +CFLAGS+= -std=iso9899:1999 +.else # CSTD +CFLAGS+= -std=${CSTD} +.endif # CSTD .if !defined(NO_WARNS) # -pedantic is problematic because it also imposes namespace restrictions -#CFLAGS += -pedantic -. if defined(WARNS) -. if ${WARNS} >= 1 -CWARNFLAGS += -Wsystem-headers -. if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang)) -CWARNFLAGS += -Werror -. endif -. endif -. if ${WARNS} >= 2 -CWARNFLAGS += -Wall -Wno-format-y2k -. endif -. if ${WARNS} >= 3 -CWARNFLAGS += -W -Wno-unused-parameter -Wstrict-prototypes\ - -Wmissing-prototypes -Wpointer-arith -. endif -. if ${WARNS} >= 4 -CWARNFLAGS += -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch\ - -Wshadow -Wunused-parameter -. if !defined(NO_WCAST_ALIGN) && ((${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang") || !defined(NO_WCAST_ALIGN.clang)) -CWARNFLAGS += -Wcast-align -. endif -. endif +#CFLAGS+= -pedantic +.if defined(WARNS) +.if ${WARNS} >= 1 +CWARNFLAGS+= -Wsystem-headers +.if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && \ + ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang)) +CWARNFLAGS+= -Werror +.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang) +.endif # WARNS >= 1 +.if ${WARNS} >= 2 +CWARNFLAGS+= -Wall -Wno-format-y2k +.endif # WARNS >= 2 +.if ${WARNS} >= 3 +CWARNFLAGS+= -W -Wno-unused-parameter -Wstrict-prototypes\ + -Wmissing-prototypes -Wpointer-arith +.endif # WARNS >= 3 +.if ${WARNS} >= 4 +CWARNFLAGS+= -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow\ + -Wunused-parameter +.if !defined(NO_WCAST_ALIGN) && ((${MK_CLANG_IS_CC} == "no" && \ + ${CC:T:Mclang} != "clang") || !defined(NO_WCAST_ALIGN.clang)) +CWARNFLAGS+= -Wcast-align +.endif # !NO_WCAST_ALIGN && (!CLANG || !NO_WCAST_ALIGN.clang) +.endif # WARNS >= 4 # BDECFLAGS -. if ${WARNS} >= 6 -CWARNFLAGS += -Wchar-subscripts -Winline -Wnested-externs\ - -Wredundant-decls -Wold-style-definition -. endif -. if ${WARNS} >= 2 && ${WARNS} <= 4 +.if ${WARNS} >= 6 +CWARNFLAGS+= -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls\ + -Wold-style-definition +.endif # WARNS >= 6 +.if ${WARNS} >= 2 && ${WARNS} <= 4 # XXX Delete -Wuninitialized by default for now -- the compiler doesn't # XXX always get it right. -CWARNFLAGS += -Wno-uninitialized -. endif -CWARNFLAGS += -Wno-pointer-sign +CWARNFLAGS+= -Wno-uninitialized +.endif # WARNS >=2 && WARNS <= 4 +CWARNFLAGS+= -Wno-pointer-sign # Clang has more warnings enabled by default, and when using -Wall, so if WARNS # is set to low values, these have to be disabled explicitly. -. if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang" -. if ${WARNS} <= 3 -CWARNFLAGS += -Wno-tautological-compare -Wno-unused-value\ - -Wno-parentheses-equality -Wno-unused-function\ - -Wno-conversion -. endif -. if ${WARNS} <= 2 -CWARNFLAGS += -Wno-switch-enum -Wno-empty-body -. endif -. if ${WARNS} <= 1 -CWARNFLAGS += -Wno-parentheses -. endif -. if defined(NO_WARRAY_BOUNDS) -CWARNFLAGS += -Wno-array-bounds -. endif -. endif -. endif - -. if defined(FORMAT_AUDIT) -WFORMAT = 1 -. endif -. if defined(WFORMAT) -. if ${WFORMAT} > 0 -#CWARNFLAGS += -Wformat-nonliteral -Wformat-security -Wno-format-extra-args -CWARNFLAGS += -Wformat=2 -Wno-format-extra-args -. if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang)) -CWARNFLAGS += -Werror -. endif -. endif -. endif -. if defined(NO_WFORMAT) || ((${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang") && defined(NO_WFORMAT.clang)) -CWARNFLAGS += -Wno-format -. endif -.endif +.if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang" +.if ${WARNS} <= 3 +CWARNFLAGS+= -Wno-tautological-compare -Wno-unused-value\ + -Wno-parentheses-equality -Wno-unused-function -Wno-conversion +.endif # WARNS <= 3 +.if ${WARNS} <= 2 +CWARNFLAGS+= -Wno-switch-enum -Wno-empty-body +.endif # WARNS <= 2 +.if ${WARNS} <= 1 +CWARNFLAGS+= -Wno-parentheses +.endif # WARNS <= 1 +.if defined(NO_WARRAY_BOUNDS) +CWARNFLAGS+= -Wno-array-bounds +.endif # NO_WARRAY_BOUNDS +.endif # CLANG +.endif # WARNS + +.if defined(FORMAT_AUDIT) +WFORMAT= 1 +.endif # FORMAT_AUDIT +.if defined(WFORMAT) +.if ${WFORMAT} > 0 +#CWARNFLAGS+= -Wformat-nonliteral -Wformat-security -Wno-format-extra-args +CWARNFLAGS+= -Wformat=2 -Wno-format-extra-args +.if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && \ + ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang)) +CWARNFLAGS+= -Werror +.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang) +.endif # WFORMAT > 0 +.endif # WFORMAT +.if defined(NO_WFORMAT) || ((${MK_CLANG_IS_CC} != "no" || \ + ${CC:T:Mclang} == "clang") && defined(NO_WFORMAT.clang)) +CWARNFLAGS+= -Wno-format +.endif # NO_WFORMAT || (CLANG && NO_WFORMAT.clang) +.endif # !NO_WARNS .if defined(IGNORE_PRAGMA) -CWARNFLAGS += -Wno-unknown-pragmas -.endif +CWARNFLAGS+= -Wno-unknown-pragmas +.endif # IGNORE_PRAGMA .if ${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang" -CLANG_NO_IAS = -no-integrated-as -CLANG_OPT_SMALL = -mllvm -stack-alignment=8 \ - -mllvm -inline-threshold=3 \ - -mllvm -enable-load-pre=false \ - -mllvm -simplifycfg-dup-ret -.endif +CLANG_NO_IAS= -no-integrated-as +CLANG_OPT_SMALL= -mllvm -stack-alignment=8 -mllvm -inline-threshold=3\ + -mllvm -enable-load-pre=false -mllvm -simplifycfg-dup-ret +.endif # CLANG .if ${MK_SSP} != "no" && ${MACHINE_CPUARCH} != "ia64" && \ ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" # Don't use -Wstack-protector as it breaks world with -Werror. -SSP_CFLAGS ?= -fstack-protector -CFLAGS += ${SSP_CFLAGS} -.endif +SSP_CFLAGS?= -fstack-protector +CFLAGS+= ${SSP_CFLAGS} +.endif # SSP && !IA64 && !ARM && !MIPS # Allow user-specified additional warning flags -CFLAGS += ${CWARNFLAGS} +CFLAGS+= ${CWARNFLAGS} From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 21:47:15 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 56EDB106566C; Fri, 13 Apr 2012 21:47:15 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 281138FC1D; Fri, 13 Apr 2012 21:47: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 q3DLlFNa098641; Fri, 13 Apr 2012 21:47:15 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DLlElW098637; Fri, 13 Apr 2012 21:47:14 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204132147.q3DLlElW098637@svn.freebsd.org> From: Dimitry Andric Date: Fri, 13 Apr 2012 21:47:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234238 - in stable/9/sys: conf modules/mps X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 21:47:15 -0000 Author: dim Date: Fri Apr 13 21:47:14 2012 New Revision: 234238 URL: http://svn.freebsd.org/changeset/base/234238 Log: MFC r233354: Work around the following clang warning in mps(4): sys/dev/mps/mps_sas.c:861:1: error: function 'mpssas_discovery_timeout' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] mpssas_discovery_timeout(void *data) ^ Because the driver is obtained from upstream, we don't want to modify it; just silence the warning instead, it is harmless. Modified: stable/9/sys/conf/files stable/9/sys/conf/kern.mk stable/9/sys/modules/mps/Makefile Directory Properties: stable/9/sys/ (props changed) stable/9/sys/conf/ (props changed) Modified: stable/9/sys/conf/files ============================================================================== --- stable/9/sys/conf/files Fri Apr 13 21:35:24 2012 (r234237) +++ stable/9/sys/conf/files Fri Apr 13 21:47:14 2012 (r234238) @@ -1464,7 +1464,8 @@ dev/mps/mps.c optional mps dev/mps/mps_config.c optional mps dev/mps/mps_mapping.c optional mps dev/mps/mps_pci.c optional mps pci -dev/mps/mps_sas.c optional mps +dev/mps/mps_sas.c optional mps \ + compile-with "${NORMAL_C} ${NO_WUNNEEDED_INTERNAL_DECL}" dev/mps/mps_sas_lsi.c optional mps dev/mps/mps_table.c optional mps dev/mps/mps_user.c optional mps Modified: stable/9/sys/conf/kern.mk ============================================================================== --- stable/9/sys/conf/kern.mk Fri Apr 13 21:35:24 2012 (r234237) +++ stable/9/sys/conf/kern.mk Fri Apr 13 21:47:14 2012 (r234238) @@ -23,6 +23,7 @@ NO_WSHIFT_COUNT_OVERFLOW= -Wno-shift-cou NO_WUNUSED_VALUE= -Wno-unused-value NO_WSELF_ASSIGN= -Wno-self-assign NO_WFORMAT_SECURITY= -Wno-format-security +NO_WUNNEEDED_INTERNAL_DECL= -Wno-unneeded-internal-declaration # Several other warnings which might be useful in some cases, but not severe # enough to error out the whole kernel build. Display them anyway, so there is # some incentive to fix them eventually. Modified: stable/9/sys/modules/mps/Makefile ============================================================================== --- stable/9/sys/modules/mps/Makefile Fri Apr 13 21:35:24 2012 (r234237) +++ stable/9/sys/modules/mps/Makefile Fri Apr 13 21:47:14 2012 (r234238) @@ -12,3 +12,6 @@ SRCS+= device_if.h bus_if.h pci_if.h DEBUG_FLAGS += -g .include + +CWARNFLAGS.mps_sas.c= ${NO_WUNNEEDED_INTERNAL_DECL} +CWARNFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 21:50:15 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 20932106566B; Fri, 13 Apr 2012 21:50:15 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0CFB18FC1A; Fri, 13 Apr 2012 21:50: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 q3DLoE7g098786; Fri, 13 Apr 2012 21:50:14 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DLoEGm098784; Fri, 13 Apr 2012 21:50:14 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204132150.q3DLoEGm098784@svn.freebsd.org> From: Dimitry Andric Date: Fri, 13 Apr 2012 21:50:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234239 - stable/9/sys/dev/isci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 21:50:15 -0000 Author: dim Date: Fri Apr 13 21:50:14 2012 New Revision: 234239 URL: http://svn.freebsd.org/changeset/base/234239 Log: MFC r233710: Fix the following compilation warning with clang trunk in isci(4): sys/dev/isci/isci_task_request.c:198:7: error: case value not in enumerated type 'SCI_TASK_STATUS' (aka 'enum _SCI_TASK_STATUS') [-Werror,-Wswitch] case SCI_FAILURE_TIMEOUT: ^ This is because the switch is done on a SCI_TASK_STATUS enum type, but the SCI_FAILURE_TIMEOUT value belongs to SCI_STATUS instead. Because the list of SCI_TASK_STATUS values cannot be modified at this time, use the simplest way to get rid of this warning, which is to cast the switch argument to int. No functional change. Reviewed by: jimharris Modified: stable/9/sys/dev/isci/isci_task_request.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/dev/isci/isci_task_request.c ============================================================================== --- stable/9/sys/dev/isci/isci_task_request.c Fri Apr 13 21:47:14 2012 (r234238) +++ stable/9/sys/dev/isci/isci_task_request.c Fri Apr 13 21:50:14 2012 (r234239) @@ -188,7 +188,7 @@ isci_task_request_complete(SCI_CONTROLLE isci_remote_device->is_resetting = FALSE; - switch (completion_status) { + switch ((int)completion_status) { case SCI_TASK_SUCCESS: case SCI_TASK_FAILURE_RESPONSE_VALID: break; From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 22:04:27 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B728106566B; Fri, 13 Apr 2012 22:04:27 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1B0DF8FC14; Fri, 13 Apr 2012 22:04:27 +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 q3DM4QxN099336; Fri, 13 Apr 2012 22:04:26 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DM4Q16099334; Fri, 13 Apr 2012 22:04:26 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204132204.q3DM4Q16099334@svn.freebsd.org> From: Marius Strobl Date: Fri, 13 Apr 2012 22:04:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234240 - in stable/9/sys: dev/ale i386/conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 22:04:27 -0000 Author: marius Date: Fri Apr 13 22:04:26 2012 New Revision: 234240 URL: http://svn.freebsd.org/changeset/base/234240 Log: MFC: r233888 - Const'ify the device lookup-table. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers. - Enable support for flow control. Tested by: yongari Modified: stable/9/sys/dev/ale/if_ale.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/amd64/include/xen/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/boot/i386/efi/ (props changed) stable/9/sys/boot/ia64/efi/ (props changed) stable/9/sys/boot/ia64/ski/ (props changed) stable/9/sys/boot/powerpc/boot1.chrp/ (props changed) stable/9/sys/boot/powerpc/ofw/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) stable/9/sys/conf/ (props changed) stable/9/sys/contrib/dev/acpica/ (props changed) stable/9/sys/contrib/octeon-sdk/ (props changed) stable/9/sys/contrib/pf/ (props changed) stable/9/sys/contrib/x86emu/ (props changed) stable/9/sys/fs/ (props changed) stable/9/sys/fs/ntfs/ (props changed) stable/9/sys/i386/conf/XENHVM (props changed) stable/9/sys/kern/subr_witness.c (props changed) Modified: stable/9/sys/dev/ale/if_ale.c ============================================================================== --- stable/9/sys/dev/ale/if_ale.c Fri Apr 13 21:50:14 2012 (r234239) +++ stable/9/sys/dev/ale/if_ale.c Fri Apr 13 22:04:26 2012 (r234240) @@ -91,11 +91,11 @@ TUNABLE_INT("hw.ale.msix_disable", &msix /* * Devices supported by this driver. */ -static struct ale_dev { +static const struct ale_dev { uint16_t ale_vendorid; uint16_t ale_deviceid; const char *ale_name; -} ale_devs[] = { +} const ale_devs[] = { { VENDORID_ATHEROS, DEVICEID_ATHEROS_AR81XX, "Atheros AR8121/AR8113/AR8114 PCIe Ethernet" }, }; @@ -163,7 +163,7 @@ static device_method_t ale_methods[] = { DEVMETHOD(miibus_writereg, ale_miibus_writereg), DEVMETHOD(miibus_statchg, ale_miibus_statchg), - { NULL, NULL } + DEVMETHOD_END }; static driver_t ale_driver = { @@ -174,8 +174,8 @@ static driver_t ale_driver = { static devclass_t ale_devclass; -DRIVER_MODULE(ale, pci, ale_driver, ale_devclass, 0, 0); -DRIVER_MODULE(miibus, ale, miibus_driver, miibus_devclass, 0, 0); +DRIVER_MODULE(ale, pci, ale_driver, ale_devclass, NULL, NULL); +DRIVER_MODULE(miibus, ale, miibus_driver, miibus_devclass, NULL, NULL); static struct resource_spec ale_res_spec_mem[] = { { SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE }, @@ -335,7 +335,7 @@ ale_mediachange(struct ifnet *ifp) static int ale_probe(device_t dev) { - struct ale_dev *sp; + const struct ale_dev *sp; int i; uint16_t vendor, devid; @@ -635,7 +635,7 @@ ale_attach(device_t dev) /* Set up MII bus. */ error = mii_attach(dev, &sc->ale_miibus, ifp, ale_mediachange, ale_mediastatus, BMSR_DEFCAPMASK, sc->ale_phyaddr, MII_OFFSET_ANY, - 0); + MIIF_DOPAUSE); if (error != 0) { device_printf(dev, "attaching PHYs failed\n"); goto fail; @@ -2101,12 +2101,10 @@ ale_mac_config(struct ale_softc *sc) } if ((IFM_OPTIONS(mii->mii_media_active) & IFM_FDX) != 0) { reg |= MAC_CFG_FULL_DUPLEX; -#ifdef notyet if ((IFM_OPTIONS(mii->mii_media_active) & IFM_ETH_TXPAUSE) != 0) reg |= MAC_CFG_TX_FC; if ((IFM_OPTIONS(mii->mii_media_active) & IFM_ETH_RXPAUSE) != 0) reg |= MAC_CFG_RX_FC; -#endif } CSR_WRITE_4(sc, ALE_MAC_CFG, reg); } @@ -2798,7 +2796,7 @@ ale_init_locked(struct ale_softc *sc) ((rxf_lo << RX_FIFO_PAUSE_THRESH_LO_SHIFT) & RX_FIFO_PAUSE_THRESH_LO_MASK) | ((rxf_hi << RX_FIFO_PAUSE_THRESH_HI_SHIFT) & - RX_FIFO_PAUSE_THRESH_HI_MASK)); + RX_FIFO_PAUSE_THRESH_HI_MASK)); } /* Disable RSS. */ From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 22:04:29 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8DD8E106564A; Fri, 13 Apr 2012 22:04:29 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 701BD8FC08; Fri, 13 Apr 2012 22:04: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 q3DM4Ta1099367; Fri, 13 Apr 2012 22:04:29 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DM4T3w099365; Fri, 13 Apr 2012 22:04:29 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204132204.q3DM4T3w099365@svn.freebsd.org> From: Marius Strobl Date: Fri, 13 Apr 2012 22:04:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234241 - in stable/8/sys: dev/ale i386/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 22:04:29 -0000 Author: marius Date: Fri Apr 13 22:04:28 2012 New Revision: 234241 URL: http://svn.freebsd.org/changeset/base/234241 Log: MFC: r233888 - Const'ify the device lookup-table. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers. - Enable support for flow control. Tested by: yongari Modified: stable/8/sys/dev/ale/if_ale.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/boot/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/e1000/ (props changed) stable/8/sys/i386/conf/XENHVM (props changed) Modified: stable/8/sys/dev/ale/if_ale.c ============================================================================== --- stable/8/sys/dev/ale/if_ale.c Fri Apr 13 22:04:26 2012 (r234240) +++ stable/8/sys/dev/ale/if_ale.c Fri Apr 13 22:04:28 2012 (r234241) @@ -91,11 +91,11 @@ TUNABLE_INT("hw.ale.msix_disable", &msix /* * Devices supported by this driver. */ -static struct ale_dev { +static const struct ale_dev { uint16_t ale_vendorid; uint16_t ale_deviceid; const char *ale_name; -} ale_devs[] = { +} const ale_devs[] = { { VENDORID_ATHEROS, DEVICEID_ATHEROS_AR81XX, "Atheros AR8121/AR8113/AR8114 PCIe Ethernet" }, }; @@ -163,7 +163,7 @@ static device_method_t ale_methods[] = { DEVMETHOD(miibus_writereg, ale_miibus_writereg), DEVMETHOD(miibus_statchg, ale_miibus_statchg), - { NULL, NULL } + DEVMETHOD_END }; static driver_t ale_driver = { @@ -174,8 +174,8 @@ static driver_t ale_driver = { static devclass_t ale_devclass; -DRIVER_MODULE(ale, pci, ale_driver, ale_devclass, 0, 0); -DRIVER_MODULE(miibus, ale, miibus_driver, miibus_devclass, 0, 0); +DRIVER_MODULE(ale, pci, ale_driver, ale_devclass, NULL, NULL); +DRIVER_MODULE(miibus, ale, miibus_driver, miibus_devclass, NULL, NULL); static struct resource_spec ale_res_spec_mem[] = { { SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE }, @@ -335,7 +335,7 @@ ale_mediachange(struct ifnet *ifp) static int ale_probe(device_t dev) { - struct ale_dev *sp; + const struct ale_dev *sp; int i; uint16_t vendor, devid; @@ -635,7 +635,7 @@ ale_attach(device_t dev) /* Set up MII bus. */ error = mii_attach(dev, &sc->ale_miibus, ifp, ale_mediachange, ale_mediastatus, BMSR_DEFCAPMASK, sc->ale_phyaddr, MII_OFFSET_ANY, - 0); + MIIF_DOPAUSE); if (error != 0) { device_printf(dev, "attaching PHYs failed\n"); goto fail; @@ -2098,12 +2098,10 @@ ale_mac_config(struct ale_softc *sc) } if ((IFM_OPTIONS(mii->mii_media_active) & IFM_FDX) != 0) { reg |= MAC_CFG_FULL_DUPLEX; -#ifdef notyet if ((IFM_OPTIONS(mii->mii_media_active) & IFM_ETH_TXPAUSE) != 0) reg |= MAC_CFG_TX_FC; if ((IFM_OPTIONS(mii->mii_media_active) & IFM_ETH_RXPAUSE) != 0) reg |= MAC_CFG_RX_FC; -#endif } CSR_WRITE_4(sc, ALE_MAC_CFG, reg); } @@ -2795,7 +2793,7 @@ ale_init_locked(struct ale_softc *sc) ((rxf_lo << RX_FIFO_PAUSE_THRESH_LO_SHIFT) & RX_FIFO_PAUSE_THRESH_LO_MASK) | ((rxf_hi << RX_FIFO_PAUSE_THRESH_HI_SHIFT) & - RX_FIFO_PAUSE_THRESH_HI_MASK)); + RX_FIFO_PAUSE_THRESH_HI_MASK)); } /* Disable RSS. */ From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 22:24:57 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4CB4106567C; Fri, 13 Apr 2012 22:24:57 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D170D8FC14; Fri, 13 Apr 2012 22:24:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DMOvmE000173; Fri, 13 Apr 2012 22:24:57 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DMOvo4000171; Fri, 13 Apr 2012 22:24:57 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204132224.q3DMOvo4000171@svn.freebsd.org> From: Luigi Rizzo Date: Fri, 13 Apr 2012 22:24:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234242 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 22:24:58 -0000 Author: luigi Date: Fri Apr 13 22:24:57 2012 New Revision: 234242 URL: http://svn.freebsd.org/changeset/base/234242 Log: fix build with -Wformat -Wmissing-prototypes Modified: head/sys/dev/netmap/netmap_mem2.c Modified: head/sys/dev/netmap/netmap_mem2.c ============================================================================== --- head/sys/dev/netmap/netmap_mem2.c Fri Apr 13 22:04:28 2012 (r234241) +++ head/sys/dev/netmap/netmap_mem2.c Fri Apr 13 22:24:57 2012 (r234242) @@ -162,7 +162,7 @@ netmap_ofstophys(vm_offset_t offset) offset % p[i]->_objsize; } D("invalid ofs 0x%x out of 0x%x 0x%x 0x%x", o, - p[0]->_memtotal, p[0]->_memtotal + p[1]->_memtotal, + (u_int)p[0]->_memtotal, p[0]->_memtotal + p[1]->_memtotal, p[0]->_memtotal + p[1]->_memtotal + p[2]->_memtotal); return 0; // XXX bad address } @@ -173,7 +173,7 @@ netmap_ofstophys(vm_offset_t offset) * Algorithm: scan until we find the cluster, then add the * actual offset in the cluster */ -ssize_t +static ssize_t netmap_obj_offset(struct netmap_obj_pool *p, const void *vaddr) { int i, k = p->clustentries, n = p->objtotal; From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 22:34:02 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4572A106566B; Fri, 13 Apr 2012 22:34:02 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 315248FC14; Fri, 13 Apr 2012 22:34:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DMY2Cx000541; Fri, 13 Apr 2012 22:34:02 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DMY21g000539; Fri, 13 Apr 2012 22:34:02 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201204132234.q3DMY21g000539@svn.freebsd.org> From: Xin LI Date: Fri, 13 Apr 2012 22:34:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234244 - head/usr.sbin/lpr/lpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 22:34:02 -0000 Author: delphij Date: Fri Apr 13 22:34:01 2012 New Revision: 234244 URL: http://svn.freebsd.org/changeset/base/234244 Log: The scandir(3) function expects fourth parameter, compar, be in type of: int (*compar)(const struct dirent **, const struct dirent **) The current code defines sortq() to accept two void *, then cast them to const struct dirent **. Because the code does not really need this cast, we can eliminate the casts by changing the function prototype to match scandir(3) expectation. MFC after: 1 month Modified: head/usr.sbin/lpr/lpc/cmds.c Modified: head/usr.sbin/lpr/lpc/cmds.c ============================================================================== --- head/usr.sbin/lpr/lpc/cmds.c Fri Apr 13 22:31:49 2012 (r234243) +++ head/usr.sbin/lpr/lpc/cmds.c Fri Apr 13 22:34:01 2012 (r234244) @@ -79,7 +79,7 @@ static char *args2line(int argc, char ** static int doarg(char *_job); static int doselect(const struct dirent *_d); static int kill_qtask(const char *lf); -static int sortq(const void *_a, const void *_b); +static int sortq(const struct dirent **a, const struct dirent **b); static int touch(struct jobqueue *_jq); static void unlinkf(char *_name); static void upstat(struct printer *_pp, const char *_msg, int _notify); @@ -486,14 +486,14 @@ doselect(const struct dirent *d) * filenames (they will have datafile names which start with `dfB*'). */ static int -sortq(const void *a, const void *b) +sortq(const struct dirent **a, const struct dirent **b) { const int a_lt_b = -1, a_gt_b = 1, cat_other = 10; const char *fname_a, *fname_b, *jnum_a, *jnum_b; int cat_a, cat_b, ch, res, seq_a, seq_b; - fname_a = (*(const struct dirent * const *)a)->d_name; - fname_b = (*(const struct dirent * const *)b)->d_name; + fname_a = (*a)->d_name; + fname_b = (*b)->d_name; /* * First separate filenames into categories. Categories are From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 22:35:53 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CDF2E106564A; Fri, 13 Apr 2012 22:35:53 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BA5988FC0A; Fri, 13 Apr 2012 22:35: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 q3DMZrWU000636; Fri, 13 Apr 2012 22:35:53 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DMZrKp000634; Fri, 13 Apr 2012 22:35:53 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201204132235.q3DMZrKp000634@svn.freebsd.org> From: Xin LI Date: Fri, 13 Apr 2012 22:35:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234245 - head/usr.bin/netstat X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 22:35:53 -0000 Author: delphij Date: Fri Apr 13 22:35:53 2012 New Revision: 234245 URL: http://svn.freebsd.org/changeset/base/234245 Log: Eliminate an unused parameter of static method igmp_stats_live_old(). MFC after: 1 month Modified: head/usr.bin/netstat/inet.c Modified: head/usr.bin/netstat/inet.c ============================================================================== --- head/usr.bin/netstat/inet.c Fri Apr 13 22:34:01 2012 (r234244) +++ head/usr.bin/netstat/inet.c Fri Apr 13 22:35:53 2012 (r234245) @@ -1068,7 +1068,7 @@ icmp_stats(u_long off, const char *name, * Dump IGMP statistics structure (pre 8.x kernel). */ static void -igmp_stats_live_old(u_long off, const char *name) +igmp_stats_live_old(const char *name) { struct oigmpstat oigmpstat, zerostat; size_t len = sizeof(oigmpstat); @@ -1128,7 +1128,7 @@ igmp_stats(u_long off, const char *name, return; } if (len < sizeof(igmpstat)) { - igmp_stats_live_old(off, name); + igmp_stats_live_old(name); return; } } From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 22:58:23 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF66A106566C; Fri, 13 Apr 2012 22:58:23 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CA4598FC0A; Fri, 13 Apr 2012 22:58:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DMwNQM001467; Fri, 13 Apr 2012 22:58:23 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DMwNTM001464; Fri, 13 Apr 2012 22:58:23 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204132258.q3DMwNTM001464@svn.freebsd.org> From: Marius Strobl Date: Fri, 13 Apr 2012 22:58:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234247 - head/sys/sparc64/sparc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 22:58:24 -0000 Author: marius Date: Fri Apr 13 22:58:23 2012 New Revision: 234247 URL: http://svn.freebsd.org/changeset/base/234247 Log: Merge from x86: r233961: Fix interrupt load balancing regression, introduced in revision 222813, that left all un-pinned interrupts assigned to CPU 0. In intr_shuffle_irqs(), remove CPU_SETOF() call that initialized the "intr_cpus" cpuset to only contain CPU0. This initialization is too late and nullifies the results of calls to the intr_add_cpu() that occur much earlier in the boot process. r234074 (partial): The BSP is not added to the mask of valid target CPUs for interrupts. Fix this by adding the BSP as an interrupt target directly in r234105: Fix !SMP build after r234074. MFC after: 3 days Modified: head/sys/sparc64/sparc64/intr_machdep.c head/sys/sparc64/sparc64/machdep.c Modified: head/sys/sparc64/sparc64/intr_machdep.c ============================================================================== --- head/sys/sparc64/sparc64/intr_machdep.c Fri Apr 13 22:47:23 2012 (r234246) +++ head/sys/sparc64/sparc64/intr_machdep.c Fri Apr 13 22:58:23 2012 (r234247) @@ -528,9 +528,6 @@ intr_shuffle_irqs(void *arg __unused) struct intr_vector *iv; int i; - /* The BSP is always a valid target. */ - CPU_SETOF(0, &intr_cpus); - /* Don't bother on UP. */ if (mp_ncpus == 1) return; Modified: head/sys/sparc64/sparc64/machdep.c ============================================================================== --- head/sys/sparc64/sparc64/machdep.c Fri Apr 13 22:47:23 2012 (r234246) +++ head/sys/sparc64/sparc64/machdep.c Fri Apr 13 22:58:23 2012 (r234247) @@ -196,6 +196,13 @@ cpu_startup(void *arg) printf("machine: %s\n", sparc64_model); cpu_identify(rdpr(ver), PCPU_GET(clock), curcpu); + +#ifdef SMP + /* + * Add BSP as an interrupt target. + */ + intr_add_cpu(0); +#endif } void From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 23:07:33 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AAD4106566C; Fri, 13 Apr 2012 23:07:33 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EA12E8FC14; Fri, 13 Apr 2012 23:07:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DN7W5N001815; Fri, 13 Apr 2012 23:07:32 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DN7WNM001811; Fri, 13 Apr 2012 23:07:32 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204132307.q3DN7WNM001811@svn.freebsd.org> From: Marius Strobl Date: Fri, 13 Apr 2012 23:07:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234248 - in head/sys: conf dev/iicbus X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 23:07:33 -0000 Author: marius Date: Fri Apr 13 23:07:32 2012 New Revision: 234248 URL: http://svn.freebsd.org/changeset/base/234248 Log: Add a driver for the NXP (Philips) PCF8563 RTC. Obtained from: NetBSD (pcf8563reg.h) Added: head/sys/dev/iicbus/pcf8563.c (contents, props changed) head/sys/dev/iicbus/pcf8563reg.h (contents, props changed) Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Fri Apr 13 22:58:23 2012 (r234247) +++ head/sys/conf/files Fri Apr 13 23:07:32 2012 (r234248) @@ -1288,6 +1288,7 @@ dev/iicbus/iiconf.c optional iicbus dev/iicbus/iicsmb.c optional iicsmb \ dependency "iicbus_if.h" dev/iicbus/iicoc.c optional iicoc +dev/iicbus/pcf8563.c optional pcf8563 dev/iir/iir.c optional iir dev/iir/iir_ctrl.c optional iir dev/iir/iir_pci.c optional iir pci Added: head/sys/dev/iicbus/pcf8563.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iicbus/pcf8563.c Fri Apr 13 23:07:32 2012 (r234248) @@ -0,0 +1,202 @@ +/*- + * Copyright (c) 2012 Marius Strobl + * 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +/* + * Driver for NXP PCF8563 real-time clock/calendar + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "clock_if.h" +#include "iicbus_if.h" + +#define PCF8563_NCLOCKREGS (PCF8563_R_YEAR - PCF8563_R_CS1 + 1) + +struct pcf8563_softc { + uint32_t sc_flags; +#define PCF8563_CPOL (1 << 0) /* PCF8563_R_MONTH_C means 19xx */ + uint16_t sc_addr; /* PCF8563 slave address */ + uint16_t sc_year0; /* TOD clock year 0 */ +}; + +static device_attach_t pcf8563_attach; +static device_probe_t pcf8563_probe; +static clock_gettime_t pcf8563_gettime; +static clock_settime_t pcf8563_settime; + +static int +pcf8563_probe(device_t dev) +{ + + device_set_desc(dev, "NXP PCF8563 RTC"); + return (BUS_PROBE_NOWILDCARD); +} + +static int +pcf8563_attach(device_t dev) +{ + uint8_t reg = PCF8563_R_SECOND, val; + struct iic_msg msgs[] = { + { 0, IIC_M_WR, sizeof(reg), ® }, + { 0, IIC_M_RD, sizeof(val), &val } + }; + struct pcf8563_softc *sc; + int error; + + sc = device_get_softc(dev); + sc->sc_addr = iicbus_get_addr(dev); + if (sc->sc_addr == 0) + sc->sc_addr = PCF8563_ADDR; + + msgs[0].slave = msgs[1].slave = sc->sc_addr; + error = iicbus_transfer(device_get_parent(dev), msgs, sizeof(msgs) / + sizeof(*msgs)); + if (error != 0) { + device_printf(dev, "%s: cannot read RTC\n", __func__); + return (error); + } + if ((val & PCF8563_R_SECOND_VL) != 0) { + device_printf(dev, "%s: battery low\n", __func__); + return (ENXIO); + } + + sc->sc_year0 = 1900; + clock_register(dev, 1000000); /* 1 second resolution */ + return (0); +} + +static int +pcf8563_gettime(device_t dev, struct timespec *ts) +{ + struct clocktime ct; + uint8_t reg = PCF8563_R_SECOND, val[PCF8563_NCLOCKREGS]; + struct iic_msg msgs[] = { + { 0, IIC_M_WR, sizeof(reg), ® }, + { 0, IIC_M_RD, PCF8563_NCLOCKREGS, &val[PCF8563_R_SECOND] } + }; + struct pcf8563_softc *sc; + int error; + + sc = device_get_softc(dev); + msgs[0].slave = msgs[1].slave = sc->sc_addr; + error = iicbus_transfer(device_get_parent(dev), msgs, sizeof(msgs) / + sizeof(*msgs)); + if (error != 0) { + device_printf(dev, "%s: cannot read RTC\n", __func__); + return (error); + } + + ct.nsec = 0; + ct.sec = FROMBCD(val[PCF8563_R_SECOND] & PCF8563_M_SECOND); + ct.min = FROMBCD(val[PCF8563_R_MINUTE] & PCF8563_M_MINUTE); + ct.hour = FROMBCD(val[PCF8563_R_HOUR] & PCF8563_M_HOUR); + ct.day = FROMBCD(val[PCF8563_R_DAY] & PCF8563_M_DAY); + ct.dow = val[PCF8563_R_WEEKDAY] & PCF8563_M_WEEKDAY; + ct.mon = FROMBCD(val[PCF8563_R_MONTH] & PCF8563_M_MONTH); + ct.year = FROMBCD(val[PCF8563_R_YEAR] & PCF8563_M_YEAR); + ct.year += sc->sc_year0; + if (ct.year < POSIX_BASE_YEAR) + ct.year += 100; /* assume [1970, 2069] */ + if ((val[PCF8563_R_MONTH] & PCF8563_R_MONTH_C) != 0) { + if (ct.year >= 100 + sc->sc_year0) + sc->sc_flags |= PCF8563_CPOL; + } else if (ct.year < 100 + sc->sc_year0) + sc->sc_flags |= PCF8563_CPOL; + return (clock_ct_to_ts(&ct, ts)); +} + +static int +pcf8563_settime(device_t dev, struct timespec *ts) +{ + struct clocktime ct; + uint8_t val[PCF8563_NCLOCKREGS]; + struct iic_msg msgs[] = { + { 0, IIC_M_WR, PCF8563_NCLOCKREGS - 1, &val[PCF8563_R_CS2] } + }; + struct pcf8563_softc *sc; + int error; + + sc = device_get_softc(dev); + val[PCF8563_R_CS2] = PCF8563_R_SECOND; /* abuse */ + /* Accuracy is only one second. */ + if (ts->tv_nsec >= 500000000) + ts->tv_sec++; + ts->tv_nsec = 0; + clock_ts_to_ct(ts, &ct); + val[PCF8563_R_SECOND] = TOBCD(ct.sec); + val[PCF8563_R_MINUTE] = TOBCD(ct.min); + val[PCF8563_R_HOUR] = TOBCD(ct.hour); + val[PCF8563_R_DAY] = TOBCD(ct.day); + val[PCF8563_R_WEEKDAY] = ct.dow; + val[PCF8563_R_MONTH] = TOBCD(ct.mon); + val[PCF8563_R_YEAR] = TOBCD(ct.year % 100); + if ((sc->sc_flags & PCF8563_CPOL) != 0) { + if (ct.year >= 100 + sc->sc_year0) + val[PCF8563_R_MONTH] |= PCF8563_R_MONTH_C; + } else if (ct.year < 100 + sc->sc_year0) + val[PCF8563_R_MONTH] |= PCF8563_R_MONTH_C; + + msgs[0].slave = sc->sc_addr; + error = iicbus_transfer(device_get_parent(dev), msgs, sizeof(msgs) / + sizeof(*msgs)); + if (error != 0) + device_printf(dev, "%s: cannot write RTC\n", __func__); + return (error); +} + +static device_method_t pcf8563_methods[] = { + DEVMETHOD(device_probe, pcf8563_probe), + DEVMETHOD(device_attach, pcf8563_attach), + + DEVMETHOD(clock_gettime, pcf8563_gettime), + DEVMETHOD(clock_settime, pcf8563_settime), + + DEVMETHOD_END +}; + +static driver_t pcf8563_driver = { + "pcf8563_rtc", + pcf8563_methods, + sizeof(struct pcf8563_softc), +}; + +static devclass_t pcf8563_devclass; + +DRIVER_MODULE(pcf8563, iicbus, pcf8563_driver, pcf8563_devclass, NULL, NULL); +MODULE_VERSION(pcf8563, 1); +MODULE_DEPEND(pcf8563, iicbus, 1, 1, 1); Added: head/sys/dev/iicbus/pcf8563reg.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iicbus/pcf8563reg.h Fri Apr 13 23:07:32 2012 (r234248) @@ -0,0 +1,58 @@ +/* $NetBSD: pcf8563reg.h,v 1.1 2011/01/21 19:11:47 jakllsch Exp $ */ + +/*- + * Jonathan Kollasch, 2011 + * + * This file is in the public domain. + * + * $FreeBSD$ + */ + +/* + * NXP (Philips) PCF8563 RTC registers + */ + +/* We only have clock mode registers here. */ + +#ifndef _PCF8563REG_H_ +#define _PCF8563REG_H_ + +/* + * PCF8563 RTC I2C address: + * + * 101 0001 + */ +#define PCF8563_ADDR 0xa2 + +#define PCF8563_R_CS1 0x00 +#define PCF8563_R_CS2 0x01 +#define PCF8563_R_SECOND 0x02 +#define PCF8563_R_MINUTE 0x03 +#define PCF8563_R_HOUR 0x04 +#define PCF8563_R_DAY 0x05 +#define PCF8563_R_WEEKDAY 0x06 +#define PCF8563_R_MONTH 0x07 +#define PCF8563_R_YEAR 0x08 +#define PCF8563_R_MINUTE_ALARM 0x09 +#define PCF8563_R_HOUR_ALARM 0x0a +#define PCF8563_R_DAY_ALARM 0x0b +#define PCF8563_R_WEEKDAY_ALARM 0x0c +#define PCF8563_R_CLKOUT_CNTRL 0x0d +#define PCF8563_R_TIMER_CNTRL 0x0e +#define PCF8563_R_TIMER 0x0f + +#define PCF8563_R_SECOND_VL 0x80 +#define PCF8563_R_MONTH_C 0x80 + +#define PCF8563_NREGS 0x10 + +#define PCF8563_M_SECOND 0x7f +#define PCF8563_M_MINUTE 0x7f +#define PCF8563_M_HOUR 0x3f +#define PCF8563_M_DAY 0x3f +#define PCF8563_M_WEEKDAY 0x07 +#define PCF8563_M_MONTH 0x1f +#define PCF8563_M_CENTURY 0x80 +#define PCF8563_M_YEAR 0xff + +#endif /* _PCF8563REG_H_ */ From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 23:24:49 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9FBFF106564A; Fri, 13 Apr 2012 23:24:49 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 72D8C8FC0A; Fri, 13 Apr 2012 23:24:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DNOnht002406; Fri, 13 Apr 2012 23:24:49 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DNOna6002405; Fri, 13 Apr 2012 23:24:49 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201204132324.q3DNOna6002405@svn.freebsd.org> From: "David E. O'Brien" Date: Fri, 13 Apr 2012 23:24:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234249 - vendor/file/5.09 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 23:24:49 -0000 Author: obrien Date: Fri Apr 13 23:24:49 2012 New Revision: 234249 URL: http://svn.freebsd.org/changeset/base/234249 Log: "Tag" the file 5.09 vendor import. Added: vendor/file/5.09/ - copied from r234248, vendor/file/dist/ From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 23:30:40 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51CF71065673; Fri, 13 Apr 2012 23:30:40 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 00C828FC12; Fri, 13 Apr 2012 23:30:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3DNUdZs002678; Fri, 13 Apr 2012 23:30:39 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DNUdNi002653; Fri, 13 Apr 2012 23:30:39 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201204132330.q3DNUdNi002653@svn.freebsd.org> From: "David E. O'Brien" Date: Fri, 13 Apr 2012 23:30:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234250 - in vendor/file/dist: . Magdir X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 23:30:40 -0000 Author: obrien Date: Fri Apr 13 23:30:38 2012 New Revision: 234250 URL: http://svn.freebsd.org/changeset/base/234250 Log: Virgin import of Christos Zoulas's FILE 5.11. Added: vendor/file/dist/Magdir/assembler vendor/file/dist/Magdir/cups vendor/file/dist/Magdir/guile vendor/file/dist/Magdir/m4 vendor/file/dist/Magdir/make vendor/file/dist/Magdir/music vendor/file/dist/Magdir/pascal vendor/file/dist/Magdir/zfs Deleted: vendor/file/dist/names.h Modified: vendor/file/dist/ChangeLog vendor/file/dist/Magdir/archive vendor/file/dist/Magdir/audio vendor/file/dist/Magdir/c-lang vendor/file/dist/Magdir/cad vendor/file/dist/Magdir/commands vendor/file/dist/Magdir/compress vendor/file/dist/Magdir/elf vendor/file/dist/Magdir/games vendor/file/dist/Magdir/gnu vendor/file/dist/Magdir/images vendor/file/dist/Magdir/java vendor/file/dist/Magdir/linux vendor/file/dist/Magdir/mail.news vendor/file/dist/Magdir/msdos vendor/file/dist/Magdir/netbsd vendor/file/dist/Magdir/palm vendor/file/dist/Magdir/perl vendor/file/dist/Magdir/python vendor/file/dist/Magdir/sgml vendor/file/dist/Magdir/varied.script vendor/file/dist/Magdir/virtual vendor/file/dist/Makefile.am vendor/file/dist/Makefile.am-src vendor/file/dist/Makefile.in vendor/file/dist/apprentice.c vendor/file/dist/ascmagic.c vendor/file/dist/cdf.c vendor/file/dist/cdf.h vendor/file/dist/cdf_time.c vendor/file/dist/compress.c vendor/file/dist/configure vendor/file/dist/configure.ac vendor/file/dist/encoding.c vendor/file/dist/file.c vendor/file/dist/file.h vendor/file/dist/file.man vendor/file/dist/funcs.c vendor/file/dist/libmagic.man vendor/file/dist/magic.h vendor/file/dist/magic.man vendor/file/dist/print.c vendor/file/dist/readcdf.c vendor/file/dist/softmagic.c vendor/file/dist/vasprintf.c Modified: vendor/file/dist/ChangeLog ============================================================================== --- vendor/file/dist/ChangeLog Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/ChangeLog Fri Apr 13 23:30:38 2012 (r234250) @@ -1,3 +1,55 @@ +2012-02-20 17:33 Christos Zoulas + + * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann) + +2011-12-15 12:17 Chris Metcalf + + * Support Tilera architectures (tile64, tilepro, tilegx). + +2011-12-16 16:33 Reuben Thomas + + * Add magic for /usr/bin/env Perl scripts + * Weaken generic script magic to avoid clashing with + language-specific magic. + +2011-12-08 13:37 Reuben Thomas + + * Simplify if (p) free(p) to free(p). + +2011-12-08 13:07 Reuben Thomas + + * Remove hardwired token finding (names.h), turning it into soft + magic. Patterns are either anchored regexs or search/8192. English + language detection and PL/1 detection have been removed as they + were too fragile. -e tokens is still accepted for backwards + compatibility. + * Move 3ds patterns (which are commented out anyway) into autodesk + (they were, oddly, in c-lang). + +2011-12-06 00:16 Reuben Thomas + + * Tweak strength of generic hash-bang detectors to be less than + specific ones. + * Make an inconsistent description of Python scripts consistent. + +2011-12-05 23:58 Reuben Thomas + + * Fix minor error in file(1). + +2011-11-05 00:00 Reuben Thomas + + * Fix issue #150 (I hope). + +2011-09-22 12:57 Christos Zoulas + + * Python3 binding fixes from Kelly Anderson + +2011-09-20 11:32 Christos Zoulas + + * If a string type magic entry is marked as text or binary + only match text files against text entries and binary + files against binary entries. + 2011-09-01 12:12 Christos Zoulas * Don't wait for any subprocess, just the one we forked. Modified: vendor/file/dist/Magdir/archive ============================================================================== --- vendor/file/dist/Magdir/archive Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/archive Fri Apr 13 23:30:38 2012 (r234250) @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------ -# $File: archive,v 1.68 2011/09/07 15:47:51 christos Exp $ +# $File: archive,v 1.70 2011/10/26 15:44:47 christos Exp $ # archive: file(1) magic for archive formats (see also "msdos" for self- # extracting compressed archives) # @@ -12,6 +12,11 @@ 257 string ustar\040\040\0 GNU tar archive !:mime application/x-tar # encoding: gnu +# Incremental snapshot gnu-tar format from: +# http://www.gnu.org/software/tar/manual/html_node/Snapshot-Files.html +0 string GNU\ tar- GNU tar incremental snapshot data +>&0 regex [0-9]\.[0-9]+-[0-9]+ version %s + # cpio archives # # Yes, the top two "cpio archive" formats *are* supposed to just be "short". @@ -183,7 +188,7 @@ # MAR 2 string =-ah MAR archive data # ACB -0 belong&0x00f800ff 0x00800000 ACB archive data +#0 belong&0x00f800ff 0x00800000 ACB archive data # CPZ # TODO, this is what idarc says: 0 string \0\0\0 CPZ archive data # JRC Added: vendor/file/dist/Magdir/assembler ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/Magdir/assembler Fri Apr 13 23:30:38 2012 (r234250) @@ -0,0 +1,14 @@ +#------------------------------------------------------------------------------ +# $File: assembler,v 1.1 2011/12/08 12:12:46 rrt Exp $ +# make: file(1) magic for assembler source +# +0 regex \^\.asciiz\? assembler source text +!:mime text/x-asm +0 regex \^\.byte assembler source text +!:mime text/x-asm +0 regex \^\.even assembler source text +!:mime text/x-asm +0 regex \^\.globl assembler source text +!:mime text/x-asm +0 regex \^\.text assembler source text +!:mime text/x-asm Modified: vendor/file/dist/Magdir/audio ============================================================================== --- vendor/file/dist/Magdir/audio Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/audio Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: audio,v 1.63 2011/09/06 11:00:06 christos Exp $ +# $File: audio,v 1.64 2012/02/20 16:37:34 christos Exp $ # audio: file(1) magic for sound formats (see also "iff") # # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), @@ -491,6 +491,7 @@ # From danny.milo@gmx.net (Danny Milosavljevic) # New version from Abel Cheung 0 string MAC\040 Monkey's Audio compressed format +!:mime audio/x-ape >4 uleshort >0x0F8B version %d >>(0x08.l) uleshort =1000 with fast compression >>(0x08.l) uleshort =2000 with normal compression Modified: vendor/file/dist/Magdir/c-lang ============================================================================== --- vendor/file/dist/Magdir/c-lang Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/c-lang Fri Apr 13 23:30:38 2012 (r234250) @@ -1,21 +1,49 @@ - #------------------------------------------------------------------------------ -# $File: c-lang,v 1.14 2009/09/19 16:28:08 christos Exp $ -# c-lang: file(1) magic for C programs (or REXX) +# $File: c-lang,v 1.16 2011/12/09 08:02:16 rrt Exp $ +# c-lang: file(1) magic for C and related languages programs # -# XPM icons (Greg Roelofs, newt@uchicago.edu) -# if you uncomment "/*" for C/REXX below, also uncomment this entry -#0 string /*\ XPM\ */ X pixmap image data -#!:mime image/x-xpmi +# BCPL +0 search/8192 "libhdr" BCPL source text +!:mime text/x-bcpl +0 search/8192 "LIBHDR" BCPL source text +!:mime text/x-bcpl -# 3DS (3d Studio files) Conflicts with diff output 0x3d '=' -#16 beshort 0x3d3d image/x-3ds +# C +0 regex \^#include C source text +!:mime text/x-c +0 regex \^char C source text +!:mime text/x-c +0 regex \^double C source text +!:mime text/x-c +0 regex \^extern C source text +!:mime text/x-c +0 regex \^float C source text +!:mime text/x-c +0 regex \^struct C source text +!:mime text/x-c +0 regex \^union C source text +!:mime text/x-c +0 search/8192 main( C source text +!:mime text/x-c -# this first will upset you if you're a PL/1 shop... -# in which case rm it; ascmagic will catch real C programs -#0 search/1 /* C or REXX program text -#0 search/1 // C++ program text +# C++ +# The strength of these rules is increased so they beat the C rules above +0 regex \^template C++ source text +!:strength + 10 +!:mime text/x-c++ +0 regex \^virtual C++ source text +!:strength + 10 +!:mime text/x-c++ +0 regex \^class C++ source text +!:strength + 10 +!:mime text/x-c++ +0 regex \^public: C++ source text +!:strength + 10 +!:mime text/x-c++ +0 regex \^private: C++ source text +!:strength + 10 +!:mime text/x-c++ # From: Mikhail Teterin 0 string cscope cscope reference data Modified: vendor/file/dist/Magdir/cad ============================================================================== --- vendor/file/dist/Magdir/cad Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/cad Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: cad,v 1.10 2010/12/25 14:33:43 christos Exp $ +# $File: cad,v 1.11 2011/12/08 12:12:46 rrt Exp $ # autocad: file(1) magic for cad files # @@ -113,3 +113,6 @@ 0 string AC1012 AutoDesk AutoCAD R13 0 string AC1014 AutoDesk AutoCAD R14 0 string AC1015 AutoDesk AutoCAD R2000 + +# 3DS (3d Studio files) Conflicts with diff output 0x3d '=' +#16 beshort 0x3d3d image/x-3ds Modified: vendor/file/dist/Magdir/commands ============================================================================== --- vendor/file/dist/Magdir/commands Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/commands Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: commands,v 1.41 2011/05/02 12:36:41 christos Exp $ +# $File: commands,v 1.42 2011/12/05 23:14:02 rrt Exp $ # commands: file(1) magic for various shells and interpreters # #0 string/w : shell archive or script for antique kernel text @@ -64,12 +64,6 @@ 0 string/wt #!\ /usr/local/bin/bash Bourne-Again shell script text executable !:mime text/x-shellscript -# using env -0 string/t #!/usr/bin/env a ->15 string/t >\0 %s script text executable -0 string/t #!\ /usr/bin/env a ->16 string/t >\0 %s script text executable - # PHP scripts # Ulf Harnhammar 0 search/1/c =5 lequad =0xffffffffffffffff streamed ->5 lequad !0xffffffffffffffff non-streamed, size %lld +0 lelong&0xffffff =0x5d +>12 leshort =0xff LZMA compressed data, +>>5 lequad =0xffffffffffffffff streamed +>>5 lequad !0xffffffffffffffff non-streamed, size %lld !:mime application/x-lzma # http://tukaani.org/xz/xz-file-format.txt Added: vendor/file/dist/Magdir/cups ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/Magdir/cups Fri Apr 13 23:30:38 2012 (r234250) @@ -0,0 +1,82 @@ + +#------------------------------------------------------------------------------ +# $File: cups,v 1.1 2011/11/10 18:59:54 christos Exp $ +# Cups: file(1) magic for the cups raster file format +# From: Laurent Martelli +# http://www.cups.org/documentation.php/spec-raster.html +# + +# Cups Raster image format, Big Endian +0 string RaS +!:mime application/vnd.cups-raster +>3 string t Cups Raster version 1, Big Endian +>3 string 2 Cups Raster version 2, Big Endian +>3 string 3 Cups Raster version 3, Big Endian +>280 belong x \b, %d +>284 belong x \bx%d dpi +>376 belong x \b, %dx +>380 belong x \b%d pixels +>388 belong x %d bits/color +>392 belong x %d bits/pixel +>400 belong 0 ColorOrder=Chunky +>400 belong 1 ColorOrder=Banded +>400 belong 2 ColorOrder=Planar +>404 belong 0 ColorSpace=gray +>404 belong 1 ColorSpace=RGB +>404 belong 2 ColorSpace=RGBA +>404 belong 3 ColorSpace=black +>404 belong 4 ColorSpace=CMY +>404 belong 5 ColorSpace=YMC +>404 belong 6 ColorSpace=CMYK +>404 belong 7 ColorSpace=YMCK +>404 belong 8 ColorSpace=KCMY +>404 belong 9 ColorSpace=KCMYcm +>404 belong 10 ColorSpace=GMCK +>404 belong 11 ColorSpace=GMCS +>404 belong 12 ColorSpace=WHITE +>404 belong 13 ColorSpace=GOLD +>404 belong 14 ColorSpace=SILVER +>404 belong 15 ColorSpace=CIE XYZ +>404 belong 16 ColorSpace=CIE Lab +>404 belong 17 ColorSpace=RGBW +>404 belong 18 ColorSpace=sGray +>404 belong 19 ColorSpace=sRGB +>404 belong 20 ColorSpace=AdobeRGB + + +# Cups Raster image format, Little Endian +1 string SaR +>0 string t Cups Raster version 1, Little Endian +>0 string 2 Cups Raster version 2, Little Endian +>0 string 3 Cups Raster version 3, Little Endian +!:mime application/vnd.cups-raster +>280 lelong x \b, %d +>284 lelong x \bx%d dpi +>376 lelong x \b, %dx +>380 lelong x \b%d pixels +>388 lelong x %d bits/color +>392 lelong x %d bits/pixel +>400 lelong 0 ColorOrder=Chunky +>400 lelong 1 ColorOrder=Banded +>400 lelong 2 ColorOrder=Planar +>404 lelong 0 ColorSpace=gray +>404 lelong 1 ColorSpace=RGB +>404 lelong 2 ColorSpace=RGBA +>404 lelong 3 ColorSpace=black +>404 lelong 4 ColorSpace=CMY +>404 lelong 5 ColorSpace=YMC +>404 lelong 6 ColorSpace=CMYK +>404 lelong 7 ColorSpace=YMCK +>404 lelong 8 ColorSpace=KCMY +>404 lelong 9 ColorSpace=KCMYcm +>404 lelong 10 ColorSpace=GMCK +>404 lelong 11 ColorSpace=GMCS +>404 lelong 12 ColorSpace=WHITE +>404 lelong 13 ColorSpace=GOLD +>404 lelong 14 ColorSpace=SILVER +>404 lelong 15 ColorSpace=CIE XYZ +>404 lelong 16 ColorSpace=CIE Lab +>404 lelong 17 ColorSpace=RGBW +>404 lelong 18 ColorSpace=sGray +>404 lelong 19 ColorSpace=sRGB +>404 lelong 20 ColorSpace=AdobeRGB Modified: vendor/file/dist/Magdir/elf ============================================================================== --- vendor/file/dist/Magdir/elf Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/elf Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: elf,v 1.53 2009/09/19 16:28:09 christos Exp $ +# $File: elf,v 1.54 2011/12/17 17:16:29 christos Exp $ # elf: file(1) magic for ELF executables # # We have to check the byte order flag to see what byte order all the @@ -149,6 +149,9 @@ >>18 leshort 106 Analog Devices Blackfin, >>18 leshort 113 Altera Nios II, >>18 leshort 0xae META, +>>18 leshort 187 Tilera TILE64, +>>18 leshort 188 Tilera TILEPro, +>>18 leshort 191 Tilera TILE-Gx, >>18 leshort 0x3426 OpenRISC (obsolete), >>18 leshort 0x8472 OpenRISC (obsolete), >>18 leshort 0x9026 Alpha (unofficial), @@ -259,6 +262,9 @@ >>18 leshort 0x8472 OpenRISC (obsolete), >>18 beshort 94 Tensilica Xtensa, >>18 beshort 97 NatSemi 32k, +>>18 beshort 187 Tilera TILE64, +>>18 beshort 188 Tilera TILEPro, +>>18 beshort 191 Tilera TILE-Gx, >>18 beshort 0x18ad AVR32 (unofficial), >>18 beshort 0x9026 Alpha (unofficial), >>18 beshort 0xa390 IBM S/390 (obsolete), Modified: vendor/file/dist/Magdir/games ============================================================================== --- vendor/file/dist/Magdir/games Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/games Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: games,v 1.12 2010/11/25 15:00:12 christos Exp $ +# $File: games,v 1.13 2012/02/13 22:50:50 christos Exp $ # games: file(1) for games # Fabio Bonelli @@ -255,3 +255,11 @@ >2 regex/c GM\\[19\\] - Octi Game >2 regex/c GM\\[20\\] - Gess Game >2 regex/c GM\\[21\\] - twix Game + +# Epic Games/Unreal Engine Package +# +0 lelong 0x9E2A83C1 Unreal Engine Package, +>4 leshort x version: %i +>12 lelong !0 \b, names: %i +>28 lelong !0 \b, imports: %i +>20 lelong !0 \b, exports: %i Modified: vendor/file/dist/Magdir/gnu ============================================================================== --- vendor/file/dist/Magdir/gnu Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/gnu Fri Apr 13 23:30:38 2012 (r234250) @@ -1,19 +1,28 @@ #------------------------------------------------------------------------------ -# $File: gnu,v 1.11 2009/09/19 16:28:09 christos Exp $ +# $File: gnu,v 1.13 2012/01/03 17:16:54 christos Exp $ # gnu: file(1) magic for various GNU tools # # GNU nlsutils message catalog file format # +# GNU message catalog (.mo and .gmo files) + 0 string \336\22\4\225 GNU message catalog (little endian), ->4 lelong x revision %d, ->8 lelong x %d messages +>6 leshort x revision %d. +>4 leshort >0 \b%d, +>>8 lelong x %d messages, +>>36 lelong x %d sysdep messages +>4 leshort =0 \b%d, +>>8 lelong x %d messages + 0 string \225\4\22\336 GNU message catalog (big endian), ->4 belong x revision %d, ->8 belong x %d messages -# message catalogs, from Mitchum DSouza -0 string *nazgul* Nazgul style compiled message catalog ->8 lelong >0 \b, version %ld +>4 beshort x revision %d. +>6 beshort >0 \b%d, +>>8 belong x %d messages, +>>36 belong x %d sysdep messages +>6 beshort =0 \b%d, +>>8 belong x %d messages + # GnuPG # The format is very similar to pgp @@ -42,3 +51,7 @@ # Files produced by GNU gettext 0 long 0xDE120495 GNU-format message catalog data 0 long 0x950412DE GNU-format message catalog data + +# gettext message catalogue +0 regex \^msgid\ GNU gettext message catalogue text +!:mime text/x-po Added: vendor/file/dist/Magdir/guile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/Magdir/guile Fri Apr 13 23:30:38 2012 (r234250) @@ -0,0 +1,13 @@ + +#------------------------------------------------------------------------------ +# $File: guile,v 1.1 2011/12/16 17:44:33 christos Exp $ +# Guile file magic from +# http://www.gnu.org/s/guile/ +# http://git.savannah.gnu.org/gitweb/?p=guile.git;f=libguile/_scm.h;hb=HEAD#l250 + +0 string GOOF---- Guile Object +>8 string LE \b, little endian +>8 string BE \b, big endian +>11 string 4 \b, 32bit +>11 string 8 \b, 64bit +>13 regex .\.. \b, bytecode v%s Modified: vendor/file/dist/Magdir/images ============================================================================== --- vendor/file/dist/Magdir/images Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/images Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: images,v 1.70 2010/11/25 15:00:12 christos Exp $ +# $File: images,v 1.72 2011/12/08 12:12:46 rrt Exp $ # images: file(1) magic for image formats (see also "iff", and "c-lang" for # XPM bitmaps) # @@ -90,6 +90,11 @@ 0 string II\x2a\x00 TIFF image data, little-endian !:mime image/tiff +0 string MM\x00\x2b Big TIFF image data, big-endian +!:mime image/tiff +0 string II\x2b\x00 Big TIFF image data, little-endian +!:mime image/tiff + # PNG [Portable Network Graphics, or "PNG's Not GIF"] images # (Greg Roelofs, newt@uchicago.edu) # (Albert Cahalan, acahalan@cs.uml.edu) @@ -228,8 +233,8 @@ #0 string BA PC bitmap array data # XPM icons (Greg Roelofs, newt@uchicago.edu) -# note possible collision with C/REXX entry in c-lang; currently commented out 0 search/1 /*\ XPM\ */ X pixmap image text +!:mime image/x-xpmi # Utah Raster Toolkit RLE images (janl@ifi.uio.no) 0 leshort 0xcc52 RLE image data, Modified: vendor/file/dist/Magdir/java ============================================================================== --- vendor/file/dist/Magdir/java Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/java Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------ -# $File: java,v 1.12 2009/09/19 16:28:10 christos Exp $ +# $File: java,v 1.13 2011/12/08 12:12:46 rrt Exp $ # Java ByteCode and Mach-O binaries (e.g., Mac OS X) use the # same magic number, 0xcafebabe, so they are both handled # in the entry called "cafebabe". @@ -24,3 +24,6 @@ >0 regex dey\n[0-9][0-9][0-9]\0 Dalvik dex file (optimized for host) >4 string >000 version %s +# Java source +0 regex ^import.*;$ Java source +!:mime text/x-java Modified: vendor/file/dist/Magdir/linux ============================================================================== --- vendor/file/dist/Magdir/linux Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/linux Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: linux,v 1.41 2011/04/20 18:57:10 christos Exp $ +# $File: linux,v 1.42 2012/02/07 21:35:03 christos Exp $ # linux: file(1) magic for Linux files # # Values for Linux/i386 binaries, from Daniel Quinlan @@ -182,6 +182,11 @@ >>&0 string \x80\x00\x20\x00\x00\x00\x00\x00 Z990 32bit kernel >>&0 string \x80\x00\x00\x00\x00\x00\x00\x00 Z900 32bit kernel +# Linux ARM compressed kernel image +# From: Kevin Cernekee +36 lelong 0x016f2818 Linux kernel ARM boot executable zImage (little-endian) +36 belong 0x016f2818 Linux kernel ARM boot executable zImage (big-endian) + ############################################################################ # Linux 8086 executable 0 lelong&0xFF0000FF 0xC30000E9 Linux-Dev86 executable, headerless Added: vendor/file/dist/Magdir/m4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/Magdir/m4 Fri Apr 13 23:30:38 2012 (r234250) @@ -0,0 +1,6 @@ +#------------------------------------------------------------------------------ +# $File: m4,v 1.1 2011/12/08 12:12:46 rrt Exp $ +# make: file(1) magic for M4 scripts +# +0 regex \^dnl\ M4 macro processor script text +!:mime text/x-m4 Modified: vendor/file/dist/Magdir/mail.news ============================================================================== --- vendor/file/dist/Magdir/mail.news Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/mail.news Fri Apr 13 23:30:38 2012 (r234250) @@ -1,11 +1,9 @@ - #------------------------------------------------------------------------------ -# $File: mail.news,v 1.19 2011/01/25 13:55:57 christos Exp $ +# $File: mail.news,v 1.20 2011/12/08 12:12:46 rrt Exp $ # mail.news: file(1) magic for mail and news # # Unfortunately, saved netnews also has From line added in some news software. #0 string From mail text -# There are tests to ascmagic.c to cope with mail and news. 0 string/t Relay-Version: old news text !:mime message/rfc822 0 string/t #!\ rnews batched news text @@ -16,7 +14,9 @@ !:mime message/rfc822 0 string/t Pipe\ to mail piping text !:mime message/rfc822 -0 string/t Return-Path: smtp mail text +0 string/t Delivered-To: SMTP mail text +!:mime message/rfc822 +0 string/t Return-Path: SMTP mail text !:mime message/rfc822 0 string/t Path: news text !:mime message/news Added: vendor/file/dist/Magdir/make ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/Magdir/make Fri Apr 13 23:30:38 2012 (r234250) @@ -0,0 +1,15 @@ +#------------------------------------------------------------------------------ +# $File: make,v 1.1 2011/12/08 12:12:46 rrt Exp $ +# make: file(1) magic for makefiles +# +0 regex \^CFLAGS makefile script text +!:mime text/x-makefile +0 regex \^LDFLAGS makefile script text +!:mime text/x-makefile +0 regex \^all: makefile script text +!:mime text/x-makefile +0 regex \^.PRECIOUS makefile script text +!:mime text/x-makefile + +0 regex \^SUBDIRS automake makefile script text +!:mime text/x-makefile Modified: vendor/file/dist/Magdir/msdos ============================================================================== --- vendor/file/dist/Magdir/msdos Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/msdos Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: msdos,v 1.75 2011/08/08 08:56:17 christos Exp $ +# $File: msdos,v 1.77 2011/12/07 22:05:05 christos Exp $ # msdos: file(1) magic for MS-DOS files # @@ -41,7 +41,7 @@ # # Many of the compressed formats were extraced from IDARC 1.23 source code. # -0 string MZ +0 string/b MZ !:mime application/x-dosexec # All non-DOS EXE extensions have the relocation table more than 0x40 bytes into the file. >0x18 leshort <0x40 MS-DOS executable @@ -294,7 +294,7 @@ # added by Joerg Jenderek of http://www.freedos.org/software/?prog=kc # and http://www.freedos.org/software/?prog=kpdos # for FreeDOS files like KEYBOARD.SYS, KEYBRD2.SYS, KEYBRD3.SYS, *.KBD -0 string KCF FreeDOS KEYBoard Layout collection +0 string/b KCF FreeDOS KEYBoard Layout collection # only version=0x100 found >3 uleshort x \b, version 0x%x # length of string containing author,info and special characters @@ -305,7 +305,7 @@ #>>>&0 string x \b%-s >>>&0 string x \b%-.15s # for FreeDOS *.KL files -0 string KLF FreeDOS KEYBoard Layout file +0 string/b KLF FreeDOS KEYBoard Layout file # only version=0x100 or 0x101 found >3 uleshort x \b, version 0x%x # stringlength @@ -402,12 +402,12 @@ # byte 0xeb conflicts with "sequent" magic leshort 0xn2eb 0 ubeshort&0xeb8d >0xeb00 # DR-DOS STACKER.COM SCREATE.SYS missed ->0 byte 0xeb DOS executable (COM) ->>0x1FE leshort 0xAA55 \b, boot code ->>85 string UPX \b, UPX compressed ->>4 string \ $ARX \b, ARX self-extracting archive ->>4 string \ $LHarc \b, LHarc self-extracting archive ->>0x20e string SFX\ by\ LARC \b, LARC self-extracting archive +>0 byte 0xeb +>>0x1FE leshort 0xAA55 DOS executable (COM), boot code +>>85 string UPX DOS executable (COM), UPX compressed +>>4 string \ $ARX DOS executable (COM), ARX self-extracting archive +>>4 string \ $LHarc DOS executable (COM), LHarc self-extracting archive +>>0x20e string SFX\ by\ LARC DOS executable (COM), LARC self-extracting archive # updated by Joerg Jenderek at Oct 2008 #0 byte 0xb8 COM executable 0 uleshort&0x80ff 0x00b8 @@ -421,11 +421,11 @@ # syslinux:doc/comboot.txt # A COM32R program must start with the byte sequence B8 FE 4C CD 21 (mov # eax,21cd4cfeh) as a magic number. -0 string \xb8\xfe\x4c\xcd\x21 COM executable (COM32R) +0 string/b \xb8\xfe\x4c\xcd\x21 COM executable (COM32R) # start with assembler instructions mov eax,21cd4cfeh 0 uleshort&0xc0ff 0xc0b8 >1 lelong 0x21cd4cfe COM executable (32-bit COMBOOT, relocatable) -0 string \x81\xfc +0 string/b \x81\xfc >4 string \x77\x02\xcd\x20\xb9 >>36 string UPX! FREE-DOS executable (COM), UPX compressed 252 string Must\ have\ DOS\ version DR-DOS executable (COM) @@ -466,16 +466,16 @@ # FIXME: missing diet .com compression # miscellaneous formats -0 string LZ MS-DOS executable (built-in) +0 string/b LZ MS-DOS executable (built-in) #0 byte 0xf0 MS-DOS program library data # # AAF files: # Stuart Cunningham -0 string \320\317\021\340\241\261\032\341AAFB\015\000OM\006\016\053\064\001\001\001\377 AAF legacy file using MS Structured Storage +0 string/b \320\317\021\340\241\261\032\341AAFB\015\000OM\006\016\053\064\001\001\001\377 AAF legacy file using MS Structured Storage >30 byte 9 (512B sectors) >30 byte 12 (4kB sectors) -0 string \320\317\021\340\241\261\032\341\001\002\001\015\000\002\000\000\006\016\053\064\003\002\001\001 AAF file using MS Structured Storage +0 string/b \320\317\021\340\241\261\032\341\001\002\001\015\000\002\000\000\006\016\053\064\003\002\001\001 AAF file using MS Structured Storage >30 byte 9 (512B sectors) >30 byte 12 (4kB sectors) @@ -491,14 +491,14 @@ 0 belong 0x31be0000 Microsoft Word Document !:mime application/msword # -0 string PO^Q` Microsoft Word 6.0 Document +0 string/b PO^Q` Microsoft Word 6.0 Document !:mime application/msword # -0 string \376\067\0\043 Microsoft Office Document +0 string/b \376\067\0\043 Microsoft Office Document !:mime application/msword -0 string \333\245-\0\0\0 Microsoft Office Document +0 string/b \333\245-\0\0\0 Microsoft Office Document !:mime application/msword -512 string \354\245\301 Microsoft Word Document +512 string/b \354\245\301 Microsoft Word Document !:mime application/msword # 2080 string Microsoft\ Excel\ 5.0\ Worksheet %s @@ -513,7 +513,7 @@ # Italian MS-Excel 2121 string Biff5 Microsoft Excel 5.0 Worksheet !:mime application/vnd.ms-excel -0 string \x09\x04\x06\x00\x00\x00\x10\x00 Microsoft Excel Worksheet +0 string/b \x09\x04\x06\x00\x00\x00\x10\x00 Microsoft Excel Worksheet !:mime application/vnd.ms-excel # 0 belong 0x00001a00 Lotus 1-2-3 @@ -527,9 +527,9 @@ !:mime application/x-123 >4 belong 0x06040600 wk1 document data >4 belong 0x06800200 fmt document data -0 string WordPro\0 Lotus WordPro +0 string/b WordPro\0 Lotus WordPro !:mime application/vnd.lotus-wordpro -0 string WordPro\r\373 Lotus WordPro +0 string/b WordPro\r\373 Lotus WordPro !:mime application/vnd.lotus-wordpro @@ -542,17 +542,17 @@ # Winamp .avs #0 string Nullsoft\ AVS\ Preset\ \060\056\061\032 A plug in for Winamp ms-windows Freeware media player -0 string Nullsoft\ AVS\ Preset\ Winamp plug in +0 string/b Nullsoft\ AVS\ Preset\ Winamp plug in # Windows Metafont .WMF -0 string \327\315\306\232 ms-windows metafont .wmf -0 string \002\000\011\000 ms-windows metafont .wmf -0 string \001\000\011\000 ms-windows metafont .wmf +0 string/b \327\315\306\232 ms-windows metafont .wmf +0 string/b \002\000\011\000 ms-windows metafont .wmf +0 string/b \001\000\011\000 ms-windows metafont .wmf #tz3 files whatever that is (MS Works files) -0 string \003\001\001\004\070\001\000\000 tz3 ms-works file -0 string \003\002\001\004\070\001\000\000 tz3 ms-works file -0 string \003\003\001\004\070\001\000\000 tz3 ms-works file +0 string/b \003\001\001\004\070\001\000\000 tz3 ms-works file +0 string/b \003\002\001\004\070\001\000\000 tz3 ms-works file +0 string/b \003\003\001\004\070\001\000\000 tz3 ms-works file # PGP sig files .sig #0 string \211\000\077\003\005\000\063\237\127 065 to \027\266\151\064\005\045\101\233\021\002 PGP sig @@ -564,14 +564,14 @@ 0 string \211\000\225\003\005\000\062\122\207\304\100\345\042 PGP sig # windows zips files .dmf -0 string MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 MS Windows special zipped file +0 string/b MDIF\032\000\010\000\000\000\372\046\100\175\001\000\001\036\001\000 MS Windows special zipped file #ico files -0 string \102\101\050\000\000\000\056\000\000\000\000\000\000\000 Icon for MS Windows +0 string/b \102\101\050\000\000\000\056\000\000\000\000\000\000\000 Icon for MS Windows # Windows icons (Ian Springer ) -0 string \000\000\001\000 MS Windows icon resource +0 string/b \000\000\001\000 MS Windows icon resource !:mime image/x-icon >4 byte 1 - 1 icon >4 byte >1 - %d icons @@ -582,13 +582,13 @@ # .chr files -0 string PK\010\010BGI Borland font +0 string/b PK\010\010BGI Borland font >4 string >\0 %s # then there is a copyright notice # .bgi files -0 string pk\010\010BGI Borland device +0 string/b pk\010\010BGI Borland device >4 string >\0 %s # then there is a copyright notice @@ -703,28 +703,28 @@ !:mime application/vnd.ms-tnef # HtmlHelp files (.chm) -0 string ITSF\003\000\000\000\x60\000\000\000\001\000\000\000 MS Windows HtmlHelp Data +0 string/b ITSF\003\000\000\000\x60\000\000\000\001\000\000\000 MS Windows HtmlHelp Data # GFA-BASIC (Wolfram Kleff) -2 string GFA-BASIC3 GFA-BASIC 3 data +2 string/b GFA-BASIC3 GFA-BASIC 3 data #------------------------------------------------------------------------------ # From Stuart Caie (developer of cabextract) # Microsoft Cabinet files -0 string MSCF\0\0\0\0 Microsoft Cabinet archive data +0 string/b MSCF\0\0\0\0 Microsoft Cabinet archive data !:mime application/vnd.ms-cab-compressed >8 lelong x \b, %u bytes >28 leshort 1 \b, 1 file >28 leshort >1 \b, %u files # InstallShield Cabinet files -0 string ISc( InstallShield Cabinet archive data +0 string/b ISc( InstallShield Cabinet archive data >5 byte&0xf0 =0x60 version 6, >5 byte&0xf0 !0x60 version 4/5, >(12.l+40) lelong x %u files # Windows CE package files -0 string MSCE\0\0\0\0 Microsoft WinCE install header +0 string/b MSCE\0\0\0\0 Microsoft WinCE install header >20 lelong 0 \b, architecture-independent >20 lelong 103 \b, Hitachi SH3 >20 lelong 104 \b, Hitachi SH4 @@ -748,7 +748,7 @@ >>44 ulelong x version 0x%x # From: Alex Beregszaszi -0 string COWD VMWare3 +0 string/b COWD VMWare3 >4 byte 3 disk image >>32 lelong x (%d/ >>36 lelong x \b%d/ @@ -756,8 +756,8 @@ >4 byte 2 undoable disk image >>32 string >\0 (%s) -0 string VMDK VMware4 disk image -0 string KDMV VMware4 disk image +0 string/b VMDK VMware4 disk image +0 string/b KDMV VMware4 disk image #-------------------------------------------------------------------- # Qemu Emulator Images @@ -765,11 +765,11 @@ # Updated by Adam Buchbinder (adam.buchbinder@gmail.com) # Made by reading sources, reading documentation, and doing trial and error # on existing QCOW files -0 string QFI\xFB QEMU QCOW Image +0 string/b QFI\xFB QEMU QCOW Image # Uncomment the following line to display Magic (only used for debugging # this magic number) -#>0 string x , Magic: %s +#>0 string/b x , Magic: %s # There are currently 2 Versions: "1" and "2". # http://www.gnome.org/~markmc/qcow-image-format-version-1.html @@ -813,9 +813,9 @@ >4 default x (unknown version) -0 string QEVM QEMU suspend to disk image +0 string/b QEVM QEMU suspend to disk image -0 string Bochs\ Virtual\ HD\ Image Bochs disk image, +0 string/b Bochs\ Virtual\ HD\ Image Bochs disk image, >32 string x type %s, >48 string x subtype %s @@ -823,8 +823,8 @@ # from http://filext.com by Derek M Jones # False positive with PPT (also currently this string is too long) -#0 string \xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3E\x00\x03\x00\xFE\xFF\x09\x00\x06 Microsoft Installer -0 string \320\317\021\340\241\261\032\341 Microsoft Office Document +#0 string/b \xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3E\x00\x03\x00\xFE\xFF\x09\x00\x06 Microsoft Installer +0 string/b \320\317\021\340\241\261\032\341 Microsoft Office Document #>48 byte 0x1B Excel Document #!:mime application/vnd.ms-excel >546 string bjbj Microsoft Word Document @@ -832,7 +832,7 @@ >546 string jbjb Microsoft Word Document !:mime application/msword -0 string \224\246\056 Microsoft Word Document +0 string/b \224\246\056 Microsoft Word Document !:mime application/msword 512 string R\0o\0o\0t\0\ \0E\0n\0t\0r\0y Microsoft Word Document @@ -841,7 +841,7 @@ # From: "Nelson A. de Oliveira" # Magic type for Dell's BIOS .hdr files # Dell's .hdr -0 string $RBU +0 string/b $RBU >23 string Dell %s system BIOS >5 byte 2 >>48 byte x version %d. @@ -853,7 +853,7 @@ # Type: Microsoft DirectDraw Surface # URL: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp # From: Morten Hustveit -0 string DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS), +0 string/b DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS), >16 lelong >0 %hd x >12 lelong >0 %hd, >84 string x %.4s @@ -864,13 +864,13 @@ 0 short 0x5045 Microsoft Document Imaging Format # MS eBook format (.lit) -0 string ITOLITLS Microsoft Reader eBook Data +0 string/b ITOLITLS Microsoft Reader eBook Data >8 lelong x \b, version %u !:mime application/x-ms-reader # Windows CE Binary Image Data Format # From: Dr. Jesus -0 string B000FF\n Windows Embedded CE binary image +0 string/b B000FF\n Windows Embedded CE binary image # Windows Imaging (WIM) Image -0 string MSWIM\000\000\000 Windows imaging (WIM) image +0 string/b MSWIM\000\000\000 Windows imaging (WIM) image Added: vendor/file/dist/Magdir/music ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/Magdir/music Fri Apr 13 23:30:38 2012 (r234250) @@ -0,0 +1,17 @@ +#------------------------------------------------------------------------------ +# $File: music,v 1.1 2011/11/25 03:28:17 christos Exp $ +# music: file (1) magic for music formats + +# BWW format used by Bagpipe Music Writer Gold by Robert MacNeil Musicworks +# and Bagpipe Writer by Doug Wickstrom +# +0 string Bagpipe Bagpipe +>8 string Reader Reader +>>15 string >\0 (version %.3s) +>8 string Music\ Writer Music Writer +>>20 string : +>>>21 string >\0 (version %.3s) +>>21 string Gold Gold +>>>25 string : +>>>>26 string >\0 (version %.3s) + Modified: vendor/file/dist/Magdir/netbsd ============================================================================== --- vendor/file/dist/Magdir/netbsd Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/netbsd Fri Apr 13 23:30:38 2012 (r234250) @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: netbsd,v 1.18 2009/09/19 16:28:11 christos Exp $ +# $File: netbsd,v 1.19 2011/10/31 17:23:34 christos Exp $ # netbsd: file(1) magic for NetBSD objects # # All new-style magic numbers are in network byte order. @@ -245,3 +245,42 @@ 0 belong&0377777777 043600507 a.out NetBSD/arm core >12 string >\0 from '%s' >32 lelong !0 (signal %d) + +# Kernel core dump format +0 belong&0x0000ffff 0x00008fca NetBSD kernel core file +>0 belong&0x03ff0000 0x00000000 \b, Unknown +>0 belong&0x03ff0000 0x00001000 \b, sun 68010/68020 +>0 belong&0x03ff0000 0x00020000 \b, sun 68020 +>0 belong&0x03ff0000 0x00640000 \b, 386 PC +>0 belong&0x03ff0000 0x00860000 \b, i386 BSD +>0 belong&0x03ff0000 0x00870000 \b, m68k BSD (8K pages) +>0 belong&0x03ff0000 0x00880000 \b, m68k BSD (4K pages) +>0 belong&0x03ff0000 0x00890000 \b, ns32532 BSD +>0 belong&0x03ff0000 0x008a0000 \b, sparc/32 BSD +>0 belong&0x03ff0000 0x008b0000 \b, pmax BSD +>0 belong&0x03ff0000 0x008c0000 \b, vax BSD (1K pages) +>0 belong&0x03ff0000 0x008d0000 \b, alpha BSD +>0 belong&0x03ff0000 0x008e0000 \b, mips BSD (Big Endian) +>0 belong&0x03ff0000 0x008f0000 \b, arm6 BSD +>0 belong&0x03ff0000 0x00900000 \b, m68k BSD (2K pages) +>0 belong&0x03ff0000 0x00910000 \b, sh3 BSD +>0 belong&0x03ff0000 0x00920000 \b, ppc BSD (Big Endian) +>0 belong&0x03ff0000 0x00930000 \b, vax BSD (4K pages) +>0 belong&0x03ff0000 0x00940000 \b, mips1 BSD +>0 belong&0x03ff0000 0x00950000 \b, mips2 BSD +>0 belong&0x03ff0000 0x00960000 \b, parisc BSD +>0 belong&0x03ff0000 0x00970000 \b, sh5/64 BSD +>0 belong&0x03ff0000 0x00980000 \b, sparc/64 BSD +>0 belong&0x03ff0000 0x00990000 \b, amd64 BSD +>0 belong&0x03ff0000 0x009a0000 \b, hp200 (68010) BSD +>0 belong&0x03ff0000 0x009b0000 \b, hp300 (68020+68881) BSD +>0 belong&0x03ff0000 0x009b0000 \b, hp300 (68020+68881) BSD +>0 belong&0x03ff0000 0x00c80000 \b, hp200 +>0 belong&0x03ff0000 0x020b0000 \b, hp300 (68020+68881) HP-UX +>0 belong&0x03ff0000 0x020c0000 \b, hp300 (68020+68881) HP-UX +>0 belong&0xfc000000 0x04000000 \b, CPU +>0 belong&0xfc000000 0x08000000 \b, DATA +>0 belong&0xfc000000 0x10000000 \b, STACK +>4 leshort x \b, (headersize = %d +>6 leshort x \b, segmentsize = %d +>6 lelong x \b, segments = %d) Modified: vendor/file/dist/Magdir/palm ============================================================================== --- vendor/file/dist/Magdir/palm Fri Apr 13 23:24:49 2012 (r234249) +++ vendor/file/dist/Magdir/palm Fri Apr 13 23:30:38 2012 (r234250) @@ -1,65 +1,72 @@ #------------------------------------------------------------------------------ -# $File: palm,v 1.7 2009/09/19 16:28:11 christos Exp $ -# palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks +# $File: palm,v 1.9 2012/01/16 15:16:43 christos Exp $ +# palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks # # Brian Lalor +# These are weak, byte 59 is not guaranteed to be 0 and there are +# 8 character identifiers at byte 60, one I found for appl is BIGb. +# What are the possibilities and where is this documented? + # appl -60 belong 0x6170706c PalmOS application ->0 string >\0 "%s" +#59 byte \0 +#>60 string appl PalmOS application +#>0 string >\0 "%s" # TEXt -60 belong 0x54455874 AportisDoc file ->0 string >\0 "%s" +#59 byte \0 +#>60 belong TEXt AportisDoc file +#>0 string >\0 "%s" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Fri Apr 13 23:53:54 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18F7D106564A; Fri, 13 Apr 2012 23:53:54 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DF7588FC08; Fri, 13 Apr 2012 23:53: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 q3DNrrJ0003533; Fri, 13 Apr 2012 23:53:53 GMT (envelope-from obrien@svn.freebsd.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3DNrrmY003532; Fri, 13 Apr 2012 23:53:53 GMT (envelope-from obrien@svn.freebsd.org) Message-Id: <201204132353.q3DNrrmY003532@svn.freebsd.org> From: "David E. O'Brien" Date: Fri, 13 Apr 2012 23:53:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234251 - vendor/file/5.11 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2012 23:53:54 -0000 Author: obrien Date: Fri Apr 13 23:53:53 2012 New Revision: 234251 URL: http://svn.freebsd.org/changeset/base/234251 Log: "Tag" the file 5.11 vendor import. Added: vendor/file/5.11/ - copied from r234250, vendor/file/dist/ From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:06:54 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4C32D106564A; Sat, 14 Apr 2012 02:06:54 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 375E48FC0A; Sat, 14 Apr 2012 02:06:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E26sBQ008011; Sat, 14 Apr 2012 02:06:54 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E26rnf008009; Sat, 14 Apr 2012 02:06:53 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140206.q3E26rnf008009@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:06:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234260 - stable/9/sbin/sysctl X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:06:54 -0000 Author: eadler Date: Sat Apr 14 02:06:53 2012 New Revision: 234260 URL: http://svn.freebsd.org/changeset/base/234260 Log: MFC r234134: s/Free Memory Pages/Free Memory/ to avoid confusion, since we're reporting a number of bytes rather than a number of pages Approved by: cperciva (implicit) Modified: stable/9/sbin/sysctl/sysctl.c Directory Properties: stable/9/sbin/sysctl/ (props changed) Modified: stable/9/sbin/sysctl/sysctl.c ============================================================================== --- stable/9/sbin/sysctl/sysctl.c Sat Apr 14 00:40:32 2012 (r234259) +++ stable/9/sbin/sysctl/sysctl.c Sat Apr 14 02:06:53 2012 (r234260) @@ -419,7 +419,7 @@ S_vmtotal(int l2, void *p) v->t_vmshr * pageKilo, v->t_avmshr * pageKilo); printf("Shared Real Memory:\t(Total: %dK Active: %dK)\n", v->t_rmshr * pageKilo, v->t_armshr * pageKilo); - printf("Free Memory Pages:\t%dK\n", v->t_free * pageKilo); + printf("Free Memory:\t%dK\n", v->t_free * pageKilo); return (0); } From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:07:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 429651065782; Sat, 14 Apr 2012 02:07:19 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D70C8FC14; Sat, 14 Apr 2012 02:07:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E27J2k008060; Sat, 14 Apr 2012 02:07:19 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E27I5d008058; Sat, 14 Apr 2012 02:07:18 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140207.q3E27I5d008058@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:07:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234261 - stable/8/sbin/sysctl X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:07:19 -0000 Author: eadler Date: Sat Apr 14 02:07:18 2012 New Revision: 234261 URL: http://svn.freebsd.org/changeset/base/234261 Log: MFC r234134: s/Free Memory Pages/Free Memory/ to avoid confusion, since we're reporting a number of bytes rather than a number of pages Approved by: cperciva (implicit) Modified: stable/8/sbin/sysctl/sysctl.c Directory Properties: stable/8/sbin/sysctl/ (props changed) Modified: stable/8/sbin/sysctl/sysctl.c ============================================================================== --- stable/8/sbin/sysctl/sysctl.c Sat Apr 14 02:06:53 2012 (r234260) +++ stable/8/sbin/sysctl/sysctl.c Sat Apr 14 02:07:18 2012 (r234261) @@ -411,7 +411,7 @@ S_vmtotal(int l2, void *p) v->t_vmshr * pageKilo, v->t_avmshr * pageKilo); printf("Shared Real Memory:\t(Total: %dK Active: %dK)\n", v->t_rmshr * pageKilo, v->t_armshr * pageKilo); - printf("Free Memory Pages:\t%dK\n", v->t_free * pageKilo); + printf("Free Memory:\t%dK\n", v->t_free * pageKilo); return (0); } From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:07:38 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F4BC1065678; Sat, 14 Apr 2012 02:07:38 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7AD858FC15; Sat, 14 Apr 2012 02:07:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E27ceA008105; Sat, 14 Apr 2012 02:07:38 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E27cLX008103; Sat, 14 Apr 2012 02:07:38 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140207.q3E27cLX008103@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:07:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234262 - stable/7/sbin/sysctl X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:07:38 -0000 Author: eadler Date: Sat Apr 14 02:07:37 2012 New Revision: 234262 URL: http://svn.freebsd.org/changeset/base/234262 Log: MFC r234134: s/Free Memory Pages/Free Memory/ to avoid confusion, since we're reporting a number of bytes rather than a number of pages Approved by: cperciva (implicit) Modified: stable/7/sbin/sysctl/sysctl.c Directory Properties: stable/7/sbin/sysctl/ (props changed) Modified: stable/7/sbin/sysctl/sysctl.c ============================================================================== --- stable/7/sbin/sysctl/sysctl.c Sat Apr 14 02:07:18 2012 (r234261) +++ stable/7/sbin/sysctl/sysctl.c Sat Apr 14 02:07:37 2012 (r234262) @@ -408,7 +408,7 @@ S_vmtotal(int l2, void *p) v->t_vmshr * pageKilo, v->t_avmshr * pageKilo); printf("Shared Real Memory:\t(Total: %dK Active: %dK)\n", v->t_rmshr * pageKilo, v->t_armshr * pageKilo); - printf("Free Memory Pages:\t%dK\n", v->t_free * pageKilo); + printf("Free Memory:\t%dK\n", v->t_free * pageKilo); return (0); } From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:10:46 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5928F106566C; Sat, 14 Apr 2012 02:10:46 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 44DB58FC17; Sat, 14 Apr 2012 02:10: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 q3E2Akcg008259; Sat, 14 Apr 2012 02:10:46 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E2Ak9M008257; Sat, 14 Apr 2012 02:10:46 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140210.q3E2Ak9M008257@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:10:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234263 - stable/9/usr.sbin/ppp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:10:46 -0000 Author: eadler Date: Sat Apr 14 02:10:45 2012 New Revision: 234263 URL: http://svn.freebsd.org/changeset/base/234263 Log: MFC r230347: Fix warning when compiling with gcc46: error: variable 'addrs' set but not used Approved by: cperciva (implicit) Modified: stable/9/usr.sbin/ppp/iface.c Directory Properties: stable/9/usr.sbin/ppp/ (props changed) Modified: stable/9/usr.sbin/ppp/iface.c ============================================================================== --- stable/9/usr.sbin/ppp/iface.c Sat Apr 14 02:07:37 2012 (r234262) +++ stable/9/usr.sbin/ppp/iface.c Sat Apr 14 02:10:45 2012 (r234263) @@ -471,12 +471,11 @@ iface_Descr(struct cmdargs const *arg) void iface_Clear(struct iface *iface, struct ncp *ncp, int family, int how) { - int addrs, af, inskip, in6skip, s4 = -1, s6 = -1, *s; + int af, inskip, in6skip, s4 = -1, s6 = -1, *s; unsigned n; if (iface->addrs) { inskip = in6skip = how == IFACE_CLEAR_ALL ? 0 : 1; - addrs = 0; for (n = 0; n < iface->addrs; n++) { af = ncprange_family(&iface->addr[n].ifa); From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:11:08 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8956810656E3; Sat, 14 Apr 2012 02:11:08 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 737A28FC14; Sat, 14 Apr 2012 02:11: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 q3E2B8Sx008319; Sat, 14 Apr 2012 02:11:08 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E2B89Q008317; Sat, 14 Apr 2012 02:11:08 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140211.q3E2B89Q008317@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:11:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234264 - stable/8/usr.sbin/ppp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:11:08 -0000 Author: eadler Date: Sat Apr 14 02:11:08 2012 New Revision: 234264 URL: http://svn.freebsd.org/changeset/base/234264 Log: MFC r230347: Fix warning when compiling with gcc46: error: variable 'addrs' set but not used Approved by: cperciva (implicit) Modified: stable/8/usr.sbin/ppp/iface.c Directory Properties: stable/8/usr.sbin/ppp/ (props changed) Modified: stable/8/usr.sbin/ppp/iface.c ============================================================================== --- stable/8/usr.sbin/ppp/iface.c Sat Apr 14 02:10:45 2012 (r234263) +++ stable/8/usr.sbin/ppp/iface.c Sat Apr 14 02:11:08 2012 (r234264) @@ -471,12 +471,11 @@ iface_Descr(struct cmdargs const *arg) void iface_Clear(struct iface *iface, struct ncp *ncp, int family, int how) { - int addrs, af, inskip, in6skip, s4 = -1, s6 = -1, *s; + int af, inskip, in6skip, s4 = -1, s6 = -1, *s; unsigned n; if (iface->addrs) { inskip = in6skip = how == IFACE_CLEAR_ALL ? 0 : 1; - addrs = 0; for (n = 0; n < iface->addrs; n++) { af = ncprange_family(&iface->addr[n].ifa); From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:11:27 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 17DD210656D7; Sat, 14 Apr 2012 02:11:27 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 02D2D8FC20; Sat, 14 Apr 2012 02:11:27 +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 q3E2BQkG008362; Sat, 14 Apr 2012 02:11:26 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E2BQit008360; Sat, 14 Apr 2012 02:11:26 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140211.q3E2BQit008360@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:11:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234265 - stable/7/usr.sbin/ppp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:11:27 -0000 Author: eadler Date: Sat Apr 14 02:11:26 2012 New Revision: 234265 URL: http://svn.freebsd.org/changeset/base/234265 Log: MFC r230347: Fix warning when compiling with gcc46: error: variable 'addrs' set but not used Approved by: cperciva (implicit) Modified: stable/7/usr.sbin/ppp/iface.c Directory Properties: stable/7/usr.sbin/ppp/ (props changed) Modified: stable/7/usr.sbin/ppp/iface.c ============================================================================== --- stable/7/usr.sbin/ppp/iface.c Sat Apr 14 02:11:08 2012 (r234264) +++ stable/7/usr.sbin/ppp/iface.c Sat Apr 14 02:11:26 2012 (r234265) @@ -373,12 +373,11 @@ iface_addr_Add(const char *name, struct void iface_Clear(struct iface *iface, struct ncp *ncp, int family, int how) { - int addrs, af, inskip, in6skip, s4 = -1, s6 = -1, *s; + int af, inskip, in6skip, s4 = -1, s6 = -1, *s; unsigned n; if (iface->addrs) { inskip = in6skip = how == IFACE_CLEAR_ALL ? 0 : 1; - addrs = 0; for (n = 0; n < iface->addrs; n++) { af = ncprange_family(&iface->addr[n].ifa); From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:47:00 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 78F0C106566B; Sat, 14 Apr 2012 02:47:00 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6449C8FC0C; Sat, 14 Apr 2012 02:47:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E2l0hs009444; Sat, 14 Apr 2012 02:47:00 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E2kxFF009442; Sat, 14 Apr 2012 02:46:59 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140246.q3E2kxFF009442@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:46:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234266 - stable/9/lib/libc/string X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:47:00 -0000 Author: eadler Date: Sat Apr 14 02:46:59 2012 New Revision: 234266 URL: http://svn.freebsd.org/changeset/base/234266 Log: MFC r231813: Add err(3) to strerror(3) SEE ALSO section Approved by: cperciva (implicit) Modified: stable/9/lib/libc/string/strerror.3 Directory Properties: stable/9/lib/libc/ (props changed) Modified: stable/9/lib/libc/string/strerror.3 ============================================================================== --- stable/9/lib/libc/string/strerror.3 Sat Apr 14 02:11:26 2012 (r234265) +++ stable/9/lib/libc/string/strerror.3 Sat Apr 14 02:46:59 2012 (r234266) @@ -147,6 +147,7 @@ or should be used instead. .Sh SEE ALSO .Xr intro 2 , +.Xr err 3 , .Xr psignal 3 .Sh STANDARDS The From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:48:20 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 477F6106564A; Sat, 14 Apr 2012 02:48:20 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 31ED48FC08; Sat, 14 Apr 2012 02:48: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 q3E2mKLx009601; Sat, 14 Apr 2012 02:48:20 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E2mJ7M009598; Sat, 14 Apr 2012 02:48:19 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140248.q3E2mJ7M009598@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:48:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234267 - stable/8/lib/libc/string X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:48:20 -0000 Author: eadler Date: Sat Apr 14 02:48:19 2012 New Revision: 234267 URL: http://svn.freebsd.org/changeset/base/234267 Log: MFC r231813: Add err(3) to strerror(3) SEE ALSO section Approved by: cperciva (implicit) Modified: stable/8/lib/libc/string/strerror.3 Directory Properties: stable/8/lib/libc/ (props changed) Modified: stable/8/lib/libc/string/strerror.3 ============================================================================== --- stable/8/lib/libc/string/strerror.3 Sat Apr 14 02:46:59 2012 (r234266) +++ stable/8/lib/libc/string/strerror.3 Sat Apr 14 02:48:19 2012 (r234267) @@ -147,6 +147,7 @@ or should be used instead. .Sh SEE ALSO .Xr intro 2 , +.Xr err 3 , .Xr psignal 3 .Sh STANDARDS The From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 02:49:02 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2626E106566B; Sat, 14 Apr 2012 02:49:02 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1071D8FC18; Sat, 14 Apr 2012 02:49:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E2n1J0009652; Sat, 14 Apr 2012 02:49:01 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E2n1CZ009650; Sat, 14 Apr 2012 02:49:01 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201204140249.q3E2n1CZ009650@svn.freebsd.org> From: Eitan Adler Date: Sat, 14 Apr 2012 02:49:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234268 - stable/7/lib/libc/string X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 02:49:02 -0000 Author: eadler Date: Sat Apr 14 02:49:01 2012 New Revision: 234268 URL: http://svn.freebsd.org/changeset/base/234268 Log: MFC r231813: Add err(3) to strerror(3) SEE ALSO section Approved by: cperciva (implicit) Modified: stable/7/lib/libc/string/strerror.3 Directory Properties: stable/7/lib/libc/ (props changed) Modified: stable/7/lib/libc/string/strerror.3 ============================================================================== --- stable/7/lib/libc/string/strerror.3 Sat Apr 14 02:48:19 2012 (r234267) +++ stable/7/lib/libc/string/strerror.3 Sat Apr 14 02:49:01 2012 (r234268) @@ -147,6 +147,7 @@ or should be used instead. .Sh SEE ALSO .Xr intro 2 , +.Xr err 3 , .Xr psignal 3 .Sh STANDARDS The From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 04:13:52 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 12DD5106566C; Sat, 14 Apr 2012 04:13:52 +0000 (UTC) (envelope-from gonzo@hq.bluezbox.com) Received: from hq.bluezbox.com (hq.bluezbox.com [70.38.37.145]) by mx1.freebsd.org (Postfix) with ESMTP id BA6AD8FC0A; Sat, 14 Apr 2012 04:13:51 +0000 (UTC) Received: from [24.87.53.93] (helo=[192.168.1.116]) by hq.bluezbox.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.73 (FreeBSD)) (envelope-from ) id 1SIuMh-000HO9-6q; Fri, 13 Apr 2012 21:13:36 -0700 Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Oleksandr Tymoshenko In-Reply-To: <201204121743.q3CHhxQA039333@svn.freebsd.org> Date: Fri, 13 Apr 2012 21:13:42 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201204121743.q3CHhxQA039333@svn.freebsd.org> To: John Baldwin X-Mailer: Apple Mail (2.1084) Sender: gonzo@hq.bluezbox.com X-Spam-Level: ---- X-Spam-Report: Spam detection software, running on the system "hq.bluezbox.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: On 2012-04-12, at 10:43 AM, John Baldwin wrote: > Author: jhb > Date: Thu Apr 12 17:43:59 2012 > New Revision: 234190 > URL: http://svn.freebsd.org/changeset/base/234190 > > Log: > - Extend the KDB interface to add a per-debugger callback to print a > backtrace for an arbitrary thread (rather than the calling thread). > A kdb_backtrace_thread() wrapper function uses the configured debugger > if possible, otherwise it falls back to using stack(9) if that is > available. > - Replace a direct call to db_trace_thread() in propagate_priority() > with a call to kdb_backtrace_thread() instead. > > > Modified: head/sys/kern/subr_turnstile.c > ============================================================================== > --- head/sys/kern/subr_turnstile.c Thu Apr 12 16:55:48 2012 (r234189) > +++ head/sys/kern/subr_turnstile.c Thu Apr 12 17:43:59 2012 (r234190) > @@ -217, 9 +217, 7 @@ propagate_priority(struct thread *td) > printf( > "Sleeping thread (tid %d, pid %d) owns a non-sleepable lock\n", > td->td_tid, td->td_proc->p_pid); > -#ifdef DDB > - db_trace_thread(td, -1); > -#endif > + kdb_backtrace_thread(td); > panic("sleeping thread"); > } [...] Content analysis details: (-4.4 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.8 ALL_TRUSTED Passed through trusted hosts only via SMTP -2.6 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234190 - in head/sys: kern sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 04:13:52 -0000 On 2012-04-12, at 10:43 AM, John Baldwin wrote: > Author: jhb > Date: Thu Apr 12 17:43:59 2012 > New Revision: 234190 > URL: http://svn.freebsd.org/changeset/base/234190 >=20 > Log: > - Extend the KDB interface to add a per-debugger callback to print a > backtrace for an arbitrary thread (rather than the calling thread). > A kdb_backtrace_thread() wrapper function uses the configured = debugger > if possible, otherwise it falls back to using stack(9) if that is > available. > - Replace a direct call to db_trace_thread() in propagate_priority() > with a call to kdb_backtrace_thread() instead. >=20 >=20 > Modified: head/sys/kern/subr_turnstile.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/kern/subr_turnstile.c Thu Apr 12 16:55:48 2012 = (r234189) > +++ head/sys/kern/subr_turnstile.c Thu Apr 12 17:43:59 2012 = (r234190) > @@ -217,9 +217,7 @@ propagate_priority(struct thread *td) > printf( > "Sleeping thread (tid %d, pid %d) owns a non-sleepable = lock\n", > td->td_tid, td->td_proc->p_pid); > -#ifdef DDB > - db_trace_thread(td, -1); > -#endif > + kdb_backtrace_thread(td); > panic("sleeping thread"); > } It seems that missing "#ifdef DDB" break build for kernels without DDB = enabled: cc1: warnings being treated as errors /src/FreeBSD/head/sys/kern/subr_turnstile.c: In function = 'propagate_priority': /src/FreeBSD/head/sys/kern/subr_turnstile.c:220: warning: implicit = declaration of function 'kdb_backtrace_thread' /src/FreeBSD/head/sys/kern/subr_turnstile.c:220: warning: nested extern = declaration of 'kdb_backtrace_thread' [-Wnested-externs] From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 04:40:12 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 84BD4106564A; Sat, 14 Apr 2012 04:40:12 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6FA6D8FC1E; Sat, 14 Apr 2012 04:40:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E4eCTN013487; Sat, 14 Apr 2012 04:40:12 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E4eC7R013484; Sat, 14 Apr 2012 04:40:12 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201204140440.q3E4eC7R013484@svn.freebsd.org> From: Adrian Chadd Date: Sat, 14 Apr 2012 04:40:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234269 - head/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 04:40:12 -0000 Author: adrian Date: Sat Apr 14 04:40:11 2012 New Revision: 234269 URL: http://svn.freebsd.org/changeset/base/234269 Log: Both linux ath9k and the reference driver initialises the PLL here during chip wakeup. Obtained from: Linux ath9k, Atheros Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_power.c Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_power.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5416/ar5416_power.c Sat Apr 14 02:49:01 2012 (r234268) +++ head/sys/dev/ath/ath_hal/ar5416/ar5416_power.c Sat Apr 14 04:40:11 2012 (r234269) @@ -50,6 +50,7 @@ ar5416SetPowerModeAwake(struct ath_hal * & AR_RTC_PM_STATUS_M) == AR_RTC_STATUS_SHUTDOWN) { if (!ar5416SetResetReg(ah, HAL_RESET_POWER_ON)) goto bad; + AH5416(ah)->ah_initPLL(ah, AH_NULL); } if (AR_SREV_HOWL(ah)) From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 05:48:05 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 58504106566B; Sat, 14 Apr 2012 05:48:05 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4194F8FC0A; Sat, 14 Apr 2012 05:48:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E5m53l015534; Sat, 14 Apr 2012 05:48:05 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E5m5Qn015526; Sat, 14 Apr 2012 05:48:05 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201204140548.q3E5m5Qn015526@svn.freebsd.org> From: Peter Grehan Date: Sat, 14 Apr 2012 05:48:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234270 - in head/sys/dev/virtio: . balloon block network pci X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 05:48:05 -0000 Author: grehan Date: Sat Apr 14 05:48:04 2012 New Revision: 234270 URL: http://svn.freebsd.org/changeset/base/234270 Log: Catch up with Bryan Venteicher's virtio git repo: a8af6270bd96be6ccd86f70b60fa6512b710e4f0 virtio_blk: Include function name in panic string cbdb03a694b76c5253d7ae3a59b9995b9afbb67a virtio_balloon: Do the notify outside of the lock By the time we return from virtqueue_notify(), the descriptor will be in the used ring so we shouldn't have to sleep. 10ba392e60692529a5cbc1e9987e4064e0128447 virtio: Use DEVMETHOD_END 80cbcc4d6552cac758be67f0c99c36f23ce62110 virtqueue: Add support for VIRTIO_F_RING_EVENT_IDX This can be used to reduce the number of guest/host and host/guest interrupts by delaying the interrupt until a certain index value is reached. Actual use by the network driver will come along later. 8fc465969acc0c58477153e4c3530390db436c02 virtqueue: Simplify virtqueue_nused() Since the values just wrap naturally at UINT16_MAX, we can just subtract the two values directly, rather than doing 2's complement math. a8aa22f25959e2767d006cd621b69050e7ffb0ae virtio_blk: Remove debugging crud from 75dd732a There seems to be an issue with Qemu (or FreeBSD VirtIO) that sets the PCI register space for the device config to bogus values. This only seems to happen after unloading and reloading the module. d404800661cb2a9769c033f8a50b2133934501aa virtio_blk: Use better variable name 75dd732a97743d96e7c63f7ced3c2169696dadd3 virtio_blk: Partially revert 92ba40e65 Just use the virtqueue to determine if any requests are still inflight. 06661ed66b7a9efaea240f99f414c368f1bbcdc7 virtio_blk: error if allowed too few segments Should never happen unless the host provides use with a bogus seg_max value. 4b33e5085bc87a818433d7e664a0a2c8f56a1a89 virtio_blk: Sort function declarations 426b9f5cac892c9c64cc7631966461514f7e08c6 virtio_blk: Cleanup whitespace 617c23e12c61e3c2233d942db713c6b8ff0bd112 virtio_blk: Call disk_err() on error'd completed requests 081a5712d4b2e0abf273be4d26affcf3870263a9 virtio_blk: ASSERT the ready and inflight request queues are empty a9be2631a4f770a84145c18ee03a3f103bed4ca8 virtio_blk: Simplify check for too many segments At the cost of a small style violation. e00ec09da014f2e60cc75542d0ab78898672d521 virtio_blk: Add beginnings of suspend/resume Still not sure if we need to virtio_stop()/virtio_reinit() the device before/after a suspend. Don't start additional IO when marked as suspending. 47c71dc6ce8c238aa59ce8afd4bda5aa294bc884 virtio_blk: Panic when dealt an unhandled BIO cmd 1055544f90fb8c0cc6a2395f5b6104039606aafe virtio_blk: Add VQ enqueue/dequeue wrappers Wrapper functions managed the added/removing to the in-flight list of requests. Normally biodone() any completed IO when draining the virtqueue. 92ba40e65b3bb5e4acb9300ece711f1ea8f3f7f4 virtio_blk: Add in-flight list of requests 74f6d260e075443544522c0833dc2712dd93f49b virtio_blk: Rename VTBLK_FLAG_DETACHING to VTBLK_FLAG_DETACH 7aa549050f6fc6551c09c6362ed6b2a0728956ef virtio_blk: Finish all BIOs through vtblk_finish_bio() Also properly set bio_resid in the case of errors. Most geom_disk providers seem to do the same. 9eef6d0e6f7e5dd362f71ba097f2e2e4c3744882 Added function to translate VirtIO status to error code ef06adc337f31e1129d6d5f26de6d8d1be27bcd2 Reset dumping flag when given unexpected parameters 393b3e390c644193a2e392220dcc6a6c50b212d9 Added missing VTBLK_LOCK() in dump handler Obtained from: Bryan Venteicher bryanv at daemoninthecloset dot org Modified: head/sys/dev/virtio/balloon/virtio_balloon.c head/sys/dev/virtio/block/virtio_blk.c head/sys/dev/virtio/network/if_vtnet.c head/sys/dev/virtio/pci/virtio_pci.c head/sys/dev/virtio/virtio_ring.h head/sys/dev/virtio/virtqueue.c head/sys/dev/virtio/virtqueue.h Modified: head/sys/dev/virtio/balloon/virtio_balloon.c ============================================================================== --- head/sys/dev/virtio/balloon/virtio_balloon.c Sat Apr 14 04:40:11 2012 (r234269) +++ head/sys/dev/virtio/balloon/virtio_balloon.c Sat Apr 14 05:48:04 2012 (r234270) @@ -122,6 +122,9 @@ static void vtballoon_add_sysctl(struct */ #define VTBALLOON_PAGES_PER_REQUEST 256 +/* Must be able to fix all pages frames in one page (segment). */ +CTASSERT(VTBALLOON_PAGES_PER_REQUEST * sizeof(uint32_t) <= PAGE_SIZE); + #define VTBALLOON_MTX(_sc) &(_sc)->vtballoon_mtx #define VTBALLOON_LOCK_INIT(_sc, _name) mtx_init(VTBALLOON_MTX((_sc)), _name, \ "VirtIO Balloon Lock", MTX_SPIN) @@ -138,7 +141,7 @@ static device_method_t vtballoon_methods /* VirtIO methods. */ DEVMETHOD(virtio_config_change, vtballoon_config_change), - { 0, 0 } + DEVMETHOD_END }; static driver_t vtballoon_driver = { @@ -402,13 +405,13 @@ vtballoon_send_page_frames(struct vtball error = virtqueue_enqueue(vq, vq, &sg, 1, 0); KASSERT(error == 0, ("error enqueuing page frames to virtqueue")); + virtqueue_notify(vq); /* * Inflate and deflate operations are done synchronously. The * interrupt handler will wake us up. */ VTBALLOON_LOCK(sc); - virtqueue_notify(vq); while ((c = virtqueue_dequeue(vq, NULL)) == NULL) msleep_spin(sc, VTBALLOON_MTX(sc), "vtbspf", 0); Modified: head/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- head/sys/dev/virtio/block/virtio_blk.c Sat Apr 14 04:40:11 2012 (r234269) +++ head/sys/dev/virtio/block/virtio_blk.c Sat Apr 14 05:48:04 2012 (r234270) @@ -70,8 +70,8 @@ struct vtblk_softc { uint32_t vtblk_flags; #define VTBLK_FLAG_INDIRECT 0x0001 #define VTBLK_FLAG_READONLY 0x0002 -#define VTBLK_FLAG_DETACHING 0x0004 -#define VTBLK_FLAG_SUSPENDED 0x0008 +#define VTBLK_FLAG_DETACH 0x0004 +#define VTBLK_FLAG_SUSPEND 0x0008 #define VTBLK_FLAG_DUMPING 0x0010 struct virtqueue *vtblk_vq; @@ -82,7 +82,7 @@ struct vtblk_softc { TAILQ_HEAD(, vtblk_request) vtblk_req_free; TAILQ_HEAD(, vtblk_request) - vtblk_req_ready; + vtblk_req_ready; struct taskqueue *vtblk_tq; struct task vtblk_intr_task; @@ -116,6 +116,13 @@ static int vtblk_suspend(device_t); static int vtblk_resume(device_t); static int vtblk_shutdown(device_t); +static int vtblk_open(struct disk *); +static int vtblk_close(struct disk *); +static int vtblk_ioctl(struct disk *, u_long, void *, int, + struct thread *); +static int vtblk_dump(void *, void *, vm_offset_t, off_t, size_t); +static void vtblk_strategy(struct bio *); + static void vtblk_negotiate_features(struct vtblk_softc *); static int vtblk_maximum_segments(struct vtblk_softc *, struct virtio_blk_config *); @@ -124,13 +131,7 @@ static void vtblk_alloc_disk(struct vtbl struct virtio_blk_config *); static void vtblk_create_disk(struct vtblk_softc *); -static int vtblk_open(struct disk *); -static int vtblk_close(struct disk *); -static int vtblk_ioctl(struct disk *, u_long, void *, int, - struct thread *); -static int vtblk_dump(void *, void *, vm_offset_t, off_t, size_t); -static void vtblk_strategy(struct bio *); - +static int vtblk_quiesce(struct vtblk_softc *); static void vtblk_startio(struct vtblk_softc *); static struct vtblk_request * vtblk_bio_request(struct vtblk_softc *); static int vtblk_execute_request(struct vtblk_softc *, @@ -148,6 +149,7 @@ static int vtblk_flush_dump(struct vtblk static int vtblk_poll_request(struct vtblk_softc *, struct vtblk_request *); +static void vtblk_finish_completed(struct vtblk_softc *); static void vtblk_drain_vq(struct vtblk_softc *, int); static void vtblk_drain(struct vtblk_softc *); @@ -161,7 +163,8 @@ static struct vtblk_request * vtblk_dequ static void vtblk_enqueue_ready(struct vtblk_softc *, struct vtblk_request *); -static void vtblk_bio_error(struct bio *, int); +static int vtblk_request_error(struct vtblk_request *); +static void vtblk_finish_bio(struct bio *, int); /* Tunables. */ static int vtblk_no_ident = 0; @@ -189,9 +192,8 @@ TUNABLE_INT("hw.vtblk.no_ident", &vtblk_ #define VTBLK_LOCK_ASSERT_NOTOWNED(_sc) \ mtx_assert(VTBLK_MTX((_sc)), MA_NOTOWNED) -#define VTBLK_BIO_SEGMENTS(_bp) sglist_count((_bp)->bio_data, (_bp)->bio_bcount) - #define VTBLK_DISK_NAME "vtbd" +#define VTBLK_QUIESCE_TIMEOUT (30 * hz) /* * Each block request uses at least two segments - one for the header @@ -210,7 +212,7 @@ static device_method_t vtblk_methods[] = DEVMETHOD(device_resume, vtblk_resume), DEVMETHOD(device_shutdown, vtblk_shutdown), - { 0, 0 } + DEVMETHOD_END }; static driver_t vtblk_driver = { @@ -314,11 +316,13 @@ vtblk_attach(device_t dev) } sc->vtblk_max_nsegs = vtblk_maximum_segments(sc, &blkcfg); + if (sc->vtblk_max_nsegs <= VTBLK_MIN_SEGMENTS) { + error = EINVAL; + device_printf(dev, "fewer than minimum number of segments " + "allowed: %d\n", sc->vtblk_max_nsegs); + goto fail; + } - /* - * Allocate working sglist. The number of segments may be too - * large to safely store on the stack. - */ sc->vtblk_sglist = sglist_alloc(sc->vtblk_max_nsegs, M_NOWAIT); if (sc->vtblk_sglist == NULL) { error = ENOMEM; @@ -376,7 +380,7 @@ vtblk_detach(device_t dev) sc = device_get_softc(dev); VTBLK_LOCK(sc); - sc->vtblk_flags |= VTBLK_FLAG_DETACHING; + sc->vtblk_flags |= VTBLK_FLAG_DETACH; if (device_is_attached(dev)) vtblk_stop(sc); VTBLK_UNLOCK(sc); @@ -408,15 +412,19 @@ static int vtblk_suspend(device_t dev) { struct vtblk_softc *sc; + int error; sc = device_get_softc(dev); VTBLK_LOCK(sc); - sc->vtblk_flags |= VTBLK_FLAG_SUSPENDED; - /* TODO Wait for any inflight IO to complete? */ + sc->vtblk_flags |= VTBLK_FLAG_SUSPEND; + /* XXX BMV: virtio_stop(), etc needed here? */ + error = vtblk_quiesce(sc); + if (error) + sc->vtblk_flags &= ~VTBLK_FLAG_SUSPEND; VTBLK_UNLOCK(sc); - return (0); + return (error); } static int @@ -427,8 +435,9 @@ vtblk_resume(device_t dev) sc = device_get_softc(dev); VTBLK_LOCK(sc); - sc->vtblk_flags &= ~VTBLK_FLAG_SUSPENDED; - /* TODO Resume IO? */ + /* XXX BMV: virtio_reinit(), etc needed here? */ + sc->vtblk_flags &= ~VTBLK_FLAG_SUSPEND; + vtblk_startio(sc); VTBLK_UNLOCK(sc); return (0); @@ -449,7 +458,7 @@ vtblk_open(struct disk *dp) if ((sc = dp->d_drv1) == NULL) return (ENXIO); - return (sc->vtblk_flags & VTBLK_FLAG_DETACHING ? ENXIO : 0); + return (sc->vtblk_flags & VTBLK_FLAG_DETACH ? ENXIO : 0); } static int @@ -489,6 +498,8 @@ vtblk_dump(void *arg, void *virtual, vm_ if ((sc = dp->d_drv1) == NULL) return (ENXIO); + VTBLK_LOCK(sc); + if ((sc->vtblk_flags & VTBLK_FLAG_DUMPING) == 0) { vtblk_prepare_dump(sc); sc->vtblk_flags |= VTBLK_FLAG_DUMPING; @@ -498,6 +509,10 @@ vtblk_dump(void *arg, void *virtual, vm_ error = vtblk_write_dump(sc, virtual, offset, length); else if (virtual == NULL && offset == 0) error = vtblk_flush_dump(sc); + else { + error = EINVAL; + sc->vtblk_flags &= ~VTBLK_FLAG_DUMPING; + } VTBLK_UNLOCK(sc); @@ -510,7 +525,7 @@ vtblk_strategy(struct bio *bp) struct vtblk_softc *sc; if ((sc = bp->bio_disk->d_drv1) == NULL) { - vtblk_bio_error(bp, EINVAL); + vtblk_finish_bio(bp, EINVAL); return; } @@ -520,29 +535,37 @@ vtblk_strategy(struct bio *bp) */ if (sc->vtblk_flags & VTBLK_FLAG_READONLY && (bp->bio_cmd == BIO_WRITE || bp->bio_cmd == BIO_FLUSH)) { - vtblk_bio_error(bp, EROFS); + vtblk_finish_bio(bp, EROFS); return; } +#ifdef INVARIANTS /* * Prevent read/write buffers spanning too many segments from * getting into the queue. This should only trip if d_maxsize * was incorrectly set. */ if (bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE) { - KASSERT(VTBLK_BIO_SEGMENTS(bp) <= sc->vtblk_max_nsegs - - VTBLK_MIN_SEGMENTS, + int nsegs, max_nsegs; + + nsegs = sglist_count(bp->bio_data, bp->bio_bcount); + max_nsegs = sc->vtblk_max_nsegs - VTBLK_MIN_SEGMENTS; + + KASSERT(nsegs <= max_nsegs, ("bio spanned too many segments: %d, max: %d", - VTBLK_BIO_SEGMENTS(bp), - sc->vtblk_max_nsegs - VTBLK_MIN_SEGMENTS)); + nsegs, max_nsegs)); } +#endif VTBLK_LOCK(sc); - if ((sc->vtblk_flags & VTBLK_FLAG_DETACHING) == 0) { + if (sc->vtblk_flags & VTBLK_FLAG_DETACH) + vtblk_finish_bio(bp, ENXIO); + else { bioq_disksort(&sc->vtblk_bioq, bp); - vtblk_startio(sc); - } else - vtblk_bio_error(bp, ENXIO); + + if ((sc->vtblk_flags & VTBLK_FLAG_SUSPEND) == 0) + vtblk_startio(sc); + } VTBLK_UNLOCK(sc); } @@ -669,6 +692,26 @@ vtblk_create_disk(struct vtblk_softc *sc disk_create(dp, DISK_VERSION); } +static int +vtblk_quiesce(struct vtblk_softc *sc) +{ + int error; + + error = 0; + + VTBLK_LOCK_ASSERT(sc); + + while (!virtqueue_empty(sc->vtblk_vq)) { + if (mtx_sleep(&sc->vtblk_vq, VTBLK_MTX(sc), PRIBIO, "vtblkq", + VTBLK_QUIESCE_TIMEOUT) == EWOULDBLOCK) { + error = EBUSY; + break; + } + } + + return (error); +} + static void vtblk_startio(struct vtblk_softc *sc) { @@ -681,9 +724,6 @@ vtblk_startio(struct vtblk_softc *sc) VTBLK_LOCK_ASSERT(sc); - if (sc->vtblk_flags & VTBLK_FLAG_SUSPENDED) - return; - while (!virtqueue_full(vq)) { if ((req = vtblk_dequeue_ready(sc)) == NULL) req = vtblk_bio_request(sc); @@ -736,9 +776,8 @@ vtblk_bio_request(struct vtblk_softc *sc req->vbr_hdr.sector = bp->bio_offset / 512; break; default: - KASSERT(0, ("bio with unhandled cmd: %d", bp->bio_cmd)); - req->vbr_hdr.type = -1; - break; + panic("%s: bio with unhandled cmd: %d", __FUNCTION__, + bp->bio_cmd); } if (bp->bio_flags & BIO_ORDERED) @@ -752,7 +791,7 @@ vtblk_execute_request(struct vtblk_softc { struct sglist *sg; struct bio *bp; - int writable, error; + int readable, writable, error; sg = sc->vtblk_sglist; bp = req->vbr_bp; @@ -783,10 +822,9 @@ vtblk_execute_request(struct vtblk_softc KASSERT(sg->sg_nseg >= VTBLK_MIN_SEGMENTS, ("fewer than min segments: %d", sg->sg_nseg)); - error = virtqueue_enqueue(sc->vtblk_vq, req, sg, - sg->sg_nseg - writable, writable); + readable = sg->sg_nseg - writable; - return (error); + return (virtqueue_enqueue(sc->vtblk_vq, req, sg, readable, writable)); } static int @@ -806,37 +844,23 @@ static void vtblk_intr_task(void *arg, int pending) { struct vtblk_softc *sc; - struct vtblk_request *req; struct virtqueue *vq; - struct bio *bp; sc = arg; vq = sc->vtblk_vq; VTBLK_LOCK(sc); - if (sc->vtblk_flags & VTBLK_FLAG_DETACHING) { + if (sc->vtblk_flags & VTBLK_FLAG_DETACH) { VTBLK_UNLOCK(sc); return; } - while ((req = virtqueue_dequeue(vq, NULL)) != NULL) { - bp = req->vbr_bp; - - if (req->vbr_ack == VIRTIO_BLK_S_OK) - bp->bio_resid = 0; - else { - bp->bio_flags |= BIO_ERROR; - if (req->vbr_ack == VIRTIO_BLK_S_UNSUPP) - bp->bio_error = ENOTSUP; - else - bp->bio_error = EIO; - } - - biodone(bp); - vtblk_enqueue_request(sc, req); - } + vtblk_finish_completed(sc); - vtblk_startio(sc); + if ((sc->vtblk_flags & VTBLK_FLAG_SUSPEND) == 0) + vtblk_startio(sc); + else + wakeup(&sc->vtblk_vq); if (virtqueue_enable_intr(vq) != 0) { virtqueue_disable_intr(vq); @@ -973,7 +997,6 @@ vtblk_poll_request(struct vtblk_softc *s { device_t dev; struct virtqueue *vq; - struct vtblk_request *r; int error; dev = sc->vtblk_dev; @@ -988,20 +1011,37 @@ vtblk_poll_request(struct vtblk_softc *s virtqueue_notify(vq); - r = virtqueue_poll(vq, NULL); - KASSERT(r == req, ("unexpected request response")); + req = virtqueue_poll(vq, NULL); - if (req->vbr_ack != VIRTIO_BLK_S_OK) { - error = req->vbr_ack == VIRTIO_BLK_S_UNSUPP ? ENOTSUP : EIO; - if (bootverbose) - device_printf(dev, - "vtblk_poll_request: IO error: %d\n", error); + error = vtblk_request_error(req); + if (error && bootverbose) { + device_printf(dev, "vtblk_poll_request: IO error: %d\n", + error); } return (error); } static void +vtblk_finish_completed(struct vtblk_softc *sc) +{ + struct vtblk_request *req; + struct bio *bp; + int error; + + while ((req = virtqueue_dequeue(sc->vtblk_vq, NULL)) != NULL) { + bp = req->vbr_bp; + + error = vtblk_request_error(req); + if (error) + disk_err(bp, "hard error", -1, 1); + + vtblk_finish_bio(bp, error); + vtblk_enqueue_request(sc, req); + } +} + +static void vtblk_drain_vq(struct vtblk_softc *sc, int skip_done) { struct virtqueue *vq; @@ -1013,7 +1053,7 @@ vtblk_drain_vq(struct vtblk_softc *sc, i while ((req = virtqueue_drain(vq, &last)) != NULL) { if (!skip_done) - vtblk_bio_error(req->vbr_bp, ENXIO); + vtblk_finish_bio(req->vbr_bp, ENXIO); vtblk_enqueue_request(sc, req); } @@ -1030,17 +1070,19 @@ vtblk_drain(struct vtblk_softc *sc) bioq = &sc->vtblk_bioq; - if (sc->vtblk_vq != NULL) + if (sc->vtblk_vq != NULL) { + vtblk_finish_completed(sc); vtblk_drain_vq(sc, 0); + } while ((req = vtblk_dequeue_ready(sc)) != NULL) { - vtblk_bio_error(req->vbr_bp, ENXIO); + vtblk_finish_bio(req->vbr_bp, ENXIO); vtblk_enqueue_request(sc, req); } while (bioq_first(bioq) != NULL) { bp = bioq_takefirst(bioq); - vtblk_bio_error(bp, ENXIO); + vtblk_finish_bio(bp, ENXIO); } vtblk_free_requests(sc); @@ -1050,9 +1092,9 @@ static int vtblk_alloc_requests(struct vtblk_softc *sc) { struct vtblk_request *req; - int i, size; + int i, nreqs; - size = virtqueue_size(sc->vtblk_vq); + nreqs = virtqueue_size(sc->vtblk_vq); /* * Preallocate sufficient requests to keep the virtqueue full. Each @@ -1060,9 +1102,9 @@ vtblk_alloc_requests(struct vtblk_softc * the number allocated when indirect descriptors are not available. */ if ((sc->vtblk_flags & VTBLK_FLAG_INDIRECT) == 0) - size /= VTBLK_MIN_SEGMENTS; + nreqs /= VTBLK_MIN_SEGMENTS; - for (i = 0; i < size; i++) { + for (i = 0; i < nreqs; i++) { req = uma_zalloc(vtblk_req_zone, M_NOWAIT); if (req == NULL) return (ENOMEM); @@ -1079,6 +1121,9 @@ vtblk_free_requests(struct vtblk_softc * { struct vtblk_request *req; + KASSERT(TAILQ_EMPTY(&sc->vtblk_req_ready), + ("ready requests left on queue")); + while ((req = vtblk_dequeue_request(sc)) != NULL) { sc->vtblk_request_count--; uma_zfree(vtblk_req_zone, req); @@ -1126,9 +1171,35 @@ vtblk_enqueue_ready(struct vtblk_softc * TAILQ_INSERT_HEAD(&sc->vtblk_req_ready, req, vbr_link); } +static int +vtblk_request_error(struct vtblk_request *req) +{ + int error; + + switch (req->vbr_ack) { + case VIRTIO_BLK_S_OK: + error = 0; + break; + case VIRTIO_BLK_S_UNSUPP: + error = ENOTSUP; + break; + default: + error = EIO; + break; + } + + return (error); +} + static void -vtblk_bio_error(struct bio *bp, int error) +vtblk_finish_bio(struct bio *bp, int error) { - biofinish(bp, NULL, error); + if (error) { + bp->bio_resid = bp->bio_bcount; + bp->bio_error = error; + bp->bio_flags |= BIO_ERROR; + } + + biodone(bp); } Modified: head/sys/dev/virtio/network/if_vtnet.c ============================================================================== --- head/sys/dev/virtio/network/if_vtnet.c Sat Apr 14 04:40:11 2012 (r234269) +++ head/sys/dev/virtio/network/if_vtnet.c Sat Apr 14 05:48:04 2012 (r234270) @@ -223,7 +223,7 @@ static device_method_t vtnet_methods[] = /* VirtIO methods. */ DEVMETHOD(virtio_config_change, vtnet_config_change), - { 0, 0 } + DEVMETHOD_END }; static driver_t vtnet_driver = { Modified: head/sys/dev/virtio/pci/virtio_pci.c ============================================================================== --- head/sys/dev/virtio/pci/virtio_pci.c Sat Apr 14 04:40:11 2012 (r234269) +++ head/sys/dev/virtio/pci/virtio_pci.c Sat Apr 14 05:48:04 2012 (r234270) @@ -189,7 +189,7 @@ static device_method_t vtpci_methods[] = DEVMETHOD(virtio_bus_read_device_config, vtpci_read_dev_config), DEVMETHOD(virtio_bus_write_device_config, vtpci_write_dev_config), - { 0, 0 } + DEVMETHOD_END }; static driver_t vtpci_driver = { Modified: head/sys/dev/virtio/virtio_ring.h ============================================================================== --- head/sys/dev/virtio/virtio_ring.h Sat Apr 14 04:40:11 2012 (r234269) +++ head/sys/dev/virtio/virtio_ring.h Sat Apr 14 05:48:04 2012 (r234270) @@ -103,6 +103,7 @@ struct vring { * __u16 avail_flags; * __u16 avail_idx; * __u16 available[num]; + * __u16 used_event_idx; * * // Padding to the next align boundary. * char pad[]; @@ -111,11 +112,19 @@ struct vring { * __u16 used_flags; * __u16 used_idx; * struct vring_used_elem used[num]; + * __u16 avail_event_idx; * }; * * NOTE: for VirtIO PCI, align is 4096. */ +/* + * We publish the used event index at the end of the available ring, and vice + * versa. They are at the end for backwards compatibility. + */ +#define vring_used_event(vr) ((vr)->avail->ring[(vr)->num]) +#define vring_avail_event(vr) (*(uint16_t *)&(vr)->used->ring[(vr)->num]) + static inline int vring_size(unsigned int num, unsigned long align) { @@ -140,4 +149,18 @@ vring_init(struct vring *vr, unsigned in vr->used = (void *) (((unsigned long) &vr->avail->ring[num] + align-1) & ~(align-1)); } + +/* + * The following is used with VIRTIO_RING_F_EVENT_IDX. + * + * Assuming a given event_idx value from the other size, if we have + * just incremented index from old to new_idx, should we trigger an + * event? + */ +static inline int +vring_need_event(uint16_t event_idx, uint16_t new_idx, uint16_t old) +{ + + return (uint16_t)(new_idx - event_idx - 1) < (uint16_t)(new_idx - old); +} #endif /* VIRTIO_RING_H */ Modified: head/sys/dev/virtio/virtqueue.c ============================================================================== --- head/sys/dev/virtio/virtqueue.c Sat Apr 14 04:40:11 2012 (r234269) +++ head/sys/dev/virtio/virtqueue.c Sat Apr 14 05:48:04 2012 (r234270) @@ -60,6 +60,7 @@ struct virtqueue { uint16_t vq_nentries; uint32_t vq_flags; #define VIRTQUEUE_FLAG_INDIRECT 0x0001 +#define VIRTQUEUE_FLAG_EVENT_IDX 0x0002 int vq_alignment; int vq_ring_size; @@ -126,7 +127,8 @@ static uint16_t vq_ring_enqueue_segments static int vq_ring_use_indirect(struct virtqueue *, int); static void vq_ring_enqueue_indirect(struct virtqueue *, void *, struct sglist *, int, int); -static void vq_ring_notify_host(struct virtqueue *, int); +static int vq_ring_must_notify_host(struct virtqueue *); +static void vq_ring_notify_host(struct virtqueue *); static void vq_ring_free_chain(struct virtqueue *, uint16_t); uint64_t @@ -136,6 +138,7 @@ virtqueue_filter_features(uint64_t featu mask = (1 << VIRTIO_TRANSPORT_F_START) - 1; mask |= VIRTIO_RING_F_INDIRECT_DESC; + mask |= VIRTIO_RING_F_EVENT_IDX; return (features & mask); } @@ -184,6 +187,9 @@ virtqueue_alloc(device_t dev, uint16_t q vq->vq_intrhand = info->vqai_intr; vq->vq_intrhand_arg = info->vqai_intr_arg; + if (VIRTIO_BUS_WITH_FEATURE(dev, VIRTIO_RING_F_EVENT_IDX) != 0) + vq->vq_flags |= VIRTQUEUE_FLAG_EVENT_IDX; + if (info->vqai_maxindirsz > 1) { error = virtqueue_init_indirect(vq, info->vqai_maxindirsz); if (error) @@ -384,9 +390,12 @@ virtqueue_full(struct virtqueue *vq) void virtqueue_notify(struct virtqueue *vq) { + /* Ensure updated avail->idx is visible to host. */ + mb(); + if (vq_ring_must_notify_host(vq)) + vq_ring_notify_host(vq); vq->vq_queued_cnt = 0; - vq_ring_notify_host(vq, 0); } int @@ -395,11 +404,8 @@ virtqueue_nused(struct virtqueue *vq) uint16_t used_idx, nused; used_idx = vq->vq_ring.used->idx; - if (used_idx >= vq->vq_used_cons_idx) - nused = used_idx - vq->vq_used_cons_idx; - else - nused = UINT16_MAX - vq->vq_used_cons_idx + - used_idx + 1; + + nused = (uint16_t)(used_idx - vq->vq_used_cons_idx); VQASSERT(vq, nused <= vq->vq_nentries, "used more than available"); return (nused); @@ -427,6 +433,10 @@ virtqueue_enable_intr(struct virtqueue * * index of what's already been consumed. */ vq->vq_ring.avail->flags &= ~VRING_AVAIL_F_NO_INTERRUPT; + if (vq->vq_flags & VIRTQUEUE_FLAG_EVENT_IDX) + vring_used_event(&vq->vq_ring) = vq->vq_used_cons_idx; + else + vq->vq_ring.avail->flags &= ~VRING_AVAIL_F_NO_INTERRUPT; mb(); @@ -441,6 +451,37 @@ virtqueue_enable_intr(struct virtqueue * return (0); } +int +virtqueue_postpone_intr(struct virtqueue *vq) +{ + uint16_t ndesc; + + /* + * Postpone until at least half of the available descriptors + * have been consumed. + * + * XXX Adaptive factor? (Linux uses 3/4) + */ + ndesc = (uint16_t)(vq->vq_ring.avail->idx - vq->vq_used_cons_idx) / 2; + + if (vq->vq_flags & VIRTQUEUE_FLAG_EVENT_IDX) + vring_used_event(&vq->vq_ring) = vq->vq_used_cons_idx + ndesc; + else + vq->vq_ring.avail->flags &= ~VRING_AVAIL_F_NO_INTERRUPT; + + mb(); + + /* + * Enough items may have already been consumed to meet our + * threshold since we last checked. Let our caller know so + * it processes the new entries. + */ + if (virtqueue_nused(vq) > ndesc) + return (1); + + return (0); +} + void virtqueue_disable_intr(struct virtqueue *vq) { @@ -448,7 +489,8 @@ virtqueue_disable_intr(struct virtqueue /* * Note this is only considered a hint to the host. */ - vq->vq_ring.avail->flags |= VRING_AVAIL_F_NO_INTERRUPT; + if ((vq->vq_flags & VIRTQUEUE_FLAG_EVENT_IDX) == 0) + vq->vq_ring.avail->flags |= VRING_AVAIL_F_NO_INTERRUPT; } int @@ -618,7 +660,7 @@ vq_ring_update_avail(struct virtqueue *v mb(); vq->vq_ring.avail->idx++; - /* Keep pending count until virtqueue_notify() for debugging. */ + /* Keep pending count until virtqueue_notify(). */ vq->vq_queued_cnt++; } @@ -709,15 +751,27 @@ vq_ring_enqueue_indirect(struct virtqueu vq_ring_update_avail(vq, head_idx); } -static void -vq_ring_notify_host(struct virtqueue *vq, int force) +static int +vq_ring_must_notify_host(struct virtqueue *vq) { + uint16_t new_idx, prev_idx, event_idx; - mb(); + if (vq->vq_flags & VIRTQUEUE_FLAG_EVENT_IDX) { + new_idx = vq->vq_ring.avail->idx; + prev_idx = new_idx - vq->vq_queued_cnt; + event_idx = vring_avail_event(&vq->vq_ring); + + return (vring_need_event(event_idx, new_idx, prev_idx) != 0); + } + + return ((vq->vq_ring.used->flags & VRING_USED_F_NO_NOTIFY) == 0); +} + +static void +vq_ring_notify_host(struct virtqueue *vq) +{ - if (force || - (vq->vq_ring.used->flags & VRING_USED_F_NO_NOTIFY) == 0) - VIRTIO_BUS_NOTIFY_VQ(vq->vq_dev, vq->vq_queue_index); + VIRTIO_BUS_NOTIFY_VQ(vq->vq_dev, vq->vq_queue_index); } static void Modified: head/sys/dev/virtio/virtqueue.h ============================================================================== --- head/sys/dev/virtio/virtqueue.h Sat Apr 14 04:40:11 2012 (r234269) +++ head/sys/dev/virtio/virtqueue.h Sat Apr 14 05:48:04 2012 (r234270) @@ -78,6 +78,7 @@ int virtqueue_reinit(struct virtqueue * int virtqueue_intr(struct virtqueue *vq); int virtqueue_enable_intr(struct virtqueue *vq); +int virtqueue_postpone_intr(struct virtqueue *vq); void virtqueue_disable_intr(struct virtqueue *vq); /* Get physical address of the virtqueue ring. */ From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 09:21:07 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35ADE1065670; Sat, 14 Apr 2012 09:21:07 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1FB618FC14; Sat, 14 Apr 2012 09:21:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E9L6MA022040; Sat, 14 Apr 2012 09:21:06 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E9L67i022038; Sat, 14 Apr 2012 09:21:06 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204140921.q3E9L67i022038@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 14 Apr 2012 09:21:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234273 - stable/9/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 09:21:07 -0000 Author: glebius Date: Sat Apr 14 09:21:06 2012 New Revision: 234273 URL: http://svn.freebsd.org/changeset/base/234273 Log: Merge 232538: Fix ng_ipfw(4) cookie number in example. Pointed out by: "Jacco van Buuren" Modified: stable/9/share/man/man4/ng_patch.4 Directory Properties: stable/9/share/man/man4/ (props changed) Modified: stable/9/share/man/man4/ng_patch.4 ============================================================================== --- stable/9/share/man/man4/ng_patch.4 Sat Apr 14 06:53:15 2012 (r234272) +++ stable/9/share/man/man4/ng_patch.4 Sat Apr 14 09:21:06 2012 (r234273) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 9, 2010 +.Dd March 5, 2012 .Dt NG_PATCH 4 .Os .Sh NAME @@ -185,7 +185,7 @@ So you do: { mode=7 value=0xf7 length=1 offset=1 } \e { mode=8 value=0x02 length=1 offset=1 } ] } SEQ -/sbin/ipfw add 160 netgraph 600 ip from any to any not dst-port 80 +/sbin/ipfw add 160 netgraph 300 ip from any to any not dst-port 80 .Ed .Pp This first does From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 09:43:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6AB4F106564A; Sat, 14 Apr 2012 09:43:59 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4C6688FC18; Sat, 14 Apr 2012 09:43: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 q3E9hxwZ022775; Sat, 14 Apr 2012 09:43:59 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E9hxsJ022772; Sat, 14 Apr 2012 09:43:59 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204140943.q3E9hxsJ022772@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 14 Apr 2012 09:43:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234274 - stable/9/usr.bin/write X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 09:43:59 -0000 Author: glebius Date: Sat Apr 14 09:43:58 2012 New Revision: 234274 URL: http://svn.freebsd.org/changeset/base/234274 Log: Merge 231586: Fix write(1) to support wide characters. Submitted by: amdmi3 PR: bin/164317 Modified: stable/9/usr.bin/write/write.1 stable/9/usr.bin/write/write.c Directory Properties: stable/9/usr.bin/write/ (props changed) Modified: stable/9/usr.bin/write/write.1 ============================================================================== --- stable/9/usr.bin/write/write.1 Sat Apr 14 09:21:06 2012 (r234273) +++ stable/9/usr.bin/write/write.1 Sat Apr 14 09:43:58 2012 (r234274) @@ -31,7 +31,7 @@ .\" @(#)write.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd July 17, 2004 +.Dd February 13, 2012 .Dt WRITE 1 .Os .Sh NAME @@ -107,7 +107,3 @@ setting is used to determine which chara terminal, not the receiver's (which .Nm has no way of knowing). -.Pp -The -.Nm -utility does not recognize multibyte characters. Modified: stable/9/usr.bin/write/write.c ============================================================================== --- stable/9/usr.bin/write/write.c Sat Apr 14 09:21:06 2012 (r234273) +++ stable/9/usr.bin/write/write.c Sat Apr 14 09:43:58 2012 (r234274) @@ -60,12 +60,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include void done(int); void do_write(char *, char *, uid_t); static void usage(void); int term_chk(char *, int *, time_t *, int); -void wr_fputs(unsigned char *s); +void wr_fputs(wchar_t *s); void search_utmp(char *, char *, char *, uid_t); int utmp_chk(char *, char *); @@ -243,7 +245,8 @@ do_write(char *tty, char *mytty, uid_t m char *nows; struct passwd *pwd; time_t now; - char path[MAXPATHLEN], host[MAXHOSTNAMELEN], line[512]; + char path[MAXPATHLEN], host[MAXHOSTNAMELEN]; + wchar_t line[512]; /* Determine our login name before we reopen() stdout */ if ((login = getlogin()) == NULL) { @@ -269,7 +272,7 @@ do_write(char *tty, char *mytty, uid_t m (void)printf("\r\n\007\007\007Message from %s@%s on %s at %s ...\r\n", login, host, mytty, nows + 11); - while (fgets(line, sizeof(line), stdin) != NULL) + while (fgetws(line, sizeof(line)/sizeof(wchar_t), stdin) != NULL) wr_fputs(line); } @@ -288,30 +291,20 @@ done(int n __unused) * turns \n into \r\n */ void -wr_fputs(unsigned char *s) +wr_fputs(wchar_t *s) { -#define PUTC(c) if (putchar(c) == EOF) err(1, NULL); +#define PUTC(c) if (putwchar(c) == WEOF) err(1, NULL); - for (; *s != '\0'; ++s) { - if (*s == '\n') { - PUTC('\r'); - } else if (((*s & 0x80) && *s < 0xA0) || - /* disable upper controls */ - (!isprint(*s) && !isspace(*s) && - *s != '\a' && *s != '\b') - ) { - if (*s & 0x80) { - *s &= ~0x80; - PUTC('M'); - PUTC('-'); - } - if (iscntrl(*s)) { - *s ^= 0x40; - PUTC('^'); - } + for (; *s != L'\0'; ++s) { + if (*s == L'\n') { + PUTC(L'\r'); + PUTC(L'\n'); + } else if (iswprint(*s) || iswspace(*s)) { + PUTC(*s); + } else { + wprintf(L"<0x%X>", *s); } - PUTC(*s); } return; #undef PUTC From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 09:48:53 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17853106566C; Sat, 14 Apr 2012 09:48:53 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ECD298FC18; Sat, 14 Apr 2012 09:48:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3E9mqsb022988; Sat, 14 Apr 2012 09:48:52 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3E9mqRQ022985; Sat, 14 Apr 2012 09:48:52 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204140948.q3E9mqRQ022985@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 14 Apr 2012 09:48:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234275 - stable/9/usr.bin/wall X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 09:48:53 -0000 Author: glebius Date: Sat Apr 14 09:48:52 2012 New Revision: 234275 URL: http://svn.freebsd.org/changeset/base/234275 Log: Merge 233269: Add multibyte char support. PR: 165429 Submitted by: amdmi3 Modified: stable/9/usr.bin/wall/wall.1 stable/9/usr.bin/wall/wall.c Directory Properties: stable/9/usr.bin/wall/ (props changed) Modified: stable/9/usr.bin/wall/wall.1 ============================================================================== --- stable/9/usr.bin/wall/wall.1 Sat Apr 14 09:43:58 2012 (r234274) +++ stable/9/usr.bin/wall/wall.1 Sat Apr 14 09:48:52 2012 (r234275) @@ -28,7 +28,7 @@ .\" @(#)wall.1 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd July 17, 2004 +.Dd February 24, 2012 .Dt WALL 1 .Os .Sh NAME @@ -73,7 +73,3 @@ setting is used to determine which chara terminal, not the receiver's (which .Nm has no way of knowing). -.Pp -The -.Nm -utility does not recognize multibyte characters. Modified: stable/9/usr.bin/wall/wall.c ============================================================================== --- stable/9/usr.bin/wall/wall.c Sat Apr 14 09:43:58 2012 (r234274) +++ stable/9/usr.bin/wall/wall.c Sat Apr 14 09:48:52 2012 (r234275) @@ -62,6 +62,8 @@ static const char sccsid[] = "@(#)wall.c #include #include #include +#include +#include #include "ttymsg.h" @@ -185,14 +187,15 @@ void makemsg(char *fname) { int cnt; - unsigned char ch; + wchar_t ch; struct tm *lt; struct passwd *pw; struct stat sbuf; time_t now; FILE *fp; int fd; - char *p, hostname[MAXHOSTNAMELEN], lbuf[256], tmpname[64]; + char hostname[MAXHOSTNAMELEN], tmpname[64]; + wchar_t *p, *tmp, lbuf[256], codebuf[13]; const char *tty; const char *whom; gid_t egid; @@ -220,78 +223,61 @@ makemsg(char *fname) * Which means that we may leave a non-blank character * in column 80, but that can't be helped. */ - (void)fprintf(fp, "\r%79s\r\n", " "); - (void)snprintf(lbuf, sizeof(lbuf), - "Broadcast Message from %s@%s", + (void)fwprintf(fp, L"\r%79s\r\n", " "); + (void)swprintf(lbuf, sizeof(lbuf)/sizeof(wchar_t), + L"Broadcast Message from %s@%s", whom, hostname); - (void)fprintf(fp, "%-79.79s\007\007\r\n", lbuf); - (void)snprintf(lbuf, sizeof(lbuf), - " (%s) at %d:%02d %s...", tty, + (void)fwprintf(fp, L"%-79.79S\007\007\r\n", lbuf); + (void)swprintf(lbuf, sizeof(lbuf)/sizeof(wchar_t), + L" (%s) at %d:%02d %s...", tty, lt->tm_hour, lt->tm_min, lt->tm_zone); - (void)fprintf(fp, "%-79.79s\r\n", lbuf); + (void)fwprintf(fp, L"%-79.79S\r\n", lbuf); } - (void)fprintf(fp, "%79s\r\n", " "); + (void)fwprintf(fp, L"%79s\r\n", " "); if (fname) { egid = getegid(); setegid(getgid()); - if (freopen(fname, "r", stdin) == NULL) + if (freopen(fname, "r", stdin) == NULL) err(1, "can't read %s", fname); setegid(egid); } cnt = 0; - while (fgets(lbuf, sizeof(lbuf), stdin)) { - for (p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) { - if (ch == '\r') { - putc('\r', fp); + while (fgetws(lbuf, sizeof(lbuf)/sizeof(wchar_t), stdin)) { + for (p = lbuf; (ch = *p) != L'\0'; ++p, ++cnt) { + if (ch == L'\r') { + putwc(L'\r', fp); cnt = 0; continue; - } else if (ch == '\n') { + } else if (ch == L'\n') { for (; cnt < 79; ++cnt) - putc(' ', fp); - putc('\r', fp); - putc('\n', fp); + putwc(L' ', fp); + putwc(L'\r', fp); + putwc(L'\n', fp); break; } if (cnt == 79) { - putc('\r', fp); - putc('\n', fp); + putwc(L'\r', fp); + putwc(L'\n', fp); cnt = 0; } - if (((ch & 0x80) && ch < 0xA0) || - /* disable upper controls */ - (!isprint(ch) && !isspace(ch) && - ch != '\a' && ch != '\b') - ) { - if (ch & 0x80) { - ch &= 0x7F; - putc('M', fp); + if (iswprint(ch) || iswspace(ch) || ch == L'\a' || ch == L'\b') { + putwc(ch, fp); + } else { + (void)swprintf(codebuf, sizeof(codebuf)/sizeof(wchar_t), L"<0x%X>", ch); + for (tmp = codebuf; *tmp != L'\0'; ++tmp) { + putwc(*tmp, fp); if (++cnt == 79) { - putc('\r', fp); - putc('\n', fp); - cnt = 0; - } - putc('-', fp); - if (++cnt == 79) { - putc('\r', fp); - putc('\n', fp); - cnt = 0; - } - } - if (iscntrl(ch)) { - ch ^= 040; - putc('^', fp); - if (++cnt == 79) { - putc('\r', fp); - putc('\n', fp); + putwc(L'\r', fp); + putwc(L'\n', fp); cnt = 0; } } + --cnt; } - putc(ch, fp); } } - (void)fprintf(fp, "%79s\r\n", " "); + (void)fwprintf(fp, L"%79s\r\n", " "); rewind(fp); if (fstat(fd, &sbuf)) From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 10:08:08 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8980A106564A; Sat, 14 Apr 2012 10:08:08 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 738E08FC14; Sat, 14 Apr 2012 10:08: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 q3EA88DP023710; Sat, 14 Apr 2012 10:08:08 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EA88sw023707; Sat, 14 Apr 2012 10:08:08 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204141008.q3EA88sw023707@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 14 Apr 2012 10:08:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234276 - stable/9/sys/netgraph X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 10:08:08 -0000 Author: glebius Date: Sat Apr 14 10:08:07 2012 New Revision: 234276 URL: http://svn.freebsd.org/changeset/base/234276 Log: Merge 231760,231761,231764,231765,231766,231823,231830 from head: 231760,231766: style(9): sort includes 231761: In ng_bypass() add more protection against potential race with ng_rmnode() and its followers. 231764: Remove testing stuff, reducing kernel memory footprint by 1 Kb. 231765: Trim double empty lines. 231823: In ng_getsockaddr() allocate memory prior to obtaining lock. 231830: Specify correct loading order for core of netgraph(4). Modified: stable/9/sys/netgraph/ng_base.c stable/9/sys/netgraph/ng_socket.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/netgraph/ng_base.c ============================================================================== --- stable/9/sys/netgraph/ng_base.c Sat Apr 14 09:48:52 2012 (r234275) +++ stable/9/sys/netgraph/ng_base.c Sat Apr 14 10:08:07 2012 (r234276) @@ -45,23 +45,22 @@ #include #include #include -#include #include #include +#include #include #include #include #include #include +#include #include -#include -#include #include -#include #include -#include -#include #include +#include +#include +#include #include #include @@ -240,7 +239,6 @@ int ng_path_parse(char *addr, char **nod void ng_rmnode(node_p node, hook_p dummy1, void *dummy2, int dummy3); void ng_unname(node_p node); - /* Our own netgraph malloc type */ MALLOC_DEFINE(M_NETGRAPH, "netgraph", "netgraph structures and ctrl messages"); MALLOC_DEFINE(M_NETGRAPH_HOOK, "netgraph_hook", "netgraph hook structures"); @@ -338,7 +336,6 @@ ng_alloc_node(void) #define NG_ALLOC_HOOK(hook) do { (hook) = ng_alloc_hook(); } while (0) #define NG_ALLOC_NODE(node) do { (node) = ng_alloc_node(); } while (0) - #define NG_FREE_HOOK(hook) \ do { \ mtx_lock(&ng_nodelist_mtx); \ @@ -1158,6 +1155,10 @@ ng_bypass(hook_p hook1, hook_p hook2) return (EINVAL); } mtx_lock(&ng_topo_mtx); + if (NG_HOOK_NOT_VALID(hook1) || NG_HOOK_NOT_VALID(hook2)) { + mtx_unlock(&ng_topo_mtx); + return (EINVAL); + } hook1->hk_peer->hk_peer = hook2->hk_peer; hook2->hk_peer->hk_peer = hook1->hk_peer; @@ -1199,7 +1200,6 @@ ng_newtype(struct ng_type *tp) return (EEXIST); } - /* Link in new type */ TYPELIST_WLOCK(); LIST_INSERT_HEAD(&ng_typelist, tp, types); @@ -3063,7 +3063,7 @@ vnet_netgraph_uninit(const void *unused } } while (node != NULL); } -VNET_SYSUNINIT(vnet_netgraph_uninit, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, +VNET_SYSUNINIT(vnet_netgraph_uninit, SI_SUB_NETGRAPH, SI_ORDER_FIRST, vnet_netgraph_uninit, NULL); #endif /* VIMAGE */ @@ -3129,7 +3129,7 @@ static moduledata_t netgraph_mod = { ngb_mod_event, (NULL) }; -DECLARE_MODULE(netgraph, netgraph_mod, SI_SUB_NETGRAPH, SI_ORDER_MIDDLE); +DECLARE_MODULE(netgraph, netgraph_mod, SI_SUB_NETGRAPH, SI_ORDER_FIRST); SYSCTL_NODE(_net, OID_AUTO, graph, CTLFLAG_RW, 0, "netgraph Family"); SYSCTL_INT(_net_graph, OID_AUTO, abi_version, CTLFLAG_RD, 0, NG_ABI_VERSION,""); SYSCTL_INT(_net_graph, OID_AUTO, msg_version, CTLFLAG_RD, 0, NG_VERSION, ""); @@ -3268,7 +3268,6 @@ SYSCTL_PROC(_debug, OID_AUTO, ng_dump_it 0, sizeof(int), sysctl_debug_ng_dump_items, "I", "Number of allocated items"); #endif /* NETGRAPH_DEBUG */ - /*********************************************************************** * Worklist routines **********************************************************************/ @@ -3352,7 +3351,6 @@ ng_worklist_add(node_p node) } } - /*********************************************************************** * Externally useable functions to set up a queue item ready for sending ***********************************************************************/ @@ -3433,8 +3431,6 @@ ng_package_msg(struct ng_mesg *msg, int return (item); } - - #define SET_RETADDR(item, here, retaddr) \ do { /* Data or fn items don't have retaddrs */ \ if ((item->el_flags & NGQF_TYPE) == NGQF_MESG) { \ @@ -3660,7 +3656,6 @@ ng_callout_trampoline(void *arg) CURVNET_RESTORE(); } - int ng_callout(struct callout *c, node_p node, hook_p hook, int ticks, ng_item_fn *fn, void * arg1, int arg2) @@ -3730,32 +3725,3 @@ ng_replace_retaddr(node_p here, item_p i NGI_RETADDR(item) = ng_node2ID(here); } } - -#define TESTING -#ifdef TESTING -/* just test all the macros */ -void -ng_macro_test(item_p item); -void -ng_macro_test(item_p item) -{ - node_p node = NULL; - hook_p hook = NULL; - struct mbuf *m; - struct ng_mesg *msg; - ng_ID_t retaddr; - int error; - - NGI_GET_M(item, m); - NGI_GET_MSG(item, msg); - retaddr = NGI_RETADDR(item); - NG_SEND_DATA(error, hook, m, NULL); - NG_SEND_DATA_ONLY(error, hook, m); - NG_FWD_NEW_DATA(error, item, hook, m); - NG_FWD_ITEM_HOOK(error, item, hook); - NG_SEND_MSG_HOOK(error, node, msg, hook, retaddr); - NG_SEND_MSG_ID(error, node, msg, retaddr, retaddr); - NG_SEND_MSG_PATH(error, node, msg, ".:", retaddr); - NG_FWD_MSG_HOOK(error, node, item, hook, retaddr); -} -#endif /* TESTING */ Modified: stable/9/sys/netgraph/ng_socket.c ============================================================================== --- stable/9/sys/netgraph/ng_socket.c Sat Apr 14 09:48:52 2012 (r234275) +++ stable/9/sys/netgraph/ng_socket.c Sat Apr 14 10:08:07 2012 (r234276) @@ -469,33 +469,30 @@ ng_getsockaddr(struct socket *so, struct int sg_len; int error = 0; - /* Why isn't sg_data a `char[1]' ? :-( */ - sg_len = sizeof(struct sockaddr_ng) - sizeof(sg->sg_data) + 1; - pcbp = sotongpcb(so); if ((pcbp == NULL) || (pcbp->sockdata == NULL)) /* XXXGL: can this still happen? */ return (EINVAL); + sg_len = sizeof(struct sockaddr_ng) + NG_NODESIZ - + sizeof(sg->sg_data); + sg = malloc(sg_len, M_SONAME, M_WAITOK | M_ZERO); + mtx_lock(&pcbp->sockdata->mtx); if (pcbp->sockdata->node != NULL) { node_p node = pcbp->sockdata->node; - int namelen = 0; /* silence compiler! */ if (NG_NODE_HAS_NAME(node)) - sg_len += namelen = strlen(NG_NODE_NAME(node)); - - sg = malloc(sg_len, M_SONAME, M_WAITOK | M_ZERO); - - if (NG_NODE_HAS_NAME(node)) - bcopy(NG_NODE_NAME(node), sg->sg_data, namelen); + bcopy(NG_NODE_NAME(node), sg->sg_data, + strlen(NG_NODE_NAME(node))); + mtx_unlock(&pcbp->sockdata->mtx); sg->sg_len = sg_len; sg->sg_family = AF_NETGRAPH; *addr = (struct sockaddr *)sg; - mtx_unlock(&pcbp->sockdata->mtx); } else { mtx_unlock(&pcbp->sockdata->mtx); + free(sg, M_SONAME); error = EINVAL; } From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 10:13:36 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D23561065672; Sat, 14 Apr 2012 10:13:36 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BB6968FC12; Sat, 14 Apr 2012 10:13:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EADaSM023925; Sat, 14 Apr 2012 10:13:36 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EADaHd023922; Sat, 14 Apr 2012 10:13:36 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204141013.q3EADaHd023922@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 14 Apr 2012 10:13:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234277 - stable/9/sys/netgraph X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 10:13:36 -0000 Author: glebius Date: Sat Apr 14 10:13:36 2012 New Revision: 234277 URL: http://svn.freebsd.org/changeset/base/234277 Log: Merge 231831: Refactor the name hash and the ID hash, that are used to address nodes: - Make hash sizes growable, to satisfy users running large mpd installations, having thousands of nodes. - NG_NAMEHASH() proved to give a very bad distribution in real life name sets, while generic hash32_str(name, HASHINIT) proved to give an even one, so use the latter for name hash. - Do not store unnamed nodes in slot 0 of name hash, no reason for that. - Use the ID hash in cases when we need to run through all nodes: the NGM_LISTNODES command and in the vnet_netgraph_uninit(). - Implement NGM_LISTNODES and NGM_LISTNAMES as separate code, the former iterates through the ID hash, and the latter through the name hash. - Keep count of all nodes and of named nodes, so that we don't need to count nodes in NGM_LISTNODES and NGM_LISTNAMES. The counters are also used to estimate whether we need to grow hashes. - Close a race between two threads running ng_name_node() assigning same name to different nodes. Modified: stable/9/sys/netgraph/netgraph.h stable/9/sys/netgraph/ng_base.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/netgraph/netgraph.h ============================================================================== --- stable/9/sys/netgraph/netgraph.h Sat Apr 14 10:08:07 2012 (r234276) +++ stable/9/sys/netgraph/netgraph.h Sat Apr 14 10:13:36 2012 (r234277) @@ -365,7 +365,7 @@ struct ng_node { void *nd_private; /* node type dependant node ID */ ng_ID_t nd_ID; /* Unique per node */ LIST_HEAD(hooks, ng_hook) nd_hooks; /* linked list of node hooks */ - LIST_ENTRY(ng_node) nd_nodes; /* linked list of all nodes */ + LIST_ENTRY(ng_node) nd_nodes; /* name hash collision list */ LIST_ENTRY(ng_node) nd_idnodes; /* ID hash collision list */ struct ng_queue nd_input_queue; /* input queue for locking */ int nd_refs; /* # of references to this node */ @@ -1202,10 +1202,6 @@ typedef void *meta_p; #define NGI_GET_META(i,m) #define ng_copy_meta(meta) NULL -/* Hash related definitions */ -#define NG_ID_HASH_SIZE 128 /* most systems wont need even this many */ -#define NG_NAME_HASH_SIZE 128 /* most systems wont need even this many */ - /* * Mark the current thread when called from the outbound path of the * network stack, in order to enforce queuing on ng nodes calling into Modified: stable/9/sys/netgraph/ng_base.c ============================================================================== --- stable/9/sys/netgraph/ng_base.c Sat Apr 14 10:08:07 2012 (r234276) +++ stable/9/sys/netgraph/ng_base.c Sat Apr 14 10:13:36 2012 (r234277) @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -170,10 +171,20 @@ static struct rwlock ng_typelist_lock; #define TYPELIST_WLOCK() rw_wlock(&ng_typelist_lock) #define TYPELIST_WUNLOCK() rw_wunlock(&ng_typelist_lock) -/* Hash related definitions */ -/* XXX Don't need to initialise them because it's a LIST */ -static VNET_DEFINE(LIST_HEAD(, ng_node), ng_ID_hash[NG_ID_HASH_SIZE]); -#define V_ng_ID_hash VNET(ng_ID_hash) +/* Hash related definitions. */ +LIST_HEAD(nodehash, ng_node); +static VNET_DEFINE(struct nodehash *, ng_ID_hash); +static VNET_DEFINE(u_long, ng_ID_hmask); +static VNET_DEFINE(u_long, ng_nodes); +static VNET_DEFINE(struct nodehash *, ng_name_hash); +static VNET_DEFINE(u_long, ng_name_hmask); +static VNET_DEFINE(u_long, ng_named_nodes); +#define V_ng_ID_hash VNET(ng_ID_hash) +#define V_ng_ID_hmask VNET(ng_ID_hmask) +#define V_ng_nodes VNET(ng_nodes) +#define V_ng_name_hash VNET(ng_name_hash) +#define V_ng_name_hmask VNET(ng_name_hmask) +#define V_ng_named_nodes VNET(ng_named_nodes) static struct rwlock ng_idhash_lock; #define IDHASH_RLOCK() rw_rlock(&ng_idhash_lock) @@ -182,7 +193,7 @@ static struct rwlock ng_idhash_lock; #define IDHASH_WUNLOCK() rw_wunlock(&ng_idhash_lock) /* Method to find a node.. used twice so do it here */ -#define NG_IDHASH_FN(ID) ((ID) % (NG_ID_HASH_SIZE)) +#define NG_IDHASH_FN(ID) ((ID) % (V_ng_ID_hmask + 1)) #define NG_IDHASH_FIND(ID, node) \ do { \ rw_assert(&ng_idhash_lock, RA_LOCKED); \ @@ -195,18 +206,6 @@ static struct rwlock ng_idhash_lock; } \ } while (0) -static VNET_DEFINE(LIST_HEAD(, ng_node), ng_name_hash[NG_NAME_HASH_SIZE]); -#define V_ng_name_hash VNET(ng_name_hash) - -#define NG_NAMEHASH(NAME, HASH) \ - do { \ - u_char h = 0; \ - const u_char *c; \ - for (c = (const u_char*)(NAME); *c; c++)\ - h += *c; \ - (HASH) = h % (NG_NAME_HASH_SIZE); \ - } while (0) - static struct rwlock ng_namehash_lock; #define NAMEHASH_RLOCK() rw_rlock(&ng_namehash_lock) #define NAMEHASH_RUNLOCK() rw_runlock(&ng_namehash_lock) @@ -227,8 +226,10 @@ static int ng_con_nodes(item_p item, nod node_p node2, const char *name2); static int ng_con_part2(node_p node, item_p item, hook_p hook); static int ng_con_part3(node_p node, item_p item, hook_p hook); -static int ng_mkpeer(node_p node, const char *name, - const char *name2, char *type); +static int ng_mkpeer(node_p node, const char *name, const char *name2, + char *type); +static void ng_name_rehash(void); +static void ng_ID_rehash(void); /* Imported, these used to be externally visible, some may go back. */ void ng_destroy_hook(hook_p hook); @@ -658,12 +659,7 @@ ng_make_node_common(struct ng_type *type /* Initialize hook list for new node */ LIST_INIT(&node->nd_hooks); - /* Link us into the name hash. */ - NAMEHASH_WLOCK(); - LIST_INSERT_HEAD(&V_ng_name_hash[0], node, nd_nodes); - NAMEHASH_WUNLOCK(); - - /* get an ID and put us in the hash chain */ + /* Get an ID and put us in the hash chain. */ IDHASH_WLOCK(); for (;;) { /* wrap protection, even if silly */ node_p node2 = NULL; @@ -675,6 +671,9 @@ ng_make_node_common(struct ng_type *type break; } } + V_ng_nodes++; + if (V_ng_nodes * 2 > V_ng_ID_hmask) + ng_ID_rehash(); LIST_INSERT_HEAD(&V_ng_ID_hash[NG_IDHASH_FN(node->nd_ID)], node, nd_idnodes); IDHASH_WUNLOCK(); @@ -791,10 +790,14 @@ ng_unref_node(node_p node) node->nd_type->refs--; /* XXX maybe should get types lock? */ NAMEHASH_WLOCK(); - LIST_REMOVE(node, nd_nodes); + if (NG_NODE_HAS_NAME(node)) { + V_ng_named_nodes--; + LIST_REMOVE(node, nd_nodes); + } NAMEHASH_WUNLOCK(); IDHASH_WLOCK(); + V_ng_nodes--; LIST_REMOVE(node, nd_idnodes); IDHASH_WUNLOCK(); @@ -810,9 +813,10 @@ static node_p ng_ID2noderef(ng_ID_t ID) { node_p node; + IDHASH_RLOCK(); NG_IDHASH_FIND(ID, node); - if(node) + if (node) NG_NODE_REF(node); IDHASH_RUNLOCK(); return(node); @@ -834,8 +838,9 @@ ng_node2ID(node_p node) int ng_name_node(node_p node, const char *name) { - int i, hash; + uint32_t hash; node_p node2; + int i; /* Check the name is valid */ for (i = 0; i < NG_NODESIZ; i++) { @@ -851,20 +856,26 @@ ng_name_node(node_p node, const char *na return (EINVAL); } - /* Check the name isn't already being used */ - if ((node2 = ng_name2noderef(node, name)) != NULL) { - NG_NODE_UNREF(node2); - TRAP_ERROR(); - return (EADDRINUSE); - } + NAMEHASH_WLOCK(); + if (V_ng_named_nodes * 2 > V_ng_name_hmask) + ng_name_rehash(); - /* copy it */ - strlcpy(NG_NODE_NAME(node), name, NG_NODESIZ); + hash = hash32_str(name, HASHINIT) & V_ng_name_hmask; + /* Check the name isn't already being used. */ + LIST_FOREACH(node2, &V_ng_name_hash[hash], nd_nodes) + if (NG_NODE_IS_VALID(node2) && + (strcmp(NG_NODE_NAME(node2), name) == 0)) { + NAMEHASH_WUNLOCK(); + return (EADDRINUSE); + } + if (NG_NODE_HAS_NAME(node)) + LIST_REMOVE(node, nd_nodes); + else + V_ng_named_nodes++; + /* Copy it. */ + strlcpy(NG_NODE_NAME(node), name, NG_NODESIZ); /* Update name hash. */ - NG_NAMEHASH(name, hash); - NAMEHASH_WLOCK(); - LIST_REMOVE(node, nd_nodes); LIST_INSERT_HEAD(&V_ng_name_hash[hash], node, nd_nodes); NAMEHASH_WUNLOCK(); @@ -899,8 +910,8 @@ ng_name2noderef(node_p here, const char return (ng_ID2noderef(temp)); } - /* Find node by name */ - NG_NAMEHASH(name, hash); + /* Find node by name. */ + hash = hash32_str(name, HASHINIT) & V_ng_name_hmask; NAMEHASH_RLOCK(); LIST_FOREACH(node, &V_ng_name_hash[hash], nd_nodes) if (NG_NODE_IS_VALID(node) && @@ -946,6 +957,68 @@ ng_unname(node_p node) { } +/* + * Allocate a bigger name hash. + */ +static void +ng_name_rehash() +{ + struct nodehash *new; + uint32_t hash; + u_long hmask; + node_p node, node2; + int i; + + new = hashinit_flags((V_ng_name_hmask + 1) * 2, M_NETGRAPH_NODE, &hmask, + HASH_NOWAIT); + if (new == NULL) + return; + + for (i = 0; i <= V_ng_name_hmask; i++) + LIST_FOREACH_SAFE(node, &V_ng_name_hash[i], nd_nodes, node2) { +#ifdef INVARIANTS + LIST_REMOVE(node, nd_nodes); +#endif + hash = hash32_str(NG_NODE_NAME(node), HASHINIT) & hmask; + LIST_INSERT_HEAD(&new[hash], node, nd_nodes); + } + + hashdestroy(V_ng_name_hash, M_NETGRAPH_NODE, V_ng_name_hmask); + V_ng_name_hash = new; + V_ng_name_hmask = hmask; +} + +/* + * Allocate a bigger ID hash. + */ +static void +ng_ID_rehash() +{ + struct nodehash *new; + uint32_t hash; + u_long hmask; + node_p node, node2; + int i; + + new = hashinit_flags((V_ng_ID_hmask + 1) * 2, M_NETGRAPH_NODE, &hmask, + HASH_NOWAIT); + if (new == NULL) + return; + + for (i = 0; i <= V_ng_ID_hmask; i++) + LIST_FOREACH_SAFE(node, &V_ng_ID_hash[i], nd_idnodes, node2) { +#ifdef INVARIANTS + LIST_REMOVE(node, nd_idnodes); +#endif + hash = (node->nd_ID % (hmask + 1)); + LIST_INSERT_HEAD(&new[hash], node, nd_idnodes); + } + + hashdestroy(V_ng_ID_hash, M_NETGRAPH_NODE, V_ng_name_hmask); + V_ng_ID_hash = new; + V_ng_ID_hmask = hmask; +} + /************************************************************************ Hook routines Names are not optional. Hooks are always connected, except for a @@ -2571,28 +2644,55 @@ ng_generic_msg(node_p here, item_p item, break; } - case NGM_LISTNAMES: case NGM_LISTNODES: { - const int unnamed = (msg->header.cmd == NGM_LISTNODES); struct namelist *nl; node_p node; - int num = 0, i; + int i; - NAMEHASH_RLOCK(); - /* Count number of nodes */ - for (i = 0; i < NG_NAME_HASH_SIZE; i++) { - LIST_FOREACH(node, &V_ng_name_hash[i], nd_nodes) { - if (NG_NODE_IS_VALID(node) && - (unnamed || NG_NODE_HAS_NAME(node))) { - num++; - } + IDHASH_RLOCK(); + /* Get response struct. */ + NG_MKRESPONSE(resp, msg, sizeof(*nl) + + (V_ng_nodes * sizeof(struct nodeinfo)), M_NOWAIT | M_ZERO); + if (resp == NULL) { + IDHASH_RUNLOCK(); + error = ENOMEM; + break; + } + nl = (struct namelist *) resp->data; + + /* Cycle through the lists of nodes. */ + nl->numnames = 0; + for (i = 0; i <= V_ng_ID_hmask; i++) { + LIST_FOREACH(node, &V_ng_ID_hash[i], nd_idnodes) { + struct nodeinfo *const np = + &nl->nodeinfo[nl->numnames]; + + if (NG_NODE_NOT_VALID(node)) + continue; + if (NG_NODE_HAS_NAME(node)) + strcpy(np->name, NG_NODE_NAME(node)); + strcpy(np->type, node->nd_type->name); + np->id = ng_node2ID(node); + np->hooks = node->nd_numhooks; + KASSERT(nl->numnames < V_ng_nodes, + ("%s: no space", __func__)); + nl->numnames++; } } + IDHASH_RUNLOCK(); + break; + } + case NGM_LISTNAMES: + { + struct namelist *nl; + node_p node; + int i; - /* Get response struct */ + NAMEHASH_RLOCK(); + /* Get response struct. */ NG_MKRESPONSE(resp, msg, sizeof(*nl) + - (num * sizeof(struct nodeinfo)), M_NOWAIT); + (V_ng_named_nodes * sizeof(struct nodeinfo)), M_NOWAIT); if (resp == NULL) { NAMEHASH_RUNLOCK(); error = ENOMEM; @@ -2600,24 +2700,21 @@ ng_generic_msg(node_p here, item_p item, } nl = (struct namelist *) resp->data; - /* Cycle through the linked list of nodes */ + /* Cycle through the lists of nodes. */ nl->numnames = 0; - for (i = 0; i < NG_NAME_HASH_SIZE; i++) { + for (i = 0; i <= V_ng_name_hmask; i++) { LIST_FOREACH(node, &V_ng_name_hash[i], nd_nodes) { struct nodeinfo *const np = &nl->nodeinfo[nl->numnames]; if (NG_NODE_NOT_VALID(node)) continue; - if (!unnamed && (! NG_NODE_HAS_NAME(node))) - continue; - if (NG_NODE_HAS_NAME(node)) - strcpy(np->name, NG_NODE_NAME(node)); + strcpy(np->name, NG_NODE_NAME(node)); strcpy(np->type, node->nd_type->name); np->id = ng_node2ID(node); np->hooks = node->nd_numhooks; - KASSERT(nl->numnames < num, ("%s: no space", - __func__)); + KASSERT(nl->numnames < V_ng_named_nodes, + ("%s: no space", __func__)); nl->numnames++; } } @@ -3024,6 +3121,17 @@ ng_mod_event(module_t mod, int event, vo return (error); } +static void +vnet_netgraph_init(const void *unused __unused) +{ + + /* We start with small hashes, but they can grow. */ + V_ng_ID_hash = hashinit(16, M_NETGRAPH_NODE, &V_ng_ID_hmask); + V_ng_name_hash = hashinit(16, M_NETGRAPH_NODE, &V_ng_name_hmask); +} +VNET_SYSINIT(vnet_netgraph_init, SI_SUB_NETGRAPH, SI_ORDER_FIRST, + vnet_netgraph_init, NULL); + #ifdef VIMAGE static void vnet_netgraph_uninit(const void *unused __unused) @@ -3033,9 +3141,9 @@ vnet_netgraph_uninit(const void *unused do { /* Find a node to kill */ - NAMEHASH_RLOCK(); - for (i = 0; i < NG_NAME_HASH_SIZE; i++) { - LIST_FOREACH(node, &V_ng_name_hash[i], nd_nodes) { + IDHASH_RLOCK(); + for (i = 0; i <= V_ng_ID_hmask; i++) { + LIST_FOREACH(node, &V_ng_ID_hash[i], nd_idnodes) { if (node != &ng_deadnode) { NG_NODE_REF(node); break; @@ -3044,7 +3152,7 @@ vnet_netgraph_uninit(const void *unused if (node != NULL) break; } - NAMEHASH_RUNLOCK(); + IDHASH_RUNLOCK(); /* Attempt to kill it only if it is a regular node */ if (node != NULL) { @@ -3062,6 +3170,9 @@ vnet_netgraph_uninit(const void *unused last_killed = node; } } while (node != NULL); + + hashdestroy(V_ng_name_hash, M_NETGRAPH_NODE, V_ng_name_hmask); + hashdestroy(V_ng_ID_hash, M_NETGRAPH_NODE, V_ng_ID_hmask); } VNET_SYSUNINIT(vnet_netgraph_uninit, SI_SUB_NETGRAPH, SI_ORDER_FIRST, vnet_netgraph_uninit, NULL); From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 10:20:35 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2E05F106564A; Sat, 14 Apr 2012 10:20:35 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 190198FC15; Sat, 14 Apr 2012 10:20:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EAKYGN024205; Sat, 14 Apr 2012 10:20:34 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EAKY7a024200; Sat, 14 Apr 2012 10:20:34 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204141020.q3EAKY7a024200@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 14 Apr 2012 10:20:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234278 - in stable/9: sbin/ipfw sys/netinet/ipfw X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 10:20:35 -0000 Author: glebius Date: Sat Apr 14 10:20:34 2012 New Revision: 234278 URL: http://svn.freebsd.org/changeset/base/234278 Log: Merge 231076,231078: Make the 'tcpwin' option of ipfw(8) accept ranges and lists. Submitted by: sem Modified: stable/9/sbin/ipfw/ipfw.8 stable/9/sbin/ipfw/ipfw2.c stable/9/sys/netinet/ipfw/ip_fw2.c stable/9/sys/netinet/ipfw/ip_fw_sockopt.c Directory Properties: stable/9/sbin/ipfw/ (props changed) stable/9/sys/ (props changed) Modified: stable/9/sbin/ipfw/ipfw.8 ============================================================================== --- stable/9/sbin/ipfw/ipfw.8 Sat Apr 14 10:13:36 2012 (r234277) +++ stable/9/sbin/ipfw/ipfw.8 Sat Apr 14 10:20:34 2012 (r234278) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 10, 2011 +.Dd February 6, 2012 .Dt IPFW 8 .Os .Sh NAME @@ -1652,10 +1652,12 @@ option for details on matching fragmente TCP packets only. Match if the TCP header sequence number field is set to .Ar seq . -.It Cm tcpwin Ar win -TCP packets only. -Match if the TCP header window field is set to -.Ar win . +.It Cm tcpwin Ar tcpwin-list +Matches TCP packets whose header window field is set to +.Ar tcpwin-list , +which is either a single value or a list of values or ranges +specified in the same way as +.Ar ports . .It Cm tcpoptions Ar spec TCP packets only. Match if the TCP header contains the comma separated list of Modified: stable/9/sbin/ipfw/ipfw2.c ============================================================================== --- stable/9/sbin/ipfw/ipfw2.c Sat Apr 14 10:13:36 2012 (r234277) +++ stable/9/sbin/ipfw/ipfw2.c Sat Apr 14 10:20:34 2012 (r234278) @@ -512,6 +512,7 @@ static struct _s_x _port_name[] = { {"ipttl", O_IPTTL}, {"mac-type", O_MAC_TYPE}, {"tcpdatalen", O_TCPDATALEN}, + {"tcpwin", O_TCPWIN}, {"tagged", O_TAGGED}, {NULL, 0} }; @@ -1480,7 +1481,11 @@ show_ipfw(struct ip_fw *rule, int pcwidt break; case O_TCPWIN: - printf(" tcpwin %d", ntohs(cmd->arg1)); + if (F_LEN(cmd) == 1) + printf(" tcpwin %u", cmd->arg1); + else + print_newports((ipfw_insn_u16 *)cmd, 0, + O_TCPWIN); break; case O_TCPACK: @@ -3447,8 +3452,12 @@ read_options: case TOK_TCPWIN: NEED1("tcpwin requires length"); - fill_cmd(cmd, O_TCPWIN, 0, - htons(strtoul(*av, NULL, 0))); + if (strpbrk(*av, "-,")) { + if (!add_ports(cmd, *av, 0, O_TCPWIN)) + errx(EX_DATAERR, "invalid tcpwin len %s", *av); + } else + fill_cmd(cmd, O_TCPWIN, 0, + strtoul(*av, NULL, 0)); av++; break; Modified: stable/9/sys/netinet/ipfw/ip_fw2.c ============================================================================== --- stable/9/sys/netinet/ipfw/ip_fw2.c Sat Apr 14 10:13:36 2012 (r234277) +++ stable/9/sys/netinet/ipfw/ip_fw2.c Sat Apr 14 10:20:34 2012 (r234278) @@ -1649,8 +1649,22 @@ do { \ break; case O_TCPWIN: - match = (proto == IPPROTO_TCP && offset == 0 && - cmd->arg1 == TCP(ulp)->th_win); + if (proto == IPPROTO_TCP && offset == 0) { + uint16_t x; + uint16_t *p; + int i; + + x = ntohs(TCP(ulp)->th_win); + if (cmdlen == 1) { + match = (cmd->arg1 == x); + break; + } + /* Otherwise we have ranges. */ + p = ((ipfw_insn_u16 *)cmd)->ports; + i = cmdlen - 1; + for (; !match && i > 0; i--, p += 2) + match = (x >= p[0] && x <= p[1]); + } break; case O_ESTAB: Modified: stable/9/sys/netinet/ipfw/ip_fw_sockopt.c ============================================================================== --- stable/9/sys/netinet/ipfw/ip_fw_sockopt.c Sat Apr 14 10:13:36 2012 (r234277) +++ stable/9/sys/netinet/ipfw/ip_fw_sockopt.c Sat Apr 14 10:20:34 2012 (r234278) @@ -569,7 +569,6 @@ check_ipfw_struct(struct ip_fw *rule, in case O_IPPRECEDENCE: case O_IPVER: case O_SOCKARG: - case O_TCPWIN: case O_TCPFLAGS: case O_TCPOPTS: case O_ESTAB: @@ -679,6 +678,7 @@ check_ipfw_struct(struct ip_fw *rule, in case O_IPTTL: case O_IPLEN: case O_TCPDATALEN: + case O_TCPWIN: case O_TAGGED: if (cmdlen < 1 || cmdlen > 31) goto bad_size; From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 10:36:44 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0DFDF106564A; Sat, 14 Apr 2012 10:36:44 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EC7C28FC15; Sat, 14 Apr 2012 10:36:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EAahWQ024745; Sat, 14 Apr 2012 10:36:43 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EAah2x024743; Sat, 14 Apr 2012 10:36:43 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201204141036.q3EAah2x024743@svn.freebsd.org> From: Gleb Smirnoff Date: Sat, 14 Apr 2012 10:36:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234279 - stable/9/sys/netinet6 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 10:36:44 -0000 Author: glebius Date: Sat Apr 14 10:36:43 2012 New Revision: 234279 URL: http://svn.freebsd.org/changeset/base/234279 Log: Merge 233272: in6_pcblookup_local() still can return a pcb with NULL inp_socket. To avoid panic, do not dereference inp_socket, but obtain reuse port option from inp_flags2, like this is done after next call to in_pcblookup_local() a few lines down below. Submitted by: rwatson Modified: stable/9/sys/netinet6/in6_pcb.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/netinet6/in6_pcb.c ============================================================================== --- stable/9/sys/netinet6/in6_pcb.c Sat Apr 14 10:20:34 2012 (r234278) +++ stable/9/sys/netinet6/in6_pcb.c Sat Apr 14 10:36:43 2012 (r234279) @@ -245,8 +245,8 @@ in6_pcbbind(register struct inpcb *inp, if (tw == NULL || (reuseport & tw->tw_so_options) == 0) return (EADDRINUSE); - } else if (t && (reuseport & t->inp_socket->so_options) - == 0) { + } else if (t && (reuseport == 0 || + (t->inp_flags2 & INP_REUSEPORT) == 0)) { return (EADDRINUSE); } #ifdef INET From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 11:21:24 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D0E4B106566B; Sat, 14 Apr 2012 11:21:24 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BC4F28FC08; Sat, 14 Apr 2012 11:21:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EBLOnS027666; Sat, 14 Apr 2012 11:21:24 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EBLOmG027664; Sat, 14 Apr 2012 11:21:24 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204141121.q3EBLOmG027664@svn.freebsd.org> From: Marius Strobl Date: Sat, 14 Apr 2012 11:21:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234280 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 11:21:24 -0000 Author: marius Date: Sat Apr 14 11:21:24 2012 New Revision: 234280 URL: http://svn.freebsd.org/changeset/base/234280 Log: Fix !DDB build after r234190. Modified: head/sys/kern/subr_turnstile.c Modified: head/sys/kern/subr_turnstile.c ============================================================================== --- head/sys/kern/subr_turnstile.c Sat Apr 14 10:36:43 2012 (r234279) +++ head/sys/kern/subr_turnstile.c Sat Apr 14 11:21:24 2012 (r234280) @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -78,7 +79,6 @@ __FBSDID("$FreeBSD$"); #include #ifdef DDB -#include #include #include #include From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 11:29:32 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CB87D106566B; Sat, 14 Apr 2012 11:29:32 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B5C558FC17; Sat, 14 Apr 2012 11:29:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EBTWf3028136; Sat, 14 Apr 2012 11:29:32 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EBTWSa028123; Sat, 14 Apr 2012 11:29:32 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204141129.q3EBTWSa028123@svn.freebsd.org> From: Marius Strobl Date: Sat, 14 Apr 2012 11:29:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234281 - head/sys/arm/at91 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 11:29:32 -0000 Author: marius Date: Sat Apr 14 11:29:32 2012 New Revision: 234281 URL: http://svn.freebsd.org/changeset/base/234281 Log: - Try to bring these files closer to style(9). - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers. Modified: head/sys/arm/at91/at91_pio.c head/sys/arm/at91/at91_piovar.h head/sys/arm/at91/at91_pit.c head/sys/arm/at91/at91_pmc.c head/sys/arm/at91/at91_rst.c head/sys/arm/at91/at91_twi.c head/sys/arm/at91/at91_twireg.h head/sys/arm/at91/at91_wdt.c head/sys/arm/at91/at91reg.h head/sys/arm/at91/at91sam9260.c head/sys/arm/at91/at91var.h head/sys/arm/at91/if_ate.c Modified: head/sys/arm/at91/at91_pio.c ============================================================================== --- head/sys/arm/at91/at91_pio.c Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91_pio.c Sat Apr 14 11:29:32 2012 (r234281) @@ -52,30 +52,32 @@ struct at91_pio_softc struct mtx sc_mtx; /* basically a perimeter lock */ struct cdev *cdev; int flags; -#define OPENED 1 +#define OPENED 1 }; static inline uint32_t RD4(struct at91_pio_softc *sc, bus_size_t off) { + return (bus_read_4(sc->mem_res, off)); } static inline void WR4(struct at91_pio_softc *sc, bus_size_t off, uint32_t val) { + bus_write_4(sc->mem_res, off, val); } -#define AT91_PIO_LOCK(_sc) mtx_lock_spin(&(_sc)->sc_mtx) +#define AT91_PIO_LOCK(_sc) mtx_lock_spin(&(_sc)->sc_mtx) #define AT91_PIO_UNLOCK(_sc) mtx_unlock_spin(&(_sc)->sc_mtx) -#define AT91_PIO_LOCK_INIT(_sc) \ +#define AT91_PIO_LOCK_INIT(_sc) \ mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ "pio", MTX_SPIN) -#define AT91_PIO_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); -#define AT91_PIO_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); -#define AT91_PIO_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); -#define CDEV2SOFTC(dev) ((dev)->si_drv1) +#define AT91_PIO_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); +#define AT91_PIO_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); +#define AT91_PIO_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); +#define CDEV2SOFTC(dev) ((dev)->si_drv1) static devclass_t at91_pio_devclass; @@ -132,9 +134,10 @@ at91_pio_probe(device_t dev) static int at91_pio_attach(device_t dev) { - struct at91_pio_softc *sc = device_get_softc(dev); + struct at91_pio_softc *sc; int err; + sc = device_get_softc(dev); sc->dev = dev; err = at91_pio_activate(dev); if (err) @@ -146,7 +149,7 @@ at91_pio_attach(device_t dev) AT91_PIO_LOCK_INIT(sc); /* - * Activate the interrupt, but disable all interrupts in the hardware + * Activate the interrupt, but disable all interrupts in the hardware. */ WR4(sc, PIO_IDR, 0xffffffff); err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC, @@ -171,6 +174,7 @@ out: static int at91_pio_detach(device_t dev) { + return (EBUSY); /* XXX */ } @@ -215,7 +219,6 @@ at91_pio_deactivate(device_t dev) bus_release_resource(dev, SYS_RES_IRQ, rman_get_rid(sc->irq_res), sc->irq_res); sc->irq_res = 0; - return; } static int @@ -225,7 +228,7 @@ at91_pio_intr(void *xsc) #if 0 uint32_t status; - /* Reading the status also clears the interrupt */ + /* Reading the status also clears the interrupt. */ status = RD4(sc, PIO_SR); if (status == 0) return; @@ -236,7 +239,7 @@ at91_pio_intr(void *xsc) return (FILTER_HANDLED); } -static int +static int at91_pio_open(struct cdev *dev, int oflags, int devtype, struct thread *td) { struct at91_pio_softc *sc; @@ -246,11 +249,11 @@ at91_pio_open(struct cdev *dev, int ofla if (!(sc->flags & OPENED)) { sc->flags |= OPENED; #if 0 - // Enable interrupts + /* Enable interrupts. */ #endif } AT91_PIO_UNLOCK(sc); - return (0); + return (0); } static int @@ -262,7 +265,7 @@ at91_pio_close(struct cdev *dev, int ffl AT91_PIO_LOCK(sc); sc->flags &= ~OPENED; #if 0 - // Disable interrupts + /* Disable interrupts. */ #endif AT91_PIO_UNLOCK(sc); return (0); @@ -272,6 +275,7 @@ static int at91_pio_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread *td) { + return (ENXIO); } @@ -280,6 +284,7 @@ at91_pio_ioctl(struct cdev *dev, u_long * don't use bus_space, as that isn't yet available when we need to use * them. */ + void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup) { @@ -369,11 +374,10 @@ at91_pio_gpio_set_deglitch(uint32_t pio, PIO[PIO_IFER / 4] = data_mask; else PIO[PIO_IFDR / 4] = data_mask; - return; } void -at91_pio_gpio_set_interrupt(uint32_t pio, uint32_t data_mask, +at91_pio_gpio_set_interrupt(uint32_t pio, uint32_t data_mask, int enable_interrupt) { uint32_t *PIO = (uint32_t *)(AT91_BASE + pio); @@ -382,14 +386,14 @@ at91_pio_gpio_set_interrupt(uint32_t pio PIO[PIO_IER / 4] = data_mask; else PIO[PIO_IDR / 4] = data_mask; - return; } uint32_t at91_pio_gpio_clear_interrupt(uint32_t pio) { uint32_t *PIO = (uint32_t *)(AT91_BASE + pio); - /* reading this register will clear the interrupts */ + + /* Reading this register will clear the interrupts. */ return (PIO[PIO_ISR / 4]); } @@ -399,7 +403,7 @@ static device_method_t at91_pio_methods[ DEVMETHOD(device_attach, at91_pio_attach), DEVMETHOD(device_detach, at91_pio_detach), - { 0, 0 } + DEVMETHOD_END }; static driver_t at91_pio_driver = { @@ -408,4 +412,5 @@ static driver_t at91_pio_driver = { sizeof(struct at91_pio_softc), }; -DRIVER_MODULE(at91_pio, atmelarm, at91_pio_driver, at91_pio_devclass, 0, 0); +DRIVER_MODULE(at91_pio, atmelarm, at91_pio_driver, at91_pio_devclass, NULL, + NULL); Modified: head/sys/arm/at91/at91_piovar.h ============================================================================== --- head/sys/arm/at91/at91_piovar.h Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91_piovar.h Sat Apr 14 11:29:32 2012 (r234281) @@ -26,19 +26,23 @@ /* $FreeBSD$ */ #ifndef ARM_AT91_AT91_PIOVAR_H -#define ARM_AT91_AT91_PIOVAR_H +#define ARM_AT91_AT91_PIOVAR_H -void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, int use_pullup); -void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, int use_pullup); +void at91_pio_use_periph_a(uint32_t pio, uint32_t periph_a_mask, + int use_pullup); +void at91_pio_use_periph_b(uint32_t pio, uint32_t periph_b_mask, + int use_pullup); void at91_pio_use_gpio(uint32_t pio, uint32_t gpio_mask); void at91_pio_gpio_input(uint32_t pio, uint32_t input_enable_mask); void at91_pio_gpio_output(uint32_t pio, uint32_t output_enable_mask, - int use_pullup); + int use_pullup); void at91_pio_gpio_set(uint32_t pio, uint32_t data_mask); void at91_pio_gpio_clear(uint32_t pio, uint32_t data_mask); uint8_t at91_pio_gpio_get(uint32_t pio, uint32_t data_mask); -void at91_pio_gpio_set_deglitch(uint32_t pio, uint32_t data_mask, int use_deglitch); -void at91_pio_gpio_set_interrupt(uint32_t pio, uint32_t data_mask, int enable_interrupt); +void at91_pio_gpio_set_deglitch(uint32_t pio, uint32_t data_mask, + int use_deglitch); +void at91_pio_gpio_set_interrupt(uint32_t pio, uint32_t data_mask, + int enable_interrupt); uint32_t at91_pio_gpio_clear_interrupt(uint32_t pio); #endif /* ARM_AT91_AT91_PIOVAR_H */ Modified: head/sys/arm/at91/at91_pit.c ============================================================================== --- head/sys/arm/at91/at91_pit.c Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91_pit.c Sat Apr 14 11:29:32 2012 (r234281) @@ -59,12 +59,14 @@ static uint32_t timecount = 0; static inline uint32_t RD4(struct pit_softc *sc, bus_size_t off) { + return (bus_read_4(sc->mem_res, off)); } static inline void WR4(struct pit_softc *sc, bus_size_t off, uint32_t val) { + bus_write_4(sc->mem_res, off, val); } @@ -112,11 +114,11 @@ at91pit_attach(device_t dev) RF_ACTIVE); if (sc->mem_res == NULL) - panic("couldn't allocate register resources"); + panic("couldn't allocate register resources"); rid = 0; irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 1, 1, 1, - RF_ACTIVE | RF_SHAREABLE); + RF_ACTIVE | RF_SHAREABLE); if (!irq) { device_printf(dev, "could not allocate interrupt resources.\n"); err = ENOMEM; @@ -124,16 +126,15 @@ at91pit_attach(device_t dev) } /* Activate the interrupt. */ - err = bus_setup_intr(dev, irq, INTR_TYPE_CLK, pit_intr, - NULL, NULL, &ih); - + err = bus_setup_intr(dev, irq, INTR_TYPE_CLK, pit_intr, NULL, NULL, + &ih); + at91pit_timecounter.tc_frequency = at91_master_clock / PIT_PRESCALE; tc_init(&at91pit_timecounter); - //Enable the PIT here. - WR4(sc, PIT_MR, - PIT_PIV(at91_master_clock / PIT_PRESCALE / hz) | - PIT_EN | PIT_IEN); + /* Enable the PIT here. */ + WR4(sc, PIT_MR, PIT_PIV(at91_master_clock / PIT_PRESCALE / hz) | + PIT_EN | PIT_IEN); out: return (err); } @@ -141,7 +142,7 @@ out: static device_method_t at91pit_methods[] = { DEVMETHOD(device_probe, at91pit_probe), DEVMETHOD(device_attach, at91pit_attach), - {0,0}, + DEVMETHOD_END }; static driver_t at91pit_driver = { @@ -152,7 +153,8 @@ static driver_t at91pit_driver = { static devclass_t at91pit_devclass; -DRIVER_MODULE(at91_pit, atmelarm, at91pit_driver, at91pit_devclass, 0, 0); +DRIVER_MODULE(at91_pit, atmelarm, at91pit_driver, at91pit_devclass, NULL, + NULL); static int pit_intr(void *arg) @@ -175,7 +177,7 @@ pit_intr(void *arg) static unsigned at91pit_get_timecount(struct timecounter *tc) { - uint32_t piir, icnt; + uint32_t piir, icnt; piir = RD4(sc, PIT_PIIR); /* Current count | over flows */ icnt = piir >> 20; /* Overflows */ @@ -192,7 +194,7 @@ DELAY(int us) last = PIT_PIV(RD4(sc, PIT_PIIR)); /* Max delay ~= 260s. @ 133Mhz */ - pit_freq = at91_master_clock / PIT_PRESCALE; + pit_freq = at91_master_clock / PIT_PRESCALE; cnt = ((pit_freq * us) + (mhz -1)) / mhz; cnt = (cnt <= 0) ? 1 : cnt; @@ -211,14 +213,17 @@ DELAY(int us) void cpu_startprofclock(void) { + } void cpu_stopprofclock(void) { + } void cpu_initclocks(void) { + } Modified: head/sys/arm/at91/at91_pmc.c ============================================================================== --- head/sys/arm/at91/at91_pmc.c Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91_pmc.c Sat Apr 14 11:29:32 2012 (r234281) @@ -180,9 +180,8 @@ at91_pmc_set_pllb_mode(struct at91_pmc_c if (on) { on = PMC_IER_LOCKB; value = sc->pllb_init; - } else { + } else value = 0; - } /* Workaround RM9200 Errata #26 */ if (at91_is_rm92() && @@ -232,12 +231,12 @@ at91_pmc_clock_add(const char *name, uin int i, buflen; clk = malloc(sizeof(*clk), M_PMC, M_NOWAIT | M_ZERO); - if (clk == NULL) + if (clk == NULL) goto err; buflen = strlen(name) + 1; clk->name = malloc(buflen, M_PMC, M_NOWAIT); - if (clk->name == NULL) + if (clk->name == NULL) goto err; strlcpy(clk->name, name, buflen); @@ -256,7 +255,7 @@ at91_pmc_clock_add(const char *name, uin } err: if (clk != NULL) { - if (clk->name != NULL) + if (clk->name != NULL) free(clk->name, M_PMC); free(clk, M_PMC); } @@ -331,15 +330,16 @@ at91_pmc_pll_rate(struct at91_pmc_clock div = (reg >> clk->pll_div_shift) & clk->pll_div_mask; mul = (reg >> clk->pll_mul_shift) & clk->pll_mul_mask; -// printf("pll = (%d / %d) * %d = %d\n", -// freq, div ,mul + 1, (freq/div) * (mul+1)); +#if 0 + printf("pll = (%d / %d) * %d = %d\n", + freq, div, mul + 1, (freq/div) * (mul+1)); +#endif if (div != 0 && mul != 0) { freq /= div; freq *= mul + 1; - } else { + } else freq = 0; - } clk->hz = freq; @@ -431,9 +431,8 @@ at91_pmc_init_clock(struct at91_pmc_soft if (at91_is_rm92()) { WR4(sc, PMC_SCDR, PMC_SCER_UHP | PMC_SCER_UDP); WR4(sc, PMC_SCER, PMC_SCER_MCKUDP); - } else { + } else WR4(sc, PMC_SCDR, PMC_SCER_UHP_SAM9 | PMC_SCER_UDP_SAM9); - } WR4(sc, CKGR_PLLBR, 0); /* @@ -443,15 +442,14 @@ at91_pmc_init_clock(struct at91_pmc_soft mck.parent = clock_list[mckr & 0x3]; mck.parent->refcnt++; - cpu.hz = - mck.hz = mck.parent->hz / - (1 << ((mckr & PMC_MCKR_PRES_MASK) >> 2)); + cpu.hz = mck.hz = mck.parent->hz / + (1 << ((mckr & PMC_MCKR_PRES_MASK) >> 2)); mdiv = (mckr & PMC_MCKR_MDIV_MASK) >> 8; if (at91_is_sam9()) { if (mdiv > 0) mck.hz /= mdiv * 2; - } else + } else mck.hz /= (1 + mdiv); /* Only found on SAM9G20 */ @@ -574,7 +572,7 @@ at91_pmc_attach(device_t dev) static device_method_t at91_pmc_methods[] = { DEVMETHOD(device_probe, at91_pmc_probe), DEVMETHOD(device_attach, at91_pmc_attach), - {0, 0}, + DEVMETHOD_END }; static driver_t at91_pmc_driver = { @@ -584,4 +582,5 @@ static driver_t at91_pmc_driver = { }; static devclass_t at91_pmc_devclass; -DRIVER_MODULE(at91_pmc, atmelarm, at91_pmc_driver, at91_pmc_devclass, 0, 0); +DRIVER_MODULE(at91_pmc, atmelarm, at91_pmc_driver, at91_pmc_devclass, NULL, + NULL); Modified: head/sys/arm/at91/at91_rst.c ============================================================================== --- head/sys/arm/at91/at91_rst.c Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91_rst.c Sat Apr 14 11:29:32 2012 (r234281) @@ -40,7 +40,7 @@ __FBSDID("$FreeBSD$"); #include #define RST_TIMEOUT (5) /* Seconds to hold NRST for hard reset */ -#define RST_TICK (20) /* sample NRST at hz/RST_TICK intervals */ +#define RST_TICK (20) /* sample NRST at hz/RST_TICK intervals */ static int rst_intr(void *arg); @@ -122,7 +122,7 @@ at91_rst_attach(device_t dev) case RST_SR_RST_WAKE: cause = "Wake Up"; break; - case RST_SR_RST_WDT: + case RST_SR_RST_WDT: cause = "Watchdog"; break; case RST_SR_RST_SOFT: @@ -153,7 +153,7 @@ rst_tick(void *argp) cpu_reset(); } else if ((RD4(sc, RST_SR) & RST_SR_NRSTL)) { /* User released the button in less than RST_TIMEOUT */ - sc->shutdown = 0; + sc->shutdown = 0; device_printf(sc->sc_dev, "shutting down...\n"); shutdown_nice(0); } else { @@ -167,7 +167,7 @@ rst_intr(void *argp) struct rst_softc *sc = argp; if (RD4(sc, RST_SR) & RST_SR_URSTS) { - if (sc->shutdown == 0) + if (sc->shutdown == 0) callout_reset(&sc->tick_ch, hz/RST_TICK, rst_tick, sc); return (FILTER_HANDLED); } @@ -177,7 +177,7 @@ rst_intr(void *argp) static device_method_t at91_rst_methods[] = { DEVMETHOD(device_probe, at91_rst_probe), DEVMETHOD(device_attach, at91_rst_attach), - {0,0}, + DEVMETHOD_END }; static driver_t at91_rst_driver = { @@ -188,7 +188,8 @@ static driver_t at91_rst_driver = { static devclass_t at91_rst_devclass; -DRIVER_MODULE(at91_rst, atmelarm, at91_rst_driver, at91_rst_devclass, 0, 0); +DRIVER_MODULE(at91_rst, atmelarm, at91_rst_driver, at91_rst_devclass, NULL, + NULL); void cpu_reset_sam9g20(void) __attribute__((weak)); void cpu_reset_sam9g20(void) {} @@ -198,7 +199,6 @@ cpu_reset(void) { if (rst_sc) { - cpu_reset_sam9g20(); /* May be null */ WR4(rst_sc, RST_MR, @@ -211,5 +211,6 @@ cpu_reset(void) RST_CR_KEY); } - for(;;) ; + for(;;) + ; } Modified: head/sys/arm/at91/at91_twi.c ============================================================================== --- head/sys/arm/at91/at91_twi.c Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91_twi.c Sat Apr 14 11:29:32 2012 (r234281) @@ -46,9 +46,9 @@ __FBSDID("$FreeBSD$"); #include #include "iicbus_if.h" -#define TWI_SLOW_CLOCK 1500 -#define TWI_FAST_CLOCK 45000 -#define TWI_FASTEST_CLOCK 90000 +#define TWI_SLOW_CLOCK 1500 +#define TWI_FAST_CLOCK 45000 +#define TWI_FASTEST_CLOCK 90000 struct at91_twi_softc { @@ -67,24 +67,26 @@ struct at91_twi_softc static inline uint32_t RD4(struct at91_twi_softc *sc, bus_size_t off) { + return bus_read_4(sc->mem_res, off); } static inline void WR4(struct at91_twi_softc *sc, bus_size_t off, uint32_t val) { + bus_write_4(sc->mem_res, off, val); } -#define AT91_TWI_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) +#define AT91_TWI_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) #define AT91_TWI_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) -#define AT91_TWI_LOCK_INIT(_sc) \ +#define AT91_TWI_LOCK_INIT(_sc) \ mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ "twi", MTX_DEF) -#define AT91_TWI_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); -#define AT91_TWI_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); -#define AT91_TWI_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); -#define TWI_DEF_CLK 100000 +#define AT91_TWI_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); +#define AT91_TWI_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); +#define AT91_TWI_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); +#define TWI_DEF_CLK 100000 static devclass_t at91_twi_devclass; @@ -102,6 +104,7 @@ static void at91_twi_deactivate(device_t static int at91_twi_probe(device_t dev) { + device_set_desc(dev, "TWI"); return (0); } @@ -385,7 +388,7 @@ static device_method_t at91_twi_methods[ DEVMETHOD(iicbus_callback, at91_twi_callback), DEVMETHOD(iicbus_reset, at91_twi_rst_card), DEVMETHOD(iicbus_transfer, at91_twi_transfer), - { 0, 0 } + DEVMETHOD_END }; static driver_t at91_twi_driver = { @@ -394,6 +397,7 @@ static driver_t at91_twi_driver = { sizeof(struct at91_twi_softc), }; -DRIVER_MODULE(at91_twi, atmelarm, at91_twi_driver, at91_twi_devclass, 0, 0); -DRIVER_MODULE(iicbus, at91_twi, iicbus_driver, iicbus_devclass, 0, 0); +DRIVER_MODULE(at91_twi, atmelarm, at91_twi_driver, at91_twi_devclass, NULL, + NULL); +DRIVER_MODULE(iicbus, at91_twi, iicbus_driver, iicbus_devclass, NULL, NULL); MODULE_DEPEND(at91_twi, iicbus, 1, 1, 1); Modified: head/sys/arm/at91/at91_twireg.h ============================================================================== --- head/sys/arm/at91/at91_twireg.h Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91_twireg.h Sat Apr 14 11:29:32 2012 (r234281) @@ -26,61 +26,61 @@ /* $FreeBSD$ */ #ifndef ARM_AT91_AT91_TWIREG_H -#define ARM_AT91_AT91_TWIREG_H +#define ARM_AT91_AT91_TWIREG_H -#define TWI_CR 0x00 /* TWI Control Register */ -#define TWI_MMR 0x04 /* TWI Master Mode Register */ -#define TWI_SMR 0x08 /* TWI Master Mode Register */ -#define TWI_IADR 0x0c /* TWI Internal Address Register */ -#define TWI_CWGR 0x10 /* TWI Clock Waveform Generator Reg */ +#define TWI_CR 0x00 /* TWI Control Register */ +#define TWI_MMR 0x04 /* TWI Master Mode Register */ +#define TWI_SMR 0x08 /* TWI Master Mode Register */ +#define TWI_IADR 0x0c /* TWI Internal Address Register */ +#define TWI_CWGR 0x10 /* TWI Clock Waveform Generator Reg */ /* 0x14 reserved */ /* 0x18 reserved */ /* 0x1c reserved */ -#define TWI_SR 0x20 /* TWI Status Register */ -#define TWI_IER 0x24 /* TWI Interrupt Enable Register */ -#define TWI_IDR 0x28 /* TWI Interrupt Disable Register */ -#define TWI_IMR 0x2c /* TWI Interrupt Mask Register */ -#define TWI_RHR 0x30 /* TWI Receiver Holding Register */ -#define TWI_THR 0x34 /* TWI Transmit Holding Register */ +#define TWI_SR 0x20 /* TWI Status Register */ +#define TWI_IER 0x24 /* TWI Interrupt Enable Register */ +#define TWI_IDR 0x28 /* TWI Interrupt Disable Register */ +#define TWI_IMR 0x2c /* TWI Interrupt Mask Register */ +#define TWI_RHR 0x30 /* TWI Receiver Holding Register */ +#define TWI_THR 0x34 /* TWI Transmit Holding Register */ /* TWI_CR */ -#define TWI_CR_START (1U << 0) /* Send a start */ -#define TWI_CR_STOP (1U << 1) /* Send a stop */ -#define TWI_CR_MSEN (1U << 2) /* Master Transfer Enable */ -#define TWI_CR_MSDIS (1U << 3) /* Master Transfer Disable */ -#define TWI_CR_SVEN (1U << 4) /* Slave Transfer Enable */ -#define TWI_CR_SVDIS (1U << 5) /* Slave Transfer Disable */ -#define TWI_CR_SWRST (1U << 7) /* Software Reset */ +#define TWI_CR_START (1U << 0) /* Send a start */ +#define TWI_CR_STOP (1U << 1) /* Send a stop */ +#define TWI_CR_MSEN (1U << 2) /* Master Transfer Enable */ +#define TWI_CR_MSDIS (1U << 3) /* Master Transfer Disable */ +#define TWI_CR_SVEN (1U << 4) /* Slave Transfer Enable */ +#define TWI_CR_SVDIS (1U << 5) /* Slave Transfer Disable */ +#define TWI_CR_SWRST (1U << 7) /* Software Reset */ /* TWI_MMR */ /* TWI_SMR */ -#define TWI_MMR_IADRSZ(n) ((n) << 8) /* Set size of transfer */ -#define TWI_MMR_MWRITE 0U /* Master Read Direction */ -#define TWI_MMR_MREAD (1U << 12) /* Master Read Direction */ -#define TWI_MMR_DADR(n) ((n) << 15) /* Device Address */ +#define TWI_MMR_IADRSZ(n) ((n) << 8) /* Set size of transfer */ +#define TWI_MMR_MWRITE 0U /* Master Read Direction */ +#define TWI_MMR_MREAD (1U << 12) /* Master Read Direction */ +#define TWI_MMR_DADR(n) ((n) << 15) /* Device Address */ /* TWI_CWGR */ -#define TWI_CWGR_CKDIV(x) ((x) << 16) /* Clock Divider */ -#define TWI_CWGR_CHDIV(x) ((x) << 8) /* Clock High Divider */ -#define TWI_CWGR_CLDIV(x) ((x) << 0) /* Clock Low Divider */ -#define TWI_CWGR_DIV(rate) \ - (at91_is_sam9() ? \ - ((at91_master_clock /(4*(rate))) - 3) : \ - ((at91_master_clock /(4*(rate))) - 2)) +#define TWI_CWGR_CKDIV(x) ((x) << 16) /* Clock Divider */ +#define TWI_CWGR_CHDIV(x) ((x) << 8) /* Clock High Divider */ +#define TWI_CWGR_CLDIV(x) ((x) << 0) /* Clock Low Divider */ +#define TWI_CWGR_DIV(rate) \ + (at91_is_sam9() ? \ + ((at91_master_clock / (4 * (rate))) - 3) : \ + ((at91_master_clock / (4 * (rate))) - 2)) /* TWI_SR */ /* TWI_IER */ /* TWI_IDR */ /* TWI_IMR */ -#define TWI_SR_TXCOMP (1U << 0) /* Transmission Completed */ -#define TWI_SR_RXRDY (1U << 1) /* Receive Holding Register Ready */ -#define TWI_SR_TXRDY (1U << 2) /* Transmit Holding Register Ready */ -#define TWI_SR_SVREAD (1U << 3) /* Slave Read */ -#define TWI_SR_SVACC (1U << 4) /* Slave Access */ -#define TWI_SR_GCACC (1U << 5) /* General Call Access */ -#define TWI_SR_OVRE (1U << 6) /* Overrun error */ -#define TWI_SR_UNRE (1U << 7) /* Underrun Error */ -#define TWI_SR_NACK (1U << 8) /* Not Acknowledged */ -#define TWI_SR_ARBLST (1U << 9) /* Arbitration Lost */ +#define TWI_SR_TXCOMP (1U << 0) /* Transmission Completed */ +#define TWI_SR_RXRDY (1U << 1) /* Receive Holding Register Ready */ +#define TWI_SR_TXRDY (1U << 2) /* Transmit Holding Register Ready */ +#define TWI_SR_SVREAD (1U << 3) /* Slave Read */ +#define TWI_SR_SVACC (1U << 4) /* Slave Access */ +#define TWI_SR_GCACC (1U << 5) /* General Call Access */ +#define TWI_SR_OVRE (1U << 6) /* Overrun error */ +#define TWI_SR_UNRE (1U << 7) /* Underrun Error */ +#define TWI_SR_NACK (1U << 8) /* Not Acknowledged */ +#define TWI_SR_ARBLST (1U << 9) /* Arbitration Lost */ #endif /* ARM_AT91_AT91_TWIREG_H */ Modified: head/sys/arm/at91/at91_wdt.c ============================================================================== --- head/sys/arm/at91/at91_wdt.c Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91_wdt.c Sat Apr 14 11:29:32 2012 (r234281) @@ -24,9 +24,9 @@ */ /* - * The sam9 watchdog hardware can be programed only once. So we set the hardware - * watchdog to 16s in wdt_attach and only reset it in the wdt_tick - * handler. The watchdog is halted in processor debug mode. + * The SAM9 watchdog hardware can be programed only once. So we set the + * hardware watchdog to 16 s in wdt_attach and only reset it in the wdt_tick + * handler. The watchdog is halted in processor debug mode. */ #include @@ -52,19 +52,21 @@ struct wdt_softc { struct callout tick_ch; eventhandler_tag sc_wet; void *intrhand; - u_int cmd; - u_int interval; + u_int cmd; + u_int interval; }; static inline uint32_t RD4(struct wdt_softc *sc, bus_size_t off) { + return (bus_read_4(sc->mem_res, off)); } static inline void WR4(struct wdt_softc *sc, bus_size_t off, uint32_t val) { + bus_write_4(sc->mem_res, off, val); } @@ -157,7 +159,7 @@ wdt_attach(device_t dev) RF_ACTIVE); if (sc->mem_res == NULL) - panic("couldn't allocate wdt register resources"); + panic("couldn't allocate wdt register resources"); wdt_mr = RD4(sc, WDT_MR); if ((wdt_mr & WDT_WDRSTEN) == 0) @@ -172,9 +174,11 @@ wdt_attach(device_t dev) WR4(sc, WDT_MR, WDT_WDDBGHLT | WDT_WDD(0xC00)| WDT_WDFIEN| WDT_WDV(0xFFF)); #endif - /* This may have been set by Boot ROM so register value - * may not be what we just requested since this is a - * write once register. */ + /* + * This may have been set by Boot ROM so register value may + * not be what we just requested since this is a write once + * register. + */ wdt_mr = RD4(sc, WDT_MR); if (wdt_mr & WDT_WDFIEN) { rid = 0; @@ -184,15 +188,15 @@ wdt_attach(device_t dev) panic("could not allocate interrupt.\n"); err = bus_setup_intr(dev, irq, INTR_TYPE_CLK, wdt_intr, - NULL, sc, &sc->intrhand); + NULL, sc, &sc->intrhand); } /* interval * hz */ sc->interval = (((wdt_mr & WDT_WDV(~0)) + 1) * WDT_DIV) / - (WDT_CLOCK/hz); + (WDT_CLOCK/hz); device_printf(dev, "watchdog timeout: %d seconds\n", - sc->interval/hz); + sc->interval / hz); /* Slightly less than 1/2 of watchdog hardware timeout */ sc->interval = (sc->interval/2) - (sc->interval/20); @@ -208,7 +212,7 @@ wdt_attach(device_t dev) static device_method_t wdt_methods[] = { DEVMETHOD(device_probe, wdt_probe), DEVMETHOD(device_attach, wdt_attach), - {0,0}, + DEVMETHOD_END }; static driver_t wdt_driver = { @@ -219,4 +223,4 @@ static driver_t wdt_driver = { static devclass_t wdt_devclass; -DRIVER_MODULE(at91_wdt, atmelarm, wdt_driver, wdt_devclass, 0, 0); +DRIVER_MODULE(at91_wdt, atmelarm, wdt_driver, wdt_devclass, NULL, NULL); Modified: head/sys/arm/at91/at91reg.h ============================================================================== --- head/sys/arm/at91/at91reg.h Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91reg.h Sat Apr 14 11:29:32 2012 (r234281) @@ -28,43 +28,44 @@ */ #ifndef _AT91REG_H_ -#define _AT91REG_H_ +#define _AT91REG_H_ #include "opt_at91.h" /* Where builtin peripherals start in KVM */ -#define AT91_BASE 0xd0000000 +#define AT91_BASE 0xd0000000 /* A few things that we count on being the same * throught the whole family of SOCs */ /* SYSC System Controler */ /* System Registers */ -#define AT91_SYS_BASE 0xffff000 -#define AT91_SYS_SIZE 0x1000 +#define AT91_SYS_BASE 0xffff000 +#define AT91_SYS_SIZE 0x1000 #if defined(AT91SAM9G45) || defined(AT91SAM9263) -#define AT91_DBGU_BASE 0xfffee00 +#define AT91_DBGU_BASE 0xfffee00 #else -#define AT91_DBGU_BASE 0xffff200 +#define AT91_DBGU_BASE 0xffff200 #endif -#define AT91_DBGU_SIZE 0x200 -#define DBGU_C1R (64) /* Chip ID1 Register */ -#define DBGU_C2R (68) /* Chip ID2 Register */ -#define DBGU_FNTR (72) /* Force NTRST Register */ - -#define AT91_CPU_VERSION_MASK 0x0000001f -#define AT91_CPU_RM9200 0x09290780 -#define AT91_CPU_SAM9260 0x019803a0 -#define AT91_CPU_SAM9261 0x019703a0 -#define AT91_CPU_SAM9263 0x019607a0 -#define AT91_CPU_SAM9G10 0x819903a0 -#define AT91_CPU_SAM9G20 0x019905a0 -#define AT91_CPU_SAM9G45 0x819b05a0 - -#define AT91_ARCH(chipid) ((chipid >> 20) & 0xff) -#define AT91_CPU(chipid) (chipid & ~AT91_CPU_VERSION_MASK) -#define AT91_ARCH_SAM9 (0x19) -#define AT91_ARCH_RM92 (0x92) +#define AT91_DBGU_SIZE 0x200 +#define DBGU_C1R (64) /* Chip ID1 Register */ +#define DBGU_C2R (68) /* Chip ID2 Register */ +#define DBGU_FNTR (72) /* Force NTRST Register */ + +#define AT91_CPU_VERSION_MASK 0x0000001f +#define AT91_CPU_RM9200 0x09290780 +#define AT91_CPU_SAM9260 0x019803a0 +#define AT91_CPU_SAM9261 0x019703a0 +#define AT91_CPU_SAM9263 0x019607a0 +#define AT91_CPU_SAM9G10 0x819903a0 +#define AT91_CPU_SAM9G20 0x019905a0 +#define AT91_CPU_SAM9G45 0x819b05a0 + +#define AT91_ARCH(chipid) ((chipid >> 20) & 0xff) +#define AT91_CPU(chipid) (chipid & ~AT91_CPU_VERSION_MASK) +#define AT91_ARCH_SAM9 (0x19) +#define AT91_ARCH_SAM9XE (0x29) +#define AT91_ARCH_RM92 (0x92) #endif /* _AT91REG_H_ */ Modified: head/sys/arm/at91/at91sam9260.c ============================================================================== --- head/sys/arm/at91/at91sam9260.c Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91sam9260.c Sat Apr 14 11:29:32 2012 (r234281) @@ -93,7 +93,7 @@ static const int at91_irq_prio[32] = 0, /* Advanced Interrupt Controller IRQ2 */ }; -#define DEVICE(_name, _id, _unit) \ +#define DEVICE(_name, _id, _unit) \ { \ _name, _unit, \ AT91SAM9260_ ## _id ##_BASE, \ @@ -157,7 +157,7 @@ at91_add_child(device_t dev, int prio, c bus_set_resource(kid, SYS_RES_IRQ, 1, irq1, 1); if (irq2 != 0) bus_set_resource(kid, SYS_RES_IRQ, 2, irq2, 1); - if (addr != 0 && addr < AT91SAM9260_BASE) + if (addr != 0 && addr < AT91SAM9260_BASE) addr += AT91SAM9260_BASE; if (addr != 0) bus_set_resource(kid, SYS_RES_MEMORY, 0, addr, size); @@ -182,13 +182,14 @@ at91_pll_outa(int freq) if (freq > 195000000) return (0x20000000); - else + else return (0x20008000); } static uint32_t at91_pll_outb(int freq) { + return (0x4000); } @@ -226,7 +227,7 @@ at91_attach(device_t dev) sc->sc_sh = at91sc->sc_sh; sc->dev = dev; - /* + /* * XXX These values work for the RM9200, SAM926[01], and SAM9260 * will have to fix this when we want to support anything else. XXX */ @@ -247,7 +248,7 @@ at91_attach(device_t dev) at91sc->sc_irq_system = AT91SAM9260_IRQ_SYSTEM; for (i = 0; i < 32; i++) { - bus_space_write_4(sc->sc_st, sc->sc_aic_sh, IC_SVR + + bus_space_write_4(sc->sc_st, sc->sc_aic_sh, IC_SVR + i * 4, i); /* Priority. */ bus_space_write_4(sc->sc_st, sc->sc_aic_sh, IC_SMR + i * 4, @@ -276,10 +277,9 @@ at91_attach(device_t dev) i = bus_space_read_4(sc->sc_st, sc->sc_matrix_sh, AT91SAM9260_EBICSA); bus_space_write_4(sc->sc_st, sc->sc_matrix_sh, - AT91SAM9260_EBICSA, + AT91SAM9260_EBICSA, i | AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA); - /* Update USB device port clock info */ clk = at91_pmc_clock_ref("udpck"); clk->pmc_mask = PMC_SCER_UDP_SAM9; @@ -304,11 +304,12 @@ at91_attach(device_t dev) at91_pmc_clock_deref(clk); /* - * Fudge MAX pll in frequence down below 3.0 Mhz to ensure - * PMC alogrithm choose the divisor that causes the input clock - * to be near the optimal 2 Mhz per datasheet. We know - * we are going to be using this for the USB clock at 96 Mhz. - * Causes no extra frequency deviation for all recomended crystal values. + * Fudge MAX pll in frequence down below 3.0 MHz to ensure + * PMC alogrithm choose the divisor that causes the input clock + * to be near the optimal 2 MHz per datasheet. We know + * we are going to be using this for the USB clock at 96 MHz. + * Causes no extra frequency deviation for all recomended crystal + * values. */ clk = at91_pmc_clock_ref("pllb"); clk->pll_min_in = SAM9260_PLL_B_MIN_IN_FREQ; /* 1 MHz */ @@ -329,7 +330,7 @@ static device_method_t at91sam9260_metho DEVMETHOD(device_probe, at91_probe), DEVMETHOD(device_attach, at91_attach), DEVMETHOD(device_identify, at91_identify), - {0, 0}, + DEVMETHOD_END }; static driver_t at91sam9260_driver = { @@ -340,4 +341,5 @@ static driver_t at91sam9260_driver = { static devclass_t at91sam9260_devclass; -DRIVER_MODULE(at91sam9260, atmelarm, at91sam9260_driver, at91sam9260_devclass, 0, 0); +DRIVER_MODULE(at91sam9260, atmelarm, at91sam9260_driver, at91sam9260_devclass, + NULL, NULL); Modified: head/sys/arm/at91/at91var.h ============================================================================== --- head/sys/arm/at91/at91var.h Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/at91var.h Sat Apr 14 11:29:32 2012 (r234281) @@ -62,24 +62,27 @@ struct cpu_devs extern uint32_t at91_chip_id; static inline int at91_is_rm92(void); -static inline int at91_is_sam9(void) ; +static inline int at91_is_sam9(void); static inline int at91_cpu_is(u_int cpu); -static inline int -at91_is_rm92(void) +static inline int +at91_is_rm92(void) { + return (AT91_ARCH(at91_chip_id) == AT91_ARCH_RM92); } -static inline int -at91_is_sam9(void) +static inline int +at91_is_sam9(void) { + return (AT91_ARCH(at91_chip_id) == AT91_ARCH_SAM9); } -static inline int +static inline int at91_cpu_is(u_int cpu) { + return (AT91_CPU(at91_chip_id) == cpu); } Modified: head/sys/arm/at91/if_ate.c ============================================================================== --- head/sys/arm/at91/if_ate.c Sat Apr 14 11:21:24 2012 (r234280) +++ head/sys/arm/at91/if_ate.c Sat Apr 14 11:29:32 2012 (r234281) @@ -120,38 +120,38 @@ __FBSDID("$FreeBSD$"); struct ate_softc { - struct ifnet *ifp; /* ifnet pointer */ - struct mtx sc_mtx; /* Basically a perimeter lock */ - device_t dev; /* Myself */ - device_t miibus; /* My child miibus */ - struct resource *irq_res; /* IRQ resource */ - struct resource *mem_res; /* Memory resource */ - struct callout tick_ch; /* Tick callout */ + struct ifnet *ifp; /* ifnet pointer */ + struct mtx sc_mtx; /* Basically a perimeter lock */ + device_t dev; /* Myself */ + device_t miibus; /* My child miibus */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 11:31:44 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0D2311065670; Sat, 14 Apr 2012 11:31:44 +0000 (UTC) (envelope-from jeremie@le-hen.org) Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [IPv6:2a01:e0c:1:1599::14]) by mx1.freebsd.org (Postfix) with ESMTP id 94B6B8FC19; Sat, 14 Apr 2012 11:31:39 +0000 (UTC) Received: from endor.tataz.chchile.org (unknown [82.233.239.98]) by smtp5-g21.free.fr (Postfix) with ESMTP id B21D8D48101; Sat, 14 Apr 2012 13:31:33 +0200 (CEST) Received: from felucia.tataz.chchile.org (felucia.tataz.chchile.org [192.168.1.9]) by endor.tataz.chchile.org (Postfix) with ESMTP id 92945952; Sat, 14 Apr 2012 13:31:32 +0200 (CEST) Received: by felucia.tataz.chchile.org (Postfix, from userid 1000) id 8598D647E; Sat, 14 Apr 2012 11:31:32 +0000 (UTC) Date: Sat, 14 Apr 2012 13:31:32 +0200 From: Jeremie Le Hen To: Sergey Kandaurov Message-ID: <20120414113132.GA71196@felucia.tataz.chchile.org> Mail-Followup-To: Sergey Kandaurov , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201203220942.q2M9gSvv017339@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201203220942.q2M9gSvv017339@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233296 - head/lib/libc/gen X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 11:31:44 -0000 Hi Sergey, On Thu, Mar 22, 2012 at 09:42:28AM +0000, Sergey Kandaurov wrote: > Author: pluknet > Date: Thu Mar 22 09:42:27 2012 > New Revision: 233296 > URL: http://svn.freebsd.org/changeset/base/233296 > > Log: > Prevent fs_file NULL pointer dereference in fixfsfile() uncovered after r1.5 > when passing damaged user-supplied fstab file data. > > MFC after: 1 week > > Modified: > head/lib/libc/gen/fstab.c > > Modified: head/lib/libc/gen/fstab.c > ============================================================================== > --- head/lib/libc/gen/fstab.c Thu Mar 22 09:29:07 2012 (r233295) > +++ head/lib/libc/gen/fstab.c Thu Mar 22 09:42:27 2012 (r233296) > @@ -91,7 +91,7 @@ fixfsfile() > struct stat sb; > struct statfs sf; > > - if (strcmp(_fs_fstab.fs_file, "/") != 0) > + if (_fs_fstab.fs_file != NULL &&strcmp(_fs_fstab.fs_file, "/") != 0) > return; > if (statfs("/", &sf) != 0) > return; Would you mind MFC'ing this please? It bit me today :). Thanks. -- Jeremie Le Hen Men are born free and equal. Later on, they're on their own. Jean Yanne From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 13:39:40 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0B035106564A; Sat, 14 Apr 2012 13:39:40 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E9C878FC08; Sat, 14 Apr 2012 13:39: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 q3EDddrK032269; Sat, 14 Apr 2012 13:39:39 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EDddaP032267; Sat, 14 Apr 2012 13:39:39 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201204141339.q3EDddaP032267@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sat, 14 Apr 2012 13:39:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234283 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 13:39:40 -0000 Author: bz Date: Sat Apr 14 13:39:39 2012 New Revision: 234283 URL: http://svn.freebsd.org/changeset/base/234283 Log: Make compile on 64bit somehow for now after a first try at r234242 on maybe 32bit? Modified: head/sys/dev/netmap/netmap_mem2.c Modified: head/sys/dev/netmap/netmap_mem2.c ============================================================================== --- head/sys/dev/netmap/netmap_mem2.c Sat Apr 14 11:44:10 2012 (r234282) +++ head/sys/dev/netmap/netmap_mem2.c Sat Apr 14 13:39:39 2012 (r234283) @@ -161,9 +161,11 @@ netmap_ofstophys(vm_offset_t offset) return p[i]->lut[offset / p[i]->_objsize].paddr + offset % p[i]->_objsize; } - D("invalid ofs 0x%x out of 0x%x 0x%x 0x%x", o, - (u_int)p[0]->_memtotal, p[0]->_memtotal + p[1]->_memtotal, - p[0]->_memtotal + p[1]->_memtotal + p[2]->_memtotal); + D("invalid ofs 0x%jx out of 0x%jx 0x%jx 0x%jx", (uintmax_t)o, + (uintmax_t)p[0]->_memtotal, + (uintmax_t)(p[0]->_memtotal + p[1]->_memtotal), + (uintmax_t)(p[0]->_memtotal + p[1]->_memtotal + + p[2]->_memtotal)); return 0; // XXX bad address } From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 13:40:39 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C31861065695; Sat, 14 Apr 2012 13:40:39 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AF2908FC0C; Sat, 14 Apr 2012 13:40: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 q3EDedQi032341; Sat, 14 Apr 2012 13:40:39 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EDedvJ032339; Sat, 14 Apr 2012 13:40:39 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201204141340.q3EDedvJ032339@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sat, 14 Apr 2012 13:40:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234284 - head/sys/modules/iscsi/initiator X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 13:40:39 -0000 Author: bz Date: Sat Apr 14 13:40:39 2012 New Revision: 234284 URL: http://svn.freebsd.org/changeset/base/234284 Log: Fix LINT builds after r234233; not sure why modules need DEBUG by default. Modified: head/sys/modules/iscsi/initiator/Makefile Modified: head/sys/modules/iscsi/initiator/Makefile ============================================================================== --- head/sys/modules/iscsi/initiator/Makefile Sat Apr 14 13:39:39 2012 (r234283) +++ head/sys/modules/iscsi/initiator/Makefile Sat Apr 14 13:40:39 2012 (r234284) @@ -10,7 +10,7 @@ SRCS+= iscsi.c isc_cam.c isc_soc.c isc_s SRCS+= opt_cam.h opt_iscsi_initiator.h SRCS+= bus_if.h device_if.h #CFLAGS+= -DNO_USE_MBUF -CFLAGS+= -DISCSI_INITIATOR_DEBUG=2 +#CFLAGS+= -DISCSI_INITIATOR_DEBUG=2 CFLAGS+= -I$S CFLAGS+= -DINVARIANTS .include From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 13:54:16 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D420106566B; Sat, 14 Apr 2012 13:54:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 40F2D8FC0C; Sat, 14 Apr 2012 13:54: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 q3EDsGtD032817; Sat, 14 Apr 2012 13:54:16 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EDsFiJ032808; Sat, 14 Apr 2012 13:54:15 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204141354.q3EDsFiJ032808@svn.freebsd.org> From: Dimitry Andric Date: Sat, 14 Apr 2012 13:54:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234285 - in vendor/llvm/dist: . autoconf autoconf/m4 bindings bindings/ocaml bindings/ocaml/llvm bindings/python bindings/python/llvm bindings/python/llvm/tests bindings/python/tests c... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 13:54:16 -0000 Author: dim Date: Sat Apr 14 13:54:10 2012 New Revision: 234285 URL: http://svn.freebsd.org/changeset/base/234285 Log: Vendor import of llvm trunk r154661: http://llvm.org/svn/llvm-project/llvm/trunk@r154661 Added: vendor/llvm/dist/LLVMBuild.txt vendor/llvm/dist/bindings/LLVMBuild.txt vendor/llvm/dist/bindings/python/ vendor/llvm/dist/bindings/python/README.txt vendor/llvm/dist/bindings/python/llvm/ vendor/llvm/dist/bindings/python/llvm/__init__.py vendor/llvm/dist/bindings/python/llvm/common.py vendor/llvm/dist/bindings/python/llvm/core.py vendor/llvm/dist/bindings/python/llvm/disassembler.py vendor/llvm/dist/bindings/python/llvm/enumerations.py vendor/llvm/dist/bindings/python/llvm/object.py vendor/llvm/dist/bindings/python/llvm/tests/ vendor/llvm/dist/bindings/python/llvm/tests/__init__.py vendor/llvm/dist/bindings/python/llvm/tests/base.py vendor/llvm/dist/bindings/python/llvm/tests/test_core.py vendor/llvm/dist/bindings/python/llvm/tests/test_disassembler.py vendor/llvm/dist/bindings/python/llvm/tests/test_object.py vendor/llvm/dist/bindings/python/tests/ vendor/llvm/dist/cmake/modules/GetHostTriple.cmake vendor/llvm/dist/docs/CommandGuide/llvm-build.pod vendor/llvm/dist/docs/CommandGuide/llvm-cov.pod vendor/llvm/dist/docs/CommandGuide/llvm-stress.pod vendor/llvm/dist/docs/HowToAddABuilder.html vendor/llvm/dist/docs/LLVMBuild.html vendor/llvm/dist/docs/LLVMBuild.txt vendor/llvm/dist/docs/TestSuiteMakefileGuide.html vendor/llvm/dist/examples/LLVMBuild.txt vendor/llvm/dist/include/llvm-c/TargetMachine.h vendor/llvm/dist/include/llvm-c/Transforms/Vectorize.h vendor/llvm/dist/include/llvm/ADT/Hashing.h vendor/llvm/dist/include/llvm/ADT/SparseSet.h vendor/llvm/dist/include/llvm/ADT/VariadicFunction.h vendor/llvm/dist/include/llvm/ADT/edit_distance.h vendor/llvm/dist/include/llvm/CodeGen/DFAPacketizer.h vendor/llvm/dist/include/llvm/CodeGen/LiveRangeEdit.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstrBundle.h vendor/llvm/dist/include/llvm/CodeGen/MachineScheduler.h vendor/llvm/dist/include/llvm/CodeGen/ResourcePriorityQueue.h vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAGInstrs.h vendor/llvm/dist/include/llvm/ExecutionEngine/IntelJITEventsWrapper.h vendor/llvm/dist/include/llvm/ExecutionEngine/OProfileWrapper.h vendor/llvm/dist/include/llvm/IntrinsicsHexagon.td vendor/llvm/dist/include/llvm/MC/MCWinCOFFObjectWriter.h vendor/llvm/dist/include/llvm/Object/ELF.h vendor/llvm/dist/include/llvm/Support/DataStream.h vendor/llvm/dist/include/llvm/Support/JSONParser.h vendor/llvm/dist/include/llvm/Support/LockFileManager.h vendor/llvm/dist/include/llvm/Support/SaveAndRestore.h vendor/llvm/dist/include/llvm/Support/StreamableMemoryObject.h vendor/llvm/dist/include/llvm/Support/YAMLParser.h vendor/llvm/dist/include/llvm/Transforms/Utils/CmpInstAnalysis.h vendor/llvm/dist/include/llvm/Transforms/Utils/ModuleUtils.h vendor/llvm/dist/include/llvm/Transforms/Vectorize.h vendor/llvm/dist/lib/Analysis/CodeMetrics.cpp vendor/llvm/dist/lib/Analysis/IPA/LLVMBuild.txt vendor/llvm/dist/lib/Analysis/LLVMBuild.txt vendor/llvm/dist/lib/Archive/LLVMBuild.txt vendor/llvm/dist/lib/AsmParser/LLVMBuild.txt vendor/llvm/dist/lib/Bitcode/LLVMBuild.txt vendor/llvm/dist/lib/Bitcode/Reader/LLVMBuild.txt vendor/llvm/dist/lib/Bitcode/Writer/LLVMBuild.txt vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfAccelTable.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/LLVMBuild.txt vendor/llvm/dist/lib/CodeGen/DFAPacketizer.cpp vendor/llvm/dist/lib/CodeGen/JITCodeEmitter.cpp vendor/llvm/dist/lib/CodeGen/LLVMBuild.txt vendor/llvm/dist/lib/CodeGen/MachineBlockPlacement.cpp vendor/llvm/dist/lib/CodeGen/MachineCodeEmitter.cpp vendor/llvm/dist/lib/CodeGen/MachineCopyPropagation.cpp vendor/llvm/dist/lib/CodeGen/MachineInstrBundle.cpp vendor/llvm/dist/lib/CodeGen/MachineScheduler.cpp vendor/llvm/dist/lib/CodeGen/RegAllocBase.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LLVMBuild.txt vendor/llvm/dist/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp vendor/llvm/dist/lib/CodeGen/TargetFrameLoweringImpl.cpp vendor/llvm/dist/lib/CodeGen/TargetOptionsImpl.cpp vendor/llvm/dist/lib/DebugInfo/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/EventListenerCommon.h vendor/llvm/dist/lib/ExecutionEngine/IntelJITEvents/ vendor/llvm/dist/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt vendor/llvm/dist/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp vendor/llvm/dist/lib/ExecutionEngine/IntelJITEvents/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/IntelJITEvents/Makefile vendor/llvm/dist/lib/ExecutionEngine/Interpreter/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/JIT/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/MCJIT/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.cpp vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/ vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/CMakeLists.txt vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/Makefile vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/OProfileWrapper.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h vendor/llvm/dist/lib/LLVMBuild.txt vendor/llvm/dist/lib/Linker/LLVMBuild.txt vendor/llvm/dist/lib/MC/LLVMBuild.txt vendor/llvm/dist/lib/MC/MCDisassembler/EDMain.cpp vendor/llvm/dist/lib/MC/MCDisassembler/LLVMBuild.txt vendor/llvm/dist/lib/MC/MCParser/LLVMBuild.txt vendor/llvm/dist/lib/Object/LLVMBuild.txt vendor/llvm/dist/lib/Support/DataStream.cpp vendor/llvm/dist/lib/Support/Hashing.cpp vendor/llvm/dist/lib/Support/IntrusiveRefCntPtr.cpp vendor/llvm/dist/lib/Support/JSONParser.cpp vendor/llvm/dist/lib/Support/LLVMBuild.txt vendor/llvm/dist/lib/Support/LockFileManager.cpp vendor/llvm/dist/lib/Support/StreamableMemoryObject.cpp vendor/llvm/dist/lib/Support/YAMLParser.cpp vendor/llvm/dist/lib/TableGen/LLVMBuild.txt vendor/llvm/dist/lib/TableGen/TableGenAction.cpp vendor/llvm/dist/lib/Target/ARM/ARMMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/ARM/AsmParser/LLVMBuild.txt vendor/llvm/dist/lib/Target/ARM/Disassembler/LLVMBuild.txt vendor/llvm/dist/lib/Target/ARM/InstPrinter/LLVMBuild.txt vendor/llvm/dist/lib/Target/ARM/LLVMBuild.txt vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/ARM/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/CellSPU/LLVMBuild.txt vendor/llvm/dist/lib/Target/CellSPU/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/CellSPU/SPUMachineFunction.cpp vendor/llvm/dist/lib/Target/CellSPU/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/CppBackend/LLVMBuild.txt vendor/llvm/dist/lib/Target/CppBackend/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/Hexagon/ vendor/llvm/dist/lib/Target/Hexagon/CMakeLists.txt vendor/llvm/dist/lib/Target/Hexagon/Hexagon.h vendor/llvm/dist/lib/Target/Hexagon/Hexagon.td vendor/llvm/dist/lib/Target/Hexagon/HexagonAsmPrinter.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonAsmPrinter.h (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/HexagonCFGOptimizer.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonCallingConv.td vendor/llvm/dist/lib/Target/Hexagon/HexagonCallingConvLower.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonCallingConvLower.h vendor/llvm/dist/lib/Target/Hexagon/HexagonExpandPredSpillCode.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.h vendor/llvm/dist/lib/Target/Hexagon/HexagonHardwareLoops.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLowering.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLowering.h vendor/llvm/dist/lib/Target/Hexagon/HexagonImmediates.td vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrFormats.td vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrFormatsV4.td vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.h vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.td vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfoV3.td vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfoV4.td vendor/llvm/dist/lib/Target/Hexagon/HexagonIntrinsics.td vendor/llvm/dist/lib/Target/Hexagon/HexagonIntrinsicsDerived.td vendor/llvm/dist/lib/Target/Hexagon/HexagonIntrinsicsV3.td vendor/llvm/dist/lib/Target/Hexagon/HexagonIntrinsicsV4.td vendor/llvm/dist/lib/Target/Hexagon/HexagonMCInst.h vendor/llvm/dist/lib/Target/Hexagon/HexagonMCInstLower.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonMachineFunctionInfo.h vendor/llvm/dist/lib/Target/Hexagon/HexagonPeephole.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonRegisterInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonRegisterInfo.h vendor/llvm/dist/lib/Target/Hexagon/HexagonRegisterInfo.td vendor/llvm/dist/lib/Target/Hexagon/HexagonRemoveSZExtArgs.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonSchedule.td vendor/llvm/dist/lib/Target/Hexagon/HexagonScheduleV4.td vendor/llvm/dist/lib/Target/Hexagon/HexagonSelectCCInfo.td vendor/llvm/dist/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonSelectionDAGInfo.h vendor/llvm/dist/lib/Target/Hexagon/HexagonSplitTFRCondSets.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonSubtarget.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonSubtarget.h vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.h vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetObjectFile.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetObjectFile.h vendor/llvm/dist/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonVarargsCallingConvention.h vendor/llvm/dist/lib/Target/Hexagon/InstPrinter/ vendor/llvm/dist/lib/Target/Hexagon/InstPrinter/CMakeLists.txt vendor/llvm/dist/lib/Target/Hexagon/InstPrinter/HexagonInstPrinter.cpp vendor/llvm/dist/lib/Target/Hexagon/InstPrinter/HexagonInstPrinter.h vendor/llvm/dist/lib/Target/Hexagon/InstPrinter/LLVMBuild.txt vendor/llvm/dist/lib/Target/Hexagon/InstPrinter/Makefile vendor/llvm/dist/lib/Target/Hexagon/LLVMBuild.txt vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/ vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/Makefile vendor/llvm/dist/lib/Target/Hexagon/Makefile vendor/llvm/dist/lib/Target/Hexagon/TargetInfo/ vendor/llvm/dist/lib/Target/Hexagon/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/Hexagon/TargetInfo/Makefile vendor/llvm/dist/lib/Target/LLVMBuild.txt vendor/llvm/dist/lib/Target/MBlaze/AsmParser/LLVMBuild.txt vendor/llvm/dist/lib/Target/MBlaze/Disassembler/LLVMBuild.txt vendor/llvm/dist/lib/Target/MBlaze/InstPrinter/LLVMBuild.txt vendor/llvm/dist/lib/Target/MBlaze/LLVMBuild.txt vendor/llvm/dist/lib/Target/MBlaze/MBlazeMachineFunction.cpp vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/MBlazeELFObjectWriter.cpp vendor/llvm/dist/lib/Target/MBlaze/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/MSP430/InstPrinter/LLVMBuild.txt vendor/llvm/dist/lib/Target/MSP430/LLVMBuild.txt vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/MSP430/MSP430MachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/MSP430/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/Mips/AsmParser/ vendor/llvm/dist/lib/Target/Mips/AsmParser/CMakeLists.txt vendor/llvm/dist/lib/Target/Mips/AsmParser/LLVMBuild.txt vendor/llvm/dist/lib/Target/Mips/AsmParser/Makefile vendor/llvm/dist/lib/Target/Mips/AsmParser/MipsAsmParser.cpp vendor/llvm/dist/lib/Target/Mips/InstPrinter/LLVMBuild.txt vendor/llvm/dist/lib/Target/Mips/LLVMBuild.txt vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Mips/MipsAnalyzeImmediate.cpp vendor/llvm/dist/lib/Target/Mips/MipsAnalyzeImmediate.h vendor/llvm/dist/lib/Target/Mips/MipsCondMov.td vendor/llvm/dist/lib/Target/Mips/MipsMachineFunction.cpp vendor/llvm/dist/lib/Target/Mips/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/PTX/InstPrinter/LLVMBuild.txt vendor/llvm/dist/lib/Target/PTX/LLVMBuild.txt vendor/llvm/dist/lib/Target/PTX/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/PTX/PTXMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/PTX/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/PowerPC/InstPrinter/LLVMBuild.txt vendor/llvm/dist/lib/Target/PowerPC/LLVMBuild.txt vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCSchedule440.td vendor/llvm/dist/lib/Target/PowerPC/PPCScheduleA2.td vendor/llvm/dist/lib/Target/PowerPC/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/Sparc/LLVMBuild.txt vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/Sparc/SparcMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/Sparc/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/TargetJITInfo.cpp vendor/llvm/dist/lib/Target/TargetMachineC.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/LLVMBuild.txt vendor/llvm/dist/lib/Target/X86/Disassembler/LLVMBuild.txt vendor/llvm/dist/lib/Target/X86/InstPrinter/LLVMBuild.txt vendor/llvm/dist/lib/Target/X86/LLVMBuild.txt vendor/llvm/dist/lib/Target/X86/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/X86/Utils/LLVMBuild.txt vendor/llvm/dist/lib/Target/X86/X86InstrSVM.td vendor/llvm/dist/lib/Target/X86/X86InstrXOP.td vendor/llvm/dist/lib/Target/X86/X86MachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/X86/X86Schedule.td vendor/llvm/dist/lib/Target/X86/X86ScheduleAtom.td vendor/llvm/dist/lib/Target/XCore/LLVMBuild.txt vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/XCore/TargetInfo/LLVMBuild.txt vendor/llvm/dist/lib/Target/XCore/XCoreMachineFunctionInfo.cpp vendor/llvm/dist/lib/Transforms/IPO/LLVMBuild.txt vendor/llvm/dist/lib/Transforms/InstCombine/LLVMBuild.txt vendor/llvm/dist/lib/Transforms/Instrumentation/AddressSanitizer.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/FunctionBlackList.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/FunctionBlackList.h vendor/llvm/dist/lib/Transforms/Instrumentation/LLVMBuild.txt vendor/llvm/dist/lib/Transforms/Instrumentation/ThreadSanitizer.cpp vendor/llvm/dist/lib/Transforms/LLVMBuild.txt vendor/llvm/dist/lib/Transforms/Scalar/GlobalMerge.cpp vendor/llvm/dist/lib/Transforms/Scalar/LLVMBuild.txt vendor/llvm/dist/lib/Transforms/Utils/CmpInstAnalysis.cpp vendor/llvm/dist/lib/Transforms/Utils/LLVMBuild.txt vendor/llvm/dist/lib/Transforms/Utils/LoopUnrollRuntime.cpp vendor/llvm/dist/lib/Transforms/Utils/ModuleUtils.cpp vendor/llvm/dist/lib/Transforms/Vectorize/ vendor/llvm/dist/lib/Transforms/Vectorize/BBVectorize.cpp vendor/llvm/dist/lib/Transforms/Vectorize/CMakeLists.txt vendor/llvm/dist/lib/Transforms/Vectorize/LLVMBuild.txt vendor/llvm/dist/lib/Transforms/Vectorize/Makefile vendor/llvm/dist/lib/Transforms/Vectorize/Vectorize.cpp vendor/llvm/dist/lib/VMCore/LLVMBuild.txt vendor/llvm/dist/projects/LLVMBuild.txt vendor/llvm/dist/projects/sample/Makefile.llvm.config.in vendor/llvm/dist/projects/sample/Makefile.llvm.rules vendor/llvm/dist/projects/sample/autoconf/ExportMap.map vendor/llvm/dist/projects/sample/autoconf/install-sh (contents, props changed) vendor/llvm/dist/projects/sample/autoconf/ltmain.sh vendor/llvm/dist/projects/sample/autoconf/m4/ vendor/llvm/dist/projects/sample/autoconf/m4/build_exeext.m4 vendor/llvm/dist/projects/sample/autoconf/m4/c_printf_a.m4 vendor/llvm/dist/projects/sample/autoconf/m4/check_gnu_make.m4 vendor/llvm/dist/projects/sample/autoconf/m4/config_makefile.m4 vendor/llvm/dist/projects/sample/autoconf/m4/config_project.m4 vendor/llvm/dist/projects/sample/autoconf/m4/cxx_flag_check.m4 vendor/llvm/dist/projects/sample/autoconf/m4/find_std_program.m4 vendor/llvm/dist/projects/sample/autoconf/m4/func_isinf.m4 vendor/llvm/dist/projects/sample/autoconf/m4/func_isnan.m4 vendor/llvm/dist/projects/sample/autoconf/m4/func_mmap_file.m4 vendor/llvm/dist/projects/sample/autoconf/m4/header_mmap_anonymous.m4 vendor/llvm/dist/projects/sample/autoconf/m4/huge_val.m4 vendor/llvm/dist/projects/sample/autoconf/m4/libtool.m4 vendor/llvm/dist/projects/sample/autoconf/m4/link_options.m4 vendor/llvm/dist/projects/sample/autoconf/m4/linux_mixed_64_32.m4 vendor/llvm/dist/projects/sample/autoconf/m4/ltdl.m4 vendor/llvm/dist/projects/sample/autoconf/m4/need_dev_zero_for_mmap.m4 vendor/llvm/dist/projects/sample/autoconf/m4/path_tclsh.m4 vendor/llvm/dist/projects/sample/autoconf/m4/rand48.m4 vendor/llvm/dist/projects/sample/autoconf/m4/sanity_check.m4 vendor/llvm/dist/projects/sample/autoconf/m4/single_cxx_check.m4 vendor/llvm/dist/projects/sample/autoconf/m4/visibility_inlines_hidden.m4 vendor/llvm/dist/projects/sample/autoconf/mkinstalldirs (contents, props changed) vendor/llvm/dist/runtime/LLVMBuild.txt vendor/llvm/dist/test/Analysis/BasicAA/aligned-overread.ll vendor/llvm/dist/test/Analysis/BasicAA/lit.local.cfg vendor/llvm/dist/test/Analysis/BlockFrequencyInfo/lit.local.cfg vendor/llvm/dist/test/Analysis/BranchProbabilityInfo/ vendor/llvm/dist/test/Analysis/BranchProbabilityInfo/basic.ll vendor/llvm/dist/test/Analysis/BranchProbabilityInfo/lit.local.cfg vendor/llvm/dist/test/Analysis/BranchProbabilityInfo/loop.ll vendor/llvm/dist/test/Analysis/BranchProbabilityInfo/noreturn.ll vendor/llvm/dist/test/Analysis/CallGraph/lit.local.cfg vendor/llvm/dist/test/Analysis/Dominators/invoke.ll vendor/llvm/dist/test/Analysis/Dominators/lit.local.cfg vendor/llvm/dist/test/Analysis/GlobalsModRef/lit.local.cfg vendor/llvm/dist/test/Analysis/GlobalsModRef/pr12351.ll vendor/llvm/dist/test/Analysis/LoopDependenceAnalysis/lit.local.cfg vendor/llvm/dist/test/Analysis/LoopInfo/lit.local.cfg vendor/llvm/dist/test/Analysis/PostDominators/lit.local.cfg vendor/llvm/dist/test/Analysis/Profiling/lit.local.cfg vendor/llvm/dist/test/Analysis/RegionInfo/lit.local.cfg vendor/llvm/dist/test/Analysis/ScalarEvolution/2012-03-26-LoadConstant.ll vendor/llvm/dist/test/Analysis/ScalarEvolution/lit.local.cfg vendor/llvm/dist/test/Analysis/ScalarEvolution/load.ll vendor/llvm/dist/test/Analysis/ScalarEvolution/trip-count11.ll vendor/llvm/dist/test/Analysis/ScalarEvolution/trip-count12.ll vendor/llvm/dist/test/Analysis/TypeBasedAliasAnalysis/lit.local.cfg vendor/llvm/dist/test/Archive/lit.local.cfg vendor/llvm/dist/test/Assembler/auto_upgrade_intrinsics.ll vendor/llvm/dist/test/Assembler/lit.local.cfg vendor/llvm/dist/test/Bindings/Ocaml/lit.local.cfg vendor/llvm/dist/test/Bitcode/lit.local.cfg vendor/llvm/dist/test/Bitcode/shuffle.ll vendor/llvm/dist/test/BugPoint/lit.local.cfg vendor/llvm/dist/test/CodeGen/ARM/2011-10-26-ExpandUnalignedLoadCrash.ll vendor/llvm/dist/test/CodeGen/ARM/2011-10-26-memset-inline.ll vendor/llvm/dist/test/CodeGen/ARM/2011-10-26-memset-with-neon.ll vendor/llvm/dist/test/CodeGen/ARM/2011-11-07-PromoteVectorLoadStore.ll vendor/llvm/dist/test/CodeGen/ARM/2011-11-09-BitcastVectorDouble.ll vendor/llvm/dist/test/CodeGen/ARM/2011-11-09-IllegalVectorFPIntConvert.ll vendor/llvm/dist/test/CodeGen/ARM/2011-11-14-EarlyClobber.ll vendor/llvm/dist/test/CodeGen/ARM/2011-11-28-DAGCombineBug.ll vendor/llvm/dist/test/CodeGen/ARM/2011-11-29-128bitArithmetics.ll vendor/llvm/dist/test/CodeGen/ARM/2011-11-30-MergeAlignment.ll vendor/llvm/dist/test/CodeGen/ARM/2011-12-14-machine-sink.ll vendor/llvm/dist/test/CodeGen/ARM/2011-12-19-sjlj-clobber.ll vendor/llvm/dist/test/CodeGen/ARM/2012-01-23-PostRA-LICM.ll vendor/llvm/dist/test/CodeGen/ARM/2012-01-24-RegSequenceLiveRange.ll vendor/llvm/dist/test/CodeGen/ARM/2012-01-26-CoalescerBug.ll vendor/llvm/dist/test/CodeGen/ARM/2012-01-26-CopyPropKills.ll vendor/llvm/dist/test/CodeGen/ARM/2012-02-01-CoalescerBug.ll vendor/llvm/dist/test/CodeGen/ARM/2012-03-05-FPSCR-bug.ll vendor/llvm/dist/test/CodeGen/ARM/2012-03-13-DAGCombineBug.ll vendor/llvm/dist/test/CodeGen/ARM/2012-03-26-FoldImmBug.ll vendor/llvm/dist/test/CodeGen/ARM/2012-04-02-TwoAddrInstrCrash.ll vendor/llvm/dist/test/CodeGen/ARM/2012-04-10-DAGCombine.ll vendor/llvm/dist/test/CodeGen/ARM/commute-movcc.ll vendor/llvm/dist/test/CodeGen/ARM/cse-call.ll vendor/llvm/dist/test/CodeGen/ARM/ctor_order.ll vendor/llvm/dist/test/CodeGen/ARM/dagcombine-anyexttozeroext.ll vendor/llvm/dist/test/CodeGen/ARM/ehabi-unwind.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-GEP-coalesce.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-binary.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-br-const.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-br-phi.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-call.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-cmp-imm.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-conversion.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-deadcode.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-fold.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-icmp.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-indirectbr.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-intrinsic.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-ldr-str-arm.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-ldr-str-thumb-neg-index.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-ldrh-strh-arm.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-mvn.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-ret.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-select.ll vendor/llvm/dist/test/CodeGen/ARM/fusedMAC.ll vendor/llvm/dist/test/CodeGen/ARM/ldrd-memoper.ll vendor/llvm/dist/test/CodeGen/ARM/lit.local.cfg vendor/llvm/dist/test/CodeGen/ARM/load_i1_select.ll vendor/llvm/dist/test/CodeGen/ARM/log2_not_readnone.ll vendor/llvm/dist/test/CodeGen/ARM/lsr-icmp-imm.ll vendor/llvm/dist/test/CodeGen/ARM/neon_spill.ll vendor/llvm/dist/test/CodeGen/ARM/odr_comdat.ll vendor/llvm/dist/test/CodeGen/ARM/opt-shuff-tstore.ll vendor/llvm/dist/test/CodeGen/ARM/reg_asc_order.ll vendor/llvm/dist/test/CodeGen/ARM/tail-dup.ll vendor/llvm/dist/test/CodeGen/ARM/test-sharedidx.ll vendor/llvm/dist/test/CodeGen/ARM/vector-extend-narrow.ll vendor/llvm/dist/test/CodeGen/CPP/2012-02-05-UnitVarCrash.ll vendor/llvm/dist/test/CodeGen/CPP/lit.local.cfg vendor/llvm/dist/test/CodeGen/CellSPU/lit.local.cfg vendor/llvm/dist/test/CodeGen/Generic/dbg-declare.ll vendor/llvm/dist/test/CodeGen/Generic/lit.local.cfg vendor/llvm/dist/test/CodeGen/Generic/pr12507.ll vendor/llvm/dist/test/CodeGen/Hexagon/ vendor/llvm/dist/test/CodeGen/Hexagon/args.ll vendor/llvm/dist/test/CodeGen/Hexagon/combine.ll vendor/llvm/dist/test/CodeGen/Hexagon/double.ll vendor/llvm/dist/test/CodeGen/Hexagon/float.ll vendor/llvm/dist/test/CodeGen/Hexagon/frame.ll vendor/llvm/dist/test/CodeGen/Hexagon/lit.local.cfg vendor/llvm/dist/test/CodeGen/Hexagon/mpy.ll vendor/llvm/dist/test/CodeGen/Hexagon/static.ll vendor/llvm/dist/test/CodeGen/Hexagon/struct_args.ll vendor/llvm/dist/test/CodeGen/Hexagon/struct_args_large.ll vendor/llvm/dist/test/CodeGen/Hexagon/vaddh.ll vendor/llvm/dist/test/CodeGen/MBlaze/lit.local.cfg vendor/llvm/dist/test/CodeGen/MSP430/lit.local.cfg vendor/llvm/dist/test/CodeGen/Mips/br-jmp.ll vendor/llvm/dist/test/CodeGen/Mips/bswap.ll vendor/llvm/dist/test/CodeGen/Mips/fabs.ll vendor/llvm/dist/test/CodeGen/Mips/fcopysign-f32-f64.ll vendor/llvm/dist/test/CodeGen/Mips/fmadd1.ll vendor/llvm/dist/test/CodeGen/Mips/fneg.ll vendor/llvm/dist/test/CodeGen/Mips/fp-indexed-ls.ll vendor/llvm/dist/test/CodeGen/Mips/frem.ll vendor/llvm/dist/test/CodeGen/Mips/global-address.ll vendor/llvm/dist/test/CodeGen/Mips/global-pointer-reg.ll vendor/llvm/dist/test/CodeGen/Mips/imm.ll vendor/llvm/dist/test/CodeGen/Mips/indirectcall.ll vendor/llvm/dist/test/CodeGen/Mips/inlineasm64.ll vendor/llvm/dist/test/CodeGen/Mips/lit.local.cfg vendor/llvm/dist/test/CodeGen/Mips/mips64-fp-indexed-ls.ll vendor/llvm/dist/test/CodeGen/Mips/mips64countleading.ll vendor/llvm/dist/test/CodeGen/Mips/mips64directive.ll vendor/llvm/dist/test/CodeGen/Mips/mips64ext.ll vendor/llvm/dist/test/CodeGen/Mips/mips64extins.ll vendor/llvm/dist/test/CodeGen/Mips/mips64fpimm0.ll vendor/llvm/dist/test/CodeGen/Mips/mips64imm.ll vendor/llvm/dist/test/CodeGen/Mips/mips64lea.ll vendor/llvm/dist/test/CodeGen/Mips/mips64muldiv.ll vendor/llvm/dist/test/CodeGen/Mips/swzero.ll vendor/llvm/dist/test/CodeGen/Mips/zeroreg.ll vendor/llvm/dist/test/CodeGen/PTX/lit.local.cfg vendor/llvm/dist/test/CodeGen/PTX/printf.ll vendor/llvm/dist/test/CodeGen/PowerPC/2011-12-05-NoSpillDupCR.ll vendor/llvm/dist/test/CodeGen/PowerPC/2011-12-06-SpillAndRestoreCR.ll vendor/llvm/dist/test/CodeGen/PowerPC/2011-12-08-DemandedBitsMiscompile.ll vendor/llvm/dist/test/CodeGen/PowerPC/a2-fp-basic.ll vendor/llvm/dist/test/CodeGen/PowerPC/bl8_elf_nop.ll vendor/llvm/dist/test/CodeGen/PowerPC/can-lower-ret.ll vendor/llvm/dist/test/CodeGen/PowerPC/dbg.ll vendor/llvm/dist/test/CodeGen/PowerPC/lit.local.cfg vendor/llvm/dist/test/CodeGen/PowerPC/ppc440-fp-basic.ll vendor/llvm/dist/test/CodeGen/PowerPC/ppc440-msync.ll vendor/llvm/dist/test/CodeGen/PowerPC/ppc64-ind-call.ll vendor/llvm/dist/test/CodeGen/PowerPC/ppc64-linux-func-size.ll vendor/llvm/dist/test/CodeGen/PowerPC/ppc64-prefetch.ll vendor/llvm/dist/test/CodeGen/PowerPC/ppc64-vaarg-int.ll vendor/llvm/dist/test/CodeGen/SPARC/2011-12-03-TailDuplication.ll vendor/llvm/dist/test/CodeGen/SPARC/lit.local.cfg vendor/llvm/dist/test/CodeGen/Thumb/lit.local.cfg vendor/llvm/dist/test/CodeGen/Thumb2/2011-12-16-T2SizeReduceAssert.ll vendor/llvm/dist/test/CodeGen/Thumb2/2012-01-13-CBNZBug.ll vendor/llvm/dist/test/CodeGen/Thumb2/aligned-constants.ll vendor/llvm/dist/test/CodeGen/Thumb2/aligned-spill.ll vendor/llvm/dist/test/CodeGen/Thumb2/constant-islands.ll vendor/llvm/dist/test/CodeGen/Thumb2/large-call.ll vendor/llvm/dist/test/CodeGen/Thumb2/lit.local.cfg vendor/llvm/dist/test/CodeGen/X86/2011-10-18-FastISel-VectorParams.ll vendor/llvm/dist/test/CodeGen/X86/2011-10-19-LegelizeLoad.ll vendor/llvm/dist/test/CodeGen/X86/2011-10-19-widen_vselect.ll vendor/llvm/dist/test/CodeGen/X86/2011-10-21-widen-cmp.ll vendor/llvm/dist/test/CodeGen/X86/2011-10-27-tstore.ll vendor/llvm/dist/test/CodeGen/X86/2011-10-30-padd.ll vendor/llvm/dist/test/CodeGen/X86/2011-11-07-LegalizeBuildVector.ll vendor/llvm/dist/test/CodeGen/X86/2011-11-22-AVX2-Domains.ll vendor/llvm/dist/test/CodeGen/X86/2011-11-30-or.ll vendor/llvm/dist/test/CodeGen/X86/2011-12-06-AVXVectorExtractCombine.ll vendor/llvm/dist/test/CodeGen/X86/2011-12-06-BitcastVectorGlobal.ll vendor/llvm/dist/test/CodeGen/X86/2011-12-08-AVXISelBugs.ll vendor/llvm/dist/test/CodeGen/X86/2011-12-15-vec_shift.ll vendor/llvm/dist/test/CodeGen/X86/2011-12-26-extractelement-duplicate-load.ll vendor/llvm/dist/test/CodeGen/X86/2011-12-28-vselecti8.ll vendor/llvm/dist/test/CodeGen/X86/2011-12-8-bitcastintprom.ll vendor/llvm/dist/test/CodeGen/X86/2011-20-21-zext-ui2fp.ll vendor/llvm/dist/test/CodeGen/X86/2012-01-10-UndefExceptionEdge.ll vendor/llvm/dist/test/CodeGen/X86/2012-01-11-split-cv.ll vendor/llvm/dist/test/CodeGen/X86/2012-01-12-extract-sv.ll vendor/llvm/dist/test/CodeGen/X86/2012-01-16-mfence-nosse-flags.ll vendor/llvm/dist/test/CodeGen/X86/2012-01-18-vbitcast.ll vendor/llvm/dist/test/CodeGen/X86/2012-02-12-dagco.ll vendor/llvm/dist/test/CodeGen/X86/2012-02-14-scalar.ll vendor/llvm/dist/test/CodeGen/X86/2012-02-20-MachineCPBug.ll vendor/llvm/dist/test/CodeGen/X86/2012-02-23-mmx-inlineasm.ll vendor/llvm/dist/test/CodeGen/X86/2012-02-29-CoalescerBug.ll vendor/llvm/dist/test/CodeGen/X86/2012-03-15-build_vector_wl.ll vendor/llvm/dist/test/CodeGen/X86/2012-03-20-LargeConstantExpr.ll vendor/llvm/dist/test/CodeGen/X86/2012-03-26-PostRALICMBug.ll vendor/llvm/dist/test/CodeGen/X86/2012-04-09-TwoAddrPassBug.ll vendor/llvm/dist/test/CodeGen/X86/2012-1-10-buildvector.ll vendor/llvm/dist/test/CodeGen/X86/GC/lit.local.cfg vendor/llvm/dist/test/CodeGen/X86/SwizzleShuff.ll vendor/llvm/dist/test/CodeGen/X86/atom-lea-sp.ll vendor/llvm/dist/test/CodeGen/X86/atom-sched.ll vendor/llvm/dist/test/CodeGen/X86/avx-fp2int.ll (contents, props changed) vendor/llvm/dist/test/CodeGen/X86/avx-sext.ll (contents, props changed) vendor/llvm/dist/test/CodeGen/X86/avx-shuffle-x86_32.ll (contents, props changed) vendor/llvm/dist/test/CodeGen/X86/avx-trunc.ll (contents, props changed) vendor/llvm/dist/test/CodeGen/X86/avx-varargs-x86_64.ll vendor/llvm/dist/test/CodeGen/X86/avx-win64-args.ll (contents, props changed) vendor/llvm/dist/test/CodeGen/X86/avx-win64.ll vendor/llvm/dist/test/CodeGen/X86/avx-zext.ll (contents, props changed) vendor/llvm/dist/test/CodeGen/X86/avx2-arith.ll vendor/llvm/dist/test/CodeGen/X86/avx2-cmp.ll vendor/llvm/dist/test/CodeGen/X86/avx2-intrinsics-x86.ll vendor/llvm/dist/test/CodeGen/X86/avx2-logic.ll vendor/llvm/dist/test/CodeGen/X86/avx2-nontemporal.ll vendor/llvm/dist/test/CodeGen/X86/avx2-palignr.ll vendor/llvm/dist/test/CodeGen/X86/avx2-phaddsub.ll vendor/llvm/dist/test/CodeGen/X86/avx2-shift.ll vendor/llvm/dist/test/CodeGen/X86/avx2-unpack.ll vendor/llvm/dist/test/CodeGen/X86/avx2-vbroadcast.ll vendor/llvm/dist/test/CodeGen/X86/avx2-vperm2i128.ll vendor/llvm/dist/test/CodeGen/X86/blend-msb.ll vendor/llvm/dist/test/CodeGen/X86/block-placement.ll vendor/llvm/dist/test/CodeGen/X86/btq.ll vendor/llvm/dist/test/CodeGen/X86/cfstring.ll vendor/llvm/dist/test/CodeGen/X86/dbg-subrange.ll vendor/llvm/dist/test/CodeGen/X86/dwarf-comp-dir.ll vendor/llvm/dist/test/CodeGen/X86/f16c-intrinsics.ll vendor/llvm/dist/test/CodeGen/X86/fdiv.ll vendor/llvm/dist/test/CodeGen/X86/fltused_function_pointer.ll vendor/llvm/dist/test/CodeGen/X86/fma4-intrinsics-x86_64.ll vendor/llvm/dist/test/CodeGen/X86/fsgsbase.ll vendor/llvm/dist/test/CodeGen/X86/gcc_except_table.ll vendor/llvm/dist/test/CodeGen/X86/hoist-invariant-load.ll vendor/llvm/dist/test/CodeGen/X86/i128-sdiv.ll vendor/llvm/dist/test/CodeGen/X86/legalize-libcalls.ll vendor/llvm/dist/test/CodeGen/X86/legalize-shift-64.ll vendor/llvm/dist/test/CodeGen/X86/lit.local.cfg vendor/llvm/dist/test/CodeGen/X86/log2_not_readnone.ll vendor/llvm/dist/test/CodeGen/X86/machine-cp.ll vendor/llvm/dist/test/CodeGen/X86/mcinst-avx-lowering.ll vendor/llvm/dist/test/CodeGen/X86/misched-new.ll vendor/llvm/dist/test/CodeGen/X86/null-streamer.ll vendor/llvm/dist/test/CodeGen/X86/objc-gc-module-flags.ll vendor/llvm/dist/test/CodeGen/X86/odr_comdat.ll vendor/llvm/dist/test/CodeGen/X86/personality_size.ll vendor/llvm/dist/test/CodeGen/X86/phaddsub.ll vendor/llvm/dist/test/CodeGen/X86/pointer-vector.ll vendor/llvm/dist/test/CodeGen/X86/pr11202.ll vendor/llvm/dist/test/CodeGen/X86/pr11415.ll vendor/llvm/dist/test/CodeGen/X86/pr12360.ll vendor/llvm/dist/test/CodeGen/X86/promote.ll vendor/llvm/dist/test/CodeGen/X86/rd-mod-wr-eflags.ll vendor/llvm/dist/test/CodeGen/X86/rounding-ops.ll vendor/llvm/dist/test/CodeGen/X86/segmented-stacks-dynamic.ll vendor/llvm/dist/test/CodeGen/X86/shl-i64.ll vendor/llvm/dist/test/CodeGen/X86/sse-domains.ll vendor/llvm/dist/test/CodeGen/X86/stack-align2.ll vendor/llvm/dist/test/CodeGen/X86/tailcall-disable.ll vendor/llvm/dist/test/CodeGen/X86/thiscall-struct-return.ll vendor/llvm/dist/test/CodeGen/X86/tls-pie.ll vendor/llvm/dist/test/CodeGen/X86/tls.ll vendor/llvm/dist/test/CodeGen/X86/utf16-cfstrings.ll vendor/llvm/dist/test/CodeGen/X86/utf8.ll vendor/llvm/dist/test/CodeGen/X86/vec_fpext.ll vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-39.ll vendor/llvm/dist/test/CodeGen/X86/vec_udiv_to_shift.ll vendor/llvm/dist/test/CodeGen/X86/vector-gep.ll vendor/llvm/dist/test/CodeGen/X86/vector-variable-idx2.ll vendor/llvm/dist/test/CodeGen/X86/win32_sret.ll vendor/llvm/dist/test/CodeGen/X86/win_ftol2.ll vendor/llvm/dist/test/CodeGen/X86/xop-intrinsics-x86_64.ll vendor/llvm/dist/test/CodeGen/XCore/float-intrinsics.ll vendor/llvm/dist/test/CodeGen/XCore/global_negative_offset.ll vendor/llvm/dist/test/CodeGen/XCore/lit.local.cfg vendor/llvm/dist/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll vendor/llvm/dist/test/DebugInfo/X86/2011-12-16-BadStructRef.ll vendor/llvm/dist/test/DebugInfo/X86/DW_AT_byte_size.ll vendor/llvm/dist/test/DebugInfo/X86/DW_AT_specification.ll vendor/llvm/dist/test/DebugInfo/X86/DW_TAG_friend.ll vendor/llvm/dist/test/DebugInfo/X86/block-capture.ll vendor/llvm/dist/test/DebugInfo/X86/concrete_out_of_line.ll vendor/llvm/dist/test/DebugInfo/X86/ending-run.ll vendor/llvm/dist/test/DebugInfo/X86/lit.local.cfg vendor/llvm/dist/test/DebugInfo/X86/low-pc-cu.ll vendor/llvm/dist/test/DebugInfo/X86/objc-fwd-decl.ll vendor/llvm/dist/test/DebugInfo/X86/pointer-type-size.ll vendor/llvm/dist/test/DebugInfo/X86/pr11300.ll vendor/llvm/dist/test/DebugInfo/X86/stringpool.ll vendor/llvm/dist/test/DebugInfo/X86/struct-loc.ll vendor/llvm/dist/test/DebugInfo/bug_null_debuginfo.ll vendor/llvm/dist/test/DebugInfo/lit.local.cfg vendor/llvm/dist/test/ExecutionEngine/MCJIT/ vendor/llvm/dist/test/ExecutionEngine/lit.local.cfg vendor/llvm/dist/test/ExecutionEngine/test-call-no-external-funcs.ll vendor/llvm/dist/test/ExecutionEngine/test-common-symbols.ll vendor/llvm/dist/test/ExecutionEngine/test-fp-no-external-funcs.ll vendor/llvm/dist/test/ExecutionEngine/test-global-init-nonzero.ll vendor/llvm/dist/test/ExecutionEngine/test-global.ll vendor/llvm/dist/test/ExecutionEngine/test-local.ll vendor/llvm/dist/test/ExecutionEngine/test-return.ll vendor/llvm/dist/test/Feature/const_pv.ll vendor/llvm/dist/test/Feature/global_pv.ll vendor/llvm/dist/test/Feature/lit.local.cfg vendor/llvm/dist/test/Instrumentation/ vendor/llvm/dist/test/Instrumentation/AddressSanitizer/ vendor/llvm/dist/test/Instrumentation/AddressSanitizer/X86/ vendor/llvm/dist/test/Instrumentation/AddressSanitizer/X86/bug_11395.ll vendor/llvm/dist/test/Instrumentation/AddressSanitizer/X86/lit.local.cfg vendor/llvm/dist/test/Instrumentation/AddressSanitizer/asan-vs-gvn.ll vendor/llvm/dist/test/Instrumentation/AddressSanitizer/do-not-touch-odr-global.ll vendor/llvm/dist/test/Instrumentation/AddressSanitizer/do-not-touch-threadlocal.ll vendor/llvm/dist/test/Instrumentation/AddressSanitizer/instrument-no-return.ll vendor/llvm/dist/test/Instrumentation/AddressSanitizer/instrument_global.ll vendor/llvm/dist/test/Instrumentation/AddressSanitizer/instrument_load_then_store.ll vendor/llvm/dist/test/Instrumentation/AddressSanitizer/lit.local.cfg vendor/llvm/dist/test/Instrumentation/AddressSanitizer/test64.ll vendor/llvm/dist/test/Instrumentation/ThreadSanitizer/ vendor/llvm/dist/test/Instrumentation/ThreadSanitizer/lit.local.cfg vendor/llvm/dist/test/Instrumentation/ThreadSanitizer/read_before_write.ll vendor/llvm/dist/test/Instrumentation/ThreadSanitizer/read_from_global.ll vendor/llvm/dist/test/Instrumentation/ThreadSanitizer/tsan_basic.ll vendor/llvm/dist/test/Instrumentation/ThreadSanitizer/vptr_update.ll vendor/llvm/dist/test/Integer/lit.local.cfg vendor/llvm/dist/test/Linker/link-type-names.ll vendor/llvm/dist/test/Linker/lit.local.cfg vendor/llvm/dist/test/Linker/module-flags-1-a.ll vendor/llvm/dist/test/Linker/module-flags-1-b.ll vendor/llvm/dist/test/Linker/module-flags-2-a.ll vendor/llvm/dist/test/Linker/module-flags-2-b.ll vendor/llvm/dist/test/Linker/module-flags-3-a.ll vendor/llvm/dist/test/Linker/module-flags-3-b.ll vendor/llvm/dist/test/Linker/module-flags-4-a.ll vendor/llvm/dist/test/Linker/module-flags-4-b.ll vendor/llvm/dist/test/Linker/module-flags-5-a.ll vendor/llvm/dist/test/Linker/module-flags-5-b.ll vendor/llvm/dist/test/Linker/module-flags-6-a.ll vendor/llvm/dist/test/Linker/module-flags-6-b.ll vendor/llvm/dist/test/Linker/multiple-merged-structs.ll vendor/llvm/dist/test/Linker/visibility1.ll vendor/llvm/dist/test/Linker/visibility2.ll vendor/llvm/dist/test/MC/ARM/arm-aliases.s vendor/llvm/dist/test/MC/ARM/arm-it-block.s vendor/llvm/dist/test/MC/ARM/cxx-global-constructor.ll vendor/llvm/dist/test/MC/ARM/dot-req.s vendor/llvm/dist/test/MC/ARM/elf-reloc-condcall.s vendor/llvm/dist/test/MC/ARM/elf-thumbfunc-reloc.s vendor/llvm/dist/test/MC/ARM/lit.local.cfg vendor/llvm/dist/test/MC/ARM/neon-vswp.s vendor/llvm/dist/test/MC/ARM/pr11877.s vendor/llvm/dist/test/MC/ARM/vfp4.s vendor/llvm/dist/test/MC/AsmParser/cfi-unfinished-frame.s vendor/llvm/dist/test/MC/AsmParser/directive_file-errors.s vendor/llvm/dist/test/MC/AsmParser/directive_incbin.s vendor/llvm/dist/test/MC/AsmParser/incbin_abcd vendor/llvm/dist/test/MC/AsmParser/lit.local.cfg vendor/llvm/dist/test/MC/AsmParser/pr11865.s vendor/llvm/dist/test/MC/COFF/global_ctors.ll vendor/llvm/dist/test/MC/COFF/lit.local.cfg vendor/llvm/dist/test/MC/COFF/secrel32.s vendor/llvm/dist/test/MC/COFF/symbol-mangling.ll vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-IT-CC15.txt vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-VST1d8Twb_register-thumb.txt vendor/llvm/dist/test/MC/Disassembler/ARM/ldrd-armv4.txt vendor/llvm/dist/test/MC/Disassembler/ARM/lit.local.cfg vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-ADC-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-ADDREXT3-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-LDR-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-LDRD-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-LSL-regform.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-MUL-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-RSC-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-SHADD16-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-SSAT-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-STRBrs-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictable-UQADD8-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/unpredictables-thumb.txt vendor/llvm/dist/test/MC/Disassembler/ARM/vfp4.txt vendor/llvm/dist/test/MC/Disassembler/MBlaze/lit.local.cfg vendor/llvm/dist/test/MC/Disassembler/MBlaze/mblaze_mbar.txt vendor/llvm/dist/test/MC/Disassembler/X86/invalid-cmp-imm.txt vendor/llvm/dist/test/MC/Disassembler/X86/lit.local.cfg vendor/llvm/dist/test/MC/Disassembler/X86/x86-64.txt vendor/llvm/dist/test/MC/ELF/cfi-escape.s vendor/llvm/dist/test/MC/ELF/cfi-restore.s vendor/llvm/dist/test/MC/ELF/cfi-signal-frame.s vendor/llvm/dist/test/MC/ELF/gen-dwarf.s vendor/llvm/dist/test/MC/ELF/lit.local.cfg vendor/llvm/dist/test/MC/MBlaze/lit.local.cfg vendor/llvm/dist/test/MC/MachO/ARM/ vendor/llvm/dist/test/MC/MachO/ARM/darwin-ARM-reloc.s vendor/llvm/dist/test/MC/MachO/ARM/darwin-Thumb-reloc.s vendor/llvm/dist/test/MC/MachO/ARM/empty-function-nop.ll vendor/llvm/dist/test/MC/MachO/ARM/lit.local.cfg vendor/llvm/dist/test/MC/MachO/ARM/no-subsections-reloc.s vendor/llvm/dist/test/MC/MachO/ARM/nop-armv4-padding.s vendor/llvm/dist/test/MC/MachO/ARM/nop-armv6t2-padding.s vendor/llvm/dist/test/MC/MachO/ARM/nop-thumb-padding.s vendor/llvm/dist/test/MC/MachO/ARM/nop-thumb2-padding.s vendor/llvm/dist/test/MC/MachO/ARM/relax-thumb-ldr-literal.s vendor/llvm/dist/test/MC/MachO/ARM/relax-thumb2-branches.s vendor/llvm/dist/test/MC/MachO/ARM/static-movt-relocs.s vendor/llvm/dist/test/MC/MachO/ARM/thumb2-function-relative-load.s vendor/llvm/dist/test/MC/MachO/ARM/thumb2-movt-fixup.s vendor/llvm/dist/test/MC/MachO/darwin-x86_64-diff-reloc-assign.s vendor/llvm/dist/test/MC/MachO/file.s vendor/llvm/dist/test/MC/MachO/gen-dwarf.s vendor/llvm/dist/test/MC/MachO/lit.local.cfg vendor/llvm/dist/test/MC/Mips/ vendor/llvm/dist/test/MC/Mips/elf-bigendian.ll vendor/llvm/dist/test/MC/Mips/elf-relsym.ll vendor/llvm/dist/test/MC/Mips/elf-tls.ll vendor/llvm/dist/test/MC/Mips/elf_basic.s vendor/llvm/dist/test/MC/Mips/lit.local.cfg vendor/llvm/dist/test/MC/Mips/pr11877.s vendor/llvm/dist/test/MC/X86/2011-09-06-NoNewline.s vendor/llvm/dist/test/MC/X86/address-size.s vendor/llvm/dist/test/MC/X86/intel-syntax-2.s vendor/llvm/dist/test/MC/X86/intel-syntax-encoding.s vendor/llvm/dist/test/MC/X86/intel-syntax.s vendor/llvm/dist/test/MC/X86/lit.local.cfg vendor/llvm/dist/test/MC/X86/x86_64-bmi-encoding.s vendor/llvm/dist/test/MC/X86/x86_64-fma4-encoding.s vendor/llvm/dist/test/MC/X86/x86_64-xop-encoding.s vendor/llvm/dist/test/Object/Inputs/ vendor/llvm/dist/test/Object/Inputs/archive-test.a-coff-i386 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/elf-versioning-test.i386 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/elf-versioning-test.x86_64 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/elfver.S vendor/llvm/dist/test/Object/Inputs/elfver.script vendor/llvm/dist/test/Object/Inputs/shared-object-test.elf-i386 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/shared-object-test.elf-x86-64 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/shared.ll vendor/llvm/dist/test/Object/Inputs/trivial-object-test.coff-i386 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/trivial-object-test.coff-x86-64 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/trivial-object-test.elf-i386 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/trivial-object-test.elf-x86-64 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/trivial-object-test.macho-i386 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/trivial-object-test.macho-x86-64 (contents, props changed) vendor/llvm/dist/test/Object/Inputs/trivial.ll vendor/llvm/dist/test/Object/X86/ vendor/llvm/dist/test/Object/X86/lit.local.cfg vendor/llvm/dist/test/Object/X86/objdump-disassembly-inline-relocations.test vendor/llvm/dist/test/Object/X86/objdump-trivial-object.test vendor/llvm/dist/test/Object/lit.local.cfg vendor/llvm/dist/test/Object/nm-shared-object.test vendor/llvm/dist/test/Object/objdump-file-header.test vendor/llvm/dist/test/Object/objdump-section-content.test vendor/llvm/dist/test/Object/objdump-symbol-table.test vendor/llvm/dist/test/Object/readobj-elf-versioning.test vendor/llvm/dist/test/Object/readobj-shared-object.test vendor/llvm/dist/test/Other/X86/lit.local.cfg vendor/llvm/dist/test/Other/lit.local.cfg vendor/llvm/dist/test/TableGen/ForeachList.td vendor/llvm/dist/test/TableGen/ForeachLoop.td vendor/llvm/dist/test/TableGen/NestedForeach.td vendor/llvm/dist/test/TableGen/Paste.td vendor/llvm/dist/test/TableGen/SiblingForeach.td vendor/llvm/dist/test/TableGen/TwoLevelName.td vendor/llvm/dist/test/TableGen/lit.local.cfg vendor/llvm/dist/test/Transforms/ADCE/lit.local.cfg vendor/llvm/dist/test/Transforms/ArgumentPromotion/lit.local.cfg vendor/llvm/dist/test/Transforms/BBVectorize/ vendor/llvm/dist/test/Transforms/BBVectorize/cycle.ll vendor/llvm/dist/test/Transforms/BBVectorize/func-alias.ll vendor/llvm/dist/test/Transforms/BBVectorize/ld1.ll vendor/llvm/dist/test/Transforms/BBVectorize/lit.local.cfg vendor/llvm/dist/test/Transforms/BBVectorize/loop1.ll vendor/llvm/dist/test/Transforms/BBVectorize/mem-op-depth.ll vendor/llvm/dist/test/Transforms/BBVectorize/req-depth.ll vendor/llvm/dist/test/Transforms/BBVectorize/search-limit.ll vendor/llvm/dist/test/Transforms/BBVectorize/simple-int.ll vendor/llvm/dist/test/Transforms/BBVectorize/simple-ldstr.ll vendor/llvm/dist/test/Transforms/BBVectorize/simple.ll vendor/llvm/dist/test/Transforms/BlockPlacement/lit.local.cfg vendor/llvm/dist/test/Transforms/CodeExtractor/lit.local.cfg vendor/llvm/dist/test/Transforms/CodeGenPrepare/lit.local.cfg vendor/llvm/dist/test/Transforms/ConstProp/lit.local.cfg vendor/llvm/dist/test/Transforms/ConstantMerge/linker-private.ll vendor/llvm/dist/test/Transforms/ConstantMerge/lit.local.cfg vendor/llvm/dist/test/Transforms/CorrelatedValuePropagation/lit.local.cfg vendor/llvm/dist/test/Transforms/CorrelatedValuePropagation/range.ll vendor/llvm/dist/test/Transforms/DeadArgElim/lit.local.cfg vendor/llvm/dist/test/Transforms/DeadStoreElimination/OverwriteStoreEnd.ll vendor/llvm/dist/test/Transforms/DeadStoreElimination/dominate.ll vendor/llvm/dist/test/Transforms/DeadStoreElimination/lit.local.cfg vendor/llvm/dist/test/Transforms/DeadStoreElimination/pr11390.ll vendor/llvm/dist/test/Transforms/EarlyCSE/instsimplify-dom.ll vendor/llvm/dist/test/Transforms/EarlyCSE/lit.local.cfg vendor/llvm/dist/test/Transforms/FunctionAttrs/lit.local.cfg vendor/llvm/dist/test/Transforms/FunctionAttrs/nocapture.ll vendor/llvm/dist/test/Transforms/GVN/commute.ll vendor/llvm/dist/test/Transforms/GVN/lit.local.cfg vendor/llvm/dist/test/Transforms/GVN/pre-compare.ll vendor/llvm/dist/test/Transforms/GlobalDCE/lit.local.cfg vendor/llvm/dist/test/Transforms/GlobalOpt/atomic.ll vendor/llvm/dist/test/Transforms/GlobalOpt/deadfunction.ll vendor/llvm/dist/test/Transforms/GlobalOpt/invariant.ll vendor/llvm/dist/test/Transforms/GlobalOpt/invoke.ll vendor/llvm/dist/test/Transforms/GlobalOpt/lit.local.cfg vendor/llvm/dist/test/Transforms/GlobalOpt/zeroinitializer-gep-load.ll vendor/llvm/dist/test/Transforms/IPConstantProp/lit.local.cfg vendor/llvm/dist/test/Transforms/IndVarSimplify/2011-10-27-lftrnull.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/2011-11-15-multiexit.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/2011-11-17-selfphi.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/lit.local.cfg vendor/llvm/dist/test/Transforms/Inline/alloca-bonus.ll vendor/llvm/dist/test/Transforms/Inline/always-inline.ll vendor/llvm/dist/test/Transforms/Inline/blockaddress.ll vendor/llvm/dist/test/Transforms/Inline/inline_returns_twice.ll vendor/llvm/dist/test/Transforms/Inline/lit.local.cfg vendor/llvm/dist/test/Transforms/Inline/ptr-diff.ll vendor/llvm/dist/test/Transforms/InstCombine/2012-01-11-OpaqueBitcastCrash.ll vendor/llvm/dist/test/Transforms/InstCombine/2012-02-13-FCmp.ll vendor/llvm/dist/test/Transforms/InstCombine/2012-02-28-ICmp.ll vendor/llvm/dist/test/Transforms/InstCombine/2012-03-10-InstCombine.ll vendor/llvm/dist/test/Transforms/InstCombine/2012-3-15-or-xor-constant.ll vendor/llvm/dist/test/Transforms/InstCombine/fold-sqrt-sqrtf.ll vendor/llvm/dist/test/Transforms/InstCombine/lit.local.cfg vendor/llvm/dist/test/Transforms/InstCombine/pr12251.ll vendor/llvm/dist/test/Transforms/InstCombine/sub-xor.ll vendor/llvm/dist/test/Transforms/InstCombine/vector_gep1.ll vendor/llvm/dist/test/Transforms/InstSimplify/2011-10-27-BinOpCrash.ll vendor/llvm/dist/test/Transforms/InstSimplify/2011-11-23-MaskedBitsCrash.ll vendor/llvm/dist/test/Transforms/InstSimplify/AndOrXor.ll vendor/llvm/dist/test/Transforms/InstSimplify/lit.local.cfg vendor/llvm/dist/test/Transforms/InstSimplify/phi.ll vendor/llvm/dist/test/Transforms/InstSimplify/ptr_diff.ll vendor/llvm/dist/test/Transforms/InstSimplify/vector_gep.ll vendor/llvm/dist/test/Transforms/Internalize/lit.local.cfg vendor/llvm/dist/test/Transforms/JumpThreading/lit.local.cfg vendor/llvm/dist/test/Transforms/LCSSA/lit.local.cfg vendor/llvm/dist/test/Transforms/LICM/hoist-invariant-load.ll vendor/llvm/dist/test/Transforms/LICM/lit.local.cfg vendor/llvm/dist/test/Transforms/LICM/speculate.ll vendor/llvm/dist/test/Transforms/LoopDeletion/lit.local.cfg vendor/llvm/dist/test/Transforms/LoopIdiom/lit.local.cfg vendor/llvm/dist/test/Transforms/LoopRotate/alloca.ll vendor/llvm/dist/test/Transforms/LoopRotate/lit.local.cfg vendor/llvm/dist/test/Transforms/LoopRotate/simplifylatch.ll vendor/llvm/dist/test/Transforms/LoopSimplify/2011-12-14-LandingpadHeader.ll vendor/llvm/dist/test/Transforms/LoopSimplify/2012-03-20-indirectbr.ll vendor/llvm/dist/test/Transforms/LoopSimplify/lit.local.cfg vendor/llvm/dist/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/2012-01-02-nopreheader.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/2012-01-16-nopreheader.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/2012-03-15-nopreheader.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/2012-03-26-constexpr.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/ARM/ vendor/llvm/dist/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/ARM/lit.local.cfg vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/2011-12-04-loserreg.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/ivchain-stress-X86.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/lit.local.cfg vendor/llvm/dist/test/Transforms/LoopStrengthReduce/addrec-gep.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/dominate-assert.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/ivchain.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/lit.local.cfg vendor/llvm/dist/test/Transforms/LoopStrengthReduce/pr12018.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/pr12048.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/preserve-gep-loop-variant.ll vendor/llvm/dist/test/Transforms/LoopUnroll/2012-04-09-unroll-indirectbr.ll vendor/llvm/dist/test/Transforms/LoopUnroll/lit.local.cfg vendor/llvm/dist/test/Transforms/LoopUnroll/partial-unroll-optsize.ll vendor/llvm/dist/test/Transforms/LoopUnroll/pr11361.ll vendor/llvm/dist/test/Transforms/LoopUnroll/runtime-loop.ll vendor/llvm/dist/test/Transforms/LoopUnroll/runtime-loop1.ll vendor/llvm/dist/test/Transforms/LoopUnroll/runtime-loop2.ll vendor/llvm/dist/test/Transforms/LoopUnroll/runtime-loop3.ll vendor/llvm/dist/test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll vendor/llvm/dist/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll vendor/llvm/dist/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll vendor/llvm/dist/test/Transforms/LoopUnswitch/2012-04-02-IndirectBr.ll vendor/llvm/dist/test/Transforms/LoopUnswitch/lit.local.cfg vendor/llvm/dist/test/Transforms/LowerAtomic/lit.local.cfg vendor/llvm/dist/test/Transforms/LowerExpectIntrinsic/lit.local.cfg vendor/llvm/dist/test/Transforms/LowerInvoke/lit.local.cfg vendor/llvm/dist/test/Transforms/LowerSwitch/lit.local.cfg vendor/llvm/dist/test/Transforms/Mem2Reg/lit.local.cfg vendor/llvm/dist/test/Transforms/MemCpyOpt/lit.local.cfg vendor/llvm/dist/test/Transforms/MergeFunc/lit.local.cfg vendor/llvm/dist/test/Transforms/ObjCARC/apelim.ll vendor/llvm/dist/test/Transforms/ObjCARC/lit.local.cfg vendor/llvm/dist/test/Transforms/ObjCARC/no-objc-arc-exceptions.ll vendor/llvm/dist/test/Transforms/ObjCARC/pointer-types.ll vendor/llvm/dist/test/Transforms/ObjCARC/pr12270.ll vendor/llvm/dist/test/Transforms/ObjCARC/retain-block-load.ll vendor/llvm/dist/test/Transforms/ObjCARC/retain-block.ll vendor/llvm/dist/test/Transforms/PhaseOrdering/lit.local.cfg vendor/llvm/dist/test/Transforms/PruneEH/lit.local.cfg vendor/llvm/dist/test/Transforms/Reassociate/lit.local.cfg vendor/llvm/dist/test/Transforms/SCCP/lit.local.cfg vendor/llvm/dist/test/Transforms/ScalarRepl/2011-10-22-VectorCrash.ll vendor/llvm/dist/test/Transforms/ScalarRepl/2011-11-11-EmptyStruct.ll vendor/llvm/dist/test/Transforms/ScalarRepl/lit.local.cfg vendor/llvm/dist/test/Transforms/ScalarRepl/negative-memset.ll vendor/llvm/dist/test/Transforms/ScalarRepl/phi-cycle.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/lit.local.cfg vendor/llvm/dist/test/Transforms/SimplifyCFG/multiple-phis.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/preserve-branchweights.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/unreachable-blocks.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/cos.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/fwrite.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/lit.local.cfg vendor/llvm/dist/test/Transforms/SimplifyLibCalls/osx-names.ll vendor/llvm/dist/test/Transforms/Sink/lit.local.cfg vendor/llvm/dist/test/Transforms/StripSymbols/lit.local.cfg vendor/llvm/dist/test/Transforms/TailCallElim/lit.local.cfg vendor/llvm/dist/test/Transforms/TailDup/X86/lit.local.cfg vendor/llvm/dist/test/Transforms/TailDup/lit.local.cfg vendor/llvm/dist/test/Verifier/cttz-undef-arg.ll vendor/llvm/dist/test/Verifier/fpaccuracy.ll vendor/llvm/dist/test/Verifier/lit.local.cfg vendor/llvm/dist/test/Verifier/range-1.ll vendor/llvm/dist/test/Verifier/range-2.ll vendor/llvm/dist/test/YAMLParser/ vendor/llvm/dist/test/YAMLParser/LICENSE.txt vendor/llvm/dist/test/YAMLParser/bool.data vendor/llvm/dist/test/YAMLParser/construct-bool.data vendor/llvm/dist/test/YAMLParser/construct-custom.data vendor/llvm/dist/test/YAMLParser/construct-float.data vendor/llvm/dist/test/YAMLParser/construct-int.data vendor/llvm/dist/test/YAMLParser/construct-map.data vendor/llvm/dist/test/YAMLParser/construct-merge.data vendor/llvm/dist/test/YAMLParser/construct-null.data vendor/llvm/dist/test/YAMLParser/construct-omap.data vendor/llvm/dist/test/YAMLParser/construct-pairs.data vendor/llvm/dist/test/YAMLParser/construct-seq.data vendor/llvm/dist/test/YAMLParser/construct-set.data vendor/llvm/dist/test/YAMLParser/construct-str-ascii.data vendor/llvm/dist/test/YAMLParser/construct-str.data vendor/llvm/dist/test/YAMLParser/construct-timestamp.data vendor/llvm/dist/test/YAMLParser/construct-value.data vendor/llvm/dist/test/YAMLParser/duplicate-key.former-loader-error.data vendor/llvm/dist/test/YAMLParser/duplicate-mapping-key.former-loader-error.data vendor/llvm/dist/test/YAMLParser/duplicate-merge-key.former-loader-error.data vendor/llvm/dist/test/YAMLParser/duplicate-value-key.former-loader-error.data vendor/llvm/dist/test/YAMLParser/emit-block-scalar-in-simple-key-context-bug.data vendor/llvm/dist/test/YAMLParser/empty-document-bug.data vendor/llvm/dist/test/YAMLParser/float.data vendor/llvm/dist/test/YAMLParser/int.data vendor/llvm/dist/test/YAMLParser/invalid-single-quote-bug.data vendor/llvm/dist/test/YAMLParser/merge.data vendor/llvm/dist/test/YAMLParser/more-floats.data vendor/llvm/dist/test/YAMLParser/negative-float-bug.data vendor/llvm/dist/test/YAMLParser/null.data vendor/llvm/dist/test/YAMLParser/resolver.data vendor/llvm/dist/test/YAMLParser/run-parser-crash-bug.data vendor/llvm/dist/test/YAMLParser/scan-document-end-bug.data vendor/llvm/dist/test/YAMLParser/scan-line-break-bug.data vendor/llvm/dist/test/YAMLParser/single-dot-is-not-float-bug.data vendor/llvm/dist/test/YAMLParser/sloppy-indentation.data vendor/llvm/dist/test/YAMLParser/spec-02-01.data vendor/llvm/dist/test/YAMLParser/spec-02-02.data vendor/llvm/dist/test/YAMLParser/spec-02-03.data vendor/llvm/dist/test/YAMLParser/spec-02-04.data vendor/llvm/dist/test/YAMLParser/spec-02-05.data vendor/llvm/dist/test/YAMLParser/spec-02-06.data vendor/llvm/dist/test/YAMLParser/spec-02-07.data vendor/llvm/dist/test/YAMLParser/spec-02-08.data vendor/llvm/dist/test/YAMLParser/spec-02-09.data vendor/llvm/dist/test/YAMLParser/spec-02-10.data vendor/llvm/dist/test/YAMLParser/spec-02-11.data vendor/llvm/dist/test/YAMLParser/spec-02-12.data vendor/llvm/dist/test/YAMLParser/spec-02-13.data vendor/llvm/dist/test/YAMLParser/spec-02-14.data vendor/llvm/dist/test/YAMLParser/spec-02-15.data vendor/llvm/dist/test/YAMLParser/spec-02-16.data vendor/llvm/dist/test/YAMLParser/spec-02-17.data vendor/llvm/dist/test/YAMLParser/spec-02-18.data vendor/llvm/dist/test/YAMLParser/spec-02-19.data vendor/llvm/dist/test/YAMLParser/spec-02-20.data vendor/llvm/dist/test/YAMLParser/spec-02-21.data vendor/llvm/dist/test/YAMLParser/spec-02-22.data vendor/llvm/dist/test/YAMLParser/spec-02-23.data vendor/llvm/dist/test/YAMLParser/spec-02-24.data vendor/llvm/dist/test/YAMLParser/spec-02-25.data vendor/llvm/dist/test/YAMLParser/spec-02-26.data vendor/llvm/dist/test/YAMLParser/spec-02-27.data vendor/llvm/dist/test/YAMLParser/spec-02-28.data vendor/llvm/dist/test/YAMLParser/spec-05-01-utf8.data vendor/llvm/dist/test/YAMLParser/spec-05-02-utf8.data vendor/llvm/dist/test/YAMLParser/spec-05-03.data vendor/llvm/dist/test/YAMLParser/spec-05-04.data vendor/llvm/dist/test/YAMLParser/spec-05-05.data vendor/llvm/dist/test/YAMLParser/spec-05-06.data vendor/llvm/dist/test/YAMLParser/spec-05-07.data vendor/llvm/dist/test/YAMLParser/spec-05-08.data vendor/llvm/dist/test/YAMLParser/spec-05-09.data vendor/llvm/dist/test/YAMLParser/spec-05-10.data vendor/llvm/dist/test/YAMLParser/spec-05-11.data vendor/llvm/dist/test/YAMLParser/spec-05-12.data vendor/llvm/dist/test/YAMLParser/spec-05-13.data vendor/llvm/dist/test/YAMLParser/spec-05-14.data vendor/llvm/dist/test/YAMLParser/spec-05-15.data vendor/llvm/dist/test/YAMLParser/spec-06-01.data vendor/llvm/dist/test/YAMLParser/spec-06-02.data vendor/llvm/dist/test/YAMLParser/spec-06-03.data vendor/llvm/dist/test/YAMLParser/spec-06-04.data vendor/llvm/dist/test/YAMLParser/spec-06-05.data vendor/llvm/dist/test/YAMLParser/spec-06-06.data vendor/llvm/dist/test/YAMLParser/spec-06-07.data vendor/llvm/dist/test/YAMLParser/spec-06-08.data vendor/llvm/dist/test/YAMLParser/spec-07-01.data vendor/llvm/dist/test/YAMLParser/spec-07-02.data vendor/llvm/dist/test/YAMLParser/spec-07-03.data vendor/llvm/dist/test/YAMLParser/spec-07-04.data vendor/llvm/dist/test/YAMLParser/spec-07-05.data vendor/llvm/dist/test/YAMLParser/spec-07-06.data vendor/llvm/dist/test/YAMLParser/spec-07-07a.data vendor/llvm/dist/test/YAMLParser/spec-07-07b.data vendor/llvm/dist/test/YAMLParser/spec-07-08.data vendor/llvm/dist/test/YAMLParser/spec-07-09.data vendor/llvm/dist/test/YAMLParser/spec-07-10.data vendor/llvm/dist/test/YAMLParser/spec-07-11.data vendor/llvm/dist/test/YAMLParser/spec-07-12a.data vendor/llvm/dist/test/YAMLParser/spec-07-12b.data vendor/llvm/dist/test/YAMLParser/spec-07-13.data vendor/llvm/dist/test/YAMLParser/spec-08-01.data vendor/llvm/dist/test/YAMLParser/spec-08-02.data vendor/llvm/dist/test/YAMLParser/spec-08-03.data vendor/llvm/dist/test/YAMLParser/spec-08-04.data vendor/llvm/dist/test/YAMLParser/spec-08-05.data vendor/llvm/dist/test/YAMLParser/spec-08-06.data vendor/llvm/dist/test/YAMLParser/spec-08-07.data vendor/llvm/dist/test/YAMLParser/spec-08-08.data vendor/llvm/dist/test/YAMLParser/spec-08-09.data vendor/llvm/dist/test/YAMLParser/spec-08-10.data vendor/llvm/dist/test/YAMLParser/spec-08-11.data vendor/llvm/dist/test/YAMLParser/spec-08-12.data vendor/llvm/dist/test/YAMLParser/spec-08-13.data vendor/llvm/dist/test/YAMLParser/spec-08-14.data vendor/llvm/dist/test/YAMLParser/spec-08-15.data vendor/llvm/dist/test/YAMLParser/spec-09-01.data vendor/llvm/dist/test/YAMLParser/spec-09-02.data vendor/llvm/dist/test/YAMLParser/spec-09-03.data vendor/llvm/dist/test/YAMLParser/spec-09-04.data vendor/llvm/dist/test/YAMLParser/spec-09-05.data vendor/llvm/dist/test/YAMLParser/spec-09-06.data vendor/llvm/dist/test/YAMLParser/spec-09-07.data vendor/llvm/dist/test/YAMLParser/spec-09-08.data vendor/llvm/dist/test/YAMLParser/spec-09-09.data vendor/llvm/dist/test/YAMLParser/spec-09-10.data vendor/llvm/dist/test/YAMLParser/spec-09-11.data vendor/llvm/dist/test/YAMLParser/spec-09-12.data vendor/llvm/dist/test/YAMLParser/spec-09-13.data vendor/llvm/dist/test/YAMLParser/spec-09-14.data vendor/llvm/dist/test/YAMLParser/spec-09-15.data vendor/llvm/dist/test/YAMLParser/spec-09-16.data vendor/llvm/dist/test/YAMLParser/spec-09-17.data vendor/llvm/dist/test/YAMLParser/spec-09-18.data vendor/llvm/dist/test/YAMLParser/spec-09-19.data vendor/llvm/dist/test/YAMLParser/spec-09-20.data vendor/llvm/dist/test/YAMLParser/spec-09-21.data vendor/llvm/dist/test/YAMLParser/spec-09-22.data vendor/llvm/dist/test/YAMLParser/spec-09-23.data vendor/llvm/dist/test/YAMLParser/spec-09-24.data vendor/llvm/dist/test/YAMLParser/spec-09-25.data vendor/llvm/dist/test/YAMLParser/spec-09-26.data vendor/llvm/dist/test/YAMLParser/spec-09-27.data vendor/llvm/dist/test/YAMLParser/spec-09-28.data vendor/llvm/dist/test/YAMLParser/spec-09-29.data vendor/llvm/dist/test/YAMLParser/spec-09-30.data vendor/llvm/dist/test/YAMLParser/spec-09-31.data vendor/llvm/dist/test/YAMLParser/spec-09-32.data vendor/llvm/dist/test/YAMLParser/spec-09-33.data vendor/llvm/dist/test/YAMLParser/spec-10-01.data vendor/llvm/dist/test/YAMLParser/spec-10-02.data vendor/llvm/dist/test/YAMLParser/spec-10-03.data vendor/llvm/dist/test/YAMLParser/spec-10-04.data vendor/llvm/dist/test/YAMLParser/spec-10-05.data vendor/llvm/dist/test/YAMLParser/spec-10-06.data vendor/llvm/dist/test/YAMLParser/spec-10-07.data vendor/llvm/dist/test/YAMLParser/spec-10-08.data vendor/llvm/dist/test/YAMLParser/spec-10-09.data vendor/llvm/dist/test/YAMLParser/spec-10-10.data vendor/llvm/dist/test/YAMLParser/spec-10-11.data vendor/llvm/dist/test/YAMLParser/spec-10-12.data vendor/llvm/dist/test/YAMLParser/spec-10-13.data vendor/llvm/dist/test/YAMLParser/spec-10-14.data vendor/llvm/dist/test/YAMLParser/spec-10-15.data vendor/llvm/dist/test/YAMLParser/str.data vendor/llvm/dist/test/YAMLParser/timestamp-bugs.data vendor/llvm/dist/test/YAMLParser/timestamp.data vendor/llvm/dist/test/YAMLParser/utf8-implicit.data vendor/llvm/dist/test/YAMLParser/utf8.data vendor/llvm/dist/test/YAMLParser/value.data vendor/llvm/dist/test/YAMLParser/yaml.data vendor/llvm/dist/tools/LLVMBuild.txt vendor/llvm/dist/tools/bugpoint/LLVMBuild.txt vendor/llvm/dist/tools/llc/LLVMBuild.txt vendor/llvm/dist/tools/lli/LLVMBuild.txt vendor/llvm/dist/tools/llvm-ar/LLVMBuild.txt vendor/llvm/dist/tools/llvm-as/LLVMBuild.txt vendor/llvm/dist/tools/llvm-bcanalyzer/LLVMBuild.txt vendor/llvm/dist/tools/llvm-config/BuildVariables.inc.in vendor/llvm/dist/tools/llvm-config/llvm-config.cpp vendor/llvm/dist/tools/llvm-cov/LLVMBuild.txt vendor/llvm/dist/tools/llvm-diff/LLVMBuild.txt vendor/llvm/dist/tools/llvm-dis/LLVMBuild.txt vendor/llvm/dist/tools/llvm-dwarfdump/LLVMBuild.txt vendor/llvm/dist/tools/llvm-extract/LLVMBuild.txt vendor/llvm/dist/tools/llvm-ld/LLVMBuild.txt vendor/llvm/dist/tools/llvm-link/LLVMBuild.txt vendor/llvm/dist/tools/llvm-mc/LLVMBuild.txt vendor/llvm/dist/tools/llvm-nm/LLVMBuild.txt vendor/llvm/dist/tools/llvm-objdump/LLVMBuild.txt vendor/llvm/dist/tools/llvm-prof/LLVMBuild.txt vendor/llvm/dist/tools/llvm-ranlib/LLVMBuild.txt vendor/llvm/dist/tools/llvm-readobj/ vendor/llvm/dist/tools/llvm-readobj/CMakeLists.txt vendor/llvm/dist/tools/llvm-readobj/LLVMBuild.txt vendor/llvm/dist/tools/llvm-readobj/Makefile vendor/llvm/dist/tools/llvm-readobj/llvm-readobj.cpp vendor/llvm/dist/tools/llvm-rtdyld/LLVMBuild.txt vendor/llvm/dist/tools/llvm-size/LLVMBuild.txt vendor/llvm/dist/tools/llvm-stress/ vendor/llvm/dist/tools/llvm-stress/CMakeLists.txt vendor/llvm/dist/tools/llvm-stress/LLVMBuild.txt vendor/llvm/dist/tools/llvm-stress/Makefile vendor/llvm/dist/tools/llvm-stress/llvm-stress.cpp vendor/llvm/dist/tools/llvm-stub/LLVMBuild.txt vendor/llvm/dist/tools/macho-dump/LLVMBuild.txt vendor/llvm/dist/tools/opt/LLVMBuild.txt vendor/llvm/dist/unittests/ADT/HashingTest.cpp vendor/llvm/dist/unittests/ADT/IntrusiveRefCntPtrTest.cpp vendor/llvm/dist/unittests/ADT/SmallPtrSetTest.cpp vendor/llvm/dist/unittests/ADT/SparseSetTest.cpp vendor/llvm/dist/unittests/ADT/VariadicFunctionTest.cpp vendor/llvm/dist/unittests/Bitcode/ vendor/llvm/dist/unittests/Bitcode/BitReaderTest.cpp vendor/llvm/dist/unittests/Bitcode/Makefile vendor/llvm/dist/unittests/ExecutionEngine/JIT/IntelJITEventListenerTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h vendor/llvm/dist/unittests/ExecutionEngine/JIT/OProfileJITEventListenerTest.cpp vendor/llvm/dist/unittests/Support/JSONParserTest.cpp vendor/llvm/dist/unittests/Support/ManagedStatic.cpp vendor/llvm/dist/unittests/Support/YAMLParserTest.cpp vendor/llvm/dist/unittests/VMCore/DominatorTreeTest.cpp vendor/llvm/dist/utils/LLVMBuild.txt vendor/llvm/dist/utils/TableGen/DFAPacketizerEmitter.cpp vendor/llvm/dist/utils/TableGen/DFAPacketizerEmitter.h vendor/llvm/dist/utils/TableGen/LLVMBuild.txt vendor/llvm/dist/utils/TableGen/SequenceToOffsetTable.h vendor/llvm/dist/utils/TableGen/X86ModRMFilters.cpp vendor/llvm/dist/utils/clang-parse-diagnostics-file (contents, props changed) vendor/llvm/dist/utils/json-bench/ vendor/llvm/dist/utils/json-bench/CMakeLists.txt vendor/llvm/dist/utils/json-bench/JSONBench.cpp vendor/llvm/dist/utils/json-bench/Makefile vendor/llvm/dist/utils/lldbDataFormatters.py vendor/llvm/dist/utils/llvm-build/ vendor/llvm/dist/utils/llvm-build/README.txt vendor/llvm/dist/utils/llvm-build/llvm-build (contents, props changed) vendor/llvm/dist/utils/llvm-build/llvmbuild/ vendor/llvm/dist/utils/llvm-build/llvmbuild/__init__.py vendor/llvm/dist/utils/llvm-build/llvmbuild/componentinfo.py vendor/llvm/dist/utils/llvm-build/llvmbuild/configutil.py vendor/llvm/dist/utils/llvm-build/llvmbuild/main.py vendor/llvm/dist/utils/llvm-build/llvmbuild/util.py vendor/llvm/dist/utils/llvm-compilers-check (contents, props changed) vendor/llvm/dist/utils/release/findRegressions-nightly.py (contents, props changed) vendor/llvm/dist/utils/release/findRegressions-simple.py (contents, props changed) vendor/llvm/dist/utils/release/merge.sh (contents, props changed) vendor/llvm/dist/utils/release/tag.sh (contents, props changed) vendor/llvm/dist/utils/unittest/LLVMBuild.txt vendor/llvm/dist/utils/yaml-bench/ vendor/llvm/dist/utils/yaml-bench/CMakeLists.txt vendor/llvm/dist/utils/yaml-bench/Makefile vendor/llvm/dist/utils/yaml-bench/YAMLBench.cpp Deleted: vendor/llvm/dist/ModuleInfo.txt vendor/llvm/dist/autoconf/m4/path_perl.m4 vendor/llvm/dist/build-for-llvm-top.sh vendor/llvm/dist/cmake/modules/GetTargetTriple.cmake vendor/llvm/dist/docs/CFEBuildInstrs.html vendor/llvm/dist/docs/UsingLibraries.html vendor/llvm/dist/include/llvm/ADT/VectorExtras.h vendor/llvm/dist/include/llvm/CodeGen/BinaryObject.h vendor/llvm/dist/include/llvm/CodeGen/ObjectCodeEmitter.h vendor/llvm/dist/include/llvm/DebugInfoProbe.h vendor/llvm/dist/include/llvm/IntrinsicsAlpha.td vendor/llvm/dist/include/llvm/Transforms/Utils/BasicInliner.h vendor/llvm/dist/lib/CodeGen/ELF.h vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.cpp vendor/llvm/dist/lib/CodeGen/ELFCodeEmitter.h vendor/llvm/dist/lib/CodeGen/ELFWriter.cpp vendor/llvm/dist/lib/CodeGen/ELFWriter.h vendor/llvm/dist/lib/CodeGen/LiveRangeEdit.h vendor/llvm/dist/lib/CodeGen/ObjectCodeEmitter.cpp vendor/llvm/dist/lib/CodeGen/RegAllocLinearScan.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGEmit.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp vendor/llvm/dist/lib/CodeGen/Splitter.cpp vendor/llvm/dist/lib/CodeGen/Splitter.h vendor/llvm/dist/lib/CodeGen/VirtRegRewriter.cpp vendor/llvm/dist/lib/CodeGen/VirtRegRewriter.h vendor/llvm/dist/lib/ExecutionEngine/JIT/Intercept.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/JITDebugRegisterer.h vendor/llvm/dist/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp vendor/llvm/dist/lib/ExecutionEngine/MCJIT/Intercept.cpp vendor/llvm/dist/lib/MC/ELFObjectWriter.h vendor/llvm/dist/lib/MC/MCELFStreamer.h vendor/llvm/dist/lib/MC/MCLoggingStreamer.cpp vendor/llvm/dist/lib/Target/ARM/ARMGlobalMerge.cpp vendor/llvm/dist/lib/Target/Alpha/ vendor/llvm/dist/lib/Target/Blackfin/ vendor/llvm/dist/lib/Target/CBackend/ vendor/llvm/dist/lib/Target/Mips/MipsMCSymbolRefExpr.cpp vendor/llvm/dist/lib/Target/Mips/MipsMCSymbolRefExpr.h vendor/llvm/dist/lib/Target/SystemZ/ vendor/llvm/dist/lib/Target/TargetFrameLowering.cpp vendor/llvm/dist/lib/Transforms/Utils/BasicInliner.cpp vendor/llvm/dist/lib/VMCore/DebugInfoProbe.cpp vendor/llvm/dist/test/Analysis/BasicAA/dg.exp vendor/llvm/dist/test/Analysis/BlockFrequencyInfo/dg.exp vendor/llvm/dist/test/Analysis/CallGraph/dg.exp vendor/llvm/dist/test/Analysis/Dominators/dg.exp vendor/llvm/dist/test/Analysis/GlobalsModRef/dg.exp vendor/llvm/dist/test/Analysis/LoopDependenceAnalysis/dg.exp vendor/llvm/dist/test/Analysis/LoopInfo/dg.exp vendor/llvm/dist/test/Analysis/PostDominators/dg.exp vendor/llvm/dist/test/Analysis/Profiling/dg.exp vendor/llvm/dist/test/Analysis/RegionInfo/dg.exp vendor/llvm/dist/test/Analysis/ScalarEvolution/dg.exp vendor/llvm/dist/test/Analysis/TypeBasedAliasAnalysis/dg.exp vendor/llvm/dist/test/Archive/dg.exp vendor/llvm/dist/test/Assembler/AutoUpgradeIntrinsics.ll vendor/llvm/dist/test/Assembler/dg.exp vendor/llvm/dist/test/Bindings/Ocaml/dg.exp vendor/llvm/dist/test/Bitcode/AutoUpgradeGlobals.ll vendor/llvm/dist/test/Bitcode/AutoUpgradeGlobals.ll.bc vendor/llvm/dist/test/Bitcode/dg.exp vendor/llvm/dist/test/Bitcode/sse42_crc32.ll vendor/llvm/dist/test/Bitcode/sse42_crc32.ll.bc vendor/llvm/dist/test/Bitcode/ssse3_palignr.ll.bc vendor/llvm/dist/test/BugPoint/dg.exp vendor/llvm/dist/test/CodeGen/ARM/dg.exp vendor/llvm/dist/test/CodeGen/ARM/lsr-on-unrolled-loops.ll vendor/llvm/dist/test/CodeGen/Alpha/ vendor/llvm/dist/test/CodeGen/Blackfin/ vendor/llvm/dist/test/CodeGen/CBackend/ vendor/llvm/dist/test/CodeGen/CPP/dg.exp vendor/llvm/dist/test/CodeGen/CellSPU/call_indirect.ll vendor/llvm/dist/test/CodeGen/CellSPU/dg.exp vendor/llvm/dist/test/CodeGen/Generic/bool-vector.ll vendor/llvm/dist/test/CodeGen/Generic/dg.exp vendor/llvm/dist/test/CodeGen/MBlaze/dg.exp vendor/llvm/dist/test/CodeGen/MSP430/dg.exp vendor/llvm/dist/test/CodeGen/Mips/dg.exp vendor/llvm/dist/test/CodeGen/Mips/fpcmp.ll vendor/llvm/dist/test/CodeGen/PTX/dg.exp vendor/llvm/dist/test/CodeGen/PowerPC/2006-10-11-combiner-aa-regression.ll vendor/llvm/dist/test/CodeGen/PowerPC/dg.exp vendor/llvm/dist/test/CodeGen/PowerPC/ppc32-vaarg.ll vendor/llvm/dist/test/CodeGen/SPARC/dg.exp vendor/llvm/dist/test/CodeGen/SystemZ/ vendor/llvm/dist/test/CodeGen/Thumb/dg.exp vendor/llvm/dist/test/CodeGen/Thumb2/dg.exp vendor/llvm/dist/test/CodeGen/X86/2004-04-09-SameValueCoalescing.ll vendor/llvm/dist/test/CodeGen/X86/2008-01-16-Trampoline.ll vendor/llvm/dist/test/CodeGen/X86/2008-02-22-ReMatBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-03-18-CoalescerBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-12-16-BadShift.ll vendor/llvm/dist/test/CodeGen/X86/2009-02-05-CoalescerBug.ll vendor/llvm/dist/test/CodeGen/X86/2009-03-16-SpillerBug.ll vendor/llvm/dist/test/CodeGen/X86/2009-07-17-StackColoringBug.ll vendor/llvm/dist/test/CodeGen/X86/2010-06-28-DbgEntryPC.ll vendor/llvm/dist/test/CodeGen/X86/GC/dg.exp vendor/llvm/dist/test/CodeGen/X86/change-compare-stride-0.ll vendor/llvm/dist/test/CodeGen/X86/dbg-inline.ll vendor/llvm/dist/test/CodeGen/X86/dg.exp vendor/llvm/dist/test/CodeGen/X86/iv-users-in-other-loops.ll vendor/llvm/dist/test/CodeGen/X86/loop-strength-reduce3.ll vendor/llvm/dist/test/CodeGen/X86/mmx-vzmovl-2.ll vendor/llvm/dist/test/CodeGen/X86/mmx-vzmovl.ll vendor/llvm/dist/test/CodeGen/X86/pr3495-2.ll vendor/llvm/dist/test/CodeGen/X86/pr3495.ll vendor/llvm/dist/test/CodeGen/X86/sret.ll vendor/llvm/dist/test/CodeGen/X86/tls1.ll vendor/llvm/dist/test/CodeGen/X86/tls10.ll vendor/llvm/dist/test/CodeGen/X86/tls11.ll vendor/llvm/dist/test/CodeGen/X86/tls12.ll vendor/llvm/dist/test/CodeGen/X86/tls13.ll vendor/llvm/dist/test/CodeGen/X86/tls14.ll vendor/llvm/dist/test/CodeGen/X86/tls15.ll vendor/llvm/dist/test/CodeGen/X86/tls2.ll vendor/llvm/dist/test/CodeGen/X86/tls3.ll vendor/llvm/dist/test/CodeGen/X86/tls4.ll vendor/llvm/dist/test/CodeGen/X86/tls5.ll vendor/llvm/dist/test/CodeGen/X86/tls6.ll vendor/llvm/dist/test/CodeGen/X86/tls7.ll vendor/llvm/dist/test/CodeGen/X86/tls8.ll vendor/llvm/dist/test/CodeGen/X86/tls9.ll vendor/llvm/dist/test/CodeGen/XCore/cos.ll vendor/llvm/dist/test/CodeGen/XCore/dg.exp vendor/llvm/dist/test/CodeGen/XCore/exp.ll vendor/llvm/dist/test/CodeGen/XCore/exp2.ll vendor/llvm/dist/test/CodeGen/XCore/log.ll vendor/llvm/dist/test/CodeGen/XCore/log10.ll vendor/llvm/dist/test/CodeGen/XCore/log2.ll vendor/llvm/dist/test/CodeGen/XCore/pow.ll vendor/llvm/dist/test/CodeGen/XCore/powi.ll vendor/llvm/dist/test/CodeGen/XCore/sin.ll vendor/llvm/dist/test/CodeGen/XCore/sqrt.ll vendor/llvm/dist/test/DebugInfo/2009-01-15-dbg_declare.ll vendor/llvm/dist/test/DebugInfo/2010-04-25-CU-entry_pc.ll vendor/llvm/dist/test/DebugInfo/2011-09-26-GlobalVarContext.ll vendor/llvm/dist/test/DebugInfo/X86/dg.exp vendor/llvm/dist/test/DebugInfo/dg.exp vendor/llvm/dist/test/Debugger/ vendor/llvm/dist/test/ExecutionEngine/dg.exp vendor/llvm/dist/test/Feature/dg.exp vendor/llvm/dist/test/Feature/llvm2cpp.exp vendor/llvm/dist/test/Integer/dg.exp vendor/llvm/dist/test/Linker/dg.exp vendor/llvm/dist/test/MC/ARM/darwin-ARM-reloc.s vendor/llvm/dist/test/MC/ARM/darwin-Thumb-reloc.s vendor/llvm/dist/test/MC/ARM/dg.exp vendor/llvm/dist/test/MC/ARM/neon-shiftaccum-encoding.s vendor/llvm/dist/test/MC/ARM/nop-armv4-padding.s vendor/llvm/dist/test/MC/ARM/nop-armv6t2-padding.s vendor/llvm/dist/test/MC/ARM/nop-thumb-padding.s vendor/llvm/dist/test/MC/ARM/nop-thumb2-padding.s vendor/llvm/dist/test/MC/ARM/prefetch.ll vendor/llvm/dist/test/MC/ARM/thumb2-movt-fixup.s vendor/llvm/dist/test/MC/AsmParser/2011-09-06-NoNewline.s vendor/llvm/dist/test/MC/AsmParser/dg.exp vendor/llvm/dist/test/MC/COFF/dg.exp vendor/llvm/dist/test/MC/Disassembler/ARM/dg.exp vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-LDRD-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-LDRT-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-LSL-regform.txt vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-RSC-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-SSAT-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-STRBrs-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-UQADD8-arm.txt vendor/llvm/dist/test/MC/Disassembler/MBlaze/dg.exp vendor/llvm/dist/test/MC/Disassembler/X86/dg.exp vendor/llvm/dist/test/MC/ELF/dg.exp vendor/llvm/dist/test/MC/MBlaze/dg.exp vendor/llvm/dist/test/MC/MachO/dg.exp vendor/llvm/dist/test/MC/X86/dg.exp vendor/llvm/dist/test/Object/TestObjectFiles/ vendor/llvm/dist/test/Object/dg.exp vendor/llvm/dist/test/Object/objdump-disassembly-inline-relocations.test vendor/llvm/dist/test/Object/objdump-trivial-object.test vendor/llvm/dist/test/Other/X86/dg.exp vendor/llvm/dist/test/Other/dg.exp vendor/llvm/dist/test/TableGen/dg.exp vendor/llvm/dist/test/Transforms/ADCE/dg.exp vendor/llvm/dist/test/Transforms/ArgumentPromotion/dg.exp vendor/llvm/dist/test/Transforms/BlockPlacement/dg.exp vendor/llvm/dist/test/Transforms/CodeExtractor/dg.exp vendor/llvm/dist/test/Transforms/CodeGenPrepare/dg.exp vendor/llvm/dist/test/Transforms/ConstProp/dg.exp vendor/llvm/dist/test/Transforms/ConstantMerge/dg.exp vendor/llvm/dist/test/Transforms/CorrelatedValuePropagation/dg.exp vendor/llvm/dist/test/Transforms/DeadArgElim/dg.exp vendor/llvm/dist/test/Transforms/DeadStoreElimination/dg.exp vendor/llvm/dist/test/Transforms/EarlyCSE/dg.exp vendor/llvm/dist/test/Transforms/FunctionAttrs/2008-12-31-NoCapture.ll vendor/llvm/dist/test/Transforms/FunctionAttrs/dg.exp vendor/llvm/dist/test/Transforms/GVN/dg.exp vendor/llvm/dist/test/Transforms/GlobalDCE/2009-09-03-MDNode.ll vendor/llvm/dist/test/Transforms/GlobalDCE/dg.exp vendor/llvm/dist/test/Transforms/GlobalOpt/2008-02-16-NestAttr.ll vendor/llvm/dist/test/Transforms/GlobalOpt/dg.exp vendor/llvm/dist/test/Transforms/IPConstantProp/dg.exp vendor/llvm/dist/test/Transforms/IndVarSimplify/addrec-gep.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/complex-scev.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/dg.exp vendor/llvm/dist/test/Transforms/IndVarSimplify/gep-with-mul-base.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/preserve-gep-loop-variant.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/preserve-gep-nested.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/preserve-gep-remainder.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/preserve-gep.ll vendor/llvm/dist/test/Transforms/Inline/2007-06-06-NoInline.ll vendor/llvm/dist/test/Transforms/Inline/2008-09-02-AlwaysInline.ll vendor/llvm/dist/test/Transforms/Inline/2008-10-30-AlwaysInline.ll vendor/llvm/dist/test/Transforms/Inline/2008-11-04-AlwaysInline.ll vendor/llvm/dist/test/Transforms/Inline/always_inline_dyn_alloca.ll vendor/llvm/dist/test/Transforms/Inline/dg.exp vendor/llvm/dist/test/Transforms/InstCombine/2007-09-11-Trampoline.ll vendor/llvm/dist/test/Transforms/InstCombine/2008-01-14-DoubleNest.ll vendor/llvm/dist/test/Transforms/InstCombine/dg.exp vendor/llvm/dist/test/Transforms/InstSimplify/dg.exp vendor/llvm/dist/test/Transforms/Internalize/dg.exp vendor/llvm/dist/test/Transforms/JumpThreading/dg.exp vendor/llvm/dist/test/Transforms/LCSSA/dg.exp vendor/llvm/dist/test/Transforms/LICM/dg.exp vendor/llvm/dist/test/Transforms/LoopDeletion/dg.exp vendor/llvm/dist/test/Transforms/LoopIdiom/dg.exp vendor/llvm/dist/test/Transforms/LoopRotate/dg.exp vendor/llvm/dist/test/Transforms/LoopSimplify/dg.exp vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/dg.exp vendor/llvm/dist/test/Transforms/LoopStrengthReduce/dg.exp vendor/llvm/dist/test/Transforms/LoopUnroll/dg.exp vendor/llvm/dist/test/Transforms/LoopUnswitch/dg.exp vendor/llvm/dist/test/Transforms/LowerAtomic/dg.exp vendor/llvm/dist/test/Transforms/LowerExpectIntrinsic/dg.exp vendor/llvm/dist/test/Transforms/LowerInvoke/dg.exp vendor/llvm/dist/test/Transforms/LowerSwitch/dg.exp vendor/llvm/dist/test/Transforms/Mem2Reg/dg.exp vendor/llvm/dist/test/Transforms/MemCpyOpt/dg.exp vendor/llvm/dist/test/Transforms/MergeFunc/dg.exp vendor/llvm/dist/test/Transforms/ObjCARC/dg.exp vendor/llvm/dist/test/Transforms/PhaseOrdering/dg.exp vendor/llvm/dist/test/Transforms/PruneEH/dg.exp vendor/llvm/dist/test/Transforms/Reassociate/dg.exp vendor/llvm/dist/test/Transforms/SCCP/dg.exp vendor/llvm/dist/test/Transforms/SCCP/phitest.ll vendor/llvm/dist/test/Transforms/ScalarRepl/2009-03-05-Aggre2Scalar-dbg.ll vendor/llvm/dist/test/Transforms/ScalarRepl/debuginfo.ll vendor/llvm/dist/test/Transforms/ScalarRepl/dg.exp vendor/llvm/dist/test/Transforms/SimplifyCFG/2010-10-24-OnlyUnwindInEntry.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/branch-branch-dbginfo.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/branch_fold_dbg.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/dg.exp vendor/llvm/dist/test/Transforms/SimplifyCFG/hoist-common-code.dbg.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/switch_formation.dbg.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/switch_switch_fold_dbginfo.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/two-entry-phi-return.dbg.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/dg.exp vendor/llvm/dist/test/Transforms/Sink/dg.exp vendor/llvm/dist/test/Transforms/StripSymbols/dg.exp vendor/llvm/dist/test/Transforms/TailCallElim/dg.exp vendor/llvm/dist/test/Transforms/TailDup/X86/dg.exp vendor/llvm/dist/test/Transforms/TailDup/dg.exp vendor/llvm/dist/test/Verifier/dg.exp vendor/llvm/dist/test/lib/llvm.exp vendor/llvm/dist/test/lib/llvm2cpp.exp vendor/llvm/dist/tools/edis/ vendor/llvm/dist/tools/llvm-config/find-cycles.pl vendor/llvm/dist/tools/llvm-config/llvm-config.in.in vendor/llvm/dist/utils/NLT.schema vendor/llvm/dist/utils/NewNightlyTest.pl vendor/llvm/dist/utils/NightlyTest.gnuplot vendor/llvm/dist/utils/NightlyTestTemplate.html vendor/llvm/dist/utils/TableGen/ARMDecoderEmitter.cpp vendor/llvm/dist/utils/TableGen/ARMDecoderEmitter.h vendor/llvm/dist/utils/TableGen/InstrEnumEmitter.cpp vendor/llvm/dist/utils/TableGen/InstrEnumEmitter.h vendor/llvm/dist/utils/cgiplotNLT.pl vendor/llvm/dist/utils/importNLT.pl vendor/llvm/dist/utils/lit/ExampleTests.ObjDir/ vendor/llvm/dist/utils/llvmbuild vendor/llvm/dist/utils/parseNLT.pl vendor/llvm/dist/utils/plotNLT.pl vendor/llvm/dist/utils/release/findRegressions.py vendor/llvm/dist/utils/show-diagnostics vendor/llvm/dist/utils/webNLT.pl vendor/llvm/dist/website/ Modified: vendor/llvm/dist/.gitignore vendor/llvm/dist/CMakeLists.txt vendor/llvm/dist/CREDITS.TXT vendor/llvm/dist/LICENSE.TXT vendor/llvm/dist/Makefile vendor/llvm/dist/Makefile.config.in vendor/llvm/dist/Makefile.rules vendor/llvm/dist/README.txt vendor/llvm/dist/autoconf/AutoRegen.sh vendor/llvm/dist/autoconf/config.sub vendor/llvm/dist/autoconf/configure.ac vendor/llvm/dist/autoconf/ltmain.sh vendor/llvm/dist/autoconf/m4/cxx_flag_check.m4 vendor/llvm/dist/autoconf/m4/func_isinf.m4 vendor/llvm/dist/autoconf/m4/huge_val.m4 vendor/llvm/dist/autoconf/m4/libtool.m4 vendor/llvm/dist/autoconf/m4/link_options.m4 vendor/llvm/dist/autoconf/m4/visibility_inlines_hidden.m4 vendor/llvm/dist/bindings/ocaml/Makefile.ocaml vendor/llvm/dist/bindings/ocaml/llvm/META.llvm.in vendor/llvm/dist/bindings/ocaml/llvm/Makefile vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli vendor/llvm/dist/bindings/ocaml/llvm/llvm_ocaml.c vendor/llvm/dist/cmake/config-ix.cmake vendor/llvm/dist/cmake/modules/AddLLVM.cmake vendor/llvm/dist/cmake/modules/CMakeLists.txt vendor/llvm/dist/cmake/modules/ChooseMSVCCRT.cmake vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake vendor/llvm/dist/cmake/modules/LLVM-Config.cmake vendor/llvm/dist/cmake/modules/LLVMConfig.cmake.in vendor/llvm/dist/cmake/modules/TableGen.cmake vendor/llvm/dist/cmake/modules/VersionFromVCS.cmake vendor/llvm/dist/configure vendor/llvm/dist/docs/AliasAnalysis.html vendor/llvm/dist/docs/Bugpoint.html vendor/llvm/dist/docs/CMake.html vendor/llvm/dist/docs/CodeGenerator.html vendor/llvm/dist/docs/CodingStandards.html vendor/llvm/dist/docs/CommandGuide/Makefile vendor/llvm/dist/docs/CommandGuide/index.html vendor/llvm/dist/docs/CommandGuide/lit.pod vendor/llvm/dist/docs/CommandGuide/llc.pod vendor/llvm/dist/docs/CommandGuide/tblgen.pod vendor/llvm/dist/docs/CompilerWriterInfo.html vendor/llvm/dist/docs/DebuggingJITedCode.html vendor/llvm/dist/docs/DeveloperPolicy.html vendor/llvm/dist/docs/ExceptionHandling.html vendor/llvm/dist/docs/ExtendingLLVM.html vendor/llvm/dist/docs/FAQ.html vendor/llvm/dist/docs/GarbageCollection.html vendor/llvm/dist/docs/GetElementPtr.html vendor/llvm/dist/docs/GettingStarted.html vendor/llvm/dist/docs/GettingStartedVS.html vendor/llvm/dist/docs/GoldPlugin.html vendor/llvm/dist/docs/HowToReleaseLLVM.html vendor/llvm/dist/docs/HowToSubmitABug.html vendor/llvm/dist/docs/LangRef.html vendor/llvm/dist/docs/Lexicon.html vendor/llvm/dist/docs/LinkTimeOptimization.html vendor/llvm/dist/docs/Packaging.html vendor/llvm/dist/docs/Passes.html vendor/llvm/dist/docs/ProgrammersManual.html vendor/llvm/dist/docs/Projects.html vendor/llvm/dist/docs/ReleaseNotes.html vendor/llvm/dist/docs/SegmentedStacks.html vendor/llvm/dist/docs/SourceLevelDebugging.html vendor/llvm/dist/docs/SystemLibrary.html vendor/llvm/dist/docs/TableGenFundamentals.html vendor/llvm/dist/docs/TestingGuide.html vendor/llvm/dist/docs/WritingAnLLVMBackend.html vendor/llvm/dist/docs/WritingAnLLVMPass.html vendor/llvm/dist/docs/doxygen.cfg.in vendor/llvm/dist/docs/doxygen.footer vendor/llvm/dist/docs/doxygen.header vendor/llvm/dist/docs/doxygen.intro vendor/llvm/dist/docs/index.html vendor/llvm/dist/docs/tutorial/LangImpl2.html vendor/llvm/dist/docs/tutorial/LangImpl3.html vendor/llvm/dist/docs/tutorial/LangImpl4.html vendor/llvm/dist/docs/tutorial/LangImpl5.html vendor/llvm/dist/docs/tutorial/LangImpl6.html vendor/llvm/dist/docs/tutorial/LangImpl7.html vendor/llvm/dist/examples/BrainF/BrainF.cpp vendor/llvm/dist/examples/ExceptionDemo/ExceptionDemo.cpp vendor/llvm/dist/examples/ParallelJIT/ParallelJIT.cpp vendor/llvm/dist/include/llvm-c/Analysis.h vendor/llvm/dist/include/llvm-c/BitReader.h vendor/llvm/dist/include/llvm-c/BitWriter.h vendor/llvm/dist/include/llvm-c/Core.h vendor/llvm/dist/include/llvm-c/Disassembler.h vendor/llvm/dist/include/llvm-c/EnhancedDisassembly.h vendor/llvm/dist/include/llvm-c/ExecutionEngine.h vendor/llvm/dist/include/llvm-c/Initialization.h vendor/llvm/dist/include/llvm-c/LinkTimeOptimizer.h vendor/llvm/dist/include/llvm-c/Object.h vendor/llvm/dist/include/llvm-c/Target.h vendor/llvm/dist/include/llvm-c/Transforms/IPO.h vendor/llvm/dist/include/llvm-c/Transforms/PassManagerBuilder.h vendor/llvm/dist/include/llvm-c/Transforms/Scalar.h vendor/llvm/dist/include/llvm-c/lto.h vendor/llvm/dist/include/llvm/ADT/APFloat.h vendor/llvm/dist/include/llvm/ADT/APInt.h vendor/llvm/dist/include/llvm/ADT/ArrayRef.h vendor/llvm/dist/include/llvm/ADT/BitVector.h vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h vendor/llvm/dist/include/llvm/ADT/DenseMap.h vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h vendor/llvm/dist/include/llvm/ADT/FoldingSet.h vendor/llvm/dist/include/llvm/ADT/GraphTraits.h vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h vendor/llvm/dist/include/llvm/ADT/IntervalMap.h vendor/llvm/dist/include/llvm/ADT/IntrusiveRefCntPtr.h vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h vendor/llvm/dist/include/llvm/ADT/PointerUnion.h vendor/llvm/dist/include/llvm/ADT/SetVector.h vendor/llvm/dist/include/llvm/ADT/SmallBitVector.h vendor/llvm/dist/include/llvm/ADT/SmallPtrSet.h vendor/llvm/dist/include/llvm/ADT/SmallSet.h vendor/llvm/dist/include/llvm/ADT/SmallString.h vendor/llvm/dist/include/llvm/ADT/SmallVector.h vendor/llvm/dist/include/llvm/ADT/SparseBitVector.h vendor/llvm/dist/include/llvm/ADT/Statistic.h vendor/llvm/dist/include/llvm/ADT/StringExtras.h vendor/llvm/dist/include/llvm/ADT/StringMap.h vendor/llvm/dist/include/llvm/ADT/StringRef.h vendor/llvm/dist/include/llvm/ADT/TinyPtrVector.h vendor/llvm/dist/include/llvm/ADT/Trie.h vendor/llvm/dist/include/llvm/ADT/Triple.h vendor/llvm/dist/include/llvm/ADT/Twine.h vendor/llvm/dist/include/llvm/ADT/ValueMap.h vendor/llvm/dist/include/llvm/ADT/ilist.h vendor/llvm/dist/include/llvm/Analysis/AliasAnalysis.h vendor/llvm/dist/include/llvm/Analysis/AliasSetTracker.h vendor/llvm/dist/include/llvm/Analysis/BlockFrequencyImpl.h vendor/llvm/dist/include/llvm/Analysis/BlockFrequencyInfo.h vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h vendor/llvm/dist/include/llvm/Analysis/CFGPrinter.h vendor/llvm/dist/include/llvm/Analysis/CaptureTracking.h vendor/llvm/dist/include/llvm/Analysis/CodeMetrics.h vendor/llvm/dist/include/llvm/Analysis/ConstantFolding.h vendor/llvm/dist/include/llvm/Analysis/DIBuilder.h vendor/llvm/dist/include/llvm/Analysis/DOTGraphTraitsPass.h vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h vendor/llvm/dist/include/llvm/Analysis/DominanceFrontier.h vendor/llvm/dist/include/llvm/Analysis/DominatorInternals.h vendor/llvm/dist/include/llvm/Analysis/Dominators.h vendor/llvm/dist/include/llvm/Analysis/IVUsers.h vendor/llvm/dist/include/llvm/Analysis/InlineCost.h vendor/llvm/dist/include/llvm/Analysis/InstructionSimplify.h vendor/llvm/dist/include/llvm/Analysis/IntervalIterator.h vendor/llvm/dist/include/llvm/Analysis/LazyValueInfo.h vendor/llvm/dist/include/llvm/Analysis/Loads.h vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h vendor/llvm/dist/include/llvm/Analysis/MemoryDependenceAnalysis.h vendor/llvm/dist/include/llvm/Analysis/PHITransAddr.h vendor/llvm/dist/include/llvm/Analysis/ProfileInfo.h vendor/llvm/dist/include/llvm/Analysis/RegionInfo.h vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpressions.h vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h vendor/llvm/dist/include/llvm/Argument.h vendor/llvm/dist/include/llvm/Assembly/AssemblyAnnotationWriter.h vendor/llvm/dist/include/llvm/Assembly/Parser.h vendor/llvm/dist/include/llvm/Assembly/Writer.h vendor/llvm/dist/include/llvm/Attributes.h vendor/llvm/dist/include/llvm/AutoUpgrade.h vendor/llvm/dist/include/llvm/BasicBlock.h vendor/llvm/dist/include/llvm/Bitcode/Archive.h vendor/llvm/dist/include/llvm/Bitcode/BitCodes.h vendor/llvm/dist/include/llvm/Bitcode/BitstreamReader.h vendor/llvm/dist/include/llvm/Bitcode/BitstreamWriter.h vendor/llvm/dist/include/llvm/Bitcode/LLVMBitCodes.h vendor/llvm/dist/include/llvm/Bitcode/ReaderWriter.h vendor/llvm/dist/include/llvm/CMakeLists.txt vendor/llvm/dist/include/llvm/CodeGen/Analysis.h vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h vendor/llvm/dist/include/llvm/CodeGen/CallingConvLower.h vendor/llvm/dist/include/llvm/CodeGen/EdgeBundles.h vendor/llvm/dist/include/llvm/CodeGen/FastISel.h vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h vendor/llvm/dist/include/llvm/CodeGen/GCStrategy.h vendor/llvm/dist/include/llvm/CodeGen/ISDOpcodes.h vendor/llvm/dist/include/llvm/CodeGen/JITCodeEmitter.h vendor/llvm/dist/include/llvm/CodeGen/LatencyPriorityQueue.h vendor/llvm/dist/include/llvm/CodeGen/LexicalScopes.h vendor/llvm/dist/include/llvm/CodeGen/LinkAllCodegenComponents.h vendor/llvm/dist/include/llvm/CodeGen/LiveInterval.h vendor/llvm/dist/include/llvm/CodeGen/LiveIntervalAnalysis.h vendor/llvm/dist/include/llvm/CodeGen/LiveVariables.h vendor/llvm/dist/include/llvm/CodeGen/MachineBasicBlock.h vendor/llvm/dist/include/llvm/CodeGen/MachineBlockFrequencyInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineBranchProbabilityInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineCodeEmitter.h vendor/llvm/dist/include/llvm/CodeGen/MachineConstantPool.h vendor/llvm/dist/include/llvm/CodeGen/MachineDominators.h vendor/llvm/dist/include/llvm/CodeGen/MachineFrameInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h vendor/llvm/dist/include/llvm/CodeGen/MachineFunctionAnalysis.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstrBuilder.h vendor/llvm/dist/include/llvm/CodeGen/MachineJumpTableInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineMemOperand.h vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineOperand.h vendor/llvm/dist/include/llvm/CodeGen/MachinePassRegistry.h vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h vendor/llvm/dist/include/llvm/CodeGen/PBQP/Graph.h vendor/llvm/dist/include/llvm/CodeGen/PBQP/HeuristicBase.h vendor/llvm/dist/include/llvm/CodeGen/PBQP/Heuristics/Briggs.h vendor/llvm/dist/include/llvm/CodeGen/Passes.h vendor/llvm/dist/include/llvm/CodeGen/RegisterScavenging.h vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAG.h vendor/llvm/dist/include/llvm/CodeGen/SchedulerRegistry.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGISel.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGNodes.h vendor/llvm/dist/include/llvm/CodeGen/SlotIndexes.h vendor/llvm/dist/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.h vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.td vendor/llvm/dist/include/llvm/Config/Disassemblers.def.in vendor/llvm/dist/include/llvm/Config/config.h.cmake vendor/llvm/dist/include/llvm/Config/config.h.in vendor/llvm/dist/include/llvm/Config/llvm-config.h.cmake vendor/llvm/dist/include/llvm/Config/llvm-config.h.in vendor/llvm/dist/include/llvm/Constant.h vendor/llvm/dist/include/llvm/Constants.h vendor/llvm/dist/include/llvm/DefaultPasses.h vendor/llvm/dist/include/llvm/DerivedTypes.h vendor/llvm/dist/include/llvm/ExecutionEngine/ExecutionEngine.h vendor/llvm/dist/include/llvm/ExecutionEngine/JITEventListener.h vendor/llvm/dist/include/llvm/ExecutionEngine/JITMemoryManager.h vendor/llvm/dist/include/llvm/ExecutionEngine/RuntimeDyld.h vendor/llvm/dist/include/llvm/Function.h vendor/llvm/dist/include/llvm/GlobalValue.h vendor/llvm/dist/include/llvm/InitializePasses.h vendor/llvm/dist/include/llvm/InlineAsm.h vendor/llvm/dist/include/llvm/InstrTypes.h vendor/llvm/dist/include/llvm/Instruction.def vendor/llvm/dist/include/llvm/Instruction.h vendor/llvm/dist/include/llvm/Instructions.h vendor/llvm/dist/include/llvm/IntrinsicInst.h vendor/llvm/dist/include/llvm/Intrinsics.td vendor/llvm/dist/include/llvm/IntrinsicsX86.td vendor/llvm/dist/include/llvm/LLVMContext.h vendor/llvm/dist/include/llvm/LinkAllPasses.h vendor/llvm/dist/include/llvm/Linker.h vendor/llvm/dist/include/llvm/MC/MCAsmBackend.h vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h vendor/llvm/dist/include/llvm/MC/MCAsmInfoCOFF.h vendor/llvm/dist/include/llvm/MC/MCAsmInfoDarwin.h vendor/llvm/dist/include/llvm/MC/MCAsmLayout.h vendor/llvm/dist/include/llvm/MC/MCAssembler.h vendor/llvm/dist/include/llvm/MC/MCCodeEmitter.h vendor/llvm/dist/include/llvm/MC/MCCodeGenInfo.h vendor/llvm/dist/include/llvm/MC/MCContext.h vendor/llvm/dist/include/llvm/MC/MCDisassembler.h vendor/llvm/dist/include/llvm/MC/MCDwarf.h vendor/llvm/dist/include/llvm/MC/MCELFObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCExpr.h vendor/llvm/dist/include/llvm/MC/MCFixup.h vendor/llvm/dist/include/llvm/MC/MCInst.h vendor/llvm/dist/include/llvm/MC/MCInstPrinter.h vendor/llvm/dist/include/llvm/MC/MCInstrAnalysis.h vendor/llvm/dist/include/llvm/MC/MCInstrDesc.h vendor/llvm/dist/include/llvm/MC/MCInstrInfo.h vendor/llvm/dist/include/llvm/MC/MCObjectFileInfo.h vendor/llvm/dist/include/llvm/MC/MCObjectStreamer.h vendor/llvm/dist/include/llvm/MC/MCObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmLexer.h vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmParser.h vendor/llvm/dist/include/llvm/MC/MCRegisterInfo.h vendor/llvm/dist/include/llvm/MC/MCSection.h vendor/llvm/dist/include/llvm/MC/MCSectionCOFF.h vendor/llvm/dist/include/llvm/MC/MCSectionELF.h vendor/llvm/dist/include/llvm/MC/MCSectionMachO.h vendor/llvm/dist/include/llvm/MC/MCStreamer.h vendor/llvm/dist/include/llvm/Metadata.h vendor/llvm/dist/include/llvm/Module.h vendor/llvm/dist/include/llvm/Object/Archive.h vendor/llvm/dist/include/llvm/Object/Binary.h vendor/llvm/dist/include/llvm/Object/COFF.h vendor/llvm/dist/include/llvm/Object/MachO.h vendor/llvm/dist/include/llvm/Object/MachOObject.h vendor/llvm/dist/include/llvm/Object/ObjectFile.h vendor/llvm/dist/include/llvm/Operator.h vendor/llvm/dist/include/llvm/Pass.h vendor/llvm/dist/include/llvm/PassAnalysisSupport.h vendor/llvm/dist/include/llvm/PassManager.h vendor/llvm/dist/include/llvm/PassManagers.h vendor/llvm/dist/include/llvm/PassSupport.h vendor/llvm/dist/include/llvm/Support/BlockFrequency.h vendor/llvm/dist/include/llvm/Support/BranchProbability.h vendor/llvm/dist/include/llvm/Support/CFG.h vendor/llvm/dist/include/llvm/Support/COFF.h vendor/llvm/dist/include/llvm/Support/CallSite.h vendor/llvm/dist/include/llvm/Support/Capacity.h vendor/llvm/dist/include/llvm/Support/CodeGen.h vendor/llvm/dist/include/llvm/Support/CommandLine.h vendor/llvm/dist/include/llvm/Support/Compiler.h vendor/llvm/dist/include/llvm/Support/DOTGraphTraits.h vendor/llvm/dist/include/llvm/Support/DataTypes.h.cmake vendor/llvm/dist/include/llvm/Support/DataTypes.h.in vendor/llvm/dist/include/llvm/Support/Debug.h vendor/llvm/dist/include/llvm/Support/Dwarf.h vendor/llvm/dist/include/llvm/Support/DynamicLibrary.h vendor/llvm/dist/include/llvm/Support/ELF.h vendor/llvm/dist/include/llvm/Support/Endian.h vendor/llvm/dist/include/llvm/Support/FileSystem.h vendor/llvm/dist/include/llvm/Support/GraphWriter.h vendor/llvm/dist/include/llvm/Support/Host.h vendor/llvm/dist/include/llvm/Support/IRReader.h vendor/llvm/dist/include/llvm/Support/InstVisitor.h vendor/llvm/dist/include/llvm/Support/MachO.h vendor/llvm/dist/include/llvm/Support/ManagedStatic.h vendor/llvm/dist/include/llvm/Support/MathExtras.h vendor/llvm/dist/include/llvm/Support/MemoryObject.h vendor/llvm/dist/include/llvm/Support/PathV1.h vendor/llvm/dist/include/llvm/Support/PatternMatch.h vendor/llvm/dist/include/llvm/Support/Process.h vendor/llvm/dist/include/llvm/Support/Program.h vendor/llvm/dist/include/llvm/Support/Recycler.h vendor/llvm/dist/include/llvm/Support/SMLoc.h vendor/llvm/dist/include/llvm/Support/SourceMgr.h vendor/llvm/dist/include/llvm/Support/TargetRegistry.h vendor/llvm/dist/include/llvm/Support/TargetSelect.h vendor/llvm/dist/include/llvm/Support/Valgrind.h vendor/llvm/dist/include/llvm/Support/ValueHandle.h vendor/llvm/dist/include/llvm/Support/system_error.h vendor/llvm/dist/include/llvm/Support/type_traits.h vendor/llvm/dist/include/llvm/TableGen/Record.h vendor/llvm/dist/include/llvm/TableGen/TableGenAction.h vendor/llvm/dist/include/llvm/TableGen/TableGenBackend.h vendor/llvm/dist/include/llvm/Target/Mangler.h vendor/llvm/dist/include/llvm/Target/Target.td vendor/llvm/dist/include/llvm/Target/TargetCallingConv.h vendor/llvm/dist/include/llvm/Target/TargetCallingConv.td vendor/llvm/dist/include/llvm/Target/TargetData.h vendor/llvm/dist/include/llvm/Target/TargetELFWriterInfo.h vendor/llvm/dist/include/llvm/Target/TargetFrameLowering.h vendor/llvm/dist/include/llvm/Target/TargetInstrInfo.h vendor/llvm/dist/include/llvm/Target/TargetJITInfo.h vendor/llvm/dist/include/llvm/Target/TargetLibraryInfo.h vendor/llvm/dist/include/llvm/Target/TargetLowering.h vendor/llvm/dist/include/llvm/Target/TargetLoweringObjectFile.h vendor/llvm/dist/include/llvm/Target/TargetMachine.h vendor/llvm/dist/include/llvm/Target/TargetOpcodes.h vendor/llvm/dist/include/llvm/Target/TargetOptions.h vendor/llvm/dist/include/llvm/Target/TargetRegisterInfo.h vendor/llvm/dist/include/llvm/Target/TargetSelectionDAG.td vendor/llvm/dist/include/llvm/Target/TargetSubtargetInfo.h vendor/llvm/dist/include/llvm/Transforms/IPO.h vendor/llvm/dist/include/llvm/Transforms/IPO/InlinerPass.h vendor/llvm/dist/include/llvm/Transforms/IPO/PassManagerBuilder.h vendor/llvm/dist/include/llvm/Transforms/Instrumentation.h vendor/llvm/dist/include/llvm/Transforms/Scalar.h vendor/llvm/dist/include/llvm/Transforms/Utils/BasicBlockUtils.h vendor/llvm/dist/include/llvm/Transforms/Utils/BuildLibCalls.h vendor/llvm/dist/include/llvm/Transforms/Utils/Cloning.h vendor/llvm/dist/include/llvm/Transforms/Utils/SSAUpdater.h vendor/llvm/dist/include/llvm/Transforms/Utils/SSAUpdaterImpl.h vendor/llvm/dist/include/llvm/Transforms/Utils/SimplifyIndVar.h vendor/llvm/dist/include/llvm/Transforms/Utils/UnrollLoop.h vendor/llvm/dist/include/llvm/Transforms/Utils/ValueMapper.h vendor/llvm/dist/include/llvm/Type.h vendor/llvm/dist/include/llvm/User.h vendor/llvm/dist/include/llvm/Value.h vendor/llvm/dist/lib/Analysis/AliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/AliasAnalysisCounter.cpp vendor/llvm/dist/lib/Analysis/AliasAnalysisEvaluator.cpp vendor/llvm/dist/lib/Analysis/AliasSetTracker.cpp vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/BlockFrequencyInfo.cpp vendor/llvm/dist/lib/Analysis/BranchProbabilityInfo.cpp vendor/llvm/dist/lib/Analysis/CFGPrinter.cpp vendor/llvm/dist/lib/Analysis/CMakeLists.txt vendor/llvm/dist/lib/Analysis/CaptureTracking.cpp vendor/llvm/dist/lib/Analysis/ConstantFolding.cpp vendor/llvm/dist/lib/Analysis/DIBuilder.cpp vendor/llvm/dist/lib/Analysis/DebugInfo.cpp vendor/llvm/dist/lib/Analysis/DominanceFrontier.cpp vendor/llvm/dist/lib/Analysis/IPA/CMakeLists.txt vendor/llvm/dist/lib/Analysis/IPA/CallGraph.cpp vendor/llvm/dist/lib/Analysis/IPA/GlobalsModRef.cpp vendor/llvm/dist/lib/Analysis/IVUsers.cpp vendor/llvm/dist/lib/Analysis/InlineCost.cpp vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp vendor/llvm/dist/lib/Analysis/LazyValueInfo.cpp vendor/llvm/dist/lib/Analysis/Lint.cpp vendor/llvm/dist/lib/Analysis/Loads.cpp vendor/llvm/dist/lib/Analysis/LoopDependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/LoopInfo.cpp vendor/llvm/dist/lib/Analysis/LoopPass.cpp vendor/llvm/dist/lib/Analysis/MemDepPrinter.cpp vendor/llvm/dist/lib/Analysis/MemoryBuiltins.cpp vendor/llvm/dist/lib/Analysis/MemoryDependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/PHITransAddr.cpp vendor/llvm/dist/lib/Analysis/PathNumbering.cpp vendor/llvm/dist/lib/Analysis/PathProfileVerifier.cpp vendor/llvm/dist/lib/Analysis/ProfileEstimatorPass.cpp vendor/llvm/dist/lib/Analysis/ProfileInfoLoaderPass.cpp vendor/llvm/dist/lib/Analysis/ProfileVerifierPass.cpp vendor/llvm/dist/lib/Analysis/RegionInfo.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolutionExpander.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolutionNormalization.cpp vendor/llvm/dist/lib/Analysis/SparsePropagation.cpp vendor/llvm/dist/lib/Analysis/Trace.cpp vendor/llvm/dist/lib/Analysis/ValueTracking.cpp vendor/llvm/dist/lib/Archive/ArchiveReader.cpp vendor/llvm/dist/lib/Archive/ArchiveWriter.cpp vendor/llvm/dist/lib/Archive/CMakeLists.txt vendor/llvm/dist/lib/AsmParser/CMakeLists.txt vendor/llvm/dist/lib/AsmParser/LLLexer.cpp vendor/llvm/dist/lib/AsmParser/LLLexer.h vendor/llvm/dist/lib/AsmParser/LLParser.cpp vendor/llvm/dist/lib/AsmParser/LLParser.h vendor/llvm/dist/lib/AsmParser/LLToken.h vendor/llvm/dist/lib/AsmParser/Parser.cpp vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.h vendor/llvm/dist/lib/Bitcode/Reader/CMakeLists.txt vendor/llvm/dist/lib/Bitcode/Writer/BitcodeWriter.cpp vendor/llvm/dist/lib/Bitcode/Writer/CMakeLists.txt vendor/llvm/dist/lib/Bitcode/Writer/ValueEnumerator.cpp vendor/llvm/dist/lib/Bitcode/Writer/ValueEnumerator.h vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/AllocationOrder.cpp vendor/llvm/dist/lib/CodeGen/AllocationOrder.h vendor/llvm/dist/lib/CodeGen/Analysis.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/ARMException.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/CMakeLists.txt vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfException.cpp vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp vendor/llvm/dist/lib/CodeGen/CMakeLists.txt vendor/llvm/dist/lib/CodeGen/CallingConvLower.cpp vendor/llvm/dist/lib/CodeGen/CodeGen.cpp vendor/llvm/dist/lib/CodeGen/CodePlacementOpt.cpp vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.h vendor/llvm/dist/lib/CodeGen/DeadMachineInstructionElim.cpp vendor/llvm/dist/lib/CodeGen/DwarfEHPrepare.cpp vendor/llvm/dist/lib/CodeGen/EdgeBundles.cpp vendor/llvm/dist/lib/CodeGen/ExecutionDepsFix.cpp vendor/llvm/dist/lib/CodeGen/ExpandISelPseudos.cpp vendor/llvm/dist/lib/CodeGen/ExpandPostRAPseudos.cpp vendor/llvm/dist/lib/CodeGen/GCMetadata.cpp vendor/llvm/dist/lib/CodeGen/GCStrategy.cpp vendor/llvm/dist/lib/CodeGen/IfConversion.cpp vendor/llvm/dist/lib/CodeGen/InlineSpiller.cpp vendor/llvm/dist/lib/CodeGen/InterferenceCache.cpp vendor/llvm/dist/lib/CodeGen/InterferenceCache.h vendor/llvm/dist/lib/CodeGen/IntrinsicLowering.cpp vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp vendor/llvm/dist/lib/CodeGen/LatencyPriorityQueue.cpp vendor/llvm/dist/lib/CodeGen/LexicalScopes.cpp vendor/llvm/dist/lib/CodeGen/LiveDebugVariables.cpp vendor/llvm/dist/lib/CodeGen/LiveInterval.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalUnion.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalUnion.h vendor/llvm/dist/lib/CodeGen/LiveRangeCalc.cpp vendor/llvm/dist/lib/CodeGen/LiveRangeEdit.cpp vendor/llvm/dist/lib/CodeGen/LiveVariables.cpp vendor/llvm/dist/lib/CodeGen/LocalStackSlotAllocation.cpp vendor/llvm/dist/lib/CodeGen/MachineBasicBlock.cpp vendor/llvm/dist/lib/CodeGen/MachineBlockFrequencyInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineBranchProbabilityInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineCSE.cpp vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp vendor/llvm/dist/lib/CodeGen/MachineFunctionAnalysis.cpp vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp vendor/llvm/dist/lib/CodeGen/MachineModuleInfo.cpp vendor/llvm/dist/lib/CodeGen/MachinePassRegistry.cpp vendor/llvm/dist/lib/CodeGen/MachineRegisterInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineSSAUpdater.cpp vendor/llvm/dist/lib/CodeGen/MachineSink.cpp vendor/llvm/dist/lib/CodeGen/MachineVerifier.cpp vendor/llvm/dist/lib/CodeGen/OptimizePHIs.cpp vendor/llvm/dist/lib/CodeGen/PHIElimination.cpp vendor/llvm/dist/lib/CodeGen/Passes.cpp vendor/llvm/dist/lib/CodeGen/PeepholeOptimizer.cpp vendor/llvm/dist/lib/CodeGen/PostRASchedulerList.cpp vendor/llvm/dist/lib/CodeGen/ProcessImplicitDefs.cpp vendor/llvm/dist/lib/CodeGen/PrologEpilogInserter.cpp vendor/llvm/dist/lib/CodeGen/PrologEpilogInserter.h vendor/llvm/dist/lib/CodeGen/PseudoSourceValue.cpp vendor/llvm/dist/lib/CodeGen/RegAllocBase.h vendor/llvm/dist/lib/CodeGen/RegAllocBasic.cpp vendor/llvm/dist/lib/CodeGen/RegAllocFast.cpp vendor/llvm/dist/lib/CodeGen/RegAllocGreedy.cpp vendor/llvm/dist/lib/CodeGen/RegAllocPBQP.cpp vendor/llvm/dist/lib/CodeGen/RegisterClassInfo.cpp vendor/llvm/dist/lib/CodeGen/RegisterClassInfo.h vendor/llvm/dist/lib/CodeGen/RegisterCoalescer.cpp vendor/llvm/dist/lib/CodeGen/RegisterCoalescer.h vendor/llvm/dist/lib/CodeGen/RegisterScavenging.cpp vendor/llvm/dist/lib/CodeGen/RenderMachineFunction.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAG.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGPrinter.cpp vendor/llvm/dist/lib/CodeGen/ScoreboardHazardRecognizer.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/CMakeLists.txt vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/FastISel.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypes.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp vendor/llvm/dist/lib/CodeGen/ShadowStackGC.cpp vendor/llvm/dist/lib/CodeGen/ShrinkWrapping.cpp vendor/llvm/dist/lib/CodeGen/SjLjEHPrepare.cpp vendor/llvm/dist/lib/CodeGen/SlotIndexes.cpp vendor/llvm/dist/lib/CodeGen/Spiller.cpp vendor/llvm/dist/lib/CodeGen/Spiller.h vendor/llvm/dist/lib/CodeGen/SplitKit.cpp vendor/llvm/dist/lib/CodeGen/SplitKit.h vendor/llvm/dist/lib/CodeGen/StackProtector.cpp vendor/llvm/dist/lib/CodeGen/StackSlotColoring.cpp vendor/llvm/dist/lib/CodeGen/StrongPHIElimination.cpp vendor/llvm/dist/lib/CodeGen/TailDuplication.cpp vendor/llvm/dist/lib/CodeGen/TargetInstrInfoImpl.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp vendor/llvm/dist/lib/CodeGen/TwoAddressInstructionPass.cpp vendor/llvm/dist/lib/CodeGen/VirtRegMap.cpp vendor/llvm/dist/lib/CodeGen/VirtRegMap.h vendor/llvm/dist/lib/DebugInfo/CMakeLists.txt vendor/llvm/dist/lib/DebugInfo/DWARFContext.cpp vendor/llvm/dist/lib/DebugInfo/DWARFContext.h vendor/llvm/dist/lib/DebugInfo/DWARFDebugAbbrev.cpp vendor/llvm/dist/lib/DebugInfo/DWARFDebugAbbrev.h vendor/llvm/dist/lib/DebugInfo/DWARFDebugArangeSet.cpp vendor/llvm/dist/lib/DebugInfo/DWARFDebugAranges.cpp vendor/llvm/dist/lib/DebugInfo/DWARFDebugInfoEntry.cpp vendor/llvm/dist/lib/DebugInfo/DWARFDebugInfoEntry.h vendor/llvm/dist/lib/DebugInfo/DWARFDebugLine.cpp vendor/llvm/dist/lib/DebugInfo/DWARFFormValue.cpp vendor/llvm/dist/lib/ExecutionEngine/CMakeLists.txt vendor/llvm/dist/lib/ExecutionEngine/ExecutionEngine.cpp vendor/llvm/dist/lib/ExecutionEngine/ExecutionEngineBindings.cpp vendor/llvm/dist/lib/ExecutionEngine/Interpreter/CMakeLists.txt vendor/llvm/dist/lib/ExecutionEngine/Interpreter/Execution.cpp vendor/llvm/dist/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp vendor/llvm/dist/lib/ExecutionEngine/Interpreter/Interpreter.h vendor/llvm/dist/lib/ExecutionEngine/JIT/CMakeLists.txt vendor/llvm/dist/lib/ExecutionEngine/JIT/JIT.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/JIT.h vendor/llvm/dist/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/JITEmitter.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/JITMemoryManager.cpp vendor/llvm/dist/lib/ExecutionEngine/MCJIT/CMakeLists.txt vendor/llvm/dist/lib/ExecutionEngine/MCJIT/MCJIT.cpp vendor/llvm/dist/lib/ExecutionEngine/MCJIT/MCJIT.h vendor/llvm/dist/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h vendor/llvm/dist/lib/ExecutionEngine/Makefile vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp vendor/llvm/dist/lib/ExecutionEngine/TargetSelect.cpp vendor/llvm/dist/lib/Linker/CMakeLists.txt vendor/llvm/dist/lib/Linker/LinkArchives.cpp vendor/llvm/dist/lib/Linker/LinkModules.cpp vendor/llvm/dist/lib/Linker/Linker.cpp vendor/llvm/dist/lib/MC/CMakeLists.txt vendor/llvm/dist/lib/MC/ELFObjectWriter.cpp vendor/llvm/dist/lib/MC/MCAsmBackend.cpp vendor/llvm/dist/lib/MC/MCAsmInfo.cpp vendor/llvm/dist/lib/MC/MCAsmInfoCOFF.cpp vendor/llvm/dist/lib/MC/MCAsmInfoDarwin.cpp vendor/llvm/dist/lib/MC/MCAsmStreamer.cpp vendor/llvm/dist/lib/MC/MCAssembler.cpp vendor/llvm/dist/lib/MC/MCCodeGenInfo.cpp vendor/llvm/dist/lib/MC/MCContext.cpp vendor/llvm/dist/lib/MC/MCDisassembler/CMakeLists.txt vendor/llvm/dist/lib/MC/MCDisassembler/Disassembler.cpp vendor/llvm/dist/lib/MC/MCDisassembler/Disassembler.h vendor/llvm/dist/lib/MC/MCDisassembler/EDDisassembler.cpp vendor/llvm/dist/lib/MC/MCDisassembler/EDDisassembler.h vendor/llvm/dist/lib/MC/MCDisassembler/EDOperand.cpp vendor/llvm/dist/lib/MC/MCDwarf.cpp vendor/llvm/dist/lib/MC/MCELF.cpp vendor/llvm/dist/lib/MC/MCELFObjectTargetWriter.cpp vendor/llvm/dist/lib/MC/MCELFStreamer.cpp vendor/llvm/dist/lib/MC/MCExpr.cpp vendor/llvm/dist/lib/MC/MCInst.cpp vendor/llvm/dist/lib/MC/MCInstPrinter.cpp vendor/llvm/dist/lib/MC/MCMachOStreamer.cpp vendor/llvm/dist/lib/MC/MCModule.cpp vendor/llvm/dist/lib/MC/MCNullStreamer.cpp vendor/llvm/dist/lib/MC/MCObjectFileInfo.cpp vendor/llvm/dist/lib/MC/MCObjectStreamer.cpp vendor/llvm/dist/lib/MC/MCObjectWriter.cpp vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/CMakeLists.txt vendor/llvm/dist/lib/MC/MCParser/COFFAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/ELFAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/MCAsmLexer.cpp vendor/llvm/dist/lib/MC/MCParser/MCAsmParser.cpp vendor/llvm/dist/lib/MC/MCPureStreamer.cpp vendor/llvm/dist/lib/MC/MCStreamer.cpp vendor/llvm/dist/lib/MC/MCSymbol.cpp vendor/llvm/dist/lib/MC/MachObjectWriter.cpp vendor/llvm/dist/lib/MC/SubtargetFeature.cpp vendor/llvm/dist/lib/MC/WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/MC/WinCOFFStreamer.cpp vendor/llvm/dist/lib/Object/Archive.cpp vendor/llvm/dist/lib/Object/CMakeLists.txt vendor/llvm/dist/lib/Object/COFFObjectFile.cpp vendor/llvm/dist/lib/Object/ELFObjectFile.cpp vendor/llvm/dist/lib/Object/MachOObject.cpp vendor/llvm/dist/lib/Object/MachOObjectFile.cpp vendor/llvm/dist/lib/Object/Object.cpp vendor/llvm/dist/lib/Object/ObjectFile.cpp vendor/llvm/dist/lib/Support/APFloat.cpp vendor/llvm/dist/lib/Support/APInt.cpp vendor/llvm/dist/lib/Support/Allocator.cpp vendor/llvm/dist/lib/Support/Atomic.cpp vendor/llvm/dist/lib/Support/BlockFrequency.cpp vendor/llvm/dist/lib/Support/BranchProbability.cpp vendor/llvm/dist/lib/Support/CMakeLists.txt vendor/llvm/dist/lib/Support/CommandLine.cpp vendor/llvm/dist/lib/Support/ConstantRange.cpp vendor/llvm/dist/lib/Support/CrashRecoveryContext.cpp vendor/llvm/dist/lib/Support/DAGDeltaAlgorithm.cpp vendor/llvm/dist/lib/Support/DataExtractor.cpp vendor/llvm/dist/lib/Support/Dwarf.cpp vendor/llvm/dist/lib/Support/FileUtilities.cpp vendor/llvm/dist/lib/Support/FoldingSet.cpp vendor/llvm/dist/lib/Support/GraphWriter.cpp vendor/llvm/dist/lib/Support/Host.cpp vendor/llvm/dist/lib/Support/ManagedStatic.cpp vendor/llvm/dist/lib/Support/MemoryBuffer.cpp vendor/llvm/dist/lib/Support/Mutex.cpp vendor/llvm/dist/lib/Support/Path.cpp vendor/llvm/dist/lib/Support/PathV2.cpp vendor/llvm/dist/lib/Support/Program.cpp vendor/llvm/dist/lib/Support/RWMutex.cpp vendor/llvm/dist/lib/Support/SmallPtrSet.cpp vendor/llvm/dist/lib/Support/SourceMgr.cpp vendor/llvm/dist/lib/Support/Statistic.cpp vendor/llvm/dist/lib/Support/StringExtras.cpp vendor/llvm/dist/lib/Support/StringMap.cpp vendor/llvm/dist/lib/Support/StringRef.cpp vendor/llvm/dist/lib/Support/TargetRegistry.cpp vendor/llvm/dist/lib/Support/ThreadLocal.cpp vendor/llvm/dist/lib/Support/Threading.cpp vendor/llvm/dist/lib/Support/Timer.cpp vendor/llvm/dist/lib/Support/Triple.cpp vendor/llvm/dist/lib/Support/Unix/Host.inc vendor/llvm/dist/lib/Support/Unix/Path.inc vendor/llvm/dist/lib/Support/Unix/PathV2.inc vendor/llvm/dist/lib/Support/Unix/Process.inc vendor/llvm/dist/lib/Support/Unix/Program.inc vendor/llvm/dist/lib/Support/Unix/Signals.inc vendor/llvm/dist/lib/Support/Valgrind.cpp vendor/llvm/dist/lib/Support/Windows/Host.inc vendor/llvm/dist/lib/Support/Windows/Path.inc vendor/llvm/dist/lib/Support/Windows/PathV2.inc vendor/llvm/dist/lib/Support/Windows/Process.inc vendor/llvm/dist/lib/Support/Windows/Program.inc vendor/llvm/dist/lib/Support/Windows/Signals.inc vendor/llvm/dist/lib/Support/Windows/Windows.h vendor/llvm/dist/lib/Support/raw_ostream.cpp vendor/llvm/dist/lib/TableGen/CMakeLists.txt vendor/llvm/dist/lib/TableGen/Error.cpp vendor/llvm/dist/lib/TableGen/Record.cpp vendor/llvm/dist/lib/TableGen/TGLexer.cpp vendor/llvm/dist/lib/TableGen/TGLexer.h vendor/llvm/dist/lib/TableGen/TGParser.cpp vendor/llvm/dist/lib/TableGen/TGParser.h vendor/llvm/dist/lib/TableGen/TableGenBackend.cpp vendor/llvm/dist/lib/Target/ARM/ARM.h vendor/llvm/dist/lib/Target/ARM/ARM.td vendor/llvm/dist/lib/Target/ARM/ARMAsmPrinter.cpp vendor/llvm/dist/lib/Target/ARM/ARMAsmPrinter.h vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.h vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.h vendor/llvm/dist/lib/Target/ARM/ARMBuildAttrs.h vendor/llvm/dist/lib/Target/ARM/ARMCallingConv.h vendor/llvm/dist/lib/Target/ARM/ARMCallingConv.td vendor/llvm/dist/lib/Target/ARM/ARMCodeEmitter.cpp vendor/llvm/dist/lib/Target/ARM/ARMConstantIslandPass.cpp vendor/llvm/dist/lib/Target/ARM/ARMConstantPoolValue.cpp vendor/llvm/dist/lib/Target/ARM/ARMConstantPoolValue.h vendor/llvm/dist/lib/Target/ARM/ARMELFWriterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMELFWriterInfo.h vendor/llvm/dist/lib/Target/ARM/ARMExpandPseudoInsts.cpp vendor/llvm/dist/lib/Target/ARM/ARMFastISel.cpp vendor/llvm/dist/lib/Target/ARM/ARMFrameLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMFrameLowering.h vendor/llvm/dist/lib/Target/ARM/ARMHazardRecognizer.cpp vendor/llvm/dist/lib/Target/ARM/ARMHazardRecognizer.h vendor/llvm/dist/lib/Target/ARM/ARMISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.h vendor/llvm/dist/lib/Target/ARM/ARMInstrFormats.td vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.h vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td vendor/llvm/dist/lib/Target/ARM/ARMInstrNEON.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td vendor/llvm/dist/lib/Target/ARM/ARMJITInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMJITInfo.h vendor/llvm/dist/lib/Target/ARM/ARMLoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/ARM/ARMMCInstLower.cpp vendor/llvm/dist/lib/Target/ARM/ARMMachineFunctionInfo.h vendor/llvm/dist/lib/Target/ARM/ARMPerfectShuffle.h vendor/llvm/dist/lib/Target/ARM/ARMRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMRegisterInfo.h vendor/llvm/dist/lib/Target/ARM/ARMRegisterInfo.td vendor/llvm/dist/lib/Target/ARM/ARMRelocations.h vendor/llvm/dist/lib/Target/ARM/ARMSchedule.td vendor/llvm/dist/lib/Target/ARM/ARMScheduleA8.td vendor/llvm/dist/lib/Target/ARM/ARMScheduleA9.td vendor/llvm/dist/lib/Target/ARM/ARMScheduleV6.td vendor/llvm/dist/lib/Target/ARM/ARMSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.h vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.h vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.h vendor/llvm/dist/lib/Target/ARM/AsmParser/ARMAsmLexer.cpp vendor/llvm/dist/lib/Target/ARM/AsmParser/ARMAsmParser.cpp vendor/llvm/dist/lib/Target/ARM/AsmParser/CMakeLists.txt vendor/llvm/dist/lib/Target/ARM/CMakeLists.txt vendor/llvm/dist/lib/Target/ARM/Disassembler/ARMDisassembler.cpp vendor/llvm/dist/lib/Target/ARM/Disassembler/CMakeLists.txt vendor/llvm/dist/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp vendor/llvm/dist/lib/Target/ARM/InstPrinter/ARMInstPrinter.h vendor/llvm/dist/lib/Target/ARM/InstPrinter/CMakeLists.txt vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/ARM/MLxExpansionPass.cpp vendor/llvm/dist/lib/Target/ARM/README.txt vendor/llvm/dist/lib/Target/ARM/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/ARM/Thumb1FrameLowering.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.h vendor/llvm/dist/lib/Target/ARM/Thumb1RegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1RegisterInfo.h vendor/llvm/dist/lib/Target/ARM/Thumb2ITBlockPass.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.h vendor/llvm/dist/lib/Target/ARM/Thumb2RegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2RegisterInfo.h vendor/llvm/dist/lib/Target/ARM/Thumb2SizeReduction.cpp vendor/llvm/dist/lib/Target/CMakeLists.txt vendor/llvm/dist/lib/Target/CellSPU/CMakeLists.txt vendor/llvm/dist/lib/Target/CellSPU/CellSDKIntrinsics.td vendor/llvm/dist/lib/Target/CellSPU/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/CellSPU/MCTargetDesc/SPUMCAsmInfo.cpp vendor/llvm/dist/lib/Target/CellSPU/MCTargetDesc/SPUMCAsmInfo.h vendor/llvm/dist/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp vendor/llvm/dist/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.h vendor/llvm/dist/lib/Target/CellSPU/SPU.h vendor/llvm/dist/lib/Target/CellSPU/SPU.td vendor/llvm/dist/lib/Target/CellSPU/SPU128InstrInfo.td vendor/llvm/dist/lib/Target/CellSPU/SPU64InstrInfo.td vendor/llvm/dist/lib/Target/CellSPU/SPUAsmPrinter.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUCallingConv.td vendor/llvm/dist/lib/Target/CellSPU/SPUFrameLowering.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUFrameLowering.h vendor/llvm/dist/lib/Target/CellSPU/SPUISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUISelLowering.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUISelLowering.h vendor/llvm/dist/lib/Target/CellSPU/SPUInstrBuilder.h vendor/llvm/dist/lib/Target/CellSPU/SPUInstrFormats.td vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.h vendor/llvm/dist/lib/Target/CellSPU/SPUMachineFunction.h vendor/llvm/dist/lib/Target/CellSPU/SPUMathInstr.td vendor/llvm/dist/lib/Target/CellSPU/SPUNodes.td vendor/llvm/dist/lib/Target/CellSPU/SPUNopFiller.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUOperands.td vendor/llvm/dist/lib/Target/CellSPU/SPURegisterInfo.cpp vendor/llvm/dist/lib/Target/CellSPU/SPURegisterInfo.h vendor/llvm/dist/lib/Target/CellSPU/SPURegisterInfo.td vendor/llvm/dist/lib/Target/CellSPU/SPUSchedule.td vendor/llvm/dist/lib/Target/CellSPU/SPUSubtarget.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUTargetMachine.cpp vendor/llvm/dist/lib/Target/CellSPU/SPUTargetMachine.h vendor/llvm/dist/lib/Target/CellSPU/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/CppBackend/CMakeLists.txt vendor/llvm/dist/lib/Target/CppBackend/CPPBackend.cpp vendor/llvm/dist/lib/Target/CppBackend/CPPTargetMachine.h vendor/llvm/dist/lib/Target/CppBackend/Makefile vendor/llvm/dist/lib/Target/CppBackend/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/MBlaze/AsmParser/CMakeLists.txt vendor/llvm/dist/lib/Target/MBlaze/AsmParser/MBlazeAsmLexer.cpp vendor/llvm/dist/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp vendor/llvm/dist/lib/Target/MBlaze/CMakeLists.txt vendor/llvm/dist/lib/Target/MBlaze/Disassembler/CMakeLists.txt vendor/llvm/dist/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp vendor/llvm/dist/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.h vendor/llvm/dist/lib/Target/MBlaze/InstPrinter/CMakeLists.txt vendor/llvm/dist/lib/Target/MBlaze/InstPrinter/MBlazeInstPrinter.h vendor/llvm/dist/lib/Target/MBlaze/MBlaze.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeAsmPrinter.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeELFWriterInfo.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeELFWriterInfo.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeFrameLowering.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeFrameLowering.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeISelLowering.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeISelLowering.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeInstrFPU.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeInstrFSL.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeInstrFormats.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeInstrInfo.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeInstrInfo.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeInstrInfo.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeIntrinsicInfo.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeIntrinsics.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeMCInstLower.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeMCInstLower.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeMachineFunction.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeRegisterInfo.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeRegisterInfo.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeRegisterInfo.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeRelocations.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeSchedule.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeSchedule3.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeSchedule5.td vendor/llvm/dist/lib/Target/MBlaze/MBlazeSubtarget.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeSubtarget.h vendor/llvm/dist/lib/Target/MBlaze/MBlazeTargetMachine.cpp vendor/llvm/dist/lib/Target/MBlaze/MBlazeTargetMachine.h vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/MBlazeAsmBackend.cpp vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/MBlazeBaseInfo.h vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/MBlazeMCAsmInfo.cpp vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/MBlazeMCAsmInfo.h vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/MBlazeMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.cpp vendor/llvm/dist/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.h vendor/llvm/dist/lib/Target/MBlaze/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/MSP430/CMakeLists.txt vendor/llvm/dist/lib/Target/MSP430/InstPrinter/CMakeLists.txt vendor/llvm/dist/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.cpp vendor/llvm/dist/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.h vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.h vendor/llvm/dist/lib/Target/MSP430/MSP430.td vendor/llvm/dist/lib/Target/MSP430/MSP430AsmPrinter.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430BranchSelector.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430FrameLowering.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.h vendor/llvm/dist/lib/Target/MSP430/MSP430InstrFormats.td vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.h vendor/llvm/dist/lib/Target/MSP430/MSP430InstrInfo.td vendor/llvm/dist/lib/Target/MSP430/MSP430MCInstLower.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430MCInstLower.h vendor/llvm/dist/lib/Target/MSP430/MSP430MachineFunctionInfo.h vendor/llvm/dist/lib/Target/MSP430/MSP430RegisterInfo.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430RegisterInfo.h vendor/llvm/dist/lib/Target/MSP430/MSP430RegisterInfo.td vendor/llvm/dist/lib/Target/MSP430/MSP430Subtarget.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430Subtarget.h vendor/llvm/dist/lib/Target/MSP430/MSP430TargetMachine.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430TargetMachine.h vendor/llvm/dist/lib/Target/MSP430/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/Mangler.cpp vendor/llvm/dist/lib/Target/Mips/CMakeLists.txt vendor/llvm/dist/lib/Target/Mips/InstPrinter/CMakeLists.txt vendor/llvm/dist/lib/Target/Mips/InstPrinter/Makefile vendor/llvm/dist/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp vendor/llvm/dist/lib/Target/Mips/InstPrinter/MipsInstPrinter.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h vendor/llvm/dist/lib/Target/Mips/Makefile vendor/llvm/dist/lib/Target/Mips/Mips.h vendor/llvm/dist/lib/Target/Mips/Mips.td vendor/llvm/dist/lib/Target/Mips/Mips64InstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsAsmPrinter.cpp vendor/llvm/dist/lib/Target/Mips/MipsAsmPrinter.h vendor/llvm/dist/lib/Target/Mips/MipsCallingConv.td vendor/llvm/dist/lib/Target/Mips/MipsCodeEmitter.cpp vendor/llvm/dist/lib/Target/Mips/MipsDelaySlotFiller.cpp vendor/llvm/dist/lib/Target/Mips/MipsEmitGPRestore.cpp vendor/llvm/dist/lib/Target/Mips/MipsExpandPseudo.cpp vendor/llvm/dist/lib/Target/Mips/MipsFrameLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsFrameLowering.h vendor/llvm/dist/lib/Target/Mips/MipsISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.h vendor/llvm/dist/lib/Target/Mips/MipsInstrFPU.td vendor/llvm/dist/lib/Target/Mips/MipsInstrFormats.td vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.h vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsJITInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsJITInfo.h vendor/llvm/dist/lib/Target/Mips/MipsMCInstLower.cpp vendor/llvm/dist/lib/Target/Mips/MipsMCInstLower.h vendor/llvm/dist/lib/Target/Mips/MipsMachineFunction.h vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.h vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.td vendor/llvm/dist/lib/Target/Mips/MipsRelocations.h vendor/llvm/dist/lib/Target/Mips/MipsSchedule.td vendor/llvm/dist/lib/Target/Mips/MipsSubtarget.cpp vendor/llvm/dist/lib/Target/Mips/MipsSubtarget.h vendor/llvm/dist/lib/Target/Mips/MipsTargetMachine.cpp vendor/llvm/dist/lib/Target/Mips/MipsTargetMachine.h vendor/llvm/dist/lib/Target/Mips/MipsTargetObjectFile.cpp vendor/llvm/dist/lib/Target/Mips/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/PTX/CMakeLists.txt vendor/llvm/dist/lib/Target/PTX/InstPrinter/CMakeLists.txt vendor/llvm/dist/lib/Target/PTX/InstPrinter/PTXInstPrinter.cpp vendor/llvm/dist/lib/Target/PTX/InstPrinter/PTXInstPrinter.h vendor/llvm/dist/lib/Target/PTX/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/PTX/MCTargetDesc/PTXBaseInfo.h vendor/llvm/dist/lib/Target/PTX/MCTargetDesc/PTXMCAsmInfo.cpp vendor/llvm/dist/lib/Target/PTX/MCTargetDesc/PTXMCAsmInfo.h vendor/llvm/dist/lib/Target/PTX/MCTargetDesc/PTXMCTargetDesc.cpp vendor/llvm/dist/lib/Target/PTX/MCTargetDesc/PTXMCTargetDesc.h vendor/llvm/dist/lib/Target/PTX/PTX.h vendor/llvm/dist/lib/Target/PTX/PTX.td vendor/llvm/dist/lib/Target/PTX/PTXAsmPrinter.cpp vendor/llvm/dist/lib/Target/PTX/PTXAsmPrinter.h vendor/llvm/dist/lib/Target/PTX/PTXFPRoundingModePass.cpp vendor/llvm/dist/lib/Target/PTX/PTXFrameLowering.cpp vendor/llvm/dist/lib/Target/PTX/PTXFrameLowering.h vendor/llvm/dist/lib/Target/PTX/PTXISelLowering.cpp vendor/llvm/dist/lib/Target/PTX/PTXISelLowering.h vendor/llvm/dist/lib/Target/PTX/PTXInstrFormats.td vendor/llvm/dist/lib/Target/PTX/PTXInstrInfo.cpp vendor/llvm/dist/lib/Target/PTX/PTXInstrInfo.h vendor/llvm/dist/lib/Target/PTX/PTXInstrInfo.td vendor/llvm/dist/lib/Target/PTX/PTXInstrLoadStore.td vendor/llvm/dist/lib/Target/PTX/PTXIntrinsicInstrInfo.td vendor/llvm/dist/lib/Target/PTX/PTXMCAsmStreamer.cpp vendor/llvm/dist/lib/Target/PTX/PTXMFInfoExtract.cpp vendor/llvm/dist/lib/Target/PTX/PTXMachineFunctionInfo.h vendor/llvm/dist/lib/Target/PTX/PTXParamManager.cpp vendor/llvm/dist/lib/Target/PTX/PTXParamManager.h vendor/llvm/dist/lib/Target/PTX/PTXRegAlloc.cpp vendor/llvm/dist/lib/Target/PTX/PTXRegisterInfo.cpp vendor/llvm/dist/lib/Target/PTX/PTXRegisterInfo.h vendor/llvm/dist/lib/Target/PTX/PTXRegisterInfo.td vendor/llvm/dist/lib/Target/PTX/PTXSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/PTX/PTXSubtarget.cpp vendor/llvm/dist/lib/Target/PTX/PTXSubtarget.h vendor/llvm/dist/lib/Target/PTX/PTXTargetMachine.cpp vendor/llvm/dist/lib/Target/PTX/PTXTargetMachine.h vendor/llvm/dist/lib/Target/PTX/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/PowerPC/CMakeLists.txt vendor/llvm/dist/lib/Target/PowerPC/InstPrinter/CMakeLists.txt vendor/llvm/dist/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCBaseInfo.h vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h vendor/llvm/dist/lib/Target/PowerPC/PPC.h vendor/llvm/dist/lib/Target/PowerPC/PPC.td vendor/llvm/dist/lib/Target/PowerPC/PPCAsmPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCBranchSelector.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCCallingConv.td vendor/llvm/dist/lib/Target/PowerPC/PPCCodeEmitter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCFrameLowering.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCFrameLowering.h vendor/llvm/dist/lib/Target/PowerPC/PPCHazardRecognizers.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCHazardRecognizers.h vendor/llvm/dist/lib/Target/PowerPC/PPCISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.h vendor/llvm/dist/lib/Target/PowerPC/PPCInstr64Bit.td vendor/llvm/dist/lib/Target/PowerPC/PPCInstrAltivec.td vendor/llvm/dist/lib/Target/PowerPC/PPCInstrFormats.td vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.td vendor/llvm/dist/lib/Target/PowerPC/PPCJITInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCJITInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCMCInstLower.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCMachineFunctionInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCPerfectShuffle.h vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.td vendor/llvm/dist/lib/Target/PowerPC/PPCRelocations.h vendor/llvm/dist/lib/Target/PowerPC/PPCSchedule.td vendor/llvm/dist/lib/Target/PowerPC/PPCScheduleG3.td vendor/llvm/dist/lib/Target/PowerPC/PPCScheduleG4.td vendor/llvm/dist/lib/Target/PowerPC/PPCScheduleG4Plus.td vendor/llvm/dist/lib/Target/PowerPC/PPCScheduleG5.td vendor/llvm/dist/lib/Target/PowerPC/PPCSubtarget.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCSubtarget.h vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.h vendor/llvm/dist/lib/Target/PowerPC/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/README.txt vendor/llvm/dist/lib/Target/Sparc/CMakeLists.txt vendor/llvm/dist/lib/Target/Sparc/DelaySlotFiller.cpp vendor/llvm/dist/lib/Target/Sparc/FPMover.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h vendor/llvm/dist/lib/Target/Sparc/Sparc.h vendor/llvm/dist/lib/Target/Sparc/Sparc.td vendor/llvm/dist/lib/Target/Sparc/SparcAsmPrinter.cpp vendor/llvm/dist/lib/Target/Sparc/SparcCallingConv.td vendor/llvm/dist/lib/Target/Sparc/SparcFrameLowering.cpp vendor/llvm/dist/lib/Target/Sparc/SparcFrameLowering.h vendor/llvm/dist/lib/Target/Sparc/SparcISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Sparc/SparcISelLowering.cpp vendor/llvm/dist/lib/Target/Sparc/SparcISelLowering.h vendor/llvm/dist/lib/Target/Sparc/SparcInstrFormats.td vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.cpp vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.h vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.td vendor/llvm/dist/lib/Target/Sparc/SparcMachineFunctionInfo.h vendor/llvm/dist/lib/Target/Sparc/SparcRegisterInfo.cpp vendor/llvm/dist/lib/Target/Sparc/SparcRegisterInfo.h vendor/llvm/dist/lib/Target/Sparc/SparcRegisterInfo.td vendor/llvm/dist/lib/Target/Sparc/SparcSubtarget.cpp vendor/llvm/dist/lib/Target/Sparc/SparcSubtarget.h vendor/llvm/dist/lib/Target/Sparc/SparcTargetMachine.cpp vendor/llvm/dist/lib/Target/Sparc/SparcTargetMachine.h vendor/llvm/dist/lib/Target/Sparc/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/TargetData.cpp vendor/llvm/dist/lib/Target/TargetInstrInfo.cpp vendor/llvm/dist/lib/Target/TargetLibraryInfo.cpp vendor/llvm/dist/lib/Target/TargetLoweringObjectFile.cpp vendor/llvm/dist/lib/Target/TargetMachine.cpp vendor/llvm/dist/lib/Target/TargetRegisterInfo.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmLexer.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParser.cpp vendor/llvm/dist/lib/Target/X86/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/Disassembler/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/Disassembler/X86Disassembler.cpp vendor/llvm/dist/lib/Target/X86/Disassembler/X86Disassembler.h vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h vendor/llvm/dist/lib/Target/X86/InstPrinter/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp vendor/llvm/dist/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h vendor/llvm/dist/lib/Target/X86/InstPrinter/X86InstComments.cpp vendor/llvm/dist/lib/Target/X86/InstPrinter/X86InstComments.h vendor/llvm/dist/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp vendor/llvm/dist/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h vendor/llvm/dist/lib/Target/X86/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86BaseInfo.h vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86FixupKinds.h vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h vendor/llvm/dist/lib/Target/X86/README-SSE.txt vendor/llvm/dist/lib/Target/X86/README.txt vendor/llvm/dist/lib/Target/X86/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/Utils/CMakeLists.txt vendor/llvm/dist/lib/Target/X86/Utils/X86ShuffleDecode.cpp vendor/llvm/dist/lib/Target/X86/Utils/X86ShuffleDecode.h vendor/llvm/dist/lib/Target/X86/X86.h vendor/llvm/dist/lib/Target/X86/X86.td vendor/llvm/dist/lib/Target/X86/X86AsmPrinter.cpp vendor/llvm/dist/lib/Target/X86/X86AsmPrinter.h vendor/llvm/dist/lib/Target/X86/X86COFFMachineModuleInfo.cpp vendor/llvm/dist/lib/Target/X86/X86COFFMachineModuleInfo.h vendor/llvm/dist/lib/Target/X86/X86CallingConv.td vendor/llvm/dist/lib/Target/X86/X86CodeEmitter.cpp vendor/llvm/dist/lib/Target/X86/X86ELFWriterInfo.cpp vendor/llvm/dist/lib/Target/X86/X86FastISel.cpp vendor/llvm/dist/lib/Target/X86/X86FloatingPoint.cpp vendor/llvm/dist/lib/Target/X86/X86FrameLowering.cpp vendor/llvm/dist/lib/Target/X86/X86FrameLowering.h vendor/llvm/dist/lib/Target/X86/X86ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h vendor/llvm/dist/lib/Target/X86/X86Instr3DNow.td vendor/llvm/dist/lib/Target/X86/X86InstrArithmetic.td vendor/llvm/dist/lib/Target/X86/X86InstrBuilder.h vendor/llvm/dist/lib/Target/X86/X86InstrCMovSetCC.td vendor/llvm/dist/lib/Target/X86/X86InstrCompiler.td vendor/llvm/dist/lib/Target/X86/X86InstrControl.td vendor/llvm/dist/lib/Target/X86/X86InstrExtension.td vendor/llvm/dist/lib/Target/X86/X86InstrFMA.td vendor/llvm/dist/lib/Target/X86/X86InstrFPStack.td vendor/llvm/dist/lib/Target/X86/X86InstrFormats.td vendor/llvm/dist/lib/Target/X86/X86InstrFragmentsSIMD.td vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp vendor/llvm/dist/lib/Target/X86/X86InstrInfo.h vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td vendor/llvm/dist/lib/Target/X86/X86InstrMMX.td vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td vendor/llvm/dist/lib/Target/X86/X86InstrShiftRotate.td vendor/llvm/dist/lib/Target/X86/X86InstrSystem.td vendor/llvm/dist/lib/Target/X86/X86InstrVMX.td vendor/llvm/dist/lib/Target/X86/X86JITInfo.cpp vendor/llvm/dist/lib/Target/X86/X86JITInfo.h vendor/llvm/dist/lib/Target/X86/X86MCInstLower.cpp vendor/llvm/dist/lib/Target/X86/X86MCInstLower.h vendor/llvm/dist/lib/Target/X86/X86MachineFunctionInfo.h vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.h vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.td vendor/llvm/dist/lib/Target/X86/X86Relocations.h vendor/llvm/dist/lib/Target/X86/X86SelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/X86/X86Subtarget.cpp vendor/llvm/dist/lib/Target/X86/X86Subtarget.h vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp vendor/llvm/dist/lib/Target/X86/X86TargetMachine.h vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.cpp vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.h vendor/llvm/dist/lib/Target/X86/X86VZeroUpper.cpp vendor/llvm/dist/lib/Target/XCore/CMakeLists.txt vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h vendor/llvm/dist/lib/Target/XCore/TargetInfo/CMakeLists.txt vendor/llvm/dist/lib/Target/XCore/XCore.h vendor/llvm/dist/lib/Target/XCore/XCore.td vendor/llvm/dist/lib/Target/XCore/XCoreFrameLowering.cpp vendor/llvm/dist/lib/Target/XCore/XCoreFrameLowering.h vendor/llvm/dist/lib/Target/XCore/XCoreISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.cpp vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.h vendor/llvm/dist/lib/Target/XCore/XCoreInstrFormats.td vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.cpp vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.h vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.td vendor/llvm/dist/lib/Target/XCore/XCoreMachineFunctionInfo.h vendor/llvm/dist/lib/Target/XCore/XCoreRegisterInfo.cpp vendor/llvm/dist/lib/Target/XCore/XCoreRegisterInfo.h vendor/llvm/dist/lib/Target/XCore/XCoreRegisterInfo.td vendor/llvm/dist/lib/Target/XCore/XCoreSubtarget.cpp vendor/llvm/dist/lib/Target/XCore/XCoreSubtarget.h vendor/llvm/dist/lib/Target/XCore/XCoreTargetMachine.cpp vendor/llvm/dist/lib/Target/XCore/XCoreTargetMachine.h vendor/llvm/dist/lib/Target/XCore/XCoreTargetObjectFile.h vendor/llvm/dist/lib/Transforms/CMakeLists.txt vendor/llvm/dist/lib/Transforms/IPO/CMakeLists.txt vendor/llvm/dist/lib/Transforms/IPO/ConstantMerge.cpp vendor/llvm/dist/lib/Transforms/IPO/DeadArgumentElimination.cpp vendor/llvm/dist/lib/Transforms/IPO/FunctionAttrs.cpp vendor/llvm/dist/lib/Transforms/IPO/GlobalOpt.cpp vendor/llvm/dist/lib/Transforms/IPO/InlineAlways.cpp vendor/llvm/dist/lib/Transforms/IPO/InlineSimple.cpp vendor/llvm/dist/lib/Transforms/IPO/Inliner.cpp vendor/llvm/dist/lib/Transforms/IPO/Internalize.cpp vendor/llvm/dist/lib/Transforms/IPO/PassManagerBuilder.cpp vendor/llvm/dist/lib/Transforms/IPO/PruneEH.cpp vendor/llvm/dist/lib/Transforms/InstCombine/CMakeLists.txt vendor/llvm/dist/lib/Transforms/InstCombine/InstCombine.h vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAddSub.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCasts.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCompares.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSelect.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineShifts.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineVectorOps.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineWorklist.h vendor/llvm/dist/lib/Transforms/InstCombine/InstructionCombining.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/CMakeLists.txt vendor/llvm/dist/lib/Transforms/Instrumentation/GCOVProfiling.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/Instrumentation.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/PathProfiling.cpp vendor/llvm/dist/lib/Transforms/Makefile vendor/llvm/dist/lib/Transforms/Scalar/CMakeLists.txt vendor/llvm/dist/lib/Transforms/Scalar/CodeGenPrepare.cpp vendor/llvm/dist/lib/Transforms/Scalar/ConstantProp.cpp vendor/llvm/dist/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp vendor/llvm/dist/lib/Transforms/Scalar/DeadStoreElimination.cpp vendor/llvm/dist/lib/Transforms/Scalar/EarlyCSE.cpp vendor/llvm/dist/lib/Transforms/Scalar/GVN.cpp vendor/llvm/dist/lib/Transforms/Scalar/IndVarSimplify.cpp vendor/llvm/dist/lib/Transforms/Scalar/JumpThreading.cpp vendor/llvm/dist/lib/Transforms/Scalar/LICM.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopInstSimplify.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopRotation.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopStrengthReduce.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnrollPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnswitch.cpp vendor/llvm/dist/lib/Transforms/Scalar/MemCpyOptimizer.cpp vendor/llvm/dist/lib/Transforms/Scalar/ObjCARC.cpp vendor/llvm/dist/lib/Transforms/Scalar/Reassociate.cpp vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp vendor/llvm/dist/lib/Transforms/Scalar/Scalar.cpp vendor/llvm/dist/lib/Transforms/Scalar/ScalarReplAggregates.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp vendor/llvm/dist/lib/Transforms/Scalar/Sink.cpp vendor/llvm/dist/lib/Transforms/Utils/AddrModeMatcher.cpp vendor/llvm/dist/lib/Transforms/Utils/BasicBlockUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/BreakCriticalEdges.cpp vendor/llvm/dist/lib/Transforms/Utils/BuildLibCalls.cpp vendor/llvm/dist/lib/Transforms/Utils/CMakeLists.txt vendor/llvm/dist/lib/Transforms/Utils/CloneFunction.cpp vendor/llvm/dist/lib/Transforms/Utils/CodeExtractor.cpp vendor/llvm/dist/lib/Transforms/Utils/DemoteRegToStack.cpp vendor/llvm/dist/lib/Transforms/Utils/InlineFunction.cpp vendor/llvm/dist/lib/Transforms/Utils/Local.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopSimplify.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUnroll.cpp vendor/llvm/dist/lib/Transforms/Utils/LowerExpectIntrinsic.cpp vendor/llvm/dist/lib/Transforms/Utils/LowerInvoke.cpp vendor/llvm/dist/lib/Transforms/Utils/LowerSwitch.cpp vendor/llvm/dist/lib/Transforms/Utils/PromoteMemoryToRegister.cpp vendor/llvm/dist/lib/Transforms/Utils/SSAUpdater.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyIndVar.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyInstructions.cpp vendor/llvm/dist/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp vendor/llvm/dist/lib/VMCore/AsmWriter.cpp vendor/llvm/dist/lib/VMCore/Attributes.cpp vendor/llvm/dist/lib/VMCore/AutoUpgrade.cpp vendor/llvm/dist/lib/VMCore/BasicBlock.cpp vendor/llvm/dist/lib/VMCore/CMakeLists.txt vendor/llvm/dist/lib/VMCore/ConstantFold.cpp vendor/llvm/dist/lib/VMCore/Constants.cpp vendor/llvm/dist/lib/VMCore/ConstantsContext.h vendor/llvm/dist/lib/VMCore/Core.cpp vendor/llvm/dist/lib/VMCore/DebugLoc.cpp vendor/llvm/dist/lib/VMCore/Dominators.cpp vendor/llvm/dist/lib/VMCore/Function.cpp vendor/llvm/dist/lib/VMCore/GCOV.cpp vendor/llvm/dist/lib/VMCore/IRBuilder.cpp vendor/llvm/dist/lib/VMCore/Instruction.cpp vendor/llvm/dist/lib/VMCore/Instructions.cpp vendor/llvm/dist/lib/VMCore/LLVMContext.cpp vendor/llvm/dist/lib/VMCore/LLVMContextImpl.cpp vendor/llvm/dist/lib/VMCore/LLVMContextImpl.h vendor/llvm/dist/lib/VMCore/Metadata.cpp vendor/llvm/dist/lib/VMCore/Module.cpp vendor/llvm/dist/lib/VMCore/Pass.cpp vendor/llvm/dist/lib/VMCore/PassManager.cpp vendor/llvm/dist/lib/VMCore/Type.cpp vendor/llvm/dist/lib/VMCore/Use.cpp vendor/llvm/dist/lib/VMCore/User.cpp vendor/llvm/dist/lib/VMCore/Value.cpp vendor/llvm/dist/lib/VMCore/ValueTypes.cpp vendor/llvm/dist/lib/VMCore/Verifier.cpp vendor/llvm/dist/llvm.spec.in vendor/llvm/dist/projects/sample/Makefile.common.in vendor/llvm/dist/projects/sample/autoconf/AutoRegen.sh vendor/llvm/dist/projects/sample/autoconf/configure.ac vendor/llvm/dist/projects/sample/configure vendor/llvm/dist/runtime/libprofile/CommonProfiling.c vendor/llvm/dist/runtime/libprofile/GCDAProfiling.c vendor/llvm/dist/runtime/libprofile/PathProfiling.c vendor/llvm/dist/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll vendor/llvm/dist/test/Analysis/BasicAA/constant-over-index.ll vendor/llvm/dist/test/Analysis/BasicAA/phi-and-select.ll vendor/llvm/dist/test/Analysis/ScalarEvolution/2008-02-12-SMAXTripCount.ll vendor/llvm/dist/test/Analysis/ScalarEvolution/avoid-smax-1.ll vendor/llvm/dist/test/Analysis/ScalarEvolution/nsw-offset.ll vendor/llvm/dist/test/Analysis/ScalarEvolution/nsw.ll vendor/llvm/dist/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll vendor/llvm/dist/test/Assembler/aggregate-constant-values.ll vendor/llvm/dist/test/Assembler/bcwrap.ll vendor/llvm/dist/test/Assembler/extractvalue-invalid-idx.ll vendor/llvm/dist/test/Assembler/getelementptr_struct.ll vendor/llvm/dist/test/Assembler/huge-array.ll vendor/llvm/dist/test/Assembler/insertextractvalue.ll vendor/llvm/dist/test/Assembler/insertvalue-invalid-idx.ll vendor/llvm/dist/test/Assembler/invalid_cast.ll vendor/llvm/dist/test/Assembler/invalid_cast2.ll vendor/llvm/dist/test/Assembler/metadata.ll vendor/llvm/dist/test/Assembler/vbool-cmp.ll vendor/llvm/dist/test/Assembler/vector-cmp.ll vendor/llvm/dist/test/Assembler/vector-select.ll vendor/llvm/dist/test/Assembler/vector-shift.ll vendor/llvm/dist/test/Bitcode/null-type.ll vendor/llvm/dist/test/Bitcode/ssse3_palignr.ll vendor/llvm/dist/test/CMakeLists.txt vendor/llvm/dist/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll vendor/llvm/dist/test/CodeGen/ARM/2008-03-07-RegScavengerAssert.ll vendor/llvm/dist/test/CodeGen/ARM/2009-08-31-LSDA-Name.ll vendor/llvm/dist/test/CodeGen/ARM/2009-09-09-fpcmp-ole.ll vendor/llvm/dist/test/CodeGen/ARM/2009-09-24-spill-align.ll vendor/llvm/dist/test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-18-PostIndexBug.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-20-NEONSpillCrash.ll vendor/llvm/dist/test/CodeGen/ARM/2010-05-21-BuildVector.ll vendor/llvm/dist/test/CodeGen/ARM/2010-06-29-PartialRedefFastAlloc.ll vendor/llvm/dist/test/CodeGen/ARM/2010-07-26-GlobalMerge.ll vendor/llvm/dist/test/CodeGen/ARM/2010-08-04-EHCrash.ll vendor/llvm/dist/test/CodeGen/ARM/2010-11-15-SpillEarlyClobber.ll vendor/llvm/dist/test/CodeGen/ARM/2010-11-29-PrologueBug.ll vendor/llvm/dist/test/CodeGen/ARM/2010-12-07-PEIBug.ll vendor/llvm/dist/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll vendor/llvm/dist/test/CodeGen/ARM/2011-03-15-LdStMultipleBug.ll vendor/llvm/dist/test/CodeGen/ARM/2011-05-04-MultipleLandingPadSuccs.ll vendor/llvm/dist/test/CodeGen/ARM/2011-06-16-TailCallByVal.ll vendor/llvm/dist/test/CodeGen/ARM/2011-06-29-MergeGlobalsAlign.ll vendor/llvm/dist/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll vendor/llvm/dist/test/CodeGen/ARM/2011-08-25-ldmia_ret.ll vendor/llvm/dist/test/CodeGen/ARM/arm-returnaddr.ll vendor/llvm/dist/test/CodeGen/ARM/atomic-op.ll vendor/llvm/dist/test/CodeGen/ARM/avoid-cpsr-rmw.ll vendor/llvm/dist/test/CodeGen/ARM/call-tc.ll vendor/llvm/dist/test/CodeGen/ARM/call.ll vendor/llvm/dist/test/CodeGen/ARM/clz.ll vendor/llvm/dist/test/CodeGen/ARM/code-placement.ll vendor/llvm/dist/test/CodeGen/ARM/cse-libcalls.ll vendor/llvm/dist/test/CodeGen/ARM/ctz.ll vendor/llvm/dist/test/CodeGen/ARM/debug-info-arg.ll vendor/llvm/dist/test/CodeGen/ARM/debug-info-blocks.ll vendor/llvm/dist/test/CodeGen/ARM/debug-info-d16-reg.ll vendor/llvm/dist/test/CodeGen/ARM/debug-info-qreg.ll vendor/llvm/dist/test/CodeGen/ARM/debug-info-s16-reg.ll vendor/llvm/dist/test/CodeGen/ARM/debug-info-sreg2.ll vendor/llvm/dist/test/CodeGen/ARM/eh-resume-darwin.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel-redefinition.ll vendor/llvm/dist/test/CodeGen/ARM/fast-isel.ll vendor/llvm/dist/test/CodeGen/ARM/fcopysign.ll vendor/llvm/dist/test/CodeGen/ARM/fold-const.ll vendor/llvm/dist/test/CodeGen/ARM/fp.ll vendor/llvm/dist/test/CodeGen/ARM/fpcmp-opt.ll vendor/llvm/dist/test/CodeGen/ARM/fpcmp_ueq.ll vendor/llvm/dist/test/CodeGen/ARM/fpmem.ll vendor/llvm/dist/test/CodeGen/ARM/global-merge.ll vendor/llvm/dist/test/CodeGen/ARM/globals.ll vendor/llvm/dist/test/CodeGen/ARM/hello.ll vendor/llvm/dist/test/CodeGen/ARM/ifcvt1.ll vendor/llvm/dist/test/CodeGen/ARM/ifcvt10.ll vendor/llvm/dist/test/CodeGen/ARM/ifcvt11.ll vendor/llvm/dist/test/CodeGen/ARM/ifcvt3.ll vendor/llvm/dist/test/CodeGen/ARM/ifcvt5.ll vendor/llvm/dist/test/CodeGen/ARM/ifcvt6.ll vendor/llvm/dist/test/CodeGen/ARM/inlineasm3.ll vendor/llvm/dist/test/CodeGen/ARM/insn-sched1.ll vendor/llvm/dist/test/CodeGen/ARM/ldrd.ll vendor/llvm/dist/test/CodeGen/ARM/long_shift.ll vendor/llvm/dist/test/CodeGen/ARM/lsr-unfolded-offset.ll vendor/llvm/dist/test/CodeGen/ARM/machine-cse-cmp.ll vendor/llvm/dist/test/CodeGen/ARM/memcpy-inline.ll vendor/llvm/dist/test/CodeGen/ARM/memfunc.ll vendor/llvm/dist/test/CodeGen/ARM/mul_const.ll vendor/llvm/dist/test/CodeGen/ARM/neon_ld1.ll vendor/llvm/dist/test/CodeGen/ARM/neon_ld2.ll vendor/llvm/dist/test/CodeGen/ARM/peephole-bitcast.ll vendor/llvm/dist/test/CodeGen/ARM/reg_sequence.ll vendor/llvm/dist/test/CodeGen/ARM/rev.ll vendor/llvm/dist/test/CodeGen/ARM/select-imm.ll vendor/llvm/dist/test/CodeGen/ARM/select.ll vendor/llvm/dist/test/CodeGen/ARM/select_xform.ll vendor/llvm/dist/test/CodeGen/ARM/shifter_operand.ll vendor/llvm/dist/test/CodeGen/ARM/spill-q.ll vendor/llvm/dist/test/CodeGen/ARM/str_pre-2.ll vendor/llvm/dist/test/CodeGen/ARM/subreg-remat.ll vendor/llvm/dist/test/CodeGen/ARM/vbsl-constant.ll vendor/llvm/dist/test/CodeGen/ARM/vdiv_combine.ll vendor/llvm/dist/test/CodeGen/ARM/vdup.ll vendor/llvm/dist/test/CodeGen/ARM/vector-DAGCombine.ll vendor/llvm/dist/test/CodeGen/ARM/vext.ll vendor/llvm/dist/test/CodeGen/ARM/vlddup.ll vendor/llvm/dist/test/CodeGen/ARM/vldlane.ll vendor/llvm/dist/test/CodeGen/ARM/vmov.ll vendor/llvm/dist/test/CodeGen/ARM/vmul.ll vendor/llvm/dist/test/CodeGen/ARM/vrev.ll vendor/llvm/dist/test/CodeGen/ARM/vst2.ll vendor/llvm/dist/test/CodeGen/ARM/vstlane.ll vendor/llvm/dist/test/CodeGen/ARM/widen-vmovs.ll vendor/llvm/dist/test/CodeGen/CellSPU/and_ops.ll vendor/llvm/dist/test/CodeGen/CellSPU/call.ll vendor/llvm/dist/test/CodeGen/CellSPU/nand.ll vendor/llvm/dist/test/CodeGen/CellSPU/or_ops.ll vendor/llvm/dist/test/CodeGen/CellSPU/rotate_ops.ll vendor/llvm/dist/test/CodeGen/CellSPU/select_bits.ll vendor/llvm/dist/test/CodeGen/CellSPU/shift_ops.ll vendor/llvm/dist/test/CodeGen/CellSPU/shuffles.ll vendor/llvm/dist/test/CodeGen/CellSPU/struct_1.ll vendor/llvm/dist/test/CodeGen/CellSPU/v2i32.ll vendor/llvm/dist/test/CodeGen/Generic/2007-12-31-UnusedSelector.ll vendor/llvm/dist/test/CodeGen/Generic/2008-02-04-Ctlz.ll vendor/llvm/dist/test/CodeGen/Generic/2009-11-16-BadKillsCrash.ll vendor/llvm/dist/test/CodeGen/Generic/llvm-ct-intrinsics.ll vendor/llvm/dist/test/CodeGen/Generic/select.ll vendor/llvm/dist/test/CodeGen/MBlaze/cc.ll vendor/llvm/dist/test/CodeGen/MBlaze/div.ll vendor/llvm/dist/test/CodeGen/MSP430/2009-05-10-CyclicDAG.ll vendor/llvm/dist/test/CodeGen/MSP430/2009-08-25-DynamicStackAlloc.ll vendor/llvm/dist/test/CodeGen/MSP430/2009-09-18-AbsoluteAddr.ll vendor/llvm/dist/test/CodeGen/MSP430/2009-10-10-OrImpDef.ll vendor/llvm/dist/test/CodeGen/MSP430/AddrMode-bis-rx.ll vendor/llvm/dist/test/CodeGen/MSP430/AddrMode-bis-xr.ll vendor/llvm/dist/test/CodeGen/MSP430/AddrMode-mov-rx.ll vendor/llvm/dist/test/CodeGen/MSP430/AddrMode-mov-xr.ll vendor/llvm/dist/test/CodeGen/MSP430/Inst16mm.ll vendor/llvm/dist/test/CodeGen/MSP430/indirectbr2.ll vendor/llvm/dist/test/CodeGen/Mips/2008-06-05-Carry.ll vendor/llvm/dist/test/CodeGen/Mips/2008-07-03-SRet.ll vendor/llvm/dist/test/CodeGen/Mips/2008-07-07-Float2Int.ll vendor/llvm/dist/test/CodeGen/Mips/2008-07-16-SignExtInReg.ll vendor/llvm/dist/test/CodeGen/Mips/2008-07-22-Cstpool.ll vendor/llvm/dist/test/CodeGen/Mips/2008-08-01-AsmInline.ll vendor/llvm/dist/test/CodeGen/Mips/2008-08-04-Bitconvert.ll vendor/llvm/dist/test/CodeGen/Mips/2008-08-06-Alloca.ll vendor/llvm/dist/test/CodeGen/Mips/2008-08-08-ctlz.ll vendor/llvm/dist/test/CodeGen/Mips/2008-11-10-xint_to_fp.ll vendor/llvm/dist/test/CodeGen/Mips/2009-11-16-CstPoolLoad.ll vendor/llvm/dist/test/CodeGen/Mips/2010-07-20-Switch.ll vendor/llvm/dist/test/CodeGen/Mips/2010-11-09-CountLeading.ll vendor/llvm/dist/test/CodeGen/Mips/blockaddr.ll vendor/llvm/dist/test/CodeGen/Mips/cmov.ll vendor/llvm/dist/test/CodeGen/Mips/cprestore.ll vendor/llvm/dist/test/CodeGen/Mips/eh.ll vendor/llvm/dist/test/CodeGen/Mips/extins.ll vendor/llvm/dist/test/CodeGen/Mips/fcopysign.ll vendor/llvm/dist/test/CodeGen/Mips/i64arg.ll vendor/llvm/dist/test/CodeGen/Mips/inlineasmmemop.ll vendor/llvm/dist/test/CodeGen/Mips/largeimmprinting.ll vendor/llvm/dist/test/CodeGen/Mips/mips64fpldst.ll vendor/llvm/dist/test/CodeGen/Mips/mips64instrs.ll vendor/llvm/dist/test/CodeGen/Mips/mips64intldst.ll vendor/llvm/dist/test/CodeGen/Mips/mips64shift.ll vendor/llvm/dist/test/CodeGen/Mips/mipslopat.ll vendor/llvm/dist/test/CodeGen/Mips/o32_cc_byval.ll vendor/llvm/dist/test/CodeGen/Mips/private.ll vendor/llvm/dist/test/CodeGen/Mips/rotate.ll vendor/llvm/dist/test/CodeGen/Mips/tls.ll vendor/llvm/dist/test/CodeGen/Mips/unalignedload.ll vendor/llvm/dist/test/CodeGen/PTX/cvt.ll vendor/llvm/dist/test/CodeGen/PTX/ld.ll vendor/llvm/dist/test/CodeGen/PTX/mad-disabling.ll vendor/llvm/dist/test/CodeGen/PTX/mov.ll vendor/llvm/dist/test/CodeGen/PTX/parameter-order.ll vendor/llvm/dist/test/CodeGen/PTX/st.ll vendor/llvm/dist/test/CodeGen/PowerPC/2007-03-24-cntlzd.ll vendor/llvm/dist/test/CodeGen/PowerPC/2008-03-05-RegScavengerAssert.ll vendor/llvm/dist/test/CodeGen/PowerPC/2008-03-17-RegScavengerCrash.ll vendor/llvm/dist/test/CodeGen/PowerPC/2008-03-18-RegScavengerAssert.ll vendor/llvm/dist/test/CodeGen/PowerPC/2008-04-23-CoalescerCrash.ll vendor/llvm/dist/test/CodeGen/PowerPC/2010-02-12-saveCR.ll vendor/llvm/dist/test/CodeGen/PowerPC/Frames-alloca.ll vendor/llvm/dist/test/CodeGen/PowerPC/Frames-large.ll vendor/llvm/dist/test/CodeGen/PowerPC/LargeAbsoluteAddr.ll vendor/llvm/dist/test/CodeGen/PowerPC/big-endian-formal-args.ll vendor/llvm/dist/test/CodeGen/PowerPC/cttz.ll vendor/llvm/dist/test/CodeGen/PowerPC/indirectbr.ll vendor/llvm/dist/test/CodeGen/Thumb/2011-05-11-DAGLegalizer.ll vendor/llvm/dist/test/CodeGen/Thumb/large-stack.ll vendor/llvm/dist/test/CodeGen/Thumb/vargs.ll vendor/llvm/dist/test/CodeGen/Thumb2/2009-07-21-ISelBug.ll vendor/llvm/dist/test/CodeGen/Thumb2/2009-12-01-LoopIVUsers.ll vendor/llvm/dist/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll vendor/llvm/dist/test/CodeGen/Thumb2/2010-06-14-NEONCoalescer.ll vendor/llvm/dist/test/CodeGen/Thumb2/2010-11-22-EpilogueBug.ll vendor/llvm/dist/test/CodeGen/Thumb2/crash.ll vendor/llvm/dist/test/CodeGen/Thumb2/ldr-str-imm12.ll vendor/llvm/dist/test/CodeGen/Thumb2/lsr-deficiency.ll vendor/llvm/dist/test/CodeGen/Thumb2/machine-licm.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-cbnz.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-clz.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-ifcvt2.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-ldm.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-ldrd.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-mls.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-mul.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-select_xform.ll vendor/llvm/dist/test/CodeGen/X86/2006-05-11-InstrSched.ll vendor/llvm/dist/test/CodeGen/X86/2007-01-08-InstrSched.ll vendor/llvm/dist/test/CodeGen/X86/2007-05-05-Personality.ll vendor/llvm/dist/test/CodeGen/X86/2007-11-06-InstrSched.ll vendor/llvm/dist/test/CodeGen/X86/2007-12-18-LoadCSEBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-05-21-CoalescerBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-06-13-NotVolatileLoadStore.ll vendor/llvm/dist/test/CodeGen/X86/2008-06-13-VolatileLoadStore.ll vendor/llvm/dist/test/CodeGen/X86/2008-08-25-AsmRegTypeMismatch.ll vendor/llvm/dist/test/CodeGen/X86/2008-09-05-sinttofp-2xi32.ll vendor/llvm/dist/test/CodeGen/X86/2008-09-18-inline-asm-2.ll vendor/llvm/dist/test/CodeGen/X86/2008-09-29-VolatileBug.ll vendor/llvm/dist/test/CodeGen/X86/2008-12-19-EarlyClobberBug.ll vendor/llvm/dist/test/CodeGen/X86/2009-01-31-BigShift2.ll vendor/llvm/dist/test/CodeGen/X86/2009-03-23-MultiUseSched.ll vendor/llvm/dist/test/CodeGen/X86/2009-04-21-NoReloadImpDef.ll vendor/llvm/dist/test/CodeGen/X86/2009-05-11-tailmerge-crash.ll vendor/llvm/dist/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll vendor/llvm/dist/test/CodeGen/X86/2009-06-05-VZextByteShort.ll vendor/llvm/dist/test/CodeGen/X86/2009-06-07-ExpandMMXBitcast.ll vendor/llvm/dist/test/CodeGen/X86/2009-08-23-SubRegReuseUndo.ll vendor/llvm/dist/test/CodeGen/X86/2010-02-19-TailCallRetAddrBug.ll vendor/llvm/dist/test/CodeGen/X86/2010-04-23-mmx-movdq2q.ll vendor/llvm/dist/test/CodeGen/X86/2010-04-30-LocalAlloc-LandingPad.ll vendor/llvm/dist/test/CodeGen/X86/2010-05-03-CoalescerSubRegClobber.ll vendor/llvm/dist/test/CodeGen/X86/2010-08-04-MingWCrash.ll vendor/llvm/dist/test/CodeGen/X86/2010-08-10-DbgConstant.ll vendor/llvm/dist/test/CodeGen/X86/2011-01-24-DbgValue-Before-Use.ll vendor/llvm/dist/test/CodeGen/X86/2011-08-29-InitOrder.ll vendor/llvm/dist/test/CodeGen/X86/abi-isel.ll vendor/llvm/dist/test/CodeGen/X86/add.ll vendor/llvm/dist/test/CodeGen/X86/apm.ll vendor/llvm/dist/test/CodeGen/X86/avx-arith.ll vendor/llvm/dist/test/CodeGen/X86/avx-basic.ll vendor/llvm/dist/test/CodeGen/X86/avx-cast.ll vendor/llvm/dist/test/CodeGen/X86/avx-cvt.ll vendor/llvm/dist/test/CodeGen/X86/avx-intrinsics-x86.ll vendor/llvm/dist/test/CodeGen/X86/avx-load-store.ll vendor/llvm/dist/test/CodeGen/X86/avx-logic.ll vendor/llvm/dist/test/CodeGen/X86/avx-minmax.ll vendor/llvm/dist/test/CodeGen/X86/avx-shift.ll vendor/llvm/dist/test/CodeGen/X86/avx-shuffle.ll vendor/llvm/dist/test/CodeGen/X86/avx-splat.ll vendor/llvm/dist/test/CodeGen/X86/avx-unpack.ll vendor/llvm/dist/test/CodeGen/X86/avx-vbroadcast.ll vendor/llvm/dist/test/CodeGen/X86/avx-vextractf128.ll vendor/llvm/dist/test/CodeGen/X86/avx-vinsertf128.ll vendor/llvm/dist/test/CodeGen/X86/avx-vperm2f128.ll vendor/llvm/dist/test/CodeGen/X86/avx-vpermil.ll vendor/llvm/dist/test/CodeGen/X86/avx-vshufp.ll vendor/llvm/dist/test/CodeGen/X86/avx-vzeroupper.ll vendor/llvm/dist/test/CodeGen/X86/bc-extract.ll vendor/llvm/dist/test/CodeGen/X86/bmi.ll vendor/llvm/dist/test/CodeGen/X86/brcond.ll vendor/llvm/dist/test/CodeGen/X86/byval6.ll vendor/llvm/dist/test/CodeGen/X86/change-compare-stride-1.ll vendor/llvm/dist/test/CodeGen/X86/clz.ll vendor/llvm/dist/test/CodeGen/X86/cmov.ll vendor/llvm/dist/test/CodeGen/X86/cmpxchg16b.ll vendor/llvm/dist/test/CodeGen/X86/coalescer-commute1.ll vendor/llvm/dist/test/CodeGen/X86/crash.ll vendor/llvm/dist/test/CodeGen/X86/dbg-file-name.ll vendor/llvm/dist/test/CodeGen/X86/dbg-merge-loc-entry.ll vendor/llvm/dist/test/CodeGen/X86/dbg-value-inlined-parameter.ll vendor/llvm/dist/test/CodeGen/X86/dbg-value-location.ll vendor/llvm/dist/test/CodeGen/X86/divide-by-constant.ll vendor/llvm/dist/test/CodeGen/X86/empty-functions.ll vendor/llvm/dist/test/CodeGen/X86/epilogue.ll vendor/llvm/dist/test/CodeGen/X86/fast-cc-merge-stack-adj.ll vendor/llvm/dist/test/CodeGen/X86/fast-isel-bc.ll vendor/llvm/dist/test/CodeGen/X86/fast-isel-gep.ll vendor/llvm/dist/test/CodeGen/X86/fast-isel-x86-64.ll vendor/llvm/dist/test/CodeGen/X86/fast-isel-x86.ll vendor/llvm/dist/test/CodeGen/X86/fast-isel.ll vendor/llvm/dist/test/CodeGen/X86/fltused.ll vendor/llvm/dist/test/CodeGen/X86/fold-and-shift.ll vendor/llvm/dist/test/CodeGen/X86/fold-load.ll vendor/llvm/dist/test/CodeGen/X86/fold-pcmpeqd-0.ll vendor/llvm/dist/test/CodeGen/X86/fold-pcmpeqd-2.ll vendor/llvm/dist/test/CodeGen/X86/fp-stack-O0.ll vendor/llvm/dist/test/CodeGen/X86/fp-stack-ret-conv.ll vendor/llvm/dist/test/CodeGen/X86/haddsub.ll vendor/llvm/dist/test/CodeGen/X86/inline-asm-fpstack.ll vendor/llvm/dist/test/CodeGen/X86/inline-asm-q-regs.ll vendor/llvm/dist/test/CodeGen/X86/inline-asm-tied.ll vendor/llvm/dist/test/CodeGen/X86/jump_sign.ll vendor/llvm/dist/test/CodeGen/X86/loop-strength-reduce5.ll vendor/llvm/dist/test/CodeGen/X86/lsr-loop-exit-cond.ll vendor/llvm/dist/test/CodeGen/X86/lsr-nonaffine.ll vendor/llvm/dist/test/CodeGen/X86/lsr-reuse.ll vendor/llvm/dist/test/CodeGen/X86/lsr-sort.ll vendor/llvm/dist/test/CodeGen/X86/lzcnt.ll vendor/llvm/dist/test/CodeGen/X86/machine-cse.ll vendor/llvm/dist/test/CodeGen/X86/masked-iv-safe.ll vendor/llvm/dist/test/CodeGen/X86/memcpy.ll vendor/llvm/dist/test/CodeGen/X86/mmx-builtins.ll vendor/llvm/dist/test/CodeGen/X86/mmx-pinsrw.ll vendor/llvm/dist/test/CodeGen/X86/movmsk.ll vendor/llvm/dist/test/CodeGen/X86/multiple-loop-post-inc.ll vendor/llvm/dist/test/CodeGen/X86/nancvt.ll vendor/llvm/dist/test/CodeGen/X86/narrow-shl-load.ll vendor/llvm/dist/test/CodeGen/X86/negate-add-zero.ll vendor/llvm/dist/test/CodeGen/X86/no-cfi.ll vendor/llvm/dist/test/CodeGen/X86/nontemporal.ll vendor/llvm/dist/test/CodeGen/X86/object-size.ll vendor/llvm/dist/test/CodeGen/X86/optimize-max-3.ll vendor/llvm/dist/test/CodeGen/X86/overlap-shift.ll vendor/llvm/dist/test/CodeGen/X86/peep-test-3.ll vendor/llvm/dist/test/CodeGen/X86/peep-vector-extract-insert.ll vendor/llvm/dist/test/CodeGen/X86/pic.ll vendor/llvm/dist/test/CodeGen/X86/pr1505b.ll vendor/llvm/dist/test/CodeGen/X86/pr2182.ll vendor/llvm/dist/test/CodeGen/X86/prefetch.ll vendor/llvm/dist/test/CodeGen/X86/red-zone.ll vendor/llvm/dist/test/CodeGen/X86/red-zone2.ll vendor/llvm/dist/test/CodeGen/X86/reghinting.ll vendor/llvm/dist/test/CodeGen/X86/remat-scalar-zero.ll vendor/llvm/dist/test/CodeGen/X86/scalar_widen_div.ll vendor/llvm/dist/test/CodeGen/X86/segmented-stacks.ll vendor/llvm/dist/test/CodeGen/X86/sext-subreg.ll vendor/llvm/dist/test/CodeGen/X86/shift-and.ll vendor/llvm/dist/test/CodeGen/X86/shift-combine.ll vendor/llvm/dist/test/CodeGen/X86/shift-folding.ll vendor/llvm/dist/test/CodeGen/X86/sibcall-5.ll vendor/llvm/dist/test/CodeGen/X86/splat-scalar-load.ll vendor/llvm/dist/test/CodeGen/X86/sse-align-3.ll vendor/llvm/dist/test/CodeGen/X86/sse-minmax.ll vendor/llvm/dist/test/CodeGen/X86/sse2-blend.ll vendor/llvm/dist/test/CodeGen/X86/sse2.ll vendor/llvm/dist/test/CodeGen/X86/sse3.ll vendor/llvm/dist/test/CodeGen/X86/sse41.ll vendor/llvm/dist/test/CodeGen/X86/stack-align.ll vendor/llvm/dist/test/CodeGen/X86/store-empty-member.ll vendor/llvm/dist/test/CodeGen/X86/store_op_load_fold2.ll vendor/llvm/dist/test/CodeGen/X86/stride-reuse.ll vendor/llvm/dist/test/CodeGen/X86/sub-with-overflow.ll vendor/llvm/dist/test/CodeGen/X86/tail-dup-addr.ll vendor/llvm/dist/test/CodeGen/X86/tail-opts.ll vendor/llvm/dist/test/CodeGen/X86/tailcallbyval64.ll vendor/llvm/dist/test/CodeGen/X86/tailcallstack64.ll vendor/llvm/dist/test/CodeGen/X86/twoaddr-lea.ll vendor/llvm/dist/test/CodeGen/X86/uint64-to-float.ll vendor/llvm/dist/test/CodeGen/X86/unreachable-stack-protector.ll vendor/llvm/dist/test/CodeGen/X86/v-binop-widen.ll vendor/llvm/dist/test/CodeGen/X86/vec_call.ll vendor/llvm/dist/test/CodeGen/X86/vec_compare-2.ll vendor/llvm/dist/test/CodeGen/X86/vec_ctbits.ll vendor/llvm/dist/test/CodeGen/X86/vec_extract-sse4.ll vendor/llvm/dist/test/CodeGen/X86/vec_return.ll vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-20.ll vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-23.ll vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-24.ll vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-37.ll vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-38.ll vendor/llvm/dist/test/CodeGen/X86/vec_shuffle.ll vendor/llvm/dist/test/CodeGen/X86/vec_zero.ll vendor/llvm/dist/test/CodeGen/X86/vec_zero_cse.ll vendor/llvm/dist/test/CodeGen/X86/volatile.ll vendor/llvm/dist/test/CodeGen/X86/vsplit-and.ll vendor/llvm/dist/test/CodeGen/X86/widen_arith-1.ll vendor/llvm/dist/test/CodeGen/X86/widen_arith-2.ll vendor/llvm/dist/test/CodeGen/X86/widen_arith-3.ll vendor/llvm/dist/test/CodeGen/X86/widen_cast-1.ll vendor/llvm/dist/test/CodeGen/X86/widen_cast-4.ll vendor/llvm/dist/test/CodeGen/X86/widen_conv-1.ll vendor/llvm/dist/test/CodeGen/X86/widen_conv-4.ll vendor/llvm/dist/test/CodeGen/X86/widen_load-0.ll vendor/llvm/dist/test/CodeGen/X86/widen_load-1.ll vendor/llvm/dist/test/CodeGen/X86/widen_load-2.ll vendor/llvm/dist/test/CodeGen/X86/widen_shuffle-1.ll vendor/llvm/dist/test/CodeGen/X86/win64_alloca_dynalloca.ll vendor/llvm/dist/test/CodeGen/X86/win64_vararg.ll vendor/llvm/dist/test/CodeGen/X86/x86-shifts.ll vendor/llvm/dist/test/CodeGen/X86/xor.ll vendor/llvm/dist/test/CodeGen/X86/zero-remat.ll vendor/llvm/dist/test/CodeGen/X86/zext-fold.ll vendor/llvm/dist/test/CodeGen/X86/zext-sext.ll vendor/llvm/dist/test/CodeGen/XCore/2011-08-01-DynamicAllocBug.ll vendor/llvm/dist/test/CodeGen/XCore/fneg.ll vendor/llvm/dist/test/CodeGen/XCore/getid.ll vendor/llvm/dist/test/CodeGen/XCore/ladd_lsub_combine.ll vendor/llvm/dist/test/CodeGen/XCore/licm-ldwcp.ll vendor/llvm/dist/test/CodeGen/XCore/load.ll vendor/llvm/dist/test/CodeGen/XCore/private.ll vendor/llvm/dist/test/CodeGen/XCore/scavenging.ll vendor/llvm/dist/test/CodeGen/XCore/store.ll vendor/llvm/dist/test/CodeGen/XCore/trap.ll vendor/llvm/dist/test/CodeGen/XCore/unaligned_store_combine.ll vendor/llvm/dist/test/DebugInfo/2010-05-03-OriginDIE.ll vendor/llvm/dist/test/DebugInfo/2010-06-29-InlinedFnLocalVar.ll vendor/llvm/dist/test/ExecutionEngine/2002-12-16-ArgTest.ll vendor/llvm/dist/test/ExecutionEngine/2003-01-04-ArgumentBug.ll vendor/llvm/dist/test/ExecutionEngine/2003-01-04-LoopTest.ll vendor/llvm/dist/test/ExecutionEngine/2003-01-04-PhiTest.ll vendor/llvm/dist/test/ExecutionEngine/2003-01-09-SARTest.ll vendor/llvm/dist/test/ExecutionEngine/2003-01-10-FUCOM.ll vendor/llvm/dist/test/ExecutionEngine/2003-01-15-AlignmentTest.ll vendor/llvm/dist/test/ExecutionEngine/2003-05-06-LivenessClobber.ll vendor/llvm/dist/test/ExecutionEngine/2003-05-07-ArgumentTest.ll vendor/llvm/dist/test/ExecutionEngine/2003-05-11-PHIRegAllocBug.ll vendor/llvm/dist/test/ExecutionEngine/2003-06-04-bzip2-bug.ll vendor/llvm/dist/test/ExecutionEngine/2003-06-05-PHIBug.ll vendor/llvm/dist/test/ExecutionEngine/2003-08-15-AllocaAssertion.ll vendor/llvm/dist/test/ExecutionEngine/2003-08-21-EnvironmentTest.ll vendor/llvm/dist/test/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll vendor/llvm/dist/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll vendor/llvm/dist/test/ExecutionEngine/2005-12-02-TailCallBug.ll vendor/llvm/dist/test/ExecutionEngine/2007-12-10-APIntLoadStore.ll vendor/llvm/dist/test/ExecutionEngine/2008-06-05-APInt-OverAShr.ll vendor/llvm/dist/test/ExecutionEngine/2010-01-15-UndefValue.ll vendor/llvm/dist/test/ExecutionEngine/fpbitcast.ll vendor/llvm/dist/test/ExecutionEngine/hello.ll vendor/llvm/dist/test/ExecutionEngine/hello2.ll vendor/llvm/dist/test/ExecutionEngine/simplesttest.ll vendor/llvm/dist/test/ExecutionEngine/simpletest.ll vendor/llvm/dist/test/ExecutionEngine/stubs.ll vendor/llvm/dist/test/ExecutionEngine/test-arith.ll vendor/llvm/dist/test/ExecutionEngine/test-branch.ll vendor/llvm/dist/test/ExecutionEngine/test-call.ll vendor/llvm/dist/test/ExecutionEngine/test-cast.ll vendor/llvm/dist/test/ExecutionEngine/test-constantexpr.ll vendor/llvm/dist/test/ExecutionEngine/test-fp.ll vendor/llvm/dist/test/ExecutionEngine/test-loadstore.ll vendor/llvm/dist/test/ExecutionEngine/test-logical.ll vendor/llvm/dist/test/ExecutionEngine/test-loop.ll vendor/llvm/dist/test/ExecutionEngine/test-phi.ll vendor/llvm/dist/test/ExecutionEngine/test-ret.ll vendor/llvm/dist/test/ExecutionEngine/test-setcond-fp.ll vendor/llvm/dist/test/ExecutionEngine/test-setcond-int.ll vendor/llvm/dist/test/ExecutionEngine/test-shift.ll vendor/llvm/dist/test/Feature/float.ll vendor/llvm/dist/test/Feature/intrinsics.ll vendor/llvm/dist/test/Linker/2004-05-07-TypeResolution1.ll vendor/llvm/dist/test/Linker/2004-05-07-TypeResolution2.ll vendor/llvm/dist/test/Linker/2011-08-18-unique-debug-type.ll vendor/llvm/dist/test/MC/ARM/arm-memory-instructions.s vendor/llvm/dist/test/MC/ARM/arm_fixups.s vendor/llvm/dist/test/MC/ARM/basic-arm-instructions.s vendor/llvm/dist/test/MC/ARM/basic-thumb-instructions.s vendor/llvm/dist/test/MC/ARM/basic-thumb2-instructions.s vendor/llvm/dist/test/MC/ARM/diagnostics.s vendor/llvm/dist/test/MC/ARM/elf-reloc-01.ll vendor/llvm/dist/test/MC/ARM/mode-switch.s vendor/llvm/dist/test/MC/ARM/neon-add-encoding.s vendor/llvm/dist/test/MC/ARM/neon-bitwise-encoding.s vendor/llvm/dist/test/MC/ARM/neon-cmp-encoding.s vendor/llvm/dist/test/MC/ARM/neon-minmax-encoding.s vendor/llvm/dist/test/MC/ARM/neon-mov-encoding.s vendor/llvm/dist/test/MC/ARM/neon-mul-accum-encoding.s vendor/llvm/dist/test/MC/ARM/neon-mul-encoding.s vendor/llvm/dist/test/MC/ARM/neon-pairwise-encoding.s vendor/llvm/dist/test/MC/ARM/neon-shift-encoding.s vendor/llvm/dist/test/MC/ARM/neon-shuffle-encoding.s vendor/llvm/dist/test/MC/ARM/neon-sub-encoding.s vendor/llvm/dist/test/MC/ARM/neon-table-encoding.s vendor/llvm/dist/test/MC/ARM/neon-vld-encoding.s vendor/llvm/dist/test/MC/ARM/neon-vst-encoding.s vendor/llvm/dist/test/MC/ARM/neont2-minmax-encoding.s vendor/llvm/dist/test/MC/ARM/neont2-mov-encoding.s vendor/llvm/dist/test/MC/ARM/neont2-mul-accum-encoding.s vendor/llvm/dist/test/MC/ARM/neont2-mul-encoding.s vendor/llvm/dist/test/MC/ARM/neont2-table-encoding.s vendor/llvm/dist/test/MC/ARM/neont2-vst-encoding.s vendor/llvm/dist/test/MC/ARM/simple-fp-encoding.s vendor/llvm/dist/test/MC/ARM/thumb-diagnostics.s vendor/llvm/dist/test/MC/ARM/vpush-vpop.s vendor/llvm/dist/test/MC/AsmParser/directive_file.s vendor/llvm/dist/test/MC/AsmParser/macro-args.s vendor/llvm/dist/test/MC/AsmParser/variables-invalid.s vendor/llvm/dist/test/MC/Disassembler/ARM/arm-tests.txt vendor/llvm/dist/test/MC/Disassembler/ARM/fp-encoding.txt vendor/llvm/dist/test/MC/Disassembler/ARM/invalid-CPS3p-arm.txt vendor/llvm/dist/test/MC/Disassembler/ARM/neon-tests.txt vendor/llvm/dist/test/MC/Disassembler/ARM/neon.txt vendor/llvm/dist/test/MC/Disassembler/ARM/neont2.txt vendor/llvm/dist/test/MC/Disassembler/MBlaze/mblaze_pattern.txt vendor/llvm/dist/test/MC/Disassembler/X86/intel-syntax.txt vendor/llvm/dist/test/MC/Disassembler/X86/simple-tests.txt vendor/llvm/dist/test/MC/Disassembler/X86/x86-32.txt vendor/llvm/dist/test/MC/ELF/global-offset.s vendor/llvm/dist/test/MC/ELF/many-section.s vendor/llvm/dist/test/MC/ELF/relocation-386.s vendor/llvm/dist/test/MC/ELF/tls-i386.s vendor/llvm/dist/test/MC/ELF/tls.s vendor/llvm/dist/test/MC/ELF/type.s vendor/llvm/dist/test/MC/MachO/reloc-pcrel-offset.s vendor/llvm/dist/test/MC/MachO/reloc-pcrel.s vendor/llvm/dist/test/MC/X86/x86-32-coverage.s vendor/llvm/dist/test/MC/X86/x86-32.s vendor/llvm/dist/test/MC/X86/x86-64.s vendor/llvm/dist/test/MC/X86/x86_64-avx-encoding.s vendor/llvm/dist/test/MC/X86/x86_errors.s vendor/llvm/dist/test/Makefile vendor/llvm/dist/test/Object/nm-archive.test vendor/llvm/dist/test/Object/nm-trivial-object.test vendor/llvm/dist/test/Object/objdump-relocations.test vendor/llvm/dist/test/Object/objdump-sectionheaders.test vendor/llvm/dist/test/Other/2009-03-31-CallGraph.ll vendor/llvm/dist/test/Other/constant-fold-gep.ll vendor/llvm/dist/test/Other/lint.ll vendor/llvm/dist/test/TableGen/Dag.td vendor/llvm/dist/test/TableGen/SetTheory.td vendor/llvm/dist/test/TableGen/foreach.td vendor/llvm/dist/test/Transforms/ConstProp/2007-11-23-cttz.ll vendor/llvm/dist/test/Transforms/ConstProp/basictest.ll vendor/llvm/dist/test/Transforms/ConstProp/bswap.ll vendor/llvm/dist/test/Transforms/ConstProp/calls.ll vendor/llvm/dist/test/Transforms/CorrelatedValuePropagation/basic.ll vendor/llvm/dist/test/Transforms/DeadArgElim/deadexternal.ll vendor/llvm/dist/test/Transforms/DeadStoreElimination/free.ll vendor/llvm/dist/test/Transforms/DeadStoreElimination/simple.ll vendor/llvm/dist/test/Transforms/EarlyCSE/basic.ll vendor/llvm/dist/test/Transforms/FunctionAttrs/2008-09-13-VolatileRead.ll vendor/llvm/dist/test/Transforms/FunctionAttrs/2010-10-30-volatile.ll vendor/llvm/dist/test/Transforms/GVN/condprop.ll vendor/llvm/dist/test/Transforms/GVN/rle.ll vendor/llvm/dist/test/Transforms/GlobalOpt/2008-01-29-VolatileGlobal.ll vendor/llvm/dist/test/Transforms/GlobalOpt/constantfold-initializers.ll vendor/llvm/dist/test/Transforms/GlobalOpt/ctor-list-opt-constexpr.ll vendor/llvm/dist/test/Transforms/GlobalOpt/cxx-dtor.ll vendor/llvm/dist/test/Transforms/IPConstantProp/dangling-block-address.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/2011-09-10-widen-nsw.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/ada-loops.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/avoid-i0.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/elim-extend.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/iv-fold.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/iv-zext.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/lftr-reuse.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/loop_evaluate10.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/loop_evaluate9.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/no-iv-rewrite.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/preserve-signed-wrap.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/sink-alloca.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/variable-stride-ivs-0.ll vendor/llvm/dist/test/Transforms/Inline/dynamic_alloca_test.ll vendor/llvm/dist/test/Transforms/Inline/inline-invoke-tail.ll vendor/llvm/dist/test/Transforms/Inline/inline_cleanup.ll vendor/llvm/dist/test/Transforms/Inline/inline_constprop.ll vendor/llvm/dist/test/Transforms/Inline/noinline-recursive-fn.ll vendor/llvm/dist/test/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll vendor/llvm/dist/test/Transforms/InstCombine/2007-10-28-stacksave.ll vendor/llvm/dist/test/Transforms/InstCombine/2008-04-28-VolatileStore.ll vendor/llvm/dist/test/Transforms/InstCombine/2008-04-29-VolatileLoadDontMerge.ll vendor/llvm/dist/test/Transforms/InstCombine/2008-04-29-VolatileLoadMerge.ll vendor/llvm/dist/test/Transforms/InstCombine/2008-06-24-StackRestore.ll vendor/llvm/dist/test/Transforms/InstCombine/2008-07-08-VolatileLoadMerge.ll vendor/llvm/dist/test/Transforms/InstCombine/LandingPadClauses.ll vendor/llvm/dist/test/Transforms/InstCombine/align-external.ll vendor/llvm/dist/test/Transforms/InstCombine/alloca.ll vendor/llvm/dist/test/Transforms/InstCombine/apint-shl-trunc.ll vendor/llvm/dist/test/Transforms/InstCombine/bitcount.ll vendor/llvm/dist/test/Transforms/InstCombine/constant-fold-gep.ll vendor/llvm/dist/test/Transforms/InstCombine/crash.ll vendor/llvm/dist/test/Transforms/InstCombine/extractvalue.ll vendor/llvm/dist/test/Transforms/InstCombine/icmp.ll vendor/llvm/dist/test/Transforms/InstCombine/intrinsics.ll vendor/llvm/dist/test/Transforms/InstCombine/mul.ll vendor/llvm/dist/test/Transforms/InstCombine/overflow.ll vendor/llvm/dist/test/Transforms/InstCombine/select.ll vendor/llvm/dist/test/Transforms/InstCombine/sext.ll vendor/llvm/dist/test/Transforms/InstCombine/shift.ll vendor/llvm/dist/test/Transforms/InstCombine/sign-test-and-or.ll vendor/llvm/dist/test/Transforms/InstCombine/sub.ll vendor/llvm/dist/test/Transforms/InstCombine/vec_shuffle.ll vendor/llvm/dist/test/Transforms/InstCombine/volatile_store.ll vendor/llvm/dist/test/Transforms/InstSimplify/compare.ll vendor/llvm/dist/test/Transforms/InstSimplify/reassociate.ll vendor/llvm/dist/test/Transforms/InstSimplify/undef.ll vendor/llvm/dist/test/Transforms/JumpThreading/2011-04-14-InfLoop.ll vendor/llvm/dist/test/Transforms/JumpThreading/crash.ll vendor/llvm/dist/test/Transforms/JumpThreading/no-irreducible-loops.ll vendor/llvm/dist/test/Transforms/JumpThreading/thread-loads.ll vendor/llvm/dist/test/Transforms/LICM/2007-05-22-VolatileSink.ll vendor/llvm/dist/test/Transforms/LICM/2011-04-06-HoistMissedASTUpdate.ll vendor/llvm/dist/test/Transforms/LICM/crash.ll vendor/llvm/dist/test/Transforms/LICM/scalar_promote.ll vendor/llvm/dist/test/Transforms/LoopRotate/dbgvalue.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/2008-08-13-CmpStride.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/exit_compare_live_range.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll vendor/llvm/dist/test/Transforms/LoopStrengthReduce/pr3399.ll vendor/llvm/dist/test/Transforms/LoopUnroll/2011-08-09-IVSimplify.ll vendor/llvm/dist/test/Transforms/LoopUnroll/unloop.ll vendor/llvm/dist/test/Transforms/Mem2Reg/2007-08-27-VolatileLoadsStores.ll vendor/llvm/dist/test/Transforms/MemCpyOpt/form-memset.ll vendor/llvm/dist/test/Transforms/MemCpyOpt/memcpy.ll vendor/llvm/dist/test/Transforms/MergeFunc/2011-02-08-RemoveEqual.ll vendor/llvm/dist/test/Transforms/ObjCARC/basic.ll vendor/llvm/dist/test/Transforms/ObjCARC/contract-storestrong-ivar.ll vendor/llvm/dist/test/Transforms/ObjCARC/contract-storestrong.ll vendor/llvm/dist/test/Transforms/ObjCARC/contract.ll vendor/llvm/dist/test/Transforms/ObjCARC/invoke.ll vendor/llvm/dist/test/Transforms/ObjCARC/nested.ll vendor/llvm/dist/test/Transforms/ObjCARC/retain-block-alloca.ll vendor/llvm/dist/test/Transforms/ObjCARC/retain-not-declared.ll vendor/llvm/dist/test/Transforms/SCCP/2008-05-23-UndefCallFold.ll vendor/llvm/dist/test/Transforms/SCCP/2009-01-14-IPSCCP-Invoke.ll vendor/llvm/dist/test/Transforms/ScalarRepl/volatile.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/2009-01-19-UnconditionalTrappingConstantExpr.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/SpeculativeExec.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/branch-fold.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/select-gep.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/switch-masked-bits.ll vendor/llvm/dist/test/Transforms/SimplifyCFG/switch-on-const-select.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/PR7357.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/Printf.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/StrLen.ll vendor/llvm/dist/test/Transforms/Sink/basic.ll vendor/llvm/dist/test/Transforms/TailCallElim/dont_reorder_load.ll vendor/llvm/dist/test/Transforms/TailCallElim/setjmp.ll vendor/llvm/dist/test/Unit/lit.site.cfg.in vendor/llvm/dist/test/lit.cfg vendor/llvm/dist/test/lit.site.cfg.in vendor/llvm/dist/test/site.exp.in vendor/llvm/dist/tools/CMakeLists.txt vendor/llvm/dist/tools/Makefile vendor/llvm/dist/tools/bugpoint-passes/Makefile vendor/llvm/dist/tools/bugpoint/BugDriver.cpp vendor/llvm/dist/tools/bugpoint/CMakeLists.txt vendor/llvm/dist/tools/bugpoint/CrashDebugger.cpp vendor/llvm/dist/tools/bugpoint/ExecutionDriver.cpp vendor/llvm/dist/tools/bugpoint/ExtractFunction.cpp vendor/llvm/dist/tools/bugpoint/Makefile vendor/llvm/dist/tools/bugpoint/Miscompilation.cpp vendor/llvm/dist/tools/bugpoint/OptimizerDriver.cpp vendor/llvm/dist/tools/bugpoint/ToolRunner.cpp vendor/llvm/dist/tools/bugpoint/ToolRunner.h vendor/llvm/dist/tools/bugpoint/bugpoint.cpp vendor/llvm/dist/tools/gold/CMakeLists.txt vendor/llvm/dist/tools/gold/Makefile vendor/llvm/dist/tools/gold/gold-plugin.cpp vendor/llvm/dist/tools/llc/Makefile vendor/llvm/dist/tools/llc/llc.cpp vendor/llvm/dist/tools/lli/CMakeLists.txt vendor/llvm/dist/tools/lli/Makefile vendor/llvm/dist/tools/lli/lli.cpp vendor/llvm/dist/tools/llvm-ar/Makefile vendor/llvm/dist/tools/llvm-as/Makefile vendor/llvm/dist/tools/llvm-as/llvm-as.cpp vendor/llvm/dist/tools/llvm-bcanalyzer/Makefile vendor/llvm/dist/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp vendor/llvm/dist/tools/llvm-config/CMakeLists.txt vendor/llvm/dist/tools/llvm-config/Makefile vendor/llvm/dist/tools/llvm-cov/Makefile vendor/llvm/dist/tools/llvm-diff/DiffConsumer.cpp vendor/llvm/dist/tools/llvm-diff/DiffConsumer.h vendor/llvm/dist/tools/llvm-diff/DifferenceEngine.cpp vendor/llvm/dist/tools/llvm-diff/DifferenceEngine.h vendor/llvm/dist/tools/llvm-diff/Makefile vendor/llvm/dist/tools/llvm-diff/llvm-diff.cpp vendor/llvm/dist/tools/llvm-dis/Makefile vendor/llvm/dist/tools/llvm-dis/llvm-dis.cpp vendor/llvm/dist/tools/llvm-dwarfdump/Makefile vendor/llvm/dist/tools/llvm-extract/Makefile vendor/llvm/dist/tools/llvm-extract/llvm-extract.cpp vendor/llvm/dist/tools/llvm-ld/CMakeLists.txt vendor/llvm/dist/tools/llvm-ld/Makefile vendor/llvm/dist/tools/llvm-ld/llvm-ld.cpp vendor/llvm/dist/tools/llvm-link/Makefile vendor/llvm/dist/tools/llvm-link/llvm-link.cpp vendor/llvm/dist/tools/llvm-mc/Disassembler.cpp vendor/llvm/dist/tools/llvm-mc/Makefile vendor/llvm/dist/tools/llvm-mc/llvm-mc.cpp vendor/llvm/dist/tools/llvm-nm/Makefile vendor/llvm/dist/tools/llvm-nm/llvm-nm.cpp vendor/llvm/dist/tools/llvm-objdump/MachODump.cpp vendor/llvm/dist/tools/llvm-objdump/Makefile vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.cpp vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.h vendor/llvm/dist/tools/llvm-prof/Makefile vendor/llvm/dist/tools/llvm-prof/llvm-prof.cpp vendor/llvm/dist/tools/llvm-ranlib/Makefile vendor/llvm/dist/tools/llvm-rtdyld/Makefile vendor/llvm/dist/tools/llvm-rtdyld/llvm-rtdyld.cpp vendor/llvm/dist/tools/llvm-shlib/Makefile vendor/llvm/dist/tools/llvm-size/Makefile vendor/llvm/dist/tools/llvm-size/llvm-size.cpp vendor/llvm/dist/tools/llvm-stub/Makefile vendor/llvm/dist/tools/lto/CMakeLists.txt vendor/llvm/dist/tools/lto/LTOCodeGenerator.cpp vendor/llvm/dist/tools/lto/LTOCodeGenerator.h vendor/llvm/dist/tools/lto/LTOModule.cpp vendor/llvm/dist/tools/lto/LTOModule.h vendor/llvm/dist/tools/lto/Makefile vendor/llvm/dist/tools/lto/lto.cpp vendor/llvm/dist/tools/lto/lto.exports vendor/llvm/dist/tools/macho-dump/Makefile vendor/llvm/dist/tools/opt/CMakeLists.txt vendor/llvm/dist/tools/opt/Makefile vendor/llvm/dist/tools/opt/PrintSCC.cpp vendor/llvm/dist/tools/opt/opt.cpp vendor/llvm/dist/unittests/ADT/APFloatTest.cpp vendor/llvm/dist/unittests/ADT/APIntTest.cpp vendor/llvm/dist/unittests/ADT/BitVectorTest.cpp vendor/llvm/dist/unittests/ADT/DenseMapTest.cpp vendor/llvm/dist/unittests/ADT/SmallStringTest.cpp vendor/llvm/dist/unittests/ADT/StringRefTest.cpp vendor/llvm/dist/unittests/ADT/TripleTest.cpp vendor/llvm/dist/unittests/CMakeLists.txt vendor/llvm/dist/unittests/ExecutionEngine/ExecutionEngineTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/JIT/JITTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/JIT/Makefile vendor/llvm/dist/unittests/ExecutionEngine/JIT/MultiJITTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/Makefile vendor/llvm/dist/unittests/Makefile vendor/llvm/dist/unittests/Makefile.unittest vendor/llvm/dist/unittests/Support/AllocatorTest.cpp vendor/llvm/dist/unittests/Support/BlockFrequencyTest.cpp vendor/llvm/dist/unittests/Support/Casting.cpp vendor/llvm/dist/unittests/Support/IRBuilderTest.cpp vendor/llvm/dist/unittests/Support/Path.cpp vendor/llvm/dist/unittests/Transforms/Utils/Cloning.cpp vendor/llvm/dist/unittests/VMCore/InstructionsTest.cpp vendor/llvm/dist/unittests/VMCore/Makefile vendor/llvm/dist/unittests/VMCore/MetadataTest.cpp vendor/llvm/dist/unittests/VMCore/ValueMapTest.cpp vendor/llvm/dist/utils/FileCheck/FileCheck.cpp vendor/llvm/dist/utils/GenLibDeps.pl vendor/llvm/dist/utils/KillTheDoctor/KillTheDoctor.cpp vendor/llvm/dist/utils/Makefile vendor/llvm/dist/utils/TableGen/AsmMatcherEmitter.cpp vendor/llvm/dist/utils/TableGen/AsmWriterEmitter.cpp vendor/llvm/dist/utils/TableGen/AsmWriterEmitter.h vendor/llvm/dist/utils/TableGen/CMakeLists.txt vendor/llvm/dist/utils/TableGen/CallingConvEmitter.cpp vendor/llvm/dist/utils/TableGen/CodeEmitterGen.cpp vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.h vendor/llvm/dist/utils/TableGen/CodeGenInstruction.cpp vendor/llvm/dist/utils/TableGen/CodeGenRegisters.cpp vendor/llvm/dist/utils/TableGen/CodeGenRegisters.h vendor/llvm/dist/utils/TableGen/CodeGenTarget.cpp vendor/llvm/dist/utils/TableGen/CodeGenTarget.h vendor/llvm/dist/utils/TableGen/DAGISelMatcher.cpp vendor/llvm/dist/utils/TableGen/DAGISelMatcher.h vendor/llvm/dist/utils/TableGen/DAGISelMatcherEmitter.cpp vendor/llvm/dist/utils/TableGen/DAGISelMatcherGen.cpp vendor/llvm/dist/utils/TableGen/DisassemblerEmitter.cpp vendor/llvm/dist/utils/TableGen/EDEmitter.cpp vendor/llvm/dist/utils/TableGen/FastISelEmitter.cpp vendor/llvm/dist/utils/TableGen/FixedLenDecoderEmitter.cpp vendor/llvm/dist/utils/TableGen/FixedLenDecoderEmitter.h vendor/llvm/dist/utils/TableGen/InstrInfoEmitter.cpp vendor/llvm/dist/utils/TableGen/InstrInfoEmitter.h vendor/llvm/dist/utils/TableGen/IntrinsicEmitter.cpp vendor/llvm/dist/utils/TableGen/IntrinsicEmitter.h vendor/llvm/dist/utils/TableGen/PseudoLoweringEmitter.cpp vendor/llvm/dist/utils/TableGen/RegisterInfoEmitter.cpp vendor/llvm/dist/utils/TableGen/RegisterInfoEmitter.h vendor/llvm/dist/utils/TableGen/SetTheory.cpp vendor/llvm/dist/utils/TableGen/SetTheory.h vendor/llvm/dist/utils/TableGen/StringToOffsetTable.h vendor/llvm/dist/utils/TableGen/SubtargetEmitter.cpp vendor/llvm/dist/utils/TableGen/TableGen.cpp vendor/llvm/dist/utils/TableGen/X86DisassemblerTables.cpp vendor/llvm/dist/utils/TableGen/X86ModRMFilters.h vendor/llvm/dist/utils/TableGen/X86RecognizableInstr.cpp vendor/llvm/dist/utils/TableGen/X86RecognizableInstr.h vendor/llvm/dist/utils/buildit/GNUmakefile vendor/llvm/dist/utils/buildit/build_llvm vendor/llvm/dist/utils/emacs/tablegen-mode.el vendor/llvm/dist/utils/lit/lit/ExampleTests/LLVM.InTree/test/lit.cfg vendor/llvm/dist/utils/lit/lit/ExampleTests/LLVM.InTree/test/site.exp vendor/llvm/dist/utils/lit/lit/ExampleTests/LLVM.OutOfTree/obj/test/site.exp vendor/llvm/dist/utils/lit/lit/ExampleTests/LLVM.OutOfTree/src/test/lit.cfg vendor/llvm/dist/utils/lit/lit/LitConfig.py vendor/llvm/dist/utils/lit/lit/TestRunner.py vendor/llvm/dist/utils/lit/lit/TestingConfig.py vendor/llvm/dist/utils/lit/lit/main.py vendor/llvm/dist/utils/llvm.grm vendor/llvm/dist/utils/llvmgrep vendor/llvm/dist/utils/release/test-release.sh vendor/llvm/dist/utils/unittest/UnitTestMain/Makefile vendor/llvm/dist/utils/unittest/googletest/Makefile vendor/llvm/dist/utils/unittest/googletest/gtest-death-test.cc vendor/llvm/dist/utils/unittest/googletest/gtest.cc vendor/llvm/dist/utils/unittest/googletest/include/gtest/internal/gtest-death-test-internal.h vendor/llvm/dist/utils/vim/tablegen.vim Modified: vendor/llvm/dist/.gitignore ============================================================================== --- vendor/llvm/dist/.gitignore Sat Apr 14 13:40:39 2012 (r234284) +++ vendor/llvm/dist/.gitignore Sat Apr 14 13:54:10 2012 (r234285) @@ -38,3 +38,5 @@ projects/* !projects/Makefile # Clang, which is tracked independently. tools/clang +# LLDB, which is tracked independently. +tools/lldb Modified: vendor/llvm/dist/CMakeLists.txt ============================================================================== --- vendor/llvm/dist/CMakeLists.txt Sat Apr 14 13:40:39 2012 (r234284) +++ vendor/llvm/dist/CMakeLists.txt Sat Apr 14 13:54:10 2012 (r234285) @@ -10,7 +10,10 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ) -set(PACKAGE_VERSION "3.0") +set(LLVM_VERSION_MAJOR 3) +set(LLVM_VERSION_MINOR 1) + +set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}svn") set_property(GLOBAL PROPERTY USE_FOLDERS ON) @@ -23,10 +26,15 @@ if( LLVM_APPEND_VC_REV ) add_version_info_from_vcs(PACKAGE_VERSION) endif() -set(PACKAGE_NAME llvm) +set(PACKAGE_NAME LLVM) set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -set(PACKAGE_BUGREPORT "llvmbugs@cs.uiuc.edu") +set(PACKAGE_BUGREPORT "http://llvm.org/bugs/") +# Sanity check our source directory to make sure that we are not trying to +# generate an in-tree build (unless on MSVC_IDE, where it is ok), and to make +# sure that we don't have any stray generated files lying around in the tree +# (which would end up getting picked up by header search, instead of the correct +# versions). if( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE ) message(FATAL_ERROR "In-source builds are not allowed. CMake would overwrite the makefiles distributed with LLVM. @@ -35,27 +43,17 @@ to this source directory as the last arg This process created the file `CMakeCache.txt' and the directory `CMakeFiles'. Please delete them.") endif() - -string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) - -set(LLVM_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}) -set(LLVM_MAIN_INCLUDE_DIR ${LLVM_MAIN_SRC_DIR}/include) -set(LLVM_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) -set(LLVM_TOOLS_BINARY_DIR ${LLVM_BINARY_DIR}/bin) -set(LLVM_EXAMPLES_BINARY_DIR ${LLVM_BINARY_DIR}/examples) -set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) - if( NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR ) file(GLOB_RECURSE tablegenned_files_on_include_dir - "${LLVM_MAIN_SRC_DIR}/include/llvm/*.gen") + "${CMAKE_CURRENT_SOURCE_DIR}/include/llvm/*.gen") file(GLOB_RECURSE tablegenned_files_on_lib_dir - "${LLVM_MAIN_SRC_DIR}/lib/Target/*.inc") + "${CMAKE_CURRENT_SOURCE_DIR}/lib/Target/*.inc") if( tablegenned_files_on_include_dir OR tablegenned_files_on_lib_dir) message(FATAL_ERROR "Apparently there is a previous in-source build, probably as the result of running `configure' and `make' on -${LLVM_MAIN_SRC_DIR}. +${CMAKE_CURRENT_SOURCE_DIR}. This may cause problems. The suspicious files are: ${tablegenned_files_on_lib_dir} ${tablegenned_files_on_include_dir} @@ -63,20 +61,26 @@ Please clean the source directory.") endif() endif() +string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) + +set(LLVM_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}) +set(LLVM_MAIN_INCLUDE_DIR ${LLVM_MAIN_SRC_DIR}/include) +set(LLVM_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) +set(LLVM_TOOLS_BINARY_DIR ${LLVM_BINARY_DIR}/bin) +set(LLVM_EXAMPLES_BINARY_DIR ${LLVM_BINARY_DIR}/examples) +set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) + set(LLVM_ALL_TARGETS - Alpha ARM - Blackfin - CBackend CellSPU CppBackend + Hexagon Mips MBlaze MSP430 PowerPC PTX Sparc - SystemZ X86 XCore ) @@ -88,10 +92,13 @@ if( MSVC ) set(LLVM_TARGETS_TO_BUILD X86 CACHE STRING "Semicolon-separated list of targets to build, or \"all\".") else( MSVC ) - set(LLVM_TARGETS_TO_BUILD ${LLVM_ALL_TARGETS} + set(LLVM_TARGETS_TO_BUILD "all" CACHE STRING "Semicolon-separated list of targets to build, or \"all\".") endif( MSVC ) +option(BUILD_SHARED_LIBS + "Build all libraries as shared libraries instead of static" OFF) + option(LLVM_ENABLE_CBE_PRINTF_A "Set to ON if CBE is enabled for printf %a output" ON) if(LLVM_ENABLE_CBE_PRINTF_A) set(ENABLE_CBE_PRINTF_A 1) @@ -126,12 +133,6 @@ foreach(c ${LLVM_TARGETS_TO_BUILD}) endif() endforeach(c) -# Produce llvm/Config/Targets.def -configure_file( - ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Targets.def.in - ${LLVM_BINARY_DIR}/include/llvm/Config/Targets.def - ) - set(llvm_builded_incs_dir ${LLVM_BINARY_DIR}/include/llvm) include(AddLLVMDefinitions) @@ -154,20 +155,207 @@ else() option(LLVM_ENABLE_ASSERTIONS "Enable assertions" ON) endif() +option(LLVM_USE_INTEL_JITEVENTS + "Use Intel JIT API to inform Intel(R) VTune(TM) Amplifier XE 2011 about JIT code" + OFF) + +if( LLVM_USE_INTEL_JITEVENTS ) + # Verify we are on a supported platform + if( CMAKE_SYSTEM_NAME MATCHES "Windows" OR CMAKE_SYSTEM_NAME MATCHES "Linux" ) + # Directory where Intel Parallel Amplifier XE 2011 is installed. + if ( WIN32 ) + set(LLVM_INTEL_JITEVENTS_DIR $ENV{VTUNE_AMPLIFIER_XE_2011_DIR}) + else ( WIN32 ) + set(LLVM_INTEL_JITEVENTS_DIR "/opt/intel/vtune_amplifier_xe_2011") + endif ( WIN32 ) + + # Set include and library search paths for Intel JIT Events API + set(LLVM_INTEL_JITEVENTS_INCDIR "${LLVM_INTEL_JITEVENTS_DIR}/include") + + if ( CMAKE_SIZEOF_VOID_P EQUAL 8 ) + set(LLVM_INTEL_JITEVENTS_LIBDIR "${LLVM_INTEL_JITEVENTS_DIR}/lib64") + else ( CMAKE_SIZEOF_VOID_P EQUAL 8 ) + set(LLVM_INTEL_JITEVENTS_LIBDIR "${LLVM_INTEL_JITEVENTS_DIR}/lib32") + endif ( CMAKE_SIZEOF_VOID_P EQUAL 8 ) + else() + message(FATAL_ERROR + "Intel JIT API support is available on Linux and Windows only.") + endif() +endif( LLVM_USE_INTEL_JITEVENTS ) + +option(LLVM_USE_OPROFILE + "Use opagent JIT interface to inform OProfile about JIT code" OFF) + +# If enabled, ierify we are on a platform that supports oprofile. +if( LLVM_USE_OPROFILE ) + if( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" ) + message(FATAL_ERROR "OProfile support is available on Linux only.") + endif( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" ) +endif( LLVM_USE_OPROFILE ) + +# Define an option controlling whether we should build for 32-bit on 64-bit +# platforms, where supported. +if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 ) + # TODO: support other platforms and toolchains. + option(LLVM_BUILD_32_BITS "Build 32 bits executables and libraries." OFF) +endif() + +# Define the default arguments to use with 'lit', and an option for the user to +# override. +set(LIT_ARGS_DEFAULT "-sv") +if (MSVC OR XCODE) + set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar") +endif() +set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}" CACHE STRING "Default options for lit") + +# On Win32 hosts, provide an option to specify the path to the GnuWin32 tools. +if( WIN32 AND NOT CYGWIN ) + set(LLVM_LIT_TOOLS_DIR "" CACHE PATH "Path to GnuWin32 tools") +endif() + +# On Win32 using MS tools, provide an option to set the number of parallel jobs +# to use. +if( MSVC_IDE AND ( MSVC90 OR MSVC10 ) ) + # Only Visual Studio 2008 and 2010 officially supports /MP. Visual Studio + # 2005 supports it but it is experimental. + set(LLVM_COMPILER_JOBS "0" CACHE STRING + "Number of parallel compiler jobs. 0 means use all processors. Default is 0.") +endif() + +# Define options to control the inclusion and default build behavior for +# components which may not strictly be necessary (tools, runtime, examples, and +# tests). +# +# This is primarily to support building smaller or faster project files. +option(LLVM_INCLUDE_TOOLS "Generate build targets for the LLVM tools." ON) +option(LLVM_BUILD_TOOLS + "Build the LLVM tools. If OFF, just generate build targets." ON) + +option(LLVM_INCLUDE_RUNTIME "Generate build targets for the LLVM runtimes" ON) +option(LLVM_BUILD_RUNTIME + "Build the LLVM runtime libraries. If OFF, just generate build targets." ON) + +option(LLVM_BUILD_EXAMPLES + "Build the LLVM example programs. If OFF, just generate build targets." OFF) +option(LLVM_INCLUDE_EXAMPLES "Generate build targets for the LLVM examples" ON) + +option(LLVM_BUILD_TESTS + "Build LLVM unit tests. If OFF, just generate build targets." OFF) +option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON) + # All options referred to from HandleLLVMOptions have to be specified # BEFORE this include, otherwise options will not be correctly set on # first cmake run include(config-ix) include(HandleLLVMOptions) +# Verify that we can find a Python interpreter, +include(FindPythonInterp) +if( NOT PYTHONINTERP_FOUND ) + message(FATAL_ERROR +"Unable to find Python interpreter, required for builds and testing. + +Please install Python or specify the PYTHON_EXECUTABLE CMake variable.") +endif() + +###### +# LLVMBuild Integration +# +# We use llvm-build to generate all the data required by the CMake based +# build system in one swoop: +# +# - We generate a file (a CMake fragment) in the object root which contains +# all the definitions that are required by CMake. +# +# - We generate the library table used by llvm-config. +# +# - We generate the dependencies for the CMake fragment, so that we will +# automatically reconfigure outselves. + +set(LLVMBUILDTOOL "${LLVM_MAIN_SRC_DIR}/utils/llvm-build/llvm-build") +set(LLVMCONFIGLIBRARYDEPENDENCIESINC + "${LLVM_BINARY_DIR}/tools/llvm-config/LibraryDependencies.inc") +set(LLVMBUILDCMAKEFRAG + "${LLVM_BINARY_DIR}/LLVMBuild.cmake") +message(STATUS "Constructing LLVMBuild project information") +execute_process( + COMMAND ${PYTHON_EXECUTABLE} ${LLVMBUILDTOOL} + --native-target "${LLVM_NATIVE_ARCH}" + --enable-targets "${LLVM_TARGETS_TO_BUILD}" + --write-library-table ${LLVMCONFIGLIBRARYDEPENDENCIESINC} + --write-cmake-fragment ${LLVMBUILDCMAKEFRAG} + ERROR_VARIABLE LLVMBUILDOUTPUT + ERROR_VARIABLE LLVMBUILDERRORS + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE LLVMBUILDRESULT) + +# On Win32, CMake doesn't properly handle piping the default output/error +# streams into the GUI console. So, we explicitly catch and report them. +if( NOT "${LLVMBUILDOUTPUT}" STREQUAL "") + message(STATUS "llvm-build output: ${LLVMBUILDOUTPUT}") +endif() +if( NOT "${LLVMBUILDRESULT}" STREQUAL "0" ) + message(FATAL_ERROR + "Unexpected failure executing llvm-build: ${LLVMBUILDERRORS}") +endif() + +# Include the generated CMake fragment. This will define properties from the +# LLVMBuild files in a format which is easy to consume from CMake, and will add +# the dependencies so that CMake will reconfigure properly when the LLVMBuild +# files change. +include(${LLVMBUILDCMAKEFRAG}) + +###### + +# Configure all of the various header file fragments LLVM uses which depend on +# configuration variables. +set(LLVM_ENUM_ASM_PRINTERS "") +set(LLVM_ENUM_ASM_PARSERS "") +set(LLVM_ENUM_DISASSEMBLERS "") +foreach(t ${LLVM_TARGETS_TO_BUILD}) + set( td ${LLVM_MAIN_SRC_DIR}/lib/Target/${t} ) + file(GLOB asmp_file "${td}/*AsmPrinter.cpp") + if( asmp_file ) + set(LLVM_ENUM_ASM_PRINTERS + "${LLVM_ENUM_ASM_PRINTERS}LLVM_ASM_PRINTER(${t})\n") + endif() + if( EXISTS ${td}/AsmParser/CMakeLists.txt ) + set(LLVM_ENUM_ASM_PARSERS + "${LLVM_ENUM_ASM_PARSERS}LLVM_ASM_PARSER(${t})\n") + endif() + if( EXISTS ${td}/Disassembler/CMakeLists.txt ) + set(LLVM_ENUM_DISASSEMBLERS + "${LLVM_ENUM_DISASSEMBLERS}LLVM_DISASSEMBLER(${t})\n") + endif() +endforeach(t) + +# Produce the target definition files, which provide a way for clients to easily +# include various classes of targets. +configure_file( + ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmPrinters.def.in + ${LLVM_BINARY_DIR}/include/llvm/Config/AsmPrinters.def + ) +configure_file( + ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmParsers.def.in + ${LLVM_BINARY_DIR}/include/llvm/Config/AsmParsers.def + ) +configure_file( + ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in + ${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def + ) +configure_file( + ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Targets.def.in + ${LLVM_BINARY_DIR}/include/llvm/Config/Targets.def + ) + +# Configure the three LLVM configuration header files. configure_file( ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/config.h.cmake ${LLVM_BINARY_DIR}/include/llvm/Config/config.h) - configure_file( ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/llvm-config.h.cmake ${LLVM_BINARY_DIR}/include/llvm/Config/llvm-config.h) - configure_file( ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/DataTypes.h.cmake ${LLVM_BINARY_DIR}/include/llvm/Support/DataTypes.h) @@ -187,10 +375,6 @@ endif( ${CMAKE_SYSTEM_NAME} MATCHES SunO include(AddLLVM) include(TableGen) -macro(llvm_tablegen) - tablegen(LLVM ${ARGN}) -endmacro() - if( MINGW ) # People report that -O3 is unreliable on MinGW. The traditional # build also uses -O2 for that reason: @@ -212,32 +396,23 @@ add_subdirectory(utils/FileUpdate) add_subdirectory(utils/count) add_subdirectory(utils/not) add_subdirectory(utils/llvm-lit) +add_subdirectory(utils/json-bench) +add_subdirectory(utils/yaml-bench) add_subdirectory(projects) -option(LLVM_BUILD_TOOLS - "Build the LLVM tools. If OFF, just generate build targets." ON) -option(LLVM_INCLUDE_TOOLS "Generate build targets for the LLVM tools." ON) if( LLVM_INCLUDE_TOOLS ) add_subdirectory(tools) endif() -option(LLVM_BUILD_RUNTIME - "Build the LLVM runtime libraries. If OFF, just generate build targets." ON) -option(LLVM_INCLUDE_RUNTIME "Generate build targets for the LLVM runtimes" ON) if( LLVM_INCLUDE_RUNTIME ) add_subdirectory(runtime) endif() -option(LLVM_BUILD_EXAMPLES - "Build the LLVM example programs. If OFF, just generate build targets." OFF) -option(LLVM_INCLUDE_EXAMPLES "Generate build targets for the LLVM examples" ON) if( LLVM_INCLUDE_EXAMPLES ) add_subdirectory(examples) endif() -option(LLVM_BUILD_TESTS - "Build LLVM unit tests. If OFF, just generate build targets." OFF) if( LLVM_INCLUDE_TESTS ) add_subdirectory(test) add_subdirectory(utils/unittest) @@ -277,8 +452,8 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY # TODO: make and install documentation. set(CPACK_PACKAGE_VENDOR "LLVM") -set(CPACK_PACKAGE_VERSION_MAJOR 2) -set(CPACK_PACKAGE_VERSION_MINOR 9) +set(CPACK_PACKAGE_VERSION_MAJOR ${LLVM_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${LLVM_VERSION_MINOR}) add_version_info_from_vcs(CPACK_PACKAGE_VERSION_PATCH) include(CPack) Modified: vendor/llvm/dist/CREDITS.TXT ============================================================================== --- vendor/llvm/dist/CREDITS.TXT Sat Apr 14 13:40:39 2012 (r234284) +++ vendor/llvm/dist/CREDITS.TXT Sat Apr 14 13:54:10 2012 (r234285) @@ -83,6 +83,10 @@ N: John T. Criswell E: criswell@uiuc.edu D: Original Autoconf support, documentation improvements, bug fixes +N: Anshuman Dasgupta +E: adasgupt@codeaurora.org +D: Deterministic finite automaton based infrastructure for VLIW packetization + N: Stefanus Du Toit E: stefanus.dutoit@rapidmind.com D: Bug fixes and minor improvements @@ -95,6 +99,10 @@ N: Alkis Evlogimenos E: alkis@evlogimenos.com D: Linear scan register allocator, many codegen improvements, Java frontend +N: Hal Finkel +E: hfinkel@anl.gov +D: Basic-block autovectorization, PowerPC backend improvements + N: Ryan Flynn E: pizza@parseerror.com D: Miscellaneous bug fixes @@ -143,6 +151,8 @@ N: James Grosbach E: grosbach@apple.com D: SjLj exception handling support D: General fixes and improvements for the ARM back-end +D: MCJIT +D: ARM integrated assembler and assembly parser N: Lang Hames E: lhames@gmail.com @@ -265,6 +275,7 @@ N: Takumi Nakamura E: geek4civic@gmail.com E: chapuni@hf.rim.or.jp D: Cygwin and MinGW support. +D: Win32 tweaks. S: Yokohama, Japan N: Edward O'Callaghan @@ -313,6 +324,19 @@ W: http://vladimir_prus.blogspot.com E: ghost@cs.msu.su D: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass +N: Xerxes Ranby +E: xerxes@zafena.se +D: Cmake dependency chain and various bug fixes + +N: Chad Rosier +E: mcrosier@apple.com +D: ARM fast-isel improvements +D: Performance monitoring + +N: Nadav Rotem +E: nadav.rotem@intel.com +D: Vector code generation improvements. + N: Roman Samoilov E: roman@codedgers.com D: MSIL backend @@ -363,12 +387,9 @@ E: lauro.venancio@indt.org.br D: ARM backend improvements D: Thread Local Storage implementation -N: Xerxes Ranby -E: xerxes@zafena.se -D: Cmake dependency chain and various bug fixes - N: Bill Wendling E: wendling@apple.com +D: Exception handling D: Bunches of stuff N: Bob Wilson Modified: vendor/llvm/dist/LICENSE.TXT ============================================================================== --- vendor/llvm/dist/LICENSE.TXT Sat Apr 14 13:40:39 2012 (r234284) +++ vendor/llvm/dist/LICENSE.TXT Sat Apr 14 13:54:10 2012 (r234285) @@ -4,7 +4,7 @@ LLVM Release License University of Illinois/NCSA Open Source License -Copyright (c) 2003-2011 University of Illinois at Urbana-Champaign. +Copyright (c) 2003-2012 University of Illinois at Urbana-Champaign. All rights reserved. Developed by: @@ -67,3 +67,4 @@ Autoconf llvm/autoconf CellSPU backend llvm/lib/Target/CellSPU/README.txt Google Test llvm/utils/unittest/googletest OpenBSD regex llvm/lib/Support/{reg*, COPYRIGHT.regex} +pyyaml tests llvm/test/YAMLParser/{*.data, LICENSE.TXT} Added: vendor/llvm/dist/LLVMBuild.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/llvm/dist/LLVMBuild.txt Sat Apr 14 13:54:10 2012 (r234285) @@ -0,0 +1,24 @@ +;===- ./LLVMBuild.txt ------------------------------------------*- Conf -*--===; +; +; The LLVM Compiler Infrastructure +; +; This file is distributed under the University of Illinois Open Source +; License. See LICENSE.TXT for details. +; +;===------------------------------------------------------------------------===; +; +; This is an LLVMBuild description file for the components in this subdirectory. +; +; For more information on the LLVMBuild system, please see: +; +; http://llvm.org/docs/LLVMBuild.html +; +;===------------------------------------------------------------------------===; + +[common] +subdirectories = bindings docs examples lib projects runtime tools utils + +[component_0] +type = Group +name = Miscellaneous +parent = $ROOT Modified: vendor/llvm/dist/Makefile ============================================================================== --- vendor/llvm/dist/Makefile Sat Apr 14 13:40:39 2012 (r234284) +++ vendor/llvm/dist/Makefile Sat Apr 14 13:54:10 2012 (r234285) @@ -27,7 +27,7 @@ LEVEL := . ifneq ($(findstring llvmCore, $(RC_ProjectName)),llvmCore) # Normal build (not "Apple-style"). ifeq ($(BUILD_DIRS_ONLY),1) - DIRS := lib/Support lib/TableGen utils + DIRS := lib/Support lib/TableGen utils tools/llvm-config OPTIONAL_DIRS := tools/clang/utils/TableGen else DIRS := lib/Support lib/TableGen utils lib/VMCore lib tools/llvm-shlib \ @@ -68,20 +68,14 @@ endif ifeq ($(MAKECMDGOALS),install-clang) DIRS := tools/clang/tools/driver tools/clang/lib/Headers \ + tools/clang/tools/libclang tools/clang/tools/c-index-test \ + tools/clang/include/clang-c \ tools/clang/runtime tools/clang/docs \ tools/lto runtime OPTIONAL_DIRS := NO_INSTALL = 1 endif -ifeq ($(MAKECMDGOALS),install-clang-c) - DIRS := tools/clang/tools/driver tools/clang/lib/Headers \ - tools/clang/tools/libclang tools/clang/tools/c-index-test \ - tools/clang/include/clang-c - OPTIONAL_DIRS := - NO_INSTALL = 1 -endif - ifeq ($(MAKECMDGOALS),clang-only) DIRS := $(filter-out tools docs unittests, $(DIRS)) \ tools/clang tools/lto @@ -126,11 +120,14 @@ cross-compile-build-tools: $(MAKE) -C BuildTools \ BUILD_DIRS_ONLY=1 \ UNIVERSAL= \ + TARGET_NATIVE_ARCH="$(TARGET_NATIVE_ARCH)" \ + TARGETS_TO_BUILD="$(TARGETS_TO_BUILD)" \ ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \ ENABLE_PROFILING=$(ENABLE_PROFILING) \ ENABLE_COVERAGE=$(ENABLE_COVERAGE) \ DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \ ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \ + ENABLE_LIBCPP=$(ENABLE_LIBCPP) \ CFLAGS= \ CXXFLAGS= \ ) || exit 1; @@ -166,7 +163,6 @@ clang-only: all tools-only: all libs-only: all install-clang: install -install-clang-c: install install-libs: install # If SHOW_DIAGNOSTICS is enabled, clear the diagnostics file first. @@ -179,11 +175,18 @@ all-local:: clean-diagnostics endif #------------------------------------------------------------------------ -# Make sure the generated headers are up-to-date. This must be kept in -# sync with the AC_CONFIG_HEADER invocations in autoconf/configure.ac +# Make sure the generated files are up-to-date. This must be kept in +# sync with the AC_CONFIG_HEADER and AC_CONFIG_FILE invocations in +# autoconf/configure.ac. +# Note that Makefile.config is covered by its own separate rule +# in Makefile.rules where it can be reused by sub-projects. #------------------------------------------------------------------------ FilesToConfig := \ + bindings/ocaml/llvm/META.llvm \ + docs/doxygen.cfg \ + llvm.spec \ include/llvm/Config/config.h \ + include/llvm/Config/llvm-config.h \ include/llvm/Config/Targets.def \ include/llvm/Config/AsmPrinters.def \ include/llvm/Config/AsmParsers.def \ @@ -209,7 +212,7 @@ ifneq ($(ENABLE_OPTIMIZED),1) $(Echo) '*****' configure with --enable-optimized. ifeq ($(SHOW_DIAGNOSTICS),1) $(Verb) if test -s $(LLVM_OBJ_ROOT)/$(BuildMode)/diags; then \ - $(LLVM_SRC_ROOT)/utils/show-diagnostics \ + $(LLVM_SRC_ROOT)/utils/clang-parse-diagnostics-file -a \ $(LLVM_OBJ_ROOT)/$(BuildMode)/diags; \ fi endif @@ -243,7 +246,7 @@ SVN-UPDATE-OPTIONS = AWK = awk SUB-SVN-DIRS = $(AWK) '/\?\ \ \ \ \ \ / {print $$2}' \ | LC_ALL=C xargs $(SVN) info 2>/dev/null \ - | $(AWK) '/Path:\ / {print $$2}' + | $(AWK) '/^Path:\ / {print $$2}' update: $(SVN) $(SVN-UPDATE-OPTIONS) update $(LLVM_SRC_ROOT) Modified: vendor/llvm/dist/Makefile.config.in ============================================================================== --- vendor/llvm/dist/Makefile.config.in Sat Apr 14 13:40:39 2012 (r234284) +++ vendor/llvm/dist/Makefile.config.in Sat Apr 14 13:54:10 2012 (r234285) @@ -13,7 +13,7 @@ #===------------------------------------------------------------------------===# # Define LLVM specific info and directories based on the autoconf variables -LLVMPackageName := @PACKAGE_NAME@ +LLVMPackageName := @PACKAGE_TARNAME@ LLVMVersion := @PACKAGE_VERSION@ LLVM_CONFIGTIME := @LLVM_CONFIGTIME@ @@ -46,11 +46,19 @@ realpath = $(shell cd $(1); $(PWD)) PROJ_OBJ_DIR := $(call realpath, .) PROJ_OBJ_ROOT := $(call realpath, $(PROJ_OBJ_DIR)/$(LEVEL)) -ifeq ($(PROJECT_NAME),llvm) +CLANG_SRC_ROOT := @CLANG_SRC_ROOT@ + +ifeq ($(PROJECT_NAME),$(LLVMPackageName)) LLVM_SRC_ROOT := $(call realpath, @abs_top_srcdir@) LLVM_OBJ_ROOT := $(call realpath, @abs_top_builddir@) PROJ_SRC_ROOT := $(LLVM_SRC_ROOT) -PROJ_SRC_DIR := $(call realpath, $(LLVM_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR))) +PROJ_SRC_DIR := $(LLVM_SRC_ROOT)$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR)) + +ifneq ($(CLANG_SRC_ROOT),) + CLANG_SRC_ROOT:= $(call realpath, $(CLANG_SRC_ROOT)) + PROJ_SRC_DIR := $(patsubst $(LLVM_SRC_ROOT)/tools/clang%,$(CLANG_SRC_ROOT)%,$(PROJ_SRC_DIR)) +endif + prefix := @prefix@ PROJ_prefix := $(prefix) PROJ_VERSION := $(LLVMVersion) @@ -78,7 +86,12 @@ PROJ_VERSION := 1.0 endif endif -LLVMMAKE := $(LLVM_SRC_ROOT)/make +INTERNAL_PREFIX := @INTERNAL_PREFIX@ +ifneq ($(INTERNAL_PREFIX),) +PROJ_internal_prefix := $(INTERNAL_PREFIX) +else +PROJ_internal_prefix := $(prefix) +endif PROJ_bindir := $(PROJ_prefix)/bin PROJ_libdir := $(PROJ_prefix)/lib @@ -101,6 +114,7 @@ TARGET_OS=@TARGET_OS@ # Target hardware architecture ARCH=@ARCH@ +TARGET_NATIVE_ARCH := $(ARCH) # Indicates, whether we're cross-compiling LLVM or not LLVM_CROSS_COMPILING=@LLVM_CROSS_COMPILING@ @@ -161,7 +175,6 @@ SED := @SED@ TAR := @TAR@ # Paths to miscellaneous programs we hope are present but might not be -PERL := @PERL@ BZIP2 := @BZIP2@ CAT := @CAT@ DOT := @DOT@ @@ -180,7 +193,6 @@ RUNTEST := @RUNTEST@ TCLSH := @TCLSH@ ZIP := @ZIP@ -HAVE_PERL := @HAVE_PERL@ HAVE_PTHREAD := @HAVE_PTHREAD@ LIBS := @LIBS@ @@ -202,6 +214,10 @@ RDYNAMIC := @RDYNAMIC@ # These are options that can either be enabled here, or can be enabled on the # make command line (ie, make ENABLE_PROFILING=1): +# When ENABLE_LIBCPP is enabled, LLVM uses libc++ by default to build. +#ENABLE_LIBCPP = 0 +ENABLE_LIBCPP = @ENABLE_LIBCPP@ + # When ENABLE_OPTIMIZED is enabled, LLVM code is optimized and output is put # into the "Release" directories. Otherwise, LLVM code is not optimized and # output is put in the "Debug" directories. @@ -319,9 +335,19 @@ BINUTILS_INCDIR := @BINUTILS_INCDIR@ NO_MISSING_FIELD_INITIALIZERS = @NO_MISSING_FIELD_INITIALIZERS@ # -Wno-variadic-macros NO_VARIADIC_MACROS = @NO_VARIADIC_MACROS@ +# -Wcovered-switch-default +COVERED_SWITCH_DEFAULT = @COVERED_SWITCH_DEFAULT@ # Was polly found in tools/polly? LLVM_HAS_POLLY = @LLVM_HAS_POLLY@ # Flags supported by the linker. # bfd ld / gold --version-script=file HAVE_LINK_VERSION_SCRIPT = @HAVE_LINK_VERSION_SCRIPT@ + +# Flags to control building support for Intel JIT Events API +USE_INTEL_JITEVENTS := @USE_INTEL_JITEVENTS@ +INTEL_JITEVENTS_INCDIR := @INTEL_JITEVENTS_INCDIR@ +INTEL_JITEVENTS_LIBDIR := @INTEL_JITEVENTS_LIBDIR@ + +# Flags to control building support for OProfile JIT API +USE_OPROFILE := @USE_OPROFILE@ Modified: vendor/llvm/dist/Makefile.rules ============================================================================== --- vendor/llvm/dist/Makefile.rules Sat Apr 14 13:40:39 2012 (r234284) +++ vendor/llvm/dist/Makefile.rules Sat Apr 14 13:54:10 2012 (r234285) @@ -57,6 +57,72 @@ VPATH=$(PROJ_SRC_DIR) $(UserTargets):: +#------------------------------------------------------------------------ +# LLVMBuild Integration +#------------------------------------------------------------------------ +# +# We use llvm-build to generate all the data required by the Makefile based +# build system in one swoop: +# +# - We generate a file (a Makefile fragment) in the object root which contains +# all the definitions that are required by Makefiles across the entire +# project. +# +# - We generate the library table used by llvm-config. +# +# - We generate the dependencies for the Makefile fragment, so that we will +# automatically reconfigure outselves. + +# The path to the llvm-build tool itself. +LLVMBuildTool := $(PROJ_SRC_ROOT)/utils/llvm-build/llvm-build + +# The files we are going to generate using llvm-build. +LLVMBuildMakeFrag := $(PROJ_OBJ_ROOT)/Makefile.llvmbuild +LLVMConfigLibraryDependenciesInc := \ + $(PROJ_OBJ_ROOT)/tools/llvm-config/LibraryDependencies.inc + +# This is for temporary backwards compatibility. +ifndef TARGET_NATIVE_ARCH +TARGET_NATIVE_ARCH := $(ARCH) +endif + +# The rule to create the LLVMBuild Makefile fragment as well as the llvm-config +# library table. +# +# Note that this target gets its real dependencies generated for us by +# llvm-build. +# +# We include a dependency on this Makefile to ensure that changes to the +# generation command get picked up. +$(LLVMBuildMakeFrag): $(PROJ_SRC_ROOT)/Makefile.rules \ + $(PROJ_OBJ_ROOT)/Makefile.config + $(Echo) Constructing LLVMBuild project information. + $(Verb) $(LLVMBuildTool) \ + --native-target "$(TARGET_NATIVE_ARCH)" \ + --enable-targets "$(TARGETS_TO_BUILD)" \ + --write-library-table $(LLVMConfigLibraryDependenciesInc) \ + --write-make-fragment $(LLVMBuildMakeFrag) + +# For completeness, let Make know how the extra files are generated. +$(LLVMConfigLibraryDependenciesInc): $(LLVMBuildMakeFrag) + +# Include the generated Makefile fragment. +# +# We currently only include the dependencies for the fragment itself if we are +# at the top-level. Otherwise, recursive invocations would ends up doing +# substantially more redundant stat'ing. +# +# This means that we won't properly regenerate things for developers used to +# building from a subdirectory, but that is always somewhat unreliable. +ifeq ($(LEVEL),.) +LLVMBUILD_INCLUDE_DEPENDENCIES := 1 + +# Clean the generated makefile fragment at the top-level. +clean-local:: + -$(Verb) $(RM) -f $(LLVMBuildMakeFrag) +endif +-include $(LLVMBuildMakeFrag) + ################################################################################ # PRECONDITIONS: that which must be built/checked first ################################################################################ @@ -245,6 +311,11 @@ else endif endif +ifeq ($(ENABLE_LIBCPP),1) + CXX.Flags += -stdlib=libc++ + LD.Flags += -stdlib=libc++ +endif + ifeq ($(ENABLE_PROFILING),1) BuildMode := $(BuildMode)+Profile CXX.Flags := $(filter-out -fomit-frame-pointer,$(CXX.Flags)) -pg -g @@ -253,9 +324,9 @@ ifeq ($(ENABLE_PROFILING),1) KEEP_SYMBOLS := 1 endif -#ifeq ($(ENABLE_VISIBILITY_INLINES_HIDDEN),1) -# CXX.Flags += -fvisibility-inlines-hidden -#endif +ifeq ($(ENABLE_VISIBILITY_INLINES_HIDDEN),1) + CXX.Flags += -fvisibility-inlines-hidden +endif ifdef ENABLE_EXPENSIVE_CHECKS # GNU libstdc++ uses RTTI if you define _GLIBCXX_DEBUG, which we did above. @@ -445,8 +516,12 @@ endif #-------------------------------------------------------------------- # Full Paths To Compiled Tools and Utilities #-------------------------------------------------------------------- -EchoCmd = $(ECHO) llvm[$(MAKELEVEL)]: -Echo = @$(EchoCmd) +EchoCmd := $(ECHO) llvm[$(MAKELEVEL)]: +ifdef BUILD_DIRS_ONLY +EchoCmd := $(EchoCmd) "(build tools)": +endif + +Echo := @$(EchoCmd) ifndef LLVMAS LLVMAS := $(LLVMToolDir)/llvm-as$(EXEEXT) endif @@ -457,7 +532,11 @@ ifndef LLVM_TBLGEN LLVM_TBLGEN := $(LLVMToolDir)/llvm-tblgen$(EXEEXT) endif endif -LLVM_CONFIG := $(LLVMToolDir)/llvm-config +ifeq ($(LLVM_CROSS_COMPILING),1) + LLVM_CONFIG := $(BuildLLVMToolDir)/llvm-config$(BUILD_EXEEXT) +else + LLVM_CONFIG := $(LLVMToolDir)/llvm-config$(EXEEXT) +endif ifndef LLVMLD LLVMLD := $(LLVMToolDir)/llvm-ld$(EXEEXT) endif @@ -571,7 +650,7 @@ ifndef NO_PEDANTIC CompileCommonOpts += -pedantic -Wno-long-long endif CompileCommonOpts += -Wall -W -Wno-unused-parameter -Wwrite-strings \ - $(EXTRA_OPTIONS) + $(EXTRA_OPTIONS) $(COVERED_SWITCH_DEFAULT) # Enable cast-qual for C++; the workaround is to use const_cast. CXX.Flags += -Wcast-qual @@ -622,7 +701,13 @@ ifeq ($(HOST_OS),AuroraUX) CPP.BaseFlags += -include llvm/Support/Solaris.h endif # !HOST_OS - AuroraUX. -LD.Flags += -L$(LibDir) -L$(LLVMLibDir) +# On Windows, SharedLibDir != LibDir. The order is important. +ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) + LD.Flags += -L$(SharedLibDir) -L$(LibDir) -L$(LLVMToolDir) -L$(LLVMLibDir) +else + LD.Flags += -L$(LibDir) -L$(LLVMLibDir) +endif + CPP.BaseFlags += -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS # All -I flags should go here, so that they don't confuse llvm-config. CPP.Flags += $(sort -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \ @@ -631,6 +716,10 @@ CPP.Flags += $(sort -I$(PROJ_OBJ_DIR $(LLVM_OBJ_ROOT) $(LLVM_SRC_ROOT))) \ $(CPP.BaseFlags) +ifeq ($(INCLUDE_BUILD_DIR),1) + CPP.Flags += -I$(ObjDir) +endif + # SHOW_DIAGNOSTICS support. ifeq ($(SHOW_DIAGNOSTICS),1) Compile.Wrapper := env CC_LOG_DIAGNOSTICS=1 \ @@ -639,35 +728,18 @@ else Compile.Wrapper := endif -ifeq ($(BUILD_COMPONENT), 1) - Compile.C = $(Compile.Wrapper) \ - $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ - $(TargetCommonOpts) $(CompileCommonOpts) -c - Compile.CXX = $(Compile.Wrapper) \ - $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ - $(CPPFLAGS) \ - $(TargetCommonOpts) $(CompileCommonOpts) -c - Preprocess.CXX= $(Compile.Wrapper) \ - $(BUILD_CXX) $(CPP.Flags) $(CPPFLAGS) $(TargetCommonOpts) \ - $(CompileCommonOpts) $(CXX.Flags) -E - Link = $(Compile.Wrapper) \ - $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ - $(LD.Flags) $(LDFLAGS) \ - $(TargetCommonOpts) $(CompileCommonOpts) $(Strip) -else - Compile.C = $(Compile.Wrapper) \ +Compile.C = $(Compile.Wrapper) \ $(CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ - $(TargetCommonOpts) $(CompileCommonOpts) -c - Compile.CXX = $(Compile.Wrapper) \ + $(TargetCommonOpts) $(CompileCommonOpts) -c +Compile.CXX = $(Compile.Wrapper) \ $(CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) $(CPPFLAGS) \ - $(TargetCommonOpts) $(CompileCommonOpts) -c - Preprocess.CXX= $(Compile.Wrapper) \ + $(TargetCommonOpts) $(CompileCommonOpts) -c +Preprocess.CXX= $(Compile.Wrapper) \ $(CXX) $(CPP.Flags) $(TargetCommonOpts) $(CPPFLAGS) \ - $(CompileCommonOpts) $(CXX.Flags) -E - Link = $(Compile.Wrapper) \ + $(CompileCommonOpts) $(CXX.Flags) -E +Link = $(Compile.Wrapper) \ $(CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) $(LD.Flags) \ - $(LDFLAGS) $(TargetCommonOpts) $(CompileCommonOpts) $(Strip) -endif + $(LDFLAGS) $(TargetCommonOpts) $(CompileCommonOpts) $(Strip) BCCompile.C = $(LLVMCC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ $(TargetCommonOpts) $(CompileCommonOpts) @@ -806,7 +878,7 @@ endif # Handle the OPTIONAL_PARALLEL_DIRS options for optional parallel construction #----------------------------------------------------------- ifdef OPTIONAL_PARALLEL_DIRS - PARALLEL_DIRS += $(foreach T,$(OPTIONAL_PARALLEL_DIRS),$(shell test -d $(PROJ_SRC_DIR)/$(T) && echo "$(T)")) + PARALLEL_DIRS += $(foreach T,$(OPTIONAL_PARALLEL_DIRS),$(shell test -d $(PROJ_SRC_DIR)/$(T) -o -f $(T)/Makefile && echo "$(T)")) endif #----------------------------------------------------------- @@ -828,13 +900,20 @@ unitcheck:: $(addsuffix /.makeunitcheck, ParallelTargets := $(foreach T,$(RecursiveTargets),%/.make$(T)) $(ParallelTargets) : - $(Verb) if ([ ! -f $(@D)/Makefile ] || \ - command test $(@D)/Makefile -ot \ - $(PROJ_SRC_DIR)/$(@D)/Makefile ); then \ - $(MKDIR) $(@D); \ - $(CP) $(PROJ_SRC_DIR)/$(@D)/Makefile $(@D)/Makefile; \ + $(Verb) \ + SD=$(PROJ_SRC_DIR)/$(@D); \ + DD=$(@D); \ + if [ ! -f $$SD/Makefile ]; then \ + SD=$(@D); \ + DD=$(notdir $(@D)); \ + fi; \ + if ([ ! -f $$DD/Makefile ] || \ + command test $$DD/Makefile -ot \ + $$SD/Makefile ); then \ + $(MKDIR) $$DD; \ + $(CP) $$SD/Makefile $$DD/Makefile; \ fi; \ - $(MAKE) -C $(@D) $(subst $(@D)/.make,,$@) + $(MAKE) -C $$DD $(subst $(@D)/.make,,$@) endif #--------------------------------------------------------- @@ -991,7 +1070,7 @@ ifeq ($(HAVE_LINK_VERSION_SCRIPT),1) NativeExportsFile := $(ObjDir)/$(notdir $(EXPORTED_SYMBOL_FILE)).map $(NativeExportsFile): $(EXPORTED_SYMBOL_FILE) $(ObjDir)/.dir $(Verb) echo "{" > $@ - $(Verb) grep -q "\<" $< && echo " global:" >> $@ || : + $(Verb) grep -q '[[:alnum:]_]' $< && echo " global:" >> $@ || : $(Verb) sed -e 's/$$/;/' -e 's/^/ /' < $< >> $@ ifneq ($(HOST_OS),OpenBSD) $(Verb) echo " local: *;" >> $@ @@ -1353,7 +1432,7 @@ LD.Flags += -Wl,-exported_symbol,_main endif endif -ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD)) +ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU)) ifneq ($(ARCH), Mips) LD.Flags += -Wl,--version-script=$(LLVM_SRC_ROOT)/autoconf/ExportMap.map endif @@ -1413,12 +1492,23 @@ else $(ToolBuildPath): $(ToolDir)/.dir endif +ifdef CODESIGN_TOOLS +$(ToolBuildPath): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths) + $(Echo) Linking $(BuildMode) executable $(TOOLNAME) $(StripWarnMsg) + $(Verb) $(Link) -o $@ $(TOOLLINKOPTS) $(ObjectsO) $(ProjLibsOptions) \ + $(LLVMLibsOptions) $(ExtraLibs) $(TOOLLINKOPTSB) $(LIBS) + $(Echo) ======= Finished Linking $(BuildMode) Executable $(TOOLNAME) \ + $(StripWarnMsg) + $(Echo) ======= Code-Signing $(BuildMode) Executable $(TOOLNAME) + $(Verb) codesign -s - $@ +else $(ToolBuildPath): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths) $(Echo) Linking $(BuildMode) executable $(TOOLNAME) $(StripWarnMsg) $(Verb) $(Link) -o $@ $(TOOLLINKOPTS) $(ObjectsO) $(ProjLibsOptions) \ $(LLVMLibsOptions) $(ExtraLibs) $(TOOLLINKOPTSB) $(LIBS) $(Echo) ======= Finished Linking $(BuildMode) Executable $(TOOLNAME) \ $(StripWarnMsg) +endif ifneq ($(strip $(ToolAliasBuildPath)),) $(ToolAliasBuildPath): $(ToolBuildPath) @@ -1435,12 +1525,19 @@ install-local:: uninstall-local:: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 13:55:51 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3CCD61065670; Sat, 14 Apr 2012 13:55:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0EFE18FC20; Sat, 14 Apr 2012 13:55:51 +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 q3EDto6w032904; Sat, 14 Apr 2012 13:55:50 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EDto1E032903; Sat, 14 Apr 2012 13:55:50 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204141355.q3EDto1E032903@svn.freebsd.org> From: Dimitry Andric Date: Sat, 14 Apr 2012 13:55:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234286 - vendor/llvm/llvm-trunk-r154661 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 13:55:51 -0000 Author: dim Date: Sat Apr 14 13:55:50 2012 New Revision: 234286 URL: http://svn.freebsd.org/changeset/base/234286 Log: Tag llvm trunk r154661. Added: vendor/llvm/llvm-trunk-r154661/ - copied from r234285, vendor/llvm/dist/ From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 14:01:36 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 14042106566C; Sat, 14 Apr 2012 14:01:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E8E868FC23; Sat, 14 Apr 2012 14:01:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EE1ZO2033169; Sat, 14 Apr 2012 14:01:35 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EE1ZaF033157; Sat, 14 Apr 2012 14:01:35 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204141401.q3EE1ZaF033157@svn.freebsd.org> From: Dimitry Andric Date: Sat, 14 Apr 2012 14:01:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234287 - in vendor/clang/dist: . INPUTS bindings/python/clang bindings/python/tests/cindex clang.xcodeproj docs docs/tools examples examples/PrintFunctionNames examples/analyzer-plugin... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 14:01:36 -0000 Author: dim Date: Sat Apr 14 14:01:31 2012 New Revision: 234287 URL: http://svn.freebsd.org/changeset/base/234287 Log: Vendor import of clang trunk r154661: http://llvm.org/svn/llvm-project/cfe/trunk@r154661 Added: vendor/clang/dist/bindings/python/tests/cindex/test_file.py vendor/clang/dist/bindings/python/tests/cindex/util.py vendor/clang/dist/docs/AddressSanitizer.html vendor/clang/dist/docs/ObjectiveCLiterals.html vendor/clang/dist/docs/ReleaseNotes.html vendor/clang/dist/include/clang/AST/BuiltinTypes.def vendor/clang/dist/include/clang/AST/DeclLookups.h vendor/clang/dist/include/clang/AST/LambdaMangleContext.h vendor/clang/dist/include/clang/AST/NSAPI.h vendor/clang/dist/include/clang/Analysis/Analyses/Dominators.h vendor/clang/dist/include/clang/Analysis/Analyses/PostOrderCFGView.h vendor/clang/dist/include/clang/Analysis/CallGraph.h vendor/clang/dist/include/clang/Basic/AllDiagnostics.h vendor/clang/dist/include/clang/Basic/BuiltinsHexagon.def vendor/clang/dist/include/clang/Basic/DiagnosticSerializationKinds.td vendor/clang/dist/include/clang/Basic/Lambda.h vendor/clang/dist/include/clang/Basic/Module.h vendor/clang/dist/include/clang/Config/config.h.in vendor/clang/dist/include/clang/Edit/ vendor/clang/dist/include/clang/Edit/Commit.h vendor/clang/dist/include/clang/Edit/EditedSource.h vendor/clang/dist/include/clang/Edit/EditsReceiver.h vendor/clang/dist/include/clang/Edit/FileOffset.h vendor/clang/dist/include/clang/Edit/Rewriters.h vendor/clang/dist/include/clang/Frontend/ChainedIncludesSource.h vendor/clang/dist/include/clang/Frontend/DiagnosticRenderer.h vendor/clang/dist/include/clang/Frontend/LayoutOverrideSource.h vendor/clang/dist/include/clang/Frontend/MigratorOptions.h vendor/clang/dist/include/clang/Frontend/SerializedDiagnosticPrinter.h vendor/clang/dist/include/clang/Frontend/TextDiagnostic.h vendor/clang/dist/include/clang/Index/GlobalCallGraph.h vendor/clang/dist/include/clang/Lex/ModuleMap.h vendor/clang/dist/include/clang/Sema/CMakeLists.txt vendor/clang/dist/include/clang/Sema/Makefile vendor/clang/dist/include/clang/Serialization/SerializationDiagnostic.h vendor/clang/dist/include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h vendor/clang/dist/include/clang/Tooling/ vendor/clang/dist/include/clang/Tooling/CompilationDatabase.h vendor/clang/dist/include/clang/Tooling/Tooling.h vendor/clang/dist/lib/ARCMigrate/ObjCMT.cpp vendor/clang/dist/lib/ARCMigrate/TransGCAttrs.cpp vendor/clang/dist/lib/ARCMigrate/TransGCCalls.cpp vendor/clang/dist/lib/AST/LambdaMangleContext.cpp vendor/clang/dist/lib/AST/NSAPI.cpp vendor/clang/dist/lib/Analysis/AnalysisDeclContext.cpp vendor/clang/dist/lib/Analysis/CallGraph.cpp vendor/clang/dist/lib/Analysis/Dominators.cpp vendor/clang/dist/lib/Analysis/PostOrderCFGView.cpp vendor/clang/dist/lib/Basic/Module.cpp vendor/clang/dist/lib/Driver/WindowsToolChain.cpp vendor/clang/dist/lib/Edit/ vendor/clang/dist/lib/Edit/CMakeLists.txt vendor/clang/dist/lib/Edit/Commit.cpp vendor/clang/dist/lib/Edit/EditedSource.cpp vendor/clang/dist/lib/Edit/Makefile vendor/clang/dist/lib/Edit/RewriteObjCFoundationAPI.cpp vendor/clang/dist/lib/Frontend/ChainedDiagnosticConsumer.cpp vendor/clang/dist/lib/Frontend/ChainedIncludesSource.cpp vendor/clang/dist/lib/Frontend/DependencyGraph.cpp vendor/clang/dist/lib/Frontend/DiagnosticRenderer.cpp vendor/clang/dist/lib/Frontend/LayoutOverrideSource.cpp vendor/clang/dist/lib/Frontend/SerializedDiagnosticPrinter.cpp vendor/clang/dist/lib/Frontend/TextDiagnostic.cpp vendor/clang/dist/lib/Headers/avx2intrin.h vendor/clang/dist/lib/Headers/bmi2intrin.h vendor/clang/dist/lib/Headers/bmiintrin.h vendor/clang/dist/lib/Headers/cpuid.h vendor/clang/dist/lib/Headers/fma4intrin.h vendor/clang/dist/lib/Headers/lzcntintrin.h vendor/clang/dist/lib/Headers/module.map vendor/clang/dist/lib/Headers/popcntintrin.h vendor/clang/dist/lib/Headers/unwind.h vendor/clang/dist/lib/Index/GlobalCallGraph.cpp vendor/clang/dist/lib/Lex/ModuleMap.cpp vendor/clang/dist/lib/Lex/PPCallbacks.cpp vendor/clang/dist/lib/Rewrite/RewriteModernObjC.cpp vendor/clang/dist/lib/Sema/SemaConsumer.cpp vendor/clang/dist/lib/Sema/SemaLambda.cpp vendor/clang/dist/lib/Sema/SemaPseudoObject.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CommonBugCategories.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/InterCheckerAPI.h vendor/clang/dist/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/FunctionSummary.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SubEngine.cpp vendor/clang/dist/lib/Tooling/ vendor/clang/dist/lib/Tooling/CMakeLists.txt vendor/clang/dist/lib/Tooling/CompilationDatabase.cpp vendor/clang/dist/lib/Tooling/Makefile vendor/clang/dist/lib/Tooling/Tooling.cpp vendor/clang/dist/test/ARCMT/GC-check-warn-nsalloc.m vendor/clang/dist/test/ARCMT/GC-check.m vendor/clang/dist/test/ARCMT/GC-no-arc-runtime.m vendor/clang/dist/test/ARCMT/GC-no-arc-runtime.m.result vendor/clang/dist/test/ARCMT/GC-no-finalize-removal.m vendor/clang/dist/test/ARCMT/GC-no-finalize-removal.m.result vendor/clang/dist/test/ARCMT/GC.h vendor/clang/dist/test/ARCMT/GC.m vendor/clang/dist/test/ARCMT/GC.m.result vendor/clang/dist/test/ARCMT/check-with-serialized-diag.m vendor/clang/dist/test/ARCMT/dispatch.m vendor/clang/dist/test/ARCMT/dispatch.m.result vendor/clang/dist/test/ARCMT/no-canceling-bridge-to-bridge-cast.m vendor/clang/dist/test/ARCMT/objcmt-numeric-literals.m vendor/clang/dist/test/ARCMT/objcmt-numeric-literals.m.result vendor/clang/dist/test/ARCMT/objcmt-subscripting-literals.m vendor/clang/dist/test/ARCMT/objcmt-subscripting-literals.m.result vendor/clang/dist/test/Analysis/CFContainers.mm vendor/clang/dist/test/Analysis/bool-assignment.cpp vendor/clang/dist/test/Analysis/bool-assignment2.c vendor/clang/dist/test/Analysis/check-deserialization.cpp vendor/clang/dist/test/Analysis/coverage.c vendor/clang/dist/test/Analysis/cstring-syntax-cxx.cpp vendor/clang/dist/test/Analysis/cstring-syntax.c vendor/clang/dist/test/Analysis/debug-CallGraph.c vendor/clang/dist/test/Analysis/default-analyze.m vendor/clang/dist/test/Analysis/domtest.c vendor/clang/dist/test/Analysis/dynamic-cast.cpp vendor/clang/dist/test/Analysis/global-region-invalidation.c vendor/clang/dist/test/Analysis/html-diags-multifile.c vendor/clang/dist/test/Analysis/html-diags-multifile.h vendor/clang/dist/test/Analysis/html-diags.c vendor/clang/dist/test/Analysis/inline-not-supported.c vendor/clang/dist/test/Analysis/inline-plist.c vendor/clang/dist/test/Analysis/inline-unique-reports.c vendor/clang/dist/test/Analysis/lambdas.cpp vendor/clang/dist/test/Analysis/malloc-annotations.c vendor/clang/dist/test/Analysis/malloc-interprocedural.c vendor/clang/dist/test/Analysis/malloc-plist.c vendor/clang/dist/test/Analysis/malloc-sizeof.c vendor/clang/dist/test/Analysis/malloc.cpp vendor/clang/dist/test/Analysis/malloc.m vendor/clang/dist/test/Analysis/malloc.mm vendor/clang/dist/test/Analysis/method-call-intra-p.cpp vendor/clang/dist/test/Analysis/objc-bool.m vendor/clang/dist/test/Analysis/objc-method-coverage.m vendor/clang/dist/test/Analysis/redefined_system.c vendor/clang/dist/test/Analysis/retain-release-inline.m vendor/clang/dist/test/Analysis/stats.c vendor/clang/dist/test/Analysis/system-header-simulator-objc.h vendor/clang/dist/test/Analysis/system-header-simulator.h vendor/clang/dist/test/Analysis/taint-generic.c vendor/clang/dist/test/Analysis/taint-tester.c vendor/clang/dist/test/Analysis/taint-tester.cpp vendor/clang/dist/test/Analysis/taint-tester.m vendor/clang/dist/test/Analysis/virtualcall.cpp vendor/clang/dist/test/CXX/basic/basic.start/basic.start.main/p2i.cpp vendor/clang/dist/test/CXX/class.access/class.protected/p1-cxx11.cpp vendor/clang/dist/test/CXX/class.derived/p1.cpp vendor/clang/dist/test/CXX/class/class.base/ vendor/clang/dist/test/CXX/class/class.base/class.base.init/ vendor/clang/dist/test/CXX/class/class.base/class.base.init/p5-0x.cpp vendor/clang/dist/test/CXX/class/class.friend/p1-cxx11.cpp vendor/clang/dist/test/CXX/class/class.local/p1-0x.cpp vendor/clang/dist/test/CXX/class/class.union/p2-0x.cpp vendor/clang/dist/test/CXX/conv/conv.prom/p2.cpp vendor/clang/dist/test/CXX/conv/conv.prom/p4.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.attr/dcl.attr.grammar/p6.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p5.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p2.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.simple/p5-cxx0x.cpp vendor/clang/dist/test/CXX/dcl.dcl/p4-0x.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/ vendor/clang/dist/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.list/p7-cxx11-nowarn.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/p1.cpp vendor/clang/dist/test/CXX/expr/expr.ass/p9-cxx11.cpp vendor/clang/dist/test/CXX/expr/expr.const/p3-0x-nowarn.cpp vendor/clang/dist/test/CXX/expr/expr.const/p3-0x.cpp vendor/clang/dist/test/CXX/expr/expr.const/p5-0x.cpp vendor/clang/dist/test/CXX/expr/expr.post/expr.type.conv/p1-0x.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.general/p12-0x.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.general/p4-0x.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.general/p8-0x.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/blocks.mm vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/default-arguments.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p10.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p11.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p12.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p13.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p14.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p15.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p16.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p18.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p19.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p2.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p20.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p21.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p3.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p4.mm vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p6.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/p8.cpp vendor/clang/dist/test/CXX/expr/expr.prim/expr.prim.lambda/templates.cpp vendor/clang/dist/test/CXX/expr/expr.unary/expr.new/p17-crash.cpp vendor/clang/dist/test/CXX/expr/expr.unary/expr.new/p17.cpp vendor/clang/dist/test/CXX/expr/expr.unary/expr.unary.op/p3.cpp vendor/clang/dist/test/CXX/lex/lex.charset/p2-cxx11.cpp vendor/clang/dist/test/CXX/lex/lex.charset/p2-cxx98.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p10.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p2.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p3.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p4.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p5.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p6.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p7.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p8.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p9.cpp vendor/clang/dist/test/CXX/over/over.match/over.match.best/over.best.ics/over.ics.list/p6.cpp vendor/clang/dist/test/CXX/over/over.match/over.match.funcs/over.match.copy/p1.cpp vendor/clang/dist/test/CXX/over/over.oper/over.literal/p2.cpp vendor/clang/dist/test/CXX/over/over.oper/over.literal/p3.cpp vendor/clang/dist/test/CXX/over/over.oper/over.literal/p5.cpp vendor/clang/dist/test/CXX/over/over.oper/over.literal/p6.cpp vendor/clang/dist/test/CXX/over/over.oper/over.literal/p7.cpp vendor/clang/dist/test/CXX/over/over.oper/over.literal/p8.cpp vendor/clang/dist/test/CXX/special/class.copy/p13-0x.cpp vendor/clang/dist/test/CXX/special/class.copy/p15-inclass.cpp vendor/clang/dist/test/CXX/special/class.ctor/p6-0x.cpp vendor/clang/dist/test/CXX/special/class.dtor/p10-0x.cpp vendor/clang/dist/test/CXX/special/class.dtor/p5-0x.cpp vendor/clang/dist/test/CXX/stmt.stmt/stmt.ambig/p1-0x.cpp vendor/clang/dist/test/CXX/stmt.stmt/stmt.select/stmt.switch/p2-0x.cpp vendor/clang/dist/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp vendor/clang/dist/test/CXX/temp/temp.decls/temp.class/temp.mem.enum/ vendor/clang/dist/test/CXX/temp/temp.decls/temp.class/temp.mem.enum/p1.cpp vendor/clang/dist/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp vendor/clang/dist/test/CXX/temp/temp.param/p5.cpp vendor/clang/dist/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2-0x.cpp vendor/clang/dist/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.inst/p1.cpp vendor/clang/dist/test/CodeGen/3dnow-builtins.c vendor/clang/dist/test/CodeGen/Inputs/ vendor/clang/dist/test/CodeGen/Inputs/stdio.h vendor/clang/dist/test/CodeGen/address-safety-attr.cpp vendor/clang/dist/test/CodeGen/align-param.c vendor/clang/dist/test/CodeGen/alignment.c vendor/clang/dist/test/CodeGen/arm-aapcs-zerolength-bitfield.c vendor/clang/dist/test/CodeGen/atomic_ops.c vendor/clang/dist/test/CodeGen/avx-builtins.c vendor/clang/dist/test/CodeGen/avx2-builtins.c vendor/clang/dist/test/CodeGen/bmi-builtins.c vendor/clang/dist/test/CodeGen/bmi2-builtins.c vendor/clang/dist/test/CodeGen/builtin-recursive.cc vendor/clang/dist/test/CodeGen/builtinshufflevector2.c vendor/clang/dist/test/CodeGen/count-builtins.c vendor/clang/dist/test/CodeGen/debug-info-args.c vendor/clang/dist/test/CodeGen/debug-info-block.c vendor/clang/dist/test/CodeGen/debug-info-compilation-dir.c vendor/clang/dist/test/CodeGen/debug-info-static.c vendor/clang/dist/test/CodeGen/debug-line-1.c vendor/clang/dist/test/CodeGen/decl-in-prototype.c vendor/clang/dist/test/CodeGen/ext-vector-member-alignment.c vendor/clang/dist/test/CodeGen/fma4-builtins.c vendor/clang/dist/test/CodeGen/libcalls-fno-builtin.c vendor/clang/dist/test/CodeGen/lifetime.c vendor/clang/dist/test/CodeGen/link-bitcode-file.c vendor/clang/dist/test/CodeGen/lzcnt-builtins.c vendor/clang/dist/test/CodeGen/mips-clobber-reg.c vendor/clang/dist/test/CodeGen/mips-constraint-regs.c vendor/clang/dist/test/CodeGen/mips64-class-return.cpp vendor/clang/dist/test/CodeGen/mips64-f128-literal.c vendor/clang/dist/test/CodeGen/mips64-nontrivial-return.cpp vendor/clang/dist/test/CodeGen/mips64-padding-arg.c vendor/clang/dist/test/CodeGen/ms-declspecs.c vendor/clang/dist/test/CodeGen/noinline.c vendor/clang/dist/test/CodeGen/override-layout.c vendor/clang/dist/test/CodeGen/packed-nest-unpacked.c vendor/clang/dist/test/CodeGen/popcnt-builtins.c vendor/clang/dist/test/CodeGen/powerpc_types.c vendor/clang/dist/test/CodeGen/pr12251.c vendor/clang/dist/test/CodeGen/redefine_extname.c vendor/clang/dist/test/CodeGen/string-literal-unicode-conversion.c vendor/clang/dist/test/CodeGen/tbaa-for-vptr.cpp vendor/clang/dist/test/CodeGen/utf16-cfstrings.c vendor/clang/dist/test/CodeGen/vla-4.c vendor/clang/dist/test/CodeGen/vld_dup.c vendor/clang/dist/test/CodeGen/x86_32-arguments-win32.c vendor/clang/dist/test/CodeGenCXX/2011-12-19-init-list-ctor.cpp vendor/clang/dist/test/CodeGenCXX/2012-02-06-VecInitialization.cpp vendor/clang/dist/test/CodeGenCXX/2012-03-16-StoreAlign.cpp vendor/clang/dist/test/CodeGenCXX/apple-kext.cpp vendor/clang/dist/test/CodeGenCXX/atomic.cpp vendor/clang/dist/test/CodeGenCXX/atomicinit.cpp vendor/clang/dist/test/CodeGenCXX/block.cpp vendor/clang/dist/test/CodeGenCXX/blocks-cxx11.cpp vendor/clang/dist/test/CodeGenCXX/const-init-cxx11.cpp vendor/clang/dist/test/CodeGenCXX/cxx0x-initializer-array.cpp vendor/clang/dist/test/CodeGenCXX/cxx0x-initializer-references.cpp vendor/clang/dist/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-pr12086.cpp vendor/clang/dist/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-startend.cpp vendor/clang/dist/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp vendor/clang/dist/test/CodeGenCXX/cxx11-unrestricted-union.cpp vendor/clang/dist/test/CodeGenCXX/cxx11-user-defined-literal.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-artificial-arg.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-context.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-fwd-ref.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-limit-type.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-method2.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-static-fns.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-template-limit.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-template-member.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-template-recursive.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-use-after-free.cpp vendor/clang/dist/test/CodeGenCXX/debug-lambda-expressions.cpp vendor/clang/dist/test/CodeGenCXX/forward-enum.cpp vendor/clang/dist/test/CodeGenCXX/inheriting-constructor.cpp vendor/clang/dist/test/CodeGenCXX/init-invariant.cpp vendor/clang/dist/test/CodeGenCXX/instantiate-temporaries.cpp vendor/clang/dist/test/CodeGenCXX/lambda-expressions.cpp vendor/clang/dist/test/CodeGenCXX/mangle-98.cpp vendor/clang/dist/test/CodeGenCXX/mangle-lambdas.cpp vendor/clang/dist/test/CodeGenCXX/mangle-nullptr-arg.cpp vendor/clang/dist/test/CodeGenCXX/mangle-std-externc.cpp vendor/clang/dist/test/CodeGenCXX/new-array-init-exceptions.cpp vendor/clang/dist/test/CodeGenCXX/new-array-init.cpp vendor/clang/dist/test/CodeGenCXX/override-layout.cpp vendor/clang/dist/test/CodeGenCXX/pr11676.cpp vendor/clang/dist/test/CodeGenCXX/pr11797.cpp vendor/clang/dist/test/CodeGenCXX/pr12104.cpp vendor/clang/dist/test/CodeGenCXX/pr12104.h vendor/clang/dist/test/CodeGenCXX/pr12251.cpp vendor/clang/dist/test/CodeGenCXX/pragma-pack-2.cpp vendor/clang/dist/test/CodeGenCXX/regparm.cpp vendor/clang/dist/test/CodeGenCXX/static-mutable.cpp vendor/clang/dist/test/CodeGenCXX/switch-case-folding-1.cpp vendor/clang/dist/test/CodeGenCXX/switch-case-folding-2.cpp vendor/clang/dist/test/CodeGenCXX/switch-case-folding.cpp vendor/clang/dist/test/CodeGenCXX/thiscall-struct-return.cpp vendor/clang/dist/test/CodeGenCXX/thunk-use-after-free.cpp vendor/clang/dist/test/CodeGenCXX/typeid-cxx11.cpp vendor/clang/dist/test/CodeGenCXX/virtual-implicit-move-assignment.cpp vendor/clang/dist/test/CodeGenCXX/weak-extern-typeinfo.cpp vendor/clang/dist/test/CodeGenObjC/Inputs/ vendor/clang/dist/test/CodeGenObjC/Inputs/literal-support.h vendor/clang/dist/test/CodeGenObjC/arc-blocks.m vendor/clang/dist/test/CodeGenObjC/arc-cond-stmt.m vendor/clang/dist/test/CodeGenObjC/arc-exceptions.m vendor/clang/dist/test/CodeGenObjC/arc-literals.m vendor/clang/dist/test/CodeGenObjC/arc-no-arc-exceptions.m vendor/clang/dist/test/CodeGenObjC/arc-property.m vendor/clang/dist/test/CodeGenObjC/auto-property-synthesize-protocol.m vendor/clang/dist/test/CodeGenObjC/catch-lexical-block.m vendor/clang/dist/test/CodeGenObjC/complex-double-abi.m vendor/clang/dist/test/CodeGenObjC/debug-info-fwddecl.m vendor/clang/dist/test/CodeGenObjC/debug-info-impl.m vendor/clang/dist/test/CodeGenObjC/debug-info-property3.m vendor/clang/dist/test/CodeGenObjC/debug-info-property4.m vendor/clang/dist/test/CodeGenObjC/debug-info-property5.m vendor/clang/dist/test/CodeGenObjC/debug-info-synthesis.m vendor/clang/dist/test/CodeGenObjC/fp2ret.m vendor/clang/dist/test/CodeGenObjC/ivar-base-as-invariant-load.m vendor/clang/dist/test/CodeGenObjC/ns_consume_null_check.m vendor/clang/dist/test/CodeGenObjC/objc-arc-container-subscripting.m vendor/clang/dist/test/CodeGenObjC/objc-container-subscripting-1.m vendor/clang/dist/test/CodeGenObjC/objc-container-subscripting.m vendor/clang/dist/test/CodeGenObjC/objc-dictionary-literal.m vendor/clang/dist/test/CodeGenObjC/objc-literal-debugger-test.m vendor/clang/dist/test/CodeGenObjC/objc-literal-tests.m vendor/clang/dist/test/CodeGenObjC/optimized-setter.m vendor/clang/dist/test/CodeGenObjC/selector-ref-invariance.m vendor/clang/dist/test/CodeGenObjCXX/Inputs/ vendor/clang/dist/test/CodeGenObjCXX/Inputs/literal-support.h vendor/clang/dist/test/CodeGenObjCXX/address-safety-attr.mm vendor/clang/dist/test/CodeGenObjCXX/arc-exceptions.mm vendor/clang/dist/test/CodeGenObjCXX/debug-info.mm vendor/clang/dist/test/CodeGenObjCXX/lambda-expressions.mm vendor/clang/dist/test/CodeGenObjCXX/literals.mm vendor/clang/dist/test/CodeGenObjCXX/lvalue-reference-getter.mm vendor/clang/dist/test/CodeGenObjCXX/objc-container-subscripting-1.mm vendor/clang/dist/test/CodeGenObjCXX/objc-container-subscripting.mm vendor/clang/dist/test/CodeGenObjCXX/property-object-reference-1.mm vendor/clang/dist/test/CodeGenObjCXX/property-object-reference-2.mm vendor/clang/dist/test/CodeGenOpenCL/fpaccuracy.cl vendor/clang/dist/test/CodeGenOpenCL/vector_literals_nested.cl vendor/clang/dist/test/CodeGenOpenCL/vector_logops.cl vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/lib/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/lib/.keep vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/usr/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/usr/lib/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/usr/lib/.keep vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/usr/lib/crt1.o vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/usr/lib32/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd64_tree/usr/lib32/.keep vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/lib/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/lib/.keep vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/usr/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/usr/lib/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/usr/lib/.keep vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/usr/lib/crt1.o vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/usr/lib32/ vendor/clang/dist/test/Driver/Inputs/basic_freebsd_tree/usr/lib32/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/i386-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/i386-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/powerpc-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/powerpc-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/powerpc64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/powerpc64-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/x86_64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/x86_64-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/backward/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/backward/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/i686-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/i686-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/powerpc-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/powerpc-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/powerpc64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/powerpc64-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/x86_64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/x86_64-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/i386-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/i386-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/powerpc-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/powerpc-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/powerpc64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/powerpc64-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/x86_64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/include/x86_64-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/i686-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/i686-linux-gnu/4.5/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/i686-linux-gnu/4.5/crtbegin.o vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc-linux-gnu/4.5/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc-linux-gnu/4.5/crtbegin.o vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc64-linux-gnu/4.5/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc64-linux-gnu/4.5/crtbegin.o vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/x86_64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/x86_64-linux-gnu/4.5/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/x86_64-linux-gnu/4.5/crtbegin.o vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/i386-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/i386-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/powerpc-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/powerpc-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/powerpc64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/powerpc64-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/x86_64-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/x86_64-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/ vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/lib/ vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/lib/.keep vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/usr/ vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/usr/lib/ vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/usr/lib/.keep vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/usr/lib/crt1.o vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/usr/lib32/ vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/usr/lib32/.keep vendor/clang/dist/test/Driver/Inputs/multiarch_freebsd64_tree/usr/lib32/crt1.o vendor/clang/dist/test/Driver/Inputs/prefixed_tools_tree/ vendor/clang/dist/test/Driver/Inputs/prefixed_tools_tree/x86_64--linux-as (contents, props changed) vendor/clang/dist/test/Driver/Inputs/prefixed_tools_tree/x86_64--linux-ld (contents, props changed) vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/lib/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/lib/.keep vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/lib64/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/lib64/.keep vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib/gcc/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib/gcc/powerpc64-suse-linux/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib/gcc/powerpc64-suse-linux/4.1.2/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib/gcc/powerpc64-suse-linux/4.1.2/64/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib/gcc/powerpc64-suse-linux/4.1.2/64/crtbegin.o vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib/gcc/powerpc64-suse-linux/4.1.2/crtbegin.o vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib64/ vendor/clang/dist/test/Driver/Inputs/suse_10.3_ppc64_tree/usr/lib64/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/lib/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/lib/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/lib/i386-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/lib/i386-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/c++/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/c++/4.5/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/c++/4.5/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/c++/4.5/backward/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/c++/4.5/backward/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/c++/4.5/i686-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/c++/4.5/i686-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/i386-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/include/i386-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/lib/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/lib/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/lib/i386-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/lib/i386-linux-gnu/.keep vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/lib/i386-linux-gnu/gcc/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/ vendor/clang/dist/test/Driver/Inputs/ubuntu_11.04_multiarch_tree/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/crtbegin.o vendor/clang/dist/test/Driver/altivec.cpp vendor/clang/dist/test/Driver/arclite-link.c vendor/clang/dist/test/Driver/arm-mfpmath.c vendor/clang/dist/test/Driver/arm-mfpu.c vendor/clang/dist/test/Driver/asan.c vendor/clang/dist/test/Driver/cpp-precomp.c vendor/clang/dist/test/Driver/debug-options-as.c vendor/clang/dist/test/Driver/debug-options.c vendor/clang/dist/test/Driver/debug.c vendor/clang/dist/test/Driver/diagnostics.c vendor/clang/dist/test/Driver/dwarf2-cfi-asm.c vendor/clang/dist/test/Driver/fast-math.c vendor/clang/dist/test/Driver/frame-pointer.c vendor/clang/dist/test/Driver/gcc-toolchain.cpp vendor/clang/dist/test/Driver/gold-lto.c vendor/clang/dist/test/Driver/invalid-o-level.c vendor/clang/dist/test/Driver/linker-opts.c vendor/clang/dist/test/Driver/linux-as.c vendor/clang/dist/test/Driver/linux-header-search.cpp vendor/clang/dist/test/Driver/mips-as.c vendor/clang/dist/test/Driver/mips-float.c vendor/clang/dist/test/Driver/modules.m vendor/clang/dist/test/Driver/modules.mm vendor/clang/dist/test/Driver/no-objc-default-synthesize-properties.m vendor/clang/dist/test/Driver/no-sibling-calls.c vendor/clang/dist/test/Driver/noinline.c vendor/clang/dist/test/Driver/output-file-cleanup.c vendor/clang/dist/test/Driver/pic.c vendor/clang/dist/test/Driver/prefixed-tools.c vendor/clang/dist/test/Driver/redundant-args.c vendor/clang/dist/test/Driver/rewrite-legacy-objc.m vendor/clang/dist/test/Driver/stackrealign.c vendor/clang/dist/test/Driver/target.c vendor/clang/dist/test/Driver/tsan.c vendor/clang/dist/test/Driver/unknown-arg.c vendor/clang/dist/test/Driver/working-directory.c vendor/clang/dist/test/FixIt/atomic-property.m vendor/clang/dist/test/FixIt/fixit-cxx11-compat.cpp vendor/clang/dist/test/FixIt/fixit-recompile.c vendor/clang/dist/test/FixIt/fixit-recursive-block.c vendor/clang/dist/test/FixIt/fixit-vexing-parse-cxx0x.cpp vendor/clang/dist/test/FixIt/fixit-vexing-parse.cpp vendor/clang/dist/test/FixIt/no-fixit.cpp vendor/clang/dist/test/FixIt/objc-literals.m vendor/clang/dist/test/Frontend/Inputs/TestFramework.framework/ vendor/clang/dist/test/Frontend/Inputs/TestFramework.framework/Headers/ vendor/clang/dist/test/Frontend/Inputs/TestFramework.framework/Headers/TestFramework.h vendor/clang/dist/test/Frontend/Wno-everything.c vendor/clang/dist/test/Frontend/iframework.c vendor/clang/dist/test/Headers/wmmintrin.c vendor/clang/dist/test/Index/Inputs/Frameworks/ vendor/clang/dist/test/Index/Inputs/Frameworks/Framework.framework/ vendor/clang/dist/test/Index/Inputs/Frameworks/Framework.framework/Headers/ vendor/clang/dist/test/Index/Inputs/Frameworks/Framework.framework/Headers/Framework.h vendor/clang/dist/test/Index/Inputs/Headers/ vendor/clang/dist/test/Index/Inputs/Headers/a.h vendor/clang/dist/test/Index/Inputs/Headers/a_extensions.h vendor/clang/dist/test/Index/Inputs/Headers/crash.h vendor/clang/dist/test/Index/Inputs/Headers/module.map vendor/clang/dist/test/Index/Inputs/Headers/nested/ vendor/clang/dist/test/Index/Inputs/Headers/nested/module.map vendor/clang/dist/test/Index/Inputs/Headers/nested/nested.h vendor/clang/dist/test/Index/Inputs/pragma_disable_warning.h vendor/clang/dist/test/Index/Inputs/redeclarations.h vendor/clang/dist/test/Index/Inputs/reparse-instantiate.h vendor/clang/dist/test/Index/annotate-literals.m vendor/clang/dist/test/Index/annotate-subscripting.m vendor/clang/dist/test/Index/annotate-toplevel-in-objccontainer.m vendor/clang/dist/test/Index/annotate-toplevel-in-objccontainer.m.h vendor/clang/dist/test/Index/asm-attribute.c vendor/clang/dist/test/Index/complete-enums.cpp vendor/clang/dist/test/Index/complete-in-invalid-method.m vendor/clang/dist/test/Index/complete-ivar-access.m vendor/clang/dist/test/Index/complete-lambdas.cpp vendor/clang/dist/test/Index/complete-modules.m vendor/clang/dist/test/Index/crash-recovery-modules.m vendor/clang/dist/test/Index/cxx11-lambdas.cpp vendor/clang/dist/test/Index/error-on-deserialized.c vendor/clang/dist/test/Index/file-macro-refs.c vendor/clang/dist/test/Index/file-refs-subscripting.m vendor/clang/dist/test/Index/index-attrs.m vendor/clang/dist/test/Index/index-decls.m vendor/clang/dist/test/Index/index-invalid-code.m vendor/clang/dist/test/Index/index-many-logical-ops.c vendor/clang/dist/test/Index/index-refs.cpp vendor/clang/dist/test/Index/index-subscripting-literals.m vendor/clang/dist/test/Index/index-suppress-refs.cpp vendor/clang/dist/test/Index/index-suppress-refs.h vendor/clang/dist/test/Index/index-suppress-refs.hpp vendor/clang/dist/test/Index/index-suppress-refs.m vendor/clang/dist/test/Index/invalid-code-rdar10451854.m vendor/clang/dist/test/Index/ms-if-exists.cpp vendor/clang/dist/test/Index/pch-opaque-value.cpp vendor/clang/dist/test/Index/pch-with-errors.c vendor/clang/dist/test/Index/pch-with-errors.m vendor/clang/dist/test/Index/preamble-reparse-import.m vendor/clang/dist/test/Index/preamble-reparse-import.m-1.h vendor/clang/dist/test/Index/preamble-reparse-import.m-2.h vendor/clang/dist/test/Index/preamble-reparse-import.m-3.h vendor/clang/dist/test/Index/redeclarations.cpp vendor/clang/dist/test/Index/reparse-instantiate.cpp vendor/clang/dist/test/Index/targeted-annotation.c vendor/clang/dist/test/Index/targeted-cursor.c vendor/clang/dist/test/Index/targeted-cursor.m vendor/clang/dist/test/Index/targeted-cursor.m.h vendor/clang/dist/test/Index/targeted-fields.h vendor/clang/dist/test/Index/targeted-file-refs.c vendor/clang/dist/test/Index/targeted-nested1.h vendor/clang/dist/test/Index/targeted-preamble.h vendor/clang/dist/test/Index/targeted-top.h vendor/clang/dist/test/Index/unmatched-braces.c vendor/clang/dist/test/Index/unmatched-braces.m vendor/clang/dist/test/Index/vector-types.c vendor/clang/dist/test/Lexer/char-literal-encoding-error.c vendor/clang/dist/test/Lexer/char-literal.cpp vendor/clang/dist/test/Lexer/has_feature_address_sanitizer.cpp vendor/clang/dist/test/Lexer/has_feature_modules.m vendor/clang/dist/test/Lexer/ms-extensions.cpp vendor/clang/dist/test/Lexer/newline-eof-c++11.cpp vendor/clang/dist/test/Lexer/newline-eof-c++98-compat.cpp vendor/clang/dist/test/Lexer/string-literal-encoding.c vendor/clang/dist/test/Lexer/token-concat.cpp vendor/clang/dist/test/Misc/diag-macro-backtrace.c vendor/clang/dist/test/Misc/diag-verify.cpp vendor/clang/dist/test/Misc/integer-literal-printing.cpp vendor/clang/dist/test/Misc/macro-backtrace.c vendor/clang/dist/test/Misc/pubnames.c vendor/clang/dist/test/Misc/serialized-diags-no-category.c vendor/clang/dist/test/Misc/serialized-diags-no-issue.c vendor/clang/dist/test/Misc/serialized-diags-single-issue.c vendor/clang/dist/test/Misc/serialized-diags.c vendor/clang/dist/test/Misc/serialized-diags.h vendor/clang/dist/test/Modules/Inputs/AlsoDependsOnModule.framework/ vendor/clang/dist/test/Modules/Inputs/AlsoDependsOnModule.framework/Headers/ vendor/clang/dist/test/Modules/Inputs/AlsoDependsOnModule.framework/Headers/AlsoDependsOnModule.h vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/Frameworks/ vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/Frameworks/SubFramework.framework/ vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/Frameworks/SubFramework.framework/Headers/ vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/Frameworks/SubFramework.framework/Headers/Other.h vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/Headers/cxx_other.h vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/Headers/other.h vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/PrivateHeaders/ vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/PrivateHeaders/DependsOnModulePrivate.h vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/module.map vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/module_private.map vendor/clang/dist/test/Modules/Inputs/MethodPoolA.h vendor/clang/dist/test/Modules/Inputs/MethodPoolB.h vendor/clang/dist/test/Modules/Inputs/Module.framework/Frameworks/ vendor/clang/dist/test/Modules/Inputs/Module.framework/Frameworks/SubFramework.framework/ vendor/clang/dist/test/Modules/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/ vendor/clang/dist/test/Modules/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h vendor/clang/dist/test/Modules/Inputs/Module.framework/Headers/Buried/ vendor/clang/dist/test/Modules/Inputs/Module.framework/Headers/Buried/Treasure.h vendor/clang/dist/test/Modules/Inputs/Module.framework/Headers/NotInModule.h vendor/clang/dist/test/Modules/Inputs/Module.framework/Headers/Sub.h vendor/clang/dist/test/Modules/Inputs/Module.framework/Headers/Sub2.h vendor/clang/dist/test/Modules/Inputs/Module.framework/PrivateHeaders/ vendor/clang/dist/test/Modules/Inputs/Module.framework/PrivateHeaders/ModulePrivate.h vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/ vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/Headers/ vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/Headers/A.h vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/Headers/B.h vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/Headers/Boom.h vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/Headers/SubDir/ vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/Headers/SubDir/C.h vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/PrivateHeaders/ vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/PrivateHeaders/A_Private.h vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/PrivateHeaders/B_Private.h vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/module.map vendor/clang/dist/test/Modules/Inputs/NoUmbrella.framework/module_private.map vendor/clang/dist/test/Modules/Inputs/System/ vendor/clang/dist/test/Modules/Inputs/System/usr/ vendor/clang/dist/test/Modules/Inputs/System/usr/include/ vendor/clang/dist/test/Modules/Inputs/System/usr/include/module.map vendor/clang/dist/test/Modules/Inputs/System/usr/include/stdbool.h vendor/clang/dist/test/Modules/Inputs/System/usr/include/stdint.h vendor/clang/dist/test/Modules/Inputs/System/usr/include/stdio.h vendor/clang/dist/test/Modules/Inputs/category_bottom.h vendor/clang/dist/test/Modules/Inputs/category_left.h vendor/clang/dist/test/Modules/Inputs/category_other.h vendor/clang/dist/test/Modules/Inputs/category_right.h vendor/clang/dist/test/Modules/Inputs/category_top.h vendor/clang/dist/test/Modules/Inputs/decl.h vendor/clang/dist/test/Modules/Inputs/decl2.h vendor/clang/dist/test/Modules/Inputs/def-include.h vendor/clang/dist/test/Modules/Inputs/def.h vendor/clang/dist/test/Modules/Inputs/diamond.h vendor/clang/dist/test/Modules/Inputs/irgen.h vendor/clang/dist/test/Modules/Inputs/macros.h vendor/clang/dist/test/Modules/Inputs/module.map vendor/clang/dist/test/Modules/Inputs/module_private_left.h vendor/clang/dist/test/Modules/Inputs/module_private_right.h vendor/clang/dist/test/Modules/Inputs/namespaces-left.h vendor/clang/dist/test/Modules/Inputs/namespaces-right.h vendor/clang/dist/test/Modules/Inputs/namespaces-top.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/ vendor/clang/dist/test/Modules/Inputs/normal-module-map/Umbrella/ vendor/clang/dist/test/Modules/Inputs/normal-module-map/Umbrella/Umbrella.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/Umbrella/module.map vendor/clang/dist/test/Modules/Inputs/normal-module-map/Umbrella/umbrella_sub.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/Umbrella2/ vendor/clang/dist/test/Modules/Inputs/normal-module-map/Umbrella2/Umbrella2.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/Umbrella2/module.map vendor/clang/dist/test/Modules/Inputs/normal-module-map/a1.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/a2.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/b1.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/module.map vendor/clang/dist/test/Modules/Inputs/normal-module-map/nested/ vendor/clang/dist/test/Modules/Inputs/normal-module-map/nested/module.map vendor/clang/dist/test/Modules/Inputs/normal-module-map/nested/nested1.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/nested/nested2.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/nested_umbrella/ vendor/clang/dist/test/Modules/Inputs/normal-module-map/nested_umbrella/a.h vendor/clang/dist/test/Modules/Inputs/normal-module-map/nested_umbrella/b.h vendor/clang/dist/test/Modules/Inputs/redecl-merge-bottom.h vendor/clang/dist/test/Modules/Inputs/redecl-merge-left-left.h vendor/clang/dist/test/Modules/Inputs/redecl-merge-left.h vendor/clang/dist/test/Modules/Inputs/redecl-merge-right.h vendor/clang/dist/test/Modules/Inputs/redecl-merge-top-explicit.h vendor/clang/dist/test/Modules/Inputs/redecl-merge-top.h vendor/clang/dist/test/Modules/Inputs/redecl_namespaces_left.h vendor/clang/dist/test/Modules/Inputs/redecl_namespaces_right.h vendor/clang/dist/test/Modules/Inputs/redeclarations_left.h vendor/clang/dist/test/Modules/Inputs/redeclarations_right.h vendor/clang/dist/test/Modules/Inputs/subdir/ vendor/clang/dist/test/Modules/Inputs/subdir/module.map vendor/clang/dist/test/Modules/Inputs/subdir/subdir.h vendor/clang/dist/test/Modules/Inputs/submodules/ vendor/clang/dist/test/Modules/Inputs/submodules/hash_map.h vendor/clang/dist/test/Modules/Inputs/submodules/module.map vendor/clang/dist/test/Modules/Inputs/submodules/type_traits.h vendor/clang/dist/test/Modules/Inputs/submodules/vector.h vendor/clang/dist/test/Modules/Inputs/wildcard-submodule-exports/ vendor/clang/dist/test/Modules/Inputs/wildcard-submodule-exports/A_one.h vendor/clang/dist/test/Modules/Inputs/wildcard-submodule-exports/A_two.h vendor/clang/dist/test/Modules/Inputs/wildcard-submodule-exports/B_one.h vendor/clang/dist/test/Modules/Inputs/wildcard-submodule-exports/B_two.h vendor/clang/dist/test/Modules/Inputs/wildcard-submodule-exports/C_one.h vendor/clang/dist/test/Modules/Inputs/wildcard-submodule-exports/C_two.h vendor/clang/dist/test/Modules/Inputs/wildcard-submodule-exports/module.map vendor/clang/dist/test/Modules/auto-module-import.m vendor/clang/dist/test/Modules/compiler_builtins.m vendor/clang/dist/test/Modules/cstd.m vendor/clang/dist/test/Modules/decldef.mm vendor/clang/dist/test/Modules/diamond-pch.c vendor/clang/dist/test/Modules/inferred-submodules.m vendor/clang/dist/test/Modules/method_pool.m vendor/clang/dist/test/Modules/namespaces.cpp vendor/clang/dist/test/Modules/normal-module-map.cpp vendor/clang/dist/test/Modules/redecl-merge.m vendor/clang/dist/test/Modules/redecl-namespaces.mm vendor/clang/dist/test/Modules/redeclarations.m vendor/clang/dist/test/Modules/requires.m vendor/clang/dist/test/Modules/subframeworks.m vendor/clang/dist/test/Modules/submodules-preprocess.cpp vendor/clang/dist/test/Modules/submodules.cpp vendor/clang/dist/test/Modules/submodules.m vendor/clang/dist/test/Modules/wildcard-submodule-exports.cpp vendor/clang/dist/test/PCH/chain-categories2.m vendor/clang/dist/test/PCH/chain-class-extension.m vendor/clang/dist/test/PCH/cocoa.m vendor/clang/dist/test/PCH/cxx-constexpr.cpp vendor/clang/dist/test/PCH/cxx-exprs.cpp vendor/clang/dist/test/PCH/cxx-functions.cpp vendor/clang/dist/test/PCH/cxx-functions.h vendor/clang/dist/test/PCH/cxx-trailing-return.cpp vendor/clang/dist/test/PCH/cxx11-constexpr.cpp vendor/clang/dist/test/PCH/cxx11-enum-template.cpp vendor/clang/dist/test/PCH/cxx11-lambdas.mm vendor/clang/dist/test/PCH/cxx11-user-defined-literals.cpp vendor/clang/dist/test/PCH/designated-init.c vendor/clang/dist/test/PCH/designated-init.c.h vendor/clang/dist/test/PCH/ms-if-exists.cpp vendor/clang/dist/test/PCH/objc_container.h vendor/clang/dist/test/PCH/objc_container.m vendor/clang/dist/test/PCH/objc_literals.m vendor/clang/dist/test/PCH/objc_literals.mm vendor/clang/dist/test/PCH/pending-ids.m vendor/clang/dist/test/PCH/rdar10830559.cpp vendor/clang/dist/test/PCH/replaced-decl.m vendor/clang/dist/test/PCH/single-token-macro.c vendor/clang/dist/test/PCH/subscripting-literals.m vendor/clang/dist/test/Parser/asm.cpp vendor/clang/dist/test/Parser/cxx0x-ambig.cpp vendor/clang/dist/test/Parser/cxx0x-condition.cpp vendor/clang/dist/test/Parser/cxx0x-decl.cpp vendor/clang/dist/test/Parser/cxx0x-for-range.cpp vendor/clang/dist/test/Parser/cxx11-type-specifier.cpp vendor/clang/dist/test/Parser/cxx11-user-defined-literals.cpp vendor/clang/dist/test/Parser/missing-end-4.m vendor/clang/dist/test/Parser/objcxx11-attributes.mm vendor/clang/dist/test/Parser/objcxx11-user-defined-literal.mm vendor/clang/dist/test/Parser/recovery.cpp vendor/clang/dist/test/Parser/skip-function-bodies.mm vendor/clang/dist/test/Parser/warn-dangling-else.cpp vendor/clang/dist/test/Preprocessor/Inputs/ vendor/clang/dist/test/Preprocessor/Inputs/TestFramework.framework/ vendor/clang/dist/test/Preprocessor/Inputs/TestFramework.framework/.system_framework vendor/clang/dist/test/Preprocessor/Inputs/TestFramework.framework/Frameworks/ vendor/clang/dist/test/Preprocessor/Inputs/TestFramework.framework/Frameworks/AnotherTestFramework.framework/ vendor/clang/dist/test/Preprocessor/Inputs/TestFramework.framework/Frameworks/AnotherTestFramework.framework/Headers/ vendor/clang/dist/test/Preprocessor/Inputs/TestFramework.framework/Frameworks/AnotherTestFramework.framework/Headers/AnotherTestFramework.h vendor/clang/dist/test/Preprocessor/Inputs/TestFramework.framework/Headers/ vendor/clang/dist/test/Preprocessor/Inputs/TestFramework.framework/Headers/TestFramework.h vendor/clang/dist/test/Preprocessor/_Pragma-in-macro-arg.c vendor/clang/dist/test/Preprocessor/cxx_oper_keyword_ms_compat.cpp vendor/clang/dist/test/Preprocessor/has_attribute.c vendor/clang/dist/test/Preprocessor/macro_arg_directive.c vendor/clang/dist/test/Preprocessor/macro_arg_directive.h vendor/clang/dist/test/Preprocessor/microsoft-import.c vendor/clang/dist/test/Preprocessor/mmx.c vendor/clang/dist/test/Preprocessor/user_defined_system_framework.c vendor/clang/dist/test/Preprocessor/warn-disabled-macro-expansion.c vendor/clang/dist/test/Rewriter/func-in-impl.m vendor/clang/dist/test/Rewriter/objc-bool-literal-check-modern.mm vendor/clang/dist/test/Rewriter/objc-bool-literal-modern-1.mm vendor/clang/dist/test/Rewriter/objc-bool-literal-modern.mm vendor/clang/dist/test/Rewriter/objc-modern-class-init-hooks.mm vendor/clang/dist/test/Rewriter/objc-modern-class-init.mm vendor/clang/dist/test/Rewriter/objc-modern-container-subscript.mm vendor/clang/dist/test/Rewriter/objc-modern-implicit-cast.mm vendor/clang/dist/test/Rewriter/objc-modern-ivar-receiver-1.mm vendor/clang/dist/test/Rewriter/objc-modern-linkage-spec.mm vendor/clang/dist/test/Rewriter/objc-modern-metadata-visibility.mm vendor/clang/dist/test/Rewriter/objc-modern-numeric-literal.mm vendor/clang/dist/test/Rewriter/objc-modern-property-attributes.mm vendor/clang/dist/test/Rewriter/rewrite-block-literal.mm vendor/clang/dist/test/Rewriter/rewrite-cast-ivar-modern-access.mm vendor/clang/dist/test/Rewriter/rewrite-modern-array-literal.mm vendor/clang/dist/test/Rewriter/rewrite-modern-block-ivar-call.mm vendor/clang/dist/test/Rewriter/rewrite-modern-block.mm vendor/clang/dist/test/Rewriter/rewrite-modern-catch.m vendor/clang/dist/test/Rewriter/rewrite-modern-class.mm vendor/clang/dist/test/Rewriter/rewrite-modern-container-literal.mm vendor/clang/dist/test/Rewriter/rewrite-modern-ivar-use.mm vendor/clang/dist/test/Rewriter/rewrite-modern-ivars-1.mm vendor/clang/dist/test/Rewriter/rewrite-modern-ivars-2.mm vendor/clang/dist/test/Rewriter/rewrite-modern-ivars.mm vendor/clang/dist/test/Rewriter/rewrite-modern-nested-ivar.mm vendor/clang/dist/test/Rewriter/rewrite-modern-protocol.mm vendor/clang/dist/test/Rewriter/rewrite-modern-struct-ivar.mm vendor/clang/dist/test/Rewriter/rewrite-modern-synchronized.m vendor/clang/dist/test/Rewriter/rewrite-modern-throw.m vendor/clang/dist/test/Rewriter/rewrite-modern-try-catch-finally.m vendor/clang/dist/test/Rewriter/rewrite-modern-try-finally.m vendor/clang/dist/test/Rewriter/unnamed-bf-modern-write.mm vendor/clang/dist/test/Sema/Inputs/unused-expr-system-header.h vendor/clang/dist/test/Sema/MicrosoftCompatibility.c vendor/clang/dist/test/Sema/anonymous-struct-union-c11.c vendor/clang/dist/test/Sema/attr-declspec-ignored.c vendor/clang/dist/test/Sema/attr-visibility.c vendor/clang/dist/test/Sema/block-explicit-noreturn-type.c vendor/clang/dist/test/Sema/c11-typedef-redef.c vendor/clang/dist/test/Sema/complex-imag.c vendor/clang/dist/test/Sema/decl-in-prototype.c vendor/clang/dist/test/Sema/fn-ptr-as-fn-prototype.c vendor/clang/dist/test/Sema/format-strings-c90.c vendor/clang/dist/test/Sema/format-strings-fixit-ssize_t.c vendor/clang/dist/test/Sema/format-strings-int-typedefs.c vendor/clang/dist/test/Sema/format-strings-no-fixit.c vendor/clang/dist/test/Sema/format-strings-non-iso.c vendor/clang/dist/test/Sema/format-strings-size_t.c vendor/clang/dist/test/Sema/many-logical-ops.c vendor/clang/dist/test/Sema/pragma-pack-5.c vendor/clang/dist/test/Sema/pragma-pack-apple.c vendor/clang/dist/test/Sema/static-array.c vendor/clang/dist/test/Sema/unused-expr-system-header.c vendor/clang/dist/test/Sema/variadic-incomplete-arg-type.c vendor/clang/dist/test/Sema/vla-2.c vendor/clang/dist/test/Sema/warn-strncat-size.c vendor/clang/dist/test/Sema/weak-import-on-enum.c vendor/clang/dist/test/SemaCXX/Inputs/array-bounds-system-header.h vendor/clang/dist/test/SemaCXX/Inputs/warn-new-overaligned-3.h vendor/clang/dist/test/SemaCXX/MicrosoftCompatibility-cxx98.cpp vendor/clang/dist/test/SemaCXX/PR10177.cpp vendor/clang/dist/test/SemaCXX/PR10447.cpp vendor/clang/dist/test/SemaCXX/PR11358.cpp vendor/clang/dist/test/SemaCXX/PR12481.cpp vendor/clang/dist/test/SemaCXX/PR8385.cpp vendor/clang/dist/test/SemaCXX/array-bounds-system-header.cpp vendor/clang/dist/test/SemaCXX/atomic-type.cxx vendor/clang/dist/test/SemaCXX/attr-declspec-ignored.cpp vendor/clang/dist/test/SemaCXX/constant-expression-cxx11.cpp vendor/clang/dist/test/SemaCXX/constexpr-ackermann.cpp vendor/clang/dist/test/SemaCXX/constexpr-backtrace-limit.cpp vendor/clang/dist/test/SemaCXX/constexpr-depth.cpp vendor/clang/dist/test/SemaCXX/constexpr-factorial.cpp vendor/clang/dist/test/SemaCXX/constexpr-nqueens.cpp vendor/clang/dist/test/SemaCXX/constexpr-printing.cpp vendor/clang/dist/test/SemaCXX/constexpr-strlen.cpp vendor/clang/dist/test/SemaCXX/constexpr-turing.cpp vendor/clang/dist/test/SemaCXX/constexpr-value-init.cpp vendor/clang/dist/test/SemaCXX/cxx0x-initializer-aggregates.cpp vendor/clang/dist/test/SemaCXX/cxx0x-initializer-constructor.cpp vendor/clang/dist/test/SemaCXX/cxx0x-initializer-references.cpp vendor/clang/dist/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp vendor/clang/dist/test/SemaCXX/cxx11-ast-print.cpp vendor/clang/dist/test/SemaCXX/cxx11-user-defined-literals.cpp vendor/clang/dist/test/SemaCXX/cxx98-compat-flags.cpp vendor/clang/dist/test/SemaCXX/defaulted-private-dtor.cpp vendor/clang/dist/test/SemaCXX/discrim-union.cpp vendor/clang/dist/test/SemaCXX/dr1301.cpp vendor/clang/dist/test/SemaCXX/enum-unscoped-nonexistent.cpp vendor/clang/dist/test/SemaCXX/format-strings-0x.cpp vendor/clang/dist/test/SemaCXX/format-strings.cpp vendor/clang/dist/test/SemaCXX/friend-out-of-line.cpp vendor/clang/dist/test/SemaCXX/function-extern-c.cpp vendor/clang/dist/test/SemaCXX/indirect-goto.cpp vendor/clang/dist/test/SemaCXX/lambda-expressions.cpp vendor/clang/dist/test/SemaCXX/member-class-11.cpp vendor/clang/dist/test/SemaCXX/new-delete-0x.cpp vendor/clang/dist/test/SemaCXX/new-delete-cxx0x.cpp vendor/clang/dist/test/SemaCXX/pragma-visibility.cpp vendor/clang/dist/test/SemaCXX/runtimediag-ppe.cpp vendor/clang/dist/test/SemaCXX/string-plus-int.cpp vendor/clang/dist/test/SemaCXX/unknown-anytype-blocks.cpp vendor/clang/dist/test/SemaCXX/vla.cpp vendor/clang/dist/test/SemaCXX/warn-empty-body.cpp vendor/clang/dist/test/SemaCXX/warn-everthing.cpp vendor/clang/dist/test/SemaCXX/warn-func-as-bool.cpp vendor/clang/dist/test/SemaCXX/warn-new-overaligned-2.cpp vendor/clang/dist/test/SemaCXX/warn-new-overaligned-3.cpp vendor/clang/dist/test/SemaCXX/warn-new-overaligned.cpp vendor/clang/dist/test/SemaCXX/zero-length-arrays.cpp vendor/clang/dist/test/SemaObjC/ClassPropertyNotObject.m vendor/clang/dist/test/SemaObjC/NSString-type.m vendor/clang/dist/test/SemaObjC/arc-invalid.m vendor/clang/dist/test/SemaObjC/arc-objc-lifetime.m vendor/clang/dist/test/SemaObjC/arc-readonly-property-ivar-1.m vendor/clang/dist/test/SemaObjC/arc-readonly-property-ivar.m vendor/clang/dist/test/SemaObjC/attr-root-class.m vendor/clang/dist/test/SemaObjC/block-id-as-block-argtype.m vendor/clang/dist/test/SemaObjC/block-on-method-param.m vendor/clang/dist/test/SemaObjC/builtin_objc_nslog.m vendor/clang/dist/test/SemaObjC/cocoa-api-usage.m vendor/clang/dist/test/SemaObjC/cocoa-api-usage.m.fixed vendor/clang/dist/test/SemaObjC/debugger-cast-result-to-id.m vendor/clang/dist/test/SemaObjC/default-synthesize-3.m vendor/clang/dist/test/SemaObjC/err-ivar-access-in-class-method.m vendor/clang/dist/test/SemaObjC/forward-class-redeclare.m vendor/clang/dist/test/SemaObjC/ignore-qualifier-on-qualified-id.m vendor/clang/dist/test/SemaObjC/illegal-nonarc-bridged-cast.m vendor/clang/dist/test/SemaObjC/narrow-property-type-in-cont-class.m vendor/clang/dist/test/SemaObjC/no-ivar-access-control.m vendor/clang/dist/test/SemaObjC/objc-array-literal.m vendor/clang/dist/test/SemaObjC/objc-container-subscripting-1.m vendor/clang/dist/test/SemaObjC/objc-container-subscripting-2.m vendor/clang/dist/test/SemaObjC/objc-container-subscripting-3.m vendor/clang/dist/test/SemaObjC/objc-container-subscripting.m vendor/clang/dist/test/SemaObjC/objc-dictionary-literal.m vendor/clang/dist/test/SemaObjC/objc-literal-nsnumber.m vendor/clang/dist/test/SemaObjC/objc-literal-sig.m vendor/clang/dist/test/SemaObjC/pragma-pack.m vendor/clang/dist/test/SemaObjC/receiver-forward-class.m vendor/clang/dist/test/SemaObjC/severe-syntax-error.m vendor/clang/dist/test/SemaObjC/unknown-anytype.m vendor/clang/dist/test/SemaObjC/warn-forward-class-attr-deprecated.m vendor/clang/dist/test/SemaObjC/warn-unreachable.m vendor/clang/dist/test/SemaObjC/weak-receiver-warn.m vendor/clang/dist/test/SemaObjCXX/NSString-type.mm vendor/clang/dist/test/SemaObjCXX/arc-ppe.mm vendor/clang/dist/test/SemaObjCXX/arc-unbridged-cast.mm vendor/clang/dist/test/SemaObjCXX/debugger-cast-result-to-id.mm vendor/clang/dist/test/SemaObjCXX/fragile-abi-object-assign.m vendor/clang/dist/test/SemaObjCXX/literals.mm vendor/clang/dist/test/SemaObjCXX/objc-container-subscripting.mm vendor/clang/dist/test/SemaObjCXX/objc-extern-c.mm vendor/clang/dist/test/SemaOpenCL/address-spaces.cl vendor/clang/dist/test/SemaOpenCL/vec_compare.cl vendor/clang/dist/test/SemaOpenCL/vector_literals_const.cl vendor/clang/dist/test/SemaTemplate/constexpr-instantiate.cpp vendor/clang/dist/test/SemaTemplate/crash-10438657.cpp vendor/clang/dist/test/SemaTemplate/instantiate-self.cpp vendor/clang/dist/test/SemaTemplate/instantiate-sizeof.cpp vendor/clang/dist/test/SemaTemplate/instantiate-typeof.cpp vendor/clang/dist/test/SemaTemplate/instantiation-order.cpp vendor/clang/dist/test/SemaTemplate/ms-if-exists.cpp vendor/clang/dist/test/SemaTemplate/nested-incomplete-class.cpp vendor/clang/dist/test/SemaTemplate/pragma-ms_struct.cpp vendor/clang/dist/test/Tooling/clang-check-pwd.cpp vendor/clang/dist/test/Tooling/clang-check.cpp vendor/clang/dist/tools/clang-check/ vendor/clang/dist/tools/clang-check/CMakeLists.txt vendor/clang/dist/tools/clang-check/ClangCheck.cpp vendor/clang/dist/tools/clang-check/Makefile vendor/clang/dist/tools/libclang/CXLoadedDiagnostic.cpp vendor/clang/dist/tools/libclang/CXLoadedDiagnostic.h vendor/clang/dist/tools/libclang/CXSourceLocation.cpp vendor/clang/dist/tools/libclang/CXStoredDiagnostic.cpp vendor/clang/dist/tools/libclang/CursorVisitor.h vendor/clang/dist/tools/libclang/IndexBody.cpp vendor/clang/dist/tools/libclang/IndexDecl.cpp vendor/clang/dist/tools/libclang/IndexTypeSourceInfo.cpp vendor/clang/dist/tools/libclang/Indexing.cpp vendor/clang/dist/tools/libclang/IndexingContext.cpp vendor/clang/dist/tools/libclang/IndexingContext.h vendor/clang/dist/unittests/Basic/SourceManagerTest.cpp vendor/clang/dist/unittests/Lex/ vendor/clang/dist/unittests/Lex/LexerTest.cpp vendor/clang/dist/unittests/Lex/Makefile vendor/clang/dist/unittests/Lex/PreprocessingRecordTest.cpp vendor/clang/dist/unittests/Tooling/ vendor/clang/dist/unittests/Tooling/CompilationDatabaseTest.cpp vendor/clang/dist/unittests/Tooling/Makefile vendor/clang/dist/unittests/Tooling/ToolingTest.cpp vendor/clang/dist/utils/find-unused-diagnostics.sh vendor/clang/dist/www/analyzer/checker_dev_manual.html Deleted: vendor/clang/dist/clang.xcodeproj/ vendor/clang/dist/examples/wpa/ vendor/clang/dist/include/clang/AST/UsuallyTinyPtrVector.h vendor/clang/dist/include/clang/Analysis/Support/SaveAndRestore.h vendor/clang/dist/include/clang/Driver/HostInfo.h vendor/clang/dist/include/clang/Index/CallGraph.h vendor/clang/dist/include/clang/Sema/MultiInitializer.h vendor/clang/dist/include/clang/Serialization/ChainedIncludesSource.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngineBuilders.h vendor/clang/dist/lib/Analysis/AnalysisContext.cpp vendor/clang/dist/lib/CodeGen/CGException.h vendor/clang/dist/lib/CodeGen/CGTemporaries.cpp vendor/clang/dist/lib/Driver/HostInfo.cpp vendor/clang/dist/lib/Index/CallGraph.cpp vendor/clang/dist/lib/Sema/MultiInitializer.cpp vendor/clang/dist/lib/Serialization/ChainedIncludesSource.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/AggExprVisitor.cpp vendor/clang/dist/test/AST/ vendor/clang/dist/test/CXX/expr/expr.prim/p12-0x.cpp vendor/clang/dist/test/CXX/expr/expr.prim/p4-0x.cpp vendor/clang/dist/test/CodeGen/2005-05-06-CountBuiltins.c vendor/clang/dist/test/CodeGen/kr-call.c vendor/clang/dist/test/CodeGen/va_list_test.c vendor/clang/dist/test/CodeGen/var-align.c vendor/clang/dist/test/Frontend/diagnostic-name.c vendor/clang/dist/test/Index/nested-macro-instantiations.cpp vendor/clang/dist/test/Lexer/Inputs/ vendor/clang/dist/test/Lexer/has_attribute.cpp vendor/clang/dist/test/Misc/macro-backtrace-limit.c vendor/clang/dist/test/Modules/auto-module-import.c vendor/clang/dist/test/Rewriter/rewrite-block-literal.c vendor/clang/dist/test/Sema/paren-list-expr-type.cpp vendor/clang/dist/test/SemaCXX/generalized-initializers.cpp vendor/clang/dist/test/SemaCXX/if-empty-body.cpp vendor/clang/dist/test/SemaOpenCL/local.cl vendor/clang/dist/unittests/AST/ vendor/clang/dist/www/analyzer/downloads/ Modified: vendor/clang/dist/CMakeLists.txt vendor/clang/dist/INPUTS/all-std-headers.cpp vendor/clang/dist/LICENSE.TXT vendor/clang/dist/NOTES.txt vendor/clang/dist/bindings/python/clang/cindex.py vendor/clang/dist/bindings/python/tests/cindex/test_cursor.py vendor/clang/dist/bindings/python/tests/cindex/test_cursor_kind.py vendor/clang/dist/bindings/python/tests/cindex/test_diagnostics.py vendor/clang/dist/bindings/python/tests/cindex/test_location.py vendor/clang/dist/bindings/python/tests/cindex/test_type.py vendor/clang/dist/docs/AnalyzerRegions.html vendor/clang/dist/docs/AutomaticReferenceCounting.html vendor/clang/dist/docs/Block-ABI-Apple.txt vendor/clang/dist/docs/DriverInternals.html vendor/clang/dist/docs/InternalsManual.html vendor/clang/dist/docs/LanguageExtensions.html vendor/clang/dist/docs/PCHInternals.html vendor/clang/dist/docs/PTHInternals.html vendor/clang/dist/docs/UsersManual.html vendor/clang/dist/docs/doxygen.cfg.in vendor/clang/dist/docs/tools/clang.pod vendor/clang/dist/examples/CMakeLists.txt vendor/clang/dist/examples/Makefile vendor/clang/dist/examples/PrintFunctionNames/PrintFunctionNames.cpp vendor/clang/dist/examples/PrintFunctionNames/README.txt vendor/clang/dist/examples/analyzer-plugin/CMakeLists.txt vendor/clang/dist/examples/analyzer-plugin/MainCallChecker.cpp vendor/clang/dist/examples/analyzer-plugin/Makefile vendor/clang/dist/examples/clang-interpreter/CMakeLists.txt vendor/clang/dist/examples/clang-interpreter/Makefile vendor/clang/dist/examples/clang-interpreter/main.cpp vendor/clang/dist/include/clang-c/Index.h vendor/clang/dist/include/clang-c/Makefile vendor/clang/dist/include/clang/ARCMigrate/ARCMT.h vendor/clang/dist/include/clang/ARCMigrate/ARCMTActions.h vendor/clang/dist/include/clang/ARCMigrate/FileRemapper.h vendor/clang/dist/include/clang/AST/APValue.h vendor/clang/dist/include/clang/AST/ASTConsumer.h vendor/clang/dist/include/clang/AST/ASTContext.h vendor/clang/dist/include/clang/AST/ASTDiagnostic.h vendor/clang/dist/include/clang/AST/ASTImporter.h vendor/clang/dist/include/clang/AST/ASTMutationListener.h vendor/clang/dist/include/clang/AST/Attr.h vendor/clang/dist/include/clang/AST/CanonicalType.h vendor/clang/dist/include/clang/AST/Decl.h vendor/clang/dist/include/clang/AST/DeclBase.h vendor/clang/dist/include/clang/AST/DeclCXX.h vendor/clang/dist/include/clang/AST/DeclFriend.h vendor/clang/dist/include/clang/AST/DeclObjC.h vendor/clang/dist/include/clang/AST/DeclTemplate.h vendor/clang/dist/include/clang/AST/DeclVisitor.h vendor/clang/dist/include/clang/AST/DeclarationName.h vendor/clang/dist/include/clang/AST/DependentDiagnostic.h vendor/clang/dist/include/clang/AST/Expr.h vendor/clang/dist/include/clang/AST/ExprCXX.h vendor/clang/dist/include/clang/AST/ExprObjC.h vendor/clang/dist/include/clang/AST/ExternalASTSource.h vendor/clang/dist/include/clang/AST/Mangle.h vendor/clang/dist/include/clang/AST/NestedNameSpecifier.h vendor/clang/dist/include/clang/AST/OperationKinds.h vendor/clang/dist/include/clang/AST/PrettyPrinter.h vendor/clang/dist/include/clang/AST/RecordLayout.h vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h vendor/clang/dist/include/clang/AST/Redeclarable.h vendor/clang/dist/include/clang/AST/Stmt.h vendor/clang/dist/include/clang/AST/StmtCXX.h vendor/clang/dist/include/clang/AST/StmtIterator.h vendor/clang/dist/include/clang/AST/StmtObjC.h vendor/clang/dist/include/clang/AST/StmtVisitor.h vendor/clang/dist/include/clang/AST/TemplateBase.h vendor/clang/dist/include/clang/AST/Type.h vendor/clang/dist/include/clang/AST/TypeLoc.h vendor/clang/dist/include/clang/AST/TypeVisitor.h vendor/clang/dist/include/clang/AST/VTableBuilder.h vendor/clang/dist/include/clang/Analysis/Analyses/FormatString.h vendor/clang/dist/include/clang/Analysis/Analyses/LiveVariables.h vendor/clang/dist/include/clang/Analysis/Analyses/ReachableCode.h vendor/clang/dist/include/clang/Analysis/Analyses/ThreadSafety.h vendor/clang/dist/include/clang/Analysis/Analyses/UninitializedValues.h vendor/clang/dist/include/clang/Analysis/AnalysisContext.h vendor/clang/dist/include/clang/Analysis/AnalysisDiagnostic.h vendor/clang/dist/include/clang/Analysis/CFG.h vendor/clang/dist/include/clang/Analysis/DomainSpecific/CocoaConventions.h vendor/clang/dist/include/clang/Analysis/ProgramPoint.h vendor/clang/dist/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h vendor/clang/dist/include/clang/Basic/Attr.td vendor/clang/dist/include/clang/Basic/Builtins.def vendor/clang/dist/include/clang/Basic/BuiltinsX86.def vendor/clang/dist/include/clang/Basic/CMakeLists.txt vendor/clang/dist/include/clang/Basic/ConvertUTF.h vendor/clang/dist/include/clang/Basic/DeclNodes.td vendor/clang/dist/include/clang/Basic/Diagnostic.h vendor/clang/dist/include/clang/Basic/Diagnostic.td vendor/clang/dist/include/clang/Basic/DiagnosticASTKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticAnalysisKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticCommonKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td vendor/clang/dist/include/clang/Basic/DiagnosticIDs.h vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td vendor/clang/dist/include/clang/Basic/ExpressionTraits.h vendor/clang/dist/include/clang/Basic/FileManager.h vendor/clang/dist/include/clang/Basic/FileSystemStatCache.h vendor/clang/dist/include/clang/Basic/IdentifierTable.h vendor/clang/dist/include/clang/Basic/LLVM.h vendor/clang/dist/include/clang/Basic/LangOptions.def vendor/clang/dist/include/clang/Basic/LangOptions.h vendor/clang/dist/include/clang/Basic/Linkage.h vendor/clang/dist/include/clang/Basic/Makefile vendor/clang/dist/include/clang/Basic/OnDiskHashTable.h vendor/clang/dist/include/clang/Basic/PartialDiagnostic.h vendor/clang/dist/include/clang/Basic/SourceLocation.h vendor/clang/dist/include/clang/Basic/SourceManager.h vendor/clang/dist/include/clang/Basic/Specifiers.h vendor/clang/dist/include/clang/Basic/StmtNodes.td vendor/clang/dist/include/clang/Basic/TargetBuiltins.h vendor/clang/dist/include/clang/Basic/TargetInfo.h vendor/clang/dist/include/clang/Basic/TokenKinds.def vendor/clang/dist/include/clang/Basic/TypeTraits.h vendor/clang/dist/include/clang/Basic/Version.h vendor/clang/dist/include/clang/CMakeLists.txt vendor/clang/dist/include/clang/CodeGen/CodeGenAction.h vendor/clang/dist/include/clang/CodeGen/ModuleBuilder.h vendor/clang/dist/include/clang/Config/config.h.cmake vendor/clang/dist/include/clang/Driver/Action.h vendor/clang/dist/include/clang/Driver/ArgList.h vendor/clang/dist/include/clang/Driver/CC1AsOptions.td vendor/clang/dist/include/clang/Driver/CC1Options.td vendor/clang/dist/include/clang/Driver/Compilation.h vendor/clang/dist/include/clang/Driver/Driver.h vendor/clang/dist/include/clang/Driver/DriverDiagnostic.h vendor/clang/dist/include/clang/Driver/Job.h vendor/clang/dist/include/clang/Driver/ObjCRuntime.h vendor/clang/dist/include/clang/Driver/OptTable.h vendor/clang/dist/include/clang/Driver/Options.td vendor/clang/dist/include/clang/Driver/Tool.h vendor/clang/dist/include/clang/Driver/ToolChain.h vendor/clang/dist/include/clang/Driver/Types.def vendor/clang/dist/include/clang/Frontend/ASTUnit.h vendor/clang/dist/include/clang/Frontend/Analyses.def vendor/clang/dist/include/clang/Frontend/AnalyzerOptions.h vendor/clang/dist/include/clang/Frontend/ChainedDiagnosticConsumer.h vendor/clang/dist/include/clang/Frontend/CodeGenOptions.h vendor/clang/dist/include/clang/Frontend/CompilerInstance.h vendor/clang/dist/include/clang/Frontend/CompilerInvocation.h vendor/clang/dist/include/clang/Frontend/DependencyOutputOptions.h vendor/clang/dist/include/clang/Frontend/DiagnosticOptions.h vendor/clang/dist/include/clang/Frontend/FrontendAction.h vendor/clang/dist/include/clang/Frontend/FrontendActions.h vendor/clang/dist/include/clang/Frontend/FrontendDiagnostic.h vendor/clang/dist/include/clang/Frontend/FrontendOptions.h vendor/clang/dist/include/clang/Frontend/LangStandard.h vendor/clang/dist/include/clang/Frontend/LangStandards.def vendor/clang/dist/include/clang/Frontend/MultiplexConsumer.h vendor/clang/dist/include/clang/Frontend/PreprocessorOptions.h vendor/clang/dist/include/clang/Frontend/TextDiagnosticPrinter.h vendor/clang/dist/include/clang/Frontend/Utils.h vendor/clang/dist/include/clang/Frontend/VerifyDiagnosticConsumer.h vendor/clang/dist/include/clang/Index/ASTLocation.h vendor/clang/dist/include/clang/Lex/DirectoryLookup.h vendor/clang/dist/include/clang/Lex/ExternalPreprocessorSource.h vendor/clang/dist/include/clang/Lex/HeaderSearch.h vendor/clang/dist/include/clang/Lex/LexDiagnostic.h vendor/clang/dist/include/clang/Lex/Lexer.h vendor/clang/dist/include/clang/Lex/LiteralSupport.h vendor/clang/dist/include/clang/Lex/MacroInfo.h vendor/clang/dist/include/clang/Lex/ModuleLoader.h vendor/clang/dist/include/clang/Lex/PPCallbacks.h vendor/clang/dist/include/clang/Lex/PreprocessingRecord.h vendor/clang/dist/include/clang/Lex/Preprocessor.h vendor/clang/dist/include/clang/Lex/PreprocessorLexer.h vendor/clang/dist/include/clang/Lex/Token.h vendor/clang/dist/include/clang/Makefile vendor/clang/dist/include/clang/Parse/ParseAST.h vendor/clang/dist/include/clang/Parse/ParseDiagnostic.h vendor/clang/dist/include/clang/Parse/Parser.h vendor/clang/dist/include/clang/Rewrite/ASTConsumers.h vendor/clang/dist/include/clang/Rewrite/FixItRewriter.h vendor/clang/dist/include/clang/Rewrite/FrontendActions.h vendor/clang/dist/include/clang/Rewrite/TokenRewriter.h vendor/clang/dist/include/clang/Sema/AttributeList.h vendor/clang/dist/include/clang/Sema/CodeCompleteConsumer.h vendor/clang/dist/include/clang/Sema/DeclSpec.h vendor/clang/dist/include/clang/Sema/DelayedDiagnostic.h vendor/clang/dist/include/clang/Sema/ExternalSemaSource.h vendor/clang/dist/include/clang/Sema/IdentifierResolver.h vendor/clang/dist/include/clang/Sema/Initialization.h vendor/clang/dist/include/clang/Sema/LocInfoType.h vendor/clang/dist/include/clang/Sema/Lookup.h vendor/clang/dist/include/clang/Sema/Overload.h vendor/clang/dist/include/clang/Sema/ParsedTemplate.h vendor/clang/dist/include/clang/Sema/PrettyDeclStackTrace.h vendor/clang/dist/include/clang/Sema/Scope.h vendor/clang/dist/include/clang/Sema/ScopeInfo.h vendor/clang/dist/include/clang/Sema/Sema.h vendor/clang/dist/include/clang/Sema/SemaConsumer.h vendor/clang/dist/include/clang/Sema/SemaDiagnostic.h vendor/clang/dist/include/clang/Sema/SemaFixItUtils.h vendor/clang/dist/include/clang/Sema/Template.h vendor/clang/dist/include/clang/Sema/TemplateDeduction.h vendor/clang/dist/include/clang/Sema/TypoCorrection.h vendor/clang/dist/include/clang/Serialization/ASTBitCodes.h vendor/clang/dist/include/clang/Serialization/ASTDeserializationListener.h vendor/clang/dist/include/clang/Serialization/ASTReader.h vendor/clang/dist/include/clang/Serialization/ASTWriter.h vendor/clang/dist/include/clang/Serialization/ContinuousRangeMap.h vendor/clang/dist/include/clang/Serialization/Module.h vendor/clang/dist/include/clang/Serialization/ModuleManager.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/Checker.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/CheckerManager.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/CheckerRegistry.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h vendor/clang/dist/lib/ARCMigrate/ARCMT.cpp vendor/clang/dist/lib/ARCMigrate/ARCMTActions.cpp vendor/clang/dist/lib/ARCMigrate/CMakeLists.txt vendor/clang/dist/lib/ARCMigrate/FileRemapper.cpp vendor/clang/dist/lib/ARCMigrate/Internals.h vendor/clang/dist/lib/ARCMigrate/TransARCAssign.cpp vendor/clang/dist/lib/ARCMigrate/TransAutoreleasePool.cpp vendor/clang/dist/lib/ARCMigrate/TransBlockObjCVariable.cpp vendor/clang/dist/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp vendor/clang/dist/lib/ARCMigrate/TransProperties.cpp vendor/clang/dist/lib/ARCMigrate/TransRetainReleaseDealloc.cpp vendor/clang/dist/lib/ARCMigrate/TransUnbridgedCasts.cpp vendor/clang/dist/lib/ARCMigrate/TransUnusedInitDelegate.cpp vendor/clang/dist/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp vendor/clang/dist/lib/ARCMigrate/TransformActions.cpp vendor/clang/dist/lib/ARCMigrate/Transforms.cpp vendor/clang/dist/lib/ARCMigrate/Transforms.h vendor/clang/dist/lib/AST/APValue.cpp vendor/clang/dist/lib/AST/ASTConsumer.cpp vendor/clang/dist/lib/AST/ASTContext.cpp vendor/clang/dist/lib/AST/ASTDiagnostic.cpp vendor/clang/dist/lib/AST/ASTImporter.cpp vendor/clang/dist/lib/AST/AttrImpl.cpp vendor/clang/dist/lib/AST/CMakeLists.txt vendor/clang/dist/lib/AST/CXXInheritance.cpp vendor/clang/dist/lib/AST/Decl.cpp vendor/clang/dist/lib/AST/DeclBase.cpp vendor/clang/dist/lib/AST/DeclCXX.cpp vendor/clang/dist/lib/AST/DeclFriend.cpp vendor/clang/dist/lib/AST/DeclObjC.cpp vendor/clang/dist/lib/AST/DeclPrinter.cpp vendor/clang/dist/lib/AST/DeclTemplate.cpp vendor/clang/dist/lib/AST/DeclarationName.cpp vendor/clang/dist/lib/AST/DumpXML.cpp vendor/clang/dist/lib/AST/Expr.cpp vendor/clang/dist/lib/AST/ExprCXX.cpp vendor/clang/dist/lib/AST/ExprClassification.cpp vendor/clang/dist/lib/AST/ExprConstant.cpp vendor/clang/dist/lib/AST/ItaniumMangle.cpp vendor/clang/dist/lib/AST/Mangle.cpp vendor/clang/dist/lib/AST/MicrosoftMangle.cpp vendor/clang/dist/lib/AST/NestedNameSpecifier.cpp vendor/clang/dist/lib/AST/ParentMap.cpp vendor/clang/dist/lib/AST/RecordLayout.cpp vendor/clang/dist/lib/AST/RecordLayoutBuilder.cpp vendor/clang/dist/lib/AST/Stmt.cpp vendor/clang/dist/lib/AST/StmtDumper.cpp vendor/clang/dist/lib/AST/StmtPrinter.cpp vendor/clang/dist/lib/AST/StmtProfile.cpp vendor/clang/dist/lib/AST/TemplateBase.cpp vendor/clang/dist/lib/AST/TemplateName.cpp vendor/clang/dist/lib/AST/Type.cpp vendor/clang/dist/lib/AST/TypeLoc.cpp vendor/clang/dist/lib/AST/TypePrinter.cpp vendor/clang/dist/lib/AST/VTableBuilder.cpp vendor/clang/dist/lib/Analysis/CFG.cpp vendor/clang/dist/lib/Analysis/CMakeLists.txt vendor/clang/dist/lib/Analysis/CocoaConventions.cpp vendor/clang/dist/lib/Analysis/FormatString.cpp vendor/clang/dist/lib/Analysis/FormatStringParsing.h vendor/clang/dist/lib/Analysis/LiveVariables.cpp vendor/clang/dist/lib/Analysis/PrintfFormatString.cpp vendor/clang/dist/lib/Analysis/ProgramPoint.cpp vendor/clang/dist/lib/Analysis/PseudoConstantAnalysis.cpp vendor/clang/dist/lib/Analysis/ReachableCode.cpp vendor/clang/dist/lib/Analysis/ScanfFormatString.cpp vendor/clang/dist/lib/Analysis/ThreadSafety.cpp vendor/clang/dist/lib/Analysis/UninitializedValues.cpp vendor/clang/dist/lib/Basic/Builtins.cpp vendor/clang/dist/lib/Basic/CMakeLists.txt vendor/clang/dist/lib/Basic/ConvertUTF.c vendor/clang/dist/lib/Basic/Diagnostic.cpp vendor/clang/dist/lib/Basic/DiagnosticIDs.cpp vendor/clang/dist/lib/Basic/FileManager.cpp vendor/clang/dist/lib/Basic/FileSystemStatCache.cpp vendor/clang/dist/lib/Basic/IdentifierTable.cpp vendor/clang/dist/lib/Basic/LangOptions.cpp vendor/clang/dist/lib/Basic/Makefile vendor/clang/dist/lib/Basic/SourceLocation.cpp vendor/clang/dist/lib/Basic/SourceManager.cpp vendor/clang/dist/lib/Basic/TargetInfo.cpp vendor/clang/dist/lib/Basic/Targets.cpp vendor/clang/dist/lib/Basic/Version.cpp vendor/clang/dist/lib/CMakeLists.txt vendor/clang/dist/lib/CodeGen/ABIInfo.h vendor/clang/dist/lib/CodeGen/BackendUtil.cpp vendor/clang/dist/lib/CodeGen/CGBlocks.cpp vendor/clang/dist/lib/CodeGen/CGBlocks.h vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp vendor/clang/dist/lib/CodeGen/CGCXX.cpp vendor/clang/dist/lib/CodeGen/CGCXXABI.cpp vendor/clang/dist/lib/CodeGen/CGCXXABI.h vendor/clang/dist/lib/CodeGen/CGCall.cpp vendor/clang/dist/lib/CodeGen/CGCall.h vendor/clang/dist/lib/CodeGen/CGClass.cpp vendor/clang/dist/lib/CodeGen/CGCleanup.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.h vendor/clang/dist/lib/CodeGen/CGDecl.cpp vendor/clang/dist/lib/CodeGen/CGDeclCXX.cpp vendor/clang/dist/lib/CodeGen/CGException.cpp vendor/clang/dist/lib/CodeGen/CGExpr.cpp vendor/clang/dist/lib/CodeGen/CGExprAgg.cpp vendor/clang/dist/lib/CodeGen/CGExprCXX.cpp vendor/clang/dist/lib/CodeGen/CGExprComplex.cpp vendor/clang/dist/lib/CodeGen/CGExprConstant.cpp vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp vendor/clang/dist/lib/CodeGen/CGObjC.cpp vendor/clang/dist/lib/CodeGen/CGObjCGNU.cpp vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp vendor/clang/dist/lib/CodeGen/CGObjCRuntime.cpp vendor/clang/dist/lib/CodeGen/CGObjCRuntime.h vendor/clang/dist/lib/CodeGen/CGRTTI.cpp vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.cpp vendor/clang/dist/lib/CodeGen/CGStmt.cpp vendor/clang/dist/lib/CodeGen/CGVTT.cpp vendor/clang/dist/lib/CodeGen/CGVTables.cpp vendor/clang/dist/lib/CodeGen/CGValue.h vendor/clang/dist/lib/CodeGen/CMakeLists.txt vendor/clang/dist/lib/CodeGen/CodeGenAction.cpp vendor/clang/dist/lib/CodeGen/CodeGenFunction.cpp vendor/clang/dist/lib/CodeGen/CodeGenFunction.h vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp vendor/clang/dist/lib/CodeGen/CodeGenModule.h vendor/clang/dist/lib/CodeGen/CodeGenTBAA.cpp vendor/clang/dist/lib/CodeGen/CodeGenTBAA.h vendor/clang/dist/lib/CodeGen/CodeGenTypes.cpp vendor/clang/dist/lib/CodeGen/CodeGenTypes.h vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp vendor/clang/dist/lib/CodeGen/MicrosoftCXXABI.cpp vendor/clang/dist/lib/CodeGen/ModuleBuilder.cpp vendor/clang/dist/lib/CodeGen/TargetInfo.cpp vendor/clang/dist/lib/CodeGen/TargetInfo.h vendor/clang/dist/lib/Driver/Action.cpp vendor/clang/dist/lib/Driver/Arg.cpp vendor/clang/dist/lib/Driver/ArgList.cpp vendor/clang/dist/lib/Driver/CC1AsOptions.cpp vendor/clang/dist/lib/Driver/CC1Options.cpp vendor/clang/dist/lib/Driver/CMakeLists.txt vendor/clang/dist/lib/Driver/Compilation.cpp vendor/clang/dist/lib/Driver/Driver.cpp vendor/clang/dist/lib/Driver/DriverOptions.cpp vendor/clang/dist/lib/Driver/Job.cpp vendor/clang/dist/lib/Driver/Option.cpp vendor/clang/dist/lib/Driver/ToolChain.cpp vendor/clang/dist/lib/Driver/ToolChains.cpp vendor/clang/dist/lib/Driver/ToolChains.h vendor/clang/dist/lib/Driver/Tools.cpp vendor/clang/dist/lib/Driver/Tools.h vendor/clang/dist/lib/Driver/Types.cpp vendor/clang/dist/lib/Frontend/ASTConsumers.cpp vendor/clang/dist/lib/Frontend/ASTMerge.cpp vendor/clang/dist/lib/Frontend/ASTUnit.cpp vendor/clang/dist/lib/Frontend/CMakeLists.txt vendor/clang/dist/lib/Frontend/CacheTokens.cpp vendor/clang/dist/lib/Frontend/CompilerInstance.cpp vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp vendor/clang/dist/lib/Frontend/CreateInvocationFromCommandLine.cpp vendor/clang/dist/lib/Frontend/DependencyFile.cpp vendor/clang/dist/lib/Frontend/FrontendAction.cpp vendor/clang/dist/lib/Frontend/FrontendActions.cpp vendor/clang/dist/lib/Frontend/HeaderIncludeGen.cpp vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp vendor/clang/dist/lib/Frontend/LangStandards.cpp vendor/clang/dist/lib/Frontend/LogDiagnosticPrinter.cpp vendor/clang/dist/lib/Frontend/MultiplexConsumer.cpp vendor/clang/dist/lib/Frontend/PrintPreprocessedOutput.cpp vendor/clang/dist/lib/Frontend/TextDiagnosticBuffer.cpp vendor/clang/dist/lib/Frontend/TextDiagnosticPrinter.cpp vendor/clang/dist/lib/Frontend/VerifyDiagnosticConsumer.cpp vendor/clang/dist/lib/Frontend/Warnings.cpp vendor/clang/dist/lib/FrontendTool/ExecuteCompilerInvocation.cpp vendor/clang/dist/lib/Headers/CMakeLists.txt vendor/clang/dist/lib/Headers/Makefile vendor/clang/dist/lib/Headers/avxintrin.h vendor/clang/dist/lib/Headers/emmintrin.h vendor/clang/dist/lib/Headers/float.h vendor/clang/dist/lib/Headers/immintrin.h vendor/clang/dist/lib/Headers/mm3dnow.h vendor/clang/dist/lib/Headers/smmintrin.h vendor/clang/dist/lib/Headers/tgmath.h vendor/clang/dist/lib/Headers/tmmintrin.h vendor/clang/dist/lib/Headers/wmmintrin.h vendor/clang/dist/lib/Headers/x86intrin.h vendor/clang/dist/lib/Headers/xmmintrin.h vendor/clang/dist/lib/Index/ASTLocation.cpp vendor/clang/dist/lib/Index/Analyzer.cpp vendor/clang/dist/lib/Index/CMakeLists.txt vendor/clang/dist/lib/Lex/CMakeLists.txt vendor/clang/dist/lib/Lex/HeaderMap.cpp vendor/clang/dist/lib/Lex/HeaderSearch.cpp vendor/clang/dist/lib/Lex/Lexer.cpp vendor/clang/dist/lib/Lex/LiteralSupport.cpp vendor/clang/dist/lib/Lex/MacroArgs.cpp vendor/clang/dist/lib/Lex/MacroInfo.cpp vendor/clang/dist/lib/Lex/PPCaching.cpp vendor/clang/dist/lib/Lex/PPDirectives.cpp vendor/clang/dist/lib/Lex/PPExpressions.cpp vendor/clang/dist/lib/Lex/PPLexerChange.cpp vendor/clang/dist/lib/Lex/PPMacroExpansion.cpp vendor/clang/dist/lib/Lex/PTHLexer.cpp vendor/clang/dist/lib/Lex/Pragma.cpp vendor/clang/dist/lib/Lex/PreprocessingRecord.cpp vendor/clang/dist/lib/Lex/Preprocessor.cpp vendor/clang/dist/lib/Lex/PreprocessorLexer.cpp vendor/clang/dist/lib/Lex/TokenConcatenation.cpp vendor/clang/dist/lib/Lex/TokenLexer.cpp vendor/clang/dist/lib/Makefile vendor/clang/dist/lib/Parse/ParseAST.cpp vendor/clang/dist/lib/Parse/ParseCXXInlineMethods.cpp vendor/clang/dist/lib/Parse/ParseDecl.cpp vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp vendor/clang/dist/lib/Parse/ParseExpr.cpp vendor/clang/dist/lib/Parse/ParseExprCXX.cpp vendor/clang/dist/lib/Parse/ParseInit.cpp vendor/clang/dist/lib/Parse/ParseObjc.cpp vendor/clang/dist/lib/Parse/ParsePragma.cpp vendor/clang/dist/lib/Parse/ParsePragma.h vendor/clang/dist/lib/Parse/ParseStmt.cpp vendor/clang/dist/lib/Parse/ParseTemplate.cpp vendor/clang/dist/lib/Parse/ParseTentative.cpp vendor/clang/dist/lib/Parse/Parser.cpp vendor/clang/dist/lib/Rewrite/CMakeLists.txt vendor/clang/dist/lib/Rewrite/FixItRewriter.cpp vendor/clang/dist/lib/Rewrite/FrontendActions.cpp vendor/clang/dist/lib/Rewrite/HTMLPrint.cpp vendor/clang/dist/lib/Rewrite/HTMLRewrite.cpp vendor/clang/dist/lib/Rewrite/RewriteMacros.cpp vendor/clang/dist/lib/Rewrite/RewriteObjC.cpp vendor/clang/dist/lib/Rewrite/RewriteTest.cpp vendor/clang/dist/lib/Rewrite/Rewriter.cpp vendor/clang/dist/lib/Sema/AnalysisBasedWarnings.cpp vendor/clang/dist/lib/Sema/AttributeList.cpp vendor/clang/dist/lib/Sema/CMakeLists.txt vendor/clang/dist/lib/Sema/CodeCompleteConsumer.cpp vendor/clang/dist/lib/Sema/DeclSpec.cpp vendor/clang/dist/lib/Sema/DelayedDiagnostic.cpp vendor/clang/dist/lib/Sema/IdentifierResolver.cpp vendor/clang/dist/lib/Sema/JumpDiagnostics.cpp vendor/clang/dist/lib/Sema/Scope.cpp vendor/clang/dist/lib/Sema/Sema.cpp vendor/clang/dist/lib/Sema/SemaAccess.cpp vendor/clang/dist/lib/Sema/SemaAttr.cpp vendor/clang/dist/lib/Sema/SemaCXXScopeSpec.cpp vendor/clang/dist/lib/Sema/SemaCast.cpp vendor/clang/dist/lib/Sema/SemaChecking.cpp vendor/clang/dist/lib/Sema/SemaCodeComplete.cpp vendor/clang/dist/lib/Sema/SemaDecl.cpp vendor/clang/dist/lib/Sema/SemaDeclAttr.cpp vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp vendor/clang/dist/lib/Sema/SemaExceptionSpec.cpp vendor/clang/dist/lib/Sema/SemaExpr.cpp vendor/clang/dist/lib/Sema/SemaExprCXX.cpp vendor/clang/dist/lib/Sema/SemaExprMember.cpp vendor/clang/dist/lib/Sema/SemaExprObjC.cpp vendor/clang/dist/lib/Sema/SemaFixItUtils.cpp vendor/clang/dist/lib/Sema/SemaInit.cpp vendor/clang/dist/lib/Sema/SemaLookup.cpp vendor/clang/dist/lib/Sema/SemaObjCProperty.cpp vendor/clang/dist/lib/Sema/SemaOverload.cpp vendor/clang/dist/lib/Sema/SemaStmt.cpp vendor/clang/dist/lib/Sema/SemaTemplate.cpp vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiate.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp vendor/clang/dist/lib/Sema/SemaTemplateVariadic.cpp vendor/clang/dist/lib/Sema/SemaType.cpp vendor/clang/dist/lib/Sema/TargetAttributesSema.cpp vendor/clang/dist/lib/Sema/TreeTransform.h vendor/clang/dist/lib/Serialization/ASTCommon.cpp vendor/clang/dist/lib/Serialization/ASTCommon.h vendor/clang/dist/lib/Serialization/ASTReader.cpp vendor/clang/dist/lib/Serialization/ASTReaderDecl.cpp vendor/clang/dist/lib/Serialization/ASTReaderInternals.h vendor/clang/dist/lib/Serialization/ASTReaderStmt.cpp vendor/clang/dist/lib/Serialization/ASTWriter.cpp vendor/clang/dist/lib/Serialization/ASTWriterDecl.cpp vendor/clang/dist/lib/Serialization/ASTWriterStmt.cpp vendor/clang/dist/lib/Serialization/CMakeLists.txt vendor/clang/dist/lib/Serialization/GeneratePCH.cpp vendor/clang/dist/lib/Serialization/Module.cpp vendor/clang/dist/lib/Serialization/ModuleManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/AdjustedReturnValueChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CMakeLists.txt vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/Checkers.td vendor/clang/dist/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ClangSACheckers.h vendor/clang/dist/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/IteratorsChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MallocChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/OSAtomicChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/StreamChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/AnalysisManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/BugReporter.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CMakeLists.txt vendor/clang/dist/lib/StaticAnalyzer/Core/Checker.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CheckerContext.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CheckerManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CheckerRegistry.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CoreEngine.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/Environment.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExplodedGraph.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngine.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngineC.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/MemRegion.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ObjCMessage.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/PathDiagnostic.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ProgramState.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/RegionStore.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SValBuilder.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SVals.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SimpleConstraintManager.h vendor/clang/dist/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/Store.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SymbolManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/TextPathDiagnostics.cpp vendor/clang/dist/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp vendor/clang/dist/lib/StaticAnalyzer/Frontend/CMakeLists.txt vendor/clang/dist/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp vendor/clang/dist/runtime/compiler-rt/Makefile vendor/clang/dist/runtime/libcxx/Makefile vendor/clang/dist/test/ARCMT/Common.h vendor/clang/dist/test/ARCMT/api.m vendor/clang/dist/test/ARCMT/api.m.result vendor/clang/dist/test/ARCMT/assign-prop-with-arc-runtime.m vendor/clang/dist/test/ARCMT/assign-prop-with-arc-runtime.m.result vendor/clang/dist/test/ARCMT/atautorelease-2.m vendor/clang/dist/test/ARCMT/atautorelease-2.m.result vendor/clang/dist/test/ARCMT/atautorelease-3.m vendor/clang/dist/test/ARCMT/atautorelease-3.m.result vendor/clang/dist/test/ARCMT/atautorelease-check.m vendor/clang/dist/test/ARCMT/atautorelease.m vendor/clang/dist/test/ARCMT/atautorelease.m.result vendor/clang/dist/test/ARCMT/autoreleases.m vendor/clang/dist/test/ARCMT/autoreleases.m.result vendor/clang/dist/test/ARCMT/checking.m vendor/clang/dist/test/ARCMT/cxx-checking.mm vendor/clang/dist/test/ARCMT/cxx-rewrite.mm vendor/clang/dist/test/ARCMT/cxx-rewrite.mm.result vendor/clang/dist/test/ARCMT/dealloc.m vendor/clang/dist/test/ARCMT/dealloc.m.result vendor/clang/dist/test/ARCMT/driver-migrate.m vendor/clang/dist/test/ARCMT/init.m vendor/clang/dist/test/ARCMT/init.m.result vendor/clang/dist/test/ARCMT/migrate-emit-errors.m vendor/clang/dist/test/ARCMT/migrate-plist-output.m vendor/clang/dist/test/ARCMT/migrate-space-in-path.m vendor/clang/dist/test/ARCMT/migrate.m vendor/clang/dist/test/ARCMT/nonobjc-to-objc-cast-2.m vendor/clang/dist/test/ARCMT/nonobjc-to-objc-cast.m vendor/clang/dist/test/ARCMT/nonobjc-to-objc-cast.m.result vendor/clang/dist/test/ARCMT/rewrite-block-var.m vendor/clang/dist/test/ARCMT/rewrite-block-var.m.result vendor/clang/dist/test/ARCMT/with-arc-mode-migrate.m vendor/clang/dist/test/ARCMT/with-arc-mode-migrate.m.result vendor/clang/dist/test/ASTMerge/Inputs/interface2.m vendor/clang/dist/test/Analysis/CFDateGC.m vendor/clang/dist/test/Analysis/CheckNSError.m vendor/clang/dist/test/Analysis/NSPanel.m vendor/clang/dist/test/Analysis/NSString.m vendor/clang/dist/test/Analysis/ObjCProperties.m vendor/clang/dist/test/Analysis/ObjCRetSigs.m vendor/clang/dist/test/Analysis/additive-folding.c vendor/clang/dist/test/Analysis/array-struct-region.c vendor/clang/dist/test/Analysis/auto-obj-dtors-cfg-output.cpp vendor/clang/dist/test/Analysis/bstring.c vendor/clang/dist/test/Analysis/casts.m vendor/clang/dist/test/Analysis/dead-stores.c vendor/clang/dist/test/Analysis/dead-stores.m vendor/clang/dist/test/Analysis/dtor.cpp vendor/clang/dist/test/Analysis/dtors-in-dtor-cfg-output.cpp vendor/clang/dist/test/Analysis/exercise-ps.c vendor/clang/dist/test/Analysis/free.c vendor/clang/dist/test/Analysis/idempotent-operations-limited-loops.c vendor/clang/dist/test/Analysis/idempotent-operations.c vendor/clang/dist/test/Analysis/idempotent-operations.cpp vendor/clang/dist/test/Analysis/idempotent-operations.m vendor/clang/dist/test/Analysis/initializers-cfg-output.cpp vendor/clang/dist/test/Analysis/inline.c vendor/clang/dist/test/Analysis/inline2.c vendor/clang/dist/test/Analysis/inline3.c vendor/clang/dist/test/Analysis/inline4.c vendor/clang/dist/test/Analysis/keychainAPI.m vendor/clang/dist/test/Analysis/malloc.c vendor/clang/dist/test/Analysis/method-arg-decay.m vendor/clang/dist/test/Analysis/misc-ps-cxx0x.cpp vendor/clang/dist/test/Analysis/misc-ps-region-store.cpp vendor/clang/dist/test/Analysis/misc-ps-region-store.m vendor/clang/dist/test/Analysis/misc-ps-region-store.mm vendor/clang/dist/test/Analysis/misc-ps.c vendor/clang/dist/test/Analysis/misc-ps.m vendor/clang/dist/test/Analysis/new.cpp vendor/clang/dist/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret-region.m vendor/clang/dist/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m vendor/clang/dist/test/Analysis/null-deref-ps.c vendor/clang/dist/test/Analysis/nullptr.cpp vendor/clang/dist/test/Analysis/objc-arc.m vendor/clang/dist/test/Analysis/out-of-bounds.c vendor/clang/dist/test/Analysis/plist-output-alternate.m vendor/clang/dist/test/Analysis/plist-output.m vendor/clang/dist/test/Analysis/pr_2542_rdar_6793404.m vendor/clang/dist/test/Analysis/properties.m vendor/clang/dist/test/Analysis/ptr-arith.c vendor/clang/dist/test/Analysis/rdar-6540084.m vendor/clang/dist/test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m vendor/clang/dist/test/Analysis/reference.cpp vendor/clang/dist/test/Analysis/retain-release-gc-only.m vendor/clang/dist/test/Analysis/retain-release-path-notes-gc.m vendor/clang/dist/test/Analysis/retain-release-path-notes.m vendor/clang/dist/test/Analysis/retain-release-region-store.m vendor/clang/dist/test/Analysis/retain-release.m vendor/clang/dist/test/Analysis/retain-release.mm vendor/clang/dist/test/Analysis/security-syntax-checks-no-emit.c vendor/clang/dist/test/Analysis/security-syntax-checks.m vendor/clang/dist/test/Analysis/self-init.m vendor/clang/dist/test/Analysis/stack-addr-ps.c vendor/clang/dist/test/Analysis/string.c vendor/clang/dist/test/Analysis/temp-obj-dtors-cfg-output.cpp vendor/clang/dist/test/Analysis/uninit-vals-ps-region.m vendor/clang/dist/test/Analysis/unix-fns.c vendor/clang/dist/test/Analysis/unreachable-code-path.c vendor/clang/dist/test/Analysis/unused-ivars.m vendor/clang/dist/test/Analysis/variadic-method-types.m vendor/clang/dist/test/CMakeLists.txt vendor/clang/dist/test/CXX/basic/basic.link/p9.cpp vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.argdep/p2.cpp vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp vendor/clang/dist/test/CXX/basic/basic.start/basic.start.main/p2f.cpp vendor/clang/dist/test/CXX/basic/basic.types/p10.cpp vendor/clang/dist/test/CXX/class.access/class.protected/p1.cpp vendor/clang/dist/test/CXX/class.access/p4.cpp vendor/clang/dist/test/CXX/class.access/p6.cpp vendor/clang/dist/test/CXX/class.derived/class.member.lookup/p6.cpp vendor/clang/dist/test/CXX/class/class.friend/p1.cpp vendor/clang/dist/test/CXX/class/class.friend/p6.cpp vendor/clang/dist/test/CXX/class/class.local/p1.cpp vendor/clang/dist/test/CXX/class/class.local/p3.cpp vendor/clang/dist/test/CXX/class/class.mem/p13.cpp vendor/clang/dist/test/CXX/class/class.nest/p1-cxx0x.cpp vendor/clang/dist/test/CXX/class/class.nest/p1.cpp vendor/clang/dist/test/CXX/class/class.static/class.static.data/p3.cpp vendor/clang/dist/test/CXX/class/class.union/p1.cpp vendor/clang/dist/test/CXX/class/p6-0x.cpp vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p1.cpp vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p11.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p6.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p8.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p2.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p6.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p3.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.simple/p4-cxx0x.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.aggr/p1-0x.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.list/basic.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.list/p7-0x-fixits.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.list/p7-0x.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-0x.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-cxx03-extra-copy.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.string/p1.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6-0x.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p9-0x.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.ref/p5.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.name/p1.cpp vendor/clang/dist/test/CXX/except/except.spec/p1.cpp vendor/clang/dist/test/CXX/expr/expr.const/p2-0x.cpp vendor/clang/dist/test/CXX/lex/lex.literal/lex.ext/p1.cpp vendor/clang/dist/test/CXX/over/over.over/p2-resolve-single-template-id.cpp vendor/clang/dist/test/CXX/special/class.copy/implicit-move-def.cpp vendor/clang/dist/test/CXX/special/class.copy/implicit-move.cpp vendor/clang/dist/test/CXX/special/class.copy/p11.0x.copy.cpp vendor/clang/dist/test/CXX/special/class.copy/p11.0x.move.cpp vendor/clang/dist/test/CXX/special/class.copy/p15-0x.cpp vendor/clang/dist/test/CXX/special/class.ctor/p5-0x.cpp vendor/clang/dist/test/CXX/special/class.free/p1.cpp vendor/clang/dist/test/CXX/special/class.free/p6.cpp vendor/clang/dist/test/CXX/special/class.inhctor/elsewhere.cpp vendor/clang/dist/test/CXX/special/class.inhctor/p3.cpp vendor/clang/dist/test/CXX/special/class.inhctor/p7.cpp vendor/clang/dist/test/CXX/special/class.init/class.base.init/p8-0x.cpp vendor/clang/dist/test/CXX/special/class.temporary/p1.cpp vendor/clang/dist/test/CXX/stmt.stmt/stmt.dcl/p3.cpp vendor/clang/dist/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp vendor/clang/dist/test/CXX/temp/p3.cpp vendor/clang/dist/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp vendor/clang/dist/test/CXX/temp/temp.decls/temp.variadic/p4.cpp vendor/clang/dist/test/CXX/temp/temp.decls/temp.variadic/p5.cpp vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p4.cpp vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p6.cpp vendor/clang/dist/test/CXX/temp/temp.param/p11-0x.cpp vendor/clang/dist/test/CXX/temp/temp.spec/p5.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/examples.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p2-0x.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p2.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p1-0x.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p2.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p3.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p4.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p5.cpp vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p8.cpp vendor/clang/dist/test/CodeCompletion/enum-switch-case.c vendor/clang/dist/test/CodeCompletion/ordinary-name.cpp vendor/clang/dist/test/CodeGen/2007-09-28-PackedUnionMember.c vendor/clang/dist/test/CodeGen/2009-02-13-zerosize-union-field-ppc.c vendor/clang/dist/test/CodeGen/2009-10-20-GlobalDebug.c vendor/clang/dist/test/CodeGen/altivec.c vendor/clang/dist/test/CodeGen/arm-aapcs-vfp.c vendor/clang/dist/test/CodeGen/arm-arguments.c vendor/clang/dist/test/CodeGen/arm-vector-align.c vendor/clang/dist/test/CodeGen/asm-inout.c vendor/clang/dist/test/CodeGen/asm-label.c vendor/clang/dist/test/CodeGen/asm-variable.c vendor/clang/dist/test/CodeGen/asm.c vendor/clang/dist/test/CodeGen/atomic-ops.c vendor/clang/dist/test/CodeGen/atomic.c vendor/clang/dist/test/CodeGen/avx-shuffle-builtins.c vendor/clang/dist/test/CodeGen/builtin-count-zeros.c vendor/clang/dist/test/CodeGen/builtin-memfns.c vendor/clang/dist/test/CodeGen/builtins-x86.c vendor/clang/dist/test/CodeGen/cfstring.c vendor/clang/dist/test/CodeGen/char-literal.c vendor/clang/dist/test/CodeGen/complex-indirect.c vendor/clang/dist/test/CodeGen/complex-init-list.c vendor/clang/dist/test/CodeGen/compound-literal.c vendor/clang/dist/test/CodeGen/conditional.c vendor/clang/dist/test/CodeGen/const-init.c vendor/clang/dist/test/CodeGen/darwin-string-literals.c vendor/clang/dist/test/CodeGen/debug-info-iv.c vendor/clang/dist/test/CodeGen/ext-vector.c vendor/clang/dist/test/CodeGen/frame-pointer-elim.c vendor/clang/dist/test/CodeGen/global-init.c vendor/clang/dist/test/CodeGen/init.c vendor/clang/dist/test/CodeGen/inline.c vendor/clang/dist/test/CodeGen/mmx-inline-asm.c vendor/clang/dist/test/CodeGen/mmx-shift-with-immediate.c vendor/clang/dist/test/CodeGen/mult-alt-generic.c vendor/clang/dist/test/CodeGen/object-size.c vendor/clang/dist/test/CodeGen/pascal-wchar-string.c vendor/clang/dist/test/CodeGen/pr9614.c vendor/clang/dist/test/CodeGen/sse-builtins.c vendor/clang/dist/test/CodeGen/statements.c vendor/clang/dist/test/CodeGen/string-literal-short-wstring.c vendor/clang/dist/test/CodeGen/string-literal.c vendor/clang/dist/test/CodeGen/switch-dce.c vendor/clang/dist/test/CodeGen/vla.c vendor/clang/dist/test/CodeGen/wchar-const.c vendor/clang/dist/test/CodeGen/x86_32-arguments-darwin.c vendor/clang/dist/test/CodeGen/x86_64-arguments.c vendor/clang/dist/test/CodeGenCXX/2007-01-06-PtrMethodInit.cpp vendor/clang/dist/test/CodeGenCXX/apple-kext-guard-variable.cpp vendor/clang/dist/test/CodeGenCXX/arm.cpp vendor/clang/dist/test/CodeGenCXX/assign-operator.cpp vendor/clang/dist/test/CodeGenCXX/blocks.cpp vendor/clang/dist/test/CodeGenCXX/c99-variable-length-array.cpp vendor/clang/dist/test/CodeGenCXX/compound-literals.cpp vendor/clang/dist/test/CodeGenCXX/conditional-gnu-ext.cpp vendor/clang/dist/test/CodeGenCXX/const-base-cast.cpp vendor/clang/dist/test/CodeGenCXX/const-init.cpp vendor/clang/dist/test/CodeGenCXX/constructor-init.cpp vendor/clang/dist/test/CodeGenCXX/constructors.cpp vendor/clang/dist/test/CodeGenCXX/copy-constructor-elim-2.cpp vendor/clang/dist/test/CodeGenCXX/cxx-apple-kext.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-byval.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-char16.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-fn-template.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-limit.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-member.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-method-spec.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-method.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-nullptr.cpp vendor/clang/dist/test/CodeGenCXX/debug-info-pubtypes.cpp vendor/clang/dist/test/CodeGenCXX/default-arguments.cpp vendor/clang/dist/test/CodeGenCXX/empty-union.cpp vendor/clang/dist/test/CodeGenCXX/exceptions.cpp vendor/clang/dist/test/CodeGenCXX/field-access-debug-info.cpp vendor/clang/dist/test/CodeGenCXX/for-range-temporaries.cpp vendor/clang/dist/test/CodeGenCXX/global-dtor-no-atexit.cpp vendor/clang/dist/test/CodeGenCXX/global-init.cpp vendor/clang/dist/test/CodeGenCXX/goto.cpp vendor/clang/dist/test/CodeGenCXX/mangle-address-space.cpp vendor/clang/dist/test/CodeGenCXX/mangle-alias-template.cpp vendor/clang/dist/test/CodeGenCXX/mangle-exprs.cpp vendor/clang/dist/test/CodeGenCXX/mangle-ms.cpp vendor/clang/dist/test/CodeGenCXX/mangle-template.cpp vendor/clang/dist/test/CodeGenCXX/mangle.cpp vendor/clang/dist/test/CodeGenCXX/member-function-pointer-calls.cpp vendor/clang/dist/test/CodeGenCXX/member-function-pointers.cpp vendor/clang/dist/test/CodeGenCXX/new.cpp vendor/clang/dist/test/CodeGenCXX/nrvo.cpp vendor/clang/dist/test/CodeGenCXX/pointers-to-data-members.cpp vendor/clang/dist/test/CodeGenCXX/pr9965.cpp vendor/clang/dist/test/CodeGenCXX/pragma-visibility.cpp vendor/clang/dist/test/CodeGenCXX/predefined-expr-sizeof.cpp vendor/clang/dist/test/CodeGenCXX/predefined-expr.cpp vendor/clang/dist/test/CodeGenCXX/references.cpp vendor/clang/dist/test/CodeGenCXX/static-data-member.cpp vendor/clang/dist/test/CodeGenCXX/static-init.cpp vendor/clang/dist/test/CodeGenCXX/temporaries.cpp vendor/clang/dist/test/CodeGenCXX/throw-expressions.cpp vendor/clang/dist/test/CodeGenCXX/thunks.cpp vendor/clang/dist/test/CodeGenCXX/typeid.cpp vendor/clang/dist/test/CodeGenCXX/uncode-string.cpp vendor/clang/dist/test/CodeGenCXX/value-init.cpp vendor/clang/dist/test/CodeGenCXX/visibility-inlines-hidden.cpp vendor/clang/dist/test/CodeGenCXX/visibility.cpp vendor/clang/dist/test/CodeGenCXX/vla.cpp vendor/clang/dist/test/CodeGenCXX/vtable-layout.cpp vendor/clang/dist/test/CodeGenCXX/x86_32-arguments.cpp vendor/clang/dist/test/CodeGenObjC/2009-08-05-utf16.m vendor/clang/dist/test/CodeGenObjC/arc-foreach.m vendor/clang/dist/test/CodeGenObjC/arc-ivar-layout.m vendor/clang/dist/test/CodeGenObjC/arc.m vendor/clang/dist/test/CodeGenObjC/constant-strings.m vendor/clang/dist/test/CodeGenObjC/debug-info-block-helper.m vendor/clang/dist/test/CodeGenObjC/debug-info-getter-name.m vendor/clang/dist/test/CodeGenObjC/debug-info-property.m vendor/clang/dist/test/CodeGenObjC/debug-info-pubtypes.m vendor/clang/dist/test/CodeGenObjC/debug-info-static-var.m vendor/clang/dist/test/CodeGenObjC/debug-property-synth.m vendor/clang/dist/test/CodeGenObjC/exceptions.m vendor/clang/dist/test/CodeGenObjC/forward-class-impl-metadata.m vendor/clang/dist/test/CodeGenObjC/image-info.m vendor/clang/dist/test/CodeGenObjC/objc-align.m vendor/clang/dist/test/CodeGenObjC/property.m vendor/clang/dist/test/CodeGenObjC/variadic-sends.m vendor/clang/dist/test/CodeGenObjCXX/arc.mm vendor/clang/dist/test/CodeGenObjCXX/copy.mm vendor/clang/dist/test/CodeGenObjCXX/property-object-reference.mm vendor/clang/dist/test/CodeGenObjCXX/property-reference.mm vendor/clang/dist/test/Coverage/targets.c vendor/clang/dist/test/Driver/Wp-args.c vendor/clang/dist/test/Driver/Xarch.c vendor/clang/dist/test/Driver/Xlinker-args.c vendor/clang/dist/test/Driver/analyze.c vendor/clang/dist/test/Driver/apple-kext-i386.cpp vendor/clang/dist/test/Driver/apple-kext-mkernel.c vendor/clang/dist/test/Driver/arc.c vendor/clang/dist/test/Driver/arch.c vendor/clang/dist/test/Driver/arm-darwin-builtin.c vendor/clang/dist/test/Driver/ast.c vendor/clang/dist/test/Driver/bindings.c vendor/clang/dist/test/Driver/cc-log-diagnostics.c vendor/clang/dist/test/Driver/ccc-host-triple-no-integrated-as.c vendor/clang/dist/test/Driver/cfi.c vendor/clang/dist/test/Driver/clang-translation.c vendor/clang/dist/test/Driver/cpath.c vendor/clang/dist/test/Driver/darwin-as.c vendor/clang/dist/test/Driver/darwin-cc.c vendor/clang/dist/test/Driver/darwin-debug-flags.c vendor/clang/dist/test/Driver/darwin-dsymutil.c vendor/clang/dist/test/Driver/darwin-iphone-defaults.m vendor/clang/dist/test/Driver/darwin-ld.c vendor/clang/dist/test/Driver/darwin-objc-defaults.m vendor/clang/dist/test/Driver/darwin-objc-gc.m vendor/clang/dist/test/Driver/darwin-objc-options.m vendor/clang/dist/test/Driver/darwin-verify-debug.c vendor/clang/dist/test/Driver/darwin-version.c vendor/clang/dist/test/Driver/darwin-xarch.c vendor/clang/dist/test/Driver/default-toolchain.c vendor/clang/dist/test/Driver/dragonfly.c vendor/clang/dist/test/Driver/exceptions.m vendor/clang/dist/test/Driver/flags.c vendor/clang/dist/test/Driver/freebsd.c vendor/clang/dist/test/Driver/gcc_forward.c vendor/clang/dist/test/Driver/gnu-runtime.m vendor/clang/dist/test/Driver/ios-simulator-arcruntime.c vendor/clang/dist/test/Driver/le32-unknown-nacl.cpp vendor/clang/dist/test/Driver/linux-ld.c vendor/clang/dist/test/Driver/mno-global-merge.c vendor/clang/dist/test/Driver/no-objc-arr.m vendor/clang/dist/test/Driver/nostdlib.c vendor/clang/dist/test/Driver/nostdlibinc.c vendor/clang/dist/test/Driver/openbsd.c vendor/clang/dist/test/Driver/parsing.c vendor/clang/dist/test/Driver/phases.c vendor/clang/dist/test/Driver/pth.c vendor/clang/dist/test/Driver/redzone.c vendor/clang/dist/test/Driver/rewrite-objc.m vendor/clang/dist/test/Driver/sysroot-flags.c vendor/clang/dist/test/Driver/sysroot.c vendor/clang/dist/test/Driver/unknown-gcc-arch.c vendor/clang/dist/test/Driver/x86_features.c vendor/clang/dist/test/FixIt/fixit-cxx0x.cpp vendor/clang/dist/test/FixIt/fixit-missing-method-return-type.m vendor/clang/dist/test/FixIt/fixit.c vendor/clang/dist/test/FixIt/fixit.cpp vendor/clang/dist/test/FixIt/typo-crash.cpp vendor/clang/dist/test/FixIt/typo.c vendor/clang/dist/test/FixIt/typo.m vendor/clang/dist/test/Frontend/darwin-version.c vendor/clang/dist/test/Frontend/dependency-gen.c vendor/clang/dist/test/Frontend/ir-support-errors.ll vendor/clang/dist/test/Frontend/rewrite-macros.c vendor/clang/dist/test/Headers/c89.c vendor/clang/dist/test/Index/TestClassDecl.m vendor/clang/dist/test/Index/TestClassForwardDecl.m vendor/clang/dist/test/Index/annotate-attribute.cpp vendor/clang/dist/test/Index/annotate-macro-args.m vendor/clang/dist/test/Index/annotate-tokens-cxx0x.cpp vendor/clang/dist/test/Index/annotate-tokens-pp.c vendor/clang/dist/test/Index/annotate-tokens.cpp vendor/clang/dist/test/Index/annotate-tokens.m vendor/clang/dist/test/Index/c-index-api-loadTU-test.m vendor/clang/dist/test/Index/c-index-getCursor-test.m vendor/clang/dist/test/Index/cindex-on-invalid-usrs.m vendor/clang/dist/test/Index/complete-at-exprstmt.m vendor/clang/dist/test/Index/complete-blocks.m vendor/clang/dist/test/Index/complete-cxx-inline-methods.cpp vendor/clang/dist/test/Index/complete-declarators.m vendor/clang/dist/test/Index/complete-enums.c vendor/clang/dist/test/Index/complete-exprs.c vendor/clang/dist/test/Index/complete-exprs.cpp vendor/clang/dist/test/Index/complete-exprs.m vendor/clang/dist/test/Index/complete-macros.c vendor/clang/dist/test/Index/complete-member-access.m vendor/clang/dist/test/Index/complete-method-decls.m vendor/clang/dist/test/Index/complete-objc-message.m vendor/clang/dist/test/Index/complete-qualified.cpp vendor/clang/dist/test/Index/complete-recovery.m vendor/clang/dist/test/Index/complete-stmt.c vendor/clang/dist/test/Index/complete-super.cpp vendor/clang/dist/test/Index/complete-synthesized.m vendor/clang/dist/test/Index/complete-type-factors.m vendor/clang/dist/test/Index/crash-recovery-code-complete.c vendor/clang/dist/test/Index/crash-recovery-reparse.c vendor/clang/dist/test/Index/file-refs.m vendor/clang/dist/test/Index/fix-its.c vendor/clang/dist/test/Index/get-cursor-macro-args.m vendor/clang/dist/test/Index/get-cursor.cpp vendor/clang/dist/test/Index/get-cursor.m vendor/clang/dist/test/Index/invalid-rdar-8236270.cpp vendor/clang/dist/test/Index/linkage.c vendor/clang/dist/test/Index/local-symbols.m vendor/clang/dist/test/Index/overrides.m vendor/clang/dist/test/Index/pragma-diag-reparse.c vendor/clang/dist/test/Index/print-typekind.c vendor/clang/dist/test/Index/print-typekind.m vendor/clang/dist/test/Index/properties-class-extensions.m vendor/clang/dist/test/Index/recursive-cxx-member-calls.cpp vendor/clang/dist/test/Index/retain-target-options.c vendor/clang/dist/test/Index/usrs.m vendor/clang/dist/test/Index/werror.c vendor/clang/dist/test/Lexer/constants.c vendor/clang/dist/test/Lexer/cxx0x_keyword_as_cxx98.cpp vendor/clang/dist/test/Lexer/cxx0x_raw_string_delim_length.cpp vendor/clang/dist/test/Lexer/escape_newline.c vendor/clang/dist/test/Lexer/has_extension.c vendor/clang/dist/test/Lexer/has_extension_cxx.cpp vendor/clang/dist/test/Lexer/has_feature_c1x.c vendor/clang/dist/test/Lexer/has_feature_cxx0x.cpp vendor/clang/dist/test/Lexer/has_feature_type_traits.cpp vendor/clang/dist/test/Lexer/hexfloat.cpp vendor/clang/dist/test/Lexer/ms-extensions.c vendor/clang/dist/test/Lexer/newline-eof.c vendor/clang/dist/test/Lexer/rdr-6096838-2.c vendor/clang/dist/test/Lexer/string_concat.cpp vendor/clang/dist/test/Lexer/utf8-char-literal.cpp vendor/clang/dist/test/Lexer/wchar.c vendor/clang/dist/test/Misc/caret-diags-macros.c vendor/clang/dist/test/Misc/diag-aka-types.cpp vendor/clang/dist/test/Misc/diag-format.c vendor/clang/dist/test/Misc/include-stack-for-note-flag.cpp vendor/clang/dist/test/Misc/warn-in-system-header.c vendor/clang/dist/test/Misc/warning-flags.c vendor/clang/dist/test/Modules/Inputs/DependsOnModule.framework/Headers/DependsOnModule.h vendor/clang/dist/test/Modules/Inputs/Module.framework/Headers/Module.h vendor/clang/dist/test/Modules/Inputs/MutuallyRecursive1.framework/Headers/MutuallyRecursive1.h vendor/clang/dist/test/Modules/Inputs/MutuallyRecursive2.framework/Headers/MutuallyRecursive2.h vendor/clang/dist/test/Modules/Inputs/diamond_bottom.h vendor/clang/dist/test/Modules/Inputs/diamond_left.h vendor/clang/dist/test/Modules/Inputs/diamond_right.h vendor/clang/dist/test/Modules/cycles.c vendor/clang/dist/test/Modules/diamond.c vendor/clang/dist/test/Modules/header-import.m vendor/clang/dist/test/Modules/irgen.c vendor/clang/dist/test/Modules/load_failure.c vendor/clang/dist/test/Modules/lookup.cpp vendor/clang/dist/test/Modules/lookup.m vendor/clang/dist/test/Modules/macros.c vendor/clang/dist/test/Modules/module-private.cpp vendor/clang/dist/test/Modules/objc-categories.m vendor/clang/dist/test/Modules/on-demand-build-warnings.m vendor/clang/dist/test/Modules/on-demand-build.m vendor/clang/dist/test/Modules/on-demand-macros.m vendor/clang/dist/test/PCH/Inputs/arc.h vendor/clang/dist/test/PCH/chain-cxx.cpp vendor/clang/dist/test/PCH/chain-selectors.m vendor/clang/dist/test/PCH/cxx-templates.cpp vendor/clang/dist/test/PCH/cxx-templates.h vendor/clang/dist/test/PCH/cxx-traits.cpp vendor/clang/dist/test/PCH/cxx-traits.h vendor/clang/dist/test/PCH/cxx0x-default-delete.cpp vendor/clang/dist/test/PCH/exprs.h vendor/clang/dist/test/PCH/method-redecls.m vendor/clang/dist/test/PCH/method_pool.m vendor/clang/dist/test/PCH/modified-header-error.c vendor/clang/dist/test/PCH/objc_exprs.h vendor/clang/dist/test/PCH/objc_exprs.m vendor/clang/dist/test/PCH/reloc.c vendor/clang/dist/test/PCH/typo.cpp vendor/clang/dist/test/Parser/DelayedTemplateParsing.cpp vendor/clang/dist/test/Parser/MicrosoftExtensions.c vendor/clang/dist/test/Parser/MicrosoftExtensions.cpp vendor/clang/dist/test/Parser/asm.c vendor/clang/dist/test/Parser/attr-availability.c vendor/clang/dist/test/Parser/attributes.c vendor/clang/dist/test/Parser/bracket-crash.cpp vendor/clang/dist/test/Parser/check-syntax-1.m vendor/clang/dist/test/Parser/cxx-altivec.cpp vendor/clang/dist/test/Parser/cxx-class.cpp vendor/clang/dist/test/Parser/cxx-condition.cpp vendor/clang/dist/test/Parser/cxx-decl.cpp vendor/clang/dist/test/Parser/cxx-default-delete.cpp vendor/clang/dist/test/Parser/cxx-ext-delete-default.cpp vendor/clang/dist/test/Parser/cxx-template-decl.cpp vendor/clang/dist/test/Parser/cxx-typeid.cpp vendor/clang/dist/test/Parser/cxx-typeof.cpp vendor/clang/dist/test/Parser/cxx-using-directive.cpp vendor/clang/dist/test/Parser/cxx0x-attributes.cpp vendor/clang/dist/test/Parser/cxx0x-in-cxx98.cpp vendor/clang/dist/test/Parser/cxx0x-lambda-expressions.cpp vendor/clang/dist/test/Parser/cxx0x-literal-operators.cpp vendor/clang/dist/test/Parser/declarators.c vendor/clang/dist/test/Parser/enhanced-proto-1.m vendor/clang/dist/test/Parser/method-def-in-class.m vendor/clang/dist/test/Parser/missing-end-2.m vendor/clang/dist/test/Parser/missing-end-3.m vendor/clang/dist/test/Parser/missing-end.m vendor/clang/dist/test/Parser/objc-category-neg-1.m vendor/clang/dist/test/Parser/objc-forcollection-neg-2.m vendor/clang/dist/test/Parser/objc-forcollection-neg.m vendor/clang/dist/test/Parser/objc-foreach-syntax.m vendor/clang/dist/test/Parser/objc-init.m vendor/clang/dist/test/Parser/objc-missing-impl.m vendor/clang/dist/test/Parser/objc-property-syntax.m vendor/clang/dist/test/Parser/objc-quirks.m vendor/clang/dist/test/Parser/objc-synthesized-recover.m vendor/clang/dist/test/Parser/objcxx-lambda-expressions-neg.mm vendor/clang/dist/test/Parser/objcxx0x-lambda-expressions.mm vendor/clang/dist/test/Parser/recovery.c vendor/clang/dist/test/Parser/statements.c vendor/clang/dist/test/Preprocessor/feature_tests.c vendor/clang/dist/test/Preprocessor/init.c vendor/clang/dist/test/Preprocessor/line-directive.c vendor/clang/dist/test/Preprocessor/macro_paste_c_block_comment.c vendor/clang/dist/test/Preprocessor/optimize.c vendor/clang/dist/test/Preprocessor/pic.c vendor/clang/dist/test/Preprocessor/pp-record.c vendor/clang/dist/test/Preprocessor/pp-record.h vendor/clang/dist/test/Preprocessor/pragma_microsoft.c vendor/clang/dist/test/Preprocessor/predefined-macros.c vendor/clang/dist/test/Preprocessor/stdint.c vendor/clang/dist/test/Preprocessor/x86_target_features.c vendor/clang/dist/test/Rewriter/blockcast3.mm vendor/clang/dist/test/Rewriter/blockstruct.m vendor/clang/dist/test/Rewriter/crash.m vendor/clang/dist/test/Rewriter/finally.m vendor/clang/dist/test/Rewriter/id-test-3.m vendor/clang/dist/test/Rewriter/inner-block-helper-funcs.mm vendor/clang/dist/test/Rewriter/instancetype-test.mm vendor/clang/dist/test/Rewriter/ivar-encoding-1.m vendor/clang/dist/test/Rewriter/ivar-encoding-2.m vendor/clang/dist/test/Rewriter/metadata-test-1.m vendor/clang/dist/test/Rewriter/metadata-test-2.m vendor/clang/dist/test/Rewriter/method-encoding-1.m vendor/clang/dist/test/Rewriter/objc-encoding-bug-1.m vendor/clang/dist/test/Rewriter/objc-ivar-receiver-1.m vendor/clang/dist/test/Rewriter/objc-string-concat-1.m vendor/clang/dist/test/Rewriter/objc-super-test.m vendor/clang/dist/test/Rewriter/objc-synchronized-1.m vendor/clang/dist/test/Rewriter/properties.m vendor/clang/dist/test/Rewriter/property-dot-syntax.mm vendor/clang/dist/test/Rewriter/protocol-rewrite-1.m vendor/clang/dist/test/Rewriter/protocol-rewrite-2.m vendor/clang/dist/test/Rewriter/rewrite-anonymous-union.m vendor/clang/dist/test/Rewriter/rewrite-api-bug.m vendor/clang/dist/test/Rewriter/rewrite-block-argument.m vendor/clang/dist/test/Rewriter/rewrite-block-consts.mm vendor/clang/dist/test/Rewriter/rewrite-block-ivar-call.mm vendor/clang/dist/test/Rewriter/rewrite-block-literal-1.mm vendor/clang/dist/test/Rewriter/rewrite-block-pointer.mm vendor/clang/dist/test/Rewriter/rewrite-block-property.m vendor/clang/dist/test/Rewriter/rewrite-byref-in-nested-blocks.mm vendor/clang/dist/test/Rewriter/rewrite-byref-vars.mm vendor/clang/dist/test/Rewriter/rewrite-cast-ivar-access.mm vendor/clang/dist/test/Rewriter/rewrite-cast-to-bool.mm vendor/clang/dist/test/Rewriter/rewrite-category-property.mm vendor/clang/dist/test/Rewriter/rewrite-constructor-init.mm vendor/clang/dist/test/Rewriter/rewrite-eh.m vendor/clang/dist/test/Rewriter/rewrite-elaborated-type.mm vendor/clang/dist/test/Rewriter/rewrite-extern-c.mm vendor/clang/dist/test/Rewriter/rewrite-foreach-1.m vendor/clang/dist/test/Rewriter/rewrite-foreach-2.m vendor/clang/dist/test/Rewriter/rewrite-foreach-3.m vendor/clang/dist/test/Rewriter/rewrite-foreach-4.m vendor/clang/dist/test/Rewriter/rewrite-foreach-5.m vendor/clang/dist/test/Rewriter/rewrite-foreach-6.m vendor/clang/dist/test/Rewriter/rewrite-foreach-7.m vendor/clang/dist/test/Rewriter/rewrite-foreach-in-block.mm vendor/clang/dist/test/Rewriter/rewrite-foreach-protocol-id.m vendor/clang/dist/test/Rewriter/rewrite-forward-class.m vendor/clang/dist/test/Rewriter/rewrite-forward-class.mm vendor/clang/dist/test/Rewriter/rewrite-function-decl.mm vendor/clang/dist/test/Rewriter/rewrite-implementation.mm vendor/clang/dist/test/Rewriter/rewrite-ivar-use.m vendor/clang/dist/test/Rewriter/rewrite-local-externs-in-block.mm vendor/clang/dist/test/Rewriter/rewrite-local-static-id.mm vendor/clang/dist/test/Rewriter/rewrite-message-expr.mm vendor/clang/dist/test/Rewriter/rewrite-nest.m vendor/clang/dist/test/Rewriter/rewrite-nested-blocks-1.mm vendor/clang/dist/test/Rewriter/rewrite-nested-blocks-2.mm vendor/clang/dist/test/Rewriter/rewrite-nested-blocks.mm vendor/clang/dist/test/Rewriter/rewrite-nested-ivar.mm vendor/clang/dist/test/Rewriter/rewrite-nested-property-in-blocks.mm vendor/clang/dist/test/Rewriter/rewrite-no-nextline.mm vendor/clang/dist/test/Rewriter/rewrite-property-attributes.mm vendor/clang/dist/test/Rewriter/rewrite-property-set-cfstring.mm vendor/clang/dist/test/Rewriter/rewrite-protocol-property.mm vendor/clang/dist/test/Rewriter/rewrite-protocol-qualified.mm vendor/clang/dist/test/Rewriter/rewrite-protocol-type-1.m vendor/clang/dist/test/Rewriter/rewrite-qualified-id.mm vendor/clang/dist/test/Rewriter/rewrite-rewritten-initializer.mm vendor/clang/dist/test/Rewriter/rewrite-static-block.mm vendor/clang/dist/test/Rewriter/rewrite-super-message.mm vendor/clang/dist/test/Rewriter/rewrite-trivial-constructor.mm vendor/clang/dist/test/Rewriter/rewrite-try-catch.m vendor/clang/dist/test/Rewriter/rewrite-typeof.mm vendor/clang/dist/test/Rewriter/rewrite-unique-block-api.mm vendor/clang/dist/test/Rewriter/rewrite-user-defined-accessors.mm vendor/clang/dist/test/Rewriter/rewrite-vararg.m vendor/clang/dist/test/Rewriter/rewrite-weak-attr.m vendor/clang/dist/test/Rewriter/static-type-protocol-1.m vendor/clang/dist/test/Rewriter/undecl-objc-h.m vendor/clang/dist/test/Rewriter/undeclared-method-1.m vendor/clang/dist/test/Rewriter/undef-field-reference-1.m vendor/clang/dist/test/Rewriter/va-method.m vendor/clang/dist/test/Rewriter/weak_byref_objects.m vendor/clang/dist/test/Sema/128bitint.c vendor/clang/dist/test/Sema/MicrosoftExtensions.c vendor/clang/dist/test/Sema/PR2963-enum-constant.c vendor/clang/dist/test/Sema/__try.c vendor/clang/dist/test/Sema/align-x86.c vendor/clang/dist/test/Sema/anonymous-struct-union.c vendor/clang/dist/test/Sema/arm-neon-types.c vendor/clang/dist/test/Sema/array-bounds-ptr-arith.c vendor/clang/dist/test/Sema/array-init.c vendor/clang/dist/test/Sema/asm.c vendor/clang/dist/test/Sema/atomic-ops.c vendor/clang/dist/test/Sema/atomic-type.c vendor/clang/dist/test/Sema/attr-availability-ios.c vendor/clang/dist/test/Sema/attr-availability-macosx.c vendor/clang/dist/test/Sema/attr-availability.c vendor/clang/dist/test/Sema/attr-deprecated.c vendor/clang/dist/test/Sema/attr-unavailable-message.c vendor/clang/dist/test/Sema/block-misc.c vendor/clang/dist/test/Sema/block-printf-attribute-1.c vendor/clang/dist/test/Sema/block-return.c vendor/clang/dist/test/Sema/block-sentinel-attribute.c vendor/clang/dist/test/Sema/builtins.c vendor/clang/dist/test/Sema/c89.c vendor/clang/dist/test/Sema/compare.c vendor/clang/dist/test/Sema/complex-init-list.c vendor/clang/dist/test/Sema/compound-literal.c vendor/clang/dist/test/Sema/conditional-expr.c vendor/clang/dist/test/Sema/const-eval.c vendor/clang/dist/test/Sema/constant-conversion.c vendor/clang/dist/test/Sema/conversion-64-32.c vendor/clang/dist/test/Sema/conversion.c vendor/clang/dist/test/Sema/default.c vendor/clang/dist/test/Sema/enum.c vendor/clang/dist/test/Sema/format-strings-fixit.c vendor/clang/dist/test/Sema/format-strings-scanf.c vendor/clang/dist/test/Sema/format-strings.c vendor/clang/dist/test/Sema/function.c vendor/clang/dist/test/Sema/gnu89.c vendor/clang/dist/test/Sema/i-c-e.c vendor/clang/dist/test/Sema/implicit-builtin-decl.c vendor/clang/dist/test/Sema/implicit-builtin-redecl.c vendor/clang/dist/test/Sema/implicit-decl.c vendor/clang/dist/test/Sema/init.c vendor/clang/dist/test/Sema/invalid-struct-init.c vendor/clang/dist/test/Sema/ms_class_layout.cpp vendor/clang/dist/test/Sema/no-format-y2k-turnsoff-format.c vendor/clang/dist/test/Sema/offsetof.c vendor/clang/dist/test/Sema/overloadable-complex.c vendor/clang/dist/test/Sema/overloadable.c vendor/clang/dist/test/Sema/pragma-ms_struct.c vendor/clang/dist/test/Sema/pragma-pack-2.c vendor/clang/dist/test/Sema/return.c vendor/clang/dist/test/Sema/statements.c vendor/clang/dist/test/Sema/static-init.c vendor/clang/dist/test/Sema/switch.c vendor/clang/dist/test/Sema/thread-specifier.c vendor/clang/dist/test/Sema/types.c vendor/clang/dist/test/Sema/ucn-cstring.c vendor/clang/dist/test/Sema/uninit-variables.c vendor/clang/dist/test/Sema/vector-assign.c vendor/clang/dist/test/Sema/vector-cast.c vendor/clang/dist/test/Sema/vector-ops.c vendor/clang/dist/test/Sema/vla.c vendor/clang/dist/test/Sema/warn-cast-align.c vendor/clang/dist/test/Sema/warn-unreachable.c vendor/clang/dist/test/Sema/x86-builtin-palignr.c vendor/clang/dist/test/SemaCXX/MicrosoftCompatibility.cpp vendor/clang/dist/test/SemaCXX/MicrosoftExtensions.cpp vendor/clang/dist/test/SemaCXX/PR9460.cpp vendor/clang/dist/test/SemaCXX/PR9461.cpp vendor/clang/dist/test/SemaCXX/PR9572.cpp vendor/clang/dist/test/SemaCXX/__null.cpp vendor/clang/dist/test/SemaCXX/access.cpp vendor/clang/dist/test/SemaCXX/addr-of-overloaded-function.cpp vendor/clang/dist/test/SemaCXX/aggregate-initialization.cpp vendor/clang/dist/test/SemaCXX/alias-template.cpp vendor/clang/dist/test/SemaCXX/altivec.cpp vendor/clang/dist/test/SemaCXX/anonymous-struct.cpp vendor/clang/dist/test/SemaCXX/array-bounds-ptr-arith.cpp vendor/clang/dist/test/SemaCXX/array-bounds.cpp vendor/clang/dist/test/SemaCXX/attr-cxx0x.cpp vendor/clang/dist/test/SemaCXX/attr-deprecated.cpp vendor/clang/dist/test/SemaCXX/attr-sentinel.cpp vendor/clang/dist/test/SemaCXX/auto-cxx98.cpp vendor/clang/dist/test/SemaCXX/blocks-1.cpp vendor/clang/dist/test/SemaCXX/c99-variable-length-array.cpp vendor/clang/dist/test/SemaCXX/c99.cpp vendor/clang/dist/test/SemaCXX/class-base-member-init.cpp vendor/clang/dist/test/SemaCXX/class.cpp vendor/clang/dist/test/SemaCXX/complex-overload.cpp vendor/clang/dist/test/SemaCXX/condition.cpp vendor/clang/dist/test/SemaCXX/conditional-expr.cpp vendor/clang/dist/test/SemaCXX/constant-expression.cpp vendor/clang/dist/test/SemaCXX/constructor-initializer.cpp vendor/clang/dist/test/SemaCXX/conversion.cpp vendor/clang/dist/test/SemaCXX/copy-assignment.cpp vendor/clang/dist/test/SemaCXX/copy-initialization.cpp vendor/clang/dist/test/SemaCXX/cxx0x-class.cpp vendor/clang/dist/test/SemaCXX/cxx0x-compat.cpp vendor/clang/dist/test/SemaCXX/cxx0x-cursory-default-delete.cpp vendor/clang/dist/test/SemaCXX/cxx0x-defaulted-functions.cpp vendor/clang/dist/test/SemaCXX/cxx0x-deleted-default-ctor.cpp vendor/clang/dist/test/SemaCXX/cxx0x-initializer-scalars.cpp vendor/clang/dist/test/SemaCXX/cxx0x-nontrivial-union.cpp vendor/clang/dist/test/SemaCXX/cxx0x-return-init-list.cpp vendor/clang/dist/test/SemaCXX/cxx98-compat-pedantic.cpp vendor/clang/dist/test/SemaCXX/cxx98-compat.cpp vendor/clang/dist/test/SemaCXX/dcl_init_aggr.cpp vendor/clang/dist/test/SemaCXX/decl-expr-ambiguity.cpp vendor/clang/dist/test/SemaCXX/decltype-crash.cpp vendor/clang/dist/test/SemaCXX/decltype.cpp vendor/clang/dist/test/SemaCXX/default1.cpp vendor/clang/dist/test/SemaCXX/default2.cpp vendor/clang/dist/test/SemaCXX/deleted-function.cpp vendor/clang/dist/test/SemaCXX/deleted-operator.cpp vendor/clang/dist/test/SemaCXX/dependent-auto.cpp vendor/clang/dist/test/SemaCXX/destructor.cpp vendor/clang/dist/test/SemaCXX/empty-class-layout.cpp vendor/clang/dist/test/SemaCXX/enum-bitfield.cpp vendor/clang/dist/test/SemaCXX/enum-scoped.cpp vendor/clang/dist/test/SemaCXX/enum.cpp vendor/clang/dist/test/SemaCXX/exceptions.cpp vendor/clang/dist/test/SemaCXX/explicit.cpp vendor/clang/dist/test/SemaCXX/expression-traits.cpp vendor/clang/dist/test/SemaCXX/for-range-examples.cpp vendor/clang/dist/test/SemaCXX/for-range-no-std.cpp vendor/clang/dist/test/SemaCXX/friend.cpp vendor/clang/dist/test/SemaCXX/function-redecl.cpp vendor/clang/dist/test/SemaCXX/function-type-qual.cpp vendor/clang/dist/test/SemaCXX/gnu-case-ranges.cpp vendor/clang/dist/test/SemaCXX/goto.cpp vendor/clang/dist/test/SemaCXX/i-c-e-cxx.cpp vendor/clang/dist/test/SemaCXX/implicit-exception-spec.cpp vendor/clang/dist/test/SemaCXX/incomplete-call.cpp vendor/clang/dist/test/SemaCXX/instantiate-blocks.cpp vendor/clang/dist/test/SemaCXX/invalid-member-expr.cpp vendor/clang/dist/test/SemaCXX/issue547.cpp vendor/clang/dist/test/SemaCXX/literal-operators.cpp vendor/clang/dist/test/SemaCXX/literal-type.cpp vendor/clang/dist/test/SemaCXX/member-expr.cpp vendor/clang/dist/test/SemaCXX/member-init.cpp vendor/clang/dist/test/SemaCXX/member-pointer.cpp vendor/clang/dist/test/SemaCXX/microsoft-cxx0x.cpp vendor/clang/dist/test/SemaCXX/missing-header.cpp vendor/clang/dist/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp vendor/clang/dist/test/SemaCXX/namespace-alias.cpp vendor/clang/dist/test/SemaCXX/nested-name-spec.cpp vendor/clang/dist/test/SemaCXX/new-delete.cpp vendor/clang/dist/test/SemaCXX/null_in_arithmetic_ops.cpp vendor/clang/dist/test/SemaCXX/nullptr.cpp vendor/clang/dist/test/SemaCXX/offsetof.cpp vendor/clang/dist/test/SemaCXX/overload-call.cpp vendor/clang/dist/test/SemaCXX/overload-member-call.cpp vendor/clang/dist/test/SemaCXX/overloaded-name.cpp vendor/clang/dist/test/SemaCXX/overloaded-operator.cpp vendor/clang/dist/test/SemaCXX/pseudo-destructors.cpp vendor/clang/dist/test/SemaCXX/qual-id-test.cpp vendor/clang/dist/test/SemaCXX/qualified-id-lookup.cpp vendor/clang/dist/test/SemaCXX/reinterpret-cast.cpp vendor/clang/dist/test/SemaCXX/reinterpret-fn-obj-pedantic.cpp vendor/clang/dist/test/SemaCXX/return-noreturn.cpp vendor/clang/dist/test/SemaCXX/scope-check.cpp vendor/clang/dist/test/SemaCXX/statements.cpp vendor/clang/dist/test/SemaCXX/static-assert.cpp vendor/clang/dist/test/SemaCXX/switch.cpp vendor/clang/dist/test/SemaCXX/this.cpp vendor/clang/dist/test/SemaCXX/trailing-return-0x.cpp vendor/clang/dist/test/SemaCXX/type-traits.cpp vendor/clang/dist/test/SemaCXX/typedef-redecl.cpp vendor/clang/dist/test/SemaCXX/typeid.cpp vendor/clang/dist/test/SemaCXX/typo-correction.cpp vendor/clang/dist/test/SemaCXX/undefined-internal.cpp vendor/clang/dist/test/SemaCXX/underlying_type.cpp vendor/clang/dist/test/SemaCXX/uninit-variables.cpp vendor/clang/dist/test/SemaCXX/uninitialized.cpp vendor/clang/dist/test/SemaCXX/unknown-anytype.cpp vendor/clang/dist/test/SemaCXX/value-initialization.cpp vendor/clang/dist/test/SemaCXX/vararg-non-pod.cpp vendor/clang/dist/test/SemaCXX/vector.cpp vendor/clang/dist/test/SemaCXX/warn-bool-conversion.cpp vendor/clang/dist/test/SemaCXX/warn-large-by-value-copy.cpp vendor/clang/dist/test/SemaCXX/warn-memset-bad-sizeof.cpp vendor/clang/dist/test/SemaCXX/warn-thread-safety-analysis.cpp vendor/clang/dist/test/SemaCXX/warn-thread-safety-parsing.cpp vendor/clang/dist/test/SemaCXX/warn-unreachable.cpp vendor/clang/dist/test/SemaCXX/warn-unused-parameters.cpp vendor/clang/dist/test/SemaCXX/warn-unused-value.cpp vendor/clang/dist/test/SemaCXX/warn-unused-variables.cpp vendor/clang/dist/test/SemaCXX/warn-weak-vtables.cpp vendor/clang/dist/test/SemaObjC/ContClassPropertyLookup.m vendor/clang/dist/test/SemaObjC/DoubleMethod.m vendor/clang/dist/test/SemaObjC/alias-test-2.m vendor/clang/dist/test/SemaObjC/arc-bridged-cast.m vendor/clang/dist/test/SemaObjC/arc-cf.m vendor/clang/dist/test/SemaObjC/arc-decls.m vendor/clang/dist/test/SemaObjC/arc-jump-block.m vendor/clang/dist/test/SemaObjC/arc-no-runtime.m vendor/clang/dist/test/SemaObjC/arc-peformselector.m vendor/clang/dist/test/SemaObjC/arc-property-lifetime.m vendor/clang/dist/test/SemaObjC/arc-property.m vendor/clang/dist/test/SemaObjC/arc-retain-block-property.m vendor/clang/dist/test/SemaObjC/arc-setter-property-match.m vendor/clang/dist/test/SemaObjC/arc-type-conversion.m vendor/clang/dist/test/SemaObjC/arc-unavailable-for-weakref.m vendor/clang/dist/test/SemaObjC/arc-unbridged-cast.m vendor/clang/dist/test/SemaObjC/arc-unsafe-assigns.m vendor/clang/dist/test/SemaObjC/arc.m vendor/clang/dist/test/SemaObjC/assign-rvalue-message.m vendor/clang/dist/test/SemaObjC/atomoic-property-synnthesis-rules.m vendor/clang/dist/test/SemaObjC/attr-deprecated.m vendor/clang/dist/test/SemaObjC/autoreleasepool.m vendor/clang/dist/test/SemaObjC/bad-property-synthesis-crash.m vendor/clang/dist/test/SemaObjC/block-type-safety.m vendor/clang/dist/test/SemaObjC/blocks.m vendor/clang/dist/test/SemaObjC/builtin_objc_lib_functions.m vendor/clang/dist/test/SemaObjC/call-super-2.m vendor/clang/dist/test/SemaObjC/category-1.m vendor/clang/dist/test/SemaObjC/category-method-lookup.m vendor/clang/dist/test/SemaObjC/check-dup-decl-methods-1.m vendor/clang/dist/test/SemaObjC/check-dup-objc-decls-1.m vendor/clang/dist/test/SemaObjC/class-conforming-protocol-1.m vendor/clang/dist/test/SemaObjC/class-def-test-1.m vendor/clang/dist/test/SemaObjC/class-extension-after-implementation.m vendor/clang/dist/test/SemaObjC/class-extension-dup-methods.m vendor/clang/dist/test/SemaObjC/class-getter-using-dotsyntax.m vendor/clang/dist/test/SemaObjC/class-impl-1.m vendor/clang/dist/test/SemaObjC/class-message-protocol-lookup.m vendor/clang/dist/test/SemaObjC/class-method-self.m vendor/clang/dist/test/SemaObjC/class-proto-1.m vendor/clang/dist/test/SemaObjC/class-protocol-method-match.m vendor/clang/dist/test/SemaObjC/compare-qualified-id.m vendor/clang/dist/test/SemaObjC/compatible-protocol-qualified-types.m vendor/clang/dist/test/SemaObjC/comptypes-1.m vendor/clang/dist/test/SemaObjC/comptypes-10.m vendor/clang/dist/test/SemaObjC/comptypes-7.m vendor/clang/dist/test/SemaObjC/comptypes-a.m vendor/clang/dist/test/SemaObjC/conditional-expr-3.m vendor/clang/dist/test/SemaObjC/conditional-expr-5.m vendor/clang/dist/test/SemaObjC/conditional-expr.m vendor/clang/dist/test/SemaObjC/conflict-nonfragile-abi2.m vendor/clang/dist/test/SemaObjC/conflicting-ivar-test-1.m vendor/clang/dist/test/SemaObjC/continuation-class-err.m vendor/clang/dist/test/SemaObjC/continuation-class-property.m vendor/clang/dist/test/SemaObjC/custom-atomic-property.m vendor/clang/dist/test/SemaObjC/default-synthesize-1.m vendor/clang/dist/test/SemaObjC/default-synthesize-2.m vendor/clang/dist/test/SemaObjC/default-synthesize.m vendor/clang/dist/test/SemaObjC/deref-interface.m vendor/clang/dist/test/SemaObjC/direct-synthesized-ivar-access.m vendor/clang/dist/test/SemaObjC/dist-object-modifiers.m vendor/clang/dist/test/SemaObjC/enhanced-proto-2.m vendor/clang/dist/test/SemaObjC/enum-fixed-type.m vendor/clang/dist/test/SemaObjC/error-property-gc-attr.m vendor/clang/dist/test/SemaObjC/exprs.m vendor/clang/dist/test/SemaObjC/foreach.m vendor/clang/dist/test/SemaObjC/format-strings-objc.m vendor/clang/dist/test/SemaObjC/forward-class-1.m vendor/clang/dist/test/SemaObjC/forward-class-receiver.m vendor/clang/dist/test/SemaObjC/gcc-cast-ext.m vendor/clang/dist/test/SemaObjC/ibaction.m vendor/clang/dist/test/SemaObjC/iboutletcollection-attr.m vendor/clang/dist/test/SemaObjC/id-isa-ref.m vendor/clang/dist/test/SemaObjC/idiomatic-parentheses.m vendor/clang/dist/test/SemaObjC/incomplete-implementation.m vendor/clang/dist/test/SemaObjC/instancetype.m vendor/clang/dist/test/SemaObjC/interface-scope-2.m vendor/clang/dist/test/SemaObjC/invalid-code.m vendor/clang/dist/test/SemaObjC/invalid-objc-decls-1.m vendor/clang/dist/test/SemaObjC/ivar-access-tests.m vendor/clang/dist/test/SemaObjC/ivar-in-class-extension.m vendor/clang/dist/test/SemaObjC/ivar-in-implementations.m vendor/clang/dist/test/SemaObjC/ivar-lookup-resolution-builtin.m vendor/clang/dist/test/SemaObjC/ivar-lookup.m vendor/clang/dist/test/SemaObjC/ivar-ref-misuse.m vendor/clang/dist/test/SemaObjC/legacy-implementation-1.m vendor/clang/dist/test/SemaObjC/message.m vendor/clang/dist/test/SemaObjC/method-attributes.m vendor/clang/dist/test/SemaObjC/method-bad-param.m vendor/clang/dist/test/SemaObjC/method-conflict-1.m vendor/clang/dist/test/SemaObjC/method-conflict-2.m vendor/clang/dist/test/SemaObjC/method-conflict.m vendor/clang/dist/test/SemaObjC/method-def-1.m vendor/clang/dist/test/SemaObjC/method-lookup.m vendor/clang/dist/test/SemaObjC/method-not-defined.m vendor/clang/dist/test/SemaObjC/method-prototype-scope.m vendor/clang/dist/test/SemaObjC/method-typecheck-1.m vendor/clang/dist/test/SemaObjC/method-undef-category-warn-1.m vendor/clang/dist/test/SemaObjC/method-undef-extension-warn-1.m vendor/clang/dist/test/SemaObjC/method-undefined-warn-1.m vendor/clang/dist/test/SemaObjC/method-unused-attribute.m vendor/clang/dist/test/SemaObjC/missing-atend-metadata.m vendor/clang/dist/test/SemaObjC/missing-method-return-type.m vendor/clang/dist/test/SemaObjC/nested-typedef-decl.m vendor/clang/dist/test/SemaObjC/newproperty-class-method-1.m vendor/clang/dist/test/SemaObjC/no-gc-weak-test.m vendor/clang/dist/test/SemaObjC/no-protocol-option-tests.m vendor/clang/dist/test/SemaObjC/no-warn-qual-mismatch.m vendor/clang/dist/test/SemaObjC/no-warn-synth-protocol-meth.m vendor/clang/dist/test/SemaObjC/no-warning-unavail-unimp.m vendor/clang/dist/test/SemaObjC/nonnull.m vendor/clang/dist/test/SemaObjC/nsobject-attribute-1.m vendor/clang/dist/test/SemaObjC/nsobject-attribute.m vendor/clang/dist/test/SemaObjC/objc-buffered-methods.m vendor/clang/dist/test/SemaObjC/objc-cstyle-args-in-methods.m vendor/clang/dist/test/SemaObjC/objc-qualified-property-lookup.m vendor/clang/dist/test/SemaObjC/pedantic-dynamic-test.m vendor/clang/dist/test/SemaObjC/property-10.m vendor/clang/dist/test/SemaObjC/property-2.m vendor/clang/dist/test/SemaObjC/property-9.m vendor/clang/dist/test/SemaObjC/property-and-ivar-use.m vendor/clang/dist/test/SemaObjC/property-category-1.m vendor/clang/dist/test/SemaObjC/property-category-3.m vendor/clang/dist/test/SemaObjC/property-category-4.m vendor/clang/dist/test/SemaObjC/property-category-impl.m vendor/clang/dist/test/SemaObjC/property-dot-receiver.m vendor/clang/dist/test/SemaObjC/property-error-readonly-assign.m vendor/clang/dist/test/SemaObjC/property-expression-error.m vendor/clang/dist/test/SemaObjC/property-impl-misuse.m vendor/clang/dist/test/SemaObjC/property-in-class-extension.m vendor/clang/dist/test/SemaObjC/property-ivar-mismatch.m vendor/clang/dist/test/SemaObjC/property-lookup-in-id.m vendor/clang/dist/test/SemaObjC/property-method-lookup-impl.m vendor/clang/dist/test/SemaObjC/property-missing.m vendor/clang/dist/test/SemaObjC/property-not-lvalue.m vendor/clang/dist/test/SemaObjC/property-ns-returns-not-retained-attr.m vendor/clang/dist/test/SemaObjC/property-redundant-decl-accessor.m vendor/clang/dist/test/SemaObjC/property-typecheck-1.m vendor/clang/dist/test/SemaObjC/property-user-setter.m vendor/clang/dist/test/SemaObjC/property.m vendor/clang/dist/test/SemaObjC/protocol-archane.m vendor/clang/dist/test/SemaObjC/protocol-id-test-1.m vendor/clang/dist/test/SemaObjC/protocol-id-test-2.m vendor/clang/dist/test/SemaObjC/protocol-implementing-class-methods.m vendor/clang/dist/test/SemaObjC/provisional-ivar-lookup.m vendor/clang/dist/test/SemaObjC/qualified-protocol-method-conflicts.m vendor/clang/dist/test/SemaObjC/related-result-type-inference.m vendor/clang/dist/test/SemaObjC/return.m vendor/clang/dist/test/SemaObjC/scope-check.m vendor/clang/dist/test/SemaObjC/selector-3.m vendor/clang/dist/test/SemaObjC/selector-error.m vendor/clang/dist/test/SemaObjC/self-assign.m vendor/clang/dist/test/SemaObjC/self-declared-in-block.m vendor/clang/dist/test/SemaObjC/sizeof-interface.m vendor/clang/dist/test/SemaObjC/special-dep-unavail-warning.m vendor/clang/dist/test/SemaObjC/stand-alone-implementation.m vendor/clang/dist/test/SemaObjC/super.m vendor/clang/dist/test/SemaObjC/synchronized.m vendor/clang/dist/test/SemaObjC/synth-provisional-ivars-1.m vendor/clang/dist/test/SemaObjC/synth-provisional-ivars.m vendor/clang/dist/test/SemaObjC/synthesize-setter-contclass.m vendor/clang/dist/test/SemaObjC/synthesized-ivar.m vendor/clang/dist/test/SemaObjC/transparent-union.m vendor/clang/dist/test/SemaObjC/try-catch.m vendor/clang/dist/test/SemaObjC/typedef-class.m vendor/clang/dist/test/SemaObjC/undeclared-selector.m vendor/clang/dist/test/SemaObjC/undef-protocol-methods-1.m vendor/clang/dist/test/SemaObjC/undef-superclass-1.m vendor/clang/dist/test/SemaObjC/undefined-protocol-type-1.m vendor/clang/dist/test/SemaObjC/unimplemented-protocol-prop.m vendor/clang/dist/test/SemaObjC/unused.m vendor/clang/dist/test/SemaObjC/warn-deprecated-implementations.m vendor/clang/dist/test/SemaObjC/warn-implicit-atomic-property.m vendor/clang/dist/test/SemaObjC/warn-missing-super.m vendor/clang/dist/test/SemaObjC/warn-retain-cycle.m vendor/clang/dist/test/SemaObjC/warn-strict-selector-match.m vendor/clang/dist/test/SemaObjC/warn-weak-field.m vendor/clang/dist/test/SemaObjC/weak-property.m vendor/clang/dist/test/SemaObjCXX/arc-0x.mm vendor/clang/dist/test/SemaObjCXX/arc-overloading.mm vendor/clang/dist/test/SemaObjCXX/arc-templates.mm vendor/clang/dist/test/SemaObjCXX/arc-type-conversion.mm vendor/clang/dist/test/SemaObjCXX/arc-type-traits.mm vendor/clang/dist/test/SemaObjCXX/arc-unavailable-for-weakref.mm vendor/clang/dist/test/SemaObjCXX/blocks.mm vendor/clang/dist/test/SemaObjCXX/composite-objc-pointertype.mm vendor/clang/dist/test/SemaObjCXX/cstyle-block-pointer-cast.mm vendor/clang/dist/test/SemaObjCXX/cxxoperator-selector.mm vendor/clang/dist/test/SemaObjCXX/goto.mm vendor/clang/dist/test/SemaObjCXX/instantiate-expr.mm vendor/clang/dist/test/SemaObjCXX/instantiate-method-return.mm vendor/clang/dist/test/SemaObjCXX/ivar-construct.mm vendor/clang/dist/test/SemaObjCXX/ivar-lookup.mm vendor/clang/dist/test/SemaObjCXX/message.mm vendor/clang/dist/test/SemaObjCXX/objc-decls-inside-namespace.mm vendor/clang/dist/test/SemaObjCXX/objc-pointer-conv.mm vendor/clang/dist/test/SemaObjCXX/overload.mm vendor/clang/dist/test/SemaObjCXX/propert-dot-error.mm vendor/clang/dist/test/SemaObjCXX/properties.mm vendor/clang/dist/test/SemaObjCXX/property-reference.mm vendor/clang/dist/test/SemaObjCXX/property-synthesis-error.mm vendor/clang/dist/test/SemaObjCXX/unknown-anytype.mm vendor/clang/dist/test/SemaObjCXX/vararg-non-pod.mm vendor/clang/dist/test/SemaObjCXX/void_to_obj.mm vendor/clang/dist/test/SemaObjCXX/warn-strict-selector-match.mm vendor/clang/dist/test/SemaTemplate/alias-templates.cpp vendor/clang/dist/test/SemaTemplate/atomics.cpp vendor/clang/dist/test/SemaTemplate/canonical-expr-type-0x.cpp vendor/clang/dist/test/SemaTemplate/class-template-ctor-initializer.cpp vendor/clang/dist/test/SemaTemplate/class-template-decl.cpp vendor/clang/dist/test/SemaTemplate/class-template-spec.cpp vendor/clang/dist/test/SemaTemplate/deduction-crash.cpp vendor/clang/dist/test/SemaTemplate/delegating-constructors.cpp vendor/clang/dist/test/SemaTemplate/enum-forward.cpp vendor/clang/dist/test/SemaTemplate/explicit-instantiation.cpp vendor/clang/dist/test/SemaTemplate/friend-template.cpp vendor/clang/dist/test/SemaTemplate/friend.cpp vendor/clang/dist/test/SemaTemplate/instantiate-complete.cpp vendor/clang/dist/test/SemaTemplate/instantiate-declref-ice.cpp vendor/clang/dist/test/SemaTemplate/instantiate-expr-1.cpp vendor/clang/dist/test/SemaTemplate/instantiate-expr-4.cpp vendor/clang/dist/test/SemaTemplate/instantiate-expr-5.cpp vendor/clang/dist/test/SemaTemplate/instantiate-function-1.cpp vendor/clang/dist/test/SemaTemplate/instantiate-member-class.cpp vendor/clang/dist/test/SemaTemplate/instantiate-static-var.cpp vendor/clang/dist/test/SemaTemplate/instantiation-depth.cpp vendor/clang/dist/test/SemaTemplate/member-access-ambig.cpp vendor/clang/dist/test/SemaTemplate/member-template-access-expr.cpp vendor/clang/dist/test/SemaTemplate/ms-lookup-template-base-classes.cpp vendor/clang/dist/test/SemaTemplate/nested-template.cpp vendor/clang/dist/test/SemaTemplate/qualified-id.cpp vendor/clang/dist/test/SemaTemplate/resolve-single-template-id.cpp vendor/clang/dist/test/SemaTemplate/temp_arg_template.cpp vendor/clang/dist/test/SemaTemplate/temp_class_spec_neg.cpp vendor/clang/dist/test/SemaTemplate/temp_explicit.cpp vendor/clang/dist/test/SemaTemplate/temp_explicit_cxx0x.cpp vendor/clang/dist/test/SemaTemplate/template-id-expr.cpp vendor/clang/dist/test/SemaTemplate/template-id-printing.cpp vendor/clang/dist/test/lit.cfg vendor/clang/dist/tools/CMakeLists.txt vendor/clang/dist/tools/Makefile vendor/clang/dist/tools/arcmt-test/CMakeLists.txt vendor/clang/dist/tools/arcmt-test/Makefile vendor/clang/dist/tools/arcmt-test/arcmt-test.cpp vendor/clang/dist/tools/c-arcmt-test/Makefile vendor/clang/dist/tools/c-arcmt-test/c-arcmt-test.c vendor/clang/dist/tools/c-index-test/Makefile vendor/clang/dist/tools/c-index-test/c-index-test.c vendor/clang/dist/tools/diagtool/ListWarnings.cpp vendor/clang/dist/tools/diagtool/Makefile vendor/clang/dist/tools/driver/CMakeLists.txt vendor/clang/dist/tools/driver/Makefile vendor/clang/dist/tools/driver/cc1_main.cpp vendor/clang/dist/tools/driver/cc1as_main.cpp vendor/clang/dist/tools/driver/driver.cpp vendor/clang/dist/tools/libclang/ARCMigrate.cpp vendor/clang/dist/tools/libclang/CIndex.cpp vendor/clang/dist/tools/libclang/CIndexCXX.cpp vendor/clang/dist/tools/libclang/CIndexCodeCompletion.cpp vendor/clang/dist/tools/libclang/CIndexDiagnostic.cpp vendor/clang/dist/tools/libclang/CIndexDiagnostic.h vendor/clang/dist/tools/libclang/CIndexHigh.cpp vendor/clang/dist/tools/libclang/CIndexUSRs.cpp vendor/clang/dist/tools/libclang/CIndexer.cpp vendor/clang/dist/tools/libclang/CIndexer.h vendor/clang/dist/tools/libclang/CMakeLists.txt vendor/clang/dist/tools/libclang/CXCursor.cpp vendor/clang/dist/tools/libclang/CXCursor.h vendor/clang/dist/tools/libclang/CXSourceLocation.h vendor/clang/dist/tools/libclang/CXString.h vendor/clang/dist/tools/libclang/CXTranslationUnit.h vendor/clang/dist/tools/libclang/CXType.cpp vendor/clang/dist/tools/libclang/Index_Internal.h vendor/clang/dist/tools/libclang/Makefile vendor/clang/dist/tools/libclang/libclang.exports vendor/clang/dist/tools/scan-build/ccc-analyzer vendor/clang/dist/tools/scan-build/scan-build vendor/clang/dist/tools/scan-build/set-xcode-analyzer vendor/clang/dist/unittests/Basic/Makefile vendor/clang/dist/unittests/CMakeLists.txt vendor/clang/dist/unittests/Frontend/FrontendActionTest.cpp vendor/clang/dist/unittests/Frontend/Makefile vendor/clang/dist/unittests/Makefile vendor/clang/dist/utils/C++Tests/LLVM-Code-Compile/lit.local.cfg vendor/clang/dist/utils/C++Tests/LLVM-Code-Symbols/lit.local.cfg vendor/clang/dist/utils/C++Tests/LLVM-Code-Syntax/lit.local.cfg vendor/clang/dist/utils/FuzzTest vendor/clang/dist/utils/TableGen/CMakeLists.txt vendor/clang/dist/utils/TableGen/ClangAttrEmitter.cpp vendor/clang/dist/utils/TableGen/ClangAttrEmitter.h vendor/clang/dist/utils/TableGen/ClangDiagnosticsEmitter.cpp vendor/clang/dist/utils/TableGen/NeonEmitter.cpp vendor/clang/dist/utils/TableGen/NeonEmitter.h vendor/clang/dist/utils/TableGen/TableGen.cpp vendor/clang/dist/utils/analyzer/CmpRuns.py vendor/clang/dist/utils/analyzer/SATestAdd.py vendor/clang/dist/utils/analyzer/SATestBuild.py vendor/clang/dist/utils/clangVisualizers.txt vendor/clang/dist/www/OpenProjects.html vendor/clang/dist/www/UniversalDriver.html vendor/clang/dist/www/analyzer/annotations.html vendor/clang/dist/www/analyzer/available_checks.html vendor/clang/dist/www/analyzer/dev_cxx.html vendor/clang/dist/www/analyzer/filing_bugs.html vendor/clang/dist/www/analyzer/index.html vendor/clang/dist/www/analyzer/installation.html vendor/clang/dist/www/analyzer/latest_checker.html.incl vendor/clang/dist/www/analyzer/menu.html.incl vendor/clang/dist/www/analyzer/release_notes.html vendor/clang/dist/www/analyzer/scan-build.html vendor/clang/dist/www/analyzer/xcode.html vendor/clang/dist/www/clang_video-05-25-2007.html vendor/clang/dist/www/clang_video-07-25-2007.html vendor/clang/dist/www/comparison.html vendor/clang/dist/www/compatibility.html vendor/clang/dist/www/cxx_compatibility.html vendor/clang/dist/www/cxx_status.html vendor/clang/dist/www/diagnostics.html vendor/clang/dist/www/features.html vendor/clang/dist/www/get_involved.html vendor/clang/dist/www/get_started.html vendor/clang/dist/www/hacking.html vendor/clang/dist/www/index.html vendor/clang/dist/www/performance-2008-10-31.html vendor/clang/dist/www/performance-2009-03-02.html vendor/clang/dist/www/performance.html vendor/clang/dist/www/related.html Modified: vendor/clang/dist/CMakeLists.txt ============================================================================== --- vendor/clang/dist/CMakeLists.txt Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/CMakeLists.txt Sat Apr 14 14:01:31 2012 (r234287) @@ -204,7 +204,8 @@ macro(add_clang_library name) endif(MSVC) install(TARGETS ${name} LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} + RUNTIME DESTINATION bin) set_target_properties(${name} PROPERTIES FOLDER "Clang libraries") endmacro(add_clang_library) @@ -223,6 +224,7 @@ install(DIRECTORY include/ FILES_MATCHING PATTERN "*.def" PATTERN "*.h" + PATTERN "config.h" EXCLUDE PATTERN ".svn" EXCLUDE ) @@ -233,7 +235,7 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY PATTERN "*.inc" ) -add_definitions( -D_GNU_SOURCE -DHAVE_CLANG_CONFIG_H ) +add_definitions( -D_GNU_SOURCE ) # Clang version information set(CLANG_EXECUTABLE_VERSION @@ -246,10 +248,8 @@ mark_as_advanced(CLANG_EXECUTABLE_VERSIO add_subdirectory(utils/TableGen) -option(CLANG_BUILD_EXAMPLES "Build CLANG example programs." OFF) -if(CLANG_BUILD_EXAMPLES) - add_subdirectory(examples) -endif () +option(CLANG_BUILD_EXAMPLES "Build CLANG example programs by default." OFF) +add_subdirectory(examples) add_subdirectory(include) add_subdirectory(lib) Modified: vendor/clang/dist/INPUTS/all-std-headers.cpp ============================================================================== --- vendor/clang/dist/INPUTS/all-std-headers.cpp Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/INPUTS/all-std-headers.cpp Sat Apr 14 14:01:31 2012 (r234287) @@ -44,8 +44,43 @@ #include #include #include -#include +#if __has_include() +#include +#endif #include #include #include #include + +#if __cplusplus >= 201103 || defined(__GXX_EXPERIMENTAL_CXX0X__) +#include +#if __has_include() +#include +#endif +#include +#if __has_include() +#include +#endif +#include +#include +#if __has_include() +#include +#endif +#include +#include +#include +#include +#include +#if __has_include() +#include +#endif +#include +#include +#include +#include +#if __has_include() +#include +#endif +#include +#include +#endif Modified: vendor/clang/dist/LICENSE.TXT ============================================================================== --- vendor/clang/dist/LICENSE.TXT Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/LICENSE.TXT Sat Apr 14 14:01:31 2012 (r234287) @@ -4,7 +4,7 @@ LLVM Release License University of Illinois/NCSA Open Source License -Copyright (c) 2007-2011 University of Illinois at Urbana-Champaign. +Copyright (c) 2007-2012 University of Illinois at Urbana-Champaign. All rights reserved. Developed by: Modified: vendor/clang/dist/NOTES.txt ============================================================================== --- vendor/clang/dist/NOTES.txt Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/NOTES.txt Sat Apr 14 14:01:31 2012 (r234287) @@ -101,3 +101,14 @@ only if the non-reachability is not due metaprogramming. //===---------------------------------------------------------------------===// + +We can still apply a modified version of the constructor/destructor +delegation optimization in cases of virtual inheritance where: + - there is no function-try-block, + - the constructor signature is not variadic, and + - the parameter variables can safely be copied and repassed + to the base constructor because either + - they have not had their addresses taken by the vbase initializers or + - they were passed indirectly. + +//===---------------------------------------------------------------------===// Modified: vendor/clang/dist/bindings/python/clang/cindex.py ============================================================================== --- vendor/clang/dist/bindings/python/clang/cindex.py Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/bindings/python/clang/cindex.py Sat Apr 14 14:01:31 2012 (r234287) @@ -63,6 +63,7 @@ call is efficient. # o implement additional SourceLocation, SourceRange, and File methods. from ctypes import * +import collections def get_cindex_library(): # FIXME: It's probably not the case that the library is actually found in @@ -111,10 +112,21 @@ class SourceLocation(Structure): if self._data is None: f, l, c, o = c_object_p(), c_uint(), c_uint(), c_uint() SourceLocation_loc(self, byref(f), byref(l), byref(c), byref(o)) - f = File(f) if f else None + if f: + f = File(f) + else: + f = None self._data = (f, int(l.value), int(c.value), int(o.value)) return self._data + @staticmethod + def from_position(tu, file, line, column): + """ + Retrieve the source location associated with a given file/line/column in + a particular translation unit. + """ + return SourceLocation_getLocation(tu, file, line, column) + @property def file(self): """Get the file represented by this source location.""" @@ -135,9 +147,19 @@ class SourceLocation(Structure): """Get the file offset represented by this source location.""" return self._get_instantiation()[3] + def __eq__(self, other): + return SourceLocation_equalLocations(self, other) + + def __ne__(self, other): + return not self.__eq__(other) + def __repr__(self): + if self.file: + filename = self.file.name + else: + filename = None return "" % ( - self.file.name if self.file else None, self.line, self.column) + filename, self.line, self.column) class SourceRange(Structure): """ @@ -171,6 +193,12 @@ class SourceRange(Structure): """ return SourceRange_end(self) + def __eq__(self, other): + return SourceRange_equalRanges(self, other) + + def __ne__(self, other): + return not self.__eq__(other) + def __repr__(self): return "" % (self.start, self.end) @@ -215,8 +243,8 @@ class Diagnostic(object): return int(_clang_getDiagnosticNumRanges(self.diag)) def __getitem__(self, key): - if (key >= len(self)): - raise IndexError + if (key >= len(self)): + raise IndexError return _clang_getDiagnosticRange(self.diag, key) return RangeIterator(self) @@ -240,6 +268,29 @@ class Diagnostic(object): return FixItIterator(self) + @property + def category_number(self): + """The category number for this diagnostic.""" + return _clang_getDiagnosticCategory(self) + + @property + def category_name(self): + """The string name of the category for this diagnostic.""" + return _clang_getDiagnosticCategoryName(self.category_number) + + @property + def option(self): + """The command-line option that enables this diagnostic.""" + return _clang_getDiagnosticOption(self, None) + + @property + def disable_option(self): + """The command-line option that disables this diagnostic.""" + disable = _CXString() + _clang_getDiagnosticOption(self, byref(disable)) + + return _CXString_getCString(disable) + def __repr__(self): return "" % ( self.severity, self.location, self.spelling) @@ -329,6 +380,18 @@ class CursorKind(object): """Test if this is an invalid kind.""" return CursorKind_is_inv(self) + def is_translation_unit(self): + """Test if this is a translation unit kind.""" + return CursorKind_is_translation_unit(self) + + def is_preprocessing(self): + """Test if this is a preprocessing kind.""" + return CursorKind_is_preprocessing(self) + + def is_unexposed(self): + """Test if this is an unexposed kind.""" + return CursorKind_is_unexposed(self) + def __repr__(self): return 'CursorKind.%s' % (self.name,) @@ -592,7 +655,7 @@ CursorKind.ADDR_LABEL_EXPR = CursorKind( # This is the GNU Statement Expression extension: ({int X=4; X;}) CursorKind.StmtExpr = CursorKind(121) -# Represents a C1X generic selection. +# Represents a C11 generic selection. CursorKind.GENERIC_SELECTION_EXPR = CursorKind(122) # Implements the GNU __null extension, which is a name for a null @@ -801,6 +864,11 @@ CursorKind.IB_ACTION_ATTR = CursorKind(4 CursorKind.IB_OUTLET_ATTR = CursorKind(402) CursorKind.IB_OUTLET_COLLECTION_ATTR = CursorKind(403) +CursorKind.CXX_FINAL_ATTR = CursorKind(404) +CursorKind.CXX_OVERRIDE_ATTR = CursorKind(405) +CursorKind.ANNOTATE_ATTR = CursorKind(406) +CursorKind.ASM_LABEL_ATTR = CursorKind(407) + ### # Preprocessing CursorKind.PREPROCESSING_DIRECTIVE = CursorKind(500) @@ -817,11 +885,15 @@ class Cursor(Structure): """ _fields_ = [("_kind_id", c_int), ("xdata", c_int), ("data", c_void_p * 3)] + @staticmethod + def from_location(tu, location): + return Cursor_get(tu, location) + def __eq__(self, other): return Cursor_eq(self, other) def __ne__(self, other): - return not Cursor_eq(self, other) + return not self.__eq__(other) def is_definition(self): """ @@ -903,13 +975,54 @@ class Cursor(Structure): @property def type(self): """ - Retrieve the type (if any) of of the entity pointed at by the - cursor. + Retrieve the Type (if any) of the entity pointed at by the cursor. """ if not hasattr(self, '_type'): self._type = Cursor_type(self) return self._type + @property + def underlying_typedef_type(self): + """Return the underlying type of a typedef declaration. + + Returns a Type for the typedef this cursor is a declaration for. If + the current cursor is not a typedef, this raises. + """ + if not hasattr(self, '_underlying_type'): + assert self.kind.is_declaration() + self._underlying_type = Cursor_underlying_type(self) + + return self._underlying_type + + @property + def enum_type(self): + """Return the integer type of an enum declaration. + + Returns a Type corresponding to an integer. If the cursor is not for an + enum, this raises. + """ + if not hasattr(self, '_enum_type'): + assert self.kind == CursorKind.ENUM_DECL + self._enum_type = Cursor_enum_type(self) + + return self._enum_type + + @property + def objc_type_encoding(self): + """Return the Objective-C type encoding as a str.""" + if not hasattr(self, '_objc_type_encoding'): + self._objc_type_encoding = Cursor_objc_type_encoding(self) + + return self._objc_type_encoding + + @property + def hash(self): + """Returns a hash of the cursor as an int.""" + if not hasattr(self, '_hash'): + self._hash = Cursor_hash(self) + + return self._hash + def get_children(self): """Return an iterator for accessing the children of this cursor.""" @@ -969,7 +1082,7 @@ class TypeKind(object): @staticmethod def from_id(id): if id >= len(TypeKind._kinds) or TypeKind._kinds[id] is None: - raise ValueError,'Unknown cursor kind' + raise ValueError,'Unknown type kind %d' % id return TypeKind._kinds[id] def __repr__(self): @@ -1020,6 +1133,7 @@ TypeKind.OBJCOBJECTPOINTER = TypeKind(10 TypeKind.FUNCTIONNOPROTO = TypeKind(110) TypeKind.FUNCTIONPROTO = TypeKind(111) TypeKind.CONSTANTARRAY = TypeKind(112) +TypeKind.VECTOR = TypeKind(113) class Type(Structure): """ @@ -1032,6 +1146,71 @@ class Type(Structure): """Return the kind of this type.""" return TypeKind.from_id(self._kind_id) + def argument_types(self): + """Retrieve a container for the non-variadic arguments for this type. + + The returned object is iterable and indexable. Each item in the + container is a Type instance. + """ + class ArgumentsIterator(collections.Sequence): + def __init__(self, parent): + self.parent = parent + self.length = None + + def __len__(self): + if self.length is None: + self.length = Type_get_num_arg_types(self.parent) + + return self.length + + def __getitem__(self, key): + # FIXME Support slice objects. + if not isinstance(key, int): + raise TypeError("Must supply a non-negative int.") + + if key < 0: + raise IndexError("Only non-negative indexes are accepted.") + + if key >= len(self): + raise IndexError("Index greater than container length: " + "%d > %d" % ( key, len(self) )) + + result = Type_get_arg_type(self.parent, key) + if result.kind == TypeKind.INVALID: + raise IndexError("Argument could not be retrieved.") + + return result + + assert self.kind == TypeKind.FUNCTIONPROTO + return ArgumentsIterator(self) + + @property + def element_type(self): + """Retrieve the Type of elements within this Type. + + If accessed on a type that is not an array, complex, or vector type, an + exception will be raised. + """ + result = Type_get_element_type(self) + if result.kind == TypeKind.INVALID: + raise Exception('Element type not available on this type.') + + return result + + @property + def element_count(self): + """Retrieve the number of elements in this type. + + Returns an int. + + If the Type is not an array or vector, this raises. + """ + result = Type_get_num_elements(self) + if result < 0: + raise Exception('Type does not have elements.') + + return result + @staticmethod def from_result(res, fn, args): assert isinstance(res, Type) @@ -1050,29 +1229,39 @@ class Type(Structure): return Type_get_canonical(self) def is_const_qualified(self): - """ - Determine whether a Type has the "const" qualifier set, - without looking through typedefs that may have added "const" + """Determine whether a Type has the "const" qualifier set. + + This does not look through typedefs that may have added "const" at a different level. """ return Type_is_const_qualified(self) def is_volatile_qualified(self): - """ - Determine whether a Type has the "volatile" qualifier set, - without looking through typedefs that may have added - "volatile" at a different level. + """Determine whether a Type has the "volatile" qualifier set. + + This does not look through typedefs that may have added "volatile" + at a different level. """ return Type_is_volatile_qualified(self) def is_restrict_qualified(self): - """ - Determine whether a Type has the "restrict" qualifier set, - without looking through typedefs that may have added - "restrict" at a different level. + """Determine whether a Type has the "restrict" qualifier set. + + This does not look through typedefs that may have added "restrict" at + a different level. """ return Type_is_restrict_qualified(self) + def is_function_variadic(self): + """Determine whether this function Type is a variadic function type.""" + assert self.kind == TypeKind.FUNCTIONPROTO + + return Type_is_variadic(self) + + def is_pod(self): + """Determine whether this Type represents plain old data (POD).""" + return Type_is_pod(self) + def get_pointee(self): """ For pointer types, returns the type of the pointee. @@ -1091,6 +1280,27 @@ class Type(Structure): """ return Type_get_result(self) + def get_array_element_type(self): + """ + Retrieve the type of the elements of the array type. + """ + return Type_get_array_element(self) + + def get_array_size(self): + """ + Retrieve the size of the constant array. + """ + return Type_get_array_size(self) + + def __eq__(self, other): + if type(other) != type(self): + return False + + return Type_equal(self, other) + + def __ne__(self, other): + return not self.__eq__(other) + ## CIndex Objects ## # CIndex objects (derived from ClangObject) are essentially lightweight @@ -1157,6 +1367,20 @@ _clang_getDiagnosticFixIt.argtypes = [Di _clang_getDiagnosticFixIt.restype = _CXString _clang_getDiagnosticFixIt.errcheck = _CXString.from_result +_clang_getDiagnosticCategory = lib.clang_getDiagnosticCategory +_clang_getDiagnosticCategory.argtypes = [Diagnostic] +_clang_getDiagnosticCategory.restype = c_uint + +_clang_getDiagnosticCategoryName = lib.clang_getDiagnosticCategoryName +_clang_getDiagnosticCategoryName.argtypes = [c_uint] +_clang_getDiagnosticCategoryName.restype = _CXString +_clang_getDiagnosticCategoryName.errcheck = _CXString.from_result + +_clang_getDiagnosticOption = lib.clang_getDiagnosticOption +_clang_getDiagnosticOption.argtypes = [Diagnostic, POINTER(_CXString)] +_clang_getDiagnosticOption.restype = _CXString +_clang_getDiagnosticOption.errcheck = _CXString.from_result + ### class CompletionChunk: @@ -1350,7 +1574,9 @@ class Index(ClangObject): def read(self, path): """Load the translation unit from the given AST file.""" ptr = TranslationUnit_read(self, path) - return TranslationUnit(ptr) if ptr else None + if ptr: + return TranslationUnit(ptr) + return None def parse(self, path, args = [], unsaved_files = [], options = 0): """ @@ -1383,7 +1609,9 @@ class Index(ClangObject): ptr = TranslationUnit_parse(self, path, arg_array, len(args), unsaved_files_array, len(unsaved_files), options) - return TranslationUnit(ptr) if ptr else None + if ptr: + return TranslationUnit(ptr) + return None class TranslationUnit(ClangObject): @@ -1502,8 +1730,9 @@ class TranslationUnit(ClangObject): unsaved_files_array, len(unsaved_files), options) - return CodeCompletionResults(ptr) if ptr else None - + if ptr: + return CodeCompletionResults(ptr) + return None class File(ClangObject): """ @@ -1511,6 +1740,11 @@ class File(ClangObject): translation unit. """ + @staticmethod + def from_name(translation_unit, file_name): + """Retrieve a file handle within the given translation unit.""" + return File(File_getFile(translation_unit, file_name)) + @property def name(self): """Return the complete file and path name of the file.""" @@ -1521,6 +1755,12 @@ class File(ClangObject): """Return the last modification time of the file.""" return File_time(self) + def __str__(self): + return self.name + + def __repr__(self): + return "" % (self.name) + class FileInclusion(object): """ The FileInclusion class represents the inclusion of one source file by @@ -1557,6 +1797,14 @@ SourceLocation_loc.argtypes = [SourceLoc POINTER(c_uint), POINTER(c_uint), POINTER(c_uint)] +SourceLocation_getLocation = lib.clang_getLocation +SourceLocation_getLocation.argtypes = [TranslationUnit, File, c_uint, c_uint] +SourceLocation_getLocation.restype = SourceLocation + +SourceLocation_equalLocations = lib.clang_equalLocations +SourceLocation_equalLocations.argtypes = [SourceLocation, SourceLocation] +SourceLocation_equalLocations.restype = bool + # Source Range Functions SourceRange_getRange = lib.clang_getRange SourceRange_getRange.argtypes = [SourceLocation, SourceLocation] @@ -1570,6 +1818,10 @@ SourceRange_end = lib.clang_getRangeEnd SourceRange_end.argtypes = [SourceRange] SourceRange_end.restype = SourceLocation +SourceRange_equalRanges = lib.clang_equalRanges +SourceRange_equalRanges.argtypes = [SourceRange, SourceRange] +SourceRange_equalRanges.restype = bool + # CursorKind Functions CursorKind_is_decl = lib.clang_isDeclaration CursorKind_is_decl.argtypes = [CursorKind] @@ -1595,6 +1847,18 @@ CursorKind_is_inv = lib.clang_isInvalid CursorKind_is_inv.argtypes = [CursorKind] CursorKind_is_inv.restype = bool +CursorKind_is_translation_unit = lib.clang_isTranslationUnit +CursorKind_is_translation_unit.argtypes = [CursorKind] +CursorKind_is_translation_unit.restype = bool + +CursorKind_is_preprocessing = lib.clang_isPreprocessing +CursorKind_is_preprocessing.argtypes = [CursorKind] +CursorKind_is_preprocessing.restype = bool + +CursorKind_is_unexposed = lib.clang_isUnexposed +CursorKind_is_unexposed.argtypes = [CursorKind] +CursorKind_is_unexposed.restype = bool + # Cursor Functions # TODO: Implement this function Cursor_get = lib.clang_getCursor @@ -1620,7 +1884,11 @@ Cursor_def.errcheck = Cursor.from_result Cursor_eq = lib.clang_equalCursors Cursor_eq.argtypes = [Cursor, Cursor] -Cursor_eq.restype = c_uint +Cursor_eq.restype = bool + +Cursor_hash = lib.clang_hashCursor +Cursor_hash.argtypes = [Cursor] +Cursor_hash.restype = c_uint Cursor_spelling = lib.clang_getCursorSpelling Cursor_spelling.argtypes = [Cursor] @@ -1650,6 +1918,21 @@ Cursor_type.argtypes = [Cursor] Cursor_type.restype = Type Cursor_type.errcheck = Type.from_result +Cursor_underlying_type = lib.clang_getTypedefDeclUnderlyingType +Cursor_underlying_type.argtypes = [Cursor] +Cursor_underlying_type.restype = Type +Cursor_underlying_type.errcheck = Type.from_result + +Cursor_enum_type = lib.clang_getEnumDeclIntegerType +Cursor_enum_type.argtypes = [Cursor] +Cursor_enum_type.restype = Type +Cursor_enum_type.errcheck = Type.from_result + +Cursor_objc_type_encoding = lib.clang_getDeclObjCTypeEncoding +Cursor_objc_type_encoding.argtypes = [Cursor] +Cursor_objc_type_encoding.restype = _CXString +Cursor_objc_type_encoding.errcheck = _CXString.from_result + Cursor_visit_callback = CFUNCTYPE(c_int, Cursor, Cursor, py_object) Cursor_visit = lib.clang_visitChildren Cursor_visit.argtypes = [Cursor, Cursor_visit_callback, py_object] @@ -1673,6 +1956,14 @@ Type_is_restrict_qualified = lib.clang_i Type_is_restrict_qualified.argtypes = [Type] Type_is_restrict_qualified.restype = bool +Type_is_pod = lib.clang_isPODType +Type_is_pod.argtypes = [Type] +Type_is_pod.restype = bool + +Type_is_variadic = lib.clang_isFunctionTypeVariadic +Type_is_variadic.argtypes = [Type] +Type_is_variadic.restype = bool + Type_get_pointee = lib.clang_getPointeeType Type_get_pointee.argtypes = [Type] Type_get_pointee.restype = Type @@ -1688,6 +1979,36 @@ Type_get_result.argtypes = [Type] Type_get_result.restype = Type Type_get_result.errcheck = Type.from_result +Type_get_num_arg_types = lib.clang_getNumArgTypes +Type_get_num_arg_types.argtypes = [Type] +Type_get_num_arg_types.restype = c_uint + +Type_get_arg_type = lib.clang_getArgType +Type_get_arg_type.argtypes = [Type, c_uint] +Type_get_arg_type.restype = Type +Type_get_arg_type.errcheck = Type.from_result +Type_get_element_type = lib.clang_getElementType + +Type_get_element_type.argtypes = [Type] +Type_get_element_type.restype = Type +Type_get_element_type.errcheck = Type.from_result + +Type_get_num_elements = lib.clang_getNumElements +Type_get_num_elements.argtypes = [Type] +Type_get_num_elements.restype = c_longlong + +Type_get_array_element = lib.clang_getArrayElementType +Type_get_array_element.argtypes = [Type] +Type_get_array_element.restype = Type +Type_get_array_element.errcheck = Type.from_result + +Type_get_array_size = lib.clang_getArraySize +Type_get_array_size.argtype = [Type] +Type_get_array_size.restype = c_longlong + +Type_equal = lib.clang_equalTypes +Type_equal.argtypes = [Type, Type] +Type_equal.restype = bool # Index Functions Index_create = lib.clang_createIndex @@ -1739,6 +2060,10 @@ TranslationUnit_includes.argtypes = [Tra py_object] # File Functions +File_getFile = lib.clang_getFile +File_getFile.argtypes = [TranslationUnit, c_char_p] +File_getFile.restype = c_object_p + File_name = lib.clang_getFileName File_name.argtypes = [File] File_name.restype = _CXString Modified: vendor/clang/dist/bindings/python/tests/cindex/test_cursor.py ============================================================================== --- vendor/clang/dist/bindings/python/tests/cindex/test_cursor.py Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/bindings/python/tests/cindex/test_cursor.py Sat Apr 14 14:01:31 2012 (r234287) @@ -1,4 +1,7 @@ -from clang.cindex import Index, CursorKind, TypeKind +from clang.cindex import CursorKind +from clang.cindex import TypeKind +from .util import get_cursor +from .util import get_tu kInput = """\ // FIXME: Find nicer way to drop builtins and other cruft. @@ -24,9 +27,8 @@ void f0(int a0, int a1) { """ def test_get_children(): - index = Index.create() - tu = index.parse('t.c', unsaved_files = [('t.c',kInput)]) - + tu = get_tu(kInput) + # Skip until past start_decl. it = tu.cursor.get_children() while it.next().spelling != 'start_decl': @@ -36,12 +38,14 @@ def test_get_children(): assert len(tu_nodes) == 3 + assert tu_nodes[0] != tu_nodes[1] assert tu_nodes[0].kind == CursorKind.STRUCT_DECL assert tu_nodes[0].spelling == 's0' assert tu_nodes[0].is_definition() == True assert tu_nodes[0].location.file.name == 't.c' assert tu_nodes[0].location.line == 4 assert tu_nodes[0].location.column == 8 + assert tu_nodes[0].hash > 0 s0_nodes = list(tu_nodes[0].get_children()) assert len(s0_nodes) == 2 @@ -61,3 +65,28 @@ def test_get_children(): assert tu_nodes[2].spelling == 'f0' assert tu_nodes[2].displayname == 'f0(int, int)' assert tu_nodes[2].is_definition() == True + +def test_underlying_type(): + tu = get_tu('typedef int foo;') + typedef = get_cursor(tu, 'foo') + assert typedef is not None + + assert typedef.kind.is_declaration() + underlying = typedef.underlying_typedef_type + assert underlying.kind == TypeKind.INT + +def test_enum_type(): + tu = get_tu('enum TEST { FOO=1, BAR=2 };') + enum = get_cursor(tu, 'TEST') + assert enum is not None + + assert enum.kind == CursorKind.ENUM_DECL + enum_type = enum.enum_type + assert enum_type.kind == TypeKind.UINT + +def test_objc_type_encoding(): + tu = get_tu('int i;', lang='objc') + i = get_cursor(tu, 'i') + + assert i is not None + assert i.objc_type_encoding == 'i' Modified: vendor/clang/dist/bindings/python/tests/cindex/test_cursor_kind.py ============================================================================== --- vendor/clang/dist/bindings/python/tests/cindex/test_cursor_kind.py Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/bindings/python/tests/cindex/test_cursor_kind.py Sat Apr 14 14:01:31 2012 (r234287) @@ -16,6 +16,15 @@ def test_kind_groups(): assert CursorKind.UNEXPOSED_STMT.is_statement() assert CursorKind.INVALID_FILE.is_invalid() + assert CursorKind.TRANSLATION_UNIT.is_translation_unit() + assert not CursorKind.TYPE_REF.is_translation_unit() + + assert CursorKind.PREPROCESSING_DIRECTIVE.is_preprocessing() + assert not CursorKind.TYPE_REF.is_preprocessing() + + assert CursorKind.UNEXPOSED_DECL.is_unexposed() + assert not CursorKind.TYPE_REF.is_unexposed() + for k in CursorKind.get_all_kinds(): group = [n for n in ('is_declaration', 'is_reference', 'is_expression', 'is_statement', 'is_invalid', 'is_attribute') Modified: vendor/clang/dist/bindings/python/tests/cindex/test_diagnostics.py ============================================================================== --- vendor/clang/dist/bindings/python/tests/cindex/test_diagnostics.py Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/bindings/python/tests/cindex/test_diagnostics.py Sat Apr 14 14:01:31 2012 (r234287) @@ -1,14 +1,10 @@ from clang.cindex import * - -def tu_from_source(source): - index = Index.create() - tu = index.parse('INPUT.c', unsaved_files = [('INPUT.c', source)]) - return tu +from .util import get_tu # FIXME: We need support for invalid translation units to test better. def test_diagnostic_warning(): - tu = tu_from_source("""int f0() {}\n""") + tu = get_tu('int f0() {}\n') assert len(tu.diagnostics) == 1 assert tu.diagnostics[0].severity == Diagnostic.Warning assert tu.diagnostics[0].location.line == 1 @@ -18,8 +14,7 @@ def test_diagnostic_warning(): def test_diagnostic_note(): # FIXME: We aren't getting notes here for some reason. - index = Index.create() - tu = tu_from_source("""#define A x\nvoid *A = 1;\n""") + tu = get_tu('#define A x\nvoid *A = 1;\n') assert len(tu.diagnostics) == 1 assert tu.diagnostics[0].severity == Diagnostic.Warning assert tu.diagnostics[0].location.line == 2 @@ -31,8 +26,7 @@ def test_diagnostic_note(): # assert tu.diagnostics[1].spelling == 'instantiated from' def test_diagnostic_fixit(): - index = Index.create() - tu = tu_from_source("""struct { int f0; } x = { f0 : 1 };""") + tu = get_tu('struct { int f0; } x = { f0 : 1 };') assert len(tu.diagnostics) == 1 assert tu.diagnostics[0].severity == Diagnostic.Warning assert tu.diagnostics[0].location.line == 1 @@ -46,8 +40,7 @@ def test_diagnostic_fixit(): assert tu.diagnostics[0].fixits[0].value == '.f0 = ' def test_diagnostic_range(): - index = Index.create() - tu = tu_from_source("""void f() { int i = "a" + 1; }""") + tu = get_tu('void f() { int i = "a" + 1; }') assert len(tu.diagnostics) == 1 assert tu.diagnostics[0].severity == Diagnostic.Warning assert tu.diagnostics[0].location.line == 1 @@ -65,5 +58,25 @@ def test_diagnostic_range(): assert True else: assert False - +def test_diagnostic_category(): + """Ensure that category properties work.""" + tu = get_tu('int f(int i) { return 7; }', all_warnings=True) + assert len(tu.diagnostics) == 1 + d = tu.diagnostics[0] + + assert d.severity == Diagnostic.Warning + assert d.location.line == 1 + assert d.location.column == 11 + + assert d.category_number == 2 + assert d.category_name == 'Semantic Issue' + +def test_diagnostic_option(): + """Ensure that category option properties work.""" + tu = get_tu('int f(int i) { return 7; }', all_warnings=True) + assert len(tu.diagnostics) == 1 + d = tu.diagnostics[0] + + assert d.option == '-Wunused-parameter' + assert d.disable_option == '-Wno-unused-parameter' Added: vendor/clang/dist/bindings/python/tests/cindex/test_file.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/clang/dist/bindings/python/tests/cindex/test_file.py Sat Apr 14 14:01:31 2012 (r234287) @@ -0,0 +1,9 @@ +from clang.cindex import Index, File + +def test_file(): + index = Index.create() + tu = index.parse('t.c', unsaved_files = [('t.c', "")]) + file = File.from_name(tu, "t.c") + assert str(file) == "t.c" + assert file.name == "t.c" + assert repr(file) == "" Modified: vendor/clang/dist/bindings/python/tests/cindex/test_location.py ============================================================================== --- vendor/clang/dist/bindings/python/tests/cindex/test_location.py Sat Apr 14 13:55:50 2012 (r234286) +++ vendor/clang/dist/bindings/python/tests/cindex/test_location.py Sat Apr 14 14:01:31 2012 (r234287) @@ -1,4 +1,9 @@ -from clang.cindex import Index +from clang.cindex import Cursor +from clang.cindex import File +from clang.cindex import SourceLocation +from clang.cindex import SourceRange +from .util import get_cursor +from .util import get_tu baseInput="int one;\nint two;\n" @@ -8,43 +13,74 @@ def assert_location(loc, line, column, o assert loc.offset == offset def test_location(): - index = Index.create() - tu = index.parse('t.c', unsaved_files = [('t.c',baseInput)]) + tu = get_tu(baseInput) + one = get_cursor(tu, 'one') + two = get_cursor(tu, 'two') - for n in tu.cursor.get_children(): - if n.spelling == 'one': - assert_location(n.location,line=1,column=5,offset=4) - if n.spelling == 'two': - assert_location(n.location,line=2,column=5,offset=13) + assert one is not None + assert two is not None + + assert_location(one.location,line=1,column=5,offset=4) + assert_location(two.location,line=2,column=5,offset=13) # adding a linebreak at top should keep columns same - tu = index.parse('t.c', unsaved_files = [('t.c',"\n"+baseInput)]) + tu = get_tu('\n' + baseInput) + one = get_cursor(tu, 'one') + two = get_cursor(tu, 'two') - for n in tu.cursor.get_children(): - if n.spelling == 'one': - assert_location(n.location,line=2,column=5,offset=5) - if n.spelling == 'two': - assert_location(n.location,line=3,column=5,offset=14) + assert one is not None + assert two is not None - # adding a space should affect column on first line only - tu = index.parse('t.c', unsaved_files = [('t.c'," "+baseInput)]) + assert_location(one.location,line=2,column=5,offset=5) + assert_location(two.location,line=3,column=5,offset=14) - for n in tu.cursor.get_children(): - if n.spelling == 'one': - assert_location(n.location,line=1,column=6,offset=5) - if n.spelling == 'two': - assert_location(n.location,line=2,column=5,offset=14) + # adding a space should affect column on first line only + tu = get_tu(' ' + baseInput) + one = get_cursor(tu, 'one') + two = get_cursor(tu, 'two') + + assert_location(one.location,line=1,column=6,offset=5) + assert_location(two.location,line=2,column=5,offset=14) + + # define the expected location ourselves and see if it matches + # the returned location + tu = get_tu(baseInput) + + file = File.from_name(tu, 't.c') + location = SourceLocation.from_position(tu, file, 1, 5) + cursor = Cursor.from_location(tu, location) + + one = get_cursor(tu, 'one') + assert one is not None + assert one == cursor + + # Ensure locations referring to the same entity are equivalent. + location2 = SourceLocation.from_position(tu, file, 1, 5) + assert location == location2 + location3 = SourceLocation.from_position(tu, file, 1, 4) + assert location2 != location3 def test_extent(): - index = Index.create() - tu = index.parse('t.c', unsaved_files = [('t.c',baseInput)]) - - for n in tu.cursor.get_children(): - if n.spelling == 'one': - assert_location(n.extent.start,line=1,column=1,offset=0) - assert_location(n.extent.end,line=1,column=8,offset=7) - assert baseInput[n.extent.start.offset:n.extent.end.offset] == "int one" - if n.spelling == 'two': - assert_location(n.extent.start,line=2,column=1,offset=9) - assert_location(n.extent.end,line=2,column=8,offset=16) - assert baseInput[n.extent.start.offset:n.extent.end.offset] == "int two" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 14:02:35 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7CD2E1065676; Sat, 14 Apr 2012 14:02:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4E55F8FC16; Sat, 14 Apr 2012 14:02:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EE2Zhp033231; Sat, 14 Apr 2012 14:02:35 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EE2ZHS033230; Sat, 14 Apr 2012 14:02:35 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204141402.q3EE2ZHS033230@svn.freebsd.org> From: Dimitry Andric Date: Sat, 14 Apr 2012 14:02:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234288 - vendor/clang/clang-trunk-r154661 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 14:02:35 -0000 Author: dim Date: Sat Apr 14 14:02:34 2012 New Revision: 234288 URL: http://svn.freebsd.org/changeset/base/234288 Log: Tag clang trunk r154661. Added: vendor/clang/clang-trunk-r154661/ - copied from r234287, vendor/clang/dist/ From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 16:07:02 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D82E5106566C; Sat, 14 Apr 2012 16:07:02 +0000 (UTC) (envelope-from to.my.trociny@gmail.com) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id A17048FC08; Sat, 14 Apr 2012 16:07:01 +0000 (UTC) Received: by wern13 with SMTP id n13so3369703wer.13 for ; Sat, 14 Apr 2012 09:07:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:x-comment-to:sender:date:in-reply-to :message-id:user-agent:mime-version:content-type; bh=BJSWmXE6iAashe3X2mIHQSsyX5zcgLPQrdu120YDY8o=; b=ZoV7WZGa7hyInXT8q1pJId/NVUB5PAPTnw9Vc/qerlSesBop2Yrbk1P2s+Vg+VA/R5 zHF0uiUHSD09dJfUkIotatCzG9XTdvS1gbgTbWuGv753wG+GSTzlNDXUlKJrMiaP841+ t18SHie7vI5wX11OpXdl66u4RXaIEoYwmJ2nCGdDUeu8vkTC0JURUyECMB+zclwxji8n NWffMfOH/1V+sTDrm6UNl6bdSR3N9QSDuGYBz75vidtQyCJjCvSaGa4wB7ND/YktqZh3 yszmNsVwmlIjgGCvz4TQ8Hex25GrTj08m5Gez9xrg1/T9wVbx3YZeZHiS6Stj2dbHIsz lc1g== Received: by 10.180.91.165 with SMTP id cf5mr5078119wib.2.1334419620679; Sat, 14 Apr 2012 09:07:00 -0700 (PDT) Received: from localhost ([95.69.173.122]) by mx.google.com with ESMTPS id b3sm5400014wib.4.2012.04.14.09.06.57 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 14 Apr 2012 09:06:58 -0700 (PDT) From: Mikolaj Golub To: Jaakko Heinonen References: <201201170125.q0H1PrlJ061058@svn.freebsd.org> <20120117171031.GA2316@a91-153-116-96.elisa-laajakaista.fi> <86obtvvr4v.fsf@kopusha.home.net> <20120122134218.GA2247@a91-153-116-96.elisa-laajakaista.fi> <86lioztzh5.fsf@kopusha.home.net> <20120123153457.GA2246@a91-153-116-96.elisa-laajakaista.fi> <86vco2yvrt.fsf@kopusha.home.net> <20120413061139.GA2370@a91-153-116-96.elisa-laajakaista.fi> X-Comment-To: Jaakko Heinonen Sender: Mikolaj Golub Date: Sat, 14 Apr 2012 19:06:56 +0300 In-Reply-To: <20120413061139.GA2370@a91-153-116-96.elisa-laajakaista.fi> (Jaakko Heinonen's message of "Fri, 13 Apr 2012 09:11:39 +0300") Message-ID: <86pqbawb4v.fsf@kopusha.home.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: svn-src-head@freebsd.org, Kevin Lo , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r230252 - head/sys/fs/tmpfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 16:07:03 -0000 On Fri, 13 Apr 2012 09:11:39 +0300 Jaakko Heinonen wrote: JH> On 2012-01-23, Mikolaj Golub wrote: >> I see two issues with this patch: JH> What do you think about this patch? I think it is much better than we have currently :-). JH> %%% JH> Index: sys/fs/tmpfs/tmpfs.h JH> =================================================================== JH> --- sys/fs/tmpfs/tmpfs.h (revision 234201) JH> +++ sys/fs/tmpfs/tmpfs.h (working copy) JH> @@ -387,6 +387,9 @@ struct tmpfs_mount { JH> * tmpfs_pool.c. */ JH> uma_zone_t tm_dirent_pool; JH> uma_zone_t tm_node_pool; JH> + JH> + /* Read-only status. */ JH> + int tm_ronly; JH> }; JH> #define TMPFS_LOCK(tm) mtx_lock(&(tm)->allnode_lock) JH> #define TMPFS_UNLOCK(tm) mtx_unlock(&(tm)->allnode_lock) JH> Index: sys/fs/tmpfs/tmpfs_vfsops.c JH> =================================================================== JH> --- sys/fs/tmpfs/tmpfs_vfsops.c (revision 234201) JH> +++ sys/fs/tmpfs/tmpfs_vfsops.c (working copy) JH> @@ -82,6 +82,10 @@ static const char *tmpfs_opts[] = { JH> NULL JH> }; JH> JH> +static const char *tmpfs_updateopts[] = { JH> + "from", "export", NULL JH> +}; JH> + JH> /* --------------------------------------------------------------------- */ JH> JH> static int JH> @@ -150,12 +154,13 @@ tmpfs_mount(struct mount *mp) JH> return (EINVAL); JH> JH> if (mp->mnt_flag & MNT_UPDATE) { JH> - /* JH> - * Only support update mounts for NFS export. JH> - */ JH> - if (vfs_flagopt(mp->mnt_optnew, "export", NULL, 0)) JH> - return (0); JH> - return (EOPNOTSUPP); JH> + /* Only support update mounts for certain options. */ JH> + if (vfs_filteropt(mp->mnt_optnew, tmpfs_updateopts) != 0) JH> + return (EOPNOTSUPP); JH> + if (vfs_flagopt(mp->mnt_optnew, "ro", NULL, 0) != JH> + ((struct tmpfs_mount *)mp->mnt_data)->tm_ronly) JH> + return (EOPNOTSUPP); JH> + return (0); JH> } JH> JH> vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY); JH> @@ -228,6 +233,7 @@ tmpfs_mount(struct mount *mp) JH> tmpfs_node_ctor, tmpfs_node_dtor, JH> tmpfs_node_init, tmpfs_node_fini, JH> UMA_ALIGN_PTR, 0); JH> + tmp->tm_ronly = (mp->mnt_flag & MNT_RDONLY) != 0; JH> JH> /* Allocate the root node. */ JH> error = tmpfs_alloc_node(tmp, VDIR, root_uid, JH> %%% JH> -- JH> Jaakko -- Mikolaj Golub From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 16:42:17 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E53EB106564A; Sat, 14 Apr 2012 16:42:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B6FAE8FC18; Sat, 14 Apr 2012 16:42:17 +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 q3EGgHl8038512; Sat, 14 Apr 2012 16:42:17 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EGgH1f038510; Sat, 14 Apr 2012 16:42:17 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201204141642.q3EGgH1f038510@svn.freebsd.org> From: Dimitry Andric Date: Sat, 14 Apr 2012 16:42:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234289 - head/tools/build/mk X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 16:42:18 -0000 Author: dim Date: Sat Apr 14 16:42:17 2012 New Revision: 234289 URL: http://svn.freebsd.org/changeset/base/234289 Log: Add files and directories to be cleaned up if WITHOUT_GCC is in effect to OptionalObsoleteFiles.inc. MFC after: 1 week Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Sat Apr 14 14:02:34 2012 (r234288) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Sat Apr 14 16:42:17 2012 (r234289) @@ -1409,6 +1409,42 @@ OLD_FILES+=usr/share/man/man8/strfile.8. OLD_FILES+=usr/share/man/man8/unstr.8.gz .endif +.if ${MK_GCC} == no +OLD_FILES+=usr/bin/c++filt +OLD_FILES+=usr/bin/g++ +OLD_FILES+=usr/bin/gcc +OLD_FILES+=usr/bin/gcov +OLD_FILES+=usr/bin/gcpp +.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386" +OLD_FILES+=usr/include/gcc/4.2/emmintrin.h +OLD_FILES+=usr/include/gcc/4.2/mm_malloc.h +OLD_FILES+=usr/include/gcc/4.2/mmintrin.h +OLD_FILES+=usr/include/gcc/4.2/pmmintrin.h +OLD_FILES+=usr/include/gcc/4.2/tmmintrin.h +OLD_FILES+=usr/include/gcc/4.2/xmmintrin.h +.elif ${TARGET_ARCH} == "ia64" +OLD_FILES+=usr/include/gcc/4.2/ia64intrin.h +.elif ${TARGET_ARCH} == "arm" +OLD_FILES+=usr/include/gcc/4.2/mmintrin.h +.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpc64" +OLD_FILES+=usr/include/gcc/4.2/altivec.h +OLD_FILES+=usr/include/gcc/4.2/ppc-asm.h +OLD_FILES+=usr/include/gcc/4.2/spe.h +.endif +OLD_DIRS+=usr/include/gcc/4.2 +OLD_DIRS+=usr/include/gcc +OLD_FILES+=usr/libexec/cc1 +OLD_FILES+=usr/libexec/cc1plus +OLD_FILES+=usr/share/info/cpp.info.gz +OLD_FILES+=usr/share/info/cppinternals.info.gz +OLD_FILES+=usr/share/info/gcc.info.gz +OLD_FILES+=usr/share/info/gccint.info.gz +OLD_FILES+=usr/share/man/man1/g++.1.gz +OLD_FILES+=usr/share/man/man1/gcc.1.gz +OLD_FILES+=usr/share/man/man1/gcov.1.gz +OLD_FILES+=usr/share/man/man1/gcpp.1.gz +.endif + .if ${MK_GCOV} == no OLD_FILES+=usr/bin/gcov OLD_FILES+=usr/share/man/man1/gcov.1.gz From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 16:44:19 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5CE91106566B; Sat, 14 Apr 2012 16:44:19 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 489D18FC17; Sat, 14 Apr 2012 16:44:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EGiJ2i038634; Sat, 14 Apr 2012 16:44:19 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EGiJ3h038632; Sat, 14 Apr 2012 16:44:19 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204141644.q3EGiJ3h038632@svn.freebsd.org> From: Luigi Rizzo Date: Sat, 14 Apr 2012 16:44:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234290 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 16:44:19 -0000 Author: luigi Date: Sat Apr 14 16:44:18 2012 New Revision: 234290 URL: http://svn.freebsd.org/changeset/base/234290 Log: i prefer this fix for the -Wformat warning (just one cast, all the other variables are already correct for %x). My previous attempt put the cast in the wrong place. Modified: head/sys/dev/netmap/netmap_mem2.c Modified: head/sys/dev/netmap/netmap_mem2.c ============================================================================== --- head/sys/dev/netmap/netmap_mem2.c Sat Apr 14 16:42:17 2012 (r234289) +++ head/sys/dev/netmap/netmap_mem2.c Sat Apr 14 16:44:18 2012 (r234290) @@ -161,11 +161,9 @@ netmap_ofstophys(vm_offset_t offset) return p[i]->lut[offset / p[i]->_objsize].paddr + offset % p[i]->_objsize; } - D("invalid ofs 0x%jx out of 0x%jx 0x%jx 0x%jx", (uintmax_t)o, - (uintmax_t)p[0]->_memtotal, - (uintmax_t)(p[0]->_memtotal + p[1]->_memtotal), - (uintmax_t)(p[0]->_memtotal + p[1]->_memtotal + - p[2]->_memtotal)); + D("invalid ofs 0x%x out of 0x%x 0x%x 0x%x", (u_int)o, + p[0]->_memtotal, p[0]->_memtotal + p[1]->_memtotal, + p[0]->_memtotal + p[1]->_memtotal + p[2]->_memtotal); return 0; // XXX bad address } From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 17:09:39 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7828F106564A; Sat, 14 Apr 2012 17:09:39 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 581E78FC08; Sat, 14 Apr 2012 17:09: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 q3EH9dCo039466; Sat, 14 Apr 2012 17:09:39 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EH9dQf039457; Sat, 14 Apr 2012 17:09:39 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204141709.q3EH9dQf039457@svn.freebsd.org> From: Marius Strobl Date: Sat, 14 Apr 2012 17:09:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234291 - head/sys/arm/at91 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 17:09:39 -0000 Author: marius Date: Sat Apr 14 17:09:38 2012 New Revision: 234291 URL: http://svn.freebsd.org/changeset/base/234291 Log: Add support for the Atmel SAM9XE familiy of microcontrollers, which consist of a ARM926EJ-S processor core with up to 512 Kbytes of on-chip flash. Tested with SAM9XE512. Modified: head/sys/arm/at91/at91_pit.c head/sys/arm/at91/at91_rst.c head/sys/arm/at91/at91_twireg.h head/sys/arm/at91/at91_wdt.c head/sys/arm/at91/at91reg.h head/sys/arm/at91/at91sam9260.c head/sys/arm/at91/at91var.h head/sys/arm/at91/if_ate.c Modified: head/sys/arm/at91/at91_pit.c ============================================================================== --- head/sys/arm/at91/at91_pit.c Sat Apr 14 16:44:18 2012 (r234290) +++ head/sys/arm/at91/at91_pit.c Sat Apr 14 17:09:38 2012 (r234291) @@ -90,7 +90,7 @@ static int at91pit_probe(device_t dev) { - if (at91_is_sam9()) { + if (at91_is_sam9() || at91_is_sam9xe()) { device_set_desc(dev, "AT91SAM9 PIT"); return (0); } Modified: head/sys/arm/at91/at91_rst.c ============================================================================== --- head/sys/arm/at91/at91_rst.c Sat Apr 14 16:44:18 2012 (r234290) +++ head/sys/arm/at91/at91_rst.c Sat Apr 14 17:09:38 2012 (r234291) @@ -71,7 +71,7 @@ static int at91_rst_probe(device_t dev) { - if (at91_is_sam9()) { + if (at91_is_sam9() || at91_is_sam9xe()) { device_set_desc(dev, "AT91SAM9 Reset Controller"); return (0); } Modified: head/sys/arm/at91/at91_twireg.h ============================================================================== --- head/sys/arm/at91/at91_twireg.h Sat Apr 14 16:44:18 2012 (r234290) +++ head/sys/arm/at91/at91_twireg.h Sat Apr 14 17:09:38 2012 (r234291) @@ -64,7 +64,7 @@ #define TWI_CWGR_CHDIV(x) ((x) << 8) /* Clock High Divider */ #define TWI_CWGR_CLDIV(x) ((x) << 0) /* Clock Low Divider */ #define TWI_CWGR_DIV(rate) \ - (at91_is_sam9() ? \ + (at91_is_sam9() || at91_is_sam9xe() ? \ ((at91_master_clock / (4 * (rate))) - 3) : \ ((at91_master_clock / (4 * (rate))) - 2)) Modified: head/sys/arm/at91/at91_wdt.c ============================================================================== --- head/sys/arm/at91/at91_wdt.c Sat Apr 14 16:44:18 2012 (r234290) +++ head/sys/arm/at91/at91_wdt.c Sat Apr 14 17:09:38 2012 (r234291) @@ -132,7 +132,7 @@ static int wdt_probe(device_t dev) { - if (at91_is_sam9()) { + if (at91_is_sam9() || at91_is_sam9xe()) { device_set_desc(dev, "WDT"); return (0); } Modified: head/sys/arm/at91/at91reg.h ============================================================================== --- head/sys/arm/at91/at91reg.h Sat Apr 14 16:44:18 2012 (r234290) +++ head/sys/arm/at91/at91reg.h Sat Apr 14 17:09:38 2012 (r234291) @@ -61,6 +61,9 @@ #define AT91_CPU_SAM9G10 0x819903a0 #define AT91_CPU_SAM9G20 0x019905a0 #define AT91_CPU_SAM9G45 0x819b05a0 +#define AT91_CPU_SAM9XE128 0x329973a0 +#define AT91_CPU_SAM9XE256 0x329a93a0 +#define AT91_CPU_SAM9XE512 0x329aa3a0 #define AT91_ARCH(chipid) ((chipid >> 20) & 0xff) #define AT91_CPU(chipid) (chipid & ~AT91_CPU_VERSION_MASK) Modified: head/sys/arm/at91/at91sam9260.c ============================================================================== --- head/sys/arm/at91/at91sam9260.c Sat Apr 14 16:44:18 2012 (r234290) +++ head/sys/arm/at91/at91sam9260.c Sat Apr 14 17:09:38 2012 (r234291) @@ -197,21 +197,40 @@ static void at91_identify(driver_t *drv, device_t parent) { - if (at91_cpu_is(AT91_CPU_SAM9260)) { + switch (AT91_CPU(at91_chip_id)) { + case AT91_CPU_SAM9260: + case AT91_CPU_SAM9XE128: + case AT91_CPU_SAM9XE256: + case AT91_CPU_SAM9XE512: at91_add_child(parent, 0, "at91sam9260", 0, 0, 0, -1, 0, 0); at91_cpu_add_builtin_children(parent); + break; } } static int at91_probe(device_t dev) { + const char *desc; - if (at91_cpu_is(AT91_CPU_SAM9260)) { - device_set_desc(dev, "AT91SAM9260"); - return (0); + switch (AT91_CPU(at91_chip_id)) { + case AT91_CPU_SAM9260: + desc = "AT91SAM9260"; + break; + case AT91_CPU_SAM9XE128: + desc = "AT91SAM9XE128"; + break; + case AT91_CPU_SAM9XE256: + desc = "AT91SAM9XE256"; + break; + case AT91_CPU_SAM9XE512: + desc = "AT91SAM9XE512"; + break; + default: + return (ENXIO); } - return (ENXIO); + device_set_desc(dev, desc); + return (0); } static int @@ -227,10 +246,6 @@ at91_attach(device_t dev) sc->sc_sh = at91sc->sc_sh; sc->dev = dev; - /* - * XXX These values work for the RM9200, SAM926[01], and SAM9260 - * will have to fix this when we want to support anything else. XXX - */ if (bus_space_subregion(sc->sc_st, sc->sc_sh, AT91SAM9260_SYS_BASE, AT91SAM9260_SYS_SIZE, &sc->sc_sys_sh) != 0) panic("Enable to map system registers"); Modified: head/sys/arm/at91/at91var.h ============================================================================== --- head/sys/arm/at91/at91var.h Sat Apr 14 16:44:18 2012 (r234290) +++ head/sys/arm/at91/at91var.h Sat Apr 14 17:09:38 2012 (r234291) @@ -63,6 +63,7 @@ extern uint32_t at91_chip_id; static inline int at91_is_rm92(void); static inline int at91_is_sam9(void); +static inline int at91_is_sam9xe(void); static inline int at91_cpu_is(u_int cpu); static inline int @@ -80,6 +81,13 @@ at91_is_sam9(void) } static inline int +at91_is_sam9xe(void) +{ + + return (AT91_ARCH(at91_chip_id) == AT91_ARCH_SAM9XE); +} + +static inline int at91_cpu_is(u_int cpu) { Modified: head/sys/arm/at91/if_ate.c ============================================================================== --- head/sys/arm/at91/if_ate.c Sat Apr 14 16:44:18 2012 (r234290) +++ head/sys/arm/at91/if_ate.c Sat Apr 14 17:09:38 2012 (r234291) @@ -266,7 +266,7 @@ ate_attach(device_t dev) } /* New or old version, chooses buffer size. */ - sc->is_emacb = at91_is_sam9(); + sc->is_emacb = at91_is_sam9() || at91_is_sam9xe(); sc->rx_buf_size = RX_BUF_SIZE(sc); err = ate_activate(dev); From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 17:17:55 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DF9151065672; Sat, 14 Apr 2012 17:17:55 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B16C38FC0C; Sat, 14 Apr 2012 17:17:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EHHtXP039773; Sat, 14 Apr 2012 17:17:55 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EHHtmx039771; Sat, 14 Apr 2012 17:17:55 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204141717.q3EHHtmx039771@svn.freebsd.org> From: Marius Strobl Date: Sat, 14 Apr 2012 17:17:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234292 - head/sys/arm/at91 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 17:17:56 -0000 Author: marius Date: Sat Apr 14 17:17:55 2012 New Revision: 234292 URL: http://svn.freebsd.org/changeset/base/234292 Log: Add support for the Atmel SAM9XE familiy of microcontrollers, which consist of a ARM926EJ-S processor core with up to 512 Kbytes of on-chip flash. Tested with SAM9XE512. This file was missed in r234291. Modified: head/sys/arm/at91/at91_pmc.c Modified: head/sys/arm/at91/at91_pmc.c ============================================================================== --- head/sys/arm/at91/at91_pmc.c Sat Apr 14 17:09:38 2012 (r234291) +++ head/sys/arm/at91/at91_pmc.c Sat Apr 14 17:17:55 2012 (r234292) @@ -162,12 +162,14 @@ static const unsigned int at91_mainf_tbl static inline uint32_t RD4(struct at91_pmc_softc *sc, bus_size_t off) { + return (bus_read_4(sc->mem_res, off)); } static inline void WR4(struct at91_pmc_softc *sc, bus_size_t off, uint32_t val) { + bus_write_4(sc->mem_res, off, val); } @@ -225,7 +227,8 @@ at91_pmc_set_periph_mode(struct at91_pmc } struct at91_pmc_clock * -at91_pmc_clock_add(const char *name, uint32_t irq, struct at91_pmc_clock *parent) +at91_pmc_clock_add(const char *name, uint32_t irq, + struct at91_pmc_clock *parent) { struct at91_pmc_clock *clk; int i, buflen; @@ -299,11 +302,13 @@ at91_pmc_clock_ref(const char *name) void at91_pmc_clock_deref(struct at91_pmc_clock *clk) { + } void at91_pmc_clock_enable(struct at91_pmc_clock *clk) { + /* XXX LOCKING? XXX */ if (clk->parent) at91_pmc_clock_enable(clk->parent); @@ -314,6 +319,7 @@ at91_pmc_clock_enable(struct at91_pmc_cl void at91_pmc_clock_disable(struct at91_pmc_clock *clk) { + /* XXX LOCKING? XXX */ if (--clk->refcnt == 0 && clk->set_mode) clk->set_mode(clk, 0); @@ -342,7 +348,6 @@ at91_pmc_pll_rate(struct at91_pmc_clock freq = 0; clk->hz = freq; - return (freq); } @@ -402,7 +407,7 @@ at91_pmc_init_clock(struct at91_pmc_soft uint32_t mckr; uint32_t mdiv; - if (at91_is_sam9()) { + if (at91_is_sam9() || at91_is_sam9xe()) { uhpck.pmc_mask = PMC_SCER_UHP_SAM9; udpck.pmc_mask = PMC_SCER_UDP_SAM9; } @@ -446,7 +451,7 @@ at91_pmc_init_clock(struct at91_pmc_soft (1 << ((mckr & PMC_MCKR_PRES_MASK) >> 2)); mdiv = (mckr & PMC_MCKR_MDIV_MASK) >> 8; - if (at91_is_sam9()) { + if (at91_is_sam9() || at91_is_sam9xe()) { if (mdiv > 0) mck.hz /= mdiv * 2; } else @@ -486,7 +491,6 @@ at91_pmc_deactivate(device_t dev) bus_release_resource(dev, SYS_RES_IOPORT, rman_get_rid(sc->mem_res), sc->mem_res); sc->mem_res = 0; - return; } static int From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 17:27:35 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4B8541065673; Sat, 14 Apr 2012 17:27:35 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36BE58FC08; Sat, 14 Apr 2012 17:27:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EHRZkc040098; Sat, 14 Apr 2012 17:27:35 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EHRZok040096; Sat, 14 Apr 2012 17:27:35 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201204141727.q3EHRZok040096@svn.freebsd.org> From: Marius Strobl Date: Sat, 14 Apr 2012 17:27:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234293 - head/sys/arm/at91 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 17:27:35 -0000 Author: marius Date: Sat Apr 14 17:27:34 2012 New Revision: 234293 URL: http://svn.freebsd.org/changeset/base/234293 Log: Generate an obviously missing STOP when having finished transmitting data. This fixes communication with PCF8563. Modified: head/sys/arm/at91/at91_twi.c Modified: head/sys/arm/at91/at91_twi.c ============================================================================== --- head/sys/arm/at91/at91_twi.c Sat Apr 14 17:17:55 2012 (r234292) +++ head/sys/arm/at91/at91_twi.c Sat Apr 14 17:27:34 2012 (r234293) @@ -364,6 +364,7 @@ at91_twi_transfer(device_t dev, struct i goto out; WR4(sc, TWI_THR, *buf++); } + WR4(sc, TWI_CR, TWI_CR_STOP); } if ((err = at91_twi_wait(sc, TWI_SR_TXCOMP))) break; From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 17:33:48 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F817106566C; Sat, 14 Apr 2012 17:33:48 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EE9028FC0A; Sat, 14 Apr 2012 17:33:47 +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 q3EHXlYn040328; Sat, 14 Apr 2012 17:33:47 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EHXl8D040325; Sat, 14 Apr 2012 17:33:47 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201204141733.q3EHXl8D040325@svn.freebsd.org> From: Mikolaj Golub Date: Sat, 14 Apr 2012 17:33:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234294 - stable/9/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 17:33:48 -0000 Author: trociny Date: Sat Apr 14 17:33:47 2012 New Revision: 234294 URL: http://svn.freebsd.org/changeset/base/234294 Log: MFC r233392, r233679: r233392: Fix typo. r233679: If hastd is invoked with "-P pidfile" option always create pidfile regardless of whether -F (foreground) option is set or not. Also, if -P option is specified, ignore pidfile setting from configuration not only on start but on reload too. This fixes the issue when for hastd run with -P option reload caused the pidfile change. Reviewed by: pjd Modified: stable/9/sbin/hastd/hastd.c stable/9/sbin/hastd/nv.c Directory Properties: stable/9/sbin/hastd/ (props changed) Modified: stable/9/sbin/hastd/hastd.c ============================================================================== --- stable/9/sbin/hastd/hastd.c Sat Apr 14 17:27:34 2012 (r234293) +++ stable/9/sbin/hastd/hastd.c Sat Apr 14 17:33:47 2012 (r234294) @@ -66,6 +66,8 @@ const char *cfgpath = HAST_CONFIG; static struct hastd_config *cfg; /* Was SIGINT or SIGTERM signal received? */ bool sigexit_received = false; +/* Path to pidfile. */ +static const char *pidfile; /* PID file handle. */ struct pidfh *pfh; /* Do we run in foreground? */ @@ -537,7 +539,8 @@ hastd_reload(void) /* * Check if pidfile's path has changed. */ - if (!foreground && strcmp(cfg->hc_pidfile, newcfg->hc_pidfile) != 0) { + if (!foreground && pidfile == NULL && + strcmp(cfg->hc_pidfile, newcfg->hc_pidfile) != 0) { newpfh = pidfile_open(newcfg->hc_pidfile, 0600, &otherpid); if (newpfh == NULL) { if (errno == EEXIST) { @@ -1163,14 +1166,12 @@ int main(int argc, char *argv[]) { struct hastd_listen *lst; - const char *pidfile; pid_t otherpid; int debuglevel; sigset_t mask; foreground = false; debuglevel = 0; - pidfile = NULL; for (;;) { int ch; @@ -1230,7 +1231,7 @@ main(int argc, char *argv[]) } } - if (!foreground) { + if (pidfile != NULL || !foreground) { pfh = pidfile_open(cfg->hc_pidfile, 0600, &otherpid); if (pfh == NULL) { if (errno == EEXIST) { @@ -1291,7 +1292,8 @@ main(int argc, char *argv[]) /* Start logging to syslog. */ pjdlog_mode_set(PJDLOG_MODE_SYSLOG); - + } + if (pidfile != NULL || !foreground) { /* Write PID to a file. */ if (pidfile_write(pfh) == -1) { pjdlog_errno(LOG_WARNING, Modified: stable/9/sbin/hastd/nv.c ============================================================================== --- stable/9/sbin/hastd/nv.c Sat Apr 14 17:27:34 2012 (r234293) +++ stable/9/sbin/hastd/nv.c Sat Apr 14 17:33:47 2012 (r234294) @@ -263,17 +263,17 @@ nv_validate(struct nv *nv, size_t *extra case NV_TYPE_UINT8: if (vsize == 0) vsize = 1; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT16: case NV_TYPE_UINT16: if (vsize == 0) vsize = 2; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT32: case NV_TYPE_UINT32: if (vsize == 0) vsize = 4; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT64: case NV_TYPE_UINT64: if (vsize == 0) @@ -290,12 +290,12 @@ nv_validate(struct nv *nv, size_t *extra case NV_TYPE_UINT16_ARRAY: if (vsize == 0) vsize = 2; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT32_ARRAY: case NV_TYPE_UINT32_ARRAY: if (vsize == 0) vsize = 4; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT64_ARRAY: case NV_TYPE_UINT64_ARRAY: if (vsize == 0) @@ -906,14 +906,14 @@ nv_swap(struct nvhdr *nvh, bool tohost) case NV_TYPE_UINT16_ARRAY: if (vsize == 0) vsize = 2; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT32: case NV_TYPE_UINT32: case NV_TYPE_INT32_ARRAY: case NV_TYPE_UINT32_ARRAY: if (vsize == 0) vsize = 4; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT64: case NV_TYPE_UINT64: case NV_TYPE_INT64_ARRAY: From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 17:35:59 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9FCDF1065700; Sat, 14 Apr 2012 17:35:59 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8AD4F8FC0C; Sat, 14 Apr 2012 17:35: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 q3EHZxcH040430; Sat, 14 Apr 2012 17:35:59 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EHZxjb040427; Sat, 14 Apr 2012 17:35:59 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201204141735.q3EHZxjb040427@svn.freebsd.org> From: Mikolaj Golub Date: Sat, 14 Apr 2012 17:35:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234295 - stable/8/sbin/hastd X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 17:35:59 -0000 Author: trociny Date: Sat Apr 14 17:35:59 2012 New Revision: 234295 URL: http://svn.freebsd.org/changeset/base/234295 Log: MFC r233392, r233679: r233392: Fix typo. r233679: If hastd is invoked with "-P pidfile" option always create pidfile regardless of whether -F (foreground) option is set or not. Also, if -P option is specified, ignore pidfile setting from configuration not only on start but on reload too. This fixes the issue when for hastd run with -P option reload caused the pidfile change. Reviewed by: pjd Modified: stable/8/sbin/hastd/hastd.c stable/8/sbin/hastd/nv.c Directory Properties: stable/8/sbin/hastd/ (props changed) Modified: stable/8/sbin/hastd/hastd.c ============================================================================== --- stable/8/sbin/hastd/hastd.c Sat Apr 14 17:33:47 2012 (r234294) +++ stable/8/sbin/hastd/hastd.c Sat Apr 14 17:35:59 2012 (r234295) @@ -66,6 +66,8 @@ const char *cfgpath = HAST_CONFIG; static struct hastd_config *cfg; /* Was SIGINT or SIGTERM signal received? */ bool sigexit_received = false; +/* Path to pidfile. */ +static const char *pidfile; /* PID file handle. */ struct pidfh *pfh; /* Do we run in foreground? */ @@ -537,7 +539,8 @@ hastd_reload(void) /* * Check if pidfile's path has changed. */ - if (!foreground && strcmp(cfg->hc_pidfile, newcfg->hc_pidfile) != 0) { + if (!foreground && pidfile == NULL && + strcmp(cfg->hc_pidfile, newcfg->hc_pidfile) != 0) { newpfh = pidfile_open(newcfg->hc_pidfile, 0600, &otherpid); if (newpfh == NULL) { if (errno == EEXIST) { @@ -1163,14 +1166,12 @@ int main(int argc, char *argv[]) { struct hastd_listen *lst; - const char *pidfile; pid_t otherpid; int debuglevel; sigset_t mask; foreground = false; debuglevel = 0; - pidfile = NULL; for (;;) { int ch; @@ -1230,7 +1231,7 @@ main(int argc, char *argv[]) } } - if (!foreground) { + if (pidfile != NULL || !foreground) { pfh = pidfile_open(cfg->hc_pidfile, 0600, &otherpid); if (pfh == NULL) { if (errno == EEXIST) { @@ -1291,7 +1292,8 @@ main(int argc, char *argv[]) /* Start logging to syslog. */ pjdlog_mode_set(PJDLOG_MODE_SYSLOG); - + } + if (pidfile != NULL || !foreground) { /* Write PID to a file. */ if (pidfile_write(pfh) == -1) { pjdlog_errno(LOG_WARNING, Modified: stable/8/sbin/hastd/nv.c ============================================================================== --- stable/8/sbin/hastd/nv.c Sat Apr 14 17:33:47 2012 (r234294) +++ stable/8/sbin/hastd/nv.c Sat Apr 14 17:35:59 2012 (r234295) @@ -263,17 +263,17 @@ nv_validate(struct nv *nv, size_t *extra case NV_TYPE_UINT8: if (vsize == 0) vsize = 1; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT16: case NV_TYPE_UINT16: if (vsize == 0) vsize = 2; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT32: case NV_TYPE_UINT32: if (vsize == 0) vsize = 4; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT64: case NV_TYPE_UINT64: if (vsize == 0) @@ -290,12 +290,12 @@ nv_validate(struct nv *nv, size_t *extra case NV_TYPE_UINT16_ARRAY: if (vsize == 0) vsize = 2; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT32_ARRAY: case NV_TYPE_UINT32_ARRAY: if (vsize == 0) vsize = 4; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT64_ARRAY: case NV_TYPE_UINT64_ARRAY: if (vsize == 0) @@ -906,14 +906,14 @@ nv_swap(struct nvhdr *nvh, bool tohost) case NV_TYPE_UINT16_ARRAY: if (vsize == 0) vsize = 2; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT32: case NV_TYPE_UINT32: case NV_TYPE_INT32_ARRAY: case NV_TYPE_UINT32_ARRAY: if (vsize == 0) vsize = 4; - /* FALLTHOUGH */ + /* FALLTHROUGH */ case NV_TYPE_INT64: case NV_TYPE_UINT64: case NV_TYPE_INT64_ARRAY: From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 20:22:02 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 373CB1065670; Sat, 14 Apr 2012 20:22:02 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2221B8FC0A; Sat, 14 Apr 2012 20:22:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EKM1Pr045640; Sat, 14 Apr 2012 20:22:01 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EKM1Us045638; Sat, 14 Apr 2012 20:22:01 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <201204142022.q3EKM1Us045638@svn.freebsd.org> From: Michael Tuexen Date: Sat, 14 Apr 2012 20:22:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234296 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 20:22:02 -0000 Author: tuexen Date: Sat Apr 14 20:22:01 2012 New Revision: 234296 URL: http://svn.freebsd.org/changeset/base/234296 Log: Bugfix: Don't send HBs on path which are not idle. MFC after: 1 week Modified: head/sys/netinet/sctp_timer.c Modified: head/sys/netinet/sctp_timer.c ============================================================================== --- head/sys/netinet/sctp_timer.c Sat Apr 14 17:35:59 2012 (r234295) +++ head/sys/netinet/sctp_timer.c Sat Apr 14 20:22:01 2012 (r234296) @@ -1438,7 +1438,22 @@ sctp_heartbeat_timer(struct sctp_inpcb * * when move to PF during threshold mangement, a HB has been * queued in that routine */ - sctp_send_hb(stcb, net, SCTP_SO_NOT_LOCKED); + uint32_t ms_gone_by; + + if ((net->last_sent_time.tv_sec > 0) || + (net->last_sent_time.tv_usec > 0)) { + struct timeval diff; + + SCTP_GETTIME_TIMEVAL(&diff); + timevalsub(&diff, &net->last_sent_time); + ms_gone_by = (uint32_t) (diff.tv_sec * 1000) + + (uint32_t) (diff.tv_usec / 1000); + } else { + ms_gone_by = 0xffffffff; + } + if (ms_gone_by >= net->heart_beat_delay) { + sctp_send_hb(stcb, net, SCTP_SO_NOT_LOCKED); + } } return (0); } From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 21:01:45 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 08941106564A; Sat, 14 Apr 2012 21:01:45 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E83358FC14; Sat, 14 Apr 2012 21:01:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EL1ioM047822; Sat, 14 Apr 2012 21:01:44 GMT (envelope-from tuexen@svn.freebsd.org) Received: (from tuexen@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EL1iPj047820; Sat, 14 Apr 2012 21:01:44 GMT (envelope-from tuexen@svn.freebsd.org) Message-Id: <201204142101.q3EL1iPj047820@svn.freebsd.org> From: Michael Tuexen Date: Sat, 14 Apr 2012 21:01:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234297 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 21:01:45 -0000 Author: tuexen Date: Sat Apr 14 21:01:44 2012 New Revision: 234297 URL: http://svn.freebsd.org/changeset/base/234297 Log: Send always HBs when in PF state. MFC after: 1 week X-MFC with: r234296 Modified: head/sys/netinet/sctp_timer.c Modified: head/sys/netinet/sctp_timer.c ============================================================================== --- head/sys/netinet/sctp_timer.c Sat Apr 14 20:22:01 2012 (r234296) +++ head/sys/netinet/sctp_timer.c Sat Apr 14 21:01:44 2012 (r234297) @@ -1451,7 +1451,8 @@ sctp_heartbeat_timer(struct sctp_inpcb * } else { ms_gone_by = 0xffffffff; } - if (ms_gone_by >= net->heart_beat_delay) { + if ((ms_gone_by >= net->heart_beat_delay) || + (net->dest_state & SCTP_ADDR_PF)) { sctp_send_hb(stcb, net, SCTP_SO_NOT_LOCKED); } } From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 21:02:43 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F9DE106566B; Sat, 14 Apr 2012 21:02:43 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6212F8FC15; Sat, 14 Apr 2012 21:02:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EL2hSP047942; Sat, 14 Apr 2012 21:02:43 GMT (envelope-from netchild@svn.freebsd.org) Received: (from netchild@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EL2hhE047940; Sat, 14 Apr 2012 21:02:43 GMT (envelope-from netchild@svn.freebsd.org) Message-Id: <201204142102.q3EL2hhE047940@svn.freebsd.org> From: Alexander Leidinger Date: Sat, 14 Apr 2012 21:02:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234298 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 21:02:43 -0000 Author: netchild Date: Sat Apr 14 21:02:42 2012 New Revision: 234298 URL: http://svn.freebsd.org/changeset/base/234298 Log: Add myself for a large IFC. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Sat Apr 14 21:01:44 2012 (r234297) +++ svnadmin/conf/sizelimit.conf Sat Apr 14 21:02:42 2012 (r234298) @@ -29,6 +29,7 @@ jb jeff kmacy lstewart +netchild obrien rpaulo rwatson From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 21:08:56 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 907D6106566B; Sat, 14 Apr 2012 21:08:56 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 628278FC0A; Sat, 14 Apr 2012 21:08:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3EL8ue2048496; Sat, 14 Apr 2012 21:08:56 GMT (envelope-from netchild@svn.freebsd.org) Received: (from netchild@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3EL8uqR048494; Sat, 14 Apr 2012 21:08:56 GMT (envelope-from netchild@svn.freebsd.org) Message-Id: <201204142108.q3EL8uqR048494@svn.freebsd.org> From: Alexander Leidinger Date: Sat, 14 Apr 2012 21:08:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234300 - svnadmin/conf X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 21:08:56 -0000 Author: netchild Date: Sat Apr 14 21:08:55 2012 New Revision: 234300 URL: http://svn.freebsd.org/changeset/base/234300 Log: Reenable FSP for myself. Modified: svnadmin/conf/sizelimit.conf Modified: svnadmin/conf/sizelimit.conf ============================================================================== --- svnadmin/conf/sizelimit.conf Sat Apr 14 21:05:39 2012 (r234299) +++ svnadmin/conf/sizelimit.conf Sat Apr 14 21:08:55 2012 (r234300) @@ -29,7 +29,6 @@ jb jeff kmacy lstewart -netchild obrien rpaulo rwatson From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 23:05:45 2012 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 688C71065670; Sat, 14 Apr 2012 23:05:45 +0000 (UTC) (envelope-from gibbs@scsiguy.com) Received: from aslan.scsiguy.com (ns1.scsiguy.com [70.89.174.89]) by mx1.freebsd.org (Postfix) with ESMTP id 3513E8FC1A; Sat, 14 Apr 2012 23:05:45 +0000 (UTC) Received: from [192.168.0.99] (macbook.scsiguy.com [192.168.0.99]) (authenticated bits=0) by aslan.scsiguy.com (8.14.5/8.14.5) with ESMTP id q3EN5a9Y071518 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sat, 14 Apr 2012 17:05:36 -0600 (MDT) (envelope-from gibbs@scsiguy.com) Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=us-ascii From: "Justin T. Gibbs" In-Reply-To: <20120410114118.GB93449@alchemy.franken.de> Date: Sat, 14 Apr 2012 17:05:35 -0600 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201204092241.q39MfJZn081610@svn.freebsd.org> <20120409230949.GB68111@alchemy.franken.de> <20120410114118.GB93449@alchemy.franken.de> To: Marius Strobl X-Mailer: Apple Mail (2.1257) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (aslan.scsiguy.com [192.168.0.4]); Sat, 14 Apr 2012 17:05:36 -0600 (MDT) Cc: Attilio Rao , svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, John Baldwin Subject: Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 23:05:45 -0000 On Apr 10, 2012, at 5:41 AM, Marius Strobl wrote: > On Tue, Apr 10, 2012 at 01:03:56AM +0100, Attilio Rao wrote: >> Il 10 aprile 2012 00:09, Marius Strobl ha = scritto: >>> On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote: >>>> Author: attilio >>>> Date: Mon Apr ??9 22:41:19 2012 >>>> New Revision: 234074 >>>> URL: http://svn.freebsd.org/changeset/base/234074 >>>>=20 >>>> Log: >>>> ?? BSP is not added to the mask of valid target CPUs for interrupts >>>> ?? in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() = is not >>>> ?? called in the !SMP case too. >>>> ?? Fix this by: >>>> ?? - Adding the BSP as an interrupt target directly in = cpu_startup(). >>>> ?? - Remove an obsolete optimization where the BSP are skipped in >>>> ?? ?? set_apic_interrupt_ids(). >>>>=20 >>>> ?? Reported by: ?? ?? ?? ??jh >>>> ?? Reviewed by: ?? ?? ?? ??jhb >>>> ?? MFC after: ??3 days >>>> ?? X-MFC: ?? ?? ?? ?? ?? ?? ??r233961 >>>> ?? Pointy hat to: ?? ?? ??me >>>>=20 >>>> Modified: >>>> ?? head/sys/amd64/amd64/machdep.c >>>> ?? head/sys/amd64/amd64/mp_machdep.c >>>> ?? head/sys/i386/i386/machdep.c >>>> ?? head/sys/i386/i386/mp_machdep.c >>>>=20 >>>> Modified: head/sys/amd64/amd64/machdep.c >>>> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>>> --- head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:01:43 2012 = ?? ?? ?? ??(r234073) >>>> +++ head/sys/amd64/amd64/machdep.c ?? ??Mon Apr ??9 22:41:19 2012 = ?? ?? ?? ??(r234074) >>>> @@ -295,6 +295,11 @@ cpu_startup(dummy) >>>> ?? ?? ?? vm_pager_bufferinit(); >>>>=20 >>>> ?? ?? ?? cpu_setregs(); >>>> + >>>> + ?? ?? /* >>>> + ?? ?? ??* Add BSP as an interrupt target. >>>> + ?? ?? ??*/ >>>> + ?? ?? intr_add_cpu(0); >>>> ??} >>>=20 >>> If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it = should be >>> here as well. >>=20 >> You are right, sorry, I did forgot to test without SMP. >> I think we still need intr_add_cpu() on cpu_startup() because of the >> case smp_disabled =3D 1. >> I think the attached patch should make its dirty job, opinion? >=20 > I currently fail to see why the latter approach would be necessary, > i.e. IMO wrapping the intr_add_cpu() calls in cpu_startup() should > be sufficient. In case the kernel is compiled without SMP support, > interrupt balancing support isn't available in the first place and > the BSP is always the only available target (see the UP version of > intr_next_cpu() at the end of x86/x86/intr_machdep.c), so there's > no need to add the BSP as a valid target. If an SMP kernel is run > on a UP machine or with SMP disabled, interrupt balancing support > is available but the intr_add_cpu() calls in cpu_startup() will add > the BSP as (the only) target, so everything should be fine. Maybe > you can elaborate on why you think an SMP kernel with SMP disabled > needs special handling. >=20 > Marius While functionally correct, I believe that wrapping intr_add_cpu() in machdep.c in "SMP ifdefs" is inferior to calling it in all cases. It invites questions like, "In the UP case, don't we have to ensure that CPU0 is a valid interrupt target?" This is because casual visitors to this file don't know that intr_add_cpu() only impacts interrupt distribution. Of course, this is just an artifact of the current implementation. #ifdefs should be as close to the implemenation as possible. This simplifies the task of making future enhancments. This is why I'd prefer to see these within the body of intr_add_cpu() than where they are now. I also think the comment could be improved to be something like: /* * The BSP/CPU0 is always an interrupt target even if * our probe of MP hardware fails or MP mode is disabled. */ intr_add_cpu(0); -- Justin From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 23:53:32 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BBE6E1065672; Sat, 14 Apr 2012 23:53:32 +0000 (UTC) (envelope-from davide@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8B4A58FC12; Sat, 14 Apr 2012 23:53:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3ENrW9N055361; Sat, 14 Apr 2012 23:53:32 GMT (envelope-from davide@svn.freebsd.org) Received: (from davide@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3ENrWgD055358; Sat, 14 Apr 2012 23:53:32 GMT (envelope-from davide@svn.freebsd.org) Message-Id: <201204142353.q3ENrWgD055358@svn.freebsd.org> From: Davide Italiano Date: Sat, 14 Apr 2012 23:53:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234302 - in head/sys: conf kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 23:53:32 -0000 Author: davide Date: Sat Apr 14 23:53:31 2012 New Revision: 234302 URL: http://svn.freebsd.org/changeset/base/234302 Log: Fix some style bugs introduced in a previous commit (r233045) Reported by: glebius, jmallet Reviewed by: jmallet Approved by: gnn (mentor) MFC after: 2 days Modified: head/sys/conf/NOTES head/sys/kern/kern_umtx.c Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Sat Apr 14 21:51:08 2012 (r234301) +++ head/sys/conf/NOTES Sat Apr 14 23:53:31 2012 (r234302) @@ -300,7 +300,8 @@ options MPROF_HASH_SIZE="1543" # Profiling for internal hash tables. options SLEEPQUEUE_PROFILING options TURNSTILE_PROFILING -options UMTX_PROFILING +options UMTX_PROFILING + ##################################################################### # COMPATIBILITY OPTIONS Modified: head/sys/kern/kern_umtx.c ============================================================================== --- head/sys/kern/kern_umtx.c Sat Apr 14 21:51:08 2012 (r234301) +++ head/sys/kern/kern_umtx.c Sat Apr 14 23:53:31 2012 (r234302) @@ -271,15 +271,15 @@ umtxq_sysinit(void *arg __unused) TAILQ_INIT(&umtxq_chains[i][j].uc_pi_list); umtxq_chains[i][j].uc_busy = 0; umtxq_chains[i][j].uc_waiters = 0; - #ifdef UMTX_PROFILING +#ifdef UMTX_PROFILING umtxq_chains[i][j].length = 0; umtxq_chains[i][j].max_length = 0; - #endif +#endif } } - #ifdef UMTX_PROFILING +#ifdef UMTX_PROFILING umtx_init_profiling(); - #endif +#endif mtx_init(&umtx_lock, "umtx lock", NULL, MTX_SPIN); EVENTHANDLER_REGISTER(process_exec, umtx_exec_hook, NULL, EVENTHANDLER_PRI_ANY); @@ -430,14 +430,14 @@ umtxq_insert_queue(struct umtx_q *uq, in TAILQ_INSERT_TAIL(&uh->head, uq, uq_link); uh->length++; - #ifdef UMTX_PROFILING +#ifdef UMTX_PROFILING uc->length++; if (uc->length > uc->max_length) { uc->max_length = uc->length; if (uc->max_length > max_length) max_length = uc->max_length; } - #endif +#endif uq->uq_flags |= UQF_UMTXQ; uq->uq_cur_queue = uh; return; @@ -455,9 +455,9 @@ umtxq_remove_queue(struct umtx_q *uq, in uh = uq->uq_cur_queue; TAILQ_REMOVE(&uh->head, uq, uq_link); uh->length--; - #ifdef UMTX_PROFILING +#ifdef UMTX_PROFILING uc->length--; - #endif +#endif uq->uq_flags &= ~UQF_UMTXQ; if (TAILQ_EMPTY(&uh->head)) { KASSERT(uh->length == 0, From owner-svn-src-all@FreeBSD.ORG Sat Apr 14 23:59:58 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D4E7D106566B; Sat, 14 Apr 2012 23:59:58 +0000 (UTC) (envelope-from davide@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C0DA08FC08; Sat, 14 Apr 2012 23:59: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 q3ENxw2C055602; Sat, 14 Apr 2012 23:59:58 GMT (envelope-from davide@svn.freebsd.org) Received: (from davide@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3ENxwRI055600; Sat, 14 Apr 2012 23:59:58 GMT (envelope-from davide@svn.freebsd.org) Message-Id: <201204142359.q3ENxwRI055600@svn.freebsd.org> From: Davide Italiano Date: Sat, 14 Apr 2012 23:59:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234303 - head/sys/kern X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2012 23:59:58 -0000 Author: davide Date: Sat Apr 14 23:59:58 2012 New Revision: 234303 URL: http://svn.freebsd.org/changeset/base/234303 Log: Fix a typo. Approved by: gnn (mentor) MFC after: 2 days Modified: head/sys/kern/subr_turnstile.c Modified: head/sys/kern/subr_turnstile.c ============================================================================== --- head/sys/kern/subr_turnstile.c Sat Apr 14 23:53:31 2012 (r234302) +++ head/sys/kern/subr_turnstile.c Sat Apr 14 23:59:58 2012 (r234303) @@ -143,7 +143,7 @@ static SYSCTL_NODE(_debug, OID_AUTO, tur static SYSCTL_NODE(_debug_turnstile, OID_AUTO, chains, CTLFLAG_RD, 0, "turnstile chain stats"); SYSCTL_UINT(_debug_turnstile, OID_AUTO, max_depth, CTLFLAG_RD, - &turnstile_max_depth, 0, "maxmimum depth achieved of a single chain"); + &turnstile_max_depth, 0, "maximum depth achieved of a single chain"); #endif static struct mtx td_contested_lock; static struct turnstile_chain turnstile_chains[TC_TABLESIZE];