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 ==