From owner-p4-projects@FreeBSD.ORG Sun Sep 23 05:52:52 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E741B16A46C; Sun, 23 Sep 2007 05:52:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8BEB116A417 for ; Sun, 23 Sep 2007 05:52:51 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7B90113C474 for ; Sun, 23 Sep 2007 05:52:51 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N5qpos020266 for ; Sun, 23 Sep 2007 05:52:51 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N5qpqv020262 for perforce@freebsd.org; Sun, 23 Sep 2007 05:52:51 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 05:52:51 GMT Message-Id: <200709230552.l8N5qpqv020262@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126706 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 05:52:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=126706 Change 126706 by kmacy@kmacy_home:ethng on 2007/09/23 05:51:57 add multi-txq support to kernel compile of driver Affected files ... .. //depot/projects/ethng/src/sys/conf/files#3 edit Differences ... ==== //depot/projects/ethng/src/sys/conf/files#3 (text+ko) ==== @@ -513,6 +513,7 @@ dev/cxgb/cxgb_l2t.c optional cxgb pci dev/cxgb/cxgb_lro.c optional cxgb pci dev/cxgb/cxgb_sge.c optional cxgb pci +dev/cxgb/cxgb_multiq.c optional cxgb pci dev/cxgb/common/cxgb_mc5.c optional cxgb pci dev/cxgb/common/cxgb_vsc7323.c optional cxgb pci dev/cxgb/common/cxgb_vsc8211.c optional cxgb pci From owner-p4-projects@FreeBSD.ORG Sun Sep 23 05:53:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 783A516A41A; Sun, 23 Sep 2007 05:53:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F8F316A417 for ; Sun, 23 Sep 2007 05:53:53 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5626613C458 for ; Sun, 23 Sep 2007 05:53:53 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N5rrgo020415 for ; Sun, 23 Sep 2007 05:53:53 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N5rrDf020412 for perforce@freebsd.org; Sun, 23 Sep 2007 05:53:53 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 05:53:53 GMT Message-Id: <200709230553.l8N5rrDf020412@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126707 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 05:53:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=126707 Change 126707 by kmacy@kmacy_home:ethng on 2007/09/23 05:53:36 only include mvec.h where needed Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_include.h#3 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_include.h#3 (text+ko) ==== @@ -2,7 +2,6 @@ * $FreeBSD: src/sys/dev/cxgb/cxgb_include.h,v 1.2 2007/09/10 00:59:51 kmacy Exp $ */ - #ifdef CONFIG_DEFINED #include #include @@ -13,7 +12,6 @@ #include #include #include -#include #include #include #include @@ -30,7 +28,6 @@ #include #include -#include #include #include #include From owner-p4-projects@FreeBSD.ORG Sun Sep 23 05:59:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7AA1416A421; Sun, 23 Sep 2007 05:59:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C32F16A418 for ; Sun, 23 Sep 2007 05:59:01 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5454B13C461 for ; Sun, 23 Sep 2007 05:59:01 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N5x11c020884 for ; Sun, 23 Sep 2007 05:59:01 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N5x05g020881 for perforce@freebsd.org; Sun, 23 Sep 2007 05:59:00 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 05:59:00 GMT Message-Id: <200709230559.l8N5x05g020881@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126708 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 05:59:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=126708 Change 126708 by kmacy@kmacy_home:ethng on 2007/09/23 05:58:54 remove attempt to only call rt_check when needed the locking is far more convoluted than it appears Affected files ... .. //depot/projects/ethng/src/sys/netinet/if_ether.c#4 edit Differences ... ==== //depot/projects/ethng/src/sys/netinet/if_ether.c#4 (text+ko) ==== @@ -358,7 +358,7 @@ struct llinfo_arp *la = NULL; struct rtentry *rt = NULL; struct sockaddr_dl *sdl; - int error = 0; + int error; if (m->m_flags & M_BCAST) { /* broadcast */ (void)memcpy(desten, ifp->if_broadcastaddr, ifp->if_addrlen); @@ -370,11 +370,7 @@ } if (rt0 != NULL) { - if (((rt0->rt_flags && RTF_UP) == 0) || - ((rt0->rt_flags & RTF_GATEWAY) && (rt0->rt_gateway == NULL))) - error = rt_check(&rt, &rt0, dst); - else - rt = rt0; + error = rt_check(&rt, &rt0, dst); if (error) { m_freem(m); return error; From owner-p4-projects@FreeBSD.ORG Sun Sep 23 06:02:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1449C16A41B; Sun, 23 Sep 2007 06:02:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B69BA16A417 for ; Sun, 23 Sep 2007 06:02:05 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BECCE13C48A for ; Sun, 23 Sep 2007 06:02:05 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N625ML021245 for ; Sun, 23 Sep 2007 06:02:05 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N625RN021242 for perforce@freebsd.org; Sun, 23 Sep 2007 06:02:05 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 06:02:05 GMT Message-Id: <200709230602.l8N625RN021242@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126709 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 06:02:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=126709 Change 126709 by kmacy@kmacy_home:ethng on 2007/09/23 06:01:53 - simplify reclaim logic - remove calls to m_freem_vec - the previous mbuf iovec API has been replaced with something a bit more robust Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_multiq.c#18 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_multiq.c#18 (text+ko) ==== @@ -56,6 +56,7 @@ #include #include #include +#include #include #include @@ -80,10 +81,15 @@ #include #include +#include +#include + #ifdef CONFIG_DEFINED #include +#include #else #include +#include #endif extern struct sysctl_oid_list sysctl__hw_cxgb_children; @@ -117,7 +123,7 @@ int err = 0; if (qs->qs_flags & QS_EXITING) { - m_freem_vec(m); + m_freem(m); return (ENXIO); } txq = &qs->txq[TXQ_ETH]; @@ -349,7 +355,7 @@ */ if (mbufq_len(mbq) > cxgb_txq_mbuf_ring_size) { if (imm) { - m_freem_vec(imm); + m_freem(imm); txq->txq_drops++; } return (ENOBUFS); @@ -376,52 +382,35 @@ struct sge_txq *txq = &qs->txq[TXQ_ETH]; while ((m = mbufq_dequeue(&txq->sendq)) != NULL) - m_freem_vec(m); + m_freem(m); cxgb_pcpu_pkt_coalesce(txq, NULL); while ((m = mbufq_dequeue(&txq->sendq)) != NULL) - m_freem_vec(m); + m_freem(m); } static int cxgb_pcpu_reclaim_tx(struct sge_txq *txq, struct mbuf_head *mbq) { - int reclaimable, total_reclaimed, reclaimed, freed, i, j, n; - struct mbuf *m_vec[TX_CLEAN_MAX_DESC]; + int reclaimable; struct sge_qset *qs = txq_to_qset(txq, TXQ_ETH); - +#ifdef notyet KASSERT(qs->qs_cpuid == curcpu, ("cpu qset mismatch cpuid=%d curcpu=%d", qs->qs_cpuid, curcpu)); +#endif + + reclaimable = desc_reclaimable(txq); + if (reclaimable == 0) + return (0); - freed = total_reclaimed = j = 0; - while ((reclaimable = desc_reclaimable(txq)) > 0) { - n = t3_free_tx_desc(txq, reclaimable, m_vec, TX_CLEAN_MAX_DESC, &reclaimed); + t3_free_tx_desc(txq, reclaimable); - total_reclaimed += reclaimed; - - if (j > 20 || cxgb_debug) - printf("n=%d reclaimable=%d txq->processed=%d txq->cleaned=%d txq->in_use=%d\n", - n, reclaimable, txq->processed, txq->cleaned, txq->in_use); - - for (i = 0; i < n; i++) - prefetch(m_vec[i]); - /* - * really want to use an mbuf_ring here to avoid touching touching the mbufs - * when all we want to do is store them for later - */ - for (i = 0; i < n; i++) - mbufq_tail(mbq, m_vec[i]); - freed += n; - j++; - - txq->cleaned += reclaimed; - txq->in_use -= reclaimed; - if (isset(&qs->txq_stopped, TXQ_ETH)) - clrbit(&qs->txq_stopped, TXQ_ETH); - } - - txq->txq_frees += freed; - return (reclaimed); + txq->cleaned += reclaimable; + txq->in_use -= reclaimable; + if (isset(&qs->txq_stopped, TXQ_ETH)) + clrbit(&qs->txq_stopped, TXQ_ETH); + + return (reclaimable); } static int @@ -451,7 +440,7 @@ if (cxgb_debug) printf("cxgb link down\n"); if (immpkt) - m_freem_vec(immpkt); + m_freem(immpkt); return (initerr); } @@ -543,7 +532,7 @@ } else { critical_exit(); while ((m = mbufq_dequeue(&mbq)) != NULL) - m_freem_vec(m); + m_freem(m); } return ((err == ENOSPC) ? 0 : err); @@ -669,7 +658,7 @@ mbufq_init(&txq->cleanq); critical_exit(); while ((m = mbufq_dequeue(&mbq)) != NULL) - m_freem_vec(m); + m_freem(m); tsleep(qs, 1, "cxgbidle", sleep_ticks); } From owner-p4-projects@FreeBSD.ORG Sun Sep 23 06:03:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 32D1716A419; Sun, 23 Sep 2007 06:03:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09C6516A46E for ; Sun, 23 Sep 2007 06:03:08 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CC40913C4B2 for ; Sun, 23 Sep 2007 06:03:07 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N63791022521 for ; Sun, 23 Sep 2007 06:03:07 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N637lI022517 for perforce@freebsd.org; Sun, 23 Sep 2007 06:03:07 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 06:03:07 GMT Message-Id: <200709230603.l8N637lI022517@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126710 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 06:03:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=126710 Change 126710 by kmacy@kmacy_home:ethng on 2007/09/23 06:02:22 add macro to assert unlocked state Affected files ... .. //depot/projects/ethng/src/sys/net/route.h#4 edit Differences ... ==== //depot/projects/ethng/src/sys/net/route.h#4 (text+ko) ==== @@ -295,6 +295,7 @@ #define RT_LOCK_DOWNGRADE(_rt) rw_downgrade(&(_rt)->rt_lock) #define RT_LOCK_DESTROY(_rt) rw_destroy(&(_rt)->rt_lock) #define RT_LOCK_ASSERT(_rt) rw_assert(&(_rt)->rt_lock, RA_LOCKED) +#define RT_UNLOCK_ASSERT(_rt) rw_assert(&(_rt)->rt_lock, RA_UNLOCKED) #define RT_ADDREF(_rt) do { \ RT_LOCK_ASSERT(_rt); \ From owner-p4-projects@FreeBSD.ORG Sun Sep 23 06:25:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9A9E16A41A; Sun, 23 Sep 2007 06:25:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F5CD16A419 for ; Sun, 23 Sep 2007 06:25:37 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 951F313C469 for ; Sun, 23 Sep 2007 06:25:37 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N6Pb7V023933 for ; Sun, 23 Sep 2007 06:25:37 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N6PbZX023930 for perforce@freebsd.org; Sun, 23 Sep 2007 06:25:37 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 06:25:37 GMT Message-Id: <200709230625.l8N6PbZX023930@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126711 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 06:25:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=126711 Change 126711 by kmacy@kmacy_home:ethng on 2007/09/23 06:24:49 - reinstate lazy refcnt assignment, in the common case of ref_cnt == 1 this saves us both a cache miss in uma_find_refcnt and a cache miss mb_free_ext when decrementing the refcnt - avoid touching the mbuf if MB_NOTAGS is passed - this allows us to avoid unnecessary cache misses when freeing an mbuf that is no longer hot in the cache - add M_NOFREE flag to skip freeing an mbuf - this allows us to embed an mbuf header in the cluster itself, giving all zones the packet zone like benefits without the complexity and restrictions that it adds - remove access to the packet zone from mbuf.h Affected files ... .. //depot/projects/ethng/src/sys/kern/kern_mbuf.c#6 edit .. //depot/projects/ethng/src/sys/kern/uipc_mbuf.c#3 edit .. //depot/projects/ethng/src/sys/sys/mbuf.h#6 edit Differences ... ==== //depot/projects/ethng/src/sys/kern/kern_mbuf.c#6 (text+ko) ==== @@ -349,9 +349,10 @@ mb_dtor_mbuf(void *mem, int size, void *arg) { struct mbuf *m; - + unsigned long flags = (unsigned long)arg; + m = (struct mbuf *)mem; - if ((m->m_flags & M_PKTHDR) != 0) + if ((flags & MB_NOTAGS) == 0 && (m->m_flags & M_PKTHDR) != 0) m_tag_delete_chain(m, NULL); KASSERT((m->m_flags & M_EXT) == 0, ("%s: M_EXT set", __func__)); #ifdef INVARIANTS @@ -378,7 +379,6 @@ KASSERT(m->m_ext.ext_args == NULL, ("%s: ext_args != NULL", __func__)); KASSERT(m->m_ext.ext_size == MCLBYTES, ("%s: ext_size != MCLBYTES", __func__)); KASSERT(m->m_ext.ext_type == EXT_PACKET, ("%s: ext_type != EXT_PACKET", __func__)); - KASSERT(*m->m_ext.ref_cnt == 1, ("%s: ref_cnt != 1", __func__)); #ifdef INVARIANTS trash_dtor(m->m_ext.ext_buf, MCLBYTES, arg); #endif @@ -404,7 +404,6 @@ mb_ctor_clust(void *mem, int size, void *arg, int how) { struct mbuf *m; - u_int *refcnt; int type; uma_zone_t zone; @@ -435,10 +434,7 @@ break; } - if (arg != NULL) { - refcnt = uma_find_refcnt(zone, mem); - *refcnt = 1; m = (struct mbuf *)arg; m->m_ext.ext_buf = (caddr_t)mem; m->m_data = m->m_ext.ext_buf; @@ -447,7 +443,7 @@ m->m_ext.ext_args = NULL; m->m_ext.ext_size = size; m->m_ext.ext_type = type; - m->m_ext.ref_cnt = refcnt; + m->m_ext.ref_cnt = NULL; /* lazy assignment */ } return (0); ==== //depot/projects/ethng/src/sys/kern/uipc_mbuf.c#3 (text+ko) ==== @@ -220,18 +220,40 @@ void mb_free_ext(struct mbuf *m) { + int skipmbuf; + int dofree; + u_int cnt; + KASSERT((m->m_flags & M_EXT) == M_EXT, ("%s: M_EXT not set", __func__)); - KASSERT(m->m_ext.ref_cnt != NULL, ("%s: ref_cnt not set", __func__)); + + /* Account for lazy ref count assign. */ + if (m->m_ext.ref_cnt == NULL) + dofree = 1; + else + dofree = 0; + + /* + * check if the header is embedded in the cluster + */ + skipmbuf = (m->m_flags & M_NOFREE); + + /* + * This is tricky. We need to make sure to decrement the + * refcount in a safe way but to also clean up if we're the + * last reference. This method seems to do it without race. + */ + while (dofree == 0) { + cnt = *(m->m_ext.ref_cnt); + if (atomic_cmpset_int(m->m_ext.ref_cnt, cnt, cnt - 1)) { + if (cnt == 1) + dofree = 1; + break; + } + } /* Free attached storage if this mbuf is the only reference to it. */ - if (*(m->m_ext.ref_cnt) == 1 || - atomic_fetchadd_int(m->m_ext.ref_cnt, -1) == 1) { + if (dofree) { switch (m->m_ext.ext_type) { - case EXT_PACKET: /* The packet zone is special. */ - if (*(m->m_ext.ref_cnt) == 0) - *(m->m_ext.ref_cnt) = 1; - uma_zfree(zone_pack, m); - return; /* Job done. */ case EXT_CLUSTER: uma_zfree(zone_clust, m->m_ext.ext_buf); break; @@ -263,6 +285,10 @@ ("%s: unknown ext_type", __func__)); } } + + if (skipmbuf) + return; + /* * Free this mbuf back to the mbuf zone with all m_ext * information purged. @@ -285,13 +311,9 @@ mb_dupcl(struct mbuf *n, struct mbuf *m) { KASSERT((m->m_flags & M_EXT) == M_EXT, ("%s: M_EXT not set", __func__)); - KASSERT(m->m_ext.ref_cnt != NULL, ("%s: ref_cnt not set", __func__)); KASSERT((n->m_flags & M_EXT) == 0, ("%s: M_EXT set", __func__)); - if (*(m->m_ext.ref_cnt) == 1) - *(m->m_ext.ref_cnt) += 1; - else - atomic_add_int(m->m_ext.ref_cnt, 1); + MEXT_ADD_REF(m); n->m_ext.ext_buf = m->m_ext.ext_buf; n->m_ext.ext_free = m->m_ext.ext_free; n->m_ext.ext_args = m->m_ext.ext_args; ==== //depot/projects/ethng/src/sys/sys/mbuf.h#6 (text+ko) ==== @@ -44,6 +44,48 @@ #endif #endif +/*- + * mbuf external reference count management macros. + * + * MEXT_IS_REF(m): true if (m) is not the only mbuf referencing + * the external buffer ext_buf. + * + * MEXT_REM_REF(m): remove reference to m_ext object. + * + * MEXT_ADD_REF(m): add reference to m_ext object already + * referred to by (m). XXX Note that it is VERY important that you + * always set the second mbuf's m_ext.ref_cnt to point to the first + * one's (i.e., n->m_ext.ref_cnt = m->m_ext.ref_cnt) AFTER you run + * MEXT_ADD_REF(m). This is because m might have a lazy initialized + * ref_cnt (NULL) before this is run and it will only be looked up + * from here. We should make MEXT_ADD_REF() always take two mbufs + * as arguments so that it can take care of this itself. + */ +#define MEXT_IS_REF(m) (((m)->m_ext.ref_cnt != NULL) \ + && (*((m)->m_ext.ref_cnt) > 1)) + +#define MEXT_REM_REF(m) do { \ + KASSERT((m)->m_ext.ref_cnt != NULL, ("m_ext refcnt lazy NULL")); \ + KASSERT(*((m)->m_ext.ref_cnt) > 0, ("m_ext refcnt < 0")); \ + atomic_subtract_int((m)->m_ext.ref_cnt, 1); \ +} while(0) + +#define MEXT_ADD_REF(m) do { \ + if ((m)->m_ext.ref_cnt == NULL) { \ + KASSERT((m)->m_ext.ext_type == EXT_CLUSTER || \ + (m)->m_ext.ext_type == EXT_PACKET || \ + (m)->m_ext.ext_type == EXT_JUMBOP || \ + (m)->m_ext.ext_type == EXT_JUMBO9 || \ + (m)->m_ext.ext_type == EXT_JUMBO16, \ + ("Unexpected mbuf type has lazy refcnt %d", \ + (m)->m_ext.ext_type)); \ + (m)->m_ext.ref_cnt = (u_int *)uma_find_refcnt( \ + zone_clust, (m)->m_ext.ext_buf); \ + *((m)->m_ext.ref_cnt) = 2; \ + } else \ + atomic_add_int((m)->m_ext.ref_cnt, 1); \ +} while (0) + /* * Mbufs are of a single size, MSIZE (sys/param.h), which includes overhead. * An mbuf may add a single "mbuf cluster" of size MCLBYTES (also in @@ -130,13 +172,13 @@ * Description of external storage mapped into mbuf; valid only if M_EXT is * set. */ -struct m_ext { +struct m_ext_ { caddr_t ext_buf; /* start of buffer */ void (*ext_free) /* free routine if not the usual */ (void *, void *); void *ext_args; /* optional argument pointer */ + volatile u_int *ref_cnt; /* pointer to ref count info */ u_int ext_size; /* size of buffer, for ext_free */ - volatile u_int *ref_cnt; /* pointer to ref count info */ int ext_type; /* type of external storage */ }; @@ -150,7 +192,7 @@ struct { struct pkthdr MH_pkthdr; /* M_PKTHDR set */ union { - struct m_ext MH_ext; /* M_EXT set */ + struct m_ext_ MH_ext; /* M_EXT set */ char MH_databuf[MHLEN]; } MH_dat; } MH; @@ -196,6 +238,7 @@ #define M_LASTFRAG 0x2000 /* packet is last fragment */ #define M_VLANTAG 0x10000 /* ether_vtag is valid */ #define M_PROMISC 0x20000 /* packet was not for us */ +#define M_NOFREE 0x40000 /* do not free the mbuf - its embedded in a cluster */ /* * External buffer types: identify ext_buf type. @@ -207,6 +250,8 @@ #define EXT_JUMBO16 5 /* jumbo cluster 16184 bytes */ #define EXT_PACKET 6 /* mbuf+cluster from packet zone */ #define EXT_MBUF 7 /* external mbuf reference (M_IOVEC) */ +#define EXT_IOVEC 8 +#define EXT_CLIOVEC 9 #define EXT_NET_DRV 100 /* custom ext_buf provided by net driver(s) */ #define EXT_MOD_TYPE 200 /* custom module's ext_buf type */ #define EXT_DISPOSABLE 300 /* can throw this buffer away w/page flipping */ @@ -251,6 +296,8 @@ #define MT_DATA 1 /* dynamic (data) allocation */ #define MT_HEADER MT_DATA /* packet header, use M_PKTHDR instead */ #define MT_SONAME 8 /* socket name */ +#define MT_IOVEC 9 +#define MT_CLIOVEC 10 #define MT_CONTROL 14 /* extra-data protocol message */ #define MT_OOBDATA 15 /* expedited data */ #define MT_NTYPES 16 /* number of mbuf types for mbtypes[] */ @@ -258,6 +305,9 @@ #define MT_NOINIT 255 /* Not a type but a flag to allocate a non-initialized mbuf */ +#define MB_NOTAGS 0x1UL + + /* * General mbuf allocator statistics structure. * @@ -339,7 +389,6 @@ extern uma_zone_t zone_mbuf; extern uma_zone_t zone_clust; -extern uma_zone_t zone_pack; extern uma_zone_t zone_jumbop; extern uma_zone_t zone_jumbo9; extern uma_zone_t zone_jumbo16; @@ -458,11 +507,7 @@ static __inline struct mbuf * m_getcl(int how, short type, int flags) { - struct mb_args args; - - args.flags = flags; - args.type = type; - return ((struct mbuf *)(uma_zalloc_arg(zone_pack, &args, how))); + return ((struct mbuf *)(m_getjcl(how, type, flags, MCLBYTES))); } /* @@ -501,12 +546,18 @@ if (m->m_flags & M_EXT) mb_free_ext(m); - else + else if ((m->m_flags & M_NOFREE) == 0) uma_zfree(zone_mbuf, m); return (n); } static __inline void +m_free_fast(struct mbuf *m) +{ + uma_zfree_arg(zone_mbuf, m, (void *)MB_NOTAGS); +} + +static __inline void m_clget(struct mbuf *m, int how) { @@ -514,14 +565,6 @@ printf("%s: %p mbuf already has cluster\n", __func__, m); m->m_ext.ext_buf = (char *)NULL; uma_zalloc_arg(zone_clust, m, how); - /* - * On a cluster allocation failure, drain the packet zone and retry, - * we might be able to loosen a few clusters up on the drain. - */ - if ((how & M_NOWAIT) && (m->m_ext.ext_buf == NULL)) { - zone_drain(zone_pack); - uma_zalloc_arg(zone_clust, m, how); - } } /* @@ -618,7 +661,7 @@ */ #define M_WRITABLE(m) (!((m)->m_flags & M_RDONLY) && \ (!(((m)->m_flags & M_EXT)) || \ - (*((m)->m_ext.ref_cnt) == 1)) ) \ + !MEXT_IS_REF(m))) \ /* Check if the supplied mbuf has a packet header, or else panic. */ #define M_ASSERTPKTHDR(m) \ From owner-p4-projects@FreeBSD.ORG Sun Sep 23 06:35:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 25A2816A41B; Sun, 23 Sep 2007 06:35:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD5DF16A417 for ; Sun, 23 Sep 2007 06:35:50 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D11B313C44B for ; Sun, 23 Sep 2007 06:35:50 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N6ZoOl024568 for ; Sun, 23 Sep 2007 06:35:50 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N6Zoqk024565 for perforce@freebsd.org; Sun, 23 Sep 2007 06:35:50 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 06:35:50 GMT Message-Id: <200709230635.l8N6Zoqk024565@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126712 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 06:35:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=126712 Change 126712 by kmacy@kmacy_home:ethng on 2007/09/23 06:35:48 switch over to handling buffers in terms of buffer aggregates rather than mbuf chain - reduces our mbuf working set as well as reducing the number of cache misses when doing tx cleaning - some residual fixes remain to be made for compatibility Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_adapter.h#18 edit .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#20 edit .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#22 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#4 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#3 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_adapter.h#18 (text+ko) ==== @@ -287,6 +287,9 @@ uint32_t txq_enqueued; unsigned long txq_frees; struct mtx lock; + struct sg_ent txq_sgl[TX_MAX_SEGS / 2 + 1]; + bus_dma_segment_t txq_segs[TX_MAX_SEGS]; + struct mbuf *txq_m_vec[TX_WR_COUNT_MAX]; #define TXQ_NAME_LEN 32 char lockbuf[TXQ_NAME_LEN]; }; @@ -535,12 +538,12 @@ void t3b_intr(void *data); void t3_intr_msi(void *data); void t3_intr_msix(void *data); -int t3_encap(struct sge_qset *, struct mbuf **, int, int *free); +int t3_encap(struct sge_qset *, struct mbuf **, int); int t3_sge_init_adapter(adapter_t *); int t3_sge_init_port(struct port_info *); void t3_sge_deinit_sw(adapter_t *); -int t3_free_tx_desc(struct sge_txq *q, int n, struct mbuf **m_vec, int m_vec_size, int *desc_reclaimed); +void t3_free_tx_desc(struct sge_txq *q, int n); void t3_rx_eth_lro(adapter_t *adap, struct sge_rspq *rq, struct mbuf *m, int ethpad, uint32_t rss_hash, uint32_t rss_csum, int lro); ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#20 (text+ko) ==== @@ -51,6 +51,7 @@ #include #include #include +#include #include #include @@ -213,11 +214,7 @@ * The driver uses an auto-queue algorithm by default. * To disable it and force a single queue-set per port, use singleq = 1. */ -#ifdef IFNET_MULTIQUEUE static int singleq = 0; -#else -static int singleq = 1; -#endif TUNABLE_INT("hw.cxgb.singleq", &singleq); SYSCTL_UINT(_hw_cxgb, OID_AUTO, singleq, CTLFLAG_RDTUN, &singleq, 0, "use a single queue-set per port"); @@ -639,14 +636,14 @@ { int i; + #ifdef IFNET_MULTIQUEUE cxgb_pcpu_shutdown_threads(sc); #endif - ADAPTER_LOCK(sc); - /* - * drops the lock - */ +/* + * drops the lock + */ cxgb_down_locked(sc); #ifdef MSI_SUPPORTED @@ -671,7 +668,7 @@ * Wait for last callout */ - tsleep(&sc, 0, "cxgb unload", 3*hz); + DELAY(hz*100); for (i = 0; i < (sc)->params.nports; ++i) { if (sc->portdev[i] != NULL) @@ -705,8 +702,6 @@ MTX_DESTROY(&sc->sge.reg_lock); MTX_DESTROY(&sc->elmer_lock); ADAPTER_LOCK_DEINIT(sc); - - return; } /** @@ -1027,6 +1022,9 @@ } ether_ifdetach(p->ifp); + printf("waiting for callout to stop ..."); + DELAY(10000); + printf("done\n"); /* * the lock may be acquired in ifdetach */ @@ -1586,11 +1584,6 @@ for (i = 0; i < sc->params.nports; i++) taskqueue_drain(sc->tq, &sc->port[i].timer_reclaim_task); } -#ifdef notyet - - if (sc->port[i].tq != NULL) -#endif - } static int @@ -1708,8 +1701,7 @@ device_printf(sc->dev, "enabling interrupts on port=%d\n", p->port_id); t3_port_intr_enable(sc, p->port_id); - callout_reset(&sc->cxgb_tick_ch, sc->params.stats_update_period * hz, - cxgb_tick, sc); + callout_reset(&sc->cxgb_tick_ch, hz, cxgb_tick, sc); ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; @@ -1736,7 +1728,6 @@ ADAPTER_LOCK_ASSERT_NOTOWNED(p->adapter); ifp = p->ifp; - t3_port_intr_disable(p->adapter, p->port_id); ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); p->phy.ops->power_down(&p->phy, 1); @@ -1819,8 +1810,7 @@ if (ifp->if_drv_flags & IFF_DRV_RUNNING) { adapter_t *sc = p->adapter; - callout_reset(&sc->cxgb_tick_ch, - sc->params.stats_update_period * hz, + callout_reset(&sc->cxgb_tick_ch, hz, cxgb_tick, sc); } PORT_UNLOCK(p); @@ -1875,42 +1865,24 @@ cxgb_tx_common(struct ifnet *ifp, struct sge_qset *qs, uint32_t txmax) { struct sge_txq *txq; - int err, in_use_init, count, i, free; - struct mbuf *m_vec[TX_WR_COUNT_MAX]; + int err, in_use_init, count, i; + struct mbuf **m_vec; txq = &qs->txq[TXQ_ETH]; + m_vec = txq->txq_m_vec; in_use_init = txq->in_use; err = 0; while ((txq->in_use - in_use_init < txmax) && (txq->size > txq->in_use + TX_MAX_DESC)) { - free = 0; count = cxgb_dequeue_packet(ifp, txq, m_vec); + if (count == 0) break; -#ifdef notyet - /* - * Convert chain to M_IOVEC - */ - KASSERT((m->m_flags & M_IOVEC) == 0, ("IOVEC set too early")); - m0 = m; - if (collapse_mbufs && m->m_pkthdr.len > MCLBYTES && - m_collapse(m, TX_MAX_SEGS, &m0) == EFBIG) { - if ((m0 = m_defrag(m, M_NOWAIT)) != NULL) { - m = m0; - m_collapse(m, TX_MAX_SEGS, &m0); - } else - break; - } - m = m0; -#endif - if ((err = t3_encap(qs, m_vec, count, &free)) != 0) + ETHER_BPF_MTAP(ifp, m_vec[0]); + + if ((err = t3_encap(qs, m_vec, count)) != 0) break; txq->txq_enqueued += count; - for (i = 0; i < count; i++) - BPF_MTAP(ifp, m_vec[i]); - if (free) - m_freem(m_vec[0]); - } #ifndef IFNET_MULTIQUEUE if (__predict_false(err)) { @@ -2154,12 +2126,26 @@ cxgb_tick(void *arg) { adapter_t *sc = (adapter_t *)arg; + int i, running = 0; + + for_each_port(sc, i) { + + struct port_info *p = &sc->port[i]; + struct ifnet *ifp = p->ifp; + PORT_LOCK(p); + + if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) + running = 1; + PORT_UNLOCK(p); + } + if (running == 0) + return; + taskqueue_enqueue(sc->tq, &sc->tick_task); if (sc->open_device_map != 0) - callout_reset(&sc->cxgb_tick_ch, sc->params.stats_update_period * hz, - cxgb_tick, sc); + callout_reset(&sc->cxgb_tick_ch, hz, cxgb_tick, sc); } static void ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#22 (text+ko) ==== @@ -57,18 +57,17 @@ #include #include +#include +#include + #ifdef CONFIG_DEFINED #include +#include #else #include +#include #endif -#include -#include - - - - uint32_t collapse_free = 0; uint32_t mb_free_vec_free = 0; int txq_fills = 0; @@ -76,14 +75,15 @@ static int bogus_imm = 0; #ifndef DISABLE_MBUF_IOVEC static int recycle_enable = 1; +#endif extern int cxgb_txq_mbuf_ring_size; -#endif + #define USE_GTS 0 #define SGE_RX_SM_BUF_SIZE 1536 #define SGE_RX_DROP_THRES 16 -#define SGE_RX_COPY_THRES MHLEN +#define SGE_RX_COPY_THRES 128 /* * Period of the Tx buffer reclaim timer. This timer does not need to run @@ -134,9 +134,7 @@ #define RSPQ_SOP_EOP G_RSPD_SOP_EOP(F_RSPD_SOP|F_RSPD_EOP) struct tx_sw_desc { /* SW state per Tx descriptor */ - struct mbuf *m[TX_WR_COUNT_MAX]; - - int count; + struct mbuf_iovec mi; bus_dmamap_t map; int flags; }; @@ -211,16 +209,15 @@ static __inline int reclaim_completed_tx(struct sge_txq *q, int nbufs, struct mbuf **mvec) { - int reclaimed, reclaim = desc_reclaimable(q); - int n = 0; + int reclaim = desc_reclaimable(q); mtx_assert(&q->lock, MA_OWNED); if (reclaim > 0) { - n = t3_free_tx_desc(q, reclaim, mvec, nbufs, &reclaimed); - q->cleaned += reclaimed; - q->in_use -= reclaimed; + t3_free_tx_desc(q, reclaim); + q->cleaned += reclaim; + q->in_use -= reclaim; } - return (n); + return (reclaim); } /** @@ -315,7 +312,7 @@ if (sopeop == RSPQ_NSOP_NEOP || sopeop == RSPQ_SOP) return (0); - m = m_gethdr(M_NOWAIT, MT_DATA); + m = m_gethdr(M_DONTWAIT, MT_DATA); len = G_RSPD_LEN(ntohl(resp->len_cq)); if (m) { @@ -423,11 +420,15 @@ q->polling = adap->params.rev > 0; - if (adap->params.nports > 2) + if (adap->params.nports > 2) { + q->coalesce_nsecs = 50000; + } else { +#ifdef INVARIANTS q->coalesce_nsecs = 50000; - else +#else q->coalesce_nsecs = 5000; - +#endif + } q->rspq_size = RSPQ_Q_SIZE; q->fl_size = FL_Q_SIZE; q->jumbo_size = JUMBO_Q_SIZE; @@ -832,6 +833,7 @@ callout_init(&sc->sge_timer_ch, CALLOUT_MPSAFE); callout_reset(&sc->sge_timer_ch, TX_RECLAIM_PERIOD, sge_timer_cb, sc); TASK_INIT(&sc->slow_intr_task, 0, sge_slow_intr_handler, sc); + mi_init(); return (0); } @@ -853,6 +855,8 @@ for (i = 0; i < sc->params.nports; i++) if (sc->port[i].tq != NULL) taskqueue_drain(sc->port[i].tq, &sc->port[i].timer_reclaim_task); + + mi_deinit(); } /** @@ -876,7 +880,7 @@ static __inline void sge_txq_reclaim_(struct sge_txq *txq) { - int reclaimable, i, n; + int reclaimable, n; struct mbuf *m_vec[TX_CLEAN_MAX_DESC]; struct port_info *pi; @@ -890,10 +894,14 @@ } if (n == 0) return; - +#if 0 + { + int i; for (i = 0; i < n; i++) { m_freem_vec(m_vec[i]); } + } +#endif if (pi && pi->ifp->if_drv_flags & IFF_DRV_OACTIVE && txq->size - txq->in_use >= TX_START_MAX_DESC) { txq_fills++; @@ -1018,7 +1026,7 @@ * packet. Ethernet packets require addition of WR and CPL headers. */ static __inline unsigned int -calc_tx_descs(const struct mbuf *m, int nsegs) +calc_tx_descs(const struct mbuf *m, int nsegs, int tsoinfo) { unsigned int flits; @@ -1027,7 +1035,7 @@ flits = sgl_len(nsegs) + 2; #ifdef TSO_SUPPORTED - if (m->m_pkthdr.csum_flags & (CSUM_TSO)) + if (tsoinfo) flits++; #endif return flits_to_desc(flits); @@ -1038,25 +1046,24 @@ struct tx_sw_desc *txsd, bus_dma_segment_t *segs, int *nsegs) { struct mbuf *m0; - int err, pktlen; + int err, pktlen, pass = 0; +retry: + err = 0; m0 = *m; pktlen = m0->m_pkthdr.len; +#if defined(__i386__) || defined(__amd64__) + if (busdma_map_sg_collapse(m, segs, nsegs) == 0) { + goto done; + } else +#endif + err = bus_dmamap_load_mvec_sg(txq->entry_tag, txsd->map, m0, segs, nsegs, 0); - err = bus_dmamap_load_mvec_sg(txq->entry_tag, txsd->map, m0, segs, nsegs, 0); -#ifdef DEBUG - if (err) { - int n = 0; - struct mbuf *mtmp = m0; - while(mtmp) { - n++; - mtmp = mtmp->m_next; - } - printf("map_mbufs: bus_dmamap_load_mbuf_sg failed with %d - pkthdr.len==%d nmbufs=%d\n", - err, m0->m_pkthdr.len, n); + if (err == 0) { + goto done; } -#endif - if (err == EFBIG) { + if (err == EFBIG && pass == 0) { + pass = 1; /* Too many segments, try to defrag */ m0 = m_defrag(m0, M_DONTWAIT); if (m0 == NULL) { @@ -1065,22 +1072,20 @@ return (ENOBUFS); } *m = m0; - err = bus_dmamap_load_mbuf_sg(txq->entry_tag, txsd->map, m0, segs, nsegs, 0); - } - - if (err == ENOMEM) { + goto retry; + } else if (err == ENOMEM) { return (err); - } - - if (err) { + } if (err) { if (cxgb_debug) printf("map failure err=%d pktlen=%d\n", err, pktlen); - m_freem_vec(m0); + m_freem(m0); *m = NULL; return (err); } - +done: +#if !defined(__i386__) && !defined(__amd64__) bus_dmamap_sync(txq->entry_tag, txsd->map, BUS_DMASYNC_PREWRITE); +#endif txsd->flags |= TX_SW_DESC_MAPPED; return (0); @@ -1101,12 +1106,19 @@ { int i, idx; - for (idx = 0, i = 0; i < nsegs; i++, idx ^= 1) { + for (idx = 0, i = 0; i < nsegs; i++) { + /* + * firmware doesn't like empty segments + */ + if (segs[i].ds_len == 0) + continue; if (i && idx == 0) ++sgp; - + sgp->len[idx] = htobe32(segs[i].ds_len); sgp->addr[idx] = htobe64(segs[i].ds_addr); + + idx ^= 1; } if (idx) @@ -1225,8 +1237,7 @@ * is freed all clusters will be freed * with it */ - txsd->m[0] = NULL; - txsd->count = 0; + txsd->mi.mi_base = NULL; wrp = (struct work_request_hdr *)txd; wrp->wr_hi = htonl(V_WR_DATATYPE(1) | V_WR_SGLSFLT(1)) | wr_hi; @@ -1243,7 +1254,13 @@ } } - +static void +dump_mi(struct mbuf_iovec *mi) +{ + DPRINTF("mi_flags=0x%08x mi_data=%p mi_len=%d mi_type=%d\n", + mi->mi_flags, mi->mi_base + mi->mi_offset, mi->mi_len, mi->mi_type); +} + /* sizeof(*eh) + sizeof(*vhdr) + sizeof(*ip) + sizeof(*tcp) */ #define TCPPKTHDRSIZE (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + 20 + 20) @@ -1253,12 +1270,19 @@ if ((m)->m_flags & M_VLANTAG) \ cntrl |= F_TXPKT_VLAN_VLD | V_TXPKT_VLAN((m)->m_pkthdr.ether_vtag); \ } while (0) + +#define GET_VTAG_MI(cntrl, mi) \ +do { \ + if ((mi)->mi_flags & M_VLANTAG) \ + cntrl |= F_TXPKT_VLAN_VLD | V_TXPKT_VLAN((mi)->mi_ether_vtag); \ +} while (0) #else #define GET_VTAG(cntrl, m) +#define GET_VTAG_MI(cntrl, m) #endif int -t3_encap(struct sge_qset *qs, struct mbuf **m, int count, int *free) +t3_encap(struct sge_qset *qs, struct mbuf **m, int count) { adapter_t *sc; struct mbuf *m0; @@ -1270,16 +1294,14 @@ struct work_request_hdr *wrp; struct tx_sw_desc *txsd; - struct sg_ent *sgp, sgl[TX_MAX_SEGS / 2 + 1]; - bus_dma_segment_t segs[TX_MAX_SEGS]; + struct sg_ent *sgp, *sgl; + bus_dma_segment_t *segs; uint32_t wr_hi, wr_lo, sgl_flits; struct tx_desc *txd; - - -#if defined(IFNET_MULTIQUEUE) && defined(STRICT_AFFINITY) - KASSERT(qs->qs_cpuid == curcpu, ("cpu qset mismatch cpuid=%d curcpu=%d", qs->qs_cpuid, curcpu)); -#endif + struct mbuf_vec *mv; + struct mbuf_iovec *mi; + DPRINTF("t3_encap cpu=%d ", curcpu); pi = qs->port; @@ -1287,47 +1309,62 @@ txq = &qs->txq[TXQ_ETH]; txsd = &txq->sdesc[txq->pidx]; txd = &txq->desc[txq->pidx]; - + sgl = txq->txq_sgl; + segs = txq->txq_segs; + m0 = *m; DPRINTF("t3_encap port_id=%d qsidx=%d ", pi->port_id, pi->first_qset); DPRINTF("mlen=%d txpkt_intf=%d tx_chan=%d\n", m[0]->m_pkthdr.len, pi->txpkt_intf, pi->tx_chan); - /* - * XXX handle checksum, TSO, and VLAN here - * - */ + cntrl = V_TXPKT_INTF(pi->txpkt_intf); - - /* - * XXX need to add VLAN support for 6.x - */ +/* + * XXX need to add VLAN support for 6.x + */ #ifdef VLAN_SUPPORTED - if (m[0]->m_pkthdr.csum_flags & (CSUM_TSO)) - tso_info = V_LSO_MSS(m[0]->m_pkthdr.tso_segsz); + if (m0->m_pkthdr.csum_flags & (CSUM_TSO)) + tso_info = V_LSO_MSS(m0->m_pkthdr.tso_segsz); #endif - txsd->count = count; if (count > 1) { + if ((err = busdma_map_sg_vec(m, &m0, segs, count))) + return (err); + nsegs = count; + } else if ((err = busdma_map_sg_collapse(&m0, segs, &nsegs))) { + printf("failed ... err=%d\n", err); + return (err); + } + if (m0->m_type == MT_DATA) { + DPRINTF("mbuf type=%d tags:%d head=%p", m0->m_type, !SLIST_EMPTY(&m0->m_pkthdr.tags), + SLIST_FIRST(&m0->m_pkthdr.tags)); + mi_collapse_mbuf(&txsd->mi, m0); + } else { + mv = mtomv(m0); + txsd->mi.mi_flags = m0->m_flags; + txsd->mi.mi_base = (caddr_t)m0; + txsd->mi.mi_type = m0->m_type; + txsd->mi.mi_len = m0->m_pkthdr.len; + } + mi = &txsd->mi; + dump_mi(&txsd->mi); + + if (count > 1) { struct cpl_tx_pkt_batch *cpl_batch = (struct cpl_tx_pkt_batch *)txd; - int i; - + int i, fidx; + wrp = (struct work_request_hdr *)txd; - + flits = count*2 + 1; txq_prod(txq, 1, &txqs); - for (i = 0; i < count; i++) { + for (fidx = 1, i = 0; i < count; i++, mi++, fidx += 2) { struct cpl_tx_pkt_batch_entry *cbe = &cpl_batch->pkt_entry[i]; - - cntrl = V_TXPKT_INTF(pi->port_id); - GET_VTAG(cntrl, m[i]); - cntrl |= V_TXPKT_OPCODE(CPL_TX_PKT) | (1 << 24); + + cntrl = V_TXPKT_INTF(pi->txpkt_intf); + GET_VTAG_MI(cntrl, mi); + cntrl |= V_TXPKT_OPCODE(CPL_TX_PKT); cbe->cntrl = htonl(cntrl); - cbe->len = htonl(m[i]->m_pkthdr.len | 0x80000000); - m_set_priority(m[i], txqs.pidx); - txsd->m[i] = m[i]; - /* - * XXX - NOT PORTABLE outside of x86 - */ - cbe->addr = htobe64(pmap_kextract(mtod(m[i], vm_offset_t))); + cbe->len = htonl(mi->mi_len | 0x80000000); + txd->flit[fidx] |= htobe64(1 << 24); + cbe->addr = htobe64(segs[i].ds_addr); } wrp->wr_hi = htonl(F_WR_SOP | F_WR_EOP | V_WR_DATATYPE(1) | @@ -1345,24 +1382,27 @@ struct cpl_tx_pkt_lso *hdr = (struct cpl_tx_pkt_lso *)txd; struct ip *ip; struct tcphdr *tcp; - char *pkthdr, tmp[TCPPKTHDRSIZE]; /* is this too large for the stack? */ + char *pkthdr; txd->flit[2] = 0; - m0 = m[0]; - GET_VTAG(cntrl, m0); + GET_VTAG_MI(cntrl, mi); cntrl |= V_TXPKT_OPCODE(CPL_TX_PKT_LSO); hdr->cntrl = htonl(cntrl); mlen = m0->m_pkthdr.len; hdr->len = htonl(mlen | 0x80000000); - if (__predict_false(m0->m_len < TCPPKTHDRSIZE)) { - pkthdr = &tmp[0]; - m_copydata(m0, 0, TCPPKTHDRSIZE, pkthdr); - } else { - pkthdr = mtod(m0, char *); - } + DPRINTF("tso buf len=%d\n", mlen); + if (__predict_false(mi->mi_len < TCPPKTHDRSIZE)) { + /* + * XXX + * + */ + pkthdr = NULL; + panic("discontig packet - fixxorz"); + } else + pkthdr = m0->m_data; - if (__predict_false(m0->m_flags & M_VLANTAG)) { + if (__predict_false(mi->mi_flags & M_VLANTAG)) { eth_type = CPL_ETH_II_VLAN; ip = (struct ip *)(pkthdr + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN); @@ -1380,9 +1420,8 @@ flits = 3; } else { struct cpl_tx_pkt *cpl = (struct cpl_tx_pkt *)txd; - - m0 = m[0]; - GET_VTAG(cntrl, m0); + + GET_VTAG_MI(cntrl, mi); cntrl |= V_TXPKT_OPCODE(CPL_TX_PKT); cpl->cntrl = htonl(cntrl); mlen = m0->m_pkthdr.len; @@ -1390,13 +1429,23 @@ if (mlen <= WR_LEN - sizeof(*cpl)) { txq_prod(txq, 1, &txqs); - txq->sdesc[txqs.pidx].count = 0; - if (m0->m_len == m0->m_pkthdr.len) - memcpy(&txd->flit[2], mtod(m0, uint8_t *), mlen); - else + DPRINTF("mlen==%d max=%ld\n", mlen, (WR_LEN - sizeof(*cpl))); + if (mi->mi_type != MT_IOVEC && + mi->mi_type != MT_CLIOVEC) + memcpy(&txd->flit[2], mi_data(mi), mlen); + else { + /* + * XXX mbuf_iovec + */ +#if 0 m_copydata(m0, 0, mlen, (caddr_t)&txd->flit[2]); - *free = 1; +#endif + printf("bailing on m_copydata\n"); + } + m_freem_iovec(&txsd->mi); + txsd->mi.mi_base = NULL; + flits = (mlen + 7) / 8 + 2; cpl->wr.wr_hi = htonl(V_WR_BCNTLFLT(mlen & 7) | V_WR_OP(FW_WROPCODE_TUNNEL_TX_PKT) | @@ -1407,17 +1456,24 @@ wr_gen2(txd, txqs.gen); check_ring_tx_db(sc, txq); + DPRINTF("pio buf\n"); return (0); } + DPRINTF("regular buf\n"); flits = 2; } wrp = (struct work_request_hdr *)txd; - - if ((err = busdma_map_mbufs(m, txq, txsd, segs, &nsegs)) != 0) { + +#ifdef nomore + /* + * XXX need to move into one of the helper routines above + * + */ + if ((err = busdma_map_mbufs(m, txq, txsd, segs, &nsegs)) != 0) return (err); - } m0 = *m; - ndesc = calc_tx_descs(m0, nsegs); +#endif + ndesc = calc_tx_descs(mi, nsegs, tso_info); sgp = (ndesc == 1) ? (struct sg_ent *)&txd->flit[flits] : sgl; make_sgl(sgp, segs, nsegs); @@ -1426,16 +1482,16 @@ DPRINTF("make_sgl success nsegs==%d ndesc==%d\n", nsegs, ndesc); txq_prod(txq, ndesc, &txqs); - txsd = &txq->sdesc[txqs.pidx]; wr_hi = htonl(V_WR_OP(FW_WROPCODE_TUNNEL_TX_PKT) | txqs.compl); wr_lo = htonl(V_WR_TID(txq->token)); - txsd->count = count; - txsd->m[0] = m0; - m_set_priority(m0, txqs.pidx); - write_wr_hdr_sgl(ndesc, txd, &txqs, txq, sgl, flits, sgl_flits, wr_hi, wr_lo); check_ring_tx_db(pi->adapter, txq); + if ((m0->m_type == MT_DATA) && (m0->m_flags & M_EXT)) { + m0->m_flags = 0; + m_free(m0); + } + return (0); } @@ -1798,13 +1854,11 @@ * * Returns number of buffers of reclaimed */ -int -t3_free_tx_desc(struct sge_txq *q, int reclaimable, struct mbuf **m_vec, - int m_vec_size, int *desc_reclaimed) +void +t3_free_tx_desc(struct sge_txq *q, int reclaimable) { struct tx_sw_desc *txsd; unsigned int cidx; - int i, iter, reclaimed, nbufs; #ifdef T3_TRACE T3_TRACE2(sc->tb[q->cntxt_id & 7], @@ -1812,30 +1866,29 @@ #endif cidx = q->cidx; txsd = &q->sdesc[cidx]; - prefetch(txsd); - reclaimed = nbufs = 0; - for (iter = reclaimed = 0; reclaimed < reclaimable; iter++) { - if ((iter & 0x1) == 0) { - prefetch(txsd + 1); - prefetch(txsd + 2); - prefetch(txsd + 3); - prefetch(txsd + 4); - } + DPRINTF("reclaiming %d WR\n", reclaimable); + while (reclaimable--) { DPRINTF("cidx=%d d=%p\n", cidx, txsd); - if (txsd->count > 0) { - if (nbufs + txsd->count > m_vec_size) - break; + if (txsd->mi.mi_base != NULL) { if (txsd->flags & TX_SW_DESC_MAPPED) { bus_dmamap_unload(q->entry_tag, txsd->map); txsd->flags &= ~TX_SW_DESC_MAPPED; } - for (i = 0; i < txsd->count; i++, nbufs++) { - prefetch(txsd->m[i]); - m_vec[nbufs] = txsd->m[i]; - } - txsd->count = 0; +#ifdef notyet + critical_enter(); + /* + * transfer mbuf_vec contents to cpu local ring + * XXX + * + */ + critical_exit(); +#else + m_freem_iovec(&txsd->mi); +#endif -#ifdef DIAGNOSTIC + txsd->mi.mi_base = NULL; + +#if defined(DIAGNOSTIC) && 0 if (m_get_priority(txsd->m[0]) != cidx) printf("pri=%d cidx=%d\n", (int)m_get_priority(txsd->m[0]), cidx); #endif @@ -1848,12 +1901,9 @@ cidx = 0; txsd = q->sdesc; } - reclaimed++; } - *desc_reclaimed = reclaimed; q->cidx = cidx; - return (nbufs); } /** @@ -1905,8 +1955,7 @@ struct txq_state txqs; if (immediate(m)) { - q->sdesc[pidx].m[0] = NULL; - q->sdesc[pidx].count = 0; + q->sdesc[pidx].mi.mi_base = NULL; write_imm(d, m, m->m_len, gen); return; } @@ -1970,7 +2019,7 @@ unsigned int pidx, gen; struct mbuf *m_vec[TX_CLEAN_MAX_DESC]; bus_dma_segment_t segs[TX_MAX_SEGS]; - int i, cleaned; + int cleaned; struct tx_sw_desc *stx = &q->sdesc[q->pidx]; mtx_lock(&q->lock); @@ -2009,10 +2058,14 @@ write_ofld_wr(adap, m, q, pidx, gen, ndesc, segs, nsegs); check_ring_tx_db(adap, q); - +#if 0 + { + int i; for (i = 0; i < cleaned; i++) { m_freem_vec(m_vec[i]); } + } +#endif return (0); } @@ -2025,15 +2078,14 @@ static void restart_offloadq(void *data, int npending) { - struct mbuf *m; struct sge_qset *qs = data; struct sge_txq *q = &qs->txq[TXQ_OFLD]; adapter_t *adap = qs->port->adapter; struct mbuf *m_vec[TX_CLEAN_MAX_DESC]; bus_dma_segment_t segs[TX_MAX_SEGS]; - int nsegs, i, cleaned; struct tx_sw_desc *stx = &q->sdesc[q->pidx]; + int nsegs, cleaned; mtx_lock(&q->lock); again: cleaned = reclaim_completed_tx(q, TX_CLEAN_MAX_DESC, m_vec); @@ -2076,10 +2128,12 @@ #endif t3_write_reg(adap, A_SG_KDOORBELL, F_SELEGRCNTX | V_EGRCNTX(q->cntxt_id)); +#if 0 for (i = 0; i < cleaned; i++) { m_freem_vec(m_vec[i]); } +#endif } /** @@ -2408,7 +2462,9 @@ m->m_pkthdr.rcvif = ifp; m->m_pkthdr.header = mtod(m, uint8_t *) + sizeof(*cpl) + ethpad; +#ifndef DISABLE_MBUF_IOVEC m_explode(m); +#endif /* * adjust after conversion to mbuf chain */ @@ -2677,8 +2733,7 @@ } else if (flags & F_RSPD_IMM_DATA_VALID) { #ifdef DISABLE_MBUF_IOVEC - if (cxgb_debug) - printf("IMM DATA VALID opcode=0x%x rspq->cidx=%d\n", r->rss_hdr.opcode, rspq->cidx); + printf("IMM DATA VALID opcode=0x%x rspq->cidx=%d\n", r->rss_hdr.opcode, rspq->cidx); if(get_imm_packet(adap, r, &rspq->rspq_mh) == 0) { rspq->next_holdoff = NOMEM_INTR_DELAY; @@ -2692,7 +2747,7 @@ if (rspq->rspq_mbuf == NULL) rspq->rspq_mbuf = m_gethdr(M_DONTWAIT, MT_DATA); - else + else m = m_gethdr(M_DONTWAIT, MT_DATA); /* @@ -2713,29 +2768,27 @@ #ifdef DISABLE_MBUF_IOVEC struct mbuf *m; - m = m_gethdr(M_NOWAIT, MT_DATA); + m = m_gethdr(M_DONTWAIT, MT_DATA); if (m == NULL) { log(LOG_WARNING, "failed to get mbuf for packet\n"); break; + } else { + m->m_next = m->m_nextpkt = NULL; } eop = get_packet(adap, drop_thresh, qs, &rspq->rspq_mh, r, m); #else - if (rspq->rspq_mbuf == NULL) + if (rspq->rspq_mbuf == NULL) rspq->rspq_mbuf = m_gethdr(M_DONTWAIT, MT_DATA); if (rspq->rspq_mbuf == NULL) { + rspq->next_holdoff = NOMEM_INTR_DELAY; log(LOG_WARNING, "failed to get mbuf for packet\n"); break; + } else { + rspq->rspq_mbuf->m_pkthdr.rss_hash = rss_hash; + rspq->rspq_mbuf->m_next = rspq->rspq_mbuf->m_nextpkt = NULL; } - if (rspq->rspq_mbuf == NULL) { - if ((rspq->rspq_mbuf = m_gethdr(M_DONTWAIT, MT_DATA)) == NULL) { - DPRINTF("0x%x:%d\n", rss_hash & ((1<<7)-1), curcpu); - rspq->next_holdoff = NOMEM_INTR_DELAY; - break; - } else - rspq->rspq_mbuf->m_pkthdr.rss_hash = rss_hash; - } eop = get_packet(adap, drop_thresh, qs, rspq->rspq_mbuf, r); #endif ethpad = 2; @@ -2743,7 +2796,6 @@ DPRINTF("pure response\n"); rspq->pure_rsps++; } - if (flags & RSPD_CTRL_MASK) { sleeping |= flags & RSPD_GTS_MASK; handle_rsp_cntrl_info(qs, flags); @@ -2757,7 +2809,6 @@ rspq->gen ^= 1; r = rspq->desc; } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Sep 23 06:39:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAE2316A469; Sun, 23 Sep 2007 06:39:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6A79216A417 for ; Sun, 23 Sep 2007 06:39:56 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 56E5513C46A for ; Sun, 23 Sep 2007 06:39:56 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N6duU2024842 for ; Sun, 23 Sep 2007 06:39:56 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N6dtY9024839 for perforce@freebsd.org; Sun, 23 Sep 2007 06:39:55 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 06:39:55 GMT Message-Id: <200709230639.l8N6dtY9024839@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126713 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 06:39:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=126713 Change 126713 by kmacy@kmacy_home:ethng on 2007/09/23 06:39:15 set MINCLSIZE to cxgb max PIO size Affected files ... .. //depot/projects/ethng/src/sys/amd64/conf/MULTIQ#4 edit Differences ... ==== //depot/projects/ethng/src/sys/amd64/conf/MULTIQ#4 (text+ko) ==== @@ -212,5 +212,5 @@ options ALT_BREAK_TO_DEBUGGER #options LOCK_PROFILING options HWPMC_HOOKS -options MINCLSIZE 48 +options MINCLSIZE=104 From owner-p4-projects@FreeBSD.ORG Sun Sep 23 06:57:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C98F16A420; Sun, 23 Sep 2007 06:57:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27A0916A417 for ; Sun, 23 Sep 2007 06:57:19 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1C43713C474 for ; Sun, 23 Sep 2007 06:57:19 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8N6vIfM026120 for ; Sun, 23 Sep 2007 06:57:18 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8N6vIXl026117 for perforce@freebsd.org; Sun, 23 Sep 2007 06:57:18 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 23 Sep 2007 06:57:18 GMT Message-Id: <200709230657.l8N6vIXl026117@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126714 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 06:57:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=126714 Change 126714 by kmacy@kmacy_home:ethng on 2007/09/23 06:56:32 add room to 9k jumbo from for headers - keep name for compatibility Affected files ... .. //depot/projects/ethng/src/sys/sys/param.h#2 edit Differences ... ==== //depot/projects/ethng/src/sys/sys/param.h#2 (text+ko) ==== @@ -142,7 +142,7 @@ #define MCLBYTES (1 << MCLSHIFT) /* size of an mbuf cluster */ #define MJUMPAGESIZE PAGE_SIZE /* jumbo cluster 4k */ -#define MJUM9BYTES (9 * 1024) /* jumbo cluster 9k */ +#define MJUM9BYTES (10 * 1024) /* jumbo cluster 9k */ #define MJUM16BYTES (16 * 1024) /* jumbo cluster 16k */ /* From owner-p4-projects@FreeBSD.ORG Sun Sep 23 11:59:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5402D16A41B; Sun, 23 Sep 2007 11:59:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1934816A41A for ; Sun, 23 Sep 2007 11:59:48 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 012FA13C45D for ; Sun, 23 Sep 2007 11:59:48 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NBxmGM064314 for ; Sun, 23 Sep 2007 11:59:48 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NBxmcJ064311 for perforce@freebsd.org; Sun, 23 Sep 2007 11:59:48 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 11:59:48 GMT Message-Id: <200709231159.l8NBxmcJ064311@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126719 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 11:59:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=126719 Change 126719 by hselasky@hselasky_laptop001 on 2007/09/23 11:59:42 FYI; The comments follow the P4 diff from top to bottom. - change return type of "ugen_allocate_blocks()" - "ugen_allocate_blocks()" is now called unlocked - rename "__usbd_transfer_setup()" to "ugen_transfer_setup()" - "ugen_transfer_setup()" now also allocate buffer memory by calling "ugen_allocate_blocks()". - new function "ugen_usb_uiomove()" that transfers memory directly between an USB transfer and UIO - rename "__uiomove()" into "ugen_uiomove()". - updated several "flags |= XXX" to "flags.xxx = 1". - the maximum frame size must be read from the USB transfer - all USB BULK/ISOC/INTR IN-transfers must setup "xfer->frlengths[]" before calling "usbd_start_hardware()". Else the actual length of the previous transfer will be used for transfer length of the next USB transfer. - updated several "flags & XXX" to "flags_int.xxx". - USB callbacks should return in case of "xfer->error == USBD_CANCELLED". - "usbreq_set_interface()" has been renamed "usbd_set_alt_interface_index()" to clearly show that this function does more than just an USB control request. - passing a mutex to "usbd_do_request_flags()" and all "usbreq_xxx()" functions is now mandatory. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ugen.c#21 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ugen.c#21 (text+ko) ==== @@ -66,8 +66,6 @@ #define UGEN_HW_FRAMES 50 /* number of milliseconds per transfer */ -#define ADD_BYTES(ptr,size) ((void *)(((u_int8_t *)(ptr)) + (size))) - struct ugen_frame_ring { u_int16_t input_index; u_int16_t output_index; @@ -295,7 +293,7 @@ } else { - *ptr = ADD_BYTES + *ptr = USBD_ADD_BYTES (ufr->buf, ufr->frame_size*ufr->input_index); @@ -318,7 +316,7 @@ } else { - *ptr = ADD_BYTES + *ptr = USBD_ADD_BYTES (ufr->buf, ufr->frame_size*ufr->output_index); @@ -327,21 +325,22 @@ return; } -static int +static usbd_status ugen_allocate_blocks(struct ugen_softc *sc, struct ugen_endpoint *sce, - u_int16_t context_bit, struct ugen_frame_ring *ufr, u_int16_t frames, u_int16_t frame_size) { void *ptr; + mtx_lock(&(sc->sc_mtx)); bzero(ufr, sizeof(*ufr)); + mtx_unlock(&(sc->sc_mtx)); if(frames == 0) { - return 0; + return USBD_INVAL; } /* one frame will always be unused @@ -350,37 +349,21 @@ */ frames++; - sce->state |= context_bit; - - mtx_unlock(&sc->sc_mtx); - ptr = malloc(frames*(frame_size + sizeof(u_int16_t)), M_USBDEV, M_WAITOK); - mtx_lock(&sc->sc_mtx); - - sce->state &= ~context_bit; - - if(sce->state & UGEN_CLOSING) - { - wakeup(sce); - if(ptr) - { - free(ptr, M_USBDEV); - ptr = NULL; - } - } - if(ptr == NULL) { - return 0; + return USBD_NOMEM; } + mtx_lock(&(sc->sc_mtx)); ufr->end_index = frames; ufr->frame_size = frame_size; - ufr->frlengths = ADD_BYTES(ptr, frames*frame_size); - ufr->buf = ADD_BYTES(ptr, 0); - return 1; + ufr->frlengths = USBD_ADD_BYTES(ptr, frames*frame_size); + ufr->buf = USBD_ADD_BYTES(ptr, 0); + mtx_unlock(&(sc->sc_mtx)); + return 0; } static void @@ -402,12 +385,19 @@ u_int8_t iface_index, struct usbd_xfer **pxfer, const struct usbd_config *setup, - u_int8_t n_setup) + u_int8_t n_setup, + uint16_t n_in_frames, + uint16_t n_out_frames) { struct usbd_xfer * temp[n_setup]; usbd_status error; + if ((n_out_frames > 0) && (n_in_frames > 0)) { + /* should not happen */ + return USBD_INVAL; + } + sce->state |= context_bit; mtx_unlock(&sc->sc_mtx); @@ -419,7 +409,22 @@ error = usbd_transfer_setup(udev, iface_index, &temp[0], setup, n_setup, sce, &(sc->sc_mtx)); + if (error == 0) { + if (n_in_frames > 0) { + error = ugen_allocate_blocks + (sc, sce, &(sce->in_queue), n_in_frames, + temp[0]->max_frame_size); + } else if (n_out_frames > 0) { + error = ugen_allocate_blocks + (sc, sce, &(sce->out_queue), n_out_frames, + temp[0]->max_frame_size); + } + if (error) { + usbd_transfer_unsetup(temp, n_setup); + } + } + mtx_lock(&sc->sc_mtx); if(sce->state & UGEN_CLOSING) @@ -445,7 +450,7 @@ } static int -__uiomove(struct ugen_softc *sc, struct ugen_endpoint *sce, +ugen_uiomove(struct ugen_softc *sc, struct ugen_endpoint *sce, u_int16_t context_bit, void *cp, int n, struct uio *uio) { @@ -474,6 +479,31 @@ } static int +ugen_usb_uiomove(struct ugen_softc *sc, struct ugen_endpoint *sce, + struct usbd_page_cache *pc, struct uio *uio, + uint32_t pc_offset, uint32_t len, uint16_t context_bit) +{ + int error; + + sce->state |= context_bit; + + mtx_unlock(&sc->sc_mtx); + + error = usbd_uiomove(pc, uio, pc_offset, len); + + mtx_lock(&sc->sc_mtx); + + sce->state &= ~context_bit; + + if(sce->state & UGEN_CLOSING) + { + wakeup(sce); + error = EINTR; + } + return error; +} + +static int ugenopen(struct cdev *dev, int flag, int mode, struct thread *p) { struct ugen_softc *sc = DEV2SC(dev); @@ -592,7 +622,6 @@ static int ugen_open_pipe_write(struct ugen_softc *sc, struct ugen_endpoint *sce) { - u_int16_t isize; usbd_status err; mtx_assert(&sc->sc_mtx, MA_OWNED); @@ -612,7 +641,6 @@ usbd_config[1].direction = UE_DIR_ANY; usbd_config[1].timeout = 1000; /* 1 second */ usbd_config[1].interval = 50; /* 50 milliseconds */ - usbd_config[1].flags = 0; usbd_config[1].bufsize = sizeof(usb_device_request_t); usbd_config[1].callback = &ugen_write_clear_stall_callback; @@ -622,18 +650,18 @@ usbd_config[0].callback = &ugen_default_write_callback; usbd_config[0].interval = USBD_DEFAULT_INTERVAL; usbd_config[0].timeout = sce->in_timeout; + usbd_config[0].flags.proxy_buffer = 1; switch(ed->bmAttributes & UE_XFERTYPE) { case UE_INTERRUPT: case UE_BULK: - usbd_config[0].flags = 0; usbd_config[0].bufsize = UGEN_BULK_BUFFER_SIZE; if(__usbd_transfer_setup (sc, sce, UGEN_WR_CFG, sc->sc_udev, sce->pipe_out->iface_index, - &sce->xfer_out[0], &usbd_config[0], 2)) + &sce->xfer_out[0], &usbd_config[0], 2, 0, 0)) { return (EIO); } @@ -643,11 +671,6 @@ break; case UE_ISOCHRONOUS: - isize = usbd_get_max_frame_size(ed); - - /* the maximum frame size is validated - * by "usbd_fill_iface_data()" - */ if(usbd_get_speed(sc->sc_udev) == USB_SPEED_HIGH) { @@ -658,15 +681,8 @@ sce->out_frames = UGEN_HW_FRAMES; } - if(ugen_allocate_blocks - (sc, sce, UGEN_WR_CFG, - &sce->out_queue, sce->out_frames * 10, isize) == 0) - { - return ENOMEM; - } - - usbd_config[0].flags = USBD_SHORT_XFER_OK; - usbd_config[0].bufsize = isize * sce->out_frames; + usbd_config[0].flags.short_xfer_ok = 1; + usbd_config[0].bufsize = 0; /* use default */ usbd_config[0].frames = sce->out_frames; usbd_config[0].callback = &ugenisoc_write_callback; usbd_config[0].timeout = 0; @@ -677,11 +693,11 @@ err = __usbd_transfer_setup (sc, sce, UGEN_WR_CFG, sc->sc_udev, sce->pipe_out->iface_index, - sce->xfer_out, usbd_config, 2); + sce->xfer_out, usbd_config, 2, + 0, 10 * sce->out_frames); if(err) { - ugen_free_blocks(&sce->out_queue); return (EIO); } break; @@ -702,7 +718,6 @@ static int ugen_open_pipe_read(struct ugen_softc *sc, struct ugen_endpoint *sce) { - int isize; usbd_status err; mtx_assert(&sc->sc_mtx, MA_OWNED); @@ -722,7 +737,6 @@ usbd_config[1].direction = UE_DIR_ANY; usbd_config[1].timeout = 1000; /* 1 second */ usbd_config[1].interval = 50; /* 50 milliseconds */ - usbd_config[1].flags = 0; usbd_config[1].bufsize = sizeof(usb_device_request_t); usbd_config[1].callback = &ugen_read_clear_stall_callback; @@ -730,30 +744,22 @@ usbd_config[0].endpoint = ed->bEndpointAddress & UE_ADDR; usbd_config[0].direction = UE_DIR_IN; usbd_config[0].timeout = sce->in_timeout; + usbd_config[0].flags.proxy_buffer = 1; switch(ed->bmAttributes & UE_XFERTYPE) { case UE_INTERRUPT: - isize = usbd_get_max_frame_size(ed); - usbd_config[0].flags = USBD_SHORT_XFER_OK; + usbd_config[0].flags.short_xfer_ok = 1; usbd_config[0].callback = &ugen_interrupt_callback; - usbd_config[0].bufsize = isize; + usbd_config[0].bufsize = 0; /* use "wMaxPacketSize" */ usbd_config[0].interval = USBD_DEFAULT_INTERVAL; usbd_config[0].timeout = 0; - if(ugen_allocate_blocks - (sc, sce, UGEN_RD_CFG, - &sce->in_queue, 1, isize) == 0) - { - return ENOMEM; - } - if(__usbd_transfer_setup (sc, sce, UGEN_RD_CFG, sc->sc_udev, sce->pipe_in->iface_index, - &sce->xfer_in[0], &usbd_config[0], 2)) + &sce->xfer_in[0], &usbd_config[0], 2, 1, 0)) { - ugen_free_blocks(&sce->in_queue); return (EIO); } @@ -765,15 +771,16 @@ break; case UE_BULK: - usbd_config[0].flags = ((sce->state & UGEN_SHORT_OK) ? - USBD_SHORT_XFER_OK : 0); + if (sce->state & UGEN_SHORT_OK) { + usbd_config[0].flags.short_xfer_ok = 1; + } usbd_config[0].callback = &ugen_default_read_callback; usbd_config[0].bufsize = UGEN_BULK_BUFFER_SIZE; if(__usbd_transfer_setup (sc, sce, UGEN_RD_CFG, sc->sc_udev, sce->pipe_in->iface_index, - &sce->xfer_in[0], &usbd_config[0], 2)) + &sce->xfer_in[0], &usbd_config[0], 2, 0, 0)) { return (EIO); } @@ -784,8 +791,6 @@ case UE_ISOCHRONOUS: - isize = usbd_get_max_frame_size(ed); - /* the maximum frame size is validated * by "usbd_fill_iface_data()" */ @@ -799,15 +804,8 @@ sce->in_frames = UGEN_HW_FRAMES; } - if(ugen_allocate_blocks - (sc, sce, UGEN_RD_CFG, - &sce->in_queue, sce->in_frames * 10, isize) == 0) - { - return ENOMEM; - } - - usbd_config[0].flags = USBD_SHORT_XFER_OK; - usbd_config[0].bufsize = isize * sce->in_frames; + usbd_config[0].flags.short_xfer_ok = 1; + usbd_config[0].bufsize = 0; /* use default */ usbd_config[0].frames = sce->in_frames; usbd_config[0].callback = &ugenisoc_read_callback; usbd_config[0].timeout = 0; @@ -819,11 +817,11 @@ err = __usbd_transfer_setup (sc, sce, UGEN_RD_CFG, sc->sc_udev, sce->pipe_in->iface_index, - sce->xfer_in, usbd_config, 2); + sce->xfer_in, usbd_config, 2, + sce->in_frames * 10, 0); if(err) { - ugen_free_blocks(&sce->in_queue); return (EIO); } @@ -891,7 +889,7 @@ } sce->in_timeout = USBD_NO_TIMEOUT; - sce->out_frame_size = -1; /* set maximum value */ + sce->out_frame_size = 0-1; /* set maximum value */ sce->io_buffer_size = UGEN_BULK_BUFFER_SIZE; /* set default value */ if((pipe->edesc->bEndpointAddress & @@ -1058,7 +1056,7 @@ PRINTFN(10, ("transferring %d bytes\n", len)); /* copy data to user memory */ - error = __uiomove(sc, sce, UGEN_RD_UIO, ptr, len, uio); + error = ugen_uiomove(sc, sce, UGEN_RD_UIO, ptr, len, uio); if(error) break; @@ -1090,13 +1088,13 @@ xfer = sce->xfer_in[0]; /* update length */ - xfer->length = n; + xfer->frlengths[0] = n; /* start transfer */ usbd_transfer_start(xfer); - while ((xfer->flags & USBD_DEV_TRANSFERRING) || - (sce->xfer_in[1]->flags & USBD_DEV_TRANSFERRING)) { + while ((xfer->flags_int.transferring) || + (sce->xfer_in[1]->flags_int.transferring)) { /* wait for data */ @@ -1133,9 +1131,10 @@ } PRINTFN(1, ("got %d of %d bytes\n", xfer->actlen, n)); - error = __uiomove - (sc, sce, UGEN_RD_UIO, - xfer->buffer, xfer->actlen, uio); + + error = ugen_usb_uiomove + (sc, sce, xfer->frbuffers + 0, uio, 0, + xfer->actlen, UGEN_RD_UIO); if(error || (xfer->actlen < n)) { @@ -1207,8 +1206,10 @@ #endif xfer = sce->xfer_out[0]; - error = __uiomove - (sc, sce, UGEN_WR_UIO, xfer->buffer, n, uio); + error = ugen_usb_uiomove + (sc, sce, xfer->frbuffers + 0, uio, + 0, n, UGEN_WR_UIO); + if(error) { break; @@ -1217,13 +1218,13 @@ PRINTFN(1, ("transferred %d bytes\n", n)); /* update length */ - xfer->length = n; + xfer->frlengths[0] = n; /* start transfer */ usbd_transfer_start(xfer); - while ((xfer->flags & USBD_DEV_TRANSFERRING) || - (sce->xfer_out[1]->flags & USBD_DEV_TRANSFERRING)) { + while ((xfer->flags_int.transferring) || + (sce->xfer_out[1]->flags_int.transferring)) { /* wait for data */ @@ -1316,7 +1317,7 @@ *plen = uio->uio_resid; } - error = __uiomove(sc, sce, UGEN_WR_UIO, ptr, *plen, uio); + error = ugen_uiomove(sc, sce, UGEN_WR_UIO, ptr, *plen, uio); if(error) break; @@ -1432,7 +1433,7 @@ } else { - bcopy(xfer->buffer, ptr, xfer->actlen); + usbd_copy_out(&(xfer->buf_data), 0, ptr, xfer->actlen); if(xfer->actlen > *plen) { @@ -1469,6 +1470,7 @@ if (sce->read_stall) { usbd_transfer_start(sce->xfer_in[1]); } else { + xfer->frlengths[0] = xfer->max_data_length; usbd_start_hardware(xfer); } return; @@ -1506,13 +1508,12 @@ ugenisoc_read_callback(struct usbd_xfer *xfer) { struct ugen_endpoint *sce = xfer->priv_sc; - u_int16_t *plen1; + u_int32_t *plen1; u_int16_t *plen2; - void *ptr1; void *ptr2; - u_int16_t isize; + uint32_t offset; u_int16_t n; USBD_CHECK_STATUS(xfer); @@ -1522,10 +1523,9 @@ PRINTFN(5,("actlen=%d\n", xfer->actlen)); plen1 = xfer->frlengths; - ptr1 = xfer->buffer; - isize = usbd_get_max_frame_size(sce->pipe_in->edesc); n = sce->in_frames; + offset = 0; while(n--) { if(*plen1 != 0) @@ -1542,14 +1542,15 @@ *plen1 = *plen2; } - bcopy(ptr1, ptr2, *plen1); + usbd_copy_out(xfer->frbuffers + 0, offset, + ptr2, *plen1); *plen2 = *plen1; ugen_inc_input_index(&sce->in_queue); } - ptr1 = ADD_BYTES(ptr1, isize); + offset += xfer->max_frame_size; plen1++; } @@ -1562,11 +1563,10 @@ tr_setup: tr_error: - isize = usbd_get_max_frame_size(sce->pipe_in->edesc); for(n = 0; n < sce->in_frames; n++) { /* setup size for next transfer */ - xfer->frlengths[n] = isize; + xfer->frlengths[n] = xfer->max_frame_size; } usbd_start_hardware(xfer); return; @@ -1576,24 +1576,26 @@ ugenisoc_write_callback(struct usbd_xfer *xfer) { struct ugen_endpoint *sce = xfer->priv_sc; - u_int16_t *plen1; - u_int16_t len2; - - void *ptr1; + uint32_t *plen1; void *ptr2; - u_int16_t isize; + uint32_t offset; + uint16_t len2; u_int16_t n; USBD_CHECK_STATUS(xfer); + tr_error: + if (xfer->error == USBD_CANCELLED) { + return; + } + tr_transferred: tr_setup: plen1 = xfer->frlengths; - ptr1 = xfer->buffer; - isize = usbd_get_max_frame_size(sce->pipe_out->edesc); + offset = 0; n = sce->out_frames; while(n--) { @@ -1604,18 +1606,17 @@ break; } - if(len2 > isize) - { - len2 = isize; + if (len2 > xfer->max_frame_size) { + len2 = xfer->max_frame_size; } - bcopy(ptr2, ptr1, len2); + usbd_copy_in(xfer->frbuffers + 0, offset, ptr2, len2); *plen1 = len2; ugen_inc_output_index(&sce->out_queue); - ptr1 = ADD_BYTES(ptr1, len2); + offset += len2; plen1++; } @@ -1631,9 +1632,7 @@ } selwakeuppri(&sce->selinfo, PZERO); - if(n) - { - tr_error: + if (n > 0) { usbd_start_hardware(xfer); } return; @@ -1671,7 +1670,7 @@ ugen_destroy_devnodes(sc, 1); /* change setting */ - if(usbreq_set_interface(sc->sc_udev, ifaceidx, altno)) + if(usbd_set_alt_interface_index(sc->sc_udev, ifaceidx, altno)) { return EIO; } @@ -1706,8 +1705,7 @@ } else { - if(usbreq_get_config_desc(udev, index, &cdescr)) - { + if (usbreq_get_config_desc(udev, NULL, &cdescr, index)) { return (0); } len = UGETW(cdescr.wTotalLength); @@ -1721,8 +1719,8 @@ { return 0; } - if(usbreq_get_config_desc_full(udev, index, cdesc, len)) - { + + if (usbreq_get_config_desc_full(udev, NULL, cdesc, len, index)) { free(cdesc, M_TEMP); return (0); } @@ -1749,6 +1747,7 @@ void *data = 0; int error = 0; int len; + uint16_t actlen; u_int8_t conf; u_int8_t alt; @@ -1803,9 +1802,9 @@ goto done; case USB_GET_FRAME_SIZE: - if(sce->pipe_in) + if(sce->xfer_in[0]) { - *(int *)addr = usbd_get_max_frame_size(sce->pipe_in->edesc); + *(int *)addr = sce->xfer_in[0]->max_frame_size; } else { @@ -1871,7 +1870,7 @@ break; #endif case USB_GET_CONFIG: - error = usbreq_get_config(sc->sc_udev, &conf); + error = usbreq_get_config(sc->sc_udev, NULL, &conf); if(error) { error = EIO; @@ -2020,10 +2019,10 @@ break; case USB_GET_STRING_DESC: #define si ((struct usb_string_desc *)addr) - if(usbreq_get_string_desc - (sc->sc_udev, si->usd_string_index, - si->usd_language_id, &si->usd_desc, NULL)) - { + if (usbreq_get_string_desc + (sc->sc_udev, NULL, &si->usd_desc, + sizeof(si->usd_desc), si->usd_language_id, + si->usd_string_index)) { error = EINVAL; break; } @@ -2080,11 +2079,14 @@ } } - if(usbd_do_request_flags - (sc->sc_udev, &ur->ucr_request, data, - (ur->ucr_flags & USBD_SHORT_XFER_OK), &ur->ucr_actlen, - USBD_DEFAULT_TIMEOUT)) - { + error = usbd_do_request_flags + (sc->sc_udev, NULL, &ur->ucr_request, data, + (ur->ucr_flags & USBD_SHORT_XFER_OK), &actlen, + USBD_DEFAULT_TIMEOUT); + + ur->ucr_actlen = actlen; + + if (error) { error = EIO; break; } @@ -2101,8 +2103,7 @@ break; case USB_GET_DEVICEINFO: - usbd_fill_deviceinfo(sc->sc_udev, - (struct usb_device_info *)addr, 1); + usbd_fill_deviceinfo(sc->sc_udev, (void *)addr); break; default: error = EINVAL; From owner-p4-projects@FreeBSD.ORG Sun Sep 23 12:34:32 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89AAD16A421; Sun, 23 Sep 2007 12:34:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A2F216A417 for ; Sun, 23 Sep 2007 12:34:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3125713C467 for ; Sun, 23 Sep 2007 12:34:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NCYVeZ067874 for ; Sun, 23 Sep 2007 12:34:31 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NCYVwK067871 for perforce@freebsd.org; Sun, 23 Sep 2007 12:34:31 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 12:34:31 GMT Message-Id: <200709231234.l8NCYVwK067871@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126720 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 12:34:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=126720 Change 126720 by hselasky@hselasky_laptop001 on 2007/09/23 12:34:22 FYI; The comments follow the P4 diff from top to bottom. - the maximum frame size must be read from the USB transfer - convert kernel USB flags (USBD_XXX) into a bitmap (scripted) - computing correct buffer sizes have been factored out into the USB kernel by setting the "proxy_buffer" flag. - "xfer->actlen < xfer->sumlen" is the new way to check if a USB transfer is short. - remove redundant setting of "xfer->length" for ISOC USB transfers. - proxy buffer data size is now stored in "xfer->max_data_length". - new mechanism to proxy USB control transfers Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#7 (text+ko) ==== @@ -753,7 +753,6 @@ usb_setup_endpoint(struct usb_device *dev, struct usb_host_endpoint *uhe, uint32_t bufsize) { struct usbd_config cfg[2]; - uint16_t mfs = usbd_get_max_frame_size((usb_endpoint_descriptor_t *)&(uhe->desc)); uint8_t type = uhe->desc.bmAttributes & UE_XFERTYPE; uint8_t addr = uhe->desc.bEndpointAddress; @@ -784,7 +783,8 @@ cfg[0].callback = &usb_linux_isoc_callback; cfg[0].bufsize = 0; /* use wMaxPacketSize */ cfg[0].frames = usb_max_isoc_frames(dev); - cfg[0].flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK); + cfg[0].flags.proxy_buffer = 1; + cfg[0].flags.short_xfer_ok = 1; bcopy(cfg + 0, cfg + 1, sizeof(*cfg)); @@ -802,16 +802,6 @@ bufsize = (1 << 22); } - /* we need enough room for the control header */ - if (bufsize < sizeof(usb_device_request_t)) { - bufsize = sizeof(usb_device_request_t); - } - - if (bufsize < mfs) { - /* we need to be able to hold at least one frame! */ - bufsize = mfs; - } - /* Allocate and setup one generic FreeBSD USB transfer */ cfg[0].type = type; @@ -819,7 +809,8 @@ cfg[0].direction = addr & (UE_DIR_OUT|UE_DIR_IN); cfg[0].callback = &usb_linux_non_isoc_callback; cfg[0].bufsize = bufsize; - cfg[0].flags = (USBD_USE_DMA|USBD_SHORT_XFER_OK); + cfg[0].flags.proxy_buffer = 1; + cfg[0].flags.short_xfer_ok = 1; if (usbd_transfer_setup(dev->bsd_udev, uhe->bsd_iface_index, uhe->bsd_xfer, cfg, 1, uhe, @@ -1359,7 +1350,7 @@ urb->actual_length = xfer->actlen; /* check for short transfer */ - if (xfer->actlen < xfer->length) { + if (xfer->actlen < xfer->sumlen) { /* short transfer */ if (urb->transfer_flags & URB_SHORT_NOT_OK) { urb->status = -EPIPE; /* XXX should be EREMOTEIO */ @@ -1431,10 +1422,9 @@ } xfer->priv_fifo = urb; - xfer->flags &= ~USBD_FORCE_SHORT_XFER; + xfer->flags.force_short_xfer = 0; xfer->timeout = urb->timeout; xfer->nframes = urb->number_of_packets; - xfer->length = offset; /* not really used */ usbd_start_hardware(xfer); return; } @@ -1448,10 +1438,13 @@ static void usb_linux_non_isoc_callback(struct usbd_xfer *xfer) { + enum { + REQ_SIZE = sizeof(usb_device_request_t) + }; struct urb *urb = xfer->priv_fifo; struct usb_host_endpoint *uhe = xfer->priv_sc; - uint32_t max_bulk = (uhe->fbsd_buf_size - - (uhe->fbsd_buf_size % xfer->max_packet_size)); + uint32_t max_bulk = xfer->max_data_length; + uint8_t data_frame = xfer->flags_int.control_xfr ? 1 : 0; USBD_CHECK_STATUS(xfer); @@ -1476,18 +1469,31 @@ tr_transferred: + if (xfer->flags_int.control_xfr) { + + /* sanity check - should not happen */ + + if (xfer->aframes < xfer->nframes) { + goto tr_error; + } + + /* don't transfer the setup packet again: */ + + xfer->frlengths[0] = 0; + } + if (urb->bsd_isread) { /* copy in data with regard to the URB */ - usbd_copy_out(&(xfer->buf_data), 0, - urb->bsd_data_ptr, xfer->actlen); + usbd_copy_out(xfer->frbuffers + data_frame, 0, + urb->bsd_data_ptr, xfer->frlengths[data_frame]); } - urb->bsd_length_rem -= xfer->actlen; - urb->bsd_data_ptr += xfer->actlen; - urb->actual_length += xfer->actlen; + urb->bsd_length_rem -= xfer->frlengths[data_frame]; + urb->bsd_data_ptr += xfer->frlengths[data_frame]; + urb->actual_length += xfer->frlengths[data_frame]; - /* check for short packet */ - if (xfer->actlen < xfer->length) { + /* check for short transfer */ + if (xfer->actlen < xfer->sumlen) { urb->bsd_length_rem = 0; /* short transfer */ @@ -1499,7 +1505,7 @@ } else { /* check remainder */ - if (urb->bsd_length_rem) { + if (urb->bsd_length_rem > 0) { goto setup_bulk; } @@ -1507,12 +1513,6 @@ urb->status = 0; } - /* check actual length */ - if (urb->actual_length > urb->transfer_buffer_length) { - /* premature end of a control transfer */ - urb->actual_length = 0; - } - /* call callback */ usb_linux_complete(xfer); @@ -1529,49 +1529,58 @@ urb->bsd_urb_list.tqe_prev = NULL; xfer->priv_fifo = urb; - xfer->flags &= ~USBD_FORCE_SHORT_XFER; + xfer->flags.force_short_xfer = 0; xfer->timeout = urb->timeout; - if ((uhe->desc.bmAttributes & UE_XFERTYPE) == UE_CONTROL) { - /* transfer the control header first and then the data, - * if any, to a control endpoint: + if (xfer->flags_int.control_xfr) { + + /* + * USB control transfers need special handling. + * First copy in the header, then copy in data! */ - usbd_copy_in(&(xfer->buf_data), 0, - urb->setup_packet, sizeof(usb_device_request_t)); - xfer->length = sizeof(usb_device_request_t); + usbd_copy_in(xfer->frbuffers + 0, 0, + urb->setup_packet, REQ_SIZE); + + xfer->frlengths[0] = REQ_SIZE; + + /* setup data transfer direction */ - urb->bsd_length_rem = xfer->length + urb->transfer_buffer_length; - urb->bsd_data_ptr = ((uint8_t *)(urb->transfer_buffer)) - xfer->length; - urb->actual_length = -xfer->length; urb->bsd_isread = (((uint8_t *)(urb->setup_packet))[0] & UT_READ) ? 1 : 0; - usbd_start_hardware(xfer); - return; + } else { + + /* setup data transfer direction */ + + urb->bsd_isread = (uhe->desc.bEndpointAddress & UE_DIR_IN) ? 1 : 0; } urb->bsd_length_rem = urb->transfer_buffer_length; urb->bsd_data_ptr = urb->transfer_buffer; urb->actual_length = 0; - urb->bsd_isread = (uhe->desc.bEndpointAddress & UE_DIR_IN) ? 1 : 0; setup_bulk: if (max_bulk > urb->bsd_length_rem) { max_bulk = urb->bsd_length_rem; } - if (max_bulk == urb->bsd_length_rem) { - if (urb->transfer_flags & URB_ZERO_PACKET) { - xfer->flags |= USBD_FORCE_SHORT_XFER; - } + /* check if we need to force a short transfer */ + + if ((max_bulk == urb->bsd_length_rem) && + (urb->transfer_flags & URB_ZERO_PACKET) && + (!xfer->flags_int.control_xfr)) { + xfer->flags.force_short_xfer = 1; } + /* check if we need to copy in data */ + if (!(urb->bsd_isread)) { /* copy out data with regard to the URB */ - usbd_copy_in(&(xfer->buf_data), 0, + usbd_copy_in(xfer->frbuffers + data_frame, 0, urb->bsd_data_ptr, max_bulk); } - xfer->length = max_bulk; + xfer->frlengths[data_frame] = max_bulk; + xfer->nframes = data_frame + 1; usbd_start_hardware(xfer); return; } From owner-p4-projects@FreeBSD.ORG Sun Sep 23 14:22:58 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEE3C16A420; Sun, 23 Sep 2007 14:22:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6DA0016A419 for ; Sun, 23 Sep 2007 14:22:57 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4FA7513C45D for ; Sun, 23 Sep 2007 14:22:57 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NEMvAB086180 for ; Sun, 23 Sep 2007 14:22:57 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NEMuZo086177 for perforce@freebsd.org; Sun, 23 Sep 2007 14:22:56 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 14:22:56 GMT Message-Id: <200709231422.l8NEMuZo086177@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126732 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 14:22:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=126732 Change 126732 by hselasky@hselasky_laptop001 on 2007/09/23 14:22:45 FYI; The comments follow the P4 diff from top to bottom. - check that "index" is zero before returning a match on the default pipe. - define all valid USB packet sizes in the "usbd_std_packet_size[][]" table. - new internal function "usbd_compute_max_frame_size()" that computes the frames size from the packet size. - new global function "usbd_transfer_setup_sub()" which performs common setup of "struct usbd_xfer" cross all host/device drivers. - changes to "usbd_transfer_setup()" are part of the USB transfer setup refactorisation. - remove all "usbd_xxx_copy_xxx()" functions. - new global function "usbd_std_root_transfer()" which is statemachine wrapper for BULK, CONTROL and INTERRUPT USB transfers that uses a linear buffer to transfer data for sake of convenience. - new internal function "usbd_start_hardware_sub()" which main purpose is to setup the correct state for split USB control transfers. Don't confuse this by the USB transaction translator. Split USB control transfers is here simply a way to transfer USB control data in smaller parts. - new internal function "usbd_premature_callback()" which is simply factored out code. - remove printing of "xfer->length", hence it does not exist any more. - transform "USBD_DEV_XXX" flags into "flags_int.xxx" - the check for "xfer->nframes == 0" has been factored out into "usbd_start_hardware()" - the "xfer->usb_mtx" mutex should not be held when calling "__usbd_callback()". - "usbd_transfer_done()" is now part of "usbd_transfer_dequeue()" - "usbd_do_request_callback()" is now an internal function. - "usbd_do_request()" is now a macro. - "usbd_do_request_flags()" now allocated a proxy USB transfer and uses this for all subsequent USB transfer. This also makes the control transfer function more reliable in low-memory environment, hence it does no longer depend on any memory allocation after USB enumeration. - all USB BULK/ISOC/INTR IN-transfers must setup "xfer->frlengths[]" before calling "usbd_start_hardware()". Else the actual length of the previous transfer will be used for transfer length of the next USB transfer. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#29 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#29 (text+ko) ==== @@ -199,7 +199,8 @@ */ if((setup->endpoint == 0) && (setup->type == 0) && - (udev->default_pipe.edesc)) { + (udev->default_pipe.edesc) && + (!index)) { pipe = &udev->default_pipe; goto found; } @@ -220,6 +221,416 @@ return (USBD_NORMAL_COMPLETION); } +static const struct usbd_std_packet_size { + struct { + uint16_t min; /* inclusive */ + uint16_t max; /* inclusive */ + } range; + + uint16_t fixed[4]; + +} usbd_std_packet_size[4][USB_SPEED_MAX] = { + + [UE_INTERRUPT] = { + [USB_SPEED_LOW] = { .range = { 0, 8 } }, + [USB_SPEED_FULL] = { .range = { 0, 64 } }, + [USB_SPEED_HIGH] = { .range = { 0, 1024 } }, + [USB_SPEED_VARIABLE] = { .range = { 0, 1024 } }, + }, + + [UE_CONTROL] = { + [USB_SPEED_LOW] = { .fixed = { 8, 8, 8, 8 } }, + [USB_SPEED_FULL] = { .fixed = { 8, 16, 32, 64 } }, + [USB_SPEED_HIGH] = { .fixed = { 64, 64, 64, 64 } }, + [USB_SPEED_VARIABLE] = { .fixed = { 512, 512, 512, 512 } }, + }, + + [UE_BULK] = { + [USB_SPEED_LOW] = { }, /* invalid (all zero) */ + [USB_SPEED_FULL] = { .fixed = { 8, 16, 32, 64 } }, + [USB_SPEED_HIGH] = { .fixed = { 512, 512, 512, 512 } }, + [USB_SPEED_VARIABLE] = { .fixed = { 512, 1024, 1536 } }, + }, + + [UE_ISOCHRONOUS] = { + [USB_SPEED_LOW] = { }, /* invalid (all zero) */ + [USB_SPEED_FULL] = { .range = { 0, 1023 } }, + [USB_SPEED_HIGH] = { .range = { 0, 1024 } }, + [USB_SPEED_VARIABLE] = { .range = { 0, 3584 } }, + }, +}; + +static void +usbd_compute_max_frame_size(struct usbd_xfer *xfer) +{ + /* compute maximum frame size */ + + if (xfer->max_packet_count == 2) { + xfer->max_frame_size = 2 * xfer->max_packet_size; + } else if (xfer->max_packet_count == 3) { + xfer->max_frame_size = 3 * xfer->max_packet_size; + } else { + xfer->max_frame_size = xfer->max_packet_size; + } + return; +} + +/*------------------------------------------------------------------------* + * usbd_transfer_setup_sub - transfer setup subroutine + *------------------------------------------------------------------------*/ +void +usbd_transfer_setup_sub(struct usbd_setup_params *parm) +{ + enum { REQ_SIZE = 8, + MIN_PKT = 8 }; + struct usbd_xfer *xfer = parm->curr_xfer; + const struct usbd_config *setup = parm->curr_setup; + usb_endpoint_descriptor_t *edesc; + struct usbd_std_packet_size std_size; + uint16_t n_frlengths; + uint16_t n_frbuffers; + uint8_t type; + uint8_t zmps; + + /* sanity check */ + + if ((parm->hc_max_packet_size == 0) || + (parm->hc_max_packet_count == 0) || + (parm->hc_max_frame_size == 0)) { + parm->err = USBD_INVAL; + goto done; + } + + edesc = xfer->pipe->edesc; + + type = (edesc->bmAttributes & UE_XFERTYPE); + + xfer->flags = setup->flags; + xfer->nframes = setup->frames; + xfer->timeout = setup->timeout; + xfer->callback = setup->callback; + xfer->interval = setup->interval; + xfer->endpoint = edesc->bEndpointAddress; + xfer->max_packet_size = UGETW(edesc->wMaxPacketSize); + xfer->max_packet_count = 1; + + parm->bufsize = setup->bufsize; + + if (parm->speed == USB_SPEED_HIGH) { + xfer->max_packet_count += (xfer->max_packet_size >> 11) & 3; + xfer->max_packet_size &= 0x7FF; + } + + /* range check "max_packet_count" */ + + if (xfer->max_packet_count > parm->hc_max_packet_count) { + xfer->max_packet_count = parm->hc_max_packet_count; + } + + /* filter "wMaxPacketSize" according to HC capabilities */ + + if (xfer->max_packet_size > parm->hc_max_packet_size) { + xfer->max_packet_size = parm->hc_max_packet_size; + } + + /* filter "wMaxPacketSize" according to standard sizes */ + + std_size = usbd_std_packet_size[type][parm->speed]; + + if (std_size.range.min || std_size.range.max) { + + if (xfer->max_packet_size < std_size.range.min) { + xfer->max_packet_size = std_size.range.min; + } + + if (xfer->max_packet_size > std_size.range.max) { + xfer->max_packet_size = std_size.range.max; + } + } else { + + if (xfer->max_packet_size >= std_size.fixed[3]) { + xfer->max_packet_size = std_size.fixed[3]; + } else if (xfer->max_packet_size >= std_size.fixed[2]) { + xfer->max_packet_size = std_size.fixed[2]; + } else if (xfer->max_packet_size >= std_size.fixed[1]) { + xfer->max_packet_size = std_size.fixed[1]; + } else { + /* only one possibility left */ + xfer->max_packet_size = std_size.fixed[0]; + } + } + + /* compute "max_frame_size" */ + + usbd_compute_max_frame_size(xfer); + + /* check interrupt interval and transfer pre-delay */ + + if (type == UE_ISOCHRONOUS) { + + uint32_t frame_limit; + + xfer->interval = 0; /* not used, must be zero */ + + if (xfer->timeout == 0) { + /* + * set a default timeout in + * case something goes wrong! + */ + xfer->timeout = 1000 / 4; + } + + if (parm->speed == USB_SPEED_HIGH) { + frame_limit = USB_MAX_HS_ISOC_FRAMES_PER_XFER; + } else { + frame_limit = USB_MAX_FS_ISOC_FRAMES_PER_XFER; + } + + if (xfer->nframes > frame_limit) { + /* + * this is not going to work + * cross hardware + */ + parm->err = USBD_INVAL; + goto done; + } + + n_frlengths = xfer->nframes; + n_frbuffers = 1; + + } else { + + /* BSD specific requirement: + * + * In case we are transferring more than one USB frame + * consisting of up to 3 USB packets, make sure that the + * USB frame size is divisible by 8. This is supposed to + * optimize the USB Host Controller by avoiding unaligned + * data accesses! + */ + + if (parm->bufsize > xfer->max_frame_size) { + + while (xfer->max_frame_size & 7) { + if (xfer->max_packet_size == parm->hc_max_packet_size) { + /* should not happen */ + parm->err = USBD_INVAL; + goto done; + } + (xfer->max_packet_size) ++; + usbd_compute_max_frame_size(xfer); + } + } + + /* if a value is specified use that + * else check the endpoint descriptor + */ + if (xfer->interval == 0) { + + if (type == UE_INTERRUPT) { + + xfer->interval = edesc->bInterval; + + if (parm->speed == USB_SPEED_HIGH) { + xfer->interval /= 8; /* 125us -> 1ms */ + } + + if (xfer->interval == 0) { + /* one millisecond is the smallest interval */ + xfer->interval = 1; + } + } + } + + if (type == UE_CONTROL) { + xfer->flags_int.control_xfr = 1; + if (xfer->nframes == 0) { + xfer->nframes = 2; + } + } else { + if (xfer->nframes == 0) { + xfer->nframes = 1; + } + } + + n_frlengths = xfer->nframes; + n_frbuffers = xfer->nframes; + } + + if (xfer->nframes == 0) { + parm->err = USBD_ZERO_NFRAMES; + goto done; + } + + /* + * NOTE: we do not allow "max_packet_size" or "max_frame_size" + * to be equal to zero when setting up USB transfers, hence + * this leads to alot of extra code in the USB kernel. + */ + + if ((xfer->max_frame_size == 0) || + (xfer->max_packet_size == 0)) { + + zmps = 1; + + if ((parm->bufsize <= MIN_PKT) && + (type != UE_CONTROL) && + (type != UE_BULK)) { + + /* workaround */ + xfer->max_packet_size = MIN_PKT; + xfer->max_packet_count = 1; + parm->bufsize = 0; /* automatic setup length */ + usbd_compute_max_frame_size(xfer); + + } else { + parm->err = USBD_ZERO_MAXP; + goto done; + } + + } else { + zmps = 0; + } + + /* + * check if we should setup a default + * length: + */ + + if (parm->bufsize == 0) { + + parm->bufsize = xfer->max_frame_size; + + if (type == UE_ISOCHRONOUS) { + parm->bufsize *= xfer->nframes; + } + } + + /* + * check if we are about to setup a proxy + * type of buffer: + */ + + if (xfer->flags.proxy_buffer) { + + /* round bufsize up */ + + parm->bufsize += (xfer->max_frame_size-1); + + if (parm->bufsize < xfer->max_frame_size) { + /* length wrapped around */ + parm->err = USBD_INVAL; + goto done; + } + + /* subtract remainder */ + + parm->bufsize -= (parm->bufsize % xfer->max_frame_size); + + /* add length of USB device request structure, if any */ + + if (type == UE_CONTROL) { + parm->bufsize += REQ_SIZE; /* SETUP message */ + } + } + + xfer->max_data_length = parm->bufsize; + + /* + * check if we have room for the + * USB device request structure: + */ + + if (type == UE_CONTROL) { + + if (xfer->max_data_length < REQ_SIZE) { + /* length wrapped around or too small bufsize */ + parm->err = USBD_INVAL; + goto done; + } + + xfer->max_data_length -= REQ_SIZE; + } + + /* align data */ + parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN-1)); + + xfer->frlengths = USBD_ADD_BYTES(parm->buf,parm->size[0]); + + parm->size[0] += (n_frlengths * sizeof(xfer->frlengths[0])); + + /* align data */ + parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN-1)); + + xfer->frbuffers = USBD_ADD_BYTES(parm->buf,parm->size[0]); + + parm->size[0] += (n_frbuffers * sizeof(xfer->frbuffers[0])); + + /* align data */ + parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN-1)); + + /* + * check if we need to setup + * a local buffer: + */ + + if (!xfer->flags.ext_buffer) { + + /* align data */ + parm->size[1] += ((-parm->size[1]) & (USB_HOST_ALIGN-1)); + + if (parm->buf) { + + usbd_page_cache_init + (xfer->frbuffers + 0, parm->page_ptr, + parm->size[1], parm->bufsize); + + if (type == UE_CONTROL) { + + usbd_page_cache_init + (xfer->frbuffers + 1, parm->page_ptr, + parm->size[1] + REQ_SIZE, parm->bufsize - REQ_SIZE); + } + + /* + * make a copy of the page cache that + * starts at offset zero: + */ + + xfer->buf_data = xfer->frbuffers[0]; + } + + parm->size[1] += parm->bufsize; + + /* align data again */ + parm->size[1] += ((-parm->size[1]) & (USB_HOST_ALIGN-1)); + } + + if (zmps) { + /* correct maximum data length */ + xfer->max_data_length = 0; + } + + /* subtract USB frame remainder from "hc_max_frame_size" */ + + xfer->max_usb_frame_size = + (parm->hc_max_frame_size - + (parm->hc_max_frame_size % xfer->max_frame_size)); + + if (xfer->max_usb_frame_size == 0) { + parm->err = USBD_INVAL; + goto done; + } + + done: + if (parm->err) { + xfer->max_usb_frame_size = 1; /* XXX avoid division by zero */ + xfer->max_data_length = 0; + xfer->nframes = 0; + } + return; +} + /*---------------------------------------------------------------------------* * usbd_transfer_setup - setup an array of USB transfers * @@ -233,19 +644,23 @@ usbd_status usbd_transfer_setup(struct usbd_device *udev, u_int8_t iface_index, - struct usbd_xfer **pxfer, + struct usbd_xfer **ppxfer, const struct usbd_config *setup_start, u_int16_t n_setup, void *priv_sc, struct mtx *priv_mtx) { + struct usbd_xfer dummy; + struct usbd_setup_params parm; const struct usbd_config *setup_end = setup_start + n_setup; const struct usbd_config *setup; struct usbd_memory_info *info; struct usbd_xfer *xfer; - usbd_status error = 0; + void *buf = NULL; u_int16_t n; + parm.err = 0; + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "usbd_transfer_setup can sleep!"); @@ -263,73 +678,172 @@ priv_mtx = &usb_global_lock; } - for(setup = setup_start, n = n_setup; n--; setup++) + for (setup = setup_start, n = 0; + setup != setup_end; setup++, n++) { if(setup->bufsize == 0xffffffff) { - error = USBD_BAD_BUFSIZE; + parm.err = USBD_BAD_BUFSIZE; PRINTF(("invalid bufsize\n")); } - if(setup->flags & - (~(0| - USBD_FORCE_SHORT_XFER| - USBD_SHORT_XFER_OK| - USBD_USE_POLLING| - USBD_PIPE_BOF| - USBD_USE_DMA| - 0))) - { - error = USBD_BAD_FLAG; - PRINTF(("invalid flag(s) specified: " - "0x%08x\n", setup->flags)); - } if(setup->callback == NULL) { - error = USBD_NO_CALLBACK; + parm.err = USBD_NO_CALLBACK; PRINTF(("no callback\n")); } - pxfer[n] = NULL; + ppxfer[n] = NULL; } - if(error) - { + if (parm.err) { goto done; } - error = (udev->bus->methods->xfer_setup) - (udev,iface_index,pxfer,setup_start,setup_end); + bzero(&parm, sizeof(parm)); + + parm.udev = udev; + parm.speed = usbd_get_speed(udev); + parm.hc_max_packet_count = 1; + + if (parm.speed >= USB_SPEED_MAX) { + parm.err = USBD_INVAL; + goto done; + } + + /* setup all transfers */ + + while (1) { + + parm.size[0] = 0; + parm.size[1] = 0; + parm.buf = buf; + + /* align data to 8 byte boundary */ + parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN-1)); + + if (buf) { + + info = USBD_ADD_BYTES(buf,parm.size[0]); + + info->memory_base = buf; + info->memory_size = parm.total_size[0]; + + info->page_base = parm.page_ptr; + info->page_size = parm.total_size[1]; + + info->usb_mtx = &(udev->bus->mtx); + + usbd_page_cache_init(&(parm.pc), parm.page_ptr, + 0, parm.total_size[1] * USB_PAGE_SIZE); + } else { + info = NULL; + } + + parm.size[0] += sizeof(info[0]); + + for (setup = setup_start, n = 0; + setup != setup_end; setup++, n++) { + + /* store current setup pointer */ + parm.curr_setup = setup; + /* align data to 8 byte boundary */ + parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN-1)); - /* common setup */ + if (buf) { - for(setup = setup_start, n = n_setup; n--; setup++) - { - xfer = pxfer[n]; + xfer = USBD_ADD_BYTES(buf,parm.size[0]); - if(xfer) - { + ppxfer[n] = xfer; + xfer->udev = udev; + xfer->address = udev->address; xfer->priv_sc = priv_sc; xfer->priv_mtx = priv_mtx; - xfer->udev = udev; + xfer->usb_mtx = &(udev->bus->mtx); + xfer->usb_root = info; + info->memory_refcount++; + info->setup_refcount++; + + __callout_init_mtx(&xfer->timeout_handle, xfer->usb_mtx, + CALLOUT_RETURNUNLOCKED); + } else { + /* dummy xfer */ + xfer = &dummy; + bzero(&dummy, sizeof(dummy)); + } + + parm.size[0] += sizeof(xfer[0]); + + xfer->pipe = usbd_get_pipe(udev, iface_index, setup); + + if (!xfer->pipe) { + parm.err = USBD_NO_PIPE; + goto done; + } + + if (buf) { + xfer->pipe->refcount++; + } + + parm.methods = xfer->pipe->methods; + parm.curr_xfer = xfer; - if(xfer->pipe) - { - xfer->pipe->refcount++; - } + (udev->bus->methods->xfer_setup)(&parm); - info = xfer->usb_root; - info->memory_refcount++; - info->setup_refcount++; + if (parm.err) { + goto done; } + } + + if (buf || parm.err) { + goto done; + } + + /* compute number of USB pages required */ + parm.total_size[1] = + (parm.size[1] + USB_PAGE_SIZE - 1) / USB_PAGE_SIZE; + + /* align data to 8 byte boundary */ + parm.size[0] += ((-parm.size[0]) & (USB_HOST_ALIGN-1)); + + /* store offset temporarily */ + parm.size[2] = parm.size[0]; + + parm.size[0] += (sizeof(parm.page_ptr[0]) * parm.total_size[1]); + + /* store total buffer size */ + parm.total_size[0] = parm.size[0]; + + /* allocate zeroed memory */ + buf = malloc(parm.total_size[0], M_USB, M_WAITOK|M_ZERO); + + if (buf == NULL) { + parm.err = USBD_NOMEM; + PRINTFN(-1, ("cannot allocate memory block for " + "configuration (%d bytes)\n", + parm.total_size[0])); + goto done; + } + + parm.page_ptr = USBD_ADD_BYTES(buf,parm.size[2]); + + if (usbd_page_alloc(udev->bus->dma_tag, + parm.page_ptr, parm.total_size[1])) { + free(buf, M_USB); + parm.err = USBD_NOMEM; + PRINTFN(-1, ("cannot allocate memory block for " + "configuration (%d USB pages)\n", + parm.total_size[1])); + goto done; + } } done: - if(error) + if (parm.err) { - usbd_transfer_unsetup(pxfer, n_setup); + usbd_transfer_unsetup(ppxfer, n_setup); } - return (error); + return (parm.err); } /*---------------------------------------------------------------------------* @@ -467,183 +981,278 @@ return; } -void -usbd_std_isoc_copy_in(struct usbd_xfer *xfer) +/*------------------------------------------------------------------------* + * usbd_std_root_transfer - factored out code + * + * Return values: + * 0: Tried to do a callback and unlocked "xfer->usb_mtx" + * Else: Did nothing. + *------------------------------------------------------------------------*/ +uint8_t +usbd_std_root_transfer(struct usbd_std_root_transfer *std, + struct thread *ctd, + usbd_std_root_transfer_func_t *func) { - u_int32_t x; - u_int32_t length; + struct usbd_xfer *xlist[2]; + struct usbd_xfer *xfer; + struct thread *td; + uint32_t len; + uint8_t shortpkt = 0; + + xfer = std->xfer; + if (xfer == NULL) { + /* the transfer is gone */ + return 1; + } + + mtx_assert(xfer->usb_mtx, MA_OWNED); - if (UE_GET_DIR(xfer->endpoint) == UE_DIR_OUT) { + if (xfer->usb_thread != ctd) { + /* we should not call this transfer back */ + return 1; + } - length = 0; + std->xfer = NULL; - for (x = 0; x < xfer->nframes; x++) { - length += xfer->frlengths[x]; + if (ctd == NULL) { + td = curthread; + } else { + td = ctd; } - /* only one copy is needed, hence - * the frames are back to back: - */ - usbd_copy_in(&(xfer->buf_data), 0, xfer->buffer, length); + /* make sure that the memory does not disappear! */ + xfer->usb_thread = td; + xfer->usb_root->memory_refcount++; + + if (xfer->flags_int.control_xfr && + xfer->flags_int.control_hdr) { + + /* copy out the USB request */ + + if (xfer->frlengths[0] == sizeof(std->req)) { + usbd_copy_out(xfer->frbuffers + 0, 0, + &(std->req), sizeof(std->req)); + } else { + std->err = USBD_INVAL; + goto done; + } + + xfer->aframes = 1; + + std->err = 0; + std->state = USBD_STD_ROOT_TR_SETUP; + + (func)(xfer, std); - } else { + if (xfer->usb_thread != td) { + goto done; + } - for (x = 0; x < xfer->nframes; x++) { - xfer->frlengths_old[x] = xfer->frlengths[x]; + if (std->err) { + goto done; + } } - } - return; -} + + std->err = 0; + std->state = USBD_STD_ROOT_TR_PRE_DATA; + + (func)(xfer, std); -void -usbd_std_isoc_copy_out(struct usbd_xfer *xfer) -{ - u_int8_t *ptr; - u_int32_t x; - u_int32_t offset; + if (xfer->usb_thread != td) { + goto done; + } - if (UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) { + if (std->err) { + goto done; + } - ptr = xfer->buffer; - offset = 0; + /* transfer data */ - for (x = 0; x < xfer->nframes; x++) { + while (xfer->aframes != xfer->nframes) { - usbd_copy_out(&(xfer->buf_data), offset, - ptr, xfer->frlengths[x]); + len = xfer->frlengths[xfer->aframes]; - ptr += xfer->frlengths_old[x]; - offset += xfer->frlengths_old[x]; - } - } - return; -} + if (len > std->len) { + len = std->len; + shortpkt = 1; + } -void -usbd_std_bulk_intr_copy_in(struct usbd_xfer *xfer) -{ - if (UE_GET_DIR(xfer->endpoint) == UE_DIR_OUT) { + if (len > 0) { + if ((xfer->endpoint & (UE_DIR_IN|UE_DIR_OUT)) == UE_DIR_IN) { + usbd_copy_in(xfer->frbuffers + xfer->aframes, 0, + std->ptr, len); + } else { + usbd_copy_out(xfer->frbuffers + xfer->aframes, 0, + std->ptr, len); + } + } - usbd_copy_in(&(xfer->buf_data), 0, - xfer->buffer, xfer->length); - } - return; -} + std->ptr += len; + std->len -= len; + xfer->frlengths[xfer->aframes] = len; + xfer->aframes ++; -void -usbd_std_bulk_intr_copy_out(struct usbd_xfer *xfer) -{ - if (UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) { + if (shortpkt) { + break; + } + } - usbd_copy_out(&(xfer->buf_data), 0, - xfer->buffer, xfer->actlen); - } - return; -} + std->err = 0; + std->state = USBD_STD_ROOT_TR_POST_DATA; -void -usbd_std_ctrl_copy_in(struct usbd_xfer *xfer) -{ - u_int32_t len = xfer->length; - usb_device_request_t *req; + (func)(xfer, std); - if (xfer->control_remainder == 0) { - req = xfer->buffer; - if ((len >= sizeof(*req)) && - (req->bmRequestType & UT_READ)) { - len = sizeof(*req); + if (xfer->usb_thread != td) { + goto done; } - } else { - if (xfer->control_isread) { - return; + + if (std->err) { + goto done; } - } + + if (xfer->flags_int.control_xfr && + !xfer->flags_int.control_act) { + + std->err = 0; + std->state = USBD_STD_ROOT_TR_STATUS; - usbd_copy_in(&(xfer->buf_data), 0, - xfer->buffer, len); - return; -} + (func)(xfer, std); -void -usbd_std_ctrl_copy_out(struct usbd_xfer *xfer) -{ - u_int32_t len = xfer->actlen; - usb_device_request_t *req; + if (xfer->usb_thread != td) { + goto done; + } - if (xfer->flags & USBD_DEV_CONTROL_HEADER) { - req = xfer->buffer; - if ((len >= sizeof(*req)) && - (req->bmRequestType & UT_READ)) { - /* copy out everything, but the header */ - usbd_copy_out(&(xfer->buf_data), sizeof(*req), - (req+1), len - sizeof(*req)); + if (std->err) { + goto done; + } } - } else { - if (xfer->control_isread) { - /* copy out everything */ - usbd_copy_out(&(xfer->buf_data), 0, - xfer->buffer, len); + + done: + /* check if we are still handling this USB transfer */ + + if (xfer->usb_thread == td) { + std->state = USBD_STD_ROOT_TR_PRE_CALLBACK; + (func)(xfer, std); } - } - return; + + /* queue callback */ + xlist[0] = xfer; + xlist[1] = NULL; + + mtx_unlock(xfer->usb_mtx); + + /* + * NOTE: "usbd_do_callback()" will decrement + * the "memory_refcount" and must be called. + */ + usbd_do_callback(xlist, td); + + return 0; } -uint8_t -usbd_std_ctrl_enter(struct usbd_xfer *xfer) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Sep 23 14:32:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00BBA16A420; Sun, 23 Sep 2007 14:32:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9914716A41A for ; Sun, 23 Sep 2007 14:32:09 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 797F413C4BE for ; Sun, 23 Sep 2007 14:32:09 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NEW9TU086721 for ; Sun, 23 Sep 2007 14:32:09 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NEW9d9086718 for perforce@freebsd.org; Sun, 23 Sep 2007 14:32:09 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 14:32:09 GMT Message-Id: <200709231432.l8NEW9d9086718@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126733 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 14:32:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=126733 Change 126733 by hselasky@hselasky_laptop001 on 2007/09/23 14:31:53 FYI; The comments follow the P4 diff from top to bottom. - remove redundant inclusion of "sys/vnode.h" - the pre-allocate USB control request belonging to the "uhid_ioctl_callback()" has been removed. "usbd_do_request()" is used instead. - all USB BULK/ISOC/INTR transfers must setup "xfer->frlengths[]" before calling "usbd_start_hardware()". Else the actual length of the previous transfer will be used for transfer length of the next USB transfer. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/uhid.c#17 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/uhid.c#17 (text+ko) ==== @@ -56,7 +56,6 @@ #include #include #include -#include #include #include @@ -91,7 +90,7 @@ #define USB_PRODUCT_WACOM_GRAPHIRE3_4X5 0 #endif -#define UHID_N_TRANSFER 5 /* units */ +#define UHID_N_TRANSFER 4 /* units */ #define UHID_BSIZE 1024 /* bytes, buffer size */ #define UHID_FRAME_NUM 50 /* bytes, frame number */ @@ -99,14 +98,15 @@ struct usb_cdev sc_cdev; struct mtx sc_mtx; - struct usbd_xfer * sc_xfer[UHID_N_TRANSFER]; - void * sc_repdesc_ptr; + struct usbd_xfer *sc_xfer[UHID_N_TRANSFER]; + struct usbd_device *sc_udev; + void *sc_repdesc_ptr; u_int32_t sc_isize; u_int32_t sc_osize; u_int32_t sc_fsize; - u_int32_t sc_repdesc_size; - u_int32_t sc_transfer_len; + + uint16_t sc_repdesc_size; u_int8_t sc_transfer_buf[sizeof(usb_device_request_t) + UHID_BSIZE]; u_int8_t sc_iface_no; @@ -117,7 +117,6 @@ #define UHID_FLAG_IMMED 0x01 /* set if read should be immediate */ #define UHID_FLAG_INTR_STALL 0x02 /* set if interrupt transfer stalled */ #define UHID_FLAG_STATIC_DESC 0x04 /* set if report descriptors are static */ -#define UHID_FLAG_COMMAND_ERR 0x08 /* set if control transfer had an error */ }; static u_int8_t uhid_xb360gp_report_descr[] = { UHID_XB360GP_REPORT_DESCR() }; @@ -134,7 +133,6 @@ static usbd_callback_t uhid_intr_clear_stall_callback; static usbd_callback_t uhid_write_callback; static usbd_callback_t uhid_read_callback; -static usbd_callback_t uhid_ioctl_callback; static void uhid_intr_callback(struct usbd_xfer *xfer) @@ -148,8 +146,8 @@ DPRINTF(0, "transferred!\n"); if (xfer->actlen >= sc->sc_isize) { - usb_cdev_put_data(&(sc->sc_cdev), - xfer->buffer, sc->sc_isize, 1); + usb_cdev_put_data(&(sc->sc_cdev), &(xfer->buf_data), + 0, sc->sc_isize, 1); } else { /* ignore it */ DPRINTF(0, "ignored short transfer, " @@ -163,6 +161,7 @@ USBD_IF_POLL(&(sc->sc_cdev.sc_rdq_free), m); if (m) { + xfer->frlengths[0] = xfer->max_data_length; usbd_start_hardware(xfer); } } @@ -195,7 +194,7 @@ uhid_write_callback(struct usbd_xfer *xfer) { struct uhid_softc *sc = xfer->priv_sc; - usb_device_request_t *req = xfer->buffer; + usb_device_request_t req; u_int32_t size = sc->sc_osize; u_int32_t actlen; u_int8_t id; @@ -207,10 +206,14 @@ /* try to extract the ID byte */ if (sc->sc_oid) { - if (usb_cdev_get_data(&(sc->sc_cdev), &id, 1, &actlen, 0)) { + if (usb_cdev_get_data(&(sc->sc_cdev), &(xfer->buf_data), + 0, 1, &actlen, 0)) { if (actlen != 1) { goto tr_error; } + + usbd_copy_out(&(xfer->buf_data), 0, &id, 1); + } else { return; } @@ -221,16 +224,20 @@ id = 0; } - if (usb_cdev_get_data(&(sc->sc_cdev), req->bData, - UHID_BSIZE, &actlen, 1)) { + if (usb_cdev_get_data(&(sc->sc_cdev), xfer->frbuffers + 1, + 0, UHID_BSIZE, &actlen, 1)) { if (actlen != size) { goto tr_error; } + usbd_fill_set_report - (req, sc->sc_iface_no, + (&req, sc->sc_iface_no, UHID_OUTPUT_REPORT, id, size); - xfer->length = sizeof(*req) + size; + usbd_copy_in(xfer->frbuffers + 0, 0, &req, sizeof(req)); + + xfer->frlengths[0] = sizeof(req); + xfer->frlengths[1] = size; usbd_start_hardware(xfer); } @@ -246,24 +253,27 @@ uhid_read_callback(struct usbd_xfer *xfer) { struct uhid_softc *sc = xfer->priv_sc; - usb_device_request_t *req = xfer->buffer; - struct usbd_mbuf *m; + usb_device_request_t req; USBD_CHECK_STATUS(xfer); tr_transferred: - usb_cdev_put_data(&(sc->sc_cdev), req->bData, sc->sc_isize, 1); + usb_cdev_put_data(&(sc->sc_cdev), &(xfer->buf_data), + sizeof(req), sc->sc_isize, 1); return; tr_setup: - USBD_IF_POLL(&(sc->sc_cdev.sc_rdq_free), m); + + if (usb_cdev_put_bytes_max(&(sc->sc_cdev)) > 0) { - if (m) { usbd_fill_get_report - (req, sc->sc_iface_no, UHID_INPUT_REPORT, + (&req, sc->sc_iface_no, UHID_INPUT_REPORT, sc->sc_iid, sc->sc_isize); - xfer->length = sizeof(*req) + sc->sc_isize; + usbd_copy_in(xfer->frbuffers + 0, 0, &req, sizeof(req)); + + xfer->frlengths[0] = sizeof(req); + xfer->frlengths[1] = sc->sc_isize; usbd_start_hardware(xfer); } @@ -275,39 +285,13 @@ return; } -static void -uhid_ioctl_callback(struct usbd_xfer *xfer) -{ - struct uhid_softc *sc = xfer->priv_sc; - - USBD_CHECK_STATUS(xfer); - - tr_transferred: - bcopy(xfer->buffer, sc->sc_transfer_buf, sc->sc_transfer_len); - sc->sc_flags &= ~UHID_FLAG_COMMAND_ERR; - usb_cdev_wakeup(&(sc->sc_cdev)); - return; - - tr_error: - DPRINTF(0, "error=%s\n", usbd_errstr(xfer->error)); - sc->sc_flags |= UHID_FLAG_COMMAND_ERR; - usb_cdev_wakeup(&(sc->sc_cdev)); - return; - - tr_setup: - bcopy(sc->sc_transfer_buf, xfer->buffer, sc->sc_transfer_len); - xfer->length = sc->sc_transfer_len; - usbd_start_hardware(xfer); - return; -} - static const struct usbd_config uhid_config[UHID_N_TRANSFER] = { [0] = { .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .flags = (USBD_PIPE_BOF|USBD_SHORT_XFER_OK), + .flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, .bufsize = 0, /* use wMaxPacketSize */ .callback = &uhid_intr_callback, }, @@ -339,15 +323,6 @@ .callback = &uhid_read_callback, .timeout = 1000, /* 1 second */ }, - - [4] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .bufsize = sizeof(usb_device_request_t) + UHID_BSIZE, - .callback = &uhid_ioctl_callback, - .timeout = 1000, /* 1 second */ - }, }; static void @@ -392,70 +367,63 @@ } static int32_t -uhid_do_control_transfer(struct uhid_softc *sc, int32_t fflags) +uhid_do_control_transfer(struct uhid_softc *sc, + usb_device_request_t *req, + void *data, int32_t fflags) { int32_t error; - sc->sc_flags |= UHID_FLAG_COMMAND_ERR; + usb_cdev_unlock(&(sc->sc_cdev), fflags); - usbd_transfer_start(sc->sc_xfer[4]); - - error = usb_cdev_sleep(&(sc->sc_cdev), fflags, 0); + error = usbd_do_request(sc->sc_udev, NULL, req, data); - usbd_transfer_stop(sc->sc_xfer[4]); - if (error) { - return error; + error = ENXIO; } - if (sc->sc_flags & UHID_FLAG_COMMAND_ERR) { - return ENXIO; - } - return 0; + return usb_cdev_lock(&(sc->sc_cdev), fflags, error); } static int32_t uhid_get_report(struct uhid_softc *sc, int32_t fflags, u_int8_t type, u_int8_t id, void *data, u_int16_t len) { - usb_device_request_t *req = (void *)(sc->sc_transfer_buf); - int error; + usb_device_request_t req; if (len > UHID_BSIZE) { len = UHID_BSIZE; } + if (data == NULL) { + /* dummy buffer */ + data = sc->sc_transfer_buf; + } + usbd_fill_get_report - (req, sc->sc_iface_no, type, id, len); + (&req, sc->sc_iface_no, type, id, len); - sc->sc_transfer_len = sizeof(*req) + len; - - error = uhid_do_control_transfer(sc, fflags); - - if (data) { - bcopy(req->bData, data, len); - } - return error; + return uhid_do_control_transfer(sc, &req, data, fflags); } static int32_t uhid_set_report(struct uhid_softc *sc, int32_t fflags, u_int8_t type, u_int8_t id, void *data, u_int16_t len) { - usb_device_request_t *req = (void *)(sc->sc_transfer_buf); + usb_device_request_t req; if (len > UHID_BSIZE) { len = UHID_BSIZE; } + if (data == NULL) { + /* dummy buffer */ + data = sc->sc_transfer_buf; + } + usbd_fill_set_report - (req, sc->sc_iface_no, type, id, len); + (&req, sc->sc_iface_no, type, id, len); - bcopy(data, req->bData, len); - - sc->sc_transfer_len = sizeof(*req) + len; - - return uhid_do_control_transfer(sc, fflags); + return uhid_do_control_transfer(sc, &req, data, fflags); } static int32_t @@ -645,6 +613,8 @@ mtx_init(&(sc->sc_mtx), "uhid lock", NULL, MTX_DEF|MTX_RECURSE); + sc->sc_udev = uaa->device; + sc->sc_iface_no = uaa->iface->idesc->bInterfaceNumber; error = usbd_transfer_setup(uaa->device, uaa->iface_index, @@ -675,9 +645,8 @@ * returning digitizer data. */ error = usbreq_set_report - (uaa->device, uaa->iface_index, - UHID_FEATURE_REPORT, 2, - reportbuf, sizeof(reportbuf)); + (uaa->device, &usb_global_lock, reportbuf, sizeof(reportbuf), + uaa->iface_index, UHID_FEATURE_REPORT, 2); if (error) { DPRINTF(0, "set report failed, error=%s (ignored)\n", @@ -700,9 +669,9 @@ if (sc->sc_repdesc_ptr == NULL) { - error = usbreq_read_report_desc - (uaa->device, uaa->iface_index, - &(sc->sc_repdesc_ptr), &(sc->sc_repdesc_size), M_USBDEV); + error = hid_read_report_desc_from_usb + (uaa->device, &usb_global_lock, &(sc->sc_repdesc_ptr), + &(sc->sc_repdesc_size), M_USBDEV, uaa->iface_index); if (error) { device_printf(dev, "no report descriptor\n"); @@ -710,7 +679,7 @@ } } - error = usbreq_set_idle(uaa->device, uaa->iface_index, 0, 0); + error = usbreq_set_idle(uaa->device, &usb_global_lock, uaa->iface_index, 0, 0); if (error) { DPRINTF(0, "set idle failed, error=%s (ignored)\n", @@ -756,8 +725,7 @@ sc->sc_cdev.sc_stop_write = &uhid_stop_write; sc->sc_cdev.sc_open = &uhid_open; sc->sc_cdev.sc_ioctl = &uhid_ioctl; - sc->sc_cdev.sc_flags |= (USB_CDEV_FLAG_FWD_SHORT| - USB_CDEV_FLAG_WAKEUP_RD_IMMED| + sc->sc_cdev.sc_flags |= (USB_CDEV_FLAG_WAKEUP_RD_IMMED| USB_CDEV_FLAG_WAKEUP_WR_IMMED); /* make the buffers one byte larger than maximum so From owner-p4-projects@FreeBSD.ORG Sun Sep 23 14:49:32 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58AB316A421; Sun, 23 Sep 2007 14:49:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBBFF16A418 for ; Sun, 23 Sep 2007 14:49:31 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CC7FF13C458 for ; Sun, 23 Sep 2007 14:49:31 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NEnVXj087571 for ; Sun, 23 Sep 2007 14:49:31 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NEnVSl087562 for perforce@freebsd.org; Sun, 23 Sep 2007 14:49:31 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 14:49:31 GMT Message-Id: <200709231449.l8NEnVSl087562@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126734 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 14:49:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=126734 Change 126734 by hselasky@hselasky_laptop001 on 2007/09/23 14:49:06 FYI; The comments follow the P4 diff from top to bottom. - renamed "sc_hub" into "sc_udev" to better match the analogy of the other USB device drivers - convert kernel USB flags (USBD_XXX) into a bitfield (scripted) - all USB BULK/ISOC/INTR -transfers must setup "xfer->frlengths[]" before calling "usbd_start_hardware()". Else the actual length of the previous transfer will be used for transfer length of the next USB transfer. - new internal function "uhub_port_to_sub_device()" which gets the USB device structure connected to a USB port. - factored out code into "uhub_explore_sub()" - USB port numbers and indexes are now 8-bit hence there cannot be more than 255 ports according to the USB specification. - passing a mutex to "usbd_do_request_flags()" and all "usbreq_xxx()" functions is now mandatory. - remove redundant passing of "struct usbd_port *" to "usbd_new_device()" - "struct usbd_device" now has a pointer directly to the parent HUB, "paraent_hub" - be consequent on differating between port index and port number which differ by 1 unit. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/uhub.c#16 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/uhub.c#16 (text+ko) ==== @@ -70,14 +70,14 @@ struct uhub_softc { device_t sc_dev; /* base device */ - struct usbd_device *sc_hub; /* USB device */ + struct usbd_device *sc_udev; /* USB device */ struct usbd_xfer *sc_xfer[2]; /* interrupt xfer */ uint8_t sc_flags; #define UHUB_FLAG_RUNNING 0x01 #define UHUB_FLAG_INTR_STALL 0x02 uint8_t sc_name[32]; }; -#define UHUB_PROTO(sc) ((sc)->sc_hub->ddesc.bDeviceProtocol) +#define UHUB_PROTO(sc) ((sc)->sc_udev->ddesc.bDeviceProtocol) #define UHUB_IS_HIGH_SPEED(sc) (UHUB_PROTO(sc) != UDPROTO_FSHUB) #define UHUB_IS_SINGLE_TT(sc) (UHUB_PROTO(sc) == UDPROTO_HSHUBSTT) @@ -101,7 +101,7 @@ .endpoint = UE_ADDR_ANY, .direction = UE_DIR_ANY, .timeout = 0, - .flags = (USBD_PIPE_BOF|USBD_SHORT_XFER_OK), + .flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, .bufsize = 0, /* use wMaxPacketSize */ .callback = &uhub_intr_callback, .interval = UHUB_INTR_INTERVAL, @@ -113,7 +113,7 @@ .direction = UE_DIR_ANY, .timeout = 1000, /* 1 second */ .interval = 50, /* 50ms */ - .flags = 0, + .flags = { }, .bufsize = sizeof(usb_device_request_t), .callback = &uhub_intr_clear_stall_callback, }, @@ -179,12 +179,13 @@ * event handler thread that we need * to be explored again: */ - usb_needs_explore(sc->sc_hub); + usb_needs_explore(sc->sc_udev); tr_setup: if (sc->sc_flags & UHUB_FLAG_INTR_STALL) { usbd_transfer_start(sc->sc_xfer[1]); } else { + xfer->frlengths[0] = xfer->max_data_length; usbd_start_hardware(xfer); } return; @@ -198,17 +199,65 @@ return; } +static struct usbd_device * +uhub_port_to_sub_device(struct usbd_device *udev, struct usbd_port *up) +{ + if ((udev == NULL) || (up == NULL)) { + /* be NULL safe */ + return NULL; + } + + if (up->device_addr == USB_START_ADDR) { + /* nothing to do */ + return NULL; + } + + return udev->bus->devices[up->device_addr]; +} + static usbd_status +uhub_explore_sub(device_t dev, struct usbd_device *udev, struct usbd_port *up) +{ + struct usbd_device *child; + uint8_t refcount = usb_driver_added_refcount; + usbd_status err = 0; + + child = uhub_port_to_sub_device(udev, up); + + if (child == NULL) { + /* nothing to do */ + return 0; + } + + /* check if probe and attach should be done */ + + if (child->driver_added_refcount != refcount) { + child->driver_added_refcount = refcount; + err = usbd_probe_and_attach(dev, child); + } + + /* if a HUB becomes present, do a recursive HUB explore */ + + if (child->hub) { + (child->hub->explore)(child); + } + + return err; +} + +static usbd_status uhub_explore(struct usbd_device *udev) { usb_hub_descriptor_t *hd = &udev->hub->hubdesc; struct uhub_softc *sc = udev->hub->hubsoftc; + struct usbd_device *child; struct usbd_port *up; usbd_status err; - uint16_t port; uint16_t change; uint16_t status; + uint8_t portno; uint8_t speed; + uint8_t x; DPRINTF(sc, 10, "udev=%p addr=%d\n", udev, udev->address); @@ -223,10 +272,12 @@ return (USBD_TOO_DEEP); } - for(port = 1; port <= hd->bNbrPorts; port++) + for (x = 0; x < hd->bNbrPorts; x++) { - up = &udev->hub->ports[port-1]; - err = usbreq_get_port_status(udev, port, &up->status); + up = udev->hub->ports + x; + portno = x + 1; + err = usbreq_get_port_status + (udev, &usb_global_lock, &up->status, portno); if (err) { DPRINTF(sc, 0, "get port status failed, " @@ -236,11 +287,12 @@ status = UGETW(up->status.wPortStatus); change = UGETW(up->status.wPortChange); DPRINTF(sc, 3, "port %d status 0x%04x 0x%04x\n", - port, status, change); + portno, status, change); if(change & UPS_C_PORT_ENABLED) { DPRINTF(sc, 0, "C_PORT_ENABLED 0x%x\n", change); - usbreq_clear_port_feature(udev, port, UHF_C_PORT_ENABLE); + usbreq_clear_port_feature + (udev, &usb_global_lock, portno, UHF_C_PORT_ENABLE); if(change & UPS_C_CONNECT_STATUS) { /* ignore the port error @@ -250,7 +302,7 @@ else if(status & UPS_PORT_ENABLED) { DPRINTF(sc, -1, "illegal enable change, " - "port %d\n", port); + "port %d\n", portno); } else { @@ -258,48 +310,35 @@ if(up->restartcnt) /* no message first time */ { DPRINTF(sc, -1, "port error, restarting " - "port %d\n", port); + "port %d\n", portno); } if(up->restartcnt++ < USBD_RESTART_MAX) { goto disconnect; } else { DPRINTF(sc, -1, "port error, giving up " - "port %d\n", port); + "port %d\n", portno); } } } if(!(change & UPS_C_CONNECT_STATUS)) { DPRINTF(sc, 3, "port=%d !C_CONNECT_" - "STATUS\n", port); + "STATUS\n", portno); + /* no status change, just do recursive explore */ - if(up->device != NULL) - { - if(up->device->hub != NULL) - { - (up->device->hub->explore)(up->device); - } - else - { - /* allow drivers to be hot-plugged */ - - if(up->last_refcount != usb_driver_added_refcount) - { - usbd_probe_and_attach - (sc->sc_dev, port, up); - } - } - } + err = uhub_explore_sub(sc->sc_dev, udev, up); continue; } /* we have a connect status change, handle it */ DPRINTF(sc, 0, "status change hub=%d port=%d\n", - udev->address, port); - usbreq_clear_port_feature(udev, port, UHF_C_PORT_CONNECTION); - /*usbreq_clear_port_feature(udev, port, UHF_C_PORT_ENABLE);*/ + udev->address, portno); + usbreq_clear_port_feature + (udev, &usb_global_lock, portno, UHF_C_PORT_CONNECTION); + /* usbreq_clear_port_feature + (udev, &usb_global_lock, portno, UHF_C_PORT_ENABLE); */ /* * If there is already a device on the port the change status * must mean that is has disconnected. Looking at the @@ -308,20 +347,21 @@ * the disconnect. */ disconnect: - if(up->device != NULL) - { + child = uhub_port_to_sub_device(udev, up); + if (child) { /* disconnected */ DPRINTF(sc, 0, "device addr=%d disappeared " - "on port %d\n", up->device->address, port); - usbd_free_device(up, 1); - usbreq_clear_port_feature(udev, port, - UHF_C_PORT_CONNECTION); + "on port %d\n", child->address, + portno); + usbd_free_device(child, 1); + usbreq_clear_port_feature + (udev, &usb_global_lock, portno, UHF_C_PORT_CONNECTION); } if(!(status & UPS_CURRENT_CONNECT_STATUS)) { /* nothing connected, just ignore it */ DPRINTF(sc, 3, "port=%d !CURRENT_CONNECT_STATUS\n", - port); + portno); continue; } @@ -330,22 +370,27 @@ if(!(status & UPS_PORT_POWER)) { DPRINTF(sc, -1, "strange, connected port %d " - "has no power\n", port); + "has no power\n", portno); } /* wait for maximum device power up time */ usbd_delay_ms(udev, USB_PORT_POWERUP_DELAY); /* reset port, which implies enabling it */ - if(usbreq_reset_port(udev, port, &up->status)) - { + err = usbreq_reset_port + (udev, &usb_global_lock, &up->status, portno); + + if (err) { DPRINTF(sc, -1, "port %d reset " - "failed\n", port); + "failed, error=%s\n", + portno, usbd_errstr(err)); continue; } /* get port status again, it might have changed during reset */ - err = usbreq_get_port_status(udev, port, &up->status); + err = usbreq_get_port_status + (udev, &usb_global_lock, &up->status, portno); + if(err) { DPRINTF(sc, 0, "get port status failed, " @@ -358,7 +403,7 @@ { /* nothing connected, just ignore it */ DPRINTF(sc, 1, "port %d, device disappeared " - "after reset\n", port); + "after reset\n", portno); continue; } @@ -368,14 +413,18 @@ (status & UPS_LOW_SPEED) ? USB_SPEED_LOW : USB_SPEED_FULL; /* get device info and set its address */ - err = usbd_new_device(sc->sc_dev, udev->bus, - udev->depth + 1, speed, port, up); - if (err) - { + err = usbd_new_device(sc->sc_dev, udev->bus, udev, + udev->depth + 1, speed, x, portno); + if (err == 0) { + err = uhub_explore_sub(sc->sc_dev, udev, up); + } + + if (err) { DPRINTF(sc, -1, "usb_new_device failed, " "error=%s\n", usbd_errstr(err)); /* Avoid addressing problems by disabling. */ - /* usbd_reset_port(udev, port, &up->status); */ + /* usbreq_reset_port + (udev, &usb_global_lock, &up->status, portno); */ /* * The unit refused to accept a new address, or had @@ -383,19 +432,18 @@ * at 0 we have to disable the port instead. */ DPRINTF(sc, -1, "device problem (%s), " - "disabling port %d\n", usbd_errstr(err), port); - usbreq_clear_port_feature(udev, port, UHF_PORT_ENABLE); + "disabling port %d\n", usbd_errstr(err), portno); + usbreq_clear_port_feature + (udev, &usb_global_lock, portno, UHF_PORT_ENABLE); + continue; } - else - { - /* the port set up succeeded, reset error count */ - up->restartcnt = 0; + + /* + * The port setup succeeded, reset error count and + * do recursive explore, if any: + */ + up->restartcnt = 0; - if(up->device->hub) - { - (up->device->hub->explore)(up->device); - } - } } return (USBD_NORMAL_COMPLETION); } @@ -424,20 +472,22 @@ struct uhub_softc *sc = device_get_softc(dev); struct usb_attach_arg *uaa = device_get_ivars(dev); struct usbd_device *udev = uaa->device; + struct usbd_device *parent_hub = udev->parent_hub; struct usbd_hub *hub; usb_device_request_t req; usb_hub_descriptor_t hubdesc; - uint16_t port; - uint16_t nports; - uint16_t removable; uint16_t pwrdly; + uint8_t x; + uint8_t nports; + uint8_t portno; + uint8_t removable; usbd_status err; if (sc == NULL) { return ENOMEM; } - sc->sc_hub = udev; + sc->sc_udev = udev; sc->sc_dev = dev; snprintf(sc->sc_name, sizeof(sc->sc_name), "%s", @@ -460,9 +510,9 @@ "parent->selfpowered=%d\n", udev->depth, udev->self_powered, - udev->powersrc->parent, - udev->powersrc->parent ? - udev->powersrc->parent->self_powered : 0); + parent_hub, + parent_hub ? + parent_hub->self_powered : 0); if(udev->depth > USB_HUB_MAX_DEPTH) { @@ -471,9 +521,8 @@ goto error; } - if(!udev->self_powered && - (udev->powersrc->parent != NULL) && - (!udev->powersrc->parent->self_powered)) + if (!udev->self_powered && parent_hub && + (!parent_hub->self_powered)) { DPRINTF(sc, -1, "bus powered hub connected to " "bus powered hub. HUB ignored!\n"); @@ -490,7 +539,7 @@ USETW(req.wIndex, 0); USETW(req.wLength, USB_HUB_DESCRIPTOR_SIZE); - err = usbd_do_request(udev, &req, &hubdesc); + err = usbd_do_request(udev, &usb_global_lock, &req, &hubdesc); nports = hubdesc.bNbrPorts; @@ -498,7 +547,7 @@ { uint16_t len = (USB_HUB_DESCRIPTOR_SIZE-1) + ((nports+7) / 8); USETW(req.wLength, len); - err = usbd_do_request(udev, &req, &hubdesc); + err = usbd_do_request(udev, &usb_global_lock, &req, &hubdesc); } if(err) @@ -520,16 +569,31 @@ goto error; } - udev->hub = malloc((sizeof(hub[0]) + (sizeof(hub[0].ports[0]) * nports)), - M_USBDEV, M_WAITOK|M_ZERO); + hub = malloc(sizeof(hub[0]) + (sizeof(hub->ports[0]) * nports), + M_USBDEV, M_WAITOK|M_ZERO); - if(udev->hub == NULL) + if (hub == NULL) { goto error; } + udev->hub = hub; + /* init FULL-speed ISOCHRONOUS schedule */ - usbd_fs_isoc_schedule_init_all(udev->hub->fs_isoc_schedule); + usbd_fs_isoc_schedule_init_all(hub->fs_isoc_schedule); + + /* initialize HUB structure */ + hub->hubsoftc = sc; + hub->explore = &uhub_explore; + hub->hubdesc = hubdesc; + hub->hubudev = udev; + + /* if self powered hub, give ports maximum current */ + if (udev->self_powered) { + hub->portpower = USB_MAX_POWER; + } else { + hub->portpower = USB_MIN_POWER; + } /* set up interrupt pipe */ err = usbd_transfer_setup(udev, 0, sc->sc_xfer, @@ -541,12 +605,6 @@ goto error; } - hub = udev->hub; - - hub->hubsoftc = sc; - hub->explore = uhub_explore; - hub->hubdesc = hubdesc; - /* wait with power off for a while */ usbd_delay_ms(udev, USB_POWER_DOWN_TIME); @@ -581,46 +639,37 @@ pwrdly = ((hubdesc.bPwrOn2PwrGood * UHD_PWRON_FACTOR) + USB_EXTRA_POWER_UP_TIME); - for(port = 1; - port <= nports; - port++) - { + for(x = 0; x < nports; x++) { /* set up data structures */ - struct usbd_port *up = &hub->ports[port-1]; - up->device = NULL; - up->parent = udev; - up->portno = port; - - /* self powered hub, give ports maximum current */ - up->power = (udev->self_powered) ? - USB_MAX_POWER : - USB_MIN_POWER ; - + struct usbd_port *up = hub->ports + x; + up->device_addr = USB_START_ADDR; up->restartcnt = 0; + portno = x + 1; /* check if port is removable */ - if(!UHD_NOT_REMOV(&hubdesc, port)) + if(!UHD_NOT_REMOV(&hubdesc, portno)) { removable++; } /* turn the power on */ - err = usbreq_set_port_feature(udev, port, UHF_PORT_POWER); - if(err) - { + err = usbreq_set_port_feature + (udev, &usb_global_lock, portno, UHF_PORT_POWER); + + if (err) { DPRINTF(sc, -1, "port %d power on failed, %s\n", - port, usbd_errstr(err)); + portno, usbd_errstr(err)); } - DPRINTF(sc, 0, "turn on port %d power\n", port); + DPRINTF(sc, 0, "turn on port %d power\n", + portno); /* wait for stable power */ usbd_delay_ms(udev, pwrdly); } device_printf(dev, "%d port%s with %d " - "removable, %s powered\n", - nports, (nports != 1) ? "s" : "", - removable, udev->self_powered ? "self" : "bus"); + "removable, %s powered\n", nports, (nports != 1) ? "s" : "", + removable, udev->self_powered ? "self" : "bus"); /* the usual exploration will finish the setup */ @@ -637,8 +686,7 @@ error: usbd_transfer_unsetup(sc->sc_xfer, 2); - if(udev->hub) - { + if (udev->hub) { free(udev->hub, M_USBDEV); udev->hub = NULL; } @@ -653,10 +701,9 @@ uhub_detach(device_t dev) { struct uhub_softc *sc = device_get_softc(dev); - struct usbd_hub *hub = sc->sc_hub->hub; - struct usbd_port *up; - uint16_t port; - uint16_t nports; + struct usbd_hub *hub = sc->sc_udev->hub; + struct usbd_device *child; + uint8_t x; /* detach all children first */ bus_generic_detach(dev); @@ -666,26 +713,22 @@ return (0); } - nports = hub->hubdesc.bNbrPorts; - for(port = 0; - port < nports; - port++) - { - up = &hub->ports[port]; - if(up->device) - { - /* subdevices are not freed, because - * the caller of uhub_detach() will - * do that - */ - usbd_free_device(up, 0); - } + for (x = 0; x < hub->hubdesc.bNbrPorts; x++) { + + child = uhub_port_to_sub_device(sc->sc_udev, hub->ports + x); + + /* Subdevices are not freed, because + * the caller of uhub_detach() will + * do that. The function we are calling + * is NULL safe. + */ + usbd_free_device(child, 0); } usbd_transfer_unsetup(sc->sc_xfer, 2); free(hub, M_USBDEV); - sc->sc_hub->hub = NULL; + sc->sc_udev->hub = NULL; return (0); } @@ -701,20 +744,18 @@ char *buf, size_t buflen) { struct uhub_softc *sc = device_get_softc(parent); - struct usbd_hub *hub = sc->sc_hub->hub; + struct usbd_hub *hub = sc->sc_udev->hub; struct usbd_device *udev; - uint16_t port; - uint16_t nports; + uint8_t x; + uint8_t nports; uint8_t iface_index; mtx_lock(&usb_global_lock); nports = hub->hubdesc.bNbrPorts; - for(port = 0; - port < nports; - port++) + for (x = 0; x < nports; x++) { - udev = hub->ports[port].device; + udev = uhub_port_to_sub_device(sc->sc_udev, hub->ports + x); if(udev) { device_t * subdev = @@ -754,11 +795,11 @@ if(udev->probed == USBD_PROBED_IFACE_AND_FOUND) { snprintf(buf, buflen, "port=%i interface=%i", - port, iface_index); + x + 1, iface_index); } else { - snprintf(buf, buflen, "port=%i", port); + snprintf(buf, buflen, "port=%i", x + 1); } mtx_unlock(&usb_global_lock); @@ -771,21 +812,19 @@ char *buf, size_t buflen) { struct uhub_softc *sc = device_get_softc(parent); - struct usbd_hub *hub = sc->sc_hub->hub; + struct usbd_hub *hub = sc->sc_udev->hub; struct usbd_interface *iface; struct usbd_device *udev; - uint16_t port; - uint16_t nports; + uint8_t x; + uint8_t nports; uint8_t iface_index; mtx_lock(&usb_global_lock); nports = hub->hubdesc.bNbrPorts; - for(port = 0; - port < nports; - port++) + for (x = 0; x < nports; x++) { - udev = hub->ports[port].device; + udev = uhub_port_to_sub_device(sc->sc_udev, hub->ports + x); if(udev) { device_t * subdev = From owner-p4-projects@FreeBSD.ORG Sun Sep 23 14:59:52 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B84F216A421; Sun, 23 Sep 2007 14:59:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 75AAF16A417 for ; Sun, 23 Sep 2007 14:59:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 56BDF13C43E for ; Sun, 23 Sep 2007 14:59:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NExlMq088200 for ; Sun, 23 Sep 2007 14:59:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NExlNn088197 for perforce@freebsd.org; Sun, 23 Sep 2007 14:59:47 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 14:59:47 GMT Message-Id: <200709231459.l8NExlNn088197@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126736 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 14:59:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=126736 Change 126736 by hselasky@hselasky_laptop001 on 2007/09/23 14:59:13 FYI; The comments follow the P4 diff from top to bottom. - remove redundant inclusion of "sys/vnode.h" - after the change to always USB DMA buffers the "ums" driver needs a temporary buffer for scratching and decoding information, hence the HID library does not understand DMA buffers yet. See "sc_temp[]". - some space to tab conversion sneaked in two places, sorry. - actlen of USB control transfers is now 16-bit unsigned. - print a warning if the USB interrupt data is larger than "max_frame_size". - the "USB_CDEV_FLAG_FWD_SHORT" flag is redundant and has been removed. - UMS uses "usb_cdev_put_data_linear()" hence it does not understand DMA buffers ... Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ums.c#21 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ums.c#21 (text+ko) ==== @@ -50,7 +50,6 @@ #include #include #include -#include #include #include @@ -109,6 +108,7 @@ u_int8_t sc_buttons; u_int8_t sc_iid; + uint8_t sc_temp[64]; }; static void @@ -170,7 +170,7 @@ { struct ums_softc *sc = xfer->priv_sc; struct usbd_mbuf *m; - u_int8_t *buf = xfer->buffer; + uint8_t *buf = sc->sc_temp; u_int16_t len = xfer->actlen; int32_t buttons = 0; int32_t dx; @@ -183,6 +183,19 @@ tr_transferred: DPRINTF(5, "sc=%p actlen=%d\n", sc, len); + + if (len > sizeof(sc->sc_temp)) { + DPRINTF(5, "truncating large packet to %d bytes\n", + sizeof(sc->sc_temp)); + len = sizeof(sc->sc_temp); + } + + if (len == 0) { + goto tr_setup; + } + + usbd_copy_out(xfer->frbuffers + 0, 0, buf, len); + DPRINTF(5, "data = %02x %02x %02x %02x " "%02x %02x %02x %02x\n", (len > 0) ? buf[0] : 0, (len > 1) ? buf[1] : 0, @@ -190,10 +203,6 @@ (len > 4) ? buf[4] : 0, (len > 5) ? buf[5] : 0, (len > 6) ? buf[6] : 0, (len > 7) ? buf[7] : 0); - if (len == 0) { - goto tr_setup; - } - /* * The M$ Wireless Intellimouse 2.0 sends 1 extra leading byte * of data compared to most USB mice. This byte frequently @@ -276,11 +285,11 @@ (dx == 0) && (dy == 0) && (dz == 0) && (dt == 0) && (buttons == 0)) { - __callout_reset(&(sc->sc_callout), hz / 20, + __callout_reset(&(sc->sc_callout), hz / 20, &ums_put_queue_timeout, sc); } else { - __callout_stop(&(sc->sc_callout)); + __callout_stop(&(sc->sc_callout)); ums_put_queue(sc, dx, dy, dz, dt, buttons); } @@ -293,7 +302,8 @@ USBD_IF_POLL(&(sc->sc_cdev.sc_rdq_free), m); if (m) { - usbd_start_hardware(xfer); + xfer->frlengths[0] = xfer->max_data_length; + usbd_start_hardware(xfer); } } return; @@ -313,7 +323,7 @@ .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .flags = (USBD_PIPE_BOF|USBD_SHORT_XFER_OK), + .flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, .bufsize = 0, /* use wMaxPacketSize */ .callback = &ums_intr_callback, }, @@ -335,8 +345,8 @@ struct usb_attach_arg *uaa = device_get_ivars(dev); usb_interface_descriptor_t *id; void *d_ptr; - int32_t d_len; int32_t error = 0; + uint16_t d_len; DPRINTF(10, "\n"); @@ -353,8 +363,10 @@ return UMATCH_NONE; } - error = usbreq_read_report_desc(uaa->device, uaa->iface_index, - &d_ptr, &d_len, M_TEMP); + error = hid_read_report_desc_from_usb + (uaa->device, &usb_global_lock, + &d_ptr, &d_len, M_TEMP, uaa->iface_index); + if (error) { return UMATCH_NONE; } @@ -372,10 +384,10 @@ void *d_ptr = NULL; const char * p_buf[2]; int32_t unit = device_get_unit(dev); - int32_t d_len; int32_t isize; u_int32_t flags; int32_t err; + uint16_t d_len; u_int8_t i; char buf_1[16]; @@ -396,8 +408,10 @@ goto detach; } - err = usbreq_read_report_desc(uaa->device, uaa->iface_index, - &d_ptr, &d_len, M_TEMP); + err = hid_read_report_desc_from_usb + (uaa->device, &usb_global_lock, &d_ptr, + &d_len, M_TEMP, uaa->iface_index); + if (err) { device_printf(dev, "error reading report description\n"); goto detach; @@ -486,10 +500,10 @@ sc->sc_loc_btn[2].pos = 10; } - if (isize > sc->sc_xfer[0]->length) { + if (isize > sc->sc_xfer[0]->max_frame_size) { DPRINTF(0, "WARNING: report size, %d bytes, is larger " "than interrupt size, %d bytes!\n", - isize, sc->sc_xfer[0]->length); + isize, sc->sc_xfer[0]->max_frame_size); } /* announce information about the mouse */ @@ -553,8 +567,7 @@ sc->sc_cdev.sc_stop_read = &ums_stop_read; sc->sc_cdev.sc_open = &ums_open; sc->sc_cdev.sc_ioctl = &ums_ioctl; - sc->sc_cdev.sc_flags |= (USB_CDEV_FLAG_FWD_SHORT| - USB_CDEV_FLAG_WAKEUP_RD_IMMED| + sc->sc_cdev.sc_flags |= (USB_CDEV_FLAG_WAKEUP_RD_IMMED| USB_CDEV_FLAG_WAKEUP_WR_IMMED); err = usb_cdev_attach(&(sc->sc_cdev), sc, &(sc->sc_mtx), p_buf, @@ -647,7 +660,7 @@ buf[7] = (((~buttons) >> 3) & MOUSE_SYS_EXTBUTTONS); } - usb_cdev_put_data(&(sc->sc_cdev), buf, + usb_cdev_put_data_linear(&(sc->sc_cdev), buf, sc->sc_mode.packetsize, 1); } else { From owner-p4-projects@FreeBSD.ORG Sun Sep 23 15:13:07 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8F2316A41A; Sun, 23 Sep 2007 15:13:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BBC316A417 for ; Sun, 23 Sep 2007 15:13:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5CA4A13C45D for ; Sun, 23 Sep 2007 15:13:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NFD6gT091143 for ; Sun, 23 Sep 2007 15:13:06 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NFD6u2091140 for perforce@freebsd.org; Sun, 23 Sep 2007 15:13:06 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 15:13:06 GMT Message-Id: <200709231513.l8NFD6u2091140@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126738 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 15:13:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=126738 Change 126738 by hselasky@hselasky_laptop001 on 2007/09/23 15:12:42 FYI; The comments follow the P4 diff from top to bottom. - start "usb_driver_added_refcount" at 1 - the "root_port" in "struct usbd_bus" is now gone. Instead we store the root USB device at "bus->devices[0]". USB_START_ADDR is 0 for completeness. - update description of Wireless USB to include the maximum data rate. - "usbd_probe_and_attach()" has been factored out from "usbd_new_device()". This makes the code more clear. - passing a mutex to "usbd_do_request_flags()" and all "usbreq_xxx()" functions is now mandatory. - "usbd_fill_deviceinfo()" does no longer need the last parameter. - NOTE: the prototype of "usbreq_get_desc()" has changed. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb.c#17 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb.c#17 (text+ko) ==== @@ -83,7 +83,7 @@ #define USB_UCRED #endif -uint8_t usb_driver_added_refcount; +uint8_t usb_driver_added_refcount = 1; static uint8_t usb_post_init_called = 0; @@ -165,8 +165,8 @@ bus->is_exploring = 1; - while(bus->root_port.device && - bus->root_port.device->hub && + while(bus->devices[USB_START_ADDR] && + bus->devices[USB_START_ADDR]->hub && bus->needs_explore && (bus->wait_explore == 0)) { @@ -177,8 +177,8 @@ * exiting usb_global_lock, * which is actually Giant) */ - (bus->root_port.device->hub->explore) - (bus->root_port.device); + (bus->devices[USB_START_ADDR]->hub->explore) + (bus->devices[USB_START_ADDR]); } bus->is_exploring = 0; @@ -200,7 +200,7 @@ while(1) { - if(bus->root_port.device == 0) + if(bus->devices[USB_START_ADDR] == 0) { break; } @@ -210,7 +210,7 @@ /* Check if a detach happened * during discover: */ - if(bus->root_port.device == 0) + if(bus->devices[USB_START_ADDR] == 0) { break; } @@ -260,6 +260,10 @@ mtx_lock(&usb_global_lock); usb_driver_added_refcount++; + if (usb_driver_added_refcount == 0) { + /* avoid zero, hence that is memory default */ + usb_driver_added_refcount = 1; + } dc = devclass_find("usb"); @@ -320,8 +324,6 @@ mtx_assert(&usb_global_lock, MA_OWNED); - bus->root_port.power = USB_MAX_POWER; - switch (bus->usbrev) { case USBREV_1_0: speed = USB_SPEED_FULL; @@ -340,7 +342,7 @@ case USBREV_2_5: speed = USB_SPEED_VARIABLE; - device_printf(bus->bdev, "Wireless USB v2.5\n"); + device_printf(bus->bdev, "480MBps Wireless USB v2.5\n"); break; default: @@ -348,11 +350,15 @@ return; } - err = usbd_new_device(bus->bdev, bus, 0, speed, 0, - &bus->root_port); + err = usbd_new_device(bus->bdev, bus, NULL, 0, speed, 0, 0); + + if (!err) { + err = usbd_probe_and_attach(bus->bdev, bus->devices[USB_START_ADDR]); + } + if(!err) { - if(bus->root_port.device->hub == NULL) + if(bus->devices[USB_START_ADDR]->hub == NULL) { device_printf(bus->bdev, "root device is not a hub\n"); @@ -476,13 +482,13 @@ /* detach children first */ bus_generic_detach(dev); - if(bus->root_port.device != NULL) + if(bus->devices[USB_START_ADDR] != NULL) { /* free device, but not sub-devices, * hence they are freed by the * caller of this function */ - usbd_free_device(&bus->root_port, 0); + usbd_free_device(bus->devices[USB_START_ADDR], 0); } /* kill off event thread */ @@ -715,11 +721,11 @@ } } - mtx_lock(dev->sc_mtx_ptr); - error = usbd_do_request_flags_mtx - (udev, dev->sc_mtx_ptr, &ur->ucr_request, ptr, ur->ucr_flags, - &ur->ucr_actlen, USBD_DEFAULT_TIMEOUT); - mtx_unlock(dev->sc_mtx_ptr); + error = usbd_do_request_flags + (udev, NULL, &ur->ucr_request, ptr, ur->ucr_flags, + &len, USBD_DEFAULT_TIMEOUT); + + ur->ucr_actlen = len; if (error) { error = EIO; @@ -752,7 +758,7 @@ goto done; } - error = usbd_fill_deviceinfo(udev, di, 1); + error = usbd_fill_deviceinfo(udev, di); usbd_unref_device(udev); goto done; @@ -765,7 +771,7 @@ case USB_DEVICEENUMERATE: { struct usb_device_enumerate *ude = (void *)addr; - struct usbd_port *pp; + struct usbd_device *parent_hub; usb_port_status_t ps; uint8_t old_addr; uint8_t buf[8]; @@ -777,13 +783,13 @@ } old_addr = udev->address; - pp = udev->powersrc; - if (pp == NULL) { + parent_hub = udev->parent_hub; + if (parent_hub == NULL) { error = EINVAL; goto ret002; } - error = usbreq_reset_port(pp->parent, pp->portno, &ps); + error = usbreq_reset_port(parent_hub, NULL, &ps, udev->port_no); if (error) { error = ENXIO; goto ret002; @@ -793,12 +799,13 @@ * our device should be at address * zero: */ - udev->address = 0; + udev->address = USB_START_ADDR; /* It should be allowed to read some descriptors * from address zero: */ - error = usbreq_get_desc(udev, UDESC_DEVICE, 0, 8, buf, 0); + error = usbreq_get_desc(udev, NULL, buf, + 8, 8, 0, UDESC_DEVICE, 0, 0); if (error) { error = ENXIO; goto ret002; @@ -806,7 +813,7 @@ /* Restore device address: */ - error = usbreq_set_address(udev, old_addr); + error = usbreq_set_address(udev, NULL, old_addr); if (error) { error = ENXIO; goto ret002; From owner-p4-projects@FreeBSD.ORG Sun Sep 23 15:18:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 869A916A4C1; Sun, 23 Sep 2007 15:18:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B02416A47C for ; Sun, 23 Sep 2007 15:18:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 071C413C46E for ; Sun, 23 Sep 2007 15:18:14 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NFID5f091372 for ; Sun, 23 Sep 2007 15:18:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NFIDmx091369 for perforce@freebsd.org; Sun, 23 Sep 2007 15:18:13 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 15:18:13 GMT Message-Id: <200709231518.l8NFIDmx091369@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126740 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 15:18:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=126740 Change 126740 by hselasky@hselasky_laptop001 on 2007/09/23 15:17:12 FYI; The comments follow the P4 diff from top to bottom. - we now need "sys/sx.h" included by default. - update "USBD_CHECK_STATUS()" macro to use the bit-field version instead of the masked version of USBD_XXX flags. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_port.h#16 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_port.h#16 (text+ko) ==== @@ -60,6 +60,7 @@ # include # include # include +# include # include # include # include /* SYSCTL_XXX() */ @@ -233,18 +234,12 @@ #define PRINTFN(n,x) #endif -#define USBD_CHECK_STATUS(xfer) \ -{ if((xfer)->flags & USBD_DEV_TRANSFERRING) \ - { \ - (xfer)->flags &= ~USBD_DEV_TRANSFERRING; \ - if( (xfer)->error ) \ - { goto tr_error; } \ - else \ - { goto tr_transferred; } \ - } \ - else \ - { goto tr_setup; } \ -} \ +#define USBD_CHECK_STATUS(xfer) do { \ + if (!(xfer)->flags_int.transferring) goto tr_setup; \ + (xfer)->flags_int.transferring = 0; \ + if ((xfer)->error) goto tr_error; \ + goto tr_transferred; \ +} while (0) /**/ #define _MAKE_ENUM(enum,value,arg...) \ From owner-p4-projects@FreeBSD.ORG Sun Sep 23 16:09:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6056A16A419; Sun, 23 Sep 2007 16:09:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F4FF16A46B for ; Sun, 23 Sep 2007 16:09:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EEF2D13C481 for ; Sun, 23 Sep 2007 16:09:21 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NG9LQV095954 for ; Sun, 23 Sep 2007 16:09:21 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NG9Lx5095951 for perforce@freebsd.org; Sun, 23 Sep 2007 16:09:21 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 16:09:21 GMT Message-Id: <200709231609.l8NG9Lx5095951@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126743 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 16:09:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=126743 Change 126743 by hselasky@hselasky_laptop001 on 2007/09/23 16:09:11 FYI; The comments follow the P4 diff from top to bottom. - the "usbd_devinfo_vp()" function has been removed. Now the information that was once provided by this function is stored in "udev->manufacturer" and "udev->product". - new internal function "usbd_finish_vp_info()". This function will simply trim away spaces from "udev->manufacturer", "udev->product" and make sure that these arrays have a sane description string, if empty. - the "usbd_devinfo()" function now intelligently uses the "bDeviceClass" value to decide if the class should be shown or not. - factored out ADD_BYTES() into USBD_ADD_BYTES() - new global function "usbd_pause_mtx()". Simply a wrapper for "msleep()". - "usbd_get_hdesc()" has been moved into "usb_hid.c" so that HID parsing and other related functions are in the same file. - "usbd_find_idesc()", "usbd_find_edesc()"; Use correct type for "iface_index" and "alt_index". There will never be more than "255" alternate settings or interfaces, hence you will not be able to program the USB device for more than 256 alternate settings according to the USB specification. - "usbd_find_idesc()", "usbd_find_edesc()"; No functional changes. Some refactorisation. - correct a misleading comment about the USB transaction translator. - add a "mtx_assert()" so that you more easily know what mutexes must be locked before making a call. - "usbd_free_pipe_data()" now uses a mask to select which interfaces are selected. Typical masks are "0" and "0-1". - "usbd_fill_iface_data"; Speed and wMaxPacketSize checks have been moved into "usbd_transfer_setup_sub()". - "usbd_search_and_set_config()" was renamed back to "usbd_set_config_no()". - No need to loop on "usbreq_get_desc()", hence this function will already loop internally, when specified by the "retries" parameter. - passing a mutex to "usbd_do_request_flags()" and all "usbreq_xxx()" functions is now mandatory. - "usbd_set_alt_interface_index()" is now part of "usbd_subr.c", hence it will mess with the internal structures and stuff, and not just do an USB request. - "usbd_probe_and_attach()"; get rid of passing USB port information. - specify valid USB speed combinations in the table "usbd_hub_speed_combs[]", hence probably deciding validity will become more complicated than a greater or less than check. - "usbd_new_device()"; - search free device address from the beginning - initialize new default mutex and sx lock. - when a speed combination is not valid we reject instead of reducing the speed. - high-speed HUB address and port number is stored in "struct usbd_device". - several size checks have been factored out. - cache some common strings by default and pre-figure out the laguage ID - "usbd_set_desc()"; stack reduction de-luxe - "usbd_get_page()" can only be used on pages that have a length equal to "USBD_PAGE_SIZE" for sake of optimisation. - "usbd_uiomove()" new function. - "struct usbd_page_info" and assosiated functions using it has been removed. - "usbd_std_transfer_setup()" has been replaced by "usbd_transfer_setup_sub()". - all "usbd_get_max..." functions were removed. The information is now stored in "struct usbd_xfer". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#42 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#42 (text+ko) ==== @@ -102,42 +102,32 @@ } static void -usbd_devinfo_vp(struct usbd_device *udev, char *v, char *p, uint16_t v_len, - uint16_t p_len, uint8_t usedev) +usbd_finish_vp_info(struct usbd_device *udev) { usb_device_descriptor_t *udd = &udev->ddesc; - char *vendor; - char *product; + uint8_t *vendor; + uint8_t *product; #ifdef USBVERBOSE const struct usb_knowndev *kdp; #endif uint16_t vendor_id; uint16_t product_id; - usbd_status err; - v[0] = 0; - p[0] = 0; + usbd_trim_spaces(udev->manufacturer); + usbd_trim_spaces(udev->product); - if(udev == NULL) { - return; + if (udev->manufacturer[0]) { + vendor = udev->manufacturer; + } else { + vendor = NULL; } - if (usedev) - { - err = usbreq_get_string_any - (udev, udd->iManufacturer, v, v_len); - - usbd_trim_spaces(v); - - err = usbreq_get_string_any - (udev, udd->iProduct, p, p_len); - - usbd_trim_spaces(p); + if (udev->product[0]) { + product = udev->product; + } else { + product = NULL; } - vendor = (*v) ? v : NULL; - product = (*p) ? p : NULL; - vendor_id = UGETW(udd->idVendor); product_id = UGETW(udd->idProduct); @@ -162,19 +152,23 @@ } #endif if (vendor && *vendor) { - if (v != vendor) { - strlcpy(v, vendor, v_len); + if (udev->manufacturer != vendor) { + strlcpy(udev->manufacturer, vendor, + sizeof(udev->manufacturer)); } } else { - snprintf(v, v_len, "vendor 0x%04x", vendor_id); + snprintf(udev->manufacturer, + sizeof(udev->manufacturer), "vendor 0x%04x", vendor_id); } if (product && *product) { - if (p != product) { - strlcpy(p, product, p_len); + if (udev->product != product) { + strlcpy(udev->product, product, + sizeof(udev->product)); } } else { - snprintf(p, p_len, "product 0x%04x", product_id); + snprintf(udev->product, + sizeof(udev->product), "product 0x%04x", product_id); } return; } @@ -188,24 +182,19 @@ } void -usbd_devinfo(struct usbd_device *udev, int showclass, - char *dst_ptr, u_int16_t dst_len) +usbd_devinfo(struct usbd_device *udev, char *dst_ptr, uint16_t dst_len) { usb_device_descriptor_t *udd = &udev->ddesc; - char vendor[USB_MAX_STRING_LEN]; - char product[USB_MAX_STRING_LEN]; - u_int16_t bcdDevice, bcdUSB; - - usbd_devinfo_vp(udev, vendor, product, - sizeof(vendor), sizeof(product), 1); + uint16_t bcdDevice; + uint16_t bcdUSB; bcdUSB = UGETW(udd->bcdUSB); bcdDevice = UGETW(udd->bcdDevice); - if(showclass) + if (udd->bDeviceClass != 0xFF) { snprintf(dst_ptr, dst_len, "%s %s, class %d/%d, rev %x.%02x/" - "%x.%02x, addr %d", vendor, product, + "%x.%02x, addr %d", udev->manufacturer, udev->product, udd->bDeviceClass, udd->bDeviceSubClass, (bcdUSB >> 8), bcdUSB & 0xFF, (bcdDevice >> 8), bcdDevice & 0xFF, @@ -214,7 +203,7 @@ else { snprintf(dst_ptr, dst_len, "%s %s, rev %x.%02x/" - "%x.%02x, addr %d", vendor, product, + "%x.%02x, addr %d", udev->manufacturer, udev->product, (bcdUSB >> 8), bcdUSB & 0xFF, (bcdDevice >> 8), bcdDevice & 0xFF, udev->address); @@ -254,7 +243,32 @@ usb_delay_ms(udev->bus, ms); } -#define ADD_BYTES(ptr,len) ((void *)(((u_int8_t *)(ptr)) + (len))) +/*------------------------------------------------------------------------* + * usbd_pause_mtx - factored out code + * + * NOTE: number of milliseconds per second is 1024 for sake of optimisation + *------------------------------------------------------------------------*/ +void +usbd_pause_mtx(struct mtx *mtx, uint32_t ms) +{ + int error; + + if (cold) { + ms = (ms+1) * 1024; + DELAY(ms); + + } else { + + ms = USBD_MS_TO_TICKS(ms); + + if (ms == 0) { + ms = 1; + } + + error = mtx_sleep(&error, mtx, 0, "pause_mtx", ms); + } + return; +} usb_descriptor_t * usbd_desc_foreach(usb_config_descriptor_t *cd, usb_descriptor_t *desc) @@ -265,54 +279,30 @@ return NULL; } - end = ADD_BYTES(cd, UGETW(cd->wTotalLength)); + end = USBD_ADD_BYTES(cd, UGETW(cd->wTotalLength)); if (desc == NULL) { - desc = ADD_BYTES(cd, 0); + desc = USBD_ADD_BYTES(cd, 0); } else { - desc = ADD_BYTES(desc, desc->bLength); + desc = USBD_ADD_BYTES(desc, desc->bLength); } return (((((void *)desc) >= ((void *)cd)) && (((void *)desc) < end) && - (ADD_BYTES(desc,desc->bLength) >= ((void *)cd)) && - (ADD_BYTES(desc,desc->bLength) <= end) && + (USBD_ADD_BYTES(desc,desc->bLength) >= ((void *)cd)) && + (USBD_ADD_BYTES(desc,desc->bLength) <= end) && (desc->bLength >= sizeof(*desc))) ? desc : NULL); } -usb_hid_descriptor_t * -usbd_get_hdesc(usb_config_descriptor_t *cd, usb_interface_descriptor_t *id) -{ - usb_descriptor_t *desc = (void *)id; - - if(desc == NULL) { - return NULL; - } - - while ((desc = usbd_desc_foreach(cd, desc))) - { - if ((desc->bDescriptorType == UDESC_HID) && - (desc->bLength >= USB_HID_DESCRIPTOR_SIZE(0))) - { - return (void *)desc; - } - - if (desc->bDescriptorType == UDESC_INTERFACE) - { - break; - } - } - return NULL; -} - usb_interface_descriptor_t * -usbd_find_idesc(usb_config_descriptor_t *cd, u_int16_t iface_index, - u_int16_t alt_index) +usbd_find_idesc(usb_config_descriptor_t *cd, + uint8_t iface_index, uint8_t alt_index) { usb_descriptor_t *desc = NULL; usb_interface_descriptor_t *id; - u_int16_t curidx = 0xFFFF; - u_int16_t lastidx = 0xFFFF; - u_int16_t curaidx = 0; + uint8_t curidx = 0; + uint8_t lastidx = 0; + uint8_t curaidx = 0; + uint8_t first = 1; while ((desc = usbd_desc_foreach(cd, desc))) { @@ -321,16 +311,20 @@ { id = (void *)desc; - if(id->bInterfaceNumber != lastidx) - { + if (first) { + first = 0; + lastidx = id->bInterfaceNumber; + + } else if (id->bInterfaceNumber != lastidx) { + lastidx = id->bInterfaceNumber; curidx++; curaidx = 0; - } - else - { + + } else { curaidx++; } + if((iface_index == curidx) && (alt_index == curaidx)) { return (id); @@ -341,18 +335,18 @@ } usb_endpoint_descriptor_t * -usbd_find_edesc(usb_config_descriptor_t *cd, u_int16_t iface_index, - u_int16_t alt_index, u_int16_t endptidx) +usbd_find_edesc(usb_config_descriptor_t *cd, + uint8_t iface_index, uint8_t alt_index, uint8_t ep_index) { usb_descriptor_t *desc = NULL; usb_interface_descriptor_t *d; - u_int16_t curidx = 0; + uint8_t curidx = 0; d = usbd_find_idesc(cd, iface_index, alt_index); if (d == NULL) return NULL; - if (endptidx >= d->bNumEndpoints) /* quick exit */ + if (ep_index >= d->bNumEndpoints) /* quick exit */ return NULL; desc = ((void *)d); @@ -365,10 +359,14 @@ if (desc->bDescriptorType == UDESC_ENDPOINT) { - if (curidx == endptidx) { - return ((desc->bLength >= USB_ENDPOINT_DESCRIPTOR_SIZE) ? - ((void *)desc) : NULL); + if (curidx == ep_index) { + if (desc->bLength < USB_ENDPOINT_DESCRIPTOR_SIZE) { + /* endpoint index is invalid */ + break; + } + return ((void *)desc); } + curidx++; } } @@ -386,8 +384,9 @@ * matching the same criteria. *------------------------------------------------------------------------*/ void * -usbd_find_descriptor(struct usbd_device *udev, void *id, uint16_t iface_index, - int16_t type, int16_t subtype) +usbd_find_descriptor(struct usbd_device *udev, void *id, uint8_t iface_index, + uint8_t type, uint8_t type_mask, + uint8_t subtype, uint8_t subtype_mask) { usb_descriptor_t *desc; usb_config_descriptor_t *cd; @@ -418,11 +417,8 @@ break; } - if (((type == USBD_TYPE_ANY) || - (type == desc->bDescriptorType)) && - ((subtype == USBD_SUBTYPE_ANY) || - (subtype == desc->bDescriptorSubtype))) - { + if (((desc->bDescriptorType & type_mask) == type) && + ((desc->bDescriptorSubtype & subtype_mask) == subtype)) { return desc; } } @@ -494,7 +490,7 @@ * * USB HUBs have a very simple Transaction Translator, that will * simply pipeline all the SPLIT transactions. That means that the - * first one queued will be executed! + * transactions will be executed in the order they are queued! * */ @@ -524,6 +520,8 @@ struct usbd_bus *bus = udev->bus; struct usbd_hub *hub; + mtx_assert(&(bus->mtx), MA_OWNED); + if (usbd_get_speed(udev) == USB_SPEED_HIGH) { if (slot >= USB_HS_MICRO_FRAMES_MAX) { slot = usbd_find_best_slot(bus->uframe_usage, 0, @@ -534,7 +532,15 @@ if (usbd_get_speed(udev) == USB_SPEED_LOW) { len *= 8; } - hub = udev->myhsport->parent->hub; + + /* + * The Host Controller Driver should have + * performed checks so that the lookup + * below does not result in a NULL pointer + * access. + */ + + hub = bus->devices[udev->hs_hub_addr]->hub; if (slot >= USB_HS_MICRO_FRAMES_MAX) { slot = usbd_find_best_slot(hub->uframe_usage, USB_FS_ISOC_UFRAME_MAX, 6); @@ -580,10 +586,9 @@ isoc_time = usbd_isoc_time_expand(udev->bus, isoc_time); - if (udev->myhsport && - udev->myhsport->parent->hub) { + hs_hub = udev->bus->devices[udev->hs_hub_addr]->hub; - hs_hub = udev->myhsport->parent->hub; + if (hs_hub != NULL) { fss_a = hs_hub->fs_isoc_schedule + (hs_hub->isoc_last_time % USB_ISOC_TIME_MAX); @@ -646,20 +651,22 @@ return slot; } -/* NOTE: pipes should not be in use when - * ``usbd_free_pipe_data()'' is called - */ +/*------------------------------------------------------------------------* + * usbd_free_pipe_data + * + * NOTE: The interface pipes should not be in use when + * this function is called ! + *------------------------------------------------------------------------*/ static void -usbd_free_pipe_data(struct usbd_device *udev, int iface_index) +usbd_free_pipe_data(struct usbd_device *udev, + uint8_t iface_index, uint8_t iface_mask) { struct usbd_pipe *pipe = udev->pipes; struct usbd_pipe *pipe_end = udev->pipes_end; while (pipe != pipe_end) { - if((iface_index == pipe->iface_index) || - (iface_index == -1)) - { + if ((pipe->iface_index & iface_mask) == iface_index) { /* free pipe */ pipe->edesc = NULL; } @@ -668,8 +675,12 @@ return; } +/*------------------------------------------------------------------------* + * usbd_fill_iface_data + *------------------------------------------------------------------------*/ usbd_status -usbd_fill_iface_data(struct usbd_device *udev, int iface_index, int alt_index) +usbd_fill_iface_data(struct usbd_device *udev, + uint8_t iface_index, uint8_t alt_index) { struct usbd_interface *iface = usbd_get_iface(udev,iface_index); struct usbd_pipe *pipe = udev->pipes; @@ -704,7 +715,7 @@ pipe = &udev->pipes[0]; /* free old pipes if any */ - usbd_free_pipe_data(udev, iface_index); + usbd_free_pipe_data(udev, iface_index, 0-1); id = usbd_find_idesc(udev->cdesc, iface_index, alt_index); if(id == NULL) @@ -742,31 +753,6 @@ found: ed = (void *)desc; - if(udev->speed == USB_SPEED_HIGH) - { - /* control and bulk endpoints have fixed max packet sizes */ - switch (UE_GET_XFERTYPE(ed->bmAttributes)) { - case UE_CONTROL: - USETW(ed->wMaxPacketSize, USB_2_MAX_CTRL_PACKET); - break; - case UE_BULK: - USETW(ed->wMaxPacketSize, USB_2_MAX_BULK_PACKET); - break; - } - } - - if (usbd_get_max_frame_size(ed) == 0) { -#ifdef USB_DEBUG - printf("%s: invalid wMaxPacketSize=0x%04x, addr=%d!\n", - __FUNCTION__, UGETW(ed->wMaxPacketSize), - udev->address); -#endif - /* avoid division by zero - * (in EHCI/UHCI/OHCI drivers) - */ - usbd_set_max_packet_size_count(ed, USB_MAX_IPACKET, 1); - } - /* find a free pipe */ while (pipe != pipe_end) { @@ -787,7 +773,7 @@ __FUNCTION__, udev->address); /* free old pipes if any */ - usbd_free_pipe_data(udev, iface_index); + usbd_free_pipe_data(udev, iface_index, 0-1); return (USBD_INVAL); } @@ -800,7 +786,7 @@ /* mtx_assert() */ /* free all pipes, if any */ - usbd_free_pipe_data(udev, -1); + usbd_free_pipe_data(udev, 0, 0); /* free all interfaces, if any */ while (iface != iface_end) @@ -819,7 +805,15 @@ return; } -/* - USB config 0 +/*------------------------------------------------------------------------* + * usbd_set_config_no + * + * This function will search all the configuration descriptors for a + * matching configuration number. It is recommended to use + * the function "usbd_set_config_index()" when the configuration + * number does not matter. + * + * - USB config 0 * - USB interfaces * - USB alternative interfaces * - USB pipes @@ -828,13 +822,13 @@ * - USB interfaces * - USB alternative interfaces * - USB pipes - */ + *------------------------------------------------------------------------*/ usbd_status -usbd_search_and_set_config(struct usbd_device *udev, int no, int msg) +usbd_set_config_no(struct usbd_device *udev, uint8_t no, uint8_t msg) { usb_config_descriptor_t cd; usbd_status err; - int index; + uint8_t index; if(no == USB_UNCONFIG_NO) { @@ -848,7 +842,7 @@ index < udev->ddesc.bNumConfigurations; index++) { - err = usbreq_get_config_desc(udev, index, &cd); + err = usbreq_get_config_desc(udev, &usb_global_lock, &cd, index); if(err) { return (err); @@ -862,13 +856,18 @@ } usbd_status -usbd_set_config_index(struct usbd_device *udev, int index, int msg) +usbd_set_config_index(struct usbd_device *udev, uint8_t index, uint8_t msg) { usb_status_t ds; usb_hub_descriptor_t hd; - usb_config_descriptor_t cd, *cdp; + usb_config_descriptor_t cd; + usb_config_descriptor_t *cdp; + uint16_t len; + uint16_t power; + uint16_t max_power; + uint8_t nifc; + uint8_t selfpowered; usbd_status err; - int nifc, len, selfpowered, power; PRINTFN(5,("udev=%p index=%d\n", udev, index)); @@ -877,12 +876,12 @@ /* leave unallocated when * unconfiguring the device */ - err = usbreq_set_config(udev, USB_UNCONFIG_NO); + err = usbreq_set_config(udev, &usb_global_lock, USB_UNCONFIG_NO); goto error; } /* get the short descriptor */ - err = usbreq_get_config_desc(udev, index, &cd); + err = usbreq_get_config_desc(udev, &usb_global_lock, &cd, index); if(err) { goto error; @@ -901,25 +900,13 @@ cdp = udev->cdesc; - /* Get the full descriptor. Try a few times for slow devices. */ - for (nifc = 0; nifc < 3; nifc++) { + /* Get the full descriptor. Try 3 times for slow devices. */ - err = usbreq_get_desc(udev, UDESC_CONFIG, index, len, cdp, 3); - - if (!err) break; - - usbd_delay_ms(udev, 200); - } - + err = usbreq_get_desc(udev, &usb_global_lock, cdp, len, len, + 0, UDESC_CONFIG, index, 3); if (err) goto error; - if(cdp->bDescriptorType != UDESC_CONFIG) - { - PRINTF(("bad desc %d\n", - cdp->bDescriptorType)); - err = USBD_INVAL; - goto error; - } + if(cdp->bNumInterface > (sizeof(udev->ifaces)/sizeof(udev->ifaces[0]))) { PRINTF(("too many interfaces: %d\n", cdp->bNumInterface)); @@ -939,7 +926,8 @@ * It seems that the power status can be * determined by the hub characteristics. */ - err = usbreq_get_hub_descriptor(udev, &hd); + err = usbreq_get_hub_descriptor + (udev, &usb_global_lock, &hd); if(!err && (UGETW(hd.wHubCharacteristics) & @@ -951,7 +939,9 @@ UGETW(hd.wHubCharacteristics), usbd_errstr(err))); } else { - err = usbreq_get_device_status(udev, &ds); + err = usbreq_get_device_status + (udev, &usb_global_lock, &ds); + if(!err && (UGETW(ds.wStatus) & UDS_SELF_POWERED)) { @@ -971,18 +961,26 @@ /* Check if we have enough power. */ power = cdp->bMaxPower * 2; - if(power > udev->powersrc->power) + + if (udev->parent_hub) { + max_power = udev->parent_hub->hub->portpower; + } else { + max_power = USB_MAX_POWER; + } + + if(power > max_power) { - PRINTF(("power exceeded %d %d\n", power, udev->powersrc->power)); + PRINTF(("power exceeded %d %d\n", power, max_power)); + /* XXX print nicer message */ if(msg) { device_printf(udev->bus->bdev, - "device addr %d (config %d) exceeds power " - "budget, %d mA > %d mA\n", - udev->address, - cdp->bConfigurationValue, - power, udev->powersrc->power); + "device addr %d (config %d) exceeds power " + "budget, %d mA > %d mA\n", + udev->address, + cdp->bConfigurationValue, + power, max_power); } err = USBD_NO_POWER; goto error; @@ -993,7 +991,8 @@ udev->config = cdp->bConfigurationValue; /* Set the actual configuration value. */ - err = usbreq_set_config(udev, cdp->bConfigurationValue); + err = usbreq_set_config(udev, &usb_global_lock, + cdp->bConfigurationValue); if(err) { goto error; @@ -1018,9 +1017,33 @@ return (err); } +usbd_status +usbd_set_alt_interface_index(struct usbd_device *udev, + uint8_t iface_index, uint8_t alt_index) +{ + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); + usbd_status err; + + if (iface == NULL) { + err = USBD_INVAL; + goto done; + } + + err = usbd_fill_iface_data(udev, iface_index, alt_index); + if(err) { + goto done; + } + + err = usbreq_set_alt_interface_no + (udev, &usb_global_lock, iface_index, + iface->idesc->bAlternateSetting); + + done: + return err; +} + int -usbd_fill_deviceinfo(struct usbd_device *udev, struct usb_device_info *di, - int usedev) +usbd_fill_deviceinfo(struct usbd_device *udev, struct usb_device_info *di) { struct usbd_port *p; uint16_t s; @@ -1034,11 +1057,16 @@ bzero(di, sizeof(di[0])); + mtx_lock(&usb_global_lock); + di->udi_bus = device_get_unit(udev->bus->bdev); di->udi_addr = udev->address; - usbd_devinfo_vp(udev, di->udi_vendor, di->udi_product, - sizeof(di->udi_vendor), sizeof(di->udi_product), usedev); - usbd_printBCD(di->udi_release, sizeof(di->udi_release), UGETW(udev->ddesc.bcdDevice)); + strlcpy(di->udi_vendor, udev->manufacturer, + sizeof(di->udi_vendor)); + strlcpy(di->udi_product, udev->product, + sizeof(di->udi_product)); + usbd_printBCD(di->udi_release, sizeof(di->udi_release), + UGETW(udev->ddesc.bcdDevice)); di->udi_vendorNo = UGETW(udev->ddesc.idVendor); di->udi_productNo = UGETW(udev->ddesc.idProduct); di->udi_releaseNo = UGETW(udev->ddesc.bcdDevice); @@ -1071,12 +1099,10 @@ i++) { p = &udev->hub->ports[i]; - if(p->device) - { - err = p->device->address; - } - else - { + + if (p->device_addr != USB_START_ADDR) { + err = p->device_addr; + } else { s = UGETW(p->status.wPortStatus); if (s & UPS_PORT_ENABLED) { @@ -1099,6 +1125,7 @@ } di->udi_nports = udev->hub->hubdesc.bNbrPorts; } + mtx_unlock(&usb_global_lock); return 0; } @@ -1149,25 +1176,23 @@ return; } -/* "usbd_probe_and_attach()" is called - * from "usbd_new_device()" and "uhub_explore()" - */ +/*------------------------------------------------------------------------* + * usbd_probe_and_attach + * + * This function is called from "uhub_explore_sub()" + *------------------------------------------------------------------------*/ usbd_status -usbd_probe_and_attach(device_t parent, int port, struct usbd_port *up) +usbd_probe_and_attach(device_t parent, struct usbd_device *udev) { struct usb_attach_arg uaa; - struct usbd_device *udev = up->device; device_t bdev = NULL; usbd_status err = 0; u_int8_t config; u_int8_t i; - up->last_refcount = usb_driver_added_refcount; - if(udev == NULL) { - PRINTF(("%s: port %d has no device\n", - device_get_nameunit(parent), port)); + PRINTF(("udev == NULL\n")); return (USBD_INVAL); } @@ -1178,7 +1203,7 @@ /* probe and attach */ uaa.device = udev; - uaa.port = port; + uaa.port = udev->port_no; uaa.configno = -1; uaa.vendor = UGETW(udev->ddesc.idVendor); uaa.product = UGETW(udev->ddesc.idProduct); @@ -1242,7 +1267,7 @@ device_printf(parent, "port %d, set config at addr %d " "failed, error=%s\n", - port, udev->address, + udev->port_no, udev->address, usbd_errstr(err)); goto done; } @@ -1321,7 +1346,7 @@ device_printf(parent, "port %d, set config at addr %d " "failed, error=%s\n", - port, udev->address, + udev->port_no, udev->address, usbd_errstr(err)); goto done; } @@ -1361,45 +1386,55 @@ return err; } -/* +static const uint8_t +usbd_hub_speed_combs[USB_SPEED_MAX][USB_SPEED_MAX] = { + /* HUB */ /* subdevice */ + [USB_SPEED_HIGH][USB_SPEED_HIGH] = 1, + [USB_SPEED_HIGH][USB_SPEED_FULL] = 1, + [USB_SPEED_HIGH][USB_SPEED_LOW] = 1, + [USB_SPEED_FULL][USB_SPEED_FULL] = 1, + [USB_SPEED_FULL][USB_SPEED_LOW] = 1, + [USB_SPEED_LOW][USB_SPEED_LOW] = 1, +}; + +/*------------------------------------------------------------------------* + * usbd_new_device + * * Called when a new device has been put in the powered state, * but not yet in the addressed state. * Get initial descriptor, set the address, get full descriptor, * and attach a driver. - */ + *------------------------------------------------------------------------*/ usbd_status -usbd_new_device(device_t parent, struct usbd_bus *bus, int depth, - int speed, int port, struct usbd_port *up) +usbd_new_device(device_t parent, struct usbd_bus *bus, + struct usbd_device *parent_hub, uint8_t depth, + uint8_t speed, uint8_t port_index, uint8_t port_no) { struct usbd_device *adev; struct usbd_device *udev; struct usbd_device *hub; usbd_status err = 0; - int addr; - int i; + uint8_t buf[4]; + uint8_t addr; PRINTF(("bus=%p port=%d depth=%d speed=%d\n", - bus, port, depth, speed)); + bus, port_no, depth, speed)); + + /* find an unused and valid address */ - /* find unused address */ - addr = USB_MAX_DEVICES; -#if (USB_MAX_DEVICES == 0) -#error "(USB_MAX_DEVICES == 0)" +#if (USB_MAX_DEVICES < USB_START_ADDR) +#error "USB_MAX_DEVICES < USB_START_ADDR" #endif - while(addr--) - { - if(addr == 0) - { - /* address 0 is always unused */ - device_printf(bus->bdev, - "No free USB addresses, " - "new device ignored.\n"); - return (USBD_NO_ADDR); - } - if(bus->devices[addr] == 0) - { - break; - } + for (addr = USB_START_ADDR + 1; addr < USB_MAX_DEVICES; addr++) { + if (bus->devices[addr] == NULL) break; + } + + if (addr == USB_MAX_DEVICES) { + + device_printf(bus->bdev, + "No free USB addresses, " + "new device ignored.\n"); + return USBD_NO_ADDR; } udev = malloc(sizeof(udev[0]), M_USB, M_WAITOK|M_ZERO); @@ -1408,72 +1443,72 @@ return (USBD_NOMEM); } - up->device = udev; + /* initialize our SX-lock */ + sx_init(udev->default_sx, "USB device SX lock"); + + /* initialize our mutex */ + mtx_init(udev->default_mtx, "USB device mutex", NULL, MTX_DEF); + + /* make a relationship between port and device address */ + if (parent_hub) { + parent_hub->hub->ports[port_index].device_addr = addr; + } /* set up default endpoint descriptor */ udev->default_ep_desc.bLength = USB_ENDPOINT_DESCRIPTOR_SIZE; udev->default_ep_desc.bDescriptorType = UDESC_ENDPOINT; udev->default_ep_desc.bEndpointAddress = USB_CONTROL_ENDPOINT; udev->default_ep_desc.bmAttributes = UE_CONTROL; - USETW(udev->default_ep_desc.wMaxPacketSize, USB_MAX_IPACKET); + udev->default_ep_desc.wMaxPacketSize[0] = USB_MAX_IPACKET; + udev->default_ep_desc.wMaxPacketSize[1] = 0; + udev->ddesc.bMaxPacketSize = 0; udev->default_ep_desc.bInterval = 0; + udev->parent_hub = parent_hub; + udev->port_index = port_index; + udev->port_no = port_no; udev->bus = bus; udev->quirks = &usbd_no_quirk; udev->address = USB_START_ADDR; - udev->ddesc.bMaxPacketSize = 0; udev->depth = depth; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Sep 23 16:22:39 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 603EE16A421; Sun, 23 Sep 2007 16:22:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2ECC816A420 for ; Sun, 23 Sep 2007 16:22:39 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0B66D13C44B for ; Sun, 23 Sep 2007 16:22:39 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NGMc8G096913 for ; Sun, 23 Sep 2007 16:22:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NGMcxN096910 for perforce@freebsd.org; Sun, 23 Sep 2007 16:22:38 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 16:22:38 GMT Message-Id: <200709231622.l8NGMcxN096910@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126744 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 16:22:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=126744 Change 126744 by hselasky@hselasky_laptop001 on 2007/09/23 16:22:02 FYI; The comments follow the P4 diff from top to bottom. - "usb_cdev_read_wakeup()"; factored out code - "usb_cdev_write_wakeup()"; factored out code - new mechanism to force frame synchronsation: To every data packet a last packet bit is added, like in Wireless USB. When this is set the "usb_cdev_read()" function will stop reading and return data to the caller. Else it will continue reading more data. - add missing start of read transfer in "usb_cdev_poll()". - new global function "usb_cdev_put_bytes_max()" to get the maximum receive buffer size. Might be useful when setting up USB read transfer. - "usb_cdev_put_data()" and "usb_cdev_get_data()" now transfers data directly to/from USB DMA memory. - "usb_cdev_put_data_linear()" provides the same functionality as "usb_cdev_put_data()" only operating on a linear buffer. - "usb_cdev_get_data_linear()" provides the same functionality as "usb_cdev_get_data()" only operating on a linear buffer. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_cdev.c#14 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_cdev.c#14 (text+ko) ==== @@ -219,6 +219,49 @@ return; } +static void +usb_cdev_read_wakeup(struct usb_cdev *sc) +{ + if (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_READ) { + sc->sc_flags &= ~USB_CDEV_FLAG_WAKEUP_READ; + wakeup(&(sc->sc_wakeup_read)); + } + + if (sc->sc_flags & USB_CDEV_FLAG_SELECT_READ) { + sc->sc_flags &= ~USB_CDEV_FLAG_SELECT_READ; + selwakeup(&(sc->sc_read_sel)); + } + + if (sc->sc_async_rd != NULL) { + PROC_LOCK(sc->sc_async_rd); + psignal(sc->sc_async_rd, SIGIO); + PROC_UNLOCK(sc->sc_async_rd); + } + + return; +} + +static void +usb_cdev_write_wakeup(struct usb_cdev *sc) +{ + if (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_WRITE) { + sc->sc_flags &= ~USB_CDEV_FLAG_WAKEUP_WRITE; + wakeup(&(sc->sc_wakeup_write)); + } + + if (sc->sc_flags & USB_CDEV_FLAG_SELECT_WRITE) { + sc->sc_flags &= ~USB_CDEV_FLAG_SELECT_WRITE; + selwakeup(&(sc->sc_write_sel)); + } + + if (sc->sc_async_wr != NULL) { + PROC_LOCK(sc->sc_async_wr); + psignal(sc->sc_async_wr, SIGIO); + PROC_UNLOCK(sc->sc_async_wr); + } + return; +} + void usb_cdev_unlock(struct usb_cdev *sc, int32_t fflags) { @@ -775,14 +818,16 @@ m->cur_data_ptr += io_len; if (m->cur_data_len == 0) { + + uint8_t last_packet; + + last_packet = m->last_packet; + USBD_IF_ENQUEUE(&(sc->sc_rdq_free), m); - if (sc->sc_flags & USB_CDEV_FLAG_FWD_SHORT) { - /* forward short transfers to userland */ - if ((m->cur_data_ptr - m->min_data_ptr) < m->max_data_len) { - /* short transfer */ - break; - } + if (last_packet) { + /* keep framing */ + break; } } else { @@ -943,6 +988,9 @@ } else { sc->sc_flags |= USB_CDEV_FLAG_SELECT_READ; selrecord(td, &(sc->sc_read_sel)); + + /* start reading data */ + (sc->sc_start_read)(sc); } } @@ -1204,14 +1252,32 @@ return; } -/* +uint32_t +usb_cdev_put_bytes_max(struct usb_cdev *sc) +{ + struct usbd_mbuf *m; + uint32_t len; + + USBD_IF_POLL(&(sc->sc_rdq_free), m); + + if (m) { + len = m->max_data_len; + } else { + len = 0; + } + return len; +} + +/*------------------------------------------------------------------------* + * usb_cdev_put_data + * * what: * 0 - normal operation - * 1 - force short packet - */ + * 1 - set last packet flag to enforce framing + *------------------------------------------------------------------------*/ void -usb_cdev_put_data(struct usb_cdev *sc, u_int8_t *buf, u_int32_t len, - u_int8_t what) +usb_cdev_put_data(struct usb_cdev *sc, struct usbd_page_cache *pc, + uint32_t offset, uint32_t len, uint8_t what) { struct usbd_mbuf *m; u_int32_t io_len; @@ -1225,35 +1291,73 @@ io_len = min(len, m->cur_data_len); - bcopy(buf, m->cur_data_ptr, io_len); + usbd_copy_out(pc, offset, m->cur_data_ptr, io_len); m->cur_data_len = io_len; - buf += io_len; + offset += io_len; len -= io_len; + if ((len == 0) && (what == 1)) { + m->last_packet = 1; + } + USBD_IF_ENQUEUE(&(sc->sc_rdq_used), m); + /* check if we should do a wakeup */ + if ((sc->sc_rdq_used.ifq_len >= ((sc->sc_rdq_used.ifq_maxlen+1)/2)) || (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_RD_IMMED)) { - /* buffer is half full */ + usb_cdev_read_wakeup(sc); + } + + if ((len == 0) || (what == 1)) { + break; + } + + } else { + break; + } + } + return; +} + +void +usb_cdev_put_data_linear(struct usb_cdev *sc, void *ptr, + uint32_t len, uint8_t what) +{ + struct usbd_mbuf *m; + u_int32_t io_len; + + while (len || (what == 1)) { + + USBD_IF_DEQUEUE(&(sc->sc_rdq_free), m); + + if (m) { + USBD_MBUF_RESET(m); + + io_len = min(len, m->cur_data_len); + + bcopy(ptr, m->cur_data_ptr, io_len); + + m->cur_data_len = io_len; + ptr = USBD_ADD_BYTES(ptr, io_len); + len -= io_len; + + if ((len == 0) && (what == 1)) { + m->last_packet = 1; + } + + USBD_IF_ENQUEUE(&(sc->sc_rdq_used), m); - if (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_READ) { - sc->sc_flags &= ~USB_CDEV_FLAG_WAKEUP_READ; - wakeup(&(sc->sc_wakeup_read)); - } + /* check if we should do a wakeup */ - if (sc->sc_flags & USB_CDEV_FLAG_SELECT_READ) { - sc->sc_flags &= ~USB_CDEV_FLAG_SELECT_READ; - selwakeup(&(sc->sc_read_sel)); - } + if ((sc->sc_rdq_used.ifq_len >= + ((sc->sc_rdq_used.ifq_maxlen+1)/2)) || + (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_RD_IMMED)) { - if (sc->sc_async_rd != NULL) { - PROC_LOCK(sc->sc_async_rd); - psignal(sc->sc_async_rd, SIGIO); - PROC_UNLOCK(sc->sc_async_rd); - } + usb_cdev_read_wakeup(sc); } if ((len == 0) || (what == 1)) { @@ -1272,36 +1376,25 @@ { sc->sc_flags |= USB_CDEV_FLAG_ERROR_READ; - if (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_READ) { - sc->sc_flags &= ~USB_CDEV_FLAG_WAKEUP_READ; - wakeup(&(sc->sc_wakeup_read)); - } - - if (sc->sc_flags & USB_CDEV_FLAG_SELECT_READ) { - sc->sc_flags &= ~USB_CDEV_FLAG_SELECT_READ; - selwakeup(&(sc->sc_read_sel)); - } - - if (sc->sc_async_rd != NULL) { - PROC_LOCK(sc->sc_async_rd); - psignal(sc->sc_async_rd, SIGIO); - PROC_UNLOCK(sc->sc_async_rd); - } + usb_cdev_read_wakeup(sc); return; } -/* +/*------------------------------------------------------------------------* + * usb_cdev_get_data + * * what: * 0 - normal operation - * 1 - force only one packet + * 1 - only get one "usbd_mbuf" * * returns: * 0 - no more data * 1 - data in buffer - */ -u_int8_t -usb_cdev_get_data(struct usb_cdev *sc, u_int8_t *buf, u_int32_t len, - u_int32_t *actlen, u_int8_t what) + *------------------------------------------------------------------------*/ +uint8_t +usb_cdev_get_data(struct usb_cdev *sc, struct usbd_page_cache *pc, + uint32_t offset, uint32_t len, uint32_t *actlen, + uint8_t what) { struct usbd_mbuf *m; u_int32_t io_len; @@ -1319,10 +1412,10 @@ io_len = min(len, m->cur_data_len); - bcopy(m->cur_data_ptr, buf, io_len); + usbd_copy_in(pc, offset, m->cur_data_ptr, io_len); len -= io_len; - buf += io_len; + offset += io_len; actlen[0] += io_len; m->cur_data_ptr += io_len; m->cur_data_len -= io_len; @@ -1334,23 +1427,72 @@ ((sc->sc_wrq_free.ifq_maxlen+1)/2)) || (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_WR_IMMED)) { - /* buffer is half full */ + usb_cdev_write_wakeup(sc); + } + + if (what == 1) { + break; + } + + } else { + USBD_IF_PREPEND(&(sc->sc_wrq_used), m); + } + } else { + + if (tr_data) { + /* wait for data to be written out */ + break; + } + + if (sc->sc_flags & USB_CDEV_FLAG_FLUSHING_WRITE) { + sc->sc_flags &= ~USB_CDEV_FLAG_FLUSHING_WRITE; + wakeup(&(sc->sc_wakeup_flush)); + } + break; + } + if (len == 0) { + break; + } + } + return tr_data; +} + +uint8_t +usb_cdev_get_data_linear(struct usb_cdev *sc, void *ptr, + uint32_t len, uint32_t *actlen, uint8_t what) +{ + struct usbd_mbuf *m; + u_int32_t io_len; + u_int8_t tr_data = 0; + + actlen[0] = 0; + + while(1) { + + USBD_IF_DEQUEUE(&(sc->sc_wrq_used), m); + + if (m) { + + tr_data = 1; + + io_len = min(len, m->cur_data_len); + + bcopy(m->cur_data_ptr, ptr, io_len); + + len -= io_len; + ptr = USBD_ADD_BYTES(ptr, io_len); + actlen[0] += io_len; + m->cur_data_ptr += io_len; + m->cur_data_len -= io_len; - if (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_WRITE) { - sc->sc_flags &= ~USB_CDEV_FLAG_WAKEUP_WRITE; - wakeup(&(sc->sc_wakeup_write)); - } + if ((m->cur_data_len == 0) || (what == 1)) { + USBD_IF_ENQUEUE(&(sc->sc_wrq_free), m); - if (sc->sc_flags & USB_CDEV_FLAG_SELECT_WRITE) { - sc->sc_flags &= ~USB_CDEV_FLAG_SELECT_WRITE; - selwakeup(&(sc->sc_write_sel)); - } + if ((sc->sc_wrq_free.ifq_len >= + ((sc->sc_wrq_free.ifq_maxlen+1)/2)) || + (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_WR_IMMED)) { - if (sc->sc_async_wr != NULL) { - PROC_LOCK(sc->sc_async_wr); - psignal(sc->sc_async_wr, SIGIO); - PROC_UNLOCK(sc->sc_async_wr); - } + usb_cdev_write_wakeup(sc); } if (what == 1) { @@ -1385,26 +1527,8 @@ { sc->sc_flags |= USB_CDEV_FLAG_ERROR_WRITE; - if (sc->sc_flags & USB_CDEV_FLAG_WAKEUP_WRITE) { - sc->sc_flags &= ~USB_CDEV_FLAG_WAKEUP_WRITE; - wakeup(&(sc->sc_wakeup_write)); - } - - if (sc->sc_flags & USB_CDEV_FLAG_SELECT_WRITE) { - sc->sc_flags &= ~USB_CDEV_FLAG_SELECT_WRITE; - selwakeup(&(sc->sc_write_sel)); - } - - if (sc->sc_flags & USB_CDEV_FLAG_FLUSHING_WRITE) { - sc->sc_flags &= ~USB_CDEV_FLAG_FLUSHING_WRITE; - wakeup(&(sc->sc_wakeup_flush)); - } + usb_cdev_write_wakeup(sc); - if (sc->sc_async_wr != NULL) { - PROC_LOCK(sc->sc_async_wr); - psignal(sc->sc_async_wr, SIGIO); - PROC_UNLOCK(sc->sc_async_wr); - } return; } From owner-p4-projects@FreeBSD.ORG Sun Sep 23 16:25:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DB0A016A421; Sun, 23 Sep 2007 16:25:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 929D816A41A for ; Sun, 23 Sep 2007 16:25:43 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 702F413C459 for ; Sun, 23 Sep 2007 16:25:43 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NGPhce097041 for ; Sun, 23 Sep 2007 16:25:43 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NGPhaR097038 for perforce@freebsd.org; Sun, 23 Sep 2007 16:25:43 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 16:25:43 GMT Message-Id: <200709231625.l8NGPhaR097038@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 16:25:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=126745 Change 126745 by hselasky@hselasky_laptop001 on 2007/09/23 16:25:37 - moved and renamed two functions into "usb_hid.c" from "usb_subr.c" Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_hid.c#4 (text+ko) ==== @@ -464,3 +464,79 @@ hid_end_parse(hd); return (err); } + +usb_hid_descriptor_t * +hid_get_descriptor_from_usb(usb_config_descriptor_t *cd, + usb_interface_descriptor_t *id) +{ + usb_descriptor_t *desc = (void *)id; + + if(desc == NULL) { + return NULL; + } + + while ((desc = usbd_desc_foreach(cd, desc))) + { + if ((desc->bDescriptorType == UDESC_HID) && + (desc->bLength >= USB_HID_DESCRIPTOR_SIZE(0))) + { + return (void *)desc; + } + + if (desc->bDescriptorType == UDESC_INTERFACE) + { + break; + } + } + return NULL; +} + +usbd_status +hid_read_report_desc_from_usb(struct usbd_device *udev, struct mtx *mtx, + void **descp, uint16_t *sizep, + usb_malloc_type mem, uint8_t iface_index) +{ + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); + usb_hid_descriptor_t *hid; + usbd_status err; + + if((iface == NULL) || (iface->idesc == NULL)) + { + return USBD_INVAL; + } + + hid = hid_get_descriptor_from_usb + (usbd_get_config_descriptor(udev), iface->idesc); + + if(hid == NULL) + { + return USBD_IOERROR; + } + + *sizep = UGETW(hid->descrs[0].wDescriptorLength); + if (*sizep == 0) { + return USBD_IOERROR; + } + + if (mtx) mtx_unlock(mtx); + + *descp = malloc(*sizep, mem, M_ZERO|M_WAITOK); + + if (mtx) mtx_lock(mtx); + + if(*descp == NULL) + { + return USBD_NOMEM; + } + + err = usbreq_get_report_descriptor + (udev, mtx, *descp, *sizep, iface_index); + + if(err) + { + free(*descp, mem); + *descp = NULL; + return err; + } + return USBD_NORMAL_COMPLETION; +} From owner-p4-projects@FreeBSD.ORG Sun Sep 23 16:30:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85C0416A41A; Sun, 23 Sep 2007 16:30:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5EE7816A417 for ; Sun, 23 Sep 2007 16:30:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3BD4D13C44B for ; Sun, 23 Sep 2007 16:30:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NGUo8G097328 for ; Sun, 23 Sep 2007 16:30:50 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NGUn2A097324 for perforce@freebsd.org; Sun, 23 Sep 2007 16:30:49 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 16:30:49 GMT Message-Id: <200709231630.l8NGUn2A097324@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126746 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 16:30:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=126746 Change 126746 by hselasky@hselasky_laptop001 on 2007/09/23 16:30:04 FYI; The comments follow the P4 diff from top to bottom. - no need to define "struct usb_hid_descriptor". Only the typedefed version. - make all prototypes fit on a single line - added two new prototypes: - hid_get_descriptor_from_usb - hid_read_report_desc_from_usb Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_hid.h#5 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_hid.h#5 (text+ko) ==== @@ -54,7 +54,7 @@ #define UR_GET_PROTOCOL 0x03 #define UR_SET_PROTOCOL 0x0b -typedef struct usb_hid_descriptor { +typedef struct { uByte bLength; uByte bDescriptorType; uWord bcdHID; @@ -225,28 +225,17 @@ struct hid_item *next; }; -extern struct hid_data * -hid_start_parse(const void *d, int len, int kindset); +/* prototypes from "usb_hid.c" */ -extern void -hid_end_parse(struct hid_data *s); - -extern int -hid_get_item(struct hid_data *s, struct hid_item *h); - -extern int -hid_report_size(const void *buf, int len, enum hid_kind k, u_int8_t *id); - -extern int -hid_locate(const void *desc, int size, u_int32_t usage, - enum hid_kind kind, struct hid_location *loc, - u_int32_t *flags); - -extern u_long -hid_get_data(const u_char *buf, u_int32_t len, struct hid_location *loc); - -extern int -hid_is_collection(const void *desc, int size, u_int32_t usage); +struct hid_data *hid_start_parse(const void *d, int len, int kindset); +void hid_end_parse(struct hid_data *s); +int hid_get_item(struct hid_data *s, struct hid_item *h); +int hid_report_size(const void *buf, int len, enum hid_kind k, u_int8_t *id); +int hid_locate(const void *desc, int size, u_int32_t usage, enum hid_kind kind, struct hid_location *loc, u_int32_t *flags); +u_long hid_get_data(const u_char *buf, u_int32_t len, struct hid_location *loc); +int hid_is_collection(const void *desc, int size, u_int32_t usage); +usb_hid_descriptor_t *hid_get_descriptor_from_usb(usb_config_descriptor_t *cd, usb_interface_descriptor_t *id); +usbd_status hid_read_report_desc_from_usb(struct usbd_device *udev, struct mtx *mtx, void **descp, uint16_t *sizep, usb_malloc_type mem, uint8_t iface_index); #endif From owner-p4-projects@FreeBSD.ORG Sun Sep 23 16:33:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 026A016A41B; Sun, 23 Sep 2007 16:33:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6F4916A418 for ; Sun, 23 Sep 2007 16:33:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6A8BC13C457 for ; Sun, 23 Sep 2007 16:33:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NGXslH097632 for ; Sun, 23 Sep 2007 16:33:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NGXsrM097627 for perforce@freebsd.org; Sun, 23 Sep 2007 16:33:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 16:33:54 GMT Message-Id: <200709231633.l8NGXsrM097627@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126747 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 16:33:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=126747 Change 126747 by hselasky@hselasky_laptop001 on 2007/09/23 16:33:42 - added missing include "usb_port.h" Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_quirks.c#10 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_quirks.c#10 (text+ko) ==== @@ -43,10 +43,11 @@ #include #include +#include #include +#include #include "usbdevs.h" -#include #define ANY 0xffff From owner-p4-projects@FreeBSD.ORG Sun Sep 23 16:44:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E16416A419; Sun, 23 Sep 2007 16:44:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4962A16A469 for ; Sun, 23 Sep 2007 16:44:08 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 264A913C469 for ; Sun, 23 Sep 2007 16:44:08 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NGi8Tx098312 for ; Sun, 23 Sep 2007 16:44:08 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NGi7Ei098309 for perforce@freebsd.org; Sun, 23 Sep 2007 16:44:07 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 16:44:07 GMT Message-Id: <200709231644.l8NGi7Ei098309@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126748 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 16:44:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=126748 Change 126748 by hselasky@hselasky_laptop001 on 2007/09/23 16:43:37 FYI; The comments follow the P4 diff from top to bottom. - added ISOCHRONOUS number of frames limit - removed USB_MAX_STRING_LEN, redundant - added USB_STRING_DESC_LEN macro - USB_UNCONFIG_INDEX is now unsigned and 0xFF - [new] internal flag "USBD_USE_POLLING" - USB_SPEED_XXX defined like enums. Old value preserved except for USB_SPEED_VARIABLE, which is not yet used in userland. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb.h#14 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb.h#14 (text+ko) ==== @@ -75,6 +75,9 @@ #define USB_FS_BYTES_PER_HS_UFRAME 188 /* bytes */ #define USB_HS_MICRO_FRAMES_MAX 8 /* units */ +#define USB_MAX_FS_ISOC_FRAMES_PER_XFER (120) +#define USB_MAX_HS_ISOC_FRAMES_PER_XFER (8*120) + /* * The USB records contain some unaligned little-endian word * components. The U[SG]ETW macros take care of both the alignment @@ -281,7 +284,7 @@ uWord bString[126]; uByte bUnused; } UPACKED usb_string_descriptor_t; -#define USB_MAX_STRING_LEN 128 +#define USB_STRING_DESC_LEN(len) ((2*(len)) + 2) #define USB_LANGUAGE_TABLE 0 /* # of the string language id table */ /* Hub specific request */ @@ -541,9 +544,8 @@ #define USB_BUS_RESET_DELAY 100 /* ms XXX?*/ - #define USB_UNCONFIG_NO 0 -#define USB_UNCONFIG_INDEX (-1) +#define USB_UNCONFIG_INDEX 0xFF /*---------------------------------------------------------------------------* * ioctl() related stuff @@ -553,6 +555,7 @@ usb_device_request_t ucr_request; void *ucr_data; int ucr_flags; +#define USBD_USE_POLLING 0x0001 /* internal flag */ #define USBD_SHORT_XFER_OK 0x0004 /* allow short reads */ int ucr_actlen; /* actual length transferred */ }; @@ -605,12 +608,21 @@ #define USB_MAX_DEVNAMES 4 #define USB_MAX_DEVNAMELEN 16 + +enum { + USB_SPEED_VARIABLE, + USB_SPEED_LOW, + USB_SPEED_FULL, + USB_SPEED_HIGH, + USB_SPEED_MAX, +}; + struct usb_device_info { u_int8_t udi_bus; u_int8_t udi_addr; /* device address */ u_int32_t udi_unused; /* XXX remove */ - char udi_product[USB_MAX_STRING_LEN]; - char udi_vendor[USB_MAX_STRING_LEN]; + char udi_product[128]; + char udi_vendor[128]; char udi_release[8]; u_int16_t udi_productNo; u_int16_t udi_vendorNo; @@ -620,10 +632,6 @@ u_int8_t udi_protocol; u_int8_t udi_config; u_int8_t udi_speed; -#define USB_SPEED_LOW 1 -#define USB_SPEED_FULL 2 -#define USB_SPEED_HIGH 3 -#define USB_SPEED_VARIABLE 4 int udi_power; /* power consumption in mA, 0 if selfpowered */ int udi_nports; char udi_devnames[USB_MAX_DEVNAMES][USB_MAX_DEVNAMELEN]; From owner-p4-projects@FreeBSD.ORG Sun Sep 23 16:58:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8885016A420; Sun, 23 Sep 2007 16:58:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5269316A41A for ; Sun, 23 Sep 2007 16:58:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2CF4113C465 for ; Sun, 23 Sep 2007 16:58:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NGwRpB008041 for ; Sun, 23 Sep 2007 16:58:27 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NGwQsD008038 for perforce@freebsd.org; Sun, 23 Sep 2007 16:58:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 16:58:26 GMT Message-Id: <200709231658.l8NGwQsD008038@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126750 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 16:58:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=126750 Change 126750 by hselasky@hselasky_laptop001 on 2007/09/23 16:58:02 FYI; The comments follow the P4 diff from top to bottom. - moved __FBSDID to top of file - refactorisation of parameters to all "usbreq_xxx()" functions: - add a mutex pointer - sort arguments by size - use correct type for arguments - "usbreq_get_desc()" has been changed to replace all get descriptor functions including "usbreq_get_string_desc()". - "usbreq_get_string_any()"; - getting the default language ID has been factored out into "usbd_new_device()". - the resulting string will be stripped for non-printable characters by default Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_requests.c#6 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_requests.c#6 (text+ko) ==== @@ -1,3 +1,6 @@ +#include +__FBSDID("$FreeBSD: src/sys/dev/usb/usb_requests.c $"); + /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. * All rights reserved. @@ -35,23 +38,24 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include #include #include -#include +#include #include #include #include +#include #include -#include -__FBSDID("$FreeBSD: src/sys/dev/usb2/usbdi_util.c $"); - +/*------------------------------------------------------------------------* + * usbreq_reset_port + *------------------------------------------------------------------------*/ usbd_status -usbreq_reset_port(struct usbd_device *udev, int port, usb_port_status_t *ps) +usbreq_reset_port(struct usbd_device *udev, struct mtx *mtx, + usb_port_status_t *ps, uint8_t port) { usb_device_request_t req; usbd_status err; @@ -60,9 +64,10 @@ req.bmRequestType = UT_WRITE_CLASS_OTHER; req.bRequest = UR_SET_FEATURE; USETW(req.wValue, UHF_PORT_RESET); - USETW(req.wIndex, port); + req.wIndex[0] = port; + req.wIndex[1] = 0; USETW(req.wLength, 0); - err = usbd_do_request(udev, &req, 0); + err = usbd_do_request(udev, mtx, &req, 0); PRINTFN(1,("port %d reset done, error=%s\n", port, usbd_errstr(err))); @@ -75,8 +80,8 @@ n = 12; do { /* wait for device to recover from reset */ - usbd_delay_ms(udev, USB_PORT_RESET_DELAY); - err = usbreq_get_port_status(udev, port, ps); + usbd_pause_mtx(mtx, USB_PORT_RESET_DELAY); + err = usbreq_get_port_status(udev, mtx, ps, port); if(err) { @@ -100,7 +105,7 @@ } } while ((UGETW(ps->wPortChange) & UPS_C_PORT_RESET) == 0); - err = usbreq_clear_port_feature(udev, port, UHF_C_PORT_RESET); + err = usbreq_clear_port_feature(udev, mtx, port, UHF_C_PORT_RESET); #ifdef USB_DEBUG if(err) { @@ -110,191 +115,255 @@ #endif /* wait for the device to recover from reset */ - usbd_delay_ms(udev, USB_PORT_RESET_RECOVERY); + usbd_pause_mtx(mtx, USB_PORT_RESET_RECOVERY); done: return (err); } +/*------------------------------------------------------------------------* + * usbreq_get_desc + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_desc(struct usbd_device *udev, uint8_t type, uint8_t index, - uint16_t len, void *desc, uint32_t timeout) +usbreq_get_desc(struct usbd_device *udev, struct mtx *mtx, void *desc, + uint16_t min_len, uint16_t max_len, + uint16_t id, uint8_t type, uint8_t index, + uint8_t retries) { usb_device_request_t req; + uint8_t *buf; usbd_status err; - PRINTFN(3,("type=%d, index=%d, len=%d\n", - type, index, len)); + PRINTFN(3,("id=%d, type=%d, index=%d, max_len=%d\n", + id, type, index, max_len)); req.bmRequestType = UT_READ_DEVICE; req.bRequest = UR_GET_DESCRIPTOR; USETW2(req.wValue, type, index); - USETW(req.wIndex, 0); - USETW(req.wLength, len); + USETW(req.wIndex, id); + + while (1) { + + if ((min_len < 2) || (max_len < 2)) { + err = USBD_INVAL; + goto done; + } + + USETW(req.wLength, min_len); + + err = usbd_do_request(udev, mtx, &req, desc); + + if (err) { + if (!retries) { + goto done; + } + + retries--; + + usbd_pause_mtx(mtx, 200); + + continue; + } + + buf = desc; + + if (min_len == max_len) { + + /* enforce correct type and length */ + + if (buf[0] > min_len) { + buf[0] = min_len; + } + buf[1] = type; + + goto done; + } + + /* range check */ + + if (max_len > buf[0]) { + max_len = buf[0]; + } + + /* zero minimum data */ + + while (min_len > max_len) { + min_len--; + buf[min_len] = 0; + } - repeat: - err = usbd_do_request(udev, &req, desc); + /* set new minimum length */ - if(err && timeout--) - { - usbd_delay_ms(udev, 200); - goto repeat; + min_len = max_len; } - return (err); + done: + return err; } -/* Use "usbreq_get_string_any()" instead of - * "usbreq_get_string_desc()", when the language id is not known. The - * maximum length of the string, "len", includes the terminating zero. - * "usbreq_get_string_any()" will always write a terminating zero to "buf", - * also on error. - */ +/*------------------------------------------------------------------------* + * usbreq_get_string_any + * + * This function will return the string given by "string_index" + * using the first language ID. The maximum length "len" includes + * the terminating zero. The "len" argument should be twice as + * big pluss 2 bytes, compared with the actual maximum string length ! + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_string_any(struct usbd_device *udev, uint8_t si, char *buf, uint16_t len) +usbreq_get_string_any(struct usbd_device *udev, struct mtx *mtx, char *buf, + uint16_t len, uint8_t string_index) { - int swap = udev->quirks->uq_flags & UQ_SWAP_UNICODE; - usb_string_descriptor_t us; char *s; - int i, n; + uint8_t *temp; + u_int16_t i; + u_int16_t n; u_int16_t c; + uint8_t swap; usbd_status err; - if(len == 0) - { - return (USBD_NORMAL_COMPLETION); + if (len == 0) { + /* should not happen */ + return USBD_NORMAL_COMPLETION; } buf[0] = 0; - /* subtract the terminating zero */ - len--; + if (string_index == 0) { + /* this is the language table */ + return USBD_INVAL; + } - if(si == 0) - { - return (USBD_INVAL); + if (udev->no_strings) { + return USBD_STALLED; } - if(udev->quirks->uq_flags & UQ_NO_STRINGS) - { - return (USBD_STALLED); + + swap = (udev->quirks->uq_flags & UQ_SWAP_UNICODE) ? 1 : 0; + + err = usbreq_get_string_desc + (udev, mtx, buf, len, udev->langid, string_index); + + if (err) { + return err; } - if(udev->langid == USBD_NOLANG) - { - /* set up default language */ - err = usbreq_get_string_desc(udev, USB_LANGUAGE_TABLE, 0, &us, 0); - if(err || (us.bLength < 4)) - { - udev->langid = 0; /* well, just pick something then */ - } - else - { - /* pick the first language as the default */ - udev->langid = UGETW(us.bString[0]); - } + + temp = buf; + + if (temp[0] < 2) { + /* string length is too short */ + return USBD_INVAL; } - err = usbreq_get_string_desc(udev, si, udev->langid, &us, 0); - if(err) - { - return (err); + + /* reserve one byte for terminating zero */ + len--; + + /* find maximum length */ + s = buf; + n = (temp[0] / 2) - 1; + if (n > len) { + n = len; } - s = buf; - n = (us.bLength / 2) - 1; - for(i = 0; (i < n) && len; i++, len--) + + /* skip descriptor header */ + temp += 2; + + /* convert and filter */ + for(i = 0; (i != n); i++) { - c = UGETW(us.bString[i]); + c = UGETW(temp + (2*i)); /* convert from Unicode, handle buggy strings */ if ((c & 0xff00) == 0) { - *s++ = c; + *s = c; } else if(((c & 0x00ff) == 0) && swap) { - *s++ = c >> 8; + *s = c >> 8; } else { - *s++ = '?'; + *s = '?'; + } + + /* filter by default ! */ + if (!isprint(*s)) { + *s = '?'; } + s++; } - *s++ = 0; + *s = 0; return (USBD_NORMAL_COMPLETION); } +/*------------------------------------------------------------------------* + * usbreq_get_string_desc + * + * If you don't know the language ID, consider using + * "usbreq_get_string_any()". + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_string_desc(struct usbd_device *udev, uint8_t sindex, uint16_t langid, - usb_string_descriptor_t *sdesc, uint8_t *plen) +usbreq_get_string_desc(struct usbd_device *udev, struct mtx *mtx, void *sdesc, + uint16_t max_len, uint16_t lang_id, + uint8_t string_index) { - usb_device_request_t req; - usbd_status err; - int actlen; - - req.bmRequestType = UT_READ_DEVICE; - req.bRequest = UR_GET_DESCRIPTOR; - USETW2(req.wValue, UDESC_STRING, sindex); - USETW(req.wIndex, langid); - USETW(req.wLength, 2); /* only size byte first */ - err = usbd_do_request_flags(udev, &req, sdesc, USBD_SHORT_XFER_OK, - &actlen, USBD_DEFAULT_TIMEOUT); - if(err) - { - return (err); - } - - if(actlen < 2) - { - return (USBD_SHORT_XFER); - } - - if(plen) - { - *plen = sdesc->bLength; - } - - USETW(req.wLength, sdesc->bLength); /* the whole string */ - return usbd_do_request(udev, &req, sdesc); + return usbreq_get_desc(udev, mtx, sdesc, 2, max_len, lang_id, + UDESC_STRING, string_index, 0); } +/*------------------------------------------------------------------------* + * usbreq_get_config_desc + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_config_desc(struct usbd_device *udev, uint8_t confidx, - usb_config_descriptor_t *d) +usbreq_get_config_desc(struct usbd_device *udev, struct mtx *mtx, usb_config_descriptor_t *d, + uint8_t conf_index) { usbd_status err; - PRINTFN(3,("confidx=%d\n", confidx)); - err = usbreq_get_desc(udev, UDESC_CONFIG, confidx, - USB_CONFIG_DESCRIPTOR_SIZE, d, 0); - if(err) - { - return (err); + PRINTFN(3,("confidx=%d\n", conf_index)); + + err = usbreq_get_desc(udev, mtx, d, USB_CONFIG_DESCRIPTOR_SIZE, + USB_CONFIG_DESCRIPTOR_SIZE, 0, UDESC_CONFIG, conf_index, 0); + if (err) { + goto done; } - if(d->bDescriptorType != UDESC_CONFIG) - { - PRINTFN(-1,("confidx=%d, bad desc len=%d type=%d\n", - confidx, d->bLength, d->bDescriptorType)); - return (USBD_INVAL); + + if (UGETW(d->wTotalLength) < USB_CONFIG_DESCRIPTOR_SIZE) { + err = USBD_INVAL; } - return (USBD_NORMAL_COMPLETION); + done: + return err; } +/*------------------------------------------------------------------------* + * usbreq_get_config_desc_full + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_config_desc_full(struct usbd_device *udev, uint8_t conf, void *d, uint16_t size) +usbreq_get_config_desc_full(struct usbd_device *udev, struct mtx *mtx, void *d, + uint16_t size, uint8_t conf_index) { - PRINTFN(3,("conf=%d\n", conf)); - return usbreq_get_desc(udev, UDESC_CONFIG, conf, size, d, 0); + PRINTFN(3,("conf_index=%d\n", conf_index)); + return usbreq_get_desc(udev, mtx, d, size, size, 0, + UDESC_CONFIG, conf_index, 0); } +/*------------------------------------------------------------------------* + * usbreq_get_device_desc + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_device_desc(struct usbd_device *udev, usb_device_descriptor_t *d) +usbreq_get_device_desc(struct usbd_device *udev, struct mtx *mtx, + usb_device_descriptor_t *d) { PRINTFN(3,("\n")); - return (usbreq_get_desc(udev, UDESC_DEVICE, - 0, USB_DEVICE_DESCRIPTOR_SIZE, d, 3)); + return usbreq_get_desc(udev, mtx, d, USB_DEVICE_DESCRIPTOR_SIZE, + USB_DEVICE_DESCRIPTOR_SIZE, 0, UDESC_DEVICE, 0, 3); } +/*------------------------------------------------------------------------* + * usbreq_get_alt_interface_no + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_interface(struct usbd_device *udev, u_int8_t iface_index, - u_int8_t *aiface) +usbreq_get_alt_interface_no(struct usbd_device *udev, struct mtx *mtx, + uint8_t *alt_iface_no, uint8_t iface_index) { - struct usbd_interface *iface = usbd_get_iface(udev,iface_index); + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); usb_device_request_t req; if((iface == NULL) || (iface->idesc == NULL)) @@ -305,40 +374,43 @@ req.bmRequestType = UT_READ_INTERFACE; req.bRequest = UR_GET_INTERFACE; USETW(req.wValue, 0); - USETW(req.wIndex, iface->idesc->bInterfaceNumber); + req.wIndex[0] = iface->idesc->bInterfaceNumber; + req.wIndex[1] = 0; USETW(req.wLength, 1); - return (usbd_do_request(udev, &req, aiface)); + return usbd_do_request(udev, mtx, &req, alt_iface_no); } +/*------------------------------------------------------------------------* + * usbreq_set_alt_interface_no + *------------------------------------------------------------------------*/ usbd_status -usbreq_set_interface(struct usbd_device *udev, u_int8_t iface_index, - u_int8_t altno) +usbreq_set_alt_interface_no(struct usbd_device *udev, struct mtx *mtx, + uint8_t iface_index, uint8_t alt_no) { - struct usbd_interface *iface = usbd_get_iface(udev,iface_index); + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); usb_device_request_t req; - usbd_status err; - if(iface == NULL) + if((iface == NULL) || (iface->idesc == NULL)) { return (USBD_INVAL); } - err = usbd_fill_iface_data(udev, iface_index, altno); - if(err) - { - return (err); - } - req.bmRequestType = UT_WRITE_INTERFACE; req.bRequest = UR_SET_INTERFACE; - USETW(req.wValue, iface->idesc->bAlternateSetting); - USETW(req.wIndex, iface->idesc->bInterfaceNumber); + req.wValue[0] = alt_no; + req.wValue[1] = 0; + req.wIndex[0] = iface->idesc->bInterfaceNumber; + req.wIndex[1] = 0; USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_get_device_status + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_device_status(struct usbd_device *udev, usb_status_t *st) +usbreq_get_device_status(struct usbd_device *udev, struct mtx *mtx, + usb_status_t *st) { usb_device_request_t req; @@ -347,11 +419,15 @@ USETW(req.wValue, 0); USETW(req.wIndex, 0); USETW(req.wLength, sizeof(usb_status_t)); - return (usbd_do_request(udev, &req, st)); + return usbd_do_request(udev, mtx, &req, st); } +/*------------------------------------------------------------------------* + * usbreq_get_hub_descriptor + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_hub_descriptor(struct usbd_device *udev, usb_hub_descriptor_t *hd) +usbreq_get_hub_descriptor(struct usbd_device *udev, struct mtx *mtx, + usb_hub_descriptor_t *hd) { usb_device_request_t req; @@ -360,11 +436,15 @@ USETW(req.wValue, 0); USETW(req.wIndex, 0); USETW(req.wLength, USB_HUB_DESCRIPTOR_SIZE); - return (usbd_do_request(udev, &req, hd)); + return usbd_do_request(udev, mtx, &req, hd); } +/*------------------------------------------------------------------------* + * usbreq_get_hub_status + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_hub_status(struct usbd_device *udev, usb_hub_status_t *st) +usbreq_get_hub_status(struct usbd_device *udev, struct mtx *mtx, + usb_hub_status_t *st) { usb_device_request_t req; @@ -373,11 +453,14 @@ USETW(req.wValue, 0); USETW(req.wIndex, 0); USETW(req.wLength, sizeof(usb_hub_status_t)); - return (usbd_do_request(udev, &req, st)); + return usbd_do_request(udev, mtx, &req, st); } +/*------------------------------------------------------------------------* + * usbreq_set_address + *------------------------------------------------------------------------*/ usbd_status -usbreq_set_address(struct usbd_device *udev, int addr) +usbreq_set_address(struct usbd_device *udev, struct mtx *mtx, uint16_t addr) { usb_device_request_t req; @@ -388,24 +471,33 @@ USETW(req.wValue, addr); USETW(req.wIndex, 0); USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_get_port_status + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_port_status(struct usbd_device *udev, int port, usb_port_status_t *ps) +usbreq_get_port_status(struct usbd_device *udev, struct mtx *mtx, + usb_port_status_t *ps, uint8_t port) { usb_device_request_t req; req.bmRequestType = UT_READ_CLASS_OTHER; req.bRequest = UR_GET_STATUS; USETW(req.wValue, 0); - USETW(req.wIndex, port); + req.wIndex[0] = port; + req.wIndex[1] = 0; USETW(req.wLength, sizeof *ps); - return (usbd_do_request(udev, &req, ps)); + return usbd_do_request(udev, mtx, &req, ps); } +/*------------------------------------------------------------------------* + * usbreq_clear_hub_feature + *------------------------------------------------------------------------*/ usbd_status -usbreq_clear_hub_feature(struct usbd_device *udev, int sel) +usbreq_clear_hub_feature(struct usbd_device *udev, struct mtx *mtx, + uint16_t sel) { usb_device_request_t req; @@ -414,11 +506,15 @@ USETW(req.wValue, sel); USETW(req.wIndex, 0); USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_set_hub_feature + *------------------------------------------------------------------------*/ usbd_status -usbreq_set_hub_feature(struct usbd_device *udev, int sel) +usbreq_set_hub_feature(struct usbd_device *udev, struct mtx *mtx, + uint16_t sel) { usb_device_request_t req; @@ -427,40 +523,53 @@ USETW(req.wValue, sel); USETW(req.wIndex, 0); USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_clear_port_feature + *------------------------------------------------------------------------*/ usbd_status -usbreq_clear_port_feature(struct usbd_device *udev, int port, int sel) +usbreq_clear_port_feature(struct usbd_device *udev, struct mtx *mtx, + uint8_t port, uint16_t sel) { usb_device_request_t req; req.bmRequestType = UT_WRITE_CLASS_OTHER; req.bRequest = UR_CLEAR_FEATURE; USETW(req.wValue, sel); - USETW(req.wIndex, port); + req.wIndex[0] = port; + req.wIndex[1] = 0; USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_set_port_feature + *------------------------------------------------------------------------*/ usbd_status -usbreq_set_port_feature(struct usbd_device *udev, int port, int sel) +usbreq_set_port_feature(struct usbd_device *udev, struct mtx *mtx, + uint8_t port, uint16_t sel) { usb_device_request_t req; req.bmRequestType = UT_WRITE_CLASS_OTHER; req.bRequest = UR_SET_FEATURE; USETW(req.wValue, sel); - USETW(req.wIndex, port); + req.wIndex[0] = port; + req.wIndex[1] = 0; USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_set_protocol + *------------------------------------------------------------------------*/ usbd_status -usbreq_set_protocol(struct usbd_device *udev, u_int8_t iface_index, - u_int16_t report) +usbreq_set_protocol(struct usbd_device *udev, struct mtx *mtx, + uint8_t iface_index, uint16_t report) { - struct usbd_interface *iface = usbd_get_iface(udev,iface_index); + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); usb_device_request_t req; if((iface == NULL) || (iface->idesc == NULL)) @@ -473,16 +582,20 @@ req.bmRequestType = UT_WRITE_CLASS_INTERFACE; req.bRequest = UR_SET_PROTOCOL; USETW(req.wValue, report); - USETW(req.wIndex, iface->idesc->bInterfaceNumber); + req.wIndex[0] = iface->idesc->bInterfaceNumber; + req.wIndex[1] = 0; USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_set_report + *------------------------------------------------------------------------*/ usbd_status -usbreq_set_report(struct usbd_device *udev, u_int8_t iface_index, - u_int8_t type, u_int8_t id, void *data, int len) +usbreq_set_report(struct usbd_device *udev, struct mtx *mtx, void *data, uint16_t len, + uint8_t iface_index, uint8_t type, uint8_t id) { - struct usbd_interface *iface = usbd_get_iface(udev,iface_index); + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); usb_device_request_t req; if((iface == NULL) || (iface->idesc == NULL)) @@ -494,16 +607,20 @@ req.bmRequestType = UT_WRITE_CLASS_INTERFACE; req.bRequest = UR_SET_REPORT; USETW2(req.wValue, type, id); - USETW(req.wIndex, iface->idesc->bInterfaceNumber); + req.wIndex[0] = iface->idesc->bInterfaceNumber; + req.wIndex[1] = 0; USETW(req.wLength, len); - return (usbd_do_request(udev, &req, data)); + return usbd_do_request(udev, mtx, &req, data); } +/*------------------------------------------------------------------------* + * usbreq_get_report + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_report(struct usbd_device *udev, u_int8_t iface_index, - u_int8_t type, u_int8_t id, void *data, int len) +usbreq_get_report(struct usbd_device *udev, struct mtx *mtx, void *data, + uint16_t len, uint8_t iface_index, uint8_t type, uint8_t id) { - struct usbd_interface *iface = usbd_get_iface(udev,iface_index); + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); usb_device_request_t req; if((iface == NULL) || (iface->idesc == NULL) || (id == 0)) @@ -515,16 +632,20 @@ req.bmRequestType = UT_READ_CLASS_INTERFACE; req.bRequest = UR_GET_REPORT; USETW2(req.wValue, type, id); - USETW(req.wIndex, iface->idesc->bInterfaceNumber); + req.wIndex[0] = iface->idesc->bInterfaceNumber; + req.wIndex[1] = 0; USETW(req.wLength, len); - return (usbd_do_request(udev, &req, data)); + return usbd_do_request(udev, mtx, &req, data); } +/*------------------------------------------------------------------------* + * usbreq_set_idle + *------------------------------------------------------------------------*/ usbd_status -usbreq_set_idle(struct usbd_device *udev, u_int8_t iface_index, - int duration, int id) +usbreq_set_idle(struct usbd_device *udev, struct mtx *mtx, + uint8_t iface_index, uint8_t duration, uint8_t id) { - struct usbd_interface *iface = usbd_get_iface(udev,iface_index); + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); usb_device_request_t req; if((iface == NULL) || (iface->idesc == NULL)) @@ -536,76 +657,60 @@ req.bmRequestType = UT_WRITE_CLASS_INTERFACE; req.bRequest = UR_SET_IDLE; USETW2(req.wValue, duration, id); - USETW(req.wIndex, iface->idesc->bInterfaceNumber); + req.wIndex[0] = iface->idesc->bInterfaceNumber; + req.wIndex[1] = 0; USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_get_report_descriptor + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_report_descriptor(struct usbd_device *udev, int ifcno, - int size, void *d) +usbreq_get_report_descriptor(struct usbd_device *udev, struct mtx *mtx, + void *d, uint16_t size, uint8_t iface_index) { + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); usb_device_request_t req; + if((iface == NULL) || (iface->idesc == NULL)) + { + return (USBD_INVAL); + } + req.bmRequestType = UT_READ_INTERFACE; req.bRequest = UR_GET_DESCRIPTOR; USETW2(req.wValue, UDESC_REPORT, 0); /* report id should be 0 */ - USETW(req.wIndex, ifcno); + req.wIndex[0] = iface->idesc->bInterfaceNumber; + req.wIndex[1] = 0; USETW(req.wLength, size); - return (usbd_do_request(udev, &req, d)); + return usbd_do_request(udev, mtx, &req, d); } +/*------------------------------------------------------------------------* + * usbreq_set_config + *------------------------------------------------------------------------*/ usbd_status -usbreq_read_report_desc(struct usbd_device *udev, u_int8_t iface_index, - void **descp, int *sizep, usb_malloc_type mem) +usbreq_set_config(struct usbd_device *udev, struct mtx *mtx, uint8_t conf) { - struct usbd_interface *iface = usbd_get_iface(udev,iface_index); - usb_hid_descriptor_t *hid; - usbd_status err; - - if((iface == NULL) || (iface->idesc == NULL)) - { - return (USBD_INVAL); - } - hid = usbd_get_hdesc(usbd_get_config_descriptor(udev), iface->idesc); - if(hid == NULL) - { - return (USBD_IOERROR); - } - *sizep = UGETW(hid->descrs[0].wDescriptorLength); - *descp = malloc(*sizep, mem, M_ZERO|M_WAITOK); - if(*descp == NULL) - { - return (USBD_NOMEM); - } - err = usbreq_get_report_descriptor(udev, iface->idesc->bInterfaceNumber, - *sizep, *descp); - if(err) - { - free(*descp, mem); - *descp = NULL; - return (err); - } - return (USBD_NORMAL_COMPLETION); -} - -usbd_status -usbreq_set_config(struct usbd_device *udev, int conf) -{ usb_device_request_t req; PRINTF(("setting config %d\n", conf)); req.bmRequestType = UT_WRITE_DEVICE; req.bRequest = UR_SET_CONFIG; - USETW(req.wValue, conf); + req.wValue[0] = conf; + req.wValue[1] = 0; USETW(req.wIndex, 0); USETW(req.wLength, 0); - return (usbd_do_request(udev, &req, 0)); + return usbd_do_request(udev, mtx, &req, 0); } +/*------------------------------------------------------------------------* + * usbreq_get_config + *------------------------------------------------------------------------*/ usbd_status -usbreq_get_config(struct usbd_device *udev, u_int8_t *conf) +usbreq_get_config(struct usbd_device *udev, struct mtx *mtx, uint8_t *pconf) { usb_device_request_t req; @@ -614,5 +719,5 @@ USETW(req.wValue, 0); USETW(req.wIndex, 0); USETW(req.wLength, 1); - return (usbd_do_request(udev, &req, conf)); + return usbd_do_request(udev, mtx, &req, pconf); } From owner-p4-projects@FreeBSD.ORG Sun Sep 23 17:17:52 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 903EC16A420; Sun, 23 Sep 2007 17:17:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 331D116A419 for ; Sun, 23 Sep 2007 17:17:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 095FE13C47E for ; Sun, 23 Sep 2007 17:17:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NHHpJc010492 for ; Sun, 23 Sep 2007 17:17:51 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NHHpJW010489 for perforce@freebsd.org; Sun, 23 Sep 2007 17:17:51 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 17:17:51 GMT Message-Id: <200709231717.l8NHHpJW010489@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126751 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 17:17:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=126751 Change 126751 by hselasky@hselasky_laptop001 on 2007/09/23 17:17:26 FYI; The comments follow the P4 diff from top to bottom. - shorten enum length of "USBD_ZERO_FRAMES_IN_ISOC_MODE" - in general updated prototypes and added enums - "struct usbd_port" has been stripped down significantly - "struct usbd_page_info" has been removed. - "struct usbd_page_cache" has been stripped down - new structure "struct usbd_setup_params"; Is used when setting up USB transfers of any kind. Saves stack by not passing this information to the actual functions like parameters. - the "root_port" is gone - new default mutexes has been added to "struct usbd_device" - the "langid" should be 16-bit unsigned - "s/hub/HUB" - new "struct usbd_xfer_flags" that contains all allowed USB device driver transfer flags. - new "struct usbd_xfer_flags_int" that contains all internal USB transfer flags. These are only touchable by the USB kernel ! - "struct usbd_config"; - "frames" is now 32-bit unsigned - "interval" is now 16-bit unsigned - removed unused "USBD_TRANSFER_IN_PROGRESS" macro - "struct usbd_xfer"; - "frlengths" is now a pointer to 32-bit unsigned - removed unused macros "USBD_TYPE_ANY", "USBD_SUBTYPE_ANY" - POINTER_TO_UNSIGNED can now take a constant-data pointer. - added USBD_ADD_BYTES, USBD_MS_TO_TICKS - removed "USB_CDEV_FLAG_FWD_SHORT" flag and refactor the remaining USB_CDEV flags. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#44 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#44 (text+ko) ==== @@ -54,7 +54,8 @@ m(USBD_IN_USE,)\ m(USBD_NO_ADDR,)\ m(USBD_NO_PIPE,)\ -m(USBD_ZERO_FRAMES_IN_ISOC_MODE,)\ +m(USBD_ZERO_NFRAMES,)\ +m(USBD_ZERO_MAXP,)\ m(USBD_SET_ADDR_FAILED,)\ m(USBD_NO_POWER,)\ m(USBD_TOO_DEEP,)\ @@ -77,12 +78,13 @@ struct usbd_device; struct usbd_interface; struct usbd_memory_info; +struct usbd_std_root_transfer; +struct usbd_setup_params; struct usbd_ifqueue; struct __callout; struct module; struct malloc_type; struct proc; -struct usb_hid_descriptor; struct usb_device; /* Linux compat */ struct cdev; @@ -90,10 +92,22 @@ typedef void (usbd_callback_t)(struct usbd_xfer *); +typedef void (usbd_std_root_transfer_func_t)(struct usbd_xfer *, struct usbd_std_root_transfer *); + +/* Standard root transfer function state argument values */ + +enum { + USBD_STD_ROOT_TR_SETUP, + USBD_STD_ROOT_TR_STATUS, + USBD_STD_ROOT_TR_PRE_DATA, + USBD_STD_ROOT_TR_POST_DATA, + USBD_STD_ROOT_TR_PRE_CALLBACK, +}; + struct usbd_bus_methods { void (*pipe_init)(struct usbd_device *udev, usb_endpoint_descriptor_t *edesc, struct usbd_pipe *pipe); void (*do_poll)(struct usbd_bus *); - usbd_status (*xfer_setup)(struct usbd_device *udev, uint8_t iface_index, struct usbd_xfer **pxfer, const struct usbd_config *setup_start, const struct usbd_config *setup_end); + void (*xfer_setup)(struct usbd_setup_params *parm); }; struct usbd_pipe_methods { @@ -101,19 +115,13 @@ void (*close)(struct usbd_xfer *xfer); void (*enter)(struct usbd_xfer *xfer); void (*start)(struct usbd_xfer *xfer); - void (*copy_in)(struct usbd_xfer *xfer); - void (*copy_out)(struct usbd_xfer *xfer); }; struct usbd_port { - struct usbd_device *device; /* connected device */ - struct usbd_device *parent; /* the ports hub */ - uint16_t power; /* mA of current on port */ usb_port_status_t status; - uint8_t portno; uint8_t restartcnt; + uint8_t device_addr; /* zero means unused */ #define USBD_RESTART_MAX 5 - uint8_t last_refcount; }; struct usbd_fs_isoc_schedule { @@ -122,12 +130,23 @@ uint8_t frame_slot; }; +struct usbd_std_root_transfer { + usb_device_request_t req; + struct usbd_xfer *xfer; + uint8_t *ptr; + uint16_t len; + uint8_t state; + usbd_status err; +}; + struct usbd_hub { struct usbd_fs_isoc_schedule fs_isoc_schedule[USB_ISOC_TIME_MAX]; usb_hub_descriptor_t hubdesc; - usbd_status (*explore)(struct usbd_device *hub); - void *hubsoftc; + struct usbd_device *hubudev; /* the HUB device */ + usbd_status (*explore)(struct usbd_device *hub); + void *hubsoftc; uint32_t uframe_usage[USB_HS_MICRO_FRAMES_MAX]; + uint16_t portpower; /* mA per USB port */ uint8_t isoc_last_time; struct usbd_port ports[0]; }; @@ -160,24 +179,36 @@ uint32_t length; }; -struct usbd_page_info { - struct usbd_page *page; - void *buffer; - bus_size_t physaddr; -}; - struct usbd_page_cache { struct usbd_page *page_start; - struct usbd_page *page_end; - struct usbd_page *page_cur; uint32_t page_offset_buf; - uint32_t page_offset_cur; + uint32_t page_offset_end; +}; + +struct usbd_setup_params { + struct usbd_page_cache pc; + + struct usbd_page *page_ptr; + struct usbd_device *udev; + struct usbd_xfer *curr_xfer; + const struct usbd_config *curr_setup; + const struct usbd_pipe_methods *methods; + void *buf; + + uint32_t size[3]; + uint32_t total_size[3]; + uint32_t bufsize; + uint32_t hc_max_frame_size; + + uint16_t hc_max_packet_size; + uint8_t hc_max_packet_count; + uint8_t speed; + usbd_status err; }; struct usbd_bus { struct usb_device_stats stats; struct mtx mtx; - struct usbd_port root_port; /* dummy port for root hub */ device_t bdev; /* filled by HC driver */ bus_dma_tag_t dma_tag; /* filled by HC driver */ @@ -231,6 +262,9 @@ }; struct usbd_device { + struct sx default_sx[1]; + struct mtx default_mtx[1]; + struct usbd_interface ifaces[USB_MAX_ENDPOINTS]; struct usbd_interface ifaces_end[0]; @@ -243,28 +277,31 @@ #endif struct usbd_bus *bus; /* our controller */ - struct usbd_port *powersrc; /* upstream hub port, or 0 */ - struct usbd_port *myhsport; /* closest high speed port */ - struct usbd_device *myhub; /* upstream hub */ + struct usbd_device *parent_hub; const struct usbd_quirks *quirks; /* device quirks, always set */ usb_config_descriptor_t *cdesc; /* full config descr */ struct usbd_hub *hub; /* only if this is a hub */ device_t subdevs[USB_MAX_ENDPOINTS]; device_t subdevs_end[0]; struct usb_device *linux_dev; + struct usbd_xfer *default_xfer[1]; uint16_t refcount; #define USB_DEV_REFCOUNT_MAX 0xffff uint16_t power; /* mA the device uses */ - int16_t langid; /* language for strings */ -#define USBD_NOLANG (-1) + uint16_t langid; /* language for strings */ uint8_t address; /* device addess */ uint8_t config; /* current configuration # */ - uint8_t depth; /* distance from root hub */ + uint8_t depth; /* distance from root HUB */ uint8_t speed; /* low/full/high speed */ uint8_t self_powered; /* flag for self powered */ + uint8_t port_index; /* parent HUB port index */ + uint8_t port_no; /* parent HUB port number */ + uint8_t hs_hub_addr; /* high-speed HUB address */ + uint8_t hs_port_no; /* high-speed HUB port number */ + uint8_t driver_added_refcount; usb_endpoint_descriptor_t default_ep_desc; /* for pipe 0 */ usb_device_descriptor_t ddesc; /* device descriptor */ @@ -283,66 +320,59 @@ #define USBD_PROBED_IFACE_AND_FOUND 2 #define USBD_PROBED_GENERIC_AND_FOUND 3 - uint8_t serial[32]; /* serial number */ + uint8_t serial[64]; /* serial number */ + uint8_t manufacturer[64]; /* manufacturer string */ + uint8_t product[64]; /* product string */ + uint8_t scratch[128]; uint8_t detaching; + uint8_t no_strings; /* flag for no strings */ }; +struct usbd_xfer_flags { + uint8_t force_short_xfer : 1; /* force a short transfer last */ + uint8_t short_xfer_ok : 1; /* allow short transfers */ + uint8_t short_frames_ok : 1; /* allow short frames */ + uint8_t pipe_bof : 1; /* block pipe on failure */ + uint8_t use_polling : 1; /* poll until transfer is finished */ + uint8_t proxy_buffer : 1; /* makes buffer size a factor of "max_frame_size" */ + uint8_t ext_buffer : 1; /* uses external DMA buffer */ + uint8_t manual_status : 1; /* non automatic status stage on control transfers */ +}; + +struct usbd_xfer_flags_int { + uint16_t control_rem; /* remainder in bytes */ + + uint8_t open : 1; + uint8_t recursed_1 : 1; + uint8_t recursed_2 : 1; + uint8_t transferring : 1; + uint8_t bandwidth_reclaimed : 1; + uint8_t control_xfr : 1; /* set if control transfer */ + uint8_t control_hdr : 1; /* set if control header should be sent */ + uint8_t control_act : 1; /* set if control transfer is active */ + + uint8_t short_frames_ok : 1; /* filtered version */ + uint8_t short_xfer_ok : 1; /* filtered version */ +}; + struct usbd_config { - usbd_callback_t *callback; + usbd_callback_t *callback; /* transfer callback */ + uint32_t bufsize; /* total pipe buffer size in bytes */ + uint32_t frames; /* maximum number of USB frames */ + uint16_t interval; /* interval in milliseconds */ - uint32_t flags; /* flags */ -#define USBD_UNUSED_0 0x0001 -#define USBD_FORCE_SHORT_XFER 0x0002 /* force a short packet last */ -#if (USBD_SHORT_XFER_OK != 0x0004) -#define USBD_SHORT_XFER_OK 0x0004 /* allow short reads - * NOTE: existing software - * expects USBD_SHORT_XFER_OK - * to have a value of 0x4. This - * flag is also exported by usb.h - */ -#endif -#define USBD_PIPE_BOF 0x0008 /* block pipe on failure */ -#define USBD_DEV_OPEN 0x0010 -#define USBD_DEV_RECURSED_1 0x0020 -#define USBD_DEV_RECURSED_2 0x0040 -#define USBD_DEV_TRANSFERRING 0x0080 -#define USBD_BANDWIDTH_RECLAIMED 0x0100 -#define USBD_USE_POLLING 0x0200 /* used to make synchronous transfers - * use polling instead of sleep/wakeup - */ -#define USBD_DEV_CONTROL_HEADER 0x0400 -#define USBD_USE_DMA 0x0800 -#define USBD_UNUSED_4 0x1000 -#define USBD_UNUSED_5 0x2000 -#define USBD_UNUSED_6 0x4000 -#define USBD_UNUSED_7 0x8000 +#define USBD_DEFAULT_INTERVAL 0 - uint32_t bufsize; /* total pipe buffer size in bytes */ + uint16_t timeout; /* transfer timeout in milliseconds */ - uint16_t timeout; /* milliseconds */ + struct usbd_xfer_flags flags; /* transfer flags */ - uint16_t frames; /* number of frames - * used in isochronous - * mode - */ uint8_t type; /* pipe type */ uint8_t endpoint; /* pipe number */ - uint8_t direction; /* pipe direction */ - uint8_t interval; /* interrupt interval in milliseconds; - * used by interrupt pipes - */ -#define USBD_DEFAULT_INTERVAL 0 - - uint8_t index; /* pipe index to use, if more - * than one descriptor matches - * type, address, direction ... - */ + uint8_t index; /* pipe index match to use */ }; -#define USBD_TRANSFER_IN_PROGRESS(xfer) \ - ((xfer)->flags & USBD_DEV_TRANSFERRING) - struct usbd_xfer { struct __callout timeout_handle; struct usbd_page_cache buf_data; /* buffer page cache */ @@ -364,36 +394,38 @@ void *td_transfer_cache; /* used by HC driver */ void *priv_sc; void *priv_fifo; - void *buffer; - uint16_t *frlengths; - uint16_t *frlengths_old; + uint32_t *frlengths; + struct usbd_page_cache *frbuffers; usbd_callback_t *callback; - uint32_t length; /* bytes */ - uint32_t actlen; /* bytes */ - uint32_t flags; + uint32_t max_usb_frame_size; + uint32_t max_data_length; + uint32_t sumlen; /* sum of all lengths in bytes */ + uint32_t actlen; /* actual length in bytes */ uint32_t timeout; /* milliseconds */ #define USBD_NO_TIMEOUT 0 #define USBD_DEFAULT_TIMEOUT 5000 /* 5000 ms = 5 seconds */ - uint32_t nframes; /* for isochronous transfers */ + uint32_t nframes; /* number of USB frames to transfer */ + uint32_t aframes; /* actual number of USB frames transferred */ uint16_t max_packet_size; uint16_t max_frame_size; uint16_t qh_pos; uint16_t isoc_time_complete; /* in ms */ - uint16_t control_remainder; + uint16_t interval; /* milliseconds */ uint8_t address; uint8_t endpoint; - uint8_t interval; /* milliseconds */ uint8_t max_packet_count; - uint8_t control_isread; uint8_t usb_smask; uint8_t usb_cmask; uint8_t usb_uframe; usbd_status error; + + struct usbd_xfer_flags flags; + struct usbd_xfer_flags_int flags_int; }; struct usbd_memory_info { @@ -415,7 +447,8 @@ struct usbd_mbuf *usbd_next; uint32_t cur_data_len; - uint32_t max_data_len; + uint32_t max_data_len : 31; + uint32_t last_packet : 1; }; struct usbd_ifqueue { @@ -463,6 +496,7 @@ #define USBD_MBUF_RESET(m) do { \ (m)->cur_data_ptr = (m)->min_data_ptr; \ (m)->cur_data_len = (m)->max_data_len; \ + (m)->last_packet = 0; \ } while (0) /*---------------------------------------------------------------------------* @@ -551,9 +585,6 @@ /* prototypes from usb_subr.c */ -#define USBD_TYPE_ANY (-1) -#define USBD_SUBTYPE_ANY (-1) - #ifdef __FreeBSD__ #if (__FreeBSD_version >= 700020) #define device_get_dma_tag(dev) bus_get_dma_tag(dev) @@ -562,27 +593,28 @@ #endif #endif -void usbd_devinfo(struct usbd_device *udev, int32_t showclass, char *dst_ptr, uint16_t dst_len); +void usbd_devinfo(struct usbd_device *udev, char *dst_ptr, uint16_t dst_len); const char * usbd_errstr(usbd_status err); void usb_delay_ms(struct usbd_bus *bus, uint32_t ms); void usbd_delay_ms(struct usbd_device *udev, uint32_t ms); +void usbd_pause_mtx(struct mtx *mtx, uint32_t ms); usb_descriptor_t *usbd_desc_foreach(usb_config_descriptor_t *cd, usb_descriptor_t *desc); -struct usb_hid_descriptor *usbd_get_hdesc(usb_config_descriptor_t *cd, usb_interface_descriptor_t *id); -usb_interface_descriptor_t *usbd_find_idesc(usb_config_descriptor_t *cd, uint16_t iface_index, uint16_t alt_index); -usb_endpoint_descriptor_t *usbd_find_edesc(usb_config_descriptor_t *cd, uint16_t iface_index, uint16_t alt_index, uint16_t endptidx); -void * usbd_find_descriptor(struct usbd_device *udev, void *id, uint16_t iface_index, int16_t type, int16_t subtype); +usb_interface_descriptor_t *usbd_find_idesc(usb_config_descriptor_t *cd, uint8_t iface_index, uint8_t alt_index); +usb_endpoint_descriptor_t *usbd_find_edesc(usb_config_descriptor_t *cd, uint8_t iface_index, uint8_t alt_index, uint8_t ep_index); +void * usbd_find_descriptor(struct usbd_device *udev, void *id, uint8_t iface_index, uint8_t type, uint8_t type_mask, uint8_t subtype, uint8_t subtype_mask); uint16_t usbd_get_no_alts(usb_config_descriptor_t *cd, uint8_t ifaceno); uint8_t usbd_intr_schedule_adjust(struct usbd_device *udev, int16_t len, uint8_t slot); void usbd_fs_isoc_schedule_init_all(struct usbd_fs_isoc_schedule *fss); uint16_t usbd_fs_isoc_schedule_isoc_time_expand(struct usbd_device *udev, struct usbd_fs_isoc_schedule **pp_start, struct usbd_fs_isoc_schedule **pp_end, uint16_t isoc_time); uint8_t usbd_fs_isoc_schedule_alloc(struct usbd_fs_isoc_schedule *fss, uint16_t len); -usbd_status usbd_search_and_set_config(struct usbd_device *udev, int32_t no, int32_t msg); -usbd_status usbd_set_config_index(struct usbd_device *udev, int32_t index, int32_t msg); -int usbd_fill_deviceinfo(struct usbd_device *udev, struct usb_device_info *di, int32_t usedev); -usbd_status usbd_fill_iface_data(struct usbd_device *udev, int32_t iface_index, int32_t alt_index); -usbd_status usbd_probe_and_attach(device_t parent, int32_t port, struct usbd_port *up); -usbd_status usbd_new_device(device_t parent, struct usbd_bus *bus, int32_t depth, int32_t speed, int32_t port, struct usbd_port *up); -void usbd_free_device(struct usbd_port *up, uint8_t free_subdev); +usbd_status usbd_set_config_no(struct usbd_device *udev, uint8_t no, uint8_t msg); +usbd_status usbd_set_config_index(struct usbd_device *udev, uint8_t index, uint8_t msg); +usbd_status usbd_set_alt_interface_index(struct usbd_device *udev, uint8_t iface_index, uint8_t alt_index); +int usbd_fill_deviceinfo(struct usbd_device *udev, struct usb_device_info *di); +usbd_status usbd_fill_iface_data(struct usbd_device *udev, uint8_t iface_index, uint8_t alt_index); +usbd_status usbd_probe_and_attach(device_t parent, struct usbd_device *udev); +usbd_status usbd_new_device(device_t parent, struct usbd_bus *bus, struct usbd_device *parent_hub, uint8_t depth, uint8_t speed, uint8_t port_index, uint8_t port_no); +void usbd_free_device(struct usbd_device *udev, uint8_t free_subdev); struct usbd_device *usbd_ref_device(struct usbd_bus *bus, uint8_t addr); void usbd_unref_device(struct usbd_device *udev); struct usbd_interface *usbd_get_iface(struct usbd_device *udev, uint8_t iface_index); @@ -591,13 +623,13 @@ void usbd_get_page(struct usbd_page_cache *cache, uint32_t offset, struct usbd_page_search *res); void usbd_copy_in(struct usbd_page_cache *cache, uint32_t offset, const void *ptr, uint32_t len); void usbd_m_copy_in(struct usbd_page_cache *cache, uint32_t dst_offset, struct mbuf *m, uint32_t src_offset, uint32_t src_len); +int usbd_uiomove(struct usbd_page_cache *pc, struct uio *uio, uint32_t pc_offset, uint32_t len); void usbd_copy_out(struct usbd_page_cache *cache, uint32_t offset, void *ptr, uint32_t len); void usbd_bzero(struct usbd_page_cache *cache, uint32_t offset, uint32_t len); uint8_t usbd_page_alloc(bus_dma_tag_t tag, struct usbd_page *page, uint32_t npages); void usbd_page_free(struct usbd_page *page, uint32_t npages); -void usbd_page_get_info(struct usbd_page *page, uint32_t size, struct usbd_page_info *info); -void usbd_page_set_start(struct usbd_page_cache *pc, struct usbd_page *page_ptr, uint32_t size); -void usbd_page_set_end(struct usbd_page_cache *pc, struct usbd_page *page_ptr,uint32_t size); +void usbd_page_cache_init(struct usbd_page_cache *pc, struct usbd_page *page_ptr, uint32_t offset, uint32_t size); +void usbd_page_cache_offset(struct usbd_page_cache *pc_src, struct usbd_page_cache *pc_dst, uint32_t offset); uint32_t usbd_page_fit_obj(uint32_t size, uint32_t obj_len); void * usbd_mem_alloc(bus_dma_tag_t parent, struct usbd_page *page, uint32_t size, uint8_t align_power); void usbd_mem_free(struct usbd_page *page); @@ -607,7 +639,6 @@ void usbd_mem_free_sub(struct usbd_page *page); void usbd_page_dma_exit(struct usbd_page *page); void usbd_page_dma_enter(struct usbd_page *page); -void usbd_std_transfer_setup(struct usbd_device *udev, struct usbd_xfer *xfer, const struct usbd_config *setup, uint16_t max_packet_size, uint16_t max_frame_size, uint8_t max_packet_count); uint8_t usbd_make_str_desc(void *ptr, uint16_t max_len, const char *s); uint32_t mtx_drop_recurse(struct mtx *mtx); void mtx_pickup_recurse(struct mtx *mtx, uint32_t recurse_level); @@ -619,10 +650,6 @@ uint8_t usbd_config_td_sleep(struct usbd_config_td *ctd, uint32_t timeout); struct mbuf * usbd_ether_get_mbuf(void); int32_t device_delete_all_children(device_t dev); -uint16_t usbd_get_max_packet_size(usb_endpoint_descriptor_t *edesc); -uint16_t usbd_get_max_packet_count(usb_endpoint_descriptor_t *edesc); -uint16_t usbd_get_max_frame_size(usb_endpoint_descriptor_t *edesc); -void usbd_set_max_packet_size_count(usb_endpoint_descriptor_t *edesc, uint16_t size, uint16_t count); uint16_t usbd_isoc_time_expand(struct usbd_bus *bus, uint16_t isoc_time_curr); /* prototypes from usb.c */ @@ -652,27 +679,20 @@ uint32_t usb_get_devid(device_t dev); struct usbd_pipe *usbd_get_pipe(struct usbd_device *udev, uint8_t iface_index, const struct usbd_config *setup); usbd_status usbd_interface_count(struct usbd_device *udev, uint8_t *count); +void usbd_transfer_setup_sub(struct usbd_setup_params *parm); usbd_status usbd_transfer_setup(struct usbd_device *udev, uint8_t iface_index, struct usbd_xfer **pxfer, const struct usbd_config *setup_start, uint16_t n_setup, void *priv_sc, struct mtx *priv_mtx); void usbd_transfer_unsetup(struct usbd_xfer **pxfer, uint16_t n_setup); -void usbd_std_isoc_copy_in(struct usbd_xfer *xfer); -void usbd_std_isoc_copy_out(struct usbd_xfer *xfer); -void usbd_std_bulk_intr_copy_in(struct usbd_xfer *xfer); -void usbd_std_bulk_intr_copy_out(struct usbd_xfer *xfer); -void usbd_std_ctrl_copy_in(struct usbd_xfer *xfer); -void usbd_std_ctrl_copy_out(struct usbd_xfer *xfer); -uint8_t usbd_std_ctrl_enter(struct usbd_xfer *xfer); +uint8_t usbd_std_root_transfer(struct usbd_std_root_transfer *std, struct thread *ctd, usbd_std_root_transfer_func_t *func); void usbd_start_hardware(struct usbd_xfer *xfer); void usbd_transfer_start(struct usbd_xfer *xfer); void usbd_transfer_stop(struct usbd_xfer *xfer); void __usbd_callback(struct usbd_xfer *xfer); void usbd_do_callback(struct usbd_xfer **pp_xfer, struct thread *td); -void usbd_transfer_done(struct usbd_xfer *xfer, usbd_status error); void usbd_transfer_enqueue(struct usbd_xfer *xfer); -void usbd_transfer_dequeue(struct usbd_xfer *xfer); -usbd_status usbd_do_request(struct usbd_device *udev, usb_device_request_t *req, void *data); -usbd_status usbd_do_request_flags(struct usbd_device *udev, usb_device_request_t *req, void *data, uint32_t flags, int32_t *actlen, uint32_t timeout); -usbd_status usbd_do_request_mtx(struct usbd_device *udev, struct mtx *mtx, usb_device_request_t *req, void *data); -usbd_status usbd_do_request_flags_mtx(struct usbd_device *udev, struct mtx *mtx, usb_device_request_t *req, void *data, uint32_t flags, int32_t *actlen, uint32_t timeout); +void usbd_transfer_dequeue(struct usbd_xfer *xfer, usbd_status error); +void usbd_do_request_callback(struct usbd_xfer *xfer); +usbd_status usbd_do_request(struct usbd_device *udev, struct mtx *mtx, usb_device_request_t *req, void *data); +usbd_status usbd_do_request_flags(struct usbd_device *udev, struct mtx *mtx, usb_device_request_t *req, void *data, uint32_t flags, uint16_t *actlen, uint32_t timeout); void usbd_fill_get_report(usb_device_request_t *req, uint8_t iface_no, uint8_t type, uint8_t id, uint16_t size); void usbd_fill_set_report(usb_device_request_t *req, uint8_t iface_no, uint8_t type, uint8_t id, uint16_t size); void usbd_clear_data_toggle(struct usbd_device *udev, struct usbd_pipe *pipe); @@ -684,32 +704,31 @@ /* prototypes from usb_requests.c */ -usbd_status usbreq_reset_port(struct usbd_device *udev, int32_t port, usb_port_status_t *ps); -usbd_status usbreq_get_desc(struct usbd_device *udev, uint8_t type, uint8_t index, uint16_t len, void *desc, uint32_t timeout); -usbd_status usbreq_get_string_any(struct usbd_device *udev, uint8_t si, char *buf, uint16_t len); -usbd_status usbreq_get_string_desc(struct usbd_device *udev, uint8_t sindex, uint16_t langid, usb_string_descriptor_t *sdesc, uint8_t *plen); -usbd_status usbreq_get_config_desc(struct usbd_device *udev, uint8_t confidx, usb_config_descriptor_t *d); -usbd_status usbreq_get_config_desc_full(struct usbd_device *udev, uint8_t conf, void *d, uint16_t size); -usbd_status usbreq_get_device_desc(struct usbd_device *udev, usb_device_descriptor_t *d); -usbd_status usbreq_get_interface(struct usbd_device *udev, uint8_t iface_index, uint8_t *aiface); -usbd_status usbreq_set_interface(struct usbd_device *udev, uint8_t iface_index, uint8_t altno); -usbd_status usbreq_get_device_status(struct usbd_device *udev, usb_status_t *st); -usbd_status usbreq_get_hub_descriptor(struct usbd_device *udev, usb_hub_descriptor_t *hd); -usbd_status usbreq_get_hub_status(struct usbd_device *udev, usb_hub_status_t *st); -usbd_status usbreq_set_address(struct usbd_device *udev, int32_t addr); -usbd_status usbreq_get_port_status(struct usbd_device *udev, int32_t port, usb_port_status_t *ps); -usbd_status usbreq_clear_hub_feature(struct usbd_device *udev, int32_t sel); -usbd_status usbreq_set_hub_feature(struct usbd_device *udev, int32_t sel); -usbd_status usbreq_clear_port_feature(struct usbd_device *udev, int32_t port, int32_t sel); -usbd_status usbreq_set_port_feature(struct usbd_device *udev, int32_t port, int32_t sel); -usbd_status usbreq_set_protocol(struct usbd_device *udev, uint8_t iface_index, uint16_t report); -usbd_status usbreq_set_report(struct usbd_device *udev, uint8_t iface_index, uint8_t type, uint8_t id, void *data, int32_t len); -usbd_status usbreq_get_report(struct usbd_device *udev, uint8_t iface_index, uint8_t type, uint8_t id, void *data, int32_t len); -usbd_status usbreq_set_idle(struct usbd_device *udev, uint8_t iface_index, int32_t duration, int32_t id); -usbd_status usbreq_get_report_descriptor(struct usbd_device *udev, int32_t ifcno, int32_t size, void *d); -usbd_status usbreq_read_report_desc(struct usbd_device *udev, uint8_t iface_index, void **descp, int32_t *sizep, usb_malloc_type mem); -usbd_status usbreq_set_config(struct usbd_device *udev, int32_t conf); -usbd_status usbreq_get_config(struct usbd_device *udev, uint8_t *conf); +usbd_status usbreq_reset_port(struct usbd_device *udev, struct mtx *mtx, usb_port_status_t *ps, uint8_t port); +usbd_status usbreq_get_desc(struct usbd_device *udev, struct mtx *mtx, void *desc, uint16_t min_len, uint16_t max_len, uint16_t id, uint8_t type, uint8_t index, uint8_t retries); +usbd_status usbreq_get_string_any(struct usbd_device *udev, struct mtx *mtx, char *buf, uint16_t len, uint8_t string_index); +usbd_status usbreq_get_string_desc(struct usbd_device *udev, struct mtx *mtx, void *sdesc, uint16_t max_len, uint16_t lang_id, uint8_t string_index); +usbd_status usbreq_get_config_desc(struct usbd_device *udev, struct mtx *mtx, usb_config_descriptor_t *d, uint8_t conf_index); +usbd_status usbreq_get_config_desc_full(struct usbd_device *udev, struct mtx *mtx, void *d, uint16_t size, uint8_t conf_index); +usbd_status usbreq_get_device_desc(struct usbd_device *udev, struct mtx *mtx, usb_device_descriptor_t *d); +usbd_status usbreq_get_alt_interface_no(struct usbd_device *udev, struct mtx *mtx, uint8_t *alt_iface_no, uint8_t iface_index); +usbd_status usbreq_set_alt_interface_no(struct usbd_device *udev, struct mtx *mtx, uint8_t iface_index, uint8_t alt_no); +usbd_status usbreq_get_device_status(struct usbd_device *udev, struct mtx *mtx, usb_status_t *st); +usbd_status usbreq_get_hub_descriptor(struct usbd_device *udev, struct mtx *mtx, usb_hub_descriptor_t *hd); +usbd_status usbreq_get_hub_status(struct usbd_device *udev, struct mtx *mtx, usb_hub_status_t *st); +usbd_status usbreq_set_address(struct usbd_device *udev, struct mtx *mtx, uint16_t addr); +usbd_status usbreq_get_port_status(struct usbd_device *udev, struct mtx *mtx, usb_port_status_t *ps, uint8_t port); +usbd_status usbreq_clear_hub_feature(struct usbd_device *udev, struct mtx *mtx, uint16_t sel); +usbd_status usbreq_set_hub_feature(struct usbd_device *udev, struct mtx *mtx, uint16_t sel); +usbd_status usbreq_clear_port_feature(struct usbd_device *udev, struct mtx *mtx, uint8_t port, uint16_t sel); +usbd_status usbreq_set_port_feature(struct usbd_device *udev, struct mtx *mtx, uint8_t port, uint16_t sel); +usbd_status usbreq_set_protocol(struct usbd_device *udev, struct mtx *mtx, uint8_t iface_index, uint16_t report); +usbd_status usbreq_set_report(struct usbd_device *udev, struct mtx *mtx, void *data, uint16_t len, uint8_t iface_index, uint8_t type, uint8_t id); +usbd_status usbreq_get_report(struct usbd_device *udev, struct mtx *mtx, void *data, uint16_t len, uint8_t iface_index, uint8_t type, uint8_t id); +usbd_status usbreq_set_idle(struct usbd_device *udev, struct mtx *mtx, uint8_t iface_index, uint8_t duration, uint8_t id); +usbd_status usbreq_get_report_descriptor(struct usbd_device *udev, struct mtx *mtx, void *d, uint16_t size, uint8_t iface_index); +usbd_status usbreq_set_config(struct usbd_device *udev, struct mtx *mtx, uint8_t conf); +usbd_status usbreq_get_config(struct usbd_device *udev, struct mtx *mtx, uint8_t *pconf); /**/ #define usbd_get_device_descriptor(udev) (&(udev)->ddesc) @@ -718,12 +737,18 @@ #define usbd_get_interface_altindex(iface) ((iface)->alt_index) #define usbd_get_quirks(udev) ((udev)->quirks) #define usbd_get_speed(udev) ((udev)->speed) -#define usbd_get_hid_descriptor usbd_get_hdesc -#define usbd_set_config_no usbd_search_and_set_config +#define usbd_do_request(u,m,r,d) \ + usbd_do_request_flags(u,m,r,d,0,NULL,USBD_DEFAULT_TIMEOUT) /* helper for computing offsets */ #define POINTER_TO_UNSIGNED(ptr) \ - (((uint8_t *)(ptr)) - ((uint8_t *)0)) + (((const uint8_t *)(ptr)) - ((const uint8_t *)0)) + +#define USBD_ADD_BYTES(ptr,size) \ + ((void *)(POINTER_TO_UNSIGNED(ptr) + (size))) + +#define USBD_MS_TO_TICKS(ms) \ + (((uint32_t)((((uint32_t)(ms)) * ((uint32_t)(hz))) + 1023)) / 1024) /* prototypes from "usb_cdev.c" */ @@ -737,9 +762,12 @@ int32_t usb_cdev_lock(struct usb_cdev *sc, int32_t fflags, int32_t error); int32_t usb_cdev_attach(struct usb_cdev *sc, void *priv_sc, struct mtx *priv_mtx, const char **pp_dev, uid_t _uid, gid_t _gid, int32_t _perms, uint32_t rd_size, uint16_t rd_packets, uint32_t wr_size, uint16_t wr_packets); void usb_cdev_detach(struct usb_cdev *sc); -void usb_cdev_put_data(struct usb_cdev *sc, uint8_t *buf, uint32_t len, uint8_t what); +uint32_t usb_cdev_put_bytes_max(struct usb_cdev *sc); +void usb_cdev_put_data(struct usb_cdev *sc, struct usbd_page_cache *pc, uint32_t offset, uint32_t len, uint8_t what); +void usb_cdev_put_data_linear(struct usb_cdev *sc, void *ptr, uint32_t len, uint8_t what); void usb_cdev_put_data_error(struct usb_cdev *sc); -uint8_t usb_cdev_get_data(struct usb_cdev *sc, uint8_t *buf, uint32_t len, uint32_t *actlen, uint8_t what); +uint8_t usb_cdev_get_data(struct usb_cdev *sc, struct usbd_page_cache *pc, uint32_t offset, uint32_t len, uint32_t *actlen, uint8_t what); +uint8_t usb_cdev_get_data_linear(struct usb_cdev *sc, void *ptr, uint32_t len, uint32_t *actlen, uint8_t what); void usb_cdev_get_data_error(struct usb_cdev *sc); uint8_t usb_cdev_opened(struct usb_cdev *sc); @@ -811,11 +839,10 @@ /* other flags */ -#define USB_CDEV_FLAG_FWD_SHORT 0x00040000 /* can be set to forward short transfers */ -#define USB_CDEV_FLAG_READ_ONLY 0x00080000 /* device is read only */ -#define USB_CDEV_FLAG_WRITE_ONLY 0x00100000 /* device is write only */ -#define USB_CDEV_FLAG_WAKEUP_RD_IMMED 0x00200000 /* wakeup read thread immediately */ -#define USB_CDEV_FLAG_WAKEUP_WR_IMMED 0x00400000 /* wakeup write thread immediately */ +#define USB_CDEV_FLAG_READ_ONLY 0x00040000 /* device is read only */ +#define USB_CDEV_FLAG_WRITE_ONLY 0x00080000 /* device is write only */ +#define USB_CDEV_FLAG_WAKEUP_RD_IMMED 0x00100000 /* wakeup read thread immediately */ +#define USB_CDEV_FLAG_WAKEUP_WR_IMMED 0x00200000 /* wakeup write thread immediately */ uint8_t sc_wakeup_read; /* dummy */ uint8_t sc_wakeup_write; /* dummy */ From owner-p4-projects@FreeBSD.ORG Sun Sep 23 17:38:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 66D2216A420; Sun, 23 Sep 2007 17:38:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 38F4D16A41A for ; Sun, 23 Sep 2007 17:38:19 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 126A913C459 for ; Sun, 23 Sep 2007 17:38:19 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NHcIOX011889 for ; Sun, 23 Sep 2007 17:38:18 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NHcILd011886 for perforce@freebsd.org; Sun, 23 Sep 2007 17:38:18 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 17:38:18 GMT Message-Id: <200709231738.l8NHcILd011886@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126753 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 17:38:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=126753 Change 126753 by hselasky@hselasky_laptop001 on 2007/09/23 17:37:46 - compile fixes - fix data length type - fix a variable typo Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ucycom.c#15 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ucycom.c#15 (text+ko) ==== @@ -215,7 +215,7 @@ struct usbd_interface *iface; void *urd_ptr = NULL; int32_t error; - int32_t urd_len; + uint16_t urd_len; if (sc == NULL) { return ENOMEM; @@ -443,7 +443,7 @@ usbd_copy_in(xfer->frbuffers + 1, 0, data, offset); xfer->frlengths[0] = sizeof(req); - xfer->frlenghts[1] = sc->sc_olen; + xfer->frlengths[1] = sc->sc_olen; usbd_start_hardware(xfer); } From owner-p4-projects@FreeBSD.ORG Sun Sep 23 17:44:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 48A6F16A41B; Sun, 23 Sep 2007 17:44:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFFEB16A41A for ; Sun, 23 Sep 2007 17:44:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A831513C474 for ; Sun, 23 Sep 2007 17:44:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8NHiSoQ012299 for ; Sun, 23 Sep 2007 17:44:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8NHiSXu012296 for perforce@freebsd.org; Sun, 23 Sep 2007 17:44:28 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 23 Sep 2007 17:44:28 GMT Message-Id: <200709231744.l8NHiSXu012296@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126754 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 17:44:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=126754 Change 126754 by hselasky@hselasky_laptop001 on 2007/09/23 17:44:26 The P4 USB project is compileable again except for the OHCI and UHCI HC drivers. The remaining changes specified by @126687 will be completed during the coming week. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/README#17 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/README#17 (text+ko) ==== @@ -1,7 +1,11 @@ Hi, -The USB P4 project does currently not compile due to ongoing work, -which is expected to be complete by the end of Sunday the 23rd 2007. +The OHCI and UHCI drivers do currently not compile due to ongoing +work, which is expected to be complete by the end of week 39 2007. + +You can work around this by not including "device ohci" and "device +uhci" in your kernel config file until furter. To use full/low speed +devices, connect them through an external USB HUB. --HPS From owner-p4-projects@FreeBSD.ORG Sun Sep 23 18:21:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0BB3816A421; Sun, 23 Sep 2007 18:21:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBDBE16A418; Sun, 23 Sep 2007 18:21:49 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from mojo.ru (mojo.ru [84.252.152.63]) by mx1.freebsd.org (Postfix) with ESMTP id 083C713C4B9; Sun, 23 Sep 2007 18:21:48 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from [192.168.0.16] (nc-76-4-28-21.dhcp.embarqhsd.net [76.4.28.21]) (authenticated bits=0) by mojo.ru (8.12.11.20060308/8.12.10) with ESMTP id l8NHZMl9014246 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 23 Sep 2007 21:35:26 +0400 Message-ID: <46F6A3C3.6010408@FreeBSD.org> Date: Sun, 23 Sep 2007 13:34:59 -0400 From: "Constantine A. Murenin" Organization: Google Summer of Code 2007 Student @ The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-gb, en-gb-oed, en, en-us, ru, ru-ru, ru-su MIME-Version: 1.0 To: Hans Petter Selasky References: <200709231625.l8NGPhaR097038@repoman.freebsd.org> In-Reply-To: <200709231625.l8NGPhaR097038@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , "Constantine A. Murenin" Subject: Re: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 18:21:50 -0000 Most of this diff violates KNF. Some comments are inline. On 23/09/2007 12:25, Hans Petter Selasky wrote: > http://perforce.freebsd.org/chv.cgi?CH=126745 > > Change 126745 by hselasky@hselasky_laptop001 on 2007/09/23 16:25:37 > > > - moved and renamed two functions into "usb_hid.c" from > "usb_subr.c" > > Affected files ... > > .. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#4 edit > > Differences ... > > ==== //depot/projects/usb/src/sys/dev/usb/usb_hid.c#4 (text+ko) ==== > > @@ -464,3 +464,79 @@ > hid_end_parse(hd); > return (err); > } > + > +usb_hid_descriptor_t * > +hid_get_descriptor_from_usb(usb_config_descriptor_t *cd, > + usb_interface_descriptor_t *id) All tabs and adjacent spaces on the line above should be replaced with a total of four spaces. > +{ > + usb_descriptor_t *desc = (void *)id; > + > + if(desc == NULL) { > + return NULL; > + } A space after the 'if' keyword is missing. Curly brackets should be omitted above. E.g. it should have been: if (desc == NULL) return NULL; > + > + while ((desc = usbd_desc_foreach(cd, desc))) > + { > + if ((desc->bDescriptorType == UDESC_HID) && > + (desc->bLength >= USB_HID_DESCRIPTOR_SIZE(0))) > + { > + return (void *)desc; > + } > + > + if (desc->bDescriptorType == UDESC_INTERFACE) > + { > + break; > + } > + } > + return NULL; The opening curly bracket should appear on a line by itself only for the definition of a function, not for the 'while' or 'if' statements. Curly brackets in the above 'if' statements are excessive. > +} > + > +usbd_status > +hid_read_report_desc_from_usb(struct usbd_device *udev, struct mtx *mtx, > + void **descp, uint16_t *sizep, > + usb_malloc_type mem, uint8_t iface_index) > +{ Too many spaces, see one of the comments above. > + struct usbd_interface *iface = usbd_get_iface(udev, iface_index); > + usb_hid_descriptor_t *hid; > + usbd_status err; > + > + if((iface == NULL) || (iface->idesc == NULL)) > + { > + return USBD_INVAL; > + } > + > + hid = hid_get_descriptor_from_usb > + (usbd_get_config_descriptor(udev), iface->idesc); > + > + if(hid == NULL) > + { > + return USBD_IOERROR; > + } > + > + *sizep = UGETW(hid->descrs[0].wDescriptorLength); > + if (*sizep == 0) { > + return USBD_IOERROR; > + } > + > + if (mtx) mtx_unlock(mtx); > + > + *descp = malloc(*sizep, mem, M_ZERO|M_WAITOK); > + > + if (mtx) mtx_lock(mtx); > + > + if(*descp == NULL) > + { > + return USBD_NOMEM; > + } > + > + err = usbreq_get_report_descriptor > + (udev, mtx, *descp, *sizep, iface_index); > + > + if(err) > + { > + free(*descp, mem); > + *descp = NULL; > + return err; > + } > + return USBD_NORMAL_COMPLETION; > +} Some spaces are missing after the 'if' keyword, some curly brackets appear on the wrong lines, and most curly brackets should be omitted in the first place. :) Also, I'm not sure it's a good idea to have such a long function names as hid_get_descriptor_from_usb() and usbreq_get_report_descriptor(), where you are basically going outside of style(9) in the way that you are calling these functions in the above code. "if (mtx) mtx_lock(mtx);" should be splitted into two lines. In general, you might want to refer to style(9): http://www.freebsd.org/cgi/man.cgi?query=style&sektion=9 Best regards, Constantine. From owner-p4-projects@FreeBSD.ORG Sun Sep 23 20:13:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98D1216A418; Sun, 23 Sep 2007 20:13:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B43B16A41A; Sun, 23 Sep 2007 20:13:20 +0000 (UTC) (envelope-from hselasky@freebsd.org) Received: from swip.net (mailfe11.swip.net [212.247.155.65]) by mx1.freebsd.org (Postfix) with ESMTP id 9443813C457; Sun, 23 Sep 2007 20:13:19 +0000 (UTC) (envelope-from hselasky@freebsd.org) X-Cloudmark-Score: 0.000000 [] Received: from [85.19.218.45] (account mc467741@c2i.net [85.19.218.45] verified) by mailfe11.swip.net (CommuniGate Pro SMTP 5.1.10) with ESMTPA id 454118567; Sun, 23 Sep 2007 21:13:16 +0200 From: Hans Petter Selasky To: "Constantine A. Murenin" Date: Sun, 23 Sep 2007 21:13:33 +0200 User-Agent: KMail/1.9.7 References: <200709231625.l8NGPhaR097038@repoman.freebsd.org> <46F6A3C3.6010408@FreeBSD.org> In-Reply-To: <46F6A3C3.6010408@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709232113.34718.hselasky@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2007 20:13:21 -0000 Hi Constantine, Thanks for your input and I _know_ that my code is not 100% style compliant. Most of the style misbehaves are probably there due to the way my "xemacs" autoformatting behaves. And I love curly brackets and parenthesis, by the way :-) My plan is to clean up all the style stuff by a small C-program in the end, because doing it by hand is waste of my time. Probably it will take less time to write that program than the actual manual edit when we are talking about doing alot of edits. It wonders me if such a tool already exists, because the code is technically OK. Anyone that wants to be a little more constructive and point towards where the FreeBSD style transformer program is? I assume it would be extremely useful to everyone that is forced to use multiple different styles depending on what project they are contributing to, like me. Then before commit I will run that script and verify the differences. And that's it. --HPS From owner-p4-projects@FreeBSD.ORG Mon Sep 24 04:54:09 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8390816A419; Mon, 24 Sep 2007 04:54:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 59ED216A417 for ; Mon, 24 Sep 2007 04:54:09 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 323A813C45D for ; Mon, 24 Sep 2007 04:54:09 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8O4s9bw090395 for ; Mon, 24 Sep 2007 04:54:09 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8O4s9Sw090390 for perforce@freebsd.org; Mon, 24 Sep 2007 04:54:09 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Sep 2007 04:54:09 GMT Message-Id: <200709240454.l8O4s9Sw090390@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126760 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 04:54:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=126760 Change 126760 by kmacy@kmacy_home:ethng on 2007/09/24 04:54:01 - we should never make it as far as the dtor if the memory is allocated from another zone, but a KASSERT that this isn't an embedded mbuf just in case - initialize ref_cnt packet zone ctor Affected files ... .. //depot/projects/ethng/src/sys/kern/kern_mbuf.c#7 edit Differences ... ==== //depot/projects/ethng/src/sys/kern/kern_mbuf.c#7 (text+ko) ==== @@ -355,6 +355,7 @@ if ((flags & MB_NOTAGS) == 0 && (m->m_flags & M_PKTHDR) != 0) m_tag_delete_chain(m, NULL); KASSERT((m->m_flags & M_EXT) == 0, ("%s: M_EXT set", __func__)); + KASSERT((m->m_flags & M_NOFREE) == 0, ("freeing embedded mbuf")); #ifdef INVARIANTS trash_dtor(mem, size, arg); #endif @@ -534,7 +535,8 @@ m->m_len = 0; m->m_flags = (flags | M_EXT); m->m_type = type; - + m->m_ext.ref_cnt = NULL; /* lazy refcnt */ + if (flags & M_PKTHDR) { m->m_pkthdr.rcvif = NULL; m->m_pkthdr.len = 0; From owner-p4-projects@FreeBSD.ORG Mon Sep 24 04:55:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D55216A420; Mon, 24 Sep 2007 04:55:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A21116A418 for ; Mon, 24 Sep 2007 04:55:11 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0152213C457 for ; Mon, 24 Sep 2007 04:55:11 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8O4tBIS090480 for ; Mon, 24 Sep 2007 04:55:11 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8O4tAjc090477 for perforce@freebsd.org; Mon, 24 Sep 2007 04:55:10 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Sep 2007 04:55:10 GMT Message-Id: <200709240455.l8O4tAjc090477@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126761 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 04:55:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=126761 Change 126761 by kmacy@kmacy_home:ethng on 2007/09/24 04:55:03 remove old mbuf iovec code Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#4 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#4 (text+ko) ==== @@ -326,552 +326,3 @@ } -#ifdef notyet -int -_m_explode(struct mbuf *m) -{ - int i, offset, type, first, len; - uint8_t *cl; - volatile uint32_t *ref; - struct mbuf *m0, *head = NULL; - struct mbuf_vec *mv; - -#ifdef INVARIANTS - len = m->m_len; - m0 = m->m_next; - while (m0) { - KASSERT((m0->m_flags & M_PKTHDR) == 0, - ("pkthdr set on intermediate mbuf - pre")); - len += m0->m_len; - m0 = m0->m_next; - - } - if (len != m->m_pkthdr.len) - panic("at start len=%d pktlen=%d", len, m->m_pkthdr.len); -#endif - mv = mtomv(m); - first = mv->mv_first; - for (i = mv->mv_count + first - 1; i > first; i--) { - type = mbuf_vec_get_type(mv, i); - cl = mv->mv_vec[i].mi_base; - offset = mv->mv_vec[i].mi_offset; - ref = mv->mv_vec[i].mi_refcnt; - len = mv->mv_vec[i].mi_len; - if (__predict_false(type == EXT_MBUF)) { - m0 = (struct mbuf *)cl; - KASSERT((m0->m_flags & M_EXT) == 0, ("M_EXT set on mbuf")); - m0->m_len = len; - m0->m_data = cl + offset; - goto skip_cluster; - - } else if ((m0 = m_get(M_DONTWAIT, MT_DATA)) == NULL) { - /* - * Check for extra memory leaks - */ - m_freem(head); - return (ENOMEM); - } - m0->m_flags = 0; - - m_cljset(m0, (uint8_t *)cl, type, ref); - m0->m_len = mv->mv_vec[i].mi_len; - if (offset) - m->m_data += offset; - skip_cluster: - m0->m_next = head; - m->m_len -= m0->m_len; - head = m0; - } - offset = mv->mv_vec[first].mi_offset; - cl = mv->mv_vec[first].mi_base; - ref = mv->mv_vec[first].mi_refcnt; - type = mbuf_vec_get_type(mv, first); - m->m_flags &= ~(M_IOVEC); - m_cljset(m, cl, type, ref); - if (offset) - m->m_data += offset; - m->m_next = head; - head = m; - M_SANITY(m, 0); - - return (0); -} - -static __inline int -m_vectorize(struct mbuf *m, int max, struct mbuf **vec, int *count) -{ - int i, error = 0; - - for (i = 0; i < max; i++) { - if (m == NULL) - break; -#ifndef MBUF_PACKET_ZONE_DISABLE - if ((m->m_flags & M_EXT) && (m->m_ext.ext_type == EXT_PACKET)) - return (EINVAL); -#endif -#ifdef ZERO_COPY_SOCKETS - if ((m->m_flags & M_EXT) && (m->m_ext.ext_type == EXT_SFBUF)) - return (EINVAL); -#endif - M_SANITY(m, 0); - vec[i] = m; - m = m->m_next; - } - if (m) - error = EFBIG; - - *count = i; - - return (error); -} - -static __inline int -m_findmbufs(struct mbuf **ivec, int maxbufs, struct mbuf_ext *ovec, int osize, int *ocount) -{ - int i, j, nhbufsneed, nhbufs; - struct mbuf *m; - - nhbufsneed = min(((maxbufs - 1)/MAX_MBUF_IOV) + 1, osize); - ovec[0].me_m = NULL; - - for (nhbufs = j = i = 0; i < maxbufs && nhbufs < nhbufsneed; i++) { - if ((ivec[i]->m_flags & M_EXT) == 0) - continue; - m = ivec[i]; - ovec[nhbufs].me_m = m; - ovec[nhbufs].me_base = m->m_ext.ext_buf; - ovec[nhbufs].me_refcnt = m->m_ext.ref_cnt; - ovec[nhbufs].me_offset = (m->m_data - m->m_ext.ext_buf); - ovec[nhbufs].me_flags = m->m_ext.ext_type; - nhbufs++; - } - if (nhbufs == 0) { - if ((m = m_gethdr(M_DONTWAIT, MT_DATA)) == NULL) - goto m_getfail; - ovec[nhbufs].me_m = m; - nhbufs = 1; - } - while (nhbufs < nhbufsneed) { - if ((m = m_get(M_DONTWAIT, MT_DATA)) == NULL) - goto m_getfail; - ovec[nhbufs].me_m = m; - nhbufs++; - } - /* - * Copy over packet header to new head of chain - */ - if (ovec[0].me_m != ivec[0]) { - ovec[0].me_m->m_flags |= M_PKTHDR; - memcpy(&ovec[0].me_m->m_pkthdr, &ivec[0]->m_pkthdr, sizeof(struct pkthdr)); - SLIST_INIT(&ivec[0]->m_pkthdr.tags); - } - *ocount = nhbufs; - return (0); -m_getfail: - for (i = 0; i < nhbufs; i++) - if ((ovec[i].me_m->m_flags & M_EXT) == 0) - uma_zfree(zone_mbuf, ovec[i].me_m); - return (ENOMEM); - -} - -static __inline void -m_setiovec(struct mbuf_iovec *mi, struct mbuf *m, struct mbuf_ext *extvec, int *me_index, - int max_me_index) -{ - int idx = *me_index; - - mi->mi_len = m->m_len; - if (idx < max_me_index && extvec[idx].me_m == m) { - struct mbuf_ext *me = &extvec[idx]; - (*me_index)++; - mi->mi_base = me->me_base; - mi->mi_refcnt = me->me_refcnt; - mi->mi_offset = me->me_offset; - mi->mi_flags = me->me_flags; - } else if (m->m_flags & M_EXT) { - mi->mi_base = m->m_ext.ext_buf; - mi->mi_refcnt = m->m_ext.ref_cnt; - mi->mi_offset = - (m->m_data - m->m_ext.ext_buf); - mi->mi_flags = m->m_ext.ext_type; - } else { - KASSERT(m->m_len < 256, ("mbuf too large len=%d", - m->m_len)); - mi->mi_base = (uint8_t *)m; - mi->mi_refcnt = NULL; - mi->mi_offset = - (m->m_data - (caddr_t)m); - mi->mi_flags = EXT_MBUF; - } - DPRINTF("type=%d len=%d refcnt=%p cl=%p offset=0x%x\n", - mi->mi_flags, mi->mi_len, mi->mi_refcnt, mi->mi_base, - mi->mi_offset); -} - -int -_m_collapse(struct mbuf *m, int maxbufs, struct mbuf **mnew) -{ - struct mbuf *m0, *lmvec[MAX_BUFS]; - struct mbuf **mnext; - struct mbuf **vec = lmvec; - struct mbuf *mhead = NULL; - struct mbuf_vec *mv; - int err, i, j, max, len, nhbufs; - struct mbuf_ext dvec[MAX_HVEC]; - int hidx = 0, dvecidx; - - M_SANITY(m, 0); - if (maxbufs > MAX_BUFS) { - if ((vec = malloc(maxbufs * sizeof(struct mbuf *), - M_DEVBUF, M_NOWAIT)) == NULL) - return (ENOMEM); - } - - if ((err = m_vectorize(m, maxbufs, vec, &max)) != 0) - goto out; - if ((err = m_findmbufs(vec, max, dvec, MAX_HVEC, &nhbufs)) != 0) - goto out; - - KASSERT(max > 0, ("invalid mbuf count")); - KASSERT(nhbufs > 0, ("invalid header mbuf count")); - - mhead = m0 = dvec[0].me_m; - - DPRINTF("nbufs=%d nhbufs=%d\n", max, nhbufs); - for (hidx = dvecidx = i = 0, mnext = NULL; i < max; hidx++) { - m0 = dvec[hidx].me_m; - m0->m_flags &= ~M_EXT; - m0->m_flags |= M_IOVEC; - - if (mnext) - *mnext = m0; - - mv = mtomv(m0); - len = mv->mv_first = 0; - for (j = 0; j < MAX_MBUF_IOV && i < max; j++, i++) { - struct mbuf_iovec *mi = &mv->mv_vec[j]; - - m_setiovec(mi, vec[i], dvec, &dvecidx, nhbufs); - len += mi->mi_len; - } - m0->m_data = mv->mv_vec[0].mi_base + mv->mv_vec[0].mi_offset; - mv->mv_count = j; - m0->m_len = len; - mnext = &m0->m_next; - DPRINTF("count=%d len=%d\n", j, len); - } - - /* - * Terminate chain - */ - m0->m_next = NULL; - - /* - * Free all mbufs not used by the mbuf iovec chain - */ - for (i = 0; i < max; i++) - if (vec[i]->m_flags & M_EXT) { - vec[i]->m_flags &= ~M_EXT; - collapse_free++; - uma_zfree(zone_mbuf, vec[i]); - } - - *mnew = mhead; -out: - if (vec != lmvec) - free(vec, M_DEVBUF); - return (err); -} - - -void -mb_free_vec(struct mbuf *m) -{ - struct mbuf_vec *mv; - int i; - - KASSERT((m->m_flags & (M_EXT|M_IOVEC)) == M_IOVEC, - ("%s: M_EXT set", __func__)); - - mv = mtomv(m); - KASSERT(mv->mv_count <= MAX_MBUF_IOV, - ("%s: mi_count too large %d", __func__, mv->mv_count)); - - DPRINTF("count=%d len=%d\n", mv->mv_count, m->m_len); - for (i = mv->mv_first; i < mv->mv_count; i++) { - uma_zone_t zone = NULL; - volatile int *refcnt = mv->mv_vec[i].mi_refcnt; - int type = mbuf_vec_get_type(mv, i); - void *cl = mv->mv_vec[i].mi_base; - - if ((type != EXT_MBUF) && *refcnt != 1 && - atomic_fetchadd_int(refcnt, -1) != 1) - continue; - - DPRINTF("freeing idx=%d refcnt=%p type=%d cl=%p\n", i, refcnt, type, cl); - switch (type) { - case EXT_MBUF: - mb_free_vec_free++; - case EXT_CLUSTER: - case EXT_JUMBOP: - case EXT_JUMBO9: - case EXT_JUMBO16: - zone = m_getzonefromtype(type); - uma_zfree(zone, cl); - continue; - case EXT_SFBUF: - *refcnt = 0; - uma_zfree(zone_ext_refcnt, __DEVOLATILE(u_int *, - refcnt)); -#ifdef __i386__ - sf_buf_mext(cl, mv->mv_vec[i].mi_args); -#else - /* - * Every architecture other than i386 uses a vm_page - * for an sf_buf (well ... sparc64 does but shouldn't) - */ - sf_buf_mext(cl, PHYS_TO_VM_PAGE(vtophys(cl))); -#endif - continue; - default: - KASSERT(m->m_ext.ext_type == 0, - ("%s: unknown ext_type", __func__)); - break; - } - } - /* - * Free this mbuf back to the mbuf zone with all iovec - * information purged. - */ - mb_free_vec_free++; - uma_zfree(zone_mbuf, m); -} -#endif - -#if (!defined(__sparc64__) && !defined(__sun4v__)) -#include -#include -#include - -#define BUS_DMA_COULD_BOUNCE BUS_DMA_BUS3 -#define BUS_DMA_MIN_ALLOC_COMP BUS_DMA_BUS4 - -struct bounce_zone { - STAILQ_ENTRY(bounce_zone) links; - STAILQ_HEAD(bp_list, bounce_page) bounce_page_list; - int total_bpages; - int free_bpages; - int reserved_bpages; - int active_bpages; - int total_bounced; - int total_deferred; - bus_size_t alignment; - bus_size_t boundary; - bus_addr_t lowaddr; - char zoneid[8]; - char lowaddrid[20]; - struct sysctl_ctx_list sysctl_tree; - struct sysctl_oid *sysctl_tree_top; -}; -struct bus_dma_tag { - bus_dma_tag_t parent; - bus_size_t alignment; - bus_size_t boundary; - bus_addr_t lowaddr; - bus_addr_t highaddr; - bus_dma_filter_t *filter; - void *filterarg; - bus_size_t maxsize; - u_int nsegments; - bus_size_t maxsegsz; - int flags; - int ref_count; - int map_count; - bus_dma_lock_t *lockfunc; - void *lockfuncarg; - bus_dma_segment_t *segments; - struct bounce_zone *bounce_zone; -}; - -struct bus_dmamap { - struct bp_list bpages; - int pagesneeded; - int pagesreserved; - bus_dma_tag_t dmat; - void *buf; /* unmapped buffer pointer */ - bus_size_t buflen; /* unmapped buffer length */ - bus_dmamap_callback_t *callback; - void *callback_arg; - STAILQ_ENTRY(bus_dmamap) links; -}; - -static struct bus_dmamap nobounce_dmamap; - -static __inline int -run_filter(bus_dma_tag_t dmat, bus_addr_t paddr) -{ - int retval; - - retval = 0; - - do { - if (((paddr > dmat->lowaddr && paddr <= dmat->highaddr) - || ((paddr & (dmat->alignment - 1)) != 0)) - && (dmat->filter == NULL - || (*dmat->filter)(dmat->filterarg, paddr) != 0)) - retval = 1; - - dmat = dmat->parent; - } while (retval == 0 && dmat != NULL); - return (retval); -} - -static __inline int -_bus_dmamap_load_buffer(bus_dma_tag_t dmat, - bus_dmamap_t map, - void *buf, bus_size_t buflen, - pmap_t pmap, - int flags, - bus_addr_t *lastaddrp, - bus_dma_segment_t *segs, - int *segp, - int first) -{ - bus_size_t sgsize; - bus_addr_t curaddr, lastaddr, baddr, bmask; - vm_offset_t vaddr; - int needbounce = 0; - int seg; - - if (map == NULL) - map = &nobounce_dmamap; - - /* Reserve Necessary Bounce Pages */ - if (map->pagesneeded != 0) - panic("don't support bounce pages"); - - vaddr = (vm_offset_t)buf; - lastaddr = *lastaddrp; - bmask = ~(dmat->boundary - 1); - - for (seg = *segp; buflen > 0 ; ) { - /* - * Get the physical address for this segment. - */ - if (pmap) - curaddr = pmap_extract(pmap, vaddr); - else - curaddr = pmap_kextract(vaddr); - - - /* - * Compute the segment size, and adjust counts. - */ - sgsize = PAGE_SIZE - ((u_long)curaddr & PAGE_MASK); - if (buflen < sgsize) - sgsize = buflen; - - /* - * Make sure we don't cross any boundaries. - */ - if (dmat->boundary > 0) { - baddr = (curaddr + dmat->boundary) & bmask; - if (sgsize > (baddr - curaddr)) - sgsize = (baddr - curaddr); - } - - if (map->pagesneeded != 0 && run_filter(dmat, curaddr)) - panic("no bounce page support"); - - /* - * Insert chunk into a segment, coalescing with - * previous segment if possible. - */ - if (first) { - segs[seg].ds_addr = curaddr; - segs[seg].ds_len = sgsize; - first = 0; - } else { - if (needbounce == 0 && curaddr == lastaddr && - (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && - (dmat->boundary == 0 || - (segs[seg].ds_addr & bmask) == (curaddr & bmask))) - segs[seg].ds_len += sgsize; - else { - if (++seg >= dmat->nsegments) - break; - segs[seg].ds_addr = curaddr; - segs[seg].ds_len = sgsize; - } - } - - lastaddr = curaddr + sgsize; - vaddr += sgsize; - buflen -= sgsize; - } - - *segp = seg; - *lastaddrp = lastaddr; - - /* - * Did we fit? - */ - return (buflen != 0 ? EFBIG : 0); /* XXX better return value here? */ -} - -int -bus_dmamap_load_mvec_sg(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, - bus_dma_segment_t *segs, int *nsegs, int flags) -{ - int error, i; - - M_ASSERTPKTHDR(m0); - - if ((m0->m_flags & M_IOVEC) == 0) - return (bus_dmamap_load_mbuf_sg(dmat, map, m0, segs, nsegs, flags)); - - flags |= BUS_DMA_NOWAIT; - *nsegs = 0; - error = 0; - if (m0->m_pkthdr.len <= dmat->maxsize) { - int first = 1; - bus_addr_t lastaddr = 0; - struct mbuf *m; - - for (m = m0; m != NULL && error == 0; m = m->m_next) { - struct mbuf_vec *mv; - int count, firstcl; - if (!(m->m_len > 0)) - continue; - - mv = mtomv(m); - count = mv->mv_count; - firstcl = mv->mv_first; - KASSERT(count <= MAX_MBUF_IOV, ("count=%d too large", count)); - for (i = firstcl; i < count && error == 0; i++) { - void *data = mv->mv_vec[i].mi_base + mv->mv_vec[i].mi_offset; - int len = mv->mv_vec[i].mi_len; - - if (len == 0) - continue; - DPRINTF("mapping data=%p len=%d\n", data, len); - error = _bus_dmamap_load_buffer(dmat, NULL, - data, len, NULL, flags, &lastaddr, - segs, nsegs, first); - DPRINTF("%d: addr=0x%jx len=%ju\n", i, - (uintmax_t)segs[i].ds_addr, (uintmax_t)segs[i].ds_len); - first = 0; - } - } - } else { - error = EINVAL; - } - - (*nsegs)++; - - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, *nsegs); - return (error); -} -#endif /* !__sparc64__ && !__sun4v__ */ From owner-p4-projects@FreeBSD.ORG Mon Sep 24 04:56:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5399216A468; Mon, 24 Sep 2007 04:56:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 29C6416A418 for ; Mon, 24 Sep 2007 04:56:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 01EAC13C468 for ; Mon, 24 Sep 2007 04:56:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8O4uCSV090543 for ; Mon, 24 Sep 2007 04:56:12 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8O4uCMk090540 for perforce@freebsd.org; Mon, 24 Sep 2007 04:56:12 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Sep 2007 04:56:12 GMT Message-Id: <200709240456.l8O4uCMk090540@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126762 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 04:56:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=126762 Change 126762 by kmacy@kmacy_home:ethng on 2007/09/24 04:55:53 remove no longer available parallel busdma functions add get size from type Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#5 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#5 (text+ko) ==== @@ -219,13 +219,33 @@ return (zone); } -#if (!defined(__sparc64__) && !defined(__sun4v__)) -int -bus_dmamap_load_mvec_sg(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, - bus_dma_segment_t *segs, int *nsegs, int flags); - -#else -#define bus_dmamap_load_mvec_sg bus_dmamap_load_mbuf_sg +static __inline int +m_getsizefromtype(int type) +{ + int size; + + switch (type) { + case EXT_MBUF: + size = MSIZE; + break; + case EXT_CLUSTER: + size = MCLBYTES; + break; +#if MJUMPAGESIZE != MCLBYTES + case EXT_JUMBOP: + size = MJUMPAGESIZE; + break; #endif + case EXT_JUMBO9: + size = MJUM9BYTES; + break; + case EXT_JUMBO16: + size = MJUM16BYTES; + break; + default: + panic("%s: unrecognized cluster type %d", __func__, type); + } + return (size); +} -#endif +#endif /* _MVEC_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Sep 24 05:02:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65FB916A41A; Mon, 24 Sep 2007 05:02:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C87016A419 for ; Mon, 24 Sep 2007 05:02:22 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E8B7213C45B for ; Mon, 24 Sep 2007 05:02:21 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8O52Lpj090989 for ; Mon, 24 Sep 2007 05:02:21 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8O52LEU090986 for perforce@freebsd.org; Mon, 24 Sep 2007 05:02:21 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Sep 2007 05:02:21 GMT Message-Id: <200709240502.l8O52LEU090986@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126763 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 05:02:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=126763 Change 126763 by kmacy@kmacy_home:ethng on 2007/09/24 05:01:29 avoid extra cache/tlb misses and allocations by embedding the mbuf in the cluster on receive Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#23 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#23 (text+ko) ==== @@ -140,18 +140,13 @@ }; struct rx_sw_desc { /* SW state per Rx descriptor */ - union { - void *cl; - uint32_t *ref; - } u; - uint8_t *data; + caddr_t rxsd_cl; + uint32_t *rxsd_ref; + caddr_t data; bus_dmamap_t map; int flags; }; -#define rxsd_cl u.cl -#define rxsd_ref u.ref - struct txq_state { unsigned int compl; unsigned int gen; @@ -547,8 +542,7 @@ struct rx_sw_desc *sd = &q->sdesc[q->pidx]; struct rx_desc *d = &q->desc[q->pidx]; struct refill_fl_cb_arg cb_arg; - void *cl; - uint32_t *ref; + caddr_t cl; int err; cb_arg.error = 0; @@ -560,7 +554,6 @@ log(LOG_WARNING, "Failed to allocate cluster\n"); goto done; } - ref = cl; if ((sd->flags & RX_SW_DESC_MAP_CREATED) == 0) { if ((err = bus_dmamap_create(q->entry_tag, 0, &sd->map))) { @@ -571,7 +564,8 @@ sd->flags |= RX_SW_DESC_MAP_CREATED; } #if !defined(__i386__) && !defined(__amd64__) - err = bus_dmamap_load(q->entry_tag, sd->map, (uint32_t *)cl + 1, q->buf_size, + err = bus_dmamap_load(q->entry_tag, sd->map, + cl + sizeof(struct m_hdr) + sizeof(struct pkthdr) + sizeof(struct m_ext_) + sizeof(uint32_t), q->buf_size, refill_fl_cb, &cb_arg, 0); if (err != 0 || cb_arg.error) { @@ -582,11 +576,13 @@ return; } #else - cb_arg.seg.ds_addr = pmap_kextract((vm_offset_t)((uint32_t *)cl + 1)); + cb_arg.seg.ds_addr = pmap_kextract((vm_offset_t)(cl + sizeof(struct m_hdr) + + sizeof(struct pkthdr) + sizeof(struct m_ext_) + sizeof(uint32_t))); #endif sd->flags |= RX_SW_DESC_INUSE; sd->rxsd_cl = cl; - sd->data = (uint8_t *)(sd->rxsd_ref + 1); + sd->rxsd_ref = (uint32_t *)(cl + sizeof(struct m_hdr) + sizeof(struct pkthdr) + sizeof(struct m_ext_)); + sd->data = cl + sizeof(struct m_hdr) + sizeof(struct pkthdr) + sizeof(struct m_ext_) + sizeof(uint32_t); d->addr_lo = htobe32(cb_arg.seg.ds_addr & 0xffffffff); d->addr_hi = htobe32(((uint64_t)cb_arg.seg.ds_addr >>32) & 0xffffffff); d->len_gen = htobe32(V_FLD_GEN1(q->gen)); @@ -1026,7 +1022,7 @@ * packet. Ethernet packets require addition of WR and CPL headers. */ static __inline unsigned int -calc_tx_descs(const struct mbuf *m, int nsegs, int tsoinfo) +calc_tx_descs(const struct mbuf *m, int nsegs) { unsigned int flits; @@ -1035,7 +1031,7 @@ flits = sgl_len(nsegs) + 2; #ifdef TSO_SUPPORTED - if (tsoinfo) + if (m->m_pkthdr.csum_flags & CSUM_TSO) flits++; #endif return flits_to_desc(flits); @@ -1057,7 +1053,7 @@ goto done; } else #endif - err = bus_dmamap_load_mvec_sg(txq->entry_tag, txsd->map, m0, segs, nsegs, 0); + err = bus_dmamap_load_mbuf_sg(txq->entry_tag, txsd->map, m0, segs, nsegs, 0); if (err == 0) { goto done; @@ -1473,7 +1469,7 @@ return (err); m0 = *m; #endif - ndesc = calc_tx_descs(mi, nsegs, tso_info); + ndesc = calc_tx_descs(m0, nsegs); sgp = (ndesc == 1) ? (struct sg_ent *)&txd->flit[flits] : sgl; make_sgl(sgp, segs, nsegs); @@ -1487,7 +1483,7 @@ write_wr_hdr_sgl(ndesc, txd, &txqs, txq, sgl, flits, sgl_flits, wr_hi, wr_lo); check_ring_tx_db(pi->adapter, txq); - if ((m0->m_type == MT_DATA) && (m0->m_flags & M_EXT)) { + if ((m0->m_type == MT_DATA) && ((m0->m_flags & (M_EXT|M_NOFREE)) == M_EXT)) { m0->m_flags = 0; m_free(m0); } @@ -2343,15 +2339,15 @@ q->txq[TXQ_ETH].stop_thres = nports * flits_to_desc(sgl_len(TX_MAX_SEGS + 1) + 3); - q->fl[0].buf_size = MCLBYTES - sizeof(uint32_t); + q->fl[0].buf_size = (MCLBYTES - sizeof(uint32_t) - sizeof(struct m_hdr) - sizeof(struct pkthdr) - sizeof(struct m_ext_)); q->fl[0].zone = zone_clust; q->fl[0].type = EXT_CLUSTER; if (jumbo_phys_contig) { - q->fl[1].buf_size = MJUM9BYTES - sizeof(uint32_t); + q->fl[1].buf_size = MJUM9BYTES - sizeof(uint32_t) - sizeof(struct m_hdr) - sizeof(struct pkthdr) - sizeof(struct m_ext_); q->fl[1].zone = zone_jumbo9; q->fl[1].type = EXT_JUMBO9; } else { - q->fl[1].buf_size = MJUMPAGESIZE - sizeof(uint32_t); + q->fl[1].buf_size = MJUMPAGESIZE - sizeof(uint32_t) - sizeof(struct m_hdr) - sizeof(struct pkthdr) - sizeof(struct m_ext_); q->fl[1].zone = zone_jumbop; q->fl[1].type = EXT_JUMBOP; } @@ -2567,9 +2563,32 @@ } #else +static void +init_cluster_mbuf(caddr_t cl, int flags, int type) +{ + struct mbuf *m; + int header_size; + + header_size = sizeof(struct m_hdr) + sizeof(struct pkthdr) + sizeof(struct m_ext_) + sizeof(uint32_t); + + bzero(cl, header_size); + m = (struct mbuf *)cl; + + SLIST_INIT(&m->m_pkthdr.tags); + m->m_type = MT_DATA; + m->m_flags = flags | M_NOFREE | M_EXT; + m->m_data = cl + header_size; + m->m_ext.ext_buf = cl; + m->m_ext.ref_cnt = (uint32_t *)(cl + header_size - sizeof(uint32_t)); + m->m_ext.ext_size = m_getsizefromtype(type); + m->m_ext.ext_type = type; + *(m->m_ext.ref_cnt) = 1; + DPRINTF("data=%p ref_cnt=%p\n", m->m_data, m->m_ext.ref_cnt); +} + static int get_packet(adapter_t *adap, unsigned int drop_thres, struct sge_qset *qs, - struct mbuf *m, struct rsp_desc *r) + struct mbuf **m, struct rsp_desc *r) { unsigned int len_cq = ntohl(r->len_cq); @@ -2579,8 +2598,8 @@ uint32_t flags = ntohl(r->flags); uint8_t sopeop = G_RSPD_SOP_EOP(flags); void *cl; - uint32_t *ref = NULL; int ret = 0; + struct mbuf *m0; prefetch((sd + 1)->rxsd_cl); prefetch((sd + 2)->rxsd_cl); @@ -2590,43 +2609,46 @@ bus_dmamap_sync(fl->entry_tag, sd->map, BUS_DMASYNC_POSTREAD); if (recycle_enable && len <= SGE_RX_COPY_THRES && sopeop == RSPQ_SOP_EOP) { - cl = mtod(m, void *); + if ((m0 = m_gethdr(M_DONTWAIT, MT_DATA)) == NULL) + goto skip_recycle; + cl = mtod(m0, void *); memcpy(cl, sd->data, len); recycle_rx_buf(adap, fl, fl->cidx); + *m = m0; } else { + skip_recycle: bus_dmamap_unload(fl->entry_tag, sd->map); cl = sd->rxsd_cl; - ref = sd->rxsd_ref; + *m = m0 = (struct mbuf *)cl; } switch(sopeop) { case RSPQ_SOP_EOP: DBG(DBG_RX, ("get_packet: SOP-EOP m %p\n", m)); - if (cl == sd->rxsd_cl) { - m_cljset(m, cl, fl->type, ref); - *ref = 1; - m->m_data = sd->data; - } - m->m_len = m->m_pkthdr.len = len; + if (cl == sd->rxsd_cl) + init_cluster_mbuf(cl, M_PKTHDR, fl->type); + m0->m_len = m0->m_pkthdr.len = len; ret = 1; goto done; break; case RSPQ_NSOP_NEOP: DBG(DBG_RX, ("get_packet: NO_SOP-NO_EOP m %p\n", m)); + panic("chaining unsupported"); ret = 0; break; case RSPQ_SOP: DBG(DBG_RX, ("get_packet: SOP m %p\n", m)); - m_iovinit(m); + panic("chaining unsupported"); + m_iovinit(m0); ret = 0; break; case RSPQ_EOP: DBG(DBG_RX, ("get_packet: EOP m %p\n", m)); + panic("chaining unsupported"); ret = 1; break; } - m_iovappend(m, cl, fl->buf_size, len, sizeof(uint32_t), ref); - *ref = 1; + m_iovappend(m0, cl, fl->buf_size, len, sizeof(uint32_t), sd->rxsd_ref); done: if (++fl->cidx == fl->size) fl->cidx = 0; @@ -2779,17 +2801,9 @@ eop = get_packet(adap, drop_thresh, qs, &rspq->rspq_mh, r, m); #else - if (rspq->rspq_mbuf == NULL) - rspq->rspq_mbuf = m_gethdr(M_DONTWAIT, MT_DATA); - if (rspq->rspq_mbuf == NULL) { - rspq->next_holdoff = NOMEM_INTR_DELAY; - log(LOG_WARNING, "failed to get mbuf for packet\n"); - break; - } else { - rspq->rspq_mbuf->m_pkthdr.rss_hash = rss_hash; - rspq->rspq_mbuf->m_next = rspq->rspq_mbuf->m_nextpkt = NULL; - } - eop = get_packet(adap, drop_thresh, qs, rspq->rspq_mbuf, r); + eop = get_packet(adap, drop_thresh, qs, &rspq->rspq_mbuf, r); + rspq->rspq_mbuf->m_pkthdr.rss_hash = rss_hash; + #endif ethpad = 2; } else { From owner-p4-projects@FreeBSD.ORG Mon Sep 24 11:20:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4592616A4BF; Mon, 24 Sep 2007 11:20:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BF5B16A417; Mon, 24 Sep 2007 11:20:12 +0000 (UTC) (envelope-from ticso@cicely12.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.freebsd.org (Postfix) with ESMTP id 73CEC13C459; Mon, 24 Sep 2007 11:20:11 +0000 (UTC) (envelope-from ticso@cicely12.cicely.de) Received: from cicely5.cicely.de ([10.1.1.7]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id l8OAhPjV003876; Mon, 24 Sep 2007 12:43:26 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (cicely12.cicely.de [10.1.1.14]) by cicely5.cicely.de (8.13.4/8.13.4) with ESMTP id l8OAhLI7009396 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 24 Sep 2007 12:43:21 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (localhost [127.0.0.1]) by cicely12.cicely.de (8.13.4/8.13.3) with ESMTP id l8OAhK4i042471; Mon, 24 Sep 2007 12:43:20 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: (from ticso@localhost) by cicely12.cicely.de (8.13.4/8.13.3/Submit) id l8OAhKsC042470; Mon, 24 Sep 2007 12:43:20 +0200 (CEST) (envelope-from ticso) Date: Mon, 24 Sep 2007 12:43:20 +0200 From: Bernd Walter To: Hans Petter Selasky Message-ID: <20070924104320.GE38890@cicely12.cicely.de> References: <200709231625.l8NGPhaR097038@repoman.freebsd.org> <46F6A3C3.6010408@FreeBSD.org> <200709232113.34718.hselasky@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200709232113.34718.hselasky@freebsd.org> X-Operating-System: FreeBSD cicely12.cicely.de 5.4-STABLE alpha User-Agent: Mutt/1.5.9i X-Spam-Status: No, score=-4.2 required=5.0 tests=ALL_TRUSTED=-1.8, AWL=0.172, BAYES_00=-2.599 autolearn=ham version=3.1.7 X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on cicely12.cicely.de Cc: Perforce Change Reviews , "Constantine A. Murenin" Subject: Re: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ticso@cicely.de List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 11:20:12 -0000 On Sun, Sep 23, 2007 at 09:13:33PM +0200, Hans Petter Selasky wrote: > Hi Constantine, > > Thanks for your input and I _know_ that my code is not 100% style compliant. > Most of the style misbehaves are probably there due to the way my "xemacs" > autoformatting behaves. And I love curly brackets and parenthesis, by the > way :-) > > My plan is to clean up all the style stuff by a small C-program in the end, > because doing it by hand is waste of my time. Probably it will take less time > to write that program than the actual manual edit when we are talking about > doing alot of edits. It wonders me if such a tool already exists, because the > code is technically OK. There is indent(1) in src, but it doesn't produce 100% style(9) clean code either. I usually use it as a starting point for very ugly formated code. I'm not shure it will make things easier in this special case, maybe just different. But very likely you can use it to automatically fix at least a few common points. Enhancing indent to produce style(9) code would be a great feature... -- B.Walter http://www.bwct.de http://www.fizon.de bernd@bwct.de info@bwct.de support@fizon.de From owner-p4-projects@FreeBSD.ORG Mon Sep 24 12:16:46 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E2B016A41A; Mon, 24 Sep 2007 12:16:46 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44D4D16A418 for ; Mon, 24 Sep 2007 12:16:46 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 22D9F13C455 for ; Mon, 24 Sep 2007 12:16:46 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8OCGkYM044885 for ; Mon, 24 Sep 2007 12:16:46 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8OCGkNZ044882 for perforce@freebsd.org; Mon, 24 Sep 2007 12:16:46 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 24 Sep 2007 12:16:46 GMT Message-Id: <200709241216.l8OCGkNZ044882@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126768 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 12:16:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=126768 Change 126768 by zec@zec_tpx32 on 2007/09/24 12:16:00 Refactor the locking scheme in ng_pipe so that recursing on a mutex no longer occurs, which is basically accomplished by releasing the ng_pipe_giant lock before propagating a mbuf / call to a downstream netgraph hook. All ng_pipe state is still protected by a single mutex. Hold the ng_pipe_giant mutex during rcvmsg processing and during hook removal. In polling loop, restart iteration over active hooks if a hook was removed from this list while the loop was running, which is signalled by bumping a generation id. We don't need to abort / restart the current loop if a node was added to the list during the iteration, given that the hooks added to the active list are inserted at list head, i.e. past the current iterator position. Attempt to more correctly clean up per-hook state on ng_pipe node removal. Staticize symbols that don't need to be globally visible. Remove an "__inline" modifier to the ip_hash() function, given that the compiler should be smart enough to do inlining automatically. Misc. whitespace / indentation cleanups, and fix a few comments. Suggested by: julian@, kmacy@ Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_pipe.c#4 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_pipe.c#4 (text+ko) ==== @@ -82,11 +82,11 @@ /* Per hook info */ struct hookinfo { - hook_p hook; - int noqueue; - LIST_ENTRY(hookinfo) hook_le; /* all active instances */ - TAILQ_HEAD(, ngp_fifo) fifo_head; /* this hooks's FIFO queues */ + hook_p hook; + int noqueue; /* bypass any processing */ + TAILQ_HEAD(, ngp_fifo) fifo_head; /* FIFO queues */ TAILQ_HEAD(, ngp_hdr) qout_head; /* delay queue head */ + LIST_ENTRY(hookinfo) active_le; /* active hooks */ struct timeval qin_utime; struct ng_pipe_hookcfg cfg; struct ng_pipe_hookrun run; @@ -95,16 +95,15 @@ }; /* Per node info */ -struct privdata { +struct node_priv { node_p node; - LIST_ENTRY(privdata) node_le; u_int64_t delay; u_int32_t overhead; u_int32_t header_offset; struct hookinfo lower; struct hookinfo upper; }; -typedef struct privdata *priv_p; +typedef struct node_priv *priv_p; /* Macro for calculating the virtual time for packet dequeueing in WFQ */ #define FIFO_VTIME_SORT(plen) \ @@ -131,21 +130,19 @@ static void parse_cfg(struct ng_pipe_hookcfg *, struct ng_pipe_hookcfg *, struct hookinfo *, priv_p); static void pipe_dequeue(struct hookinfo *, struct timeval *); -static void pipe_scheduler(void); +static void pipe_scheduler(void *); static void pipe_poll(void); static int ngp_modevent(module_t, int, void *); -/* linked list of all "pipe" nodes */ -LIST_HEAD(pipe_node_head, privdata) node_head; - /* linked list of active "pipe" hooks */ -LIST_HEAD(pipe_hook_head, hookinfo) hook_head; +static LIST_HEAD(, hookinfo) active_head; +static int active_gen_id = 0; /* timeout handle for pipe_scheduler */ -struct callout_handle ds_handle; +static struct callout polling_timer; /* zone for storing ngp_hdr-s */ -uma_zone_t ngp_zone; +static uma_zone_t ngp_zone; /* Netgraph methods */ static ng_constructor_t ngp_constructor; @@ -264,22 +261,11 @@ { priv_p priv; - if (LIST_EMPTY(&node_head)) { - ngp_zone = uma_zcreate("ng_pipe", max(sizeof(struct ngp_hdr), - sizeof (struct ngp_fifo)), NULL, NULL, NULL, NULL, - UMA_ALIGN_PTR, 0); - if (ngp_zone == NULL) - panic("ng_pipe: couldn't allocate descriptor zone"); - } - MALLOC(priv, priv_p, sizeof(*priv), M_NG_PIPE, M_ZERO | M_NOWAIT); if (priv == NULL) return (ENOMEM); NG_NODE_SET_PRIVATE(node, priv); - /* Add new node to the list of all pipe nodes */ - LIST_INSERT_HEAD(&node_head, priv, node_le); - return (0); } @@ -318,8 +304,13 @@ const priv_p priv = NG_NODE_PRIVATE(node); struct ng_mesg *resp = NULL; struct ng_mesg *msg; + struct ng_pipe_stats *stats; + struct ng_pipe_run *run; + struct ng_pipe_cfg *cfg; int error = 0; + mtx_lock(&ng_pipe_giant); + NGI_GET_MSG(item, msg); switch (msg->header.typecookie) { case NGM_PIPE_COOKIE: @@ -327,12 +318,9 @@ case NGM_PIPE_GET_STATS: case NGM_PIPE_CLR_STATS: case NGM_PIPE_GETCLR_STATS: - { - struct ng_pipe_stats *stats; - - if (msg->header.cmd != NGM_PIPE_CLR_STATS) { - NG_MKRESPONSE(resp, msg, - sizeof(*stats), M_NOWAIT); + if (msg->header.cmd != NGM_PIPE_CLR_STATS) { + NG_MKRESPONSE(resp, msg, + sizeof(*stats), M_NOWAIT); if (resp == NULL) { error = ENOMEM; break; @@ -342,19 +330,15 @@ sizeof(stats->downstream)); bcopy(&priv->lower.stats, &stats->upstream, sizeof(stats->upstream)); - } - if (msg->header.cmd != NGM_PIPE_GET_STATS) { + } + if (msg->header.cmd != NGM_PIPE_GET_STATS) { bzero(&priv->upper.stats, sizeof(priv->upper.stats)); bzero(&priv->lower.stats, sizeof(priv->lower.stats)); } - break; - } + break; case NGM_PIPE_GET_RUN: - { - struct ng_pipe_run *run; - NG_MKRESPONSE(resp, msg, sizeof(*run), M_NOWAIT); if (resp == NULL) { error = ENOMEM; @@ -365,12 +349,8 @@ sizeof(run->downstream)); bcopy(&priv->lower.run, &run->upstream, sizeof(run->upstream)); - break; - } + break; case NGM_PIPE_GET_CFG: - { - struct ng_pipe_cfg *cfg; - NG_MKRESPONSE(resp, msg, sizeof(*cfg), M_NOWAIT); if (resp == NULL) { error = ENOMEM; @@ -391,12 +371,8 @@ cfg->downstream.bandwidth = 0; } else cfg->bandwidth = 0; - break; - } + break; case NGM_PIPE_SET_CFG: - { - struct ng_pipe_cfg *cfg; - cfg = (struct ng_pipe_cfg *)msg->data; if (msg->header.arglen != sizeof(*cfg)) { error = EINVAL; @@ -437,9 +413,7 @@ &priv->upper, priv); parse_cfg(&priv->lower.cfg, &cfg->upstream, &priv->lower, priv); - break; - } - + break; default: error = EINVAL; break; @@ -451,6 +425,9 @@ } NG_RESPOND_MSG(error, node, item, resp); NG_FREE_MSG(msg); + + mtx_unlock(&ng_pipe_giant); + return (error); } @@ -493,7 +470,7 @@ p = (p*(p0&0xffff)>>48) + \ (p*((p0>>16)&0xffff)>>32) + \ (p*(p0>>32)>>16); - } + } } if (new->qin_size_limit == -1) @@ -563,7 +540,7 @@ * NIH sindrome, so probably it would be wise to look around what other * folks have found out to be a good and efficient IP hash function... */ -__inline static int ip_hash(struct mbuf *m, int offset) +static int ip_hash(struct mbuf *m, int offset) { u_int64_t i; struct ip *ip = (struct ip *)(mtod(m, u_char *) + offset); @@ -605,15 +582,13 @@ dest = &priv->upper; else dest = &priv->lower; - NG_FWD_ITEM_HOOK(error, item, dest->hook); + NG_FWD_ITEM_HOOK(error, item, dest->hook); return error; } + mtx_lock(&ng_pipe_giant); microuptime(now); - /* XXX argh... must... not... lock... everything... */ - mtx_lock(&ng_pipe_giant); - /* * Attach us to the list of active ng_pipes if this was an empty * one before, and also update the queue service deadline time. @@ -626,7 +601,7 @@ when->tv_usec = now->tv_usec; } if (hinfo->run.qout_frames == 0) - LIST_INSERT_HEAD(&hook_head, hinfo, hook_le); + LIST_INSERT_HEAD(&active_head, hinfo, active_le); } /* Populate the packet header */ @@ -724,10 +699,13 @@ hinfo->stats.in_disc_frames++; } - /* Try to start the dequeuing process immediately */ + /* + * Try to start the dequeuing process immediately. We must + * hold the ng_pipe_giant lock here and pipe_dequeue() will + * release it + */ pipe_dequeue(hinfo, now); - mtx_unlock(&ng_pipe_giant); return (0); } @@ -737,13 +715,17 @@ * 1) Try to extract the frame from the inbound (bandwidth) queue; * 2) In accordance to BER specified, discard the frame randomly; * 3) If the frame survives BER, prepend it with delay info and move it - * to outbound (delay) queue, or send directly to the outbound hook; - * 4) Loop to 2) until bandwidth limit is reached, or inbound queue is - * flushed completely; - * 5) Extract the first frame from the outbound queue, if it's time has come. - * Send this frame to the outbound hook; - * 6) Loop to 6) until outbound queue is flushed completely, or the next - * frame in the queue is not scheduled to be dequeued yet + * to outbound (delay) queue; + * 4) Loop to 2) until bandwidth quota for this timeslice is reached, or + * inbound queue is flushed completely; + * 5) Extract the first frame from the outbound queue, if it's time has + * come. Queue the frame for transmission on the outbound hook; + * 6) Loop to 5) until outbound queue is flushed completely, or the next + * frame in the queue is not scheduled to be dequeued yet; + * 7) Transimit all frames queued in 5) + * + * Note: the caller must hold the ng_pipe_giant lock; this function + * returns with the lock released. */ static void pipe_dequeue(struct hookinfo *hinfo, struct timeval *now) { @@ -753,6 +735,8 @@ struct ngp_fifo *ngp_f, *ngp_f1; struct ngp_hdr *ngp_h; struct timeval *when; + struct mbuf *q_head = NULL; + struct mbuf *q_tail = NULL; struct mbuf *m; int error = 0; @@ -877,15 +861,32 @@ hinfo->run.qout_frames--; hinfo->run.qout_octets -= m->m_pkthdr.len; - /* Dequeue/send the packet */ + /* Dequeue the packet from qout */ TAILQ_REMOVE(&hinfo->qout_head, ngp_h, ngp_link); uma_zfree(ngp_zone, ngp_h); - NG_SEND_DATA(error, dest->hook, m, meta); /* XXX is this safe?*/ + + /* Enqueue locally for sending downstream */ + if (q_head == NULL) + q_head = m; + if (q_tail) + q_tail->m_nextpkt = m; + q_tail = m; + m->m_nextpkt = NULL; } /* If both queues are empty detach us from the list of active queues */ - if (hinfo->run.qin_frames + hinfo->run.qout_frames == 0) - LIST_REMOVE(hinfo, hook_le); + if (hinfo->run.qin_frames + hinfo->run.qout_frames == 0) { + LIST_REMOVE(hinfo, active_le); + active_gen_id++; + } + + mtx_unlock(&ng_pipe_giant); + + while ((m = q_head) != NULL) { + q_head = m->m_nextpkt; + m->m_nextpkt = NULL; + NG_SEND_DATA(error, dest->hook, m, meta); + } } @@ -894,12 +895,12 @@ * for queued frames by calling pipe_dequeue(). */ static void -pipe_scheduler(void) +pipe_scheduler(void *arg) { pipe_poll(); /* Reschedule */ - ds_handle = timeout((timeout_t *) &pipe_scheduler, NULL, 1); + callout_reset(&polling_timer, 1, &pipe_scheduler, NULL); } @@ -913,13 +914,23 @@ { struct hookinfo *hinfo; struct timeval now; + int old_gen_id = active_gen_id; + mtx_lock(&ng_pipe_giant); microuptime(&now); - mtx_lock(&ng_pipe_giant); - LIST_FOREACH(hinfo, &hook_head, hook_le) { + LIST_FOREACH(hinfo, &active_head, active_le) { CURVNET_SET(NG_HOOK_NODE(hinfo->hook)->nd_vnet); pipe_dequeue(hinfo, &now); CURVNET_RESTORE(); + mtx_lock(&ng_pipe_giant); + if (old_gen_id != active_gen_id) { + /* the list was updated; restart traversing */ + hinfo = LIST_FIRST(&active_head); + if (hinfo == NULL) + break; + old_gen_id = active_gen_id; + continue; + } } mtx_unlock(&ng_pipe_giant); } @@ -940,10 +951,13 @@ if (priv->lower.hook && priv->upper.hook) ng_bypass(priv->lower.hook, priv->upper.hook); - LIST_REMOVE(priv, node_le); + else { + if (priv->upper.hook != NULL) + ng_rmhook_self(priv->upper.hook); + if (priv->lower.hook != NULL) + ng_rmhook_self(priv->lower.hook); + } FREE(priv, M_NG_PIPE); - if (LIST_EMPTY(&node_head)) - uma_zdestroy(ngp_zone); return (0); } @@ -959,6 +973,8 @@ struct ngp_hdr *ngp_h; int removed = 0; + mtx_lock(&ng_pipe_giant); + KASSERT(hinfo != NULL, ("%s: null info", __FUNCTION__)); hinfo->hook = NULL; @@ -986,49 +1002,48 @@ * Both queues should be empty by now, so detach us from * the list of active queues */ - if (removed) - LIST_REMOVE(hinfo, hook_le); + if (removed) { + LIST_REMOVE(hinfo, active_le); + active_gen_id++; + } if (hinfo->run.qin_frames + hinfo->run.qout_frames != removed) printf("Mismatch: queued=%d but removed=%d !?!", - hinfo->run.qin_frames + hinfo->run.qout_frames, - removed); + hinfo->run.qin_frames + hinfo->run.qout_frames, removed); /* Release the packet loss probability table (BER) */ if (hinfo->ber_p) FREE(hinfo->ber_p, M_NG_PIPE); + mtx_unlock(&ng_pipe_giant); + return (0); } static int ngp_modevent(module_t mod, int type, void *unused) { - priv_p priv; int error = 0; switch (type) { case MOD_LOAD: - if (ngp_zone) - error = EEXIST; - else { - mtx_init(&ng_pipe_giant, "ng_pipe_giant", NULL, - MTX_DEF | MTX_RECURSE); - LIST_INIT(&node_head); - LIST_INIT(&hook_head); - ds_handle = timeout((timeout_t *) &pipe_scheduler, - NULL, 1); - } + ngp_zone = uma_zcreate("ng_pipe", max(sizeof(struct ngp_hdr), + sizeof (struct ngp_fifo)), NULL, NULL, NULL, NULL, + UMA_ALIGN_PTR, 0); + if (ngp_zone == NULL) + panic("ng_pipe: couldn't allocate descriptor zone"); + + mtx_init(&ng_pipe_giant, "ng_pipe_giant", NULL, MTX_DEF); + LIST_INIT(&active_head); + callout_init(&polling_timer, CALLOUT_MPSAFE); + callout_reset(&polling_timer, 1, &pipe_scheduler, NULL); break; case MOD_UNLOAD: - LIST_FOREACH(priv, &node_head, node_le) - error = EBUSY; - - if (error == 0) - mtx_destroy(&ng_pipe_giant); - untimeout((timeout_t *) &pipe_scheduler, NULL, - ds_handle); + callout_drain(&polling_timer); + uma_zdestroy(ngp_zone); + mtx_destroy(&ng_pipe_giant); break; default: + error = EOPNOTSUPP; break; } From owner-p4-projects@FreeBSD.ORG Mon Sep 24 13:19:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1602416A420; Mon, 24 Sep 2007 13:19:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C51FE16A417 for ; Mon, 24 Sep 2007 13:19:05 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AA64413C457 for ; Mon, 24 Sep 2007 13:19:05 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8ODJ5qq058367 for ; Mon, 24 Sep 2007 13:19:05 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8ODJ5XT058364 for perforce@freebsd.org; Mon, 24 Sep 2007 13:19:05 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 24 Sep 2007 13:19:05 GMT Message-Id: <200709241319.l8ODJ5XT058364@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 126769 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 13:19:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=126769 Change 126769 by gonzo@gonzo_jeeves on 2007/09/24 13:18:31 o Use KSEG1 address for request of BUS_DMA_COHERENT region. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/busdma_machdep.c#7 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/busdma_machdep.c#7 (text+ko) ==== @@ -448,8 +448,7 @@ void *tmpaddr = (void *)*vaddr; if (tmpaddr) { - tmpaddr = (void *)((vm_offset_t)(tmpaddr) + - ((vm_offset_t)*vaddr & PAGE_MASK)); + tmpaddr = MIPS_PHYS_TO_KSEG1(vtophys(tmpaddr)); newmap->origbuffer = *vaddr; newmap->allocbuffer = tmpaddr; mips_dcache_wbinv_range((vm_offset_t)*vaddr, @@ -474,7 +473,6 @@ KASSERT(map->allocbuffer == vaddr, ("Trying to freeing the wrong DMA buffer")); vaddr = map->origbuffer; - /* XXXMIPS: arm_unmap_nocache(map->allocbuffer, dmat->maxsize); */ } if (dmat->maxsize <= PAGE_SIZE) free(vaddr, M_DEVBUF); From owner-p4-projects@FreeBSD.ORG Mon Sep 24 13:30:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A38C316A468; Mon, 24 Sep 2007 13:30:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 640A216A420 for ; Mon, 24 Sep 2007 13:30:29 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4A6DA13C474 for ; Mon, 24 Sep 2007 13:30:29 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8ODUTP5059152 for ; Mon, 24 Sep 2007 13:30:29 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8ODUKwr059146 for perforce@freebsd.org; Mon, 24 Sep 2007 13:30:20 GMT (envelope-from delphij@freebsd.org) Date: Mon, 24 Sep 2007 13:30:20 GMT Message-Id: <200709241330.l8ODUKwr059146@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 126770 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 13:30:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=126770 Change 126770 by delphij@tarsier on 2007/09/24 13:30:08 IFC Affected files ... .. //depot/projects/delphij_fork/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/local_apic.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/include/smp.h#2 integrate .. //depot/projects/delphij_fork/sys/amd64/isa/clock.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux.h#2 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_proto.h#3 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_syscall.h#3 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_sysent.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/linux32_sysvec.c#3 integrate .. //depot/projects/delphij_fork/sys/amd64/linux32/syscalls.master#3 integrate .. //depot/projects/delphij_fork/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/delphij_fork/sys/arm/arm/vm_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/at91/at91_pmc.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/conf/CRB#2 integrate .. //depot/projects/delphij_fork/sys/arm/include/asmacros.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/include/endian.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/sa11x0/uart_dev_sa1110.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/files.crb#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342reg.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/delphij_fork/sys/compat/linux/linux_stats.c#2 integrate .. //depot/projects/delphij_fork/sys/conf/NOTES#10 integrate .. //depot/projects/delphij_fork/sys/conf/files#8 integrate .. //depot/projects/delphij_fork/sys/conf/options#7 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate .. //depot/projects/delphij_fork/sys/ddb/db_ps.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/an/if_an.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/awi/awi.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_common.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_ctl_defs.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_sge_defs.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_t3_hw.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_vsc7323.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/common/cxgb_xgmac.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_adapter.h#7 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_include.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_main.c#7 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_offload.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_osdep.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_sge.c#7 integrate .. //depot/projects/delphij_fork/sys/dev/cxgb/t3fw-4.5.0.bin.gz.uu#2 delete .. //depot/projects/delphij_fork/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#1 branch .. //depot/projects/delphij_fork/sys/dev/em/if_em.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/em/if_em.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ipw/if_ipw.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/iwi/if_iwi.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/if_mxge.c#5 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/if_mxge_var.h#4 integrate .. //depot/projects/delphij_fork/sys/dev/nfe/if_nfe.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/pci/pcireg.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ral/rt2560.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/ral/rt2661.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/ray/if_ray.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/sound/pci/emu10kx.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/syscons/syscons.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/syscons/syscons.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/if_ural.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/usb/if_zyd.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_fat.c#7 integrate .. //depot/projects/delphij_fork/sys/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/delphij_fork/sys/geom/virstor/binstream.c#1 branch .. //depot/projects/delphij_fork/sys/geom/virstor/binstream.h#1 branch .. //depot/projects/delphij_fork/sys/geom/virstor/g_virstor.c#1 branch .. //depot/projects/delphij_fork/sys/geom/virstor/g_virstor.h#1 branch .. //depot/projects/delphij_fork/sys/geom/virstor/g_virstor_md.c#1 branch .. //depot/projects/delphij_fork/sys/geom/virstor/g_virstor_md.h#1 branch .. //depot/projects/delphij_fork/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/delphij_fork/sys/i386/i386/geode.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/i386/local_apic.c#3 integrate .. //depot/projects/delphij_fork/sys/i386/include/smp.h#2 integrate .. //depot/projects/delphij_fork/sys/i386/linux/linux.h#2 integrate .. //depot/projects/delphij_fork/sys/i386/linux/linux_proto.h#3 integrate .. //depot/projects/delphij_fork/sys/i386/linux/linux_ptrace.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/linux/linux_syscall.h#3 integrate .. //depot/projects/delphij_fork/sys/i386/linux/linux_sysent.c#3 integrate .. //depot/projects/delphij_fork/sys/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/linux/syscalls.master#3 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/uma_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/init_main.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_clock.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_fork.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_kse.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_proc.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_switch.c#5 integrate .. //depot/projects/delphij_fork/sys/kern/kern_synch.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_thread.c#4 integrate .. //depot/projects/delphij_fork/sys/kern/kern_timeout.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/sched_ule.c#6 integrate .. //depot/projects/delphij_fork/sys/kern/subr_kdb.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/subr_lock.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/subr_smp.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/subr_trap.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/subr_witness.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/sys_process.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_lookup.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_syscalls.c#4 integrate .. //depot/projects/delphij_fork/sys/modules/cxgb/Makefile#3 integrate .. //depot/projects/delphij_fork/sys/modules/geom/geom_virstor/Makefile#1 branch .. //depot/projects/delphij_fork/sys/modules/sound/driver/emu10kx/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/net/bpf.c#4 integrate .. //depot/projects/delphij_fork/sys/net/bpf_filter.c#2 integrate .. //depot/projects/delphij_fork/sys/net/if_bridge.c#4 integrate .. //depot/projects/delphij_fork/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/delphij_fork/sys/net/if_media.h#2 integrate .. //depot/projects/delphij_fork/sys/net/if_stf.c#2 integrate .. //depot/projects/delphij_fork/sys/net/rtsock.c#2 integrate .. //depot/projects/delphij_fork/sys/net80211/_ieee80211.h#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211.c#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_ht.h#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_output.c#3 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_power.c#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_regdomain.c#3 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/delphij_fork/sys/netgraph/ng_ppp.c#3 integrate .. //depot/projects/delphij_fork/sys/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/in_gif.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp.h#6 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_asconf.c#9 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_asconf.h#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_auth.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_cc_functions.c#3 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_cc_functions.h#2 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_constants.h#7 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_indata.c#7 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_input.c#10 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_lock_bsd.h#2 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_os_bsd.h#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_output.c#9 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_output.h#3 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_pcb.c#9 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_pcb.h#8 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_peeloff.c#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_structs.h#7 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_sysctl.c#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_sysctl.h#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_timer.c#7 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_timer.h#3 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_uio.h#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_usrreq.c#10 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_var.h#6 integrate .. //depot/projects/delphij_fork/sys/netinet/sctputil.c#9 integrate .. //depot/projects/delphij_fork/sys/netinet/sctputil.h#5 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_input.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_subr.c#6 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_timer.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_timer.h#3 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_var.h#4 integrate .. //depot/projects/delphij_fork/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet6/sctp6_usrreq.c#9 integrate .. //depot/projects/delphij_fork/sys/netinet6/sctp6_var.h#3 integrate .. //depot/projects/delphij_fork/sys/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/delphij_fork/sys/netipsec/ipsec_input.c#3 integrate .. //depot/projects/delphij_fork/sys/pci/agp_i810.c#3 integrate .. //depot/projects/delphij_fork/sys/pci/agp_via.c#2 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/uma_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/security/mac/mac_framework.h#2 integrate .. //depot/projects/delphij_fork/sys/security/mac/mac_policy.h#3 integrate .. //depot/projects/delphij_fork/sys/security/mac/mac_vfs.c#2 integrate .. //depot/projects/delphij_fork/sys/security/mac_biba/mac_biba.c#2 integrate .. //depot/projects/delphij_fork/sys/security/mac_bsdextended/mac_bsdextended.c#3 integrate .. //depot/projects/delphij_fork/sys/security/mac_lomac/mac_lomac.c#2 integrate .. //depot/projects/delphij_fork/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/delphij_fork/sys/security/mac_stub/mac_stub.c#2 integrate .. //depot/projects/delphij_fork/sys/security/mac_test/mac_test.c#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/fhc/fhc.c#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/include/bus_common.h#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/include/intr_machdep.h#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/pci/psycho.c#3 integrate .. //depot/projects/delphij_fork/sys/sparc64/pci/psychoreg.h#3 integrate .. //depot/projects/delphij_fork/sys/sparc64/sbus/sbus.c#3 integrate .. //depot/projects/delphij_fork/sys/sparc64/sbus/sbusreg.h#3 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/exception.S#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/genassym.c#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/intr_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/tick.c#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/upa.c#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/sun4v/mdesc/mdesc_init.c#2 integrate .. //depot/projects/delphij_fork/sys/sun4v/sun4v/vm_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/sys/callout.h#2 integrate .. //depot/projects/delphij_fork/sys/sys/lock_profile.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/mount.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/proc.h#5 integrate .. //depot/projects/delphij_fork/sys/sys/socket.h#2 integrate .. //depot/projects/delphij_fork/sys/sys/user.h#2 integrate .. //depot/projects/delphij_fork/sys/ufs/ffs/ffs_alloc.c#2 integrate .. //depot/projects/delphij_fork/sys/vm/vm_glue.c#2 integrate .. //depot/projects/delphij_fork/sys/vm/vm_pageout.c#2 integrate Differences ... ==== //depot/projects/delphij_fork/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.163 2007/06/06 07:35:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.165 2007/09/17 21:55:28 peter Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -74,7 +74,6 @@ ASSYM(P_VMSPACE, offsetof(struct proc, p_vmspace)); ASSYM(VM_PMAP, offsetof(struct vmspace, vm_pmap)); ASSYM(PM_ACTIVE, offsetof(struct pmap, pm_active)); -ASSYM(P_SFLAG, offsetof(struct proc, p_sflag)); ASSYM(TD_LOCK, offsetof(struct thread, td_lock)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); @@ -181,6 +180,7 @@ ASSYM(ENOENT, ENOENT); ASSYM(EFAULT, EFAULT); ASSYM(ENAMETOOLONG, ENAMETOOLONG); +ASSYM(MAXCPU, MAXCPU); ASSYM(MAXCOMLEN, MAXCOMLEN); ASSYM(MAXPATHLEN, MAXPATHLEN); ASSYM(PC_SIZEOF, sizeof(struct pcpu)); ==== //depot/projects/delphij_fork/sys/amd64/amd64/local_apic.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.41 2007/08/02 21:17:58 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.42 2007/09/11 22:54:08 attilio Exp $"); #include "opt_hwpmc_hooks.h" @@ -1061,7 +1061,7 @@ printf("%s: Failed to setup the local APIC: returned %d\n", best_enum->apic_name, retval); } -SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL) +SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, NULL) /* * Setup the I/O APICs. ==== //depot/projects/delphij_fork/sys/amd64/amd64/uma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.3 2007/02/18 06:33:01 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.4 2007/09/15 18:47:01 alc Exp $"); #include #include @@ -50,9 +50,9 @@ *flags = UMA_SLAB_PRIV; if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; + pflags = VM_ALLOC_INTERRUPT | VM_ALLOC_WIRED; else - pflags = VM_ALLOC_SYSTEM; + pflags = VM_ALLOC_SYSTEM | VM_ALLOC_WIRED; if (wait & M_ZERO) pflags |= VM_ALLOC_ZERO; for (;;) { @@ -82,5 +82,7 @@ pa = DMAP_TO_PHYS((vm_offset_t)mem); dump_drop_page(pa); m = PHYS_TO_VM_PAGE(pa); + m->wire_count--; vm_page_free(m); + atomic_subtract_int(&cnt.v_wire_count, 1); } ==== //depot/projects/delphij_fork/sys/amd64/include/smp.h#2 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.90 2007/05/19 05:01:43 kan Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.91 2007/09/20 20:38:43 attilio Exp $ * */ @@ -34,7 +34,6 @@ extern int mp_naps; extern int boot_cpu_id; extern struct pcb stoppcbs[]; -extern struct mtx smp_tlb_mtx; extern int cpu_apic_ids[]; /* IPI handlers */ ==== //depot/projects/delphij_fork/sys/amd64/isa/clock.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.233 2007/07/23 09:42:30 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.234 2007/09/14 01:12:39 attilio Exp $"); /* * Routines to handle clock hardware. @@ -565,7 +565,7 @@ i8254_init(void) { - mtx_init(&clock_lock, "clk", NULL, MTX_SPIN); + mtx_init(&clock_lock, "clk", NULL, MTX_SPIN | MTX_NOPROFILE); set_timer_freq(timer_freq, hz); } ==== //depot/projects/delphij_fork/sys/amd64/linux32/linux.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.15 2007/03/29 02:11:46 julian Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.16 2007/09/18 19:50:32 dwmalone Exp $ */ #ifndef _AMD64_LINUX_H_ @@ -242,6 +242,19 @@ l_ulonglong st_ino; } __packed; +struct l_statfs64 { + l_int f_type; + l_int f_bsize; + uint64_t f_blocks; + uint64_t f_bfree; + uint64_t f_bavail; + uint64_t f_files; + uint64_t f_ffree; + l_fsid_t f_fsid; + l_int f_namelen; + l_int f_spare[6]; +} __packed; + struct l_new_utsname { char sysname[LINUX_MAX_UTSNAME]; char nodename[LINUX_MAX_UTSNAME]; ==== //depot/projects/delphij_fork/sys/amd64/linux32/linux32_proto.h#3 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ @@ -801,6 +801,7 @@ }; struct linux_statfs64_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char bufsize_l_[PADL_(size_t)]; size_t bufsize; char bufsize_r_[PADR_(size_t)]; char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)]; }; struct linux_fstatfs64_args { ==== //depot/projects/delphij_fork/sys/amd64/linux32/linux32_syscall.h#3 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ ==== //depot/projects/delphij_fork/sys/amd64/linux32/linux32_sysent.c#3 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ ==== //depot/projects/delphij_fork/sys/amd64/linux32/linux32_sysvec.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.30 2007/07/12 18:01:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.31 2007/09/20 13:46:26 kib Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -372,6 +372,7 @@ frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp; frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; + frame.sf_sc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); #ifdef DEBUG @@ -503,6 +504,7 @@ frame.sf_sc.sc_esp_at_signal = regs->tf_rsp; frame.sf_sc.sc_ss = regs->tf_ss; frame.sf_sc.sc_err = regs->tf_err; + frame.sf_sc.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(code); for (i = 0; i < (LINUX_NSIG_WORDS-1); i++) ==== //depot/projects/delphij_fork/sys/amd64/linux32/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.30 2007/09/18 19:50:32 dwmalone Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -436,7 +436,7 @@ 266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); } 267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \ struct l_timespec *rqtp, struct l_timespec *rmtp); } -268 AUE_STATFS STD { int linux_statfs64(char *path, struct l_statfs64_buf *buf); } +268 AUE_STATFS STD { int linux_statfs64(char *path, size_t bufsize, struct l_statfs64_buf *buf); } 269 AUE_FSTATFS STD { int linux_fstatfs64(void); } 270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); } 271 AUE_UTIMES STD { int linux_utimes(char *fname, \ ==== //depot/projects/delphij_fork/sys/arm/arm/pmap.c#3 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.84 2007/07/27 14:45:04 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.86 2007/09/22 22:47:48 cognet Exp $"); #include #include #include @@ -270,7 +270,6 @@ */ union pmap_cache_state *pmap_cache_state; -/* static pt_entry_t *msgbufmap;*/ struct msgbuf *msgbufp = 0; extern void bcopy_page(vm_offset_t, vm_offset_t); @@ -4074,7 +4073,7 @@ panic("pmap_zero_page: page has mappings"); #endif - if (_arm_bzero && + if (_arm_bzero && size >= _min_bzero_size && _arm_bzero((void *)(phys + off), size, IS_PHYSICAL) == 0) return; @@ -4115,7 +4114,7 @@ void pmap_zero_page_xscale(vm_paddr_t phys, int off, int size) { - if (_arm_bzero && + if (_arm_bzero && size >= _min_bzero_size && _arm_bzero((void *)(phys + off), size, IS_PHYSICAL) == 0) return; mtx_lock(&cmtx); @@ -4429,7 +4428,7 @@ #endif cpu_dcache_wbinv_all(); - if (_arm_memcpy && + if (_arm_memcpy && PAGE_SIZE >= _min_memcpy_size && _arm_memcpy((void *)VM_PAGE_TO_PHYS(dst), (void *)VM_PAGE_TO_PHYS(src), PAGE_SIZE, IS_PHYSICAL) == 0) return; ==== //depot/projects/delphij_fork/sys/arm/arm/vm_machdep.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.33 2007/07/27 14:46:15 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.34 2007/09/15 18:47:01 alc Exp $"); #include #include @@ -580,9 +580,9 @@ return (ret); } if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; + pflags = VM_ALLOC_INTERRUPT | VM_ALLOC_WIRED; else - pflags = VM_ALLOC_SYSTEM; + pflags = VM_ALLOC_SYSTEM | VM_ALLOC_WIRED; if (wait & M_ZERO) pflags |= VM_ALLOC_ZERO; for (;;) { @@ -640,9 +640,9 @@ vm_paddr_t pa = vtophys((vm_offset_t)mem); m = PHYS_TO_VM_PAGE(pa); - vm_page_lock_queues(); + m->wire_count--; vm_page_free(m); - vm_page_unlock_queues(); + atomic_subtract_int(&cnt.v_wire_count, 1); } } } ==== //depot/projects/delphij_fork/sys/arm/at91/at91_mci.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.3 2007/02/23 12:18:27 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.4 2007/09/16 07:48:58 imp Exp $"); #include #include @@ -293,13 +293,10 @@ else clkdiv = (at91_master_clock / ios->clock) / 2; } - if (ios->bus_width == bus_width_4 && sc->wire4) { - device_printf(sc->dev, "Setting controller bus width to 4\n"); + if (ios->bus_width == bus_width_4 && sc->wire4) WR4(sc, MCI_SDCR, RD4(sc, MCI_SDCR) | MCI_SDCR_SDCBUS); - } else { - device_printf(sc->dev, "Setting controller bus width to 1\n"); + else WR4(sc, MCI_SDCR, RD4(sc, MCI_SDCR) & ~MCI_SDCR_SDCBUS); - } WR4(sc, MCI_MR, (RD4(sc, MCI_MR) & ~MCI_MR_CLKDIV) | clkdiv); #if 0 if (sc->vcc_pin) { ==== //depot/projects/delphij_fork/sys/arm/at91/at91_pmc.c#2 (text) ==== @@ -25,7 +25,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.4 2007/01/05 01:14:14 ticso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.5 2007/09/16 07:51:02 imp Exp $"); #include #include @@ -162,7 +162,6 @@ struct at91_pmc_softc *sc = pmc_softc; uint32_t value; - printf("Turning PLLB %#x %s\n", sc->pllb_init, on ? "on" : "off"); if (on) { on = PMC_IER_LOCKB; value = sc->pllb_init; @@ -172,7 +171,6 @@ WR4(sc, CKGR_PLLBR, value); while ((RD4(sc, PMC_SR) & PMC_IER_LOCKB) != on) continue; - printf("Done!\n"); } static void @@ -180,7 +178,6 @@ { struct at91_pmc_softc *sc = pmc_softc; - printf("Turning SC %#x %s\n", clk->pmc_mask, on ? "on" : "off"); WR4(sc, on ? PMC_SCER : PMC_SCDR, clk->pmc_mask); if (on) while ((RD4(sc, PMC_SCSR) & clk->pmc_mask) != clk->pmc_mask) @@ -188,7 +185,6 @@ else while ((RD4(sc, PMC_SCSR) & clk->pmc_mask) == clk->pmc_mask) continue; - printf("Done SCSR is now: %#x!\n", RD4(sc, PMC_SCSR)); } static void @@ -196,7 +192,6 @@ { struct at91_pmc_softc *sc = pmc_softc; - printf("Turning PC %#x %s\n", clk->pmc_mask, on ? "on" : "off"); WR4(sc, on ? PMC_PCER : PMC_PCDR, clk->pmc_mask); if (on) while ((RD4(sc, PMC_PCSR) & clk->pmc_mask) != clk->pmc_mask) @@ -204,7 +199,6 @@ else while ((RD4(sc, PMC_PCSR) & clk->pmc_mask) == clk->pmc_mask) continue; - printf("Done PCSR is now: %#x!\n", RD4(sc, PMC_PCSR)); } struct at91_pmc_clock * @@ -228,7 +222,6 @@ at91_pmc_clock_enable(struct at91_pmc_clock *clk) { /* XXX LOCKING? XXX */ - printf("Enable %s\n", clk->name); if (clk->parent) at91_pmc_clock_enable(clk->parent); if (clk->refcnt++ == 0 && clk->set_mode) ==== //depot/projects/delphij_fork/sys/arm/conf/CRB#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/CRB,v 1.1 2007/07/27 14:57:03 cognet Exp $ +# $FreeBSD: src/sys/arm/conf/CRB,v 1.2 2007/09/22 16:25:42 cognet Exp $ machine arm ident CRB @@ -84,6 +84,8 @@ device atapist # ATAPI tape drives options ATA_STATIC_ID # Static device numbering +device "7seg" + # SCSI Controllers device pty ==== //depot/projects/delphij_fork/sys/arm/include/asmacros.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.5 2006/04/13 14:25:28 cognet Exp $ + * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.6 2007/09/22 14:23:52 cognet Exp $ */ #ifndef _MACHINE_ASMACROS_H_ @@ -116,18 +116,15 @@ ldr r5, =0xe0000004; /* Check if there's any RAS */ \ ldr r3, [r5]; \ cmp r3, #0; /* Is the update needed ? */ \ - beq 1f; \ - ldr lr, [r0, #16]; \ - ldr r1, =0xe0000008; \ - ldr r4, [r1]; /* Get the end of the RAS */ \ - mov r2, #0; /* Reset the magic addresses */ \ - str r2, [r5]; \ - str r2, [r1]; \ - cmp lr, r3; /* Were we in the RAS ? */ \ - blt 1f; \ - cmp lr, r4; \ - strlt r3, [r0, #16]; /* Yes, update the pc */ \ - 1: \ + ldrgt lr, [r0, #16]; \ + ldrgt r1, =0xe0000008; \ + ldrgt r4, [r1]; /* Get the end of the RAS */ \ + movgt r2, #0; /* Reset the magic addresses */ \ + strgt r2, [r5]; \ + strgt r2, [r1]; \ + cmpgt lr, r3; /* Were we in the RAS ? */ \ + cmpgt r4, lr; \ + strgt r3, [r0, #16]; /* Yes, update the pc */ \ mrs r0, spsr_all; /* Put the SPSR on the stack */ \ str r0, [sp, #-4]! ==== //depot/projects/delphij_fork/sys/arm/include/endian.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * * @(#)endian.h 8.1 (Berkeley) 6/10/93 * $NetBSD: endian.h,v 1.7 1999/08/21 05:53:51 simonb Exp $ - * $FreeBSD: src/sys/arm/include/endian.h,v 1.10 2005/07/27 19:59:21 jhb Exp $ + * $FreeBSD: src/sys/arm/include/endian.h,v 1.11 2007/09/09 11:58:38 cognet Exp $ */ #ifndef _ENDIAN_H_ @@ -99,13 +99,15 @@ static __inline __uint16_t __bswap16_var(__uint16_t v) { + __uint32_t ret = v & 0xffff; + __asm __volatile( "mov %0, %0, ror #8\n" "orr %0, %0, %0, lsr #16\n" "bic %0, %0, %0, lsl #16" - : "+r" (v)); + : "+r" (ret)); - return (v); + return ((__uint16_t)ret); } #ifdef __OPTIMIZE__ ==== //depot/projects/delphij_fork/sys/arm/sa11x0/uart_dev_sa1110.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.8 2007/04/02 22:00:21 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.9 2007/09/12 18:28:09 cognet Exp $"); #include #include @@ -97,7 +97,7 @@ static void sa1110_putc(struct uart_bas *bas, int c) { - while (!uart_getreg(bas, SACOM_SR1) & SR1_TNF); + while (!(uart_getreg(bas, SACOM_SR1) & SR1_TNF)); uart_setreg(bas, SACOM_DR, c); } @@ -186,7 +186,7 @@ uart_setreg(&sc->sc_bas, SACOM_CR3, uart_getreg(&sc->sc_bas, SACOM_CR3) | CR3_TIE); for (i = 0; i < sc->sc_txdatasz; i++) { - while (!uart_getreg(&sc->sc_bas, SACOM_SR1) & SR1_TNF); + while (!(uart_getreg(&sc->sc_bas, SACOM_SR1) & SR1_TNF)); uart_setreg(&sc->sc_bas, SACOM_DR, sc->sc_txbuf[i]); uart_barrier(&sc->sc_bas); ==== //depot/projects/delphij_fork/sys/arm/xscale/i8134x/crb_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.1 2007/07/27 14:50:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.2 2007/09/22 16:25:43 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -171,6 +171,13 @@ VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + { + IOP34X_PCE1_VADDR, + IOP34X_PCE1, + IOP34X_PCE1_SIZE, + VM_PROT_READ|VM_PROT_WRITE, + PTE_NOCACHE, + }, { 0, 0, ==== //depot/projects/delphij_fork/sys/arm/xscale/i8134x/files.crb#2 (text+ko) ==== @@ -1,2 +1,3 @@ -# $FreeBSD: src/sys/arm/xscale/i8134x/files.crb,v 1.1 2007/07/27 14:50:57 cognet Exp $ +# $FreeBSD: src/sys/arm/xscale/i8134x/files.crb,v 1.2 2007/09/22 16:25:43 cognet Exp $ arm/xscale/i8134x/crb_machdep.c standard +arm/xscale/i8134x/iq81342_7seg.c optional 7seg ==== //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/i81342.c,v 1.1 2007/07/27 14:50:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/i81342.c,v 1.2 2007/09/22 16:25:43 cognet Exp $"); #include #include @@ -400,6 +400,7 @@ device_add_child(dev, "iopwdog", 0); device_add_child(dev, "pcib", 0); device_add_child(dev, "pcib", 1); + device_add_child(dev, "iqseg", 0); bus_generic_probe(dev); bus_generic_attach(dev); return (0); ==== //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342reg.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/xscale/i8134x/i81342reg.h,v 1.1 2007/07/27 14:50:57 cognet Exp $ */ +/* $FreeBSD: src/sys/arm/xscale/i8134x/i81342reg.h,v 1.3 2007/09/22 22:25:24 cognet Exp $ */ #ifndef I83142_REG_H_ #define I83142_REG_H_ @@ -46,9 +46,51 @@ #define IOP34X_HWADDR 0xffd00000 #define IOP34X_SIZE 0x100000 +#define IOP34X_ADMA0_OFFSET 0x00080000 +#define IOP34X_ADMA1_OFFSET 0x00080200 +#define IOP34X_ADMA2_OFFSET 0x00080400 +#define IOP34X_ADMA_SIZE 0x200 + + +/* ADMA Registers */ +#define IOP34X_ADMA_CCR 0x0000 /* Channel Control Register */ +#define IOP34X_ADMA_CSR 0x0004 /* Channel Status Register */ +#define IOP34X_ADMA_DAR 0x0008 /* Descriptor Address Register */ +#define IOP34X_ADMA_IPCR 0x0018 /* Internal Interface Parity Ctrl Reg */ +#define IOP34X_ADMA_NDAR 0x0024 /* Next Descriptor Register */ +#define IOP34X_ADMA_DCR 0x0028 /* Descriptor Control Register */ + +#define IOP34X_ADMA_IE (1 << 0) /* Interrupt enable */ +#define IOP34X_ADMA_TR (1 << 1) /* Transfert Direction */ +/* + * Source Destination + * 00 Host I/O Interface Local Memory + * 01 Local Memory Host I/O Interface + * 10 Internal Bus Local Memory + * 11 Local Memory Internal Bus + */ +#define IOP34X_ADMA_SS (1 << 3) /* Source selection */ +/* 0000: Data Transfer / CRC / Memory Block Fill */ +#define IOP34X_ADMA_ZRBCE (1 << 7) /* Zero Result Buffer Check Enable */ +#define IOP34X_ADMA_MBFE (1 << 8) /* Memory Block Fill Enable */ +#define IOP34X_ADMA_CGE (1 << 9) /* CRC Generation enable */ +#define IOP34X_ADMA_CTD (1 << 10) /* CRC Transfer disable */ +#define IOP34X_ADMA_CSFD (1 << 11) /* CRC Seed fetch disable */ +#define IOP34X_ADMA_SWBE (1 << 12) /* Status write back enable */ +#define IOP34X_ADMA_ESE (1 << 13) /* Endian swap enable */ +#define IOP34X_ADMA_PQUTE (1 << 16) /* P+Q Update Transfer Enable */ +#define IOP34X_ADMA_DXE (1 << 17) /* Dual XOR Enable */ +#define IOP34X_ADMA_PQTE (1 << 18) /* P+Q Transfer Enable */ +#define IOP34X_ADMA_PTD (1 << 19) /* P Transfer Disable */ +#define IOP34X_ADMA_ROE (1 << 30) /* Relaxed Ordering Enable */ +#define IOP34X_ADMA_NSE (1 << 31) /* No Snoop Enable */ + #define IOP34X_PBBAR0 0x81588 /* PBI Base Address Register 0 */ #define IOP34X_PBBAR0_ADDRMASK 0xfffff000 #define IOP34X_PBBAR1 0x81590 +#define IOP34X_PCE1 0xF2000000 +#define IOP34X_PCE1_SIZE 0x00100000 +#define IOP34X_PCE1_VADDR 0xF1000000 #define IOP34X_ESSTSR0 0x82188 #define IOP34X_CONTROLLER_ONLY (1 << 14) #define IOP34X_INT_SEL_PCIX (1 << 15) ==== //depot/projects/delphij_fork/sys/compat/linux/linux_stats.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.87 2007/03/06 07:39:12 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.88 2007/09/18 19:50:33 dwmalone Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -306,19 +306,6 @@ l_int f_spare[6]; }; -struct l_statfs64 { - l_int f_type; - l_int f_bsize; - uint64_t f_blocks; - uint64_t f_bfree; - uint64_t f_bavail; - uint64_t f_files; - uint64_t f_ffree; - l_fsid_t f_fsid; - l_int f_namelen; - l_int f_spare[6]; -}; - #define LINUX_CODA_SUPER_MAGIC 0x73757245L #define LINUX_EXT2_SUPER_MAGIC 0xEF53L #define LINUX_HPFS_SUPER_MAGIC 0xf995e849L @@ -418,6 +405,9 @@ char *path; int error; + if (args->bufsize != sizeof(struct l_statfs64)) + return EINVAL; + LCONVPATHEXIST(td, args->path, &path); #ifdef DEBUG ==== //depot/projects/delphij_fork/sys/conf/NOTES#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1449 2007/08/13 17:19:27 emax Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1453 2007/09/23 07:34:22 pjd Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -154,6 +154,7 @@ options GEOM_STRIPE # Disk striping. options GEOM_SUNLABEL # Sun/Solaris partitioning options GEOM_UZIP # Read-only compressed disks +options GEOM_VIRSTOR # Virtual storage. options GEOM_VOL # Volume names from UFS superblock options GEOM_ZERO # Performance testing helper. @@ -739,9 +740,6 @@ # The `pflog' device provides the pflog0 interface which logs packets. # The `pfsync' device provides the pfsync0 interface used for # synchronization of firewall state tables (over the net). -# The PF_MPSAFE_UGID option enables a special workaround for a LOR with -# user/group rules that would otherwise lead to a deadlock. This has -# performance implications and should be used with care. # # The PPP_BSDCOMP option enables support for compress(1) style entire # packet compression, the PPP_DEFLATE is for zlib/gzip style compression. @@ -776,7 +774,6 @@ device pf #PF OpenBSD packet-filter firewall device pflog #logging support interface for PF device pfsync #synchronization interface for PF -options PF_MPSAFE_UGID #Workaround LOR with user/group rules device carp #Common Address Redundancy Protocol device enc #IPsec interface device ppp #Point-to-point protocol @@ -1316,8 +1313,8 @@ # HARDWARE DEVICE CONFIGURATION # For ISA the required hints are listed. -# EISA, MCA, PCI and pccard are self identifying buses, so no hints -# are needed. +# EISA, MCA, PCI, CardBus, SD/MMC and pccard are self identifying buses, so +# no hints are needed. # # Mandatory devices: @@ -2043,7 +2040,6 @@ device snd_ds1 device snd_emu10k1 device snd_emu10kx -options SND_EMU10KX_MULTICHANNEL device snd_envy24 device snd_envy24ht device snd_es137x @@ -2227,7 +2223,7 @@ # # PC Card/PCMCIA and Cardbus # -# pccbb: pci/cardbus bridge implementing YENTA interface +# cbb: pci/cardbus bridge implementing YENTA interface # pccard: pccard slots >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Sep 24 16:17:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5906116A418; Mon, 24 Sep 2007 16:17:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E0BE316A419 for ; Mon, 24 Sep 2007 16:17:13 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F415313C448 for ; Mon, 24 Sep 2007 16:17:13 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8OGHDkh077249 for ; Mon, 24 Sep 2007 16:17:13 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8OGHDQO077246 for perforce@freebsd.org; Mon, 24 Sep 2007 16:17:13 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 24 Sep 2007 16:17:13 GMT Message-Id: <200709241617.l8OGHDQO077246@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126773 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 16:17:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=126773 Change 126773 by zec@zec_tca51 on 2007/09/24 16:16:25 Rearrange a few lines in schedcpu() in a desperate attempt to catch a difficult to reproduce panic observed there after change 126517 went in, i.e. after load average accounting having been split into per-vprocg counters. The panic was observed (but not traced nor dump saved) a few times just after system bootup, with only the default vimage/vprocg configured. Affected files ... .. //depot/projects/vimage/src/sys/kern/sched_4bsd.c#10 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/sched_4bsd.c#10 (text+ko) ==== @@ -390,8 +390,6 @@ { #ifndef VIMAGE register fixpt_t loadfac = loadfactor(averunnable.ldavg[0]); -#else - #define loadfac loadfactor(td->td_ucred->cr_vimage->v_procg->_averunnable.ldavg[0]) #endif struct thread *td; struct proc *p; @@ -402,6 +400,13 @@ sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { PROC_SLOCK(p); +#ifdef VIMAGE + KASSERT((p->p_ucred != NULL), ("p_ucred")); + KASSERT((p->p_ucred->cr_vimage != NULL), ("cr_vimage")); + KASSERT((p->p_ucred->cr_vimage->v_procg != NULL), ("v_procg")); + INIT_VPROCG(p->p_ucred->cr_vimage->v_procg); + fixpt_t loadfac = loadfactor(V_averunnable.ldavg[0]); +#endif /* * Increment time in/out of memory. We ignore overflow; with * 16-bit int's (remember them?) overflow takes 45 days. @@ -490,9 +495,6 @@ PROC_SUNLOCK(p); } /* end of process loop */ sx_sunlock(&allproc_lock); -#ifdef VIMAGE -#undef loadfac -#endif } /* From owner-p4-projects@FreeBSD.ORG Mon Sep 24 16:37:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 537AC16A41A; Mon, 24 Sep 2007 16:37:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D24E16A469 for ; Mon, 24 Sep 2007 16:37:42 +0000 (UTC) (envelope-from hselasky@freebsd.org) Received: from swip.net (mailfe08.swip.net [212.247.154.225]) by mx1.freebsd.org (Postfix) with ESMTP id C75E813C48E for ; Mon, 24 Sep 2007 16:37:41 +0000 (UTC) (envelope-from hselasky@freebsd.org) X-Cloudmark-Score: 0.000000 [] Received: from [85.19.218.45] (account mc467741@c2i.net [85.19.218.45] verified) by mailfe08.swip.net (CommuniGate Pro SMTP 5.1.10) with ESMTPA id 622380816; Mon, 24 Sep 2007 17:37:38 +0200 From: Hans Petter Selasky To: ticso@cicely.de Date: Mon, 24 Sep 2007 17:37:52 +0200 User-Agent: KMail/1.9.7 References: <200709231625.l8NGPhaR097038@repoman.freebsd.org> <200709232113.34718.hselasky@freebsd.org> <20070924104320.GE38890@cicely12.cicely.de> In-Reply-To: <20070924104320.GE38890@cicely12.cicely.de> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709241737.53572.hselasky@freebsd.org> Cc: Perforce Change Reviews , "Constantine A. Murenin" Subject: Re: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 16:37:42 -0000 On Monday 24 September 2007, Bernd Walter wrote: > On Sun, Sep 23, 2007 at 09:13:33PM +0200, Hans Petter Selasky wrote: > > Hi Constantine, > > > > Thanks for your input and I _know_ that my code is not 100% style > > compliant. Most of the style misbehaves are probably there due to the way > > my "xemacs" autoformatting behaves. And I love curly brackets and > > parenthesis, by the way :-) > > > > My plan is to clean up all the style stuff by a small C-program in the > > end, because doing it by hand is waste of my time. Probably it will take > > less time to write that program than the actual manual edit when we are > > talking about doing alot of edits. It wonders me if such a tool already > > exists, because the code is technically OK. > > There is indent(1) in src, but it doesn't produce 100% style(9) clean > code either. > I usually use it as a starting point for very ugly formated code. > I'm not shure it will make things easier in this special case, maybe > just different. > But very likely you can use it to automatically fix at least a few > common points. > Enhancing indent to produce style(9) code would be a great feature... Hi Bernd Walter, Yes, I think I will go for that. Start with "indent" as is and then extend the functionality. Some things I have in mind: Automatic __FBSDID() at top of C-files. Automatic "static prototypes". Automatic comments before every C-function is defined. Automatic use of typedefs when declaring certain device method functions: static device_attach_t my_attach; Automatically reorder the code so that it follows generic device driver layout. --HPS From owner-p4-projects@FreeBSD.ORG Mon Sep 24 18:03:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D1E216A473; Mon, 24 Sep 2007 18:03:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1524916A41A; Mon, 24 Sep 2007 18:03:04 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from mojo.ru (mojo.ru [84.252.152.63]) by mx1.freebsd.org (Postfix) with ESMTP id 8CF3813C4B7; Mon, 24 Sep 2007 18:03:03 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from [192.168.0.16] (nc-76-4-28-21.dhcp.embarqhsd.net [76.4.28.21]) (authenticated bits=0) by mojo.ru (8.12.11.20060308/8.12.10) with ESMTP id l8OI355p017014 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 24 Sep 2007 22:03:07 +0400 Message-ID: <46F7FBC1.7080300@FreeBSD.org> Date: Mon, 24 Sep 2007 14:02:41 -0400 From: "Constantine A. Murenin" Organization: Google Summer of Code 2007 Student @ The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-gb, en-gb-oed, en, en-us, ru, ru-ru, ru-su MIME-Version: 1.0 To: Hans Petter Selasky References: <200709231625.l8NGPhaR097038@repoman.freebsd.org> <200709232113.34718.hselasky@freebsd.org> <20070924104320.GE38890@cicely12.cicely.de> <200709241737.53572.hselasky@freebsd.org> In-Reply-To: <200709241737.53572.hselasky@freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , ticso@cicely.de, "Constantine A. Murenin" Subject: Re: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 18:03:04 -0000 On 24/09/2007 11:37, Hans Petter Selasky wrote: > On Monday 24 September 2007, Bernd Walter wrote: > >>On Sun, Sep 23, 2007 at 09:13:33PM +0200, Hans Petter Selasky wrote: >> >>>Hi Constantine, >>> >>>Thanks for your input and I _know_ that my code is not 100% style >>>compliant. Most of the style misbehaves are probably there due to the way >>>my "xemacs" autoformatting behaves. And I love curly brackets and >>>parenthesis, by the way :-) >>> >>>My plan is to clean up all the style stuff by a small C-program in the >>>end, because doing it by hand is waste of my time. Probably it will take >>>less time to write that program than the actual manual edit when we are >>>talking about doing alot of edits. It wonders me if such a tool already >>>exists, because the code is technically OK. >> >>There is indent(1) in src, but it doesn't produce 100% style(9) clean >>code either. >>I usually use it as a starting point for very ugly formated code. >>I'm not shure it will make things easier in this special case, maybe >>just different. >>But very likely you can use it to automatically fix at least a few >>common points. >>Enhancing indent to produce style(9) code would be a great feature... > > > Hi Bernd Walter, > > Yes, I think I will go for that. Start with "indent" as is and then extend the > functionality. > > Some things I have in mind: > > Automatic __FBSDID() at top of C-files. > > Automatic "static prototypes". > > Automatic comments before every C-function is defined. > > Automatic use of typedefs when declaring certain device method functions: > > static device_attach_t my_attach; > > Automatically reorder the code so that it follows generic device driver > layout. Automatic renaming of function names like hid_get_descriptor_from_usb() and usbreq_get_report_descriptor() into something less wordy. Good luck! :-) C. From owner-p4-projects@FreeBSD.ORG Mon Sep 24 18:23:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ECF1716A41A; Mon, 24 Sep 2007 18:23:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB21C16A418 for ; Mon, 24 Sep 2007 18:23:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AB95D13C494 for ; Mon, 24 Sep 2007 18:23:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8OIN4uj096341 for ; Mon, 24 Sep 2007 18:23:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8OIN466096338 for perforce@freebsd.org; Mon, 24 Sep 2007 18:23:04 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 24 Sep 2007 18:23:04 GMT Message-Id: <200709241823.l8OIN466096338@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126781 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 18:23:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=126781 Change 126781 by hselasky@hselasky_laptop001 on 2007/09/24 18:22:37 - add missing include "sys/uio.h" - clean up the CPU cache flush and CPU cache invalidate stuff - disabling interrupts to avoid CPU cache pollution is not necessary hence the CPUs can usually do cache operations on a per range basis. - remove recursive counter from "struct usbd_page". The only real reason for this is some fixup code in "uhci.c" which I will modify so that it does not recurse the cache operations on the same memory region. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#43 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#45 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#43 (text+ko) ==== @@ -60,6 +60,7 @@ #include #include #include +#include #include #include @@ -2356,13 +2357,10 @@ page->physaddr = physaddr; page->buffer = ptr; page->length = size; - page->exit_level = 0; - page->intr_temp = 0; + usbd_page_dma_exit(page); bzero(ptr, size); - - bus_dmamap_sync(page->tag, page->map, - BUS_DMASYNC_PREWRITE|BUS_DMASYNC_PREREAD); + usbd_page_dma_enter(page); #ifdef USB_DEBUG if(usbdebug > 14) @@ -2389,14 +2387,6 @@ bus_dmamap_t map = page->map; void *ptr = page->buffer; - if (page->exit_level == 0) { - bus_dmamap_sync(page->tag, page->map, - BUS_DMASYNC_POSTWRITE|BUS_DMASYNC_POSTREAD); - } else { - panic("%s:%d: exit_level is not zero!\n", - __FUNCTION__, __LINE__); - } - bus_dmamap_unload(tag, map); bus_dmamem_free(tag, ptr, map); @@ -2411,31 +2401,28 @@ return; } +/*------------------------------------------------------------------------* + * usbd_page_dma_exit - invalidate CPU cache + * + * NOTE: Make sure that this function does not appear alone without a + * "usbd_page_dma_enter()" call unless you know what you are doing ! + *------------------------------------------------------------------------*/ void usbd_page_dma_exit(struct usbd_page *page) { - if ((page->exit_level)++ == 0) { - /* - * Disable interrupts so that the - * PCI controller can continue - * using the memory as quick as - * possible: - */ - page->intr_temp = intr_disable(); - bus_dmamap_sync(page->tag, page->map, - BUS_DMASYNC_POSTWRITE|BUS_DMASYNC_POSTREAD); - } + bus_dmamap_sync(page->tag, page->map, + BUS_DMASYNC_POSTWRITE|BUS_DMASYNC_POSTREAD); return; } +/*------------------------------------------------------------------------* + * usbd_page_dma_enter - flush CPU cache + *------------------------------------------------------------------------*/ void usbd_page_dma_enter(struct usbd_page *page) { - if (--(page->exit_level) == 0) { - bus_dmamap_sync(page->tag, page->map, - BUS_DMASYNC_PREWRITE|BUS_DMASYNC_PREREAD); - intr_restore(page->intr_temp); - } + bus_dmamap_sync(page->tag, page->map, + BUS_DMASYNC_PREWRITE|BUS_DMASYNC_PREREAD); return; } #endif @@ -2493,13 +2480,12 @@ page->physaddr = page->map->dm_segs[0].ds_addr; page->buffer = ptr; page->length = size; - page->exit_level = 0; - page->intr_temp = 0; + + usbd_page_dma_exit(page); bzero(ptr, size); - bus_dmamap_sync(page->tag, page->map, 0, page->length, - BUS_DMASYNC_PREWRITE|BUS_DMASYNC_PREREAD); + usbd_page_dma_enter(page); #ifdef USB_DEBUG if(usbdebug > 14) @@ -2533,14 +2519,6 @@ */ struct usbd_page temp = *page; - if (temp.exit_level == 0) { - bus_dmamap_sync(temp.tag, temp.map, 0, temp.length, - BUS_DMASYNC_POSTWRITE|BUS_DMASYNC_POSTREAD); - } else { - panic("%s:%d: exit_level is not zero!\n", - __FUNCTION__, __LINE__); - } - bus_dmamap_unload(temp.tag, temp.map); bus_dmamap_destroy(temp.tag, temp.map); bus_dmamem_unmap(temp.tag, temp.buffer, temp.length); @@ -2556,31 +2534,28 @@ return; } +/*------------------------------------------------------------------------* + * usbd_page_dma_exit - invalidate CPU cache + * + * NOTE: Make sure that this function does not appear alone without a + * "usbd_page_dma_enter()" call unless you know what you are doing ! + *------------------------------------------------------------------------*/ void usbd_page_dma_exit(struct usbd_page *page) { - if ((page->exit_level)++ == 0) { - /* - * Disable interrupts so that the - * PCI controller can continue - * using the memory as quick as - * possible: - */ - page->intr_temp = intr_disable(); - bus_dmamap_sync(page->tag, page->map, 0, page->length, - BUS_DMASYNC_POSTWRITE|BUS_DMASYNC_POSTREAD); - } + bus_dmamap_sync(page->tag, page->map, 0, page->length, + BUS_DMASYNC_POSTWRITE|BUS_DMASYNC_POSTREAD); return; } +/*------------------------------------------------------------------------* + * usbd_page_dma_enter - flush CPU cache + *------------------------------------------------------------------------*/ void usbd_page_dma_enter(struct usbd_page *page) { - if (--(page->exit_level) == 0) { - bus_dmamap_sync(page->tag, page->map, 0, page->length, - BUS_DMASYNC_PREWRITE|BUS_DMASYNC_PREREAD); - intr_restore(page->intr_temp); - } + bus_dmamap_sync(page->tag, page->map, 0, page->length, + BUS_DMASYNC_PREWRITE|BUS_DMASYNC_PREREAD); return; } #endif ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#45 (text+ko) ==== @@ -158,18 +158,15 @@ #ifdef __FreeBSD__ bus_dma_tag_t tag; bus_dmamap_t map; - register_t intr_temp; #endif #ifdef __NetBSD__ bus_dma_tag_t tag; bus_dmamap_t map; bus_dma_segment_t seg; - register_t intr_temp; int32_t seg_count; #endif uint32_t length; - uint16_t exit_level; }; struct usbd_page_search { From owner-p4-projects@FreeBSD.ORG Mon Sep 24 18:33:58 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2DF5D16A421; Mon, 24 Sep 2007 18:33:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02E4C16A419; Mon, 24 Sep 2007 18:33:58 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from mojo.ru (mojo.ru [84.252.152.63]) by mx1.freebsd.org (Postfix) with ESMTP id 6D71013C45A; Mon, 24 Sep 2007 18:33:57 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from [192.168.0.16] (nc-76-4-28-21.dhcp.embarqhsd.net [76.4.28.21]) (authenticated bits=0) by mojo.ru (8.12.11.20060308/8.12.10) with ESMTP id l8OIY5bc008296 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 24 Sep 2007 22:34:07 +0400 Message-ID: <46F80304.407@FreeBSD.org> Date: Mon, 24 Sep 2007 14:33:40 -0400 From: "Constantine A. Murenin" Organization: Google Summer of Code 2007 Student @ The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-gb, en-gb-oed, en, en-us, ru, ru-ru, ru-su MIME-Version: 1.0 To: Hans Petter Selasky References: <200709231625.l8NGPhaR097038@repoman.freebsd.org> <46F6A3C3.6010408@FreeBSD.org> <200709232113.34718.hselasky@freebsd.org> In-Reply-To: <200709232113.34718.hselasky@freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , "Constantine A. Murenin" Subject: Re: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 18:33:58 -0000 On 23/09/2007 15:13, Hans Petter Selasky wrote: > FreeBSD style transformer program is? I assume it would be extremely useful > to everyone that is forced to use multiple different styles depending on what > project they are contributing to, like me. Then before commit I will run that The complaint about various projects requiring different style would have been entirely valid if not for the fact that FreeBSD doesn't impose its own unique coding practices onto every contributor. The differences between KNF on FreeBSD, OpenBSD, NetBSD and DragonFly BSD are as minor as to the point of being largely irrelevant. At the end of the day, these very style conventions that are used by the BSD projects are even available in the style(9) manual page of the standard Mac OS X installation. (-: Put it another way -- why don't you tell all the other projects, to which you are contributing, that all your code complies with the style conventions as they are documented in the style(9) manual page of the world's most popular Unix system? :-) Best regards, Constantine. From owner-p4-projects@FreeBSD.ORG Mon Sep 24 19:41:46 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE7AE16A46B; Mon, 24 Sep 2007 19:41:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4D0816A417 for ; Mon, 24 Sep 2007 19:41:45 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9BAE813C47E for ; Mon, 24 Sep 2007 19:41:45 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8OJfjuT002125 for ; Mon, 24 Sep 2007 19:41:45 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8OJfjiE002122 for perforce@freebsd.org; Mon, 24 Sep 2007 19:41:45 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Sep 2007 19:41:45 GMT Message-Id: <200709241941.l8OJfjiE002122@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126782 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 19:41:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=126782 Change 126782 by kmacy@kmacy_home:ethng on 2007/09/24 19:41:05 don't compile in debug firmware Affected files ... .. //depot/projects/ethng/src/sys/modules/cxgb/Makefile#7 edit Differences ... ==== //depot/projects/ethng/src/sys/modules/cxgb/Makefile#7 (text+ko) ==== @@ -14,21 +14,21 @@ CFLAGS+= -DIFNET_MULTIQUEUE #CFLAGS+= -DDISABLE_MBUF_IOVEC #CFLAGS+= -DDEBUG -DDEBUG_PRINT -#CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS -DWITNESS +#CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS +#CFLAGS+= -DWITNESS #CFLAGS += -DLOCK_PROFILING #CFLAGS+= -DWITNESS -#CFLAGS+= -DDEBUG -DDEBUG_PRINT .if ${MACHINE_ARCH} != "ia64" # ld is broken on ia64 -t3fw-4.7.1.bin: ${CXGB}/t3fw-4.7.1.bin.gz.uu - uudecode -p < ${CXGB}/t3fw-4.7.1.bin.gz.uu \ +t3fw-4.7.0.bin: ${CXGB}/t3fw-4.7.0.bin.gz.uu + uudecode -p < ${CXGB}/t3fw-4.7.0.bin.gz.uu \ | gzip -dc > ${.TARGET} -FIRMWS= t3fw-4.7.1.bin:t3fw471 -CLEANFILES+= t3fw-4.7.1.bin +FIRMWS= t3fw-4.7.0.bin:t3fw470 +CLEANFILES+= t3fw-4.7.0.bin t3b_protocol_sram-1.1.0.bin: ${CXGB}/t3b_protocol_sram-1.1.0.bin.gz.uu uudecode -p < ${CXGB}/t3b_protocol_sram-1.1.0.bin.gz.uu \ From owner-p4-projects@FreeBSD.ORG Mon Sep 24 19:50:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9543216A474; Mon, 24 Sep 2007 19:50:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4BB3916A41B for ; Mon, 24 Sep 2007 19:50:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4103B13C494 for ; Mon, 24 Sep 2007 19:50:59 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8OJoxGe002512 for ; Mon, 24 Sep 2007 19:50:59 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8OJowC6002507 for perforce@freebsd.org; Mon, 24 Sep 2007 19:50:58 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 24 Sep 2007 19:50:58 GMT Message-Id: <200709241950.l8OJowC6002507@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126783 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 19:50:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=126783 Change 126783 by hselasky@hselasky_laptop001 on 2007/09/24 19:50:31 - Small bugfix; "ehci_non_isoc_done()" should terminate scanning of transfer descriptors when a short USB frame is found if "flags_int.short_frames_ok" is not set. "ehci_non_isoc_done_sub()" signals this condition by clearing "xfer->td_transfer_cache" before it returns. - Remove "xfer->aframes" fixup in case of error for control transfers. Usually one should not rely on "xfer->actlen" nor "xfer->aframes" in case of error except for debugging purposes. This saves some code, and makes the algorithm more straight forward. Already the USB transfer descriptor scanning algorithm is pretty complicated. - NOTE: The EHCI transfer descriptor scanning model will now be used as an example for the UHCI and OHCI transfer descriptor scanning models. By doing this the code will look 90% the same and consequently understanding it will be easier and less time consuming. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ehci.c#38 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#38 (text+ko) ==== @@ -1093,7 +1093,7 @@ /* * Verify the status length and subtract - * the remainderfrom "frlengths[]": + * the remainder from "frlengths[]": */ if (len > td->len) { /* should not happen */ @@ -1122,20 +1122,27 @@ /* Check for transfer error */ if (status & EHCI_QTD_HALTED) { + /* the transfer is finished */ td = NULL; break; } /* Check for short transfer */ if (len > 0) { - td = td->alt_next; + if (xfer->flags_int.short_frames_ok) { + /* follow alt next */ + td = td->alt_next; + } else { + /* the transfer is finished */ + td = NULL; + } break; } td = td->obj_next; if (td->alt_next != td_alt_next) { - /* we are finished */ + /* this USB frame is complete */ break; } } @@ -1177,11 +1184,11 @@ status = ehci_non_isoc_done_sub(xfer); - if (status & EHCI_QTD_HALTED) { + xfer->aframes = 1; + + if (xfer->td_transfer_cache == NULL) { goto done; } - - xfer->aframes = 1; } while (xfer->aframes != xfer->nframes) { @@ -1190,26 +1197,19 @@ (xfer->frlengths[xfer->aframes] > 0)) { status = ehci_non_isoc_done_sub(xfer); - - if (status & EHCI_QTD_HALTED) { - goto done; - } } xfer->aframes ++; + + if (xfer->td_transfer_cache == NULL) { + goto done; + } } if (xfer->flags_int.control_xfr && !xfer->flags_int.control_act) { status = ehci_non_isoc_done_sub(xfer); - - if (status & EHCI_QTD_HALTED) { - if (xfer->frlengths[xfer->nframes-1] == 0) { - xfer->aframes--; - } - goto done; - } } done: From owner-p4-projects@FreeBSD.ORG Mon Sep 24 20:32:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D07A16A420; Mon, 24 Sep 2007 20:32:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1426316A419 for ; Mon, 24 Sep 2007 20:32:53 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0925D13C48E for ; Mon, 24 Sep 2007 20:32:53 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8OKWqBO008566 for ; Mon, 24 Sep 2007 20:32:52 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8OKWqDZ008563 for perforce@freebsd.org; Mon, 24 Sep 2007 20:32:52 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Sep 2007 20:32:52 GMT Message-Id: <200709242032.l8OKWqDZ008563@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126784 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 20:32:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=126784 Change 126784 by kmacy@kmacy_home:ethng on 2007/09/24 20:32:32 add utility routines for mbuf ring Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_osdep.h#8 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_osdep.h#8 (text+ko) ==== @@ -69,6 +69,55 @@ struct mtx mr_lock; }; +static __inline int +mbuf_ring_count(struct mbuf_ring *mr) +{ + return abs(mr->mr_cons - mr->mr_prod); +} + +static __inline int +mbuf_ring_empty(struct mbuf_ring *mr) +{ + return (mr->mr_cons == mr->mr_prod); +} + +static __inline struct mbuf * +mbuf_ring_dequeue(struct mbuf_ring *mr) +{ + int prod, cons, mask; + struct mbuf **ring, *m; + + ring = mr->mr_ring; + mask = mr->mr_size - 1; + cons = mr->mr_cons; + prod = mr->mr_prod; + m = NULL; + if (cons != prod) { + m = ring[cons]; + mr->mr_cons = (cons + 1) & mask; + } + + return (m); +} + + +static __inline struct mbuf * +mbuf_ring_peek(struct mbuf_ring *mr) +{ + int prod, cons, mask; + struct mbuf **ring, *m; + + ring = mr->mr_ring; + mask = mr->mr_size - 1; + cons = mr->mr_cons; + prod = mr->mr_prod; + m = NULL; + if (cons != prod) + m = ring[cons]; + + return (m); +} + #define PANIC_IF(exp) do { \ if (exp) \ panic("BUG: %s", exp); \ From owner-p4-projects@FreeBSD.ORG Mon Sep 24 20:35:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2137916A41B; Mon, 24 Sep 2007 20:35:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1E9216A418 for ; Mon, 24 Sep 2007 20:35:11 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C670113C455 for ; Mon, 24 Sep 2007 20:35:11 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8OKZBL0008730 for ; Mon, 24 Sep 2007 20:35:11 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8OKZBus008718 for perforce@freebsd.org; Mon, 24 Sep 2007 20:35:11 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Sep 2007 20:35:11 GMT Message-Id: <200709242035.l8OKZBus008718@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126786 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 20:35:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=126786 Change 126786 by kmacy@kmacy_home:ethng on 2007/09/24 20:34:58 remove use of sendq list for queue management coalescing using the list doesn't help with performance but adds complexity Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_adapter.h#19 edit .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_multiq.c#19 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_adapter.h#19 (text+ko) ==== @@ -281,6 +281,7 @@ */ struct mbuf_head cleanq; struct mbuf_ring txq_mr; + struct mbuf *immpkt; uint32_t txq_drops; uint32_t txq_skipped; uint32_t txq_coalesced; ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_multiq.c#19 (text+ko) ==== @@ -103,7 +103,7 @@ SYSCTL_UINT(_hw_cxgb, OID_AUTO, sleep_ticks, CTLFLAG_RDTUN, &sleep_ticks, 0, "ticks to sleep between checking pcpu queues"); -int cxgb_txq_mbuf_ring_size = 8192; +int cxgb_txq_mbuf_ring_size = 2048; TUNABLE_INT("hw.cxgb.txq_mr_size", &cxgb_txq_mbuf_ring_size); SYSCTL_UINT(_hw_cxgb, OID_AUTO, txq_mr_size, CTLFLAG_RDTUN, &cxgb_txq_mbuf_ring_size, 0, "size of per-queue mbuf ring"); @@ -118,7 +118,6 @@ { struct sge_txq *txq; struct mbuf_ring *mr; - struct mbuf_head *mbq; int prod, cons, mask; int err = 0; @@ -129,9 +128,6 @@ txq = &qs->txq[TXQ_ETH]; DPRINTF("enqueueing packet to cpuid=%d\n", qs->qs_cpuid); - - mbq = &txq->sendq; - mr = &txq->txq_mr; mtx_lock(&mr->mr_lock); cons = mr->mr_cons; @@ -179,23 +175,29 @@ struct mbuf *m; struct sge_qset *qs; int count, size, coalesced; - struct mbuf_head *mbq; + struct mbuf_ring *mr; - mbq = &txq->sendq; + mr = &txq->txq_mr; coalesced = count = size = 0; qs = txq_to_qset(txq, TXQ_ETH); if (qs->qs_flags & QS_EXITING) return (0); - for (m = mbufq_dequeue(mbq); m != NULL; m = mbufq_dequeue(mbq)) { + if (txq->immpkt != NULL) { + m_vec[0] = txq->immpkt; + txq->immpkt = NULL; + return (1); + } + + for (m = mbuf_ring_dequeue(mr); m != NULL; m = mbuf_ring_dequeue(mr)) { size += m->m_pkthdr.len; m_vec[count++] = m; if (count == TX_WR_COUNT_MAX || cxgb_pcpu_tx_coalesce == 0) break; - m = mbufq_peek(mbq); + m = mbuf_ring_peek(mr); /* * We can't coalesce TSO packets or past 11K */ @@ -337,44 +339,6 @@ return (cookie); } -static inline int -cxgb_pcpu_pkt_coalesce(struct sge_txq *txq, struct mbuf *imm) -{ - int prod, cons, mask, err; - struct mbuf_head *mbq; - struct mbuf_ring *mr; - struct mbuf **ring, *m; - - mbq = &txq->sendq; - mr = &txq->txq_mr; - ring = mr->mr_ring; - mask = mr->mr_size - 1; - err = 0; - /* - * Arbitrary threshold at which to apply backpressure - */ - if (mbufq_len(mbq) > cxgb_txq_mbuf_ring_size) { - if (imm) { - m_freem(imm); - txq->txq_drops++; - } - return (ENOBUFS); - } - - cons = mr->mr_cons; - prod = mr->mr_prod; - while (cons != prod) { - m = ring[cons]; - cons = (cons + 1) & mask; - mbufq_tail(mbq, m); - } - mr->mr_cons = cons; - if (imm) - mbufq_tail(mbq, imm); - - return (err); -} - static void cxgb_pcpu_free(struct sge_qset *qs) { @@ -383,13 +347,12 @@ while ((m = mbufq_dequeue(&txq->sendq)) != NULL) m_freem(m); - cxgb_pcpu_pkt_coalesce(txq, NULL); - while ((m = mbufq_dequeue(&txq->sendq)) != NULL) + while ((m = mbuf_ring_dequeue(&txq->txq_mr)) != NULL) m_freem(m); } static int -cxgb_pcpu_reclaim_tx(struct sge_txq *txq, struct mbuf_head *mbq) +cxgb_pcpu_reclaim_tx(struct sge_txq *txq) { int reclaimable; struct sge_qset *qs = txq_to_qset(txq, TXQ_ETH); @@ -414,7 +377,7 @@ } static int -cxgb_pcpu_start_(struct sge_qset *qs, struct mbuf *immpkt, int tx_flush, struct mbuf_head *mbq) +cxgb_pcpu_start_(struct sge_qset *qs, struct mbuf *immpkt, int tx_flush) { int i, err, initerr, flush, reclaimed, stopped; struct port_info *pi; @@ -433,7 +396,12 @@ initerr = ENXIO; else { txq = &qs->txq[TXQ_ETH]; - initerr = cxgb_pcpu_pkt_coalesce(txq, immpkt); + + if (!mbuf_ring_empty(&txq->txq_mr)) { + initerr = cxgb_pcpu_enqueue_packet_(qs, immpkt); + } else + txq->immpkt = immpkt; + immpkt = NULL; } if (initerr && initerr != ENOBUFS) { @@ -453,17 +421,17 @@ qs->qs_cpuid, curcpu, desc_reclaimable(txq), txq, txq->cidx, txq->pidx); } - reclaimed = cxgb_pcpu_reclaim_tx(txq, mbq); + reclaimed = cxgb_pcpu_reclaim_tx(txq); if (cxgb_debug) printf("reclaimed=%d\n", reclaimed); } stopped = isset(&qs->txq_stopped, TXQ_ETH); - flush = (!mbufq_empty(&txq->sendq) && !stopped); + flush = ((!mbuf_ring_empty(&txq->txq_mr) && !stopped) || txq->immpkt); max_desc = tx_flush ? 0xffffff : TX_START_MAX_DESC; err = flush ? cxgb_tx_common(qs->port->ifp, qs, max_desc) : ENOSPC; - - if ((tx_flush && flush && err == 0) && !mbufq_empty(&txq->sendq)) { + + if ((tx_flush && flush && err == 0) && !mbuf_ring_empty(&txq->txq_mr)) { #if 0 struct thread *td = curthread; thread_lock(td); @@ -490,8 +458,6 @@ struct port_info *pi; struct sge_qset *qs; struct sge_txq *txq = NULL /* gcc is dumb */; - struct mbuf_head mbq; - struct mbuf *m; pi = ifp->if_softc; qs = NULL; @@ -507,12 +473,11 @@ txq = &qs->txq[TXQ_ETH]; - mbufq_init(&mbq); if (mtx_trylock(&txq->lock)) { txq->flags |= TXQ_TRANSMITTING; - err = cxgb_pcpu_start_(qs, immpkt, FALSE, &mbq); + err = cxgb_pcpu_start_(qs, immpkt, FALSE); txq->flags &= ~TXQ_TRANSMITTING; - resid = (mbufq_len(&txq->sendq) > 128) || (desc_reclaimable(txq) > 128); + resid = (mbuf_ring_count(&txq->txq_mr) > 64) || (desc_reclaimable(txq) > 64); mtx_unlock(&txq->lock); } else if (immpkt) err = cxgb_pcpu_enqueue_packet_(qs, immpkt); @@ -520,21 +485,6 @@ if (resid && (txq->flags & TXQ_TRANSMITTING) == 0) wakeup(qs); - critical_enter(); - /* - * Are we on a cpu with a service thread? - */ - if (curcpu < SGE_QSETS) { - qs = &pi->adapter->sge.qs[curcpu]; - txq = &qs->txq[TXQ_ETH]; - mbufq_append(&txq->cleanq, &mbq); - critical_exit(); - } else { - critical_exit(); - while ((m = mbufq_dequeue(&mbq)) != NULL) - m_freem(m); - } - return ((err == ENOSPC) ? 0 : err); } @@ -545,9 +495,7 @@ struct sge_qset *qs; struct mbuf *m, *head, *tail, *lhead, *ltail; int calc_cookie, qidx, i; - struct mbuf_head mbq; - mbufq_init(&mbq); IFQ_LOCK(&ifp->if_snd); IFQ_DEQUEUE_NOLOCK(&ifp->if_snd, m); head = tail = m; @@ -584,7 +532,7 @@ * Assume one-to-one mapping of qset to CPU for now XXX */ - (void)cxgb_pcpu_start_(qs, NULL, TRUE, &mbq); + (void)cxgb_pcpu_start_(qs, NULL, TRUE); /* * XXX multiple packets */ @@ -599,8 +547,6 @@ struct thread *td; struct adapter *sc = qs->port->adapter; struct sge_txq *txq = &qs->txq[TXQ_ETH]; - struct mbuf_head mbq; - struct mbuf *m; int err = 0; @@ -616,18 +562,15 @@ printf("bound to %d running on %d\n", qs->qs_cpuid, curcpu); for (;;) { - mbufq_init(&mbq); - if (qs->qs_flags & QS_EXITING) break; if ((qs->port->ifp->if_drv_flags && IFF_DRV_RUNNING) == 0) goto done; - if (mtx_trylock(&txq->lock)) { txq->flags |= TXQ_TRANSMITTING; - err = cxgb_pcpu_start_(qs, NULL, TRUE, &mbq); + err = cxgb_pcpu_start_(qs, NULL, TRUE); txq->flags &= ~TXQ_TRANSMITTING; mtx_unlock(&txq->lock); } else @@ -643,9 +586,7 @@ mtx_unlock(&qs->rspq.lock); } - if ((!mbufq_empty(&txq->sendq) || - (txq->txq_mr.mr_cons != txq->txq_mr.mr_prod)) && - err == 0) { + if ((!mbuf_ring_empty(&txq->txq_mr)) && err == 0) { if (cxgb_debug) printf("head=%p cons=%d prod=%d\n", txq->sendq.head, txq->txq_mr.mr_cons, @@ -653,13 +594,6 @@ continue; } done: - critical_enter(); - mbufq_append(&mbq, &txq->cleanq); - mbufq_init(&txq->cleanq); - critical_exit(); - while ((m = mbufq_dequeue(&mbq)) != NULL) - m_freem(m); - tsleep(qs, 1, "cxgbidle", sleep_ticks); } From owner-p4-projects@FreeBSD.ORG Mon Sep 24 21:51:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CF8416A473; Mon, 24 Sep 2007 21:51:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FFB016A46C for ; Mon, 24 Sep 2007 21:51:55 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1158C13C49D for ; Mon, 24 Sep 2007 21:51:55 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8OLpt6E024158 for ; Mon, 24 Sep 2007 21:51:55 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8OLpsJx024155 for perforce@freebsd.org; Mon, 24 Sep 2007 21:51:54 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Sep 2007 21:51:54 GMT Message-Id: <200709242151.l8OLpsJx024155@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126792 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 21:51:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=126792 Change 126792 by kmacy@kmacy_home:ethng on 2007/09/24 21:51:45 add stack utility functions for creating LIFO cache Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_osdep.h#9 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/cxgb_support.c#1 add Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_osdep.h#9 (text+ko) ==== @@ -100,7 +100,6 @@ return (m); } - static __inline struct mbuf * mbuf_ring_peek(struct mbuf_ring *mr) { @@ -118,6 +117,31 @@ return (m); } +struct buf_stack { + caddr_t *bs_stack; + volatile int bs_head; + int bs_size; +}; + +static __inline int +buf_push(struct buf_stack *bs, caddr_t buf) +{ + if (bs->bs_head + 1 >= bs->bs_size) + return (1); + + bs->bs_stack[++(bs->bs_head)] = buf; + return (0); +} + +static __inline caddr_t +buf_pop(struct buf_stack *bs) +{ + if (bs->bs_head < 0) + return (NULL); + + return (bs->bs_stack[(bs->bs_head)--]); +} + #define PANIC_IF(exp) do { \ if (exp) \ panic("BUG: %s", exp); \ From owner-p4-projects@FreeBSD.ORG Tue Sep 25 12:07:33 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76EAA16A468; Tue, 25 Sep 2007 12:07:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D82E16A419; Tue, 25 Sep 2007 12:07:33 +0000 (UTC) (envelope-from olli@fromme.com) Received: from haluter.fromme.com (haluter.fromme.com [83.120.8.11]) by mx1.freebsd.org (Postfix) with ESMTP id B05F813C461; Tue, 25 Sep 2007 12:07:32 +0000 (UTC) (envelope-from olli@fromme.com) Received: from haluter.fromme.com (irc_sucks@localhost [127.0.0.1]) by haluter.fromme.com (8.13.4/8.13.4) with ESMTP id l8PBWqLq040703; Tue, 25 Sep 2007 13:32:52 +0200 (CEST) (envelope-from olli@fromme.com) Received: (from olli@localhost) by haluter.fromme.com (8.13.4/8.12.9/Submit) id l8PBWhli040690; Tue, 25 Sep 2007 13:32:43 +0200 (CEST) From: Oliver Fromme Message-Id: <200709251132.l8PBWhli040690@haluter.fromme.com> To: cnst@freebsd.org (Constantine A. Murenin) Date: Tue, 25 Sep 2007 13:32:42 +0200 (CEST) In-Reply-To: <46F7FBC1.7080300@FreeBSD.org> from "Constantine A. Murenin" at Sep 24, 2007 02:02:41 PM X-Mailer: ELM [version 2.5 PL6] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.1.2 (haluter.fromme.com [127.0.0.1]); Tue, 25 Sep 2007 13:32:52 +0200 (CEST) Cc: "Constantine A. Murenin" , Perforce Change Reviews , Hans Petter Selasky , ticso@cicely.de Subject: Re: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2007 12:07:33 -0000 Constantine A. Murenin wrote: > Hans Petter Selasky wrote: > > Some things I have in mind: > > > > Automatic __FBSDID() at top of C-files. > > > > Automatic "static prototypes". > > > > Automatic comments before every C-function is defined. > > > > Automatic use of typedefs when declaring certain device method functions: > > > > static device_attach_t my_attach; > > > > Automatically reorder the code so that it follows generic device driver > > layout. > > Automatic renaming of function names like hid_get_descriptor_from_usb() > and usbreq_get_report_descriptor() into something less wordy. FWIW, I like those functions names. As far as I can tell, they do not violate style(9), and I can't think of a good reason why verbose names should be forbidden. Especially when I have to read parts of the kernel code which I'm not familiar with (happens sometimes), I really apreciate it if the name of a function clearly indicates what the function does, without having to wade through anouther screenful of unknown code ... Best regards Oliver -- Oliver Fromme, Bunsenstr. 13, 81735 Muenchen, Germany ``We are all but compressed light'' (Albert Einstein) From owner-p4-projects@FreeBSD.ORG Tue Sep 25 21:41:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA89816A469; Tue, 25 Sep 2007 21:41:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A349216A41A for ; Tue, 25 Sep 2007 21:41:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6B9F313C45B for ; Tue, 25 Sep 2007 21:41:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8PLfSbN002025 for ; Tue, 25 Sep 2007 21:41:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8PLfR9Z002022 for perforce@freebsd.org; Tue, 25 Sep 2007 21:41:27 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 25 Sep 2007 21:41:27 GMT Message-Id: <200709252141.l8PLfR9Z002022@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126804 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2007 21:41:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=126804 Change 126804 by hselasky@hselasky_laptop001 on 2007/09/25 21:41:18 Print out USB transfer status information per "ehci_non_isoc_done_sub()" call. Don't access index "xfer->nframes" of "xfer->frlengths[]". Add explicit check for this. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ehci.c#39 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#39 (text+ko) ==== @@ -1069,7 +1069,7 @@ return(last); } -static uint32_t +static usbd_status ehci_non_isoc_done_sub(struct usbd_xfer *xfer) { ehci_qtd_t *td; @@ -1100,7 +1100,7 @@ DPRINTFN(0, ("Invalid status length, " "0x%04x/0x%04x bytes\n", len, td->len)); status |= EHCI_QTD_HALTED; - } else { + } else if (xfer->aframes != xfer->nframes) { xfer->frlengths[xfer->aframes] -= len; } @@ -1155,7 +1155,24 @@ xfer->pipe->toggle_next = last_toggle; - return status; +#ifdef USB_DEBUG + if (status & EHCI_QTD_STATERRS) { + DPRINTFN(10, ("error, addr=%d, endpt=0x%02x, frame=0x%02x" + "status=%s%s%s%s%s%s%s%s\n", + xfer->address, xfer->endpoint, xfer->aframes, + (status & EHCI_QTD_ACTIVE) ? "[ACTIVE]" : "[NOT_ACTIVE]", + (status & EHCI_QTD_HALTED) ? "[HALTED]" : "", + (status & EHCI_QTD_BUFERR) ? "[BUFERR]" : "", + (status & EHCI_QTD_BABBLE) ? "[BABBLE]" : "", + (status & EHCI_QTD_XACTERR) ? "[XACTERR]" : "", + (status & EHCI_QTD_MISSEDMICRO) ? "[MISSED]" : "", + (status & EHCI_QTD_SPLITXSTATE) ? "[SPLIT]" : "", + (status & EHCI_QTD_PINGSTATE) ? "[PING]" : "")); + } +#endif + + return ((status & EHCI_QTD_HALTED) ? + USBD_STALLED : USBD_NORMAL_COMPLETION); } static void @@ -1164,7 +1181,7 @@ static void ehci_non_isoc_done(struct usbd_xfer *xfer) { - u_int32_t status = 0; + usbd_status err = 0; DPRINTFN(12, ("xfer=%p pipe=%p transfer done\n", xfer, xfer->pipe)); @@ -1182,7 +1199,7 @@ if (xfer->flags_int.control_xfr && xfer->flags_int.control_hdr) { - status = ehci_non_isoc_done_sub(xfer); + err = ehci_non_isoc_done_sub(xfer); xfer->aframes = 1; @@ -1196,7 +1213,7 @@ if ((!xfer->flags_int.control_xfr) || (xfer->frlengths[xfer->aframes] > 0)) { - status = ehci_non_isoc_done_sub(xfer); + err = ehci_non_isoc_done_sub(xfer); } xfer->aframes ++; @@ -1209,37 +1226,21 @@ if (xfer->flags_int.control_xfr && !xfer->flags_int.control_act) { - status = ehci_non_isoc_done_sub(xfer); + err = ehci_non_isoc_done_sub(xfer); } done: - -#ifdef USB_DEBUG - if (status & EHCI_QTD_STATERRS) { - DPRINTFN(10, - ("error, addr=%d, endpt=0x%02x, " - "status=%s%s%s%s%s%s%s%s\n", - xfer->address, - xfer->endpoint, - (status & EHCI_QTD_ACTIVE) ? "ACTIVE" : "NOT_ACTIVE", - (status & EHCI_QTD_HALTED) ? "-HALTED" : "", - (status & EHCI_QTD_BUFERR) ? "-BUFERR" : "", - (status & EHCI_QTD_BABBLE) ? "-BABBLE" : "", - (status & EHCI_QTD_XACTERR) ? "-XACTERR" : "", - (status & EHCI_QTD_MISSEDMICRO) ? "-MISSED" : "", - (status & EHCI_QTD_SPLITXSTATE) ? "-SPLIT" : "", - (status & EHCI_QTD_PINGSTATE) ? "-PING" : "")); - } -#endif - ehci_device_done(xfer, (status & EHCI_QTD_HALTED) ? - USBD_STALLED : - USBD_NORMAL_COMPLETION); + ehci_device_done(xfer, err); return; } -/* returns one when transfer is finished - * and callback must be called else zero - */ +/*------------------------------------------------------------------------* + * ehci_check_transfer + * + * Return values: + * 0: USB transfer is not finished + * Else: USB transfer is finished + *------------------------------------------------------------------------*/ static u_int8_t ehci_check_transfer(struct usbd_xfer *xfer, struct thread *ctd) { From owner-p4-projects@FreeBSD.ORG Tue Sep 25 22:19:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3AEF416A475; Tue, 25 Sep 2007 22:19:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0477D16A468 for ; Tue, 25 Sep 2007 22:19:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C9DE713C4AA for ; Tue, 25 Sep 2007 22:19:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8PMJHIK005349 for ; Tue, 25 Sep 2007 22:19:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8PMJH8W005346 for perforce@freebsd.org; Tue, 25 Sep 2007 22:19:17 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 25 Sep 2007 22:19:17 GMT Message-Id: <200709252219.l8PMJH8W005346@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126805 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2007 22:19:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=126805 Change 126805 by hselasky@hselasky_laptop001 on 2007/09/25 22:18:18 FYI: The comments follow the P4 diff from top to bottom. In general: Get the UHCI HC driver up to date with the latest USB API changes and factor out some functions to reduce the code size. Almost all changes follow the changes in change 126691. See there if you want more details. - define "alt_next" pointer like a macro, hence when it is used we are reusing an unused pointer, "td->next". Probably I will change this into a "union" in a separate patch. - "struct uhci_std_temp" reflects the "struct ehci_std_temp" and work in the same manner. - there is now only one fixup offset in the UHCI Transfer Descriptor to save memory. This leads to some changes in the code, like that we have to compute the other offset by algorithm. - new function "uhci_non_isoc_done_sub()" similar to "ehci_non_isoc_done_sub()". - "uhci_non_isoc_done()" has now the same structure as "ehci_non_isoc_done()". - new function "uhci_check_transfer_sub()" that will fixup the Data Toggle and queue the next USB frame when multi frame USB transfers are used, hence the UHCI hardware does not support this. - "uhci_setup_standard_chain_sub()" is almost identical to "ehci_setup_standard_chain_sub()". - "uhci_setup_standard_chain()" is almost identical to "ehci_setup_standard_chain()". - "usbd_transfer_done()" is now a part of "usbd_transfer_dequeue()". - substituted USBD_XXX by the corresponding bitfield. For example: flags & USBD_USE_POLLING -> flags.use_polling - the check for "(nframes == 0)" has been factored out into "usbd_start_hardware()". - use "token" field in UHCI Transfer Descriptor to decide if a USB transfer is read or write, instead of "xfer->endpoint". This is the case in "uhci_mem_layout_fixup()". The reason is that we don't have access to the "struct usbd_xfer *" any more. - UHCI root control and interrupt transfers now use the factored out "usbd_std_root_transfer()" system to transfer data to/from the USB transfer. - removed all "copy_in/copy_out" data bouncing stuff. - changes to "uhci_xfer_setup()" follow the changes to "ehci_xfer_setup()". See change 126691. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/uhci.c#31 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.h#11 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/uhci.c#31 (text+ko) ==== @@ -78,7 +78,7 @@ #include #include -#define MS_TO_TICKS(ms) (((ms) * hz) / 1000) +#define alt_next next #define UHCI_BUS2SC(bus) ((uhci_softc_t *)(((u_int8_t *)(bus)) - \ POINTER_TO_UNSIGNED(&(((uhci_softc_t *)0)->sc_bus)))) @@ -122,8 +122,6 @@ #define UHCI_INTR_ENDPT 1 -#define ADD_BYTES(ptr,size) ((void *)(((u_int8_t *)(ptr)) + (size))) - #define SC_HW_PHYSADDR(sc,what) \ ((sc)->sc_hw_page.physaddr + \ POINTER_TO_UNSIGNED(&(((struct uhci_hw_softc *)0)->what))) @@ -133,12 +131,27 @@ struct usbd_page_search buf_res; struct usbd_page_search fix_res; - struct usbd_xfer *xfer; + struct usbd_page_cache *buf_pc; + struct usbd_page_cache *fix_pc; uint32_t buf_offset; uint32_t fix_offset; - uint8_t isread; + uint16_t max_frame_size; +}; + +struct uhci_std_temp { + + struct uhci_mem_layout ml; + uhci_td_t *td; + uhci_td_t *td_next; + uint32_t average; + uint32_t td_status; + uint32_t td_token; + uint32_t len; + uint16_t max_frame_size; + uint8_t shortpkt; + uint8_t setup_alt_next; }; extern struct usbd_bus_methods uhci_bus_methods; @@ -156,140 +169,88 @@ static void uhci_mem_layout_init(struct uhci_mem_layout *ml, struct usbd_xfer *xfer) { + ml->buf_pc = xfer->frbuffers + 0; + ml->fix_pc = &(xfer->buf_fixup); + ml->buf_offset = 0; - usbd_get_page(&(xfer->buf_data), ml->buf_offset, &(ml->buf_res)); - ml->fix_offset = 0; - usbd_get_page(&(xfer->buf_fixup), ml->fix_offset, &(ml->fix_res)); - ml->isread = 0; /* write */ + ml->max_frame_size = xfer->max_frame_size; - ml->xfer = xfer; /* save a push */ return; } static void -uhci_mem_layout_fit(struct uhci_mem_layout *ml, struct uhci_td *td, uint16_t len) +uhci_mem_layout_fixup(struct uhci_mem_layout *ml, struct uhci_td *td) { - struct usbd_page_search tmp_res; - struct usbd_xfer *xfer = ml->xfer; + usbd_get_page(ml->buf_pc, ml->buf_offset, &(ml->buf_res)); + + if (ml->buf_res.length < td->len) { + + while (1) { + + /* need to do a fixup */ - if (ml->buf_res.length < len) { + usbd_get_page(ml->fix_pc, ml->fix_offset, &(ml->fix_res)); - /* need to do a fixup */ + /* check if there is room for the current transfer */ - if (ml->fix_res.length < len) { + if (ml->fix_res.length >= td->len) { + break; + } - /* need to do a sub-fixup */ + /* need to do a sub-fixup (goto next page) */ ml->fix_offset += ml->fix_res.length; - usbd_get_page(&(xfer->buf_fixup), ml->fix_offset, &(ml->fix_res)); } td->td_buffer = htole32(ml->fix_res.physaddr); - if (!ml->isread) { + /* + * The UHCI driver cannot handle + * page crossings, so a fixup is + * needed: + * + * +----+----+ - - - + * | YYY|Y | + * +----+----+ - - - + * \ \ + * \ \ + * +----+ + * |YYYY| (fixup) + * +----+ + */ - /* - * The UHCI driver cannot handle - * page crossings, so a fixup is - * needed: - * - * +----+----+ - - - - * | YYY|Y | - * +----+----+ - - - - * \ \ - * \ \ - * +----+ - * |YYYY| (fixup) - * +----+ - */ + if ((td->td_token & htole32(UHCI_TD_PID)) == + htole32(UHCI_TD_PID_IN)) { + td->fix_offset = ml->fix_offset; + } else { + td->fix_offset = UHCI_FIX_OFFSET_NONE; - /* no copy back needed: */ - - td->fixup_dst_offset = 0xffffffff; - td->fixup_src_offset = 0xffffffff; + /* copy data to fixup location */ - usbd_get_page(&(xfer->buf_data), ml->buf_offset + - ml->buf_res.length, &tmp_res); - - /* copy first data part to fixup location */ - usbd_page_dma_exit(ml->fix_res.page); - usbd_page_dma_exit(ml->buf_res.page); - bcopy(ml->buf_res.buffer, ml->fix_res.buffer, ml->buf_res.length); - usbd_page_dma_enter(ml->buf_res.page); + usbd_copy_out(ml->buf_pc, ml->buf_offset, + ml->fix_res.buffer, td->len); - /* copy second data part to fixup location */ - - usbd_page_dma_exit(tmp_res.page); - bcopy(tmp_res.buffer, ADD_BYTES(ml->fix_res.buffer, - ml->buf_res.length), - len - ml->buf_res.length); - usbd_page_dma_enter(tmp_res.page); - usbd_page_dma_enter(ml->fix_res.page); - - } else { - td->fixup_dst_offset = ml->buf_offset; - td->fixup_src_offset = ml->fix_offset; } /* prepare next fixup */ - ml->fix_offset += xfer->max_frame_size; - usbd_get_page(&(xfer->buf_fixup), ml->fix_offset, &(ml->fix_res)); + + ml->fix_offset += ml->max_frame_size; } else { + td->td_buffer = htole32(ml->buf_res.physaddr); - td->fixup_dst_offset = 0xffffffff; - td->fixup_src_offset = 0xffffffff; + td->fix_offset = UHCI_FIX_OFFSET_NONE; } /* prepare next data location */ - ml->buf_offset += len; - usbd_get_page(&(xfer->buf_data), ml->buf_offset, &(ml->buf_res)); - return; -} + ml->buf_offset += td->len; -static void -uhci_mem_layout_do_fixup(struct usbd_xfer *xfer, struct uhci_td *td, uint16_t len) -{ - struct usbd_page_search buf_res; - struct usbd_page_search fix_res; - u_int16_t temp; - - usbd_get_page(&(xfer->buf_data), td->fixup_dst_offset, &buf_res); - usbd_get_page(&(xfer->buf_fixup), td->fixup_src_offset, &fix_res); - - temp = min(buf_res.length, len); - - usbd_page_dma_exit(fix_res.page); - - usbd_page_dma_exit(buf_res.page); - bcopy(fix_res.buffer, buf_res.buffer, temp); - usbd_page_dma_enter(buf_res.page); - - len -= temp; - - if (len) { - usbd_get_page(&(xfer->buf_data), - td->fixup_dst_offset + temp, &buf_res); - - if (len > buf_res.length) { - /* overflow protection - should not happen */ - len = buf_res.length; - } - - usbd_page_dma_exit(buf_res.page); - bcopy(ADD_BYTES(fix_res.buffer, temp), - buf_res.buffer, len); - usbd_page_dma_enter(buf_res.page); - } - - usbd_page_dma_enter(fix_res.page); - return; } @@ -1038,10 +999,11 @@ static u_int8_t uhci_isoc_done(uhci_softc_t *sc, struct usbd_xfer *xfer) { + struct usbd_page_search res; u_int32_t nframes = xfer->nframes; - u_int32_t actlen = 0; uint32_t status; - u_int16_t *plen = xfer->frlengths; + uint32_t offset = 0; + uint32_t *plen = xfer->frlengths; u_int16_t len = 0; u_int8_t need_delay = 0; uhci_td_t *td = xfer->td_transfer_first; @@ -1086,13 +1048,24 @@ len = *plen; } - *plen = len; - actlen += len; + if (td->fix_offset != UHCI_FIX_OFFSET_NONE) { + + usbd_get_page(&(xfer->buf_fixup), td->fix_offset, &res); + + /* copy data from fixup location to real location */ + + usbd_page_dma_exit(res.page); + + usbd_copy_in(xfer->frbuffers + 0, offset, + res.buffer, len); - if (td->fixup_src_offset != 0xffffffff) { - uhci_mem_layout_do_fixup(xfer, td, len); + usbd_page_dma_enter(res.page); } + offset += *plen; + + *plen = len; + /* remove TD from schedule */ UHCI_REMOVE_TD(td, *pp_last); @@ -1100,98 +1073,256 @@ plen++; td = td->obj_next; } - xfer->actlen = actlen; + + xfer->aframes = xfer->nframes; return need_delay; } +static usbd_status +uhci_non_isoc_done_sub(struct usbd_xfer *xfer) +{ + struct usbd_page_search res; + uhci_td_t *td; + uhci_td_t *td_alt_next; + uint32_t status; + uint32_t token; + uint16_t len; + + td = xfer->td_transfer_cache; + td_alt_next = td->alt_next; + status = UHCI_TD_STALLED; + token = 0; + + if (xfer->aframes != xfer->nframes) { + xfer->frlengths[xfer->aframes] = 0; + } + + while (1) { + + usbd_page_dma_exit(td->page); + status = le32toh(td->td_status); + token = le32toh(td->td_token); + usbd_page_dma_enter(td->page); + + /* + * Verify the status and add + * up the actual length: + */ + + len = UHCI_TD_GET_ACTLEN(status); + if (len > td->len) { + /* should not happen */ + DPRINTFN(0, ("Invalid status length, " + "0x%04x/0x%04x bytes\n", len, td->len)); + status |= UHCI_TD_STALLED; + + } else if ((xfer->aframes != xfer->nframes) && (len > 0)) { + + if (td->fix_offset != UHCI_FIX_OFFSET_NONE) { + + usbd_get_page(&(xfer->buf_fixup), td->fix_offset, &res); + + /* copy data from fixup location to real location */ + + usbd_page_dma_exit(res.page); + + usbd_copy_in(xfer->frbuffers + xfer->aframes, + xfer->frlengths[xfer->aframes], res.buffer, len); + + usbd_page_dma_enter(res.page); + } + + /* update actual length */ + + xfer->frlengths[xfer->aframes] += len; + } + + /* Check for last transfer */ + if (((void *)td) == xfer->td_transfer_last) { + td = NULL; + break; + } + + if (status & UHCI_TD_STALLED) { + break; + } + + /* Check for short transfer */ + if (len != td->len) { + if (xfer->flags_int.short_frames_ok) { + /* follow alt next */ + td = td->alt_next; + } else { + /* the transfer is finished */ + td = NULL; + } + break; + } + + td = td->obj_next; + + if (td->alt_next != td_alt_next) { + /* this USB frame is complete */ + break; + } + } + + /* update transfer cache */ + + xfer->td_transfer_cache = td; + + /* update data toggle */ + + xfer->pipe->toggle_next = (token & UHCI_TD_SET_DT(1)) ? 0 : 1; + +#ifdef USB_DEBUG + if (status & UHCI_TD_ERROR) { + DPRINTFN(10, ("error, addr=%d, endpt=0x%02x, frame=0x%02x " + "status=%s%s%s%s%s%s%s%s%s%s%s\n", + xfer->address, xfer->endpoint, xfer->aframes, + (status & UHCI_TD_BITSTUFF) ? "[BITSTUFF]" : "", + (status & UHCI_TD_CRCTO) ? "[CRCTO]" : "", + (status & UHCI_TD_NAK) ? "[NAK]" : "", + (status & UHCI_TD_BABBLE) ? "[BABBLE]" : "", + (status & UHCI_TD_DBUFFER) ? "[DBUFFER]" : "", + (status & UHCI_TD_STALLED) ? "[STALLED]" : "", + (status & UHCI_TD_ACTIVE) ? "[ACTIVE]" : "[NOT_ACTIVE]", + (status & UHCI_TD_IOC) ? "[IOC]" : "", + (status & UHCI_TD_IOS) ? "[IOS]" : "", + (status & UHCI_TD_LS) ? "[LS]" : "", + (status & UHCI_TD_SPD) ? "[SPD]" : "")); + } +#endif + return (status & UHCI_TD_STALLED) ? + USBD_STALLED : USBD_NORMAL_COMPLETION; +} + + static void uhci_non_isoc_done(struct usbd_xfer *xfer) { - uint32_t status = 0; - uint32_t token = 0; - uint32_t actlen = 0; - uint16_t len; - uhci_td_t *td = xfer->td_transfer_first; + usbd_status err = 0; DPRINTFN(12, ("xfer=%p pipe=%p transfer done\n", xfer, xfer->pipe)); #ifdef USB_DEBUG - if(uhcidebug > 10) - { - uhci_dump_tds(td); + if (uhcidebug > 10) { + uhci_dump_tds(xfer->td_transfer_first); } #endif - /* the transfer is done, compute actual length and status */ - for (; - td != NULL; - td = td->obj_next) - { - usbd_page_dma_exit(td->page); - status = le32toh(td->td_status); - token = le32toh(td->td_token); - usbd_page_dma_enter(td->page); + /* reset scanner */ + + xfer->td_transfer_cache = xfer->td_transfer_first; + + if (xfer->flags_int.control_xfr && + xfer->flags_int.control_hdr) { + + err = uhci_non_isoc_done_sub(xfer); + + xfer->aframes = 1; + + if (xfer->td_transfer_cache == NULL) { + goto done; + } + } + + while (xfer->aframes != xfer->nframes) { - if (status & (UHCI_TD_ACTIVE|UHCI_TD_STALLED)) { - break; - } + if ((!xfer->flags_int.control_xfr) || + (xfer->frlengths[xfer->aframes] > 0)) { - len = UHCI_TD_GET_ACTLEN(status); - actlen += len; + err = uhci_non_isoc_done_sub(xfer); + } - if (td->fixup_src_offset != 0xffffffff) { - uhci_mem_layout_do_fixup(xfer, td, len); - } + xfer->aframes ++; - if (((void *)td) == xfer->td_transfer_last) { - td = NULL; - break; - } + if (xfer->td_transfer_cache == NULL) { + goto done; + } } - /* if there are left over TDs - * the toggle needs to be updated - */ - if(td != NULL) - { - xfer->pipe->toggle_next = (token & UHCI_TD_SET_DT(1)) ? 1 : 0; + if (xfer->flags_int.control_xfr && + !xfer->flags_int.control_act) { + + err = uhci_non_isoc_done_sub(xfer); } - DPRINTFN(10, ("actlen=%d\n", actlen)); + done: + uhci_device_done(xfer, err); + return; +} + +/*------------------------------------------------------------------------* + * uhci_check_transfer_sub + * + * The main purpose of this function is to update the data-toggle + * in case it is wrong. + *------------------------------------------------------------------------*/ +static void +uhci_check_transfer_sub(struct usbd_xfer *xfer) +{ + uhci_qh_t *qh; + uhci_td_t *td; + uhci_td_t *td_alt_next; + + uint32_t td_token; + uint32_t td_self; + + td = xfer->td_transfer_cache; + qh = xfer->qh_start; + + td_token = td->obj_next->td_token; + td = td->alt_next; + xfer->td_transfer_cache = td; + td_self = td->td_self; + td_alt_next = td->alt_next; + + if ((td->td_token ^ td_token) & htole32(UHCI_TD_SET_DT(1))) { + + /* + * The data toggle is wrong and + * we need to switch it ! + */ + + while (1) { + + usbd_page_dma_exit(td->page); + td->td_token ^= htole32(UHCI_TD_SET_DT(1)); + usbd_page_dma_enter(td->page); + + if (td == xfer->td_transfer_last) { + /* last transfer */ + break; + } - xfer->actlen = actlen; + td = td->obj_next; -#ifdef USB_DEBUG - if (status & UHCI_TD_ERROR) { - DPRINTFN(10, - ("error, addr=%d, endpt=0x%02x, " - "status=%s%s%s%s%s%s%s%s%s%s%s\n", - xfer->address, - xfer->endpoint, - (status & UHCI_TD_BITSTUFF) ? "-BITSTUFF" : "", - (status & UHCI_TD_CRCTO) ? "-CRCTO" : "", - (status & UHCI_TD_NAK) ? "-NAK" : "", - (status & UHCI_TD_BABBLE) ? "-BABBLE" : "", - (status & UHCI_TD_DBUFFER) ? "-DBUFFER" : "", - (status & UHCI_TD_STALLED) ? "-STALLED" : "", - (status & UHCI_TD_ACTIVE) ? "-ACTIVE" : "", - (status & UHCI_TD_IOC) ? "-IOC" : "", - (status & UHCI_TD_IOS) ? "-IOS" : "", - (status & UHCI_TD_LS) ? "-LS" : "", - (status & UHCI_TD_SPD) ? "-SPD" : "")); + if (td->alt_next != td_alt_next) { + /* next frame */ + break; + } + } } -#endif - uhci_device_done(xfer, (status & UHCI_TD_STALLED) ? - USBD_STALLED : - USBD_NORMAL_COMPLETION); + + /* update the QH */ + usbd_page_dma_exit(qh->page); + qh->qh_e_next = td_self; + usbd_page_dma_enter(qh->page); + + DPRINTFN(12, ("xfer=%p following alt next\n", xfer)); return; } -/* returns one when transfer is finished - * and callback must be called; else zero - */ +/*------------------------------------------------------------------------* + * uhci_check_transfer + * + * Return values: + * 0: USB transfer is not finished + * Else: USB transfer is finished + *------------------------------------------------------------------------*/ static u_int8_t uhci_check_transfer(struct usbd_xfer *xfer, struct thread *ctd) { @@ -1233,15 +1364,12 @@ * in the middle, or whether there was a short * packet (SPD and not ACTIVE) */ - for(td = xfer->td_transfer_cache; - td != NULL; - td = td->obj_next) - { + td = xfer->td_transfer_cache; + + while (1) { usbd_page_dma_exit(td->page); - status = le32toh(td->td_status); token = le32toh(td->td_token); - usbd_page_dma_enter(td->page); /* if there is an active TD @@ -1253,6 +1381,13 @@ goto done; } + /* last transfer descriptor makes + * the transfer done + */ + if (((void *)td) == xfer->td_transfer_last) { + break; + } + /* any kind of error makes * the transfer done */ @@ -1260,19 +1395,28 @@ break; } - /* a short packet also makes - * the transfer done + /* + * check if we reached the last packet + * or if there is a short packet: */ - if ((status & UHCI_TD_SPD) && - (UHCI_TD_GET_ACTLEN(status) < - UHCI_TD_GET_MAXLEN(token))) { + if ((td->td_next == htole32(UHCI_PTR_T)) || + (UHCI_TD_GET_ACTLEN(status) < td->len)) { + + if (xfer->flags_int.short_frames_ok) { + /* follow alt next */ + if (td->alt_next) { + /* update cache */ + xfer->td_transfer_cache = td; + uhci_check_transfer_sub(xfer); + goto done; + } + } + + /* transfer is done */ break; } - if (((void *)td) == xfer->td_transfer_last) { - td = NULL; - break; - } + td = td->obj_next; } uhci_non_isoc_done(xfer); goto transferred; @@ -1509,221 +1653,297 @@ return; } -static uhci_td_t * -uhci_setup_standard_chain(struct usbd_xfer *xfer) +static void +uhci_setup_standard_chain_sub(struct uhci_std_temp *temp) { - struct uhci_mem_layout ml; - u_int32_t td_status; - u_int32_t td_token; - u_int32_t average = xfer->max_packet_size; - u_int32_t len; - u_int8_t isread; - u_int8_t shortpkt = 0; - u_int8_t force_short; uhci_td_t *td; - uhci_td_t *td_last = NULL; + uhci_td_t *td_next; + uhci_td_t *td_alt_next; + uint32_t average; + uint32_t len_old; + uint8_t shortpkt_old; + uint8_t precompute; + + td_alt_next = NULL; + shortpkt_old = temp->shortpkt; + len_old = temp->len; + precompute = 1; + + if ((temp->td_token & htole32(UHCI_TD_PID)) == htole32(UHCI_TD_PID_IN)) { + temp->td_status |= htole32(UHCI_TD_SPD); + } else { + temp->td_status &= ~htole32(UHCI_TD_SPD); + } + + temp->ml.buf_offset = 0; + + restart: + + temp->td_token &= ~htole32(UHCI_TD_SET_MAXLEN(0)); + temp->td_token |= htole32(UHCI_TD_SET_MAXLEN(temp->average)); + + td = temp->td; + td_next = temp->td_next; + + while (1) { + + if (temp->len == 0) { + + if (temp->shortpkt) { + break; + } + + /* send a Zero Length Packet, ZLP, last */ + + temp->shortpkt = 1; + temp->td_token |= htole32(UHCI_TD_SET_MAXLEN(0)); + average = 0; + + } else { + + average = temp->average; + + if (temp->len < average) { + temp->shortpkt = 1; + temp->td_token &= ~htole32(UHCI_TD_SET_MAXLEN(0)); + temp->td_token |= htole32(UHCI_TD_SET_MAXLEN(temp->len)); + average = temp->len; + } + } + + if (td_next == NULL) { + panic("%s: out of UHCI transfer descriptors!", __FUNCTION__); + } + + /* get next TD */ + + td = td_next; + td_next = td->obj_next; + + /* check if we are pre-computing */ + + if (precompute) { - DPRINTFN(8, ("addr=%d endpt=%d len=%d speed=%d\n", - xfer->address, UE_GET_ADDR(xfer->endpoint), - xfer->length, xfer->udev->speed)); + /* update remaining length */ - td = (xfer->td_transfer_first = - xfer->td_transfer_cache = xfer->td_start); + temp->len -= average; - uhci_mem_layout_init(&ml, xfer); + continue; + } - td_status = htole32(UHCI_TD_ZERO_ACTLEN(UHCI_TD_SET_ERRCNT(3)| - UHCI_TD_ACTIVE)); + usbd_page_dma_exit(td->page); - if(xfer->udev->speed == USB_SPEED_LOW) - { - td_status |= htole32(UHCI_TD_LS); - } + /* fill out current TD */ - if(xfer->flags & USBD_SHORT_XFER_OK) - { - /* set UHCI_TD_SPD */ - td_status |= htole32(UHCI_TD_SPD); - } + td->td_status = temp->td_status; + td->td_token = temp->td_token; - force_short = (xfer->flags & USBD_FORCE_SHORT_XFER) ? 1 : 0; + /* update data toggle */ - len = xfer->length; + temp->td_token ^= htole32(UHCI_TD_SET_DT(1)); - if(xfer->pipe->methods == &uhci_device_ctrl_methods) - { - isread = xfer->control_isread; + if (average == 0) { - if (xfer->flags & USBD_DEV_CONTROL_HEADER) { + td->len = 0; + td->td_buffer = 0; + td->fix_offset = UHCI_FIX_OFFSET_NONE; - xfer->pipe->toggle_next = 1; + } else { - /* SETUP message */ + /* update remaining length */ - usbd_page_dma_exit(td->page); + temp->len -= average; - td->td_status = td_status & htole32(~UHCI_TD_SPD); - td_token = - (UHCI_TD_SET_ENDPT(xfer->endpoint) | - UHCI_TD_SET_DEVADDR(xfer->address) | - UHCI_TD_SET_MAXLEN(sizeof(usb_device_request_t)) | - UHCI_TD_PID_SETUP| - UHCI_TD_SET_DT(0)); - td->td_token = htole32(td_token); + td->len = average; - uhci_mem_layout_fit(&ml, td, sizeof(usb_device_request_t)); + /* fill out buffer pointer and do fixup, if any */ - len -= sizeof(usb_device_request_t); - td_last = td; - td = td->obj_next; + uhci_mem_layout_fixup(&(temp->ml), td); + } - if (td) { - /* link the last TD with the next one */ - td_last->td_next = td->td_self; - } + td->alt_next = td_alt_next; - usbd_page_dma_enter(td_last->page); + if ((td_next == td_alt_next) && temp->setup_alt_next) { + /* we need to receive these frames one by one ! */ + td->td_status |= htole32(UHCI_TD_IOC); + td->td_next = htole32(UHCI_PTR_T); } else { - if (len == 0) { - /* When the length is zero we - * queue a short packet! - * This also makes "td_last" - * non-zero. - */ - DPRINTFN(0, ("short transfer!\n")); - force_short = 1; + if (td_next) { + /* link the current TD with the next one */ + td->td_next = td_next->td_self; } } + + usbd_page_dma_enter(td->page); + } + + if (precompute) { + precompute = 0; + + /* store alt next pointer */ + td_alt_next = td_next; + + /* restore */ + temp->shortpkt = shortpkt_old; + temp->len = len_old; + goto restart; + } + + temp->td = td; + temp->td_next = td_next; + + return; +} + +static uhci_td_t * +uhci_setup_standard_chain(struct usbd_xfer *xfer) +{ + struct uhci_std_temp temp; + uhci_td_t *td; + uint32_t x; + + DPRINTFN(8, ("addr=%d endpt=%d sumlen=%d speed=%d\n", + xfer->address, UE_GET_ADDR(xfer->endpoint), + xfer->sumlen, usbd_get_speed(xfer->udev))); + + temp.average = xfer->max_frame_size; + temp.max_frame_size = xfer->max_frame_size; + + xfer->td_transfer_first = xfer->td_start; + xfer->td_transfer_cache = xfer->td_start; + + temp.td = NULL; + temp.td_next = xfer->td_start; + temp.setup_alt_next = xfer->flags_int.short_frames_ok; + + uhci_mem_layout_init(&(temp.ml), xfer); + + temp.td_status = + htole32(UHCI_TD_ZERO_ACTLEN(UHCI_TD_SET_ERRCNT(3)| + UHCI_TD_ACTIVE)); + + if (xfer->udev->speed == USB_SPEED_LOW) { + temp.td_status |= htole32(UHCI_TD_LS); } - else - { - isread = (UE_GET_DIR(xfer->endpoint) == UE_DIR_IN); + + temp.td_token = + htole32(UHCI_TD_SET_ENDPT(xfer->endpoint) | + UHCI_TD_SET_DEVADDR(xfer->address)); - if (len == 0) { - /* When the length is zero we - * queue a short packet! - * This also makes "td_last" - * non-zero. - */ - DPRINTFN(0, ("short transfer!\n")); - force_short = 1; - } + if (xfer->pipe->toggle_next) { + /* DATA1 is next */ + temp.td_token |= htole32(UHCI_TD_SET_DT(1)); } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Sep 25 23:49:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D629D16A41A; Tue, 25 Sep 2007 23:49:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8933916A419; Tue, 25 Sep 2007 23:49:58 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from mojo.ru (mojo.ru [84.252.152.63]) by mx1.freebsd.org (Postfix) with ESMTP id EB55113C44B; Tue, 25 Sep 2007 23:49:57 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from [192.168.0.16] (nc-76-4-28-21.dhcp.embarqhsd.net [76.4.28.21]) (authenticated bits=0) by mojo.ru (8.12.11.20060308/8.12.10) with ESMTP id l8PNo05b016735 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 26 Sep 2007 03:50:06 +0400 Message-ID: <46F99E8F.2090505@FreeBSD.org> Date: Tue, 25 Sep 2007 19:49:35 -0400 From: "Constantine A. Murenin" Organization: Google Summer of Code 2007 Student @ The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-gb, en-gb-oed, en, en-us, ru, ru-ru, ru-su MIME-Version: 1.0 To: Oliver Fromme References: <200709251132.l8PBWhli040690@haluter.fromme.com> In-Reply-To: <200709251132.l8PBWhli040690@haluter.fromme.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , "Constantine A. Murenin" , Hans Petter Selasky , ticso@cicely.de Subject: Re: PERFORCE change 126745 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2007 23:49:59 -0000 On 25/09/2007 07:32, Oliver Fromme wrote: > Constantine A. Murenin wrote: > > Hans Petter Selasky wrote: > > > Some things I have in mind: > > > > > > Automatic __FBSDID() at top of C-files. > > > > > > Automatic "static prototypes". > > > > > > Automatic comments before every C-function is defined. > > > > > > Automatic use of typedefs when declaring certain device method functions: > > > > > > static device_attach_t my_attach; > > > > > > Automatically reorder the code so that it follows generic device driver > > > layout. > > > > Automatic renaming of function names like hid_get_descriptor_from_usb() > > and usbreq_get_report_descriptor() into something less wordy. > > FWIW, I like those functions names. As far as I can tell, > they do not violate style(9), and I can't think of a good > reason why verbose names should be forbidden. They do -- take a look how calls to these functions were made in the original diff. Now try to bring those calls to KNF -- good luck. :) > Especially when I have to read parts of the kernel code > which I'm not familiar with (happens sometimes), I really > apreciate it if the name of a function clearly indicates > what the function does, without having to wade through > anouther screenful of unknown code ... You are mistaking the role of documentation and function contracts with function names. All non-local functions should have manual pages; abusing function names does not bring you on the road to clarity. Granted, in the original development it may be easier to use wordy names, but IMHO these names should be normalised shortly after the main development phase of the project is completed. This is C after all, not Java. :-) C. From owner-p4-projects@FreeBSD.ORG Wed Sep 26 00:39:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C456316A419; Wed, 26 Sep 2007 00:39:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 871D816A417 for ; Wed, 26 Sep 2007 00:39:19 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6472B13C457 for ; Wed, 26 Sep 2007 00:39:19 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8Q0dJv8015875 for ; Wed, 26 Sep 2007 00:39:19 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8Q0dJKv015872 for perforce@freebsd.org; Wed, 26 Sep 2007 00:39:19 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 26 Sep 2007 00:39:19 GMT Message-Id: <200709260039.l8Q0dJKv015872@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126810 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 00:39:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=126810 Change 126810 by kmacy@kmacy_home:ethng_ref on 2007/09/26 00:38:43 don't re-initialize m->m_pkthdr.len, it isn't needed and corrupts mbuf data on non-pkthdr mbufs Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#5 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#5 (text+ko) ==== @@ -221,10 +221,9 @@ for (i = 0; i < seg_count; i++) { marray[i]->m_next = marray[i]->m_nextpkt = NULL; if (marray[i]->m_flags & M_EXT) { - marray[i]->m_flags = marray[i]->m_len = marray[i]->m_pkthdr.len = 0; + marray[i]->m_flags = 0; m_free(marray[i]); - } else - marray[i]->m_len = marray[i]->m_pkthdr.len = 0; + } } *nsegs = seg_count; *m = m0; From owner-p4-projects@FreeBSD.ORG Wed Sep 26 05:14:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78FA216A469; Wed, 26 Sep 2007 05:14:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1205A16A421 for ; Wed, 26 Sep 2007 05:14:19 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0406213C4B7 for ; Wed, 26 Sep 2007 05:14:19 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8Q5EIOO057701 for ; Wed, 26 Sep 2007 05:14:18 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8Q5EI8E057698 for perforce@freebsd.org; Wed, 26 Sep 2007 05:14:18 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 26 Sep 2007 05:14:18 GMT Message-Id: <200709260514.l8Q5EI8E057698@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126814 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 05:14:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=126814 Change 126814 by kmacy@kmacy_home:ethng on 2007/09/26 05:13:17 make sure that the cluster reference is fetched from the right zone Affected files ... .. //depot/projects/ethng/src/sys/sys/mbuf.h#7 edit Differences ... ==== //depot/projects/ethng/src/sys/sys/mbuf.h#7 (text+ko) ==== @@ -80,7 +80,7 @@ ("Unexpected mbuf type has lazy refcnt %d", \ (m)->m_ext.ext_type)); \ (m)->m_ext.ref_cnt = (u_int *)uma_find_refcnt( \ - zone_clust, (m)->m_ext.ext_buf); \ + m_getzone((m)->m_ext.ext_size), (m)->m_ext.ext_buf); \ *((m)->m_ext.ref_cnt) = 2; \ } else \ atomic_add_int((m)->m_ext.ref_cnt, 1); \ From owner-p4-projects@FreeBSD.ORG Wed Sep 26 05:15:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4647F16A469; Wed, 26 Sep 2007 05:15:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E714116A421 for ; Wed, 26 Sep 2007 05:15:20 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D7E7413C469 for ; Wed, 26 Sep 2007 05:15:20 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8Q5FKHw057768 for ; Wed, 26 Sep 2007 05:15:20 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8Q5FK4I057765 for perforce@freebsd.org; Wed, 26 Sep 2007 05:15:20 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 26 Sep 2007 05:15:20 GMT Message-Id: <200709260515.l8Q5FK4I057765@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126815 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 05:15:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=126815 Change 126815 by kmacy@kmacy_home:ethng on 2007/09/26 05:14:21 add rudimentary cluster cache move buf_stack functions to cxgb_support.c Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_osdep.h#10 edit .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#24 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/cxgb_support.c#2 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#6 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#6 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_osdep.h#10 (text+ko) ==== @@ -117,37 +117,11 @@ return (m); } -struct buf_stack { - caddr_t *bs_stack; - volatile int bs_head; - int bs_size; -}; - -static __inline int -buf_push(struct buf_stack *bs, caddr_t buf) -{ - if (bs->bs_head + 1 >= bs->bs_size) - return (1); - - bs->bs_stack[++(bs->bs_head)] = buf; - return (0); -} - -static __inline caddr_t -buf_pop(struct buf_stack *bs) -{ - if (bs->bs_head < 0) - return (NULL); - - return (bs->bs_stack[(bs->bs_head)--]); -} - #define PANIC_IF(exp) do { \ if (exp) \ panic("BUG: %s", exp); \ } while (0) - #define m_get_priority(m) ((uintptr_t)(m)->m_pkthdr.rcvif) #define m_set_priority(m, pri) ((m)->m_pkthdr.rcvif = (struct ifnet *)((uintptr_t)pri)) ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#24 (text+ko) ==== @@ -550,7 +550,7 @@ /* * We only allocate a cluster, mbuf allocation happens after rx */ - if ((cl = m_cljget(NULL, M_DONTWAIT, q->zone)) == NULL) { + if ((cl = cxgb_cache_get(q->zone)) == NULL) { log(LOG_WARNING, "Failed to allocate cluster\n"); goto done; } @@ -830,6 +830,7 @@ callout_reset(&sc->sge_timer_ch, TX_RECLAIM_PERIOD, sge_timer_cb, sc); TASK_INIT(&sc->slow_intr_task, 0, sge_slow_intr_handler, sc); mi_init(); + cxgb_cache_init(); return (0); } @@ -1113,7 +1114,6 @@ sgp->len[idx] = htobe32(segs[i].ds_len); sgp->addr[idx] = htobe64(segs[i].ds_addr); - idx ^= 1; } @@ -1162,8 +1162,6 @@ #endif } - - /** * write_wr_hdr_sgl - write a WR header and, optionally, SGL * @ndesc: number of Tx descriptors spanned by the SGL @@ -1181,7 +1179,6 @@ * and we just need to write the WR header. Otherwise we distribute the * SGL across the number of descriptors it spans. */ - static void write_wr_hdr_sgl(unsigned int ndesc, struct tx_desc *txd, struct txq_state *txqs, const struct sge_txq *txq, const struct sg_ent *sgl, unsigned int flits, @@ -1253,8 +1250,20 @@ static void dump_mi(struct mbuf_iovec *mi) { - DPRINTF("mi_flags=0x%08x mi_data=%p mi_len=%d mi_type=%d\n", + int i; + struct mbuf_vec *mv; + + printf("mi_flags=0x%08x mi_data=%p mi_len=%d mi_type=%d\n", mi->mi_flags, mi->mi_base + mi->mi_offset, mi->mi_len, mi->mi_type); + + if (mi->mi_type == EXT_CLIOVEC || + mi->mi_type == EXT_IOVEC) { + mv = mtomv((struct mbuf *)mi->mi_base); + mi = mv->mv_vec; + for (i = 0; i < mv->mv_count; i++, mi++) + dump_mi(mi); + + } } /* sizeof(*eh) + sizeof(*vhdr) + sizeof(*ip) + sizeof(*tcp) */ @@ -1340,7 +1349,6 @@ txsd->mi.mi_len = m0->m_pkthdr.len; } mi = &txsd->mi; - dump_mi(&txsd->mi); if (count > 1) { struct cpl_tx_pkt_batch *cpl_batch = (struct cpl_tx_pkt_batch *)txd; @@ -1378,7 +1386,12 @@ struct cpl_tx_pkt_lso *hdr = (struct cpl_tx_pkt_lso *)txd; struct ip *ip; struct tcphdr *tcp; - char *pkthdr; + char *pkthdr, tmp[TCPPKTHDRSIZE]; + struct mbuf_vec *mv; + struct mbuf_iovec *tmpmi; + + mv = mtomv(m0); + tmpmi = mv->mv_vec; txd->flit[2] = 0; GET_VTAG_MI(cntrl, mi); @@ -1388,17 +1401,14 @@ hdr->len = htonl(mlen | 0x80000000); DPRINTF("tso buf len=%d\n", mlen); - if (__predict_false(mi->mi_len < TCPPKTHDRSIZE)) { - /* - * XXX - * - */ - pkthdr = NULL; + if (__predict_false(tmpmi->mi_len < TCPPKTHDRSIZE)) { + pkthdr = tmp; + dump_mi(mi); panic("discontig packet - fixxorz"); } else pkthdr = m0->m_data; - if (__predict_false(mi->mi_flags & M_VLANTAG)) { + if (__predict_false(m0->m_flags & M_VLANTAG)) { eth_type = CPL_ETH_II_VLAN; ip = (struct ip *)(pkthdr + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN); @@ -1417,7 +1427,7 @@ } else { struct cpl_tx_pkt *cpl = (struct cpl_tx_pkt *)txd; - GET_VTAG_MI(cntrl, mi); + GET_VTAG(cntrl, m0); cntrl |= V_TXPKT_OPCODE(CPL_TX_PKT); cpl->cntrl = htonl(cntrl); mlen = m0->m_pkthdr.len; @@ -1484,7 +1494,7 @@ check_ring_tx_db(pi->adapter, txq); if ((m0->m_type == MT_DATA) && ((m0->m_flags & (M_EXT|M_NOFREE)) == M_EXT)) { - m0->m_flags = 0; + m0->m_flags &= ~M_EXT ; m_free(m0); } @@ -2267,7 +2277,7 @@ q->txq[i].txq_mr.mr_size = cxgb_txq_mbuf_ring_size; mtx_init(&q->txq[i].txq_mr.mr_lock, "txq mbuf ring", NULL, MTX_DEF); } - + init_qset_cntxt(q, id); if ((ret = alloc_ring(sc, p->fl_size, sizeof(struct rx_desc), ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/cxgb_support.c#2 (text+ko) ==== @@ -52,8 +52,53 @@ #include #endif -int -buf_init(struct buf_stack *bs, int size) +struct buf_stack { + caddr_t *bs_stack; + volatile int bs_head; + int bs_size; +}; + +static __inline int +buf_stack_push(struct buf_stack *bs, caddr_t buf) +{ + if (bs->bs_head + 1 >= bs->bs_size) + return (ENOSPC); + + bs->bs_stack[++(bs->bs_head)] = buf; + return (0); +} + +static __inline caddr_t +buf_stack_pop(struct buf_stack *bs) +{ + if (bs->bs_head < 0) + return (NULL); + + return (bs->bs_stack[(bs->bs_head)--]); +} + +/* + * Stack is more than half full + * we can free some elements to make room + */ +static __inline int +buf_stack_canfree(struct buf_stack *bs) +{ + return (bs->bs_head > (bs->bs_size>>1)); +} + +struct cxgb_cache_pcpu { + struct buf_stack ccp_jumbo_free; + struct buf_stack ccp_cluster_free; + uma_zone_t ccp_jumbo_zone; +}; + +struct cxgb_cache_system { + struct cxgb_cache_pcpu ccs_array[0]; +} *cxgb_caches; + +static int +buf_stack_init(struct buf_stack *bs, int size) { bs->bs_size = size; bs->bs_head = -1; @@ -63,3 +108,162 @@ return (0); } +static void +buf_stack_deinit(struct buf_stack *bs) +{ + if (bs->bs_stack != NULL) + free(bs->bs_stack, M_DEVBUF); +} + +static int +cxgb_cache_pcpu_init(struct cxgb_cache_pcpu *ccp) +{ + int err; + + if ((err = buf_stack_init(&ccp->ccp_jumbo_free, 2*JUMBO_Q_SIZE))) + return (err); + + if ((err = buf_stack_init(&ccp->ccp_cluster_free, 2*FL_Q_SIZE))) + return (err); + + if (jumbo_phys_contig) + ccp->ccp_jumbo_zone = zone_jumbo9; + else + ccp->ccp_jumbo_zone = zone_jumbop; + + return (0); +} + +static void +cxgb_cache_pcpu_deinit(struct cxgb_cache_pcpu *ccp) +{ + /* + * XXX free clusters + */ + + buf_stack_deinit(&ccp->ccp_jumbo_free); + buf_stack_deinit(&ccp->ccp_cluster_free); + +} + +static int inited = 0; + +int +cxgb_cache_init(void) +{ + int i, err; + + if (inited++ > 0) + return (0); + + if ((cxgb_caches = malloc(sizeof(struct cxgb_cache_pcpu)*mp_ncpus, M_DEVBUF, M_WAITOK|M_ZERO)) == NULL) + return (ENOMEM); + + for (i = 0; i < mp_ncpus; i++) + if ((err = cxgb_cache_pcpu_init(&cxgb_caches->ccs_array[i]))) + goto err; + + return (0); +err: + cxgb_cache_flush(); + + return (err); +} + +void +cxgb_cache_flush(void) +{ + int i; + + if (--inited > 0) + return; + + if (cxgb_caches == NULL) + return; + + for (i = 0; i < mp_ncpus; i++) + cxgb_cache_pcpu_deinit(&cxgb_caches->ccs_array[i]); + + free(cxgb_caches, M_DEVBUF); + cxgb_caches = NULL; +} + +caddr_t +cxgb_cache_get(uma_zone_t zone) +{ + caddr_t cl; + struct cxgb_cache_pcpu *ccp; + + critical_enter(); + ccp = &cxgb_caches->ccs_array[curcpu]; + if (zone == zone_clust) { + cl = buf_stack_pop(&ccp->ccp_cluster_free); + } else { + cl = buf_stack_pop(&ccp->ccp_jumbo_free); + } + critical_exit(); + + if (cl == NULL) + cl = uma_zalloc(zone, M_NOWAIT); + + return (cl); +} + +void +cxgb_cache_put(uma_zone_t zone, void *cl) +{ + struct cxgb_cache_pcpu *ccp; + int err = 0; + + critical_enter(); + ccp = &cxgb_caches->ccs_array[curcpu]; + if (zone == zone_clust) { + err = buf_stack_push(&ccp->ccp_cluster_free, cl); + } else if (zone == ccp->ccp_jumbo_zone){ + err = buf_stack_push(&ccp->ccp_jumbo_free, cl); + } + critical_exit(); + + if (err) + uma_zfree(zone, cl); +} + +void +cxgb_cache_rebalance(void) +{ + struct cxgb_cache_pcpu *ccp; + caddr_t vec[8]; + uma_zone_t zone; + int i, count; + + return; + + + critical_enter(); +restart: + ccp = &cxgb_caches->ccs_array[curcpu]; + zone = ccp->ccp_jumbo_zone; + for (i = 0; i < 8 && buf_stack_canfree(&ccp->ccp_jumbo_free); i++) + vec[i] = buf_stack_pop(&ccp->ccp_jumbo_free); + critical_exit(); + count = i; + for (i = 0; i < count; i++) + uma_zfree(zone, vec[i]); + + critical_enter(); + ccp = &cxgb_caches->ccs_array[curcpu]; + zone = zone_clust; + for (i = 0; i < 8 && buf_stack_canfree(&ccp->ccp_cluster_free); i++) + vec[i] = buf_stack_pop(&ccp->ccp_cluster_free); + critical_exit(); + count = i; + for (i = 0; i < count; i++) + uma_zfree(zone, vec[i]); + + critical_enter(); + ccp = &cxgb_caches->ccs_array[curcpu]; + if (buf_stack_canfree(&ccp->ccp_cluster_free) || buf_stack_canfree(&ccp->ccp_jumbo_free)) + goto restart; + critical_exit(); +} + ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#6 (text+ko) ==== @@ -32,6 +32,16 @@ #ifndef _MVEC_H_ #define _MVEC_H_ +int cxgb_cache_init(void); + +void cxgb_cache_flush(void); + +caddr_t cxgb_cache_get(uma_zone_t zone); + +void cxgb_cache_put(uma_zone_t zone, void *cl); + +void cxgb_cache_rebalance(void); + #define mtomv(m) ((struct mbuf_vec *)((m)->m_pktdat)) #define M_IOVEC 0x100000 /* mbuf immediate data area is used for cluster ptrs */ @@ -164,8 +174,8 @@ case EXT_IOVEC: uma_zfree(zone_miovec, m); break; - case EXT_CLIOVEC: - uma_zfree(zone_clust, m); + case EXT_CLIOVEC: + cxgb_cache_put(zone_clust, m); break; default: panic("unexpected type %d\n", type); ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#6 (text+ko) ==== @@ -202,7 +202,7 @@ return (ENOMEM); type = EXT_CLIOVEC; } else { - if ((m0 = uma_zalloc_arg(zone_miovec, NULL, M_DONTWAIT)) == NULL) + if ((m0 = uma_zalloc_arg(zone_miovec, NULL, M_NOWAIT)) == NULL) return (ENOMEM); type = EXT_IOVEC; } @@ -223,7 +223,8 @@ if (marray[i]->m_flags & M_EXT) { marray[i]->m_flags = 0; m_free(marray[i]); - } + + } } *nsegs = seg_count; *m = m0; @@ -301,13 +302,13 @@ m_free_fast((struct mbuf *)cl); break; case EXT_CLUSTER: - uma_zfree(zone_clust, cl); + cxgb_cache_put(zone_clust, cl); break; case EXT_JUMBOP: - uma_zfree(zone_jumbop, cl); + cxgb_cache_put(zone_jumbop, cl); break; case EXT_JUMBO9: - uma_zfree(zone_jumbo9, cl); + cxgb_cache_put(zone_jumbo9, cl); break; case EXT_JUMBO16: uma_zfree(zone_jumbo16, cl); From owner-p4-projects@FreeBSD.ORG Wed Sep 26 06:27:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 25B6A16A419; Wed, 26 Sep 2007 06:27:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C73B516A420 for ; Wed, 26 Sep 2007 06:27:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C2F0E13C457 for ; Wed, 26 Sep 2007 06:27:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8Q6RfMo063290 for ; Wed, 26 Sep 2007 06:27:41 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8Q6KJNK062870 for perforce@freebsd.org; Wed, 26 Sep 2007 06:20:19 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Sep 2007 06:20:19 GMT Message-Id: <200709260620.l8Q6KJNK062870@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126816 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 06:27:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=126816 Change 126816 by jb@jb_freebsd1 on 2007/09/26 06:13:55 IFC (Note that this project still has the remnants of multiple integrations from different trees which confused P4 so there are things that got broken because of that.) Affected files ... .. //depot/projects/dtrace/doc/Makefile#3 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/articles/Makefile#3 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/articles/contributing-ports/Makefile#1 branch .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/articles/contributing-ports/article.sgml#1 branch .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/articles/contributing/article.sgml#3 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/articles/laptop/article.sgml#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/Makefile#3 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/faq/book.sgml#10 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/fdp-primer/book.sgml#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/Makefile#6 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/book.sgml#6 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/chapters.ent#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/config/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/desktop/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/install/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/jails/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/preface/preface.sgml#6 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/security/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/users/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/porters-handbook/Makefile#1 branch .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/porters-handbook/book.sgml#1 branch .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/porters-handbook/freebsd.dsl#1 branch .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/flyer/flyer.tex#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#4 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/share/sgml/mailing-lists.ent#5 integrate .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/share/sgml/transtable.xml#3 integrate .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/5-roadmap/article.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#13 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributing-ports/article.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#42 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#28 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.develalumni.sgml#18 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.staff.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/formatting-media/article.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/geom-class/article.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/hubs/article.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/p4-primer/article.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/portbuild/article.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/pr-guidelines/article.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/problem-reports/article.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/rc-scripting/article.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/relaydelay/article.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/version-guide/article.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/wp-toolbox/article.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/arch-handbook/jail/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/dev-model/book.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/book.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/ipv6/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#12 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/fdp-primer/the-website/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/Makefile#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/audit/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/basics/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/book.sgml#7 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/chapters.ent#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/config/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/desktop/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/install/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/jails/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mac/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mail/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/preface/preface.sgml#7 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/users/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/virtualization/Makefile#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/virtualization/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/x11/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#37 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#21 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/mailing-lists.ent#6 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/teams.ent#3 integrate .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/Makefile#4 integrate .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/fdp-es/Makefile#1 branch .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/fdp-es/article.sgml#1 branch .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/books/handbook/Makefile#4 integrate .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/books/handbook/install/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/Makefile#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/audit/Makefile#1 branch .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/audit/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/bibliography/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/book.sgml#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/boot/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/chapters.ent#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/colophon.sgml#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/config/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/desktop/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/disks/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/eresources/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/geom/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/introduction/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/jails/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/multimedia/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/network-servers/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/preface/preface.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/users/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/virtualization/Makefile#1 branch .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/virtualization/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/share/sgml/books.ent#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/share/sgml/catalog#4 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/share/sgml/freebsd.ent#2 delete .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/share/sgml/l10n.ent#3 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/share/sgml/mailing-lists.ent#3 integrate .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/Makefile#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/Makefile#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/Makefile.inc#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/dialup-firewall/Makefile#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/dialup-firewall/article.sgml#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/explaining-bsd/Makefile#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/explaining-bsd/article.sgml#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/laptop/Makefile#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/laptop/article.sgml#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/linux-comparison/Makefile#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/multi-os/Makefile#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/multi-os/article.sgml#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/version-guide/Makefile#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/articles/version-guide/article.sgml#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/articles.ent#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/catalog#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/freebsd.dsl#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/l10n.ent#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/newsgroups.ent#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/teams.ent#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/trademarks.ent#1 branch .. //depot/projects/dtrace/doc/hu_HU.ISO8859-2/share/sgml/translators.ent#1 branch .. //depot/projects/dtrace/doc/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml#3 integrate .. //depot/projects/dtrace/doc/it_IT.ISO8859-15/articles/new-users/article.sgml#3 integrate .. //depot/projects/dtrace/doc/it_IT.ISO8859-15/articles/vm-design/article.sgml#3 integrate .. //depot/projects/dtrace/doc/it_IT.ISO8859-15/books/handbook/Makefile#4 integrate .. //depot/projects/dtrace/doc/it_IT.ISO8859-15/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/dtrace/doc/it_IT.ISO8859-15/flyer/Makefile#3 integrate .. //depot/projects/dtrace/doc/it_IT.ISO8859-15/flyer/flyer.tex#3 integrate .. //depot/projects/dtrace/doc/mn_MN.UTF-8/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/Makefile.inc#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/advanced-networking/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/appendix.decl#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/audit/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/audit/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/disk-layout.kil#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/example-dir1.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/example-dir2.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/example-dir3.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/example-dir4.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/basics/example-dir5.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/bibliography/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/bibliography/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/book.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/boot/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/boot/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/chapter.decl#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/chapters.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/colophon.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/config/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/config/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/cutting-edge/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/desktop/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/desktop/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/disks/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/disks/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/eresources/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/eresources/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/firewalls/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/geom/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/geom/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/disk-layout.kil#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/example-dir1.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/example-dir2.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/example-dir3.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/example-dir4.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/install/example-dir5.dot#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/introduction/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/jails/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/kernelconfig/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/l10n/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/l10n/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/linuxemu/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/linuxemu/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mac/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mac/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mail/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mail/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mirrors/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/multimedia/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/multimedia/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/network-servers/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/pgpkeys/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/pgpkeys/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/ports/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/ports/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/ppp-and-slip/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/preface/preface.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/printing/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/printing/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/security/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/security/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/serialcomms/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/txtfiles.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/users/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/users/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/vinum/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/vinum/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/virtualization/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/virtualization/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/x11/Makefile#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/books/handbook/x11/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/mk/doc.local.mk#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/bookinfo.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/books.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/catalog#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/freebsd.dsl#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/glossary/freebsd-glossary.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/l10n.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/mirrors-local.xsl#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/newsgroups.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/teams.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/trademarks.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/trademarks.sgml#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/translators.ent#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/transtable-local.xsl#1 branch .. //depot/projects/dtrace/doc/mn_MN.UTF-8/share/sgml/transtable.xml#1 branch .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/Makefile#4 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/dtrace/doc/pl_PL.ISO8859-2/books/handbook/Makefile#3 integrate .. //depot/projects/dtrace/doc/pl_PL.ISO8859-2/books/handbook/install/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/pl_PL.ISO8859-2/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/5-roadmap/article.sgml#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/committers-guide/article.sgml#7 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/hats/article.sgml#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/hubs/article.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/laptop/article.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/new-users/article.sgml#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/portbuild/article.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/relaydelay/article.sgml#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/faq/book.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/Makefile#5 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/audit/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/bibliography/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/geom/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/install/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/multimedia/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/users/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/share/sgml/mailing-lists.ent#4 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/share/sgml/trademarks.ent#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/boot-loader-menu.scr#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/install/config-country.scr#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/install/console-saver1.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/console-saver2.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/console-saver3.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/console-saver4.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-auto.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-ed1.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-ed2.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-fs.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-root1.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-root2.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/disklabel-root3.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/ed0-conf.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/edit-inetd-conf.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/keymap.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/main-doc.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/main-keymap.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/main-options.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/main-std.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/main1.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/mainexit.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/mouse4.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/nfs-server-edit.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/ntp-config.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/options.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/pkg-cat.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/pkg-install.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/sysinstall-exit.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/timezone3.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd1.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd10.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd11.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd12.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd13.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd2.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd3.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd4.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd5.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd6.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd7.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd8.png#1 branch .. //depot/projects/dtrace/doc/share/images/books/handbook/virtualization/parallels-freebsd9.png#1 branch .. //depot/projects/dtrace/doc/share/misc/docbook.css#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/araujo.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/beech.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/benjsc.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/bushman.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/danger.key#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/ehaupt.key#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/jinmei.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/leeym.key#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/lme.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/loader.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/lwhsu.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/mat.key#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/matteo.key#4 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/mav.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/miwi.key#2 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/mlaier.key#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/mm.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/nemoliu.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/netchild.key#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/njl.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/novel.key#3 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#22 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#22 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/philip.key#4 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/sephe.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/sepotvin.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/tabthorpe.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/timur.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/trasz.key#1 branch .. //depot/projects/dtrace/doc/share/sgml/freebsd.dsl#5 integrate .. //depot/projects/dtrace/doc/share/sgml/freebsd.ent#12 integrate .. //depot/projects/dtrace/doc/share/sgml/man-refs.ent#17 integrate .. //depot/projects/dtrace/doc/share/sgml/mirrors-master.xsl#3 integrate .. //depot/projects/dtrace/doc/share/sgml/mirrors.xml#10 integrate .. //depot/projects/dtrace/doc/share/sgml/trademarks.ent#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/articles/cvs-freebsd/article.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/arch-handbook/jail/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/Makefile#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/audit/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/basics/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/bibliography/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/book.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/chapters.ent#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/config/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/desktop/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/disks/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/install/chapter.sgml#14 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/introduction/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/jails/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/l10n/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/linuxemu/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mac/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mail/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/mirrors/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/preface/preface.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/security/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/serialcomms/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/users/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/vinum/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/virtualization/Makefile#1 branch .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/virtualization/chapter.sgml#1 branch .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/x11/chapter.sgml#12 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#16 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/authors.ent#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/mailing-lists.ent#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/teams.ent#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/share/sgml/trademarks.ent#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/faq/book.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/fdp-primer/book.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/fdp-primer/writing-style/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/Makefile#5 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/basics/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/bibliography/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/desktop/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/install/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/introduction/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/ports/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/txtfiles.ent#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/x11/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/porters-handbook/book.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/share/sgml/authors.ent#4 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/share/sgml/freebsd.dsl#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/share/sgml/mailing-lists.ent#3 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/share/sgml/trademarks.ent#4 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/share/sgml/urls.ent#3 integrate .. //depot/projects/dtrace/ports/CHANGES#10 integrate .. //depot/projects/dtrace/ports/GIDs#12 integrate .. //depot/projects/dtrace/ports/KNOBS#10 integrate .. //depot/projects/dtrace/ports/LEGAL#19 integrate .. //depot/projects/dtrace/ports/MOVED#38 integrate .. //depot/projects/dtrace/ports/Makefile#3 integrate .. //depot/projects/dtrace/ports/Mk/bsd.apache.mk#4 integrate .. //depot/projects/dtrace/ports/Mk/bsd.autotools.mk#5 integrate .. //depot/projects/dtrace/ports/Mk/bsd.commands.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.database.mk#7 integrate .. //depot/projects/dtrace/ports/Mk/bsd.destdir.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.efl.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.emacs.mk#6 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gcc.mk#6 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gnome.mk#10 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gnustep.mk#10 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gstreamer.mk#9 integrate .. //depot/projects/dtrace/ports/Mk/bsd.java.mk#4 integrate .. //depot/projects/dtrace/ports/Mk/bsd.kde.mk#6 integrate .. //depot/projects/dtrace/ports/Mk/bsd.lua.mk#8 integrate .. //depot/projects/dtrace/ports/Mk/bsd.mail.mk#4 integrate .. //depot/projects/dtrace/ports/Mk/bsd.ocaml.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.openssl.mk#6 integrate .. //depot/projects/dtrace/ports/Mk/bsd.perl.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.php.mk#9 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.mk#10 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.options.mk#3 integrate .. //depot/projects/dtrace/ports/Mk/bsd.port.subdir.mk#4 integrate .. //depot/projects/dtrace/ports/Mk/bsd.python.mk#11 integrate .. //depot/projects/dtrace/ports/Mk/bsd.qt.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.ruby.mk#7 integrate .. //depot/projects/dtrace/ports/Mk/bsd.scons.mk#8 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sites.mk#16 integrate .. //depot/projects/dtrace/ports/Mk/bsd.tcl.mk#5 integrate .. //depot/projects/dtrace/ports/Mk/bsd.xfce.mk#1 branch .. //depot/projects/dtrace/ports/Mk/bsd.xorg.mk#1 branch .. //depot/projects/dtrace/ports/Templates/BSD.local.dist#1 branch .. //depot/projects/dtrace/ports/Tools/make_readmes#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/README#3 delete .. //depot/projects/dtrace/ports/Tools/portbuild/portbuild.conf#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildenv#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildscript#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/claim-chroot#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/clean-chroot#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/cleanup-chroots#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dologs#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dopackages#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dopackagestats#7 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dosetupnode#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/flushsquid#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/getmachine#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makeduds#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makeindex#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/makeparallel#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/mkbindist#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/pdispatch#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/pnohang.c#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/pollmachine#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/portbuild#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/processlogs#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/processonelog#10 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/reportload#3 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/straslivy.py#1 branch .. //depot/projects/dtrace/ports/Tools/scripts/README#3 integrate .. //depot/projects/dtrace/ports/Tools/scripts/addport#5 integrate .. //depot/projects/dtrace/ports/Tools/scripts/chkversion.pl#4 integrate .. //depot/projects/dtrace/ports/Tools/scripts/explicit_lib_depends.sh#1 branch .. //depot/projects/dtrace/ports/Tools/scripts/mergebase.sh#1 branch .. //depot/projects/dtrace/ports/Tools/scripts/neededlibs.sh#1 branch .. //depot/projects/dtrace/ports/Tools/scripts/resolveportsfromlibs.sh#1 branch .. //depot/projects/dtrace/ports/Tools/scripts/rmport#10 integrate .. //depot/projects/dtrace/ports/Tools/scripts/security-check.awk#4 integrate .. //depot/projects/dtrace/ports/Tools/scripts/tindex#4 integrate .. //depot/projects/dtrace/ports/UIDs#13 integrate .. //depot/projects/dtrace/ports/UPDATING#30 integrate .. //depot/projects/dtrace/src/MAINTAINERS#13 integrate .. //depot/projects/dtrace/src/Makefile#13 integrate .. //depot/projects/dtrace/src/Makefile.inc1#27 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#21 integrate .. //depot/projects/dtrace/src/UPDATING#14 integrate .. //depot/projects/dtrace/src/bin/chflags/chflags.1#4 integrate .. //depot/projects/dtrace/src/bin/csh/config.h#4 integrate .. //depot/projects/dtrace/src/bin/csh/config_p.h#4 integrate .. //depot/projects/dtrace/src/bin/date/date.1#4 integrate .. //depot/projects/dtrace/src/bin/df/df.1#4 integrate .. //depot/projects/dtrace/src/bin/df/df.c#6 integrate .. //depot/projects/dtrace/src/bin/ed/Makefile#4 integrate .. //depot/projects/dtrace/src/bin/expr/expr.1#4 integrate .. //depot/projects/dtrace/src/bin/expr/expr.y#4 integrate .. //depot/projects/dtrace/src/bin/getfacl/getfacl.c#4 integrate .. //depot/projects/dtrace/src/bin/kill/kill.1#4 integrate .. //depot/projects/dtrace/src/bin/mv/mv.1#4 integrate .. //depot/projects/dtrace/src/bin/pax/ar_io.c#4 integrate .. //depot/projects/dtrace/src/bin/pax/file_subs.c#4 integrate .. //depot/projects/dtrace/src/bin/pax/pat_rep.c#4 integrate .. //depot/projects/dtrace/src/bin/pax/sel_subs.c#4 integrate .. //depot/projects/dtrace/src/bin/pax/tables.c#4 integrate .. //depot/projects/dtrace/src/bin/ps/print.c#4 integrate .. //depot/projects/dtrace/src/bin/ps/ps.c#4 integrate .. //depot/projects/dtrace/src/bin/rcp/rcp.1#4 integrate .. //depot/projects/dtrace/src/bin/rcp/rcp.c#4 integrate .. //depot/projects/dtrace/src/bin/setfacl/setfacl.c#4 integrate .. //depot/projects/dtrace/src/bin/sh/var.c#5 integrate .. //depot/projects/dtrace/src/cddl/lib/Makefile.inc#1 branch .. //depot/projects/dtrace/src/cddl/lib/libnvpair/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/lib/libumem/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/lib/libuutil/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/lib/libzfs/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/lib/libzpool/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/sbin/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/sbin/Makefile.inc#1 branch .. //depot/projects/dtrace/src/cddl/sbin/zfs/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/sbin/zpool/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/usr.bin/ztest/Makefile#1 branch .. //depot/projects/dtrace/src/cddl/usr.sbin/zdb/Makefile#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/include/devid.h#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/include/fsshare.h#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/include/libintl.h#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/include/mnttab.h#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/include/priv.h#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/include/solaris.h#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/include/zone.h#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/lib/libumem/umem.c#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/lib/libumem/umem.h#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/misc/deviceid.c#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/misc/fsshare.c#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/misc/mkdirp.c#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/misc/mnttab.c#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/misc/zmount.c#1 branch .. //depot/projects/dtrace/src/compat/opensolaris/misc/zone.c#1 branch .. //depot/projects/dtrace/src/contrib/amd/amq/amq.8#4 integrate .. //depot/projects/dtrace/src/contrib/amd/hlfsd/hlfsd.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/CHANGES#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/COPYRIGHT#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/FAQ#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/FAQ.xml#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/FREEBSD-Upgrade#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/README#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/README.idnkit#1 branch .. //depot/projects/dtrace/src/contrib/bind9/acconfig.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/check-tool.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/check-tool.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/named-checkconf.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/named-checkconf.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/named-checkconf.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/named-checkconf.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/named-checkzone.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/named-checkzone.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/named-checkzone.docbook#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/check/named-checkzone.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/dig.1#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/dig.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/dig.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/dig.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/dighost.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/host.1#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/host.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/host.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/host.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/include/dig/dig.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/nslookup.1#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/nslookup.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/nslookup.docbook#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dig/nslookup.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssec-keygen.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssec-keygen.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssec-keygen.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssec-signzone.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssec-signzone.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssectool.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/dnssec/dnssectool.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/aclconf.c#5 delete .. //depot/projects/dtrace/src/contrib/bind9/bin/named/builtin.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/client.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/config.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/control.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/controlconf.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/aclconf.h#5 delete .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/builtin.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/client.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/config.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/control.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/globals.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/interfacemgr.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/listenlist.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/log.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/logconf.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/lwaddr.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/lwdclient.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/lwresd.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/lwsearch.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/main.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/notify.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/ns_smf_globals.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/query.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/server.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/sortlist.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/tkeyconf.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/tsigconf.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/types.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/update.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/xfrout.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/include/named/zoneconf.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/interfacemgr.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/listenlist.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/log.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/logconf.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwaddr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwdclient.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwderror.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwdgabn.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwdgnba.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwdgrbn.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwdnoop.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwresd.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwresd.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwresd.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwresd.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/lwsearch.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/main.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/named.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/named.conf.5#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/named.conf.docbook#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/named.conf.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/named.docbook#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/named.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/notify.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/query.c#7 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/server.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/sortlist.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/tkeyconf.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/tsigconf.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/unix/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/unix/include/named/os.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/unix/os.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/update.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/xfrout.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/named/zoneconf.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/nsupdate/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/nsupdate/nsupdate.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/nsupdate/nsupdate.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/nsupdate/nsupdate.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/nsupdate/nsupdate.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/include/rndc/os.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc-confgen.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc-confgen.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc-confgen.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc-confgen.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc.8#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc.conf#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc.conf.5#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc.conf.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc.conf.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc.docbook#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/rndc.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/unix/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/unix/os.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/util.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/bin/rndc/util.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/configure.in#6 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.ch10.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.html#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Bv9ARM.pdf#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/README-SGML#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/isc-logo.eps#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/isc-logo.pdf#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.dig.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.host.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.named-checkconf.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.named-checkzone.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.named.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.rndc-confgen.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.rndc.conf.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/arm/man.rndc.html#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-09.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-00.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-02.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-rsasha256-00.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-ds-sha256-05.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-insensitive-06.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-02.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-04.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsid-01.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-01.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-02.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-04.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-06.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-08.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-10.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-04.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-05.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-04.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-04.txt#4 delete .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-06.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/draft/draft-schlitt-spf-classic-02.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/dnssec#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/format-options.pl#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/ipv6#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/migration#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/migration-4to9#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/options#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/rfc-compliance#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/roadmap#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/misc/sdb#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/rfc/index#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/doc/rfc/rfc4193.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/rfc/rfc4255.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/rfc/rfc4343.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/rfc/rfc4367.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/doc/rfc/rfc4431.txt#1 branch .. //depot/projects/dtrace/src/contrib/bind9/isc-config.sh.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/Makefile.in#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/api#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/daemon.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/ftruncate.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/gettimeofday.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/mktemp.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/putenv.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/readv.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/setenv.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/setitimer.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/strcasecmp.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/strdup.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/strerror.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/strpbrk.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/strsep.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/strtoul.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/utimes.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/bsd/writev.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/configure#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/configure.in#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/dst/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/dst/dst_api.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/dst/dst_internal.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/dst/hmac_link.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/dst/md5.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/dst/md5_dgst.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/dst/md5_locl.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/dst/support.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/arpa/inet.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/arpa/nameser.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/arpa/nameser_compat.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/fd_setsize.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/hesiod.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/irp.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/irs.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/assertions.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/ctl.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/dst.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/eventlib.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/heap.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/irpmarshall.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/list.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/logging.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/memcluster.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/misc.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/isc/tree.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/netdb.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/netgroup.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/res_update.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/include/resolv.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_addr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_cidr_ntop.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_cidr_pton.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_data.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_lnaof.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_makeaddr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_net_ntop.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_net_pton.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_neta.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_netof.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_network.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_ntoa.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_ntop.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/inet_pton.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/inet/nsap_addr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/dns.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/dns_gr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/dns_ho.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/dns_nw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/dns_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/dns_pr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/dns_pw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/dns_sv.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gai_strerror.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen_gr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen_ho.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen_ng.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen_nw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen_pr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen_pw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gen_sv.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getaddrinfo.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getgrent.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getgrent_r.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gethostent.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/gethostent_r.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getnameinfo.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getnetent.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getnetent_r.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getnetgrent.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getnetgrent_r.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getprotoent.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getprotoent_r.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getpwent.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getpwent_r.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getservent.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/getservent_r.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/hesiod.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/hesiod_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp_gr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp_ho.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp_ng.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp_nw.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp_pr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp_pw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irp_sv.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irpmarshall.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irs_data.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irs_data.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/irs_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl_gr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl_ho.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl_ng.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl_nw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl_pr.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl_pw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/lcl_sv.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis_gr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis_ho.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis_ng.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis_nw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis_pr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis_pw.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nis_sv.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/nul_ng.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/pathnames.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/irs/util.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/assertions.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/assertions.mdoc#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/base64.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/bitncmp.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/bitncmp.mdoc#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ctl_clnt.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ctl_p.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ctl_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ctl_srvr.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ev_connects.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ev_files.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ev_streams.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ev_timers.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/ev_waits.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/eventlib.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/eventlib.mdoc#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/eventlib_p.h#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/heap.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/heap.mdoc#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/hex.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/logging.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/logging.mdoc#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/logging_p.h#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/memcluster.c#5 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/memcluster.mdoc#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/movefile.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/tree.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/isc/tree.mdoc#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/make/includes.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/make/rules.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/nameser/Makefile.in#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/nameser/ns_date.c#4 integrate .. //depot/projects/dtrace/src/contrib/bind9/lib/bind/nameser/ns_name.c#4 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Sep 26 10:04:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5977B16A41B; Wed, 26 Sep 2007 10:04:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C807F16A41A for ; Wed, 26 Sep 2007 10:04:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CF73D13C465 for ; Wed, 26 Sep 2007 10:04:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8QA4Nl2093042 for ; Wed, 26 Sep 2007 10:04:23 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8QA4KqI093039 for perforce@freebsd.org; Wed, 26 Sep 2007 10:04:20 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Sep 2007 10:04:20 GMT Message-Id: <200709261004.l8QA4KqI093039@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126818 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 10:04:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=126818 Change 126818 by jb@jb_freebsd1 on 2007/09/26 10:03:50 IFopensolaris Affected files ... .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/README#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/badioctl.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/32/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/64/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/Makefile.com#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Getopt.java#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/JDTrace.java#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/jdtrace.c#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/src/Getopt.java#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/src/JDTrace.java#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/src/jdtrace.c#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/Makefile#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/Makefile.pkg#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/Makefile#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/pkginfo.tmpl#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/prototype_com#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/prototype_i386#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/prototype_sparc#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/common/README#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/common/bld_awk_pkginfo.ksh#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/common/copyright#2 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/pkg/common/depend#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/Makefile.com#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out#2 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.invalidref.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize1.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize2.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtabadarg.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.progenyofbad2.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.chillbadarg.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyoutbadaddr.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyoutstrbadaddr.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntoa6badaddr.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntoabadaddr.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntopbadaddr.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntopbadarg.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa.d.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa6.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa6.d.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntop.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntop.d.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/bitarch.c#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestBean.java#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestDrop.java#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestMaxConsumers.java#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Abort.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Bean.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Bean.ksh.out#2 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Close.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Drop.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Drop.ksh.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Enable.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.MaxConsumers.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.MaxConsumers.ksh.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.MultiAggPrinta.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.ProbeData.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.ProbeData.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.ProbeDescription.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.StateMachine.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.StopLock.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/mdb/tst.dtracedcmd.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/mib/tst.icmp.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/mib/tst.tcp.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/mib/tst.udp.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.fork.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.main.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.manypids.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.probemod.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/predicates/tst.predcache.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d.out#2 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.d#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.d.out#2 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.ksh.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.d#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.d.out#2 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.ksh.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.create.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exec.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitexit.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitkilled.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.startexit.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.func.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufuncsort.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufuncsort.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.violentdeath.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_COMM_COMM.CommitAftCommit.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_COMM_COMM.DisjointCommit.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_DREC_COMM.DataRecAftCommit.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_PRAGMA_MALFORM.NspecExpr.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_PRAGMA_OPTSET.HugeNspecValue.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_SPEC_COMM.SpecAftCommit.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.CommitAfterDiscard.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.CommitWithZero.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.DataRecAftDiscard.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.DiscardAftCommit.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.DiscardAftDiscard.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.DiscardWithZero.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.SpeculationCommit.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.SpeculationDiscard.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.TwoSpecBuffers.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post.c#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post_chan.c#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post_chan.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/forker.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.argmap.d#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose3.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.entryreturn.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reeval.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/ustack/tst.bigstack.c#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/ustack/tst.bigstack.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/vars/tst.ucaller.ksh#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.badinstr.s#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.branch.s#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.embedded.s#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.ret.s#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.retlist.s#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/annotated_helper.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/helper_helper.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.annotated_helper.d#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.circstack.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.circstack.s#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.helper.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.helper_helper.d#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/Makefile#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.br.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.br.d.out#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.br.s#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.branch.s#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.embedded.s#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/usdt/tst.tailcall.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/annotated_helper.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/helper_helper.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.annotated_helper.d#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.circstack.d#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.circstack.s#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.helper.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.helper_helper.d#3 delete .. //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.trapstat.ksh#1 branch .. //depot/projects/opensolaris/contrib/opensolaris/cmd/sgs/include/debug.h#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/cmd/sgs/messages/sgs.ident#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_error.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_handle.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_ident.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_link.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_map.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_module.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_open.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_options.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_pid.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c#3 integrate .. //depot/projects/opensolaris/contrib/opensolaris/tools/ctf/cvt/dwarf.c#3 integrate .. //depot/projects/opensolaris/sys/contrib/opensolaris/uts/common/sys/dtrace.h#3 integrate .. //depot/projects/opensolaris/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#3 integrate .. //depot/projects/opensolaris/sys/contrib/opensolaris/uts/common/sys/isa_defs.h#3 integrate .. //depot/projects/opensolaris/sys/contrib/opensolaris/uts/common/sys/zmod.h#3 integrate Differences ... ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/Makefile#3 (text+ko) ==== @@ -20,12 +20,28 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" include $(SRC)/Makefile.master -SUBDIRS = cmd tst pkg -include $(SRC)/cmd/dtrace/test/Makefile.subdirs +SUBDIRS = cmd tst + +ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt + +include Makefile.subdirs + +install: $(ROOTOPTPKG)/README $(SUBDIRS) + +pkg: install + @cd $(PKGDEFS) pwd; $(MAKE) awk_pkginfo + @cd $(PKGDEFS)/SUNWdtrt; pwd; $(MAKE) install + +$(ROOTOPTPKG): + $(INS.dir) + +$(ROOTOPTPKG)/%: ./% $(ROOTOPTPKG) + $(RM) $@ + $(CP) $< $@ ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/Makefile#3 (text+ko) ==== @@ -20,19 +20,19 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -include $(SRC)/Makefile.master +include $(SRC)/cmd/Makefile.cmd .KEEP_STATE: ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt ROOTBIN = $(ROOTOPTPKG)/bin -LDFLAGS += -znodefs -ztextoff +LDFLAGS += $(ZNODEFS) $(ZTEXTOFF) LDLIBS = $(LDLIBS.cmd) LDLIBS += -ldtrace ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -33,36 +33,8 @@ #include #include #include - -#define DTRACE_VERSION 1 - -typedef struct dtrace_hdl dtrace_hdl_t; -typedef struct dtrace_prog dtrace_prog_t; -typedef struct dtrace_vector dtrace_vector_t; -typedef int64_t dtrace_aggvarid_t; - -#define DTRACEIOC (('d' << 24) | ('t' << 16) | ('r' << 8)) -#define DTRACEIOC_ENABLE (DTRACEIOC | 6) /* enable probes */ - -extern dtrace_hdl_t *dtrace_open(int, int, int *); -extern dtrace_prog_t *dtrace_program_fcompile(dtrace_hdl_t *, - FILE *, uint_t, int, char *const []); -extern void *dtrace_program_dof(dtrace_hdl_t *, dtrace_prog_t *, uint_t); - -#define DOF_ID_SIZE 16 /* total size of dofh_ident[] in bytes */ +#include -typedef struct dof_hdr { - uint8_t dofh_ident[DOF_ID_SIZE]; /* identification bytes (see below) */ - uint32_t dofh_flags; /* file attribute flags (if any) */ - uint32_t dofh_hdrsize; /* size of file header in bytes */ - uint32_t dofh_secsize; /* size of section header in bytes */ - uint32_t dofh_secnum; /* number of section headers */ - uint64_t dofh_secoff; /* file offset of section headers */ - uint64_t dofh_loadsz; /* file size of loadable portion */ - uint64_t dofh_filesz; /* file size of entire DOF file */ - uint64_t dofh_pad; /* reserved for future use */ -} dof_hdr_t; - void fatal(char *fmt, ...) { @@ -180,7 +152,7 @@ } } -void +int main(int argc, char **argv) { char *filename = argv[1]; @@ -212,7 +184,7 @@ dtrace_errmsg(dtp, dtrace_errno(dtp))); } - dof = dtrace_program_dof(dtp, pgp, 0); + dof = dtrace_dof_create(dtp, pgp, 0); len = ((dof_hdr_t *)dof)->dofh_loadsz; if ((copy = malloc(len)) == NULL) @@ -231,4 +203,7 @@ corrupt(fd, copy, len); close(fd); } + + /* NOTREACHED */ + return (0); } ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/Makefile#3 (text+ko) ==== @@ -20,21 +20,20 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -include $(SRC)/Makefile.master +include $(SRC)/cmd/Makefile.cmd .KEEP_STATE: ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt ROOTBIN = $(ROOTOPTPKG)/bin -LDFLAGS += -znodefs -ztextoff +LDFLAGS += $(ZNODEFS) $(ZTEXTOFF) LDLIBS = $(LDLIBS.cmd) -LDLIBS += -ldtrace SRCS = badioctl CMDS = $(SRCS:%=$(ROOTBIN)/%) ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/badioctl.c#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -111,7 +111,7 @@ } } -void +int main() { pid_t child, parent = getpid(); @@ -139,4 +139,7 @@ WTERMSIG(status)); fflush(stdout); } + + /* NOTREACHED */ + return (0); } ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/32/Makefile#3 (text+ko) ==== @@ -20,12 +20,11 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -include $(SRC)/Makefile.master include ../Makefile.com install: $(ROOTPROG32) $(ROOTISAEXEC) ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/64/Makefile#3 (text+ko) ==== @@ -20,12 +20,11 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -include $(SRC)/Makefile.master include $(SRC)/Makefile.master.64 include ../Makefile.com ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/Makefile.com#3 (text+ko) ==== @@ -20,10 +20,12 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" + +include $(SRC)/cmd/Makefile.cmd .KEEP_STATE: @@ -51,6 +53,7 @@ $(PROG): ../$(PROG).c $(LINK.c) -o $@ ../$(PROG).c $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) $(ROOTPROG32): $(ROOTBIN32) $(PROG) ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Makefile#3 (text+ko) ==== @@ -20,12 +20,15 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" + +PROG = jdtrace +SRCS = jdtrace.c -include $(SRC)/Makefile.master +include $(SRC)/cmd/Makefile.cmd ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt ROOTBIN = $(ROOTOPTPKG)/bin @@ -41,7 +44,6 @@ INSTALLED_DTRACE_JAR=/$(DTRACE_JAR) CLASSPATH=$(PROTO_DTRACE_JAR):$(INSTALLED_DTRACE_JAR) DTEST_DIR=$(SRC)/cmd/dtrace/test -SRCDIR=src CLASSDIR=classes LIBDIR=lib MANIFESTDIR=manifest @@ -52,30 +54,31 @@ CMD = $(ROOTBIN)/jdtrace XLIST = $(ROOTBIN)/exception.lst +$(PROTO_JDTRACE_JAR) := FILEMODE = 0644 $(CMD) := FILEMODE = 0555 +$(XLIST) := FILEMODE = 0444 -default: $(JDTRACE_JAR) jdtrace.exe +all: $(JDTRACE_JAR) $(PROG) clean: - $(RM) $(CLASSDIR)/*.class + -$(RM) $(CLASSDIR)/*.class clobber: clean - $(RM) $(JDTRACE_JAR) - $(RM) jdtrace.exe + -$(RM) $(JDTRACE_JAR) + -$(RM) $(PROG) -all: default - lint: install: all $(PROTO_JDTRACE_JAR) $(CMD) $(XLIST) -jdtrace.exe: $(SRCDIR)/jdtrace.c - $(CC) -I/usr/include $(SRCDIR)/jdtrace.c -o jdtrace.exe +$(PROG): $(SRCS) + $(LINK.c) -o $@ $(SRCS) $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) -$(JDTRACE_JAR): $(SRCDIR)/JDTrace.java $(SRCDIR)/Getopt.java +$(JDTRACE_JAR): JDTrace.java Getopt.java @mkdir -p $(CLASSDIR) @mkdir -p $(LIBDIR) - $(JAVAC) -cp $(CLASSPATH) -d $(CLASSDIR) $(SRCDIR)/*.java + $(JAVAC) -cp $(CLASSPATH) -d $(CLASSDIR) *.java $(JAR) -cmf $(MANIFEST) $(JDTRACE_JAR) -C $(CLASSDIR) . $(PROTO_JDTRACE_JAR): $(ROOTLIBJAVA) @@ -96,8 +99,5 @@ $(ROOTLIBJAVA)/%.jar: $(LIBDIR)/%.jar $(INS.file) -$(ROOTBIN)/%.lst: %.lst +$(ROOTBIN)/%: % $(INS.file) - -$(ROOTBIN)/%: %.exe - $(INS.rename) ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/Makefile#3 (text+ko) ==== @@ -20,7 +20,7 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" @@ -32,4 +32,8 @@ dstyle := TARGET += dstyle +check: FRC + @$(ECHO) "checking dstyle" + @$(MAKE) dstyle + dstyle: $(SUBDIRS) ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/Makefile.com#3 (text+ko) ==== @@ -20,12 +20,13 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" +# -include $(SRC)/Makefile.master +include $(SRC)/cmd/Makefile.cmd .KEEP_STATE: @@ -58,9 +59,9 @@ clean lint: clobber: FRC - rm -f $(CSRCS:%.c=%.exe) $(CSRCS:%.c=%.o) - rm -f $(SSRCS:%.s=%.exe) $(SSRCS:%.s=%.o) - rm -f $(DSRC:%.d=%.o) + -$(RM) $(CSRCS:%.c=%.exe) $(CSRCS:%.c=%.o) + -$(RM) $(SSRCS:%.s=%.exe) $(SSRCS:%.s=%.o) + -$(RM) $(DSRCS:%.d=%.o) install: $(ROOT_TSTS) $(ROOT_EXES) @@ -76,16 +77,20 @@ $(INS.file) %.exe: %.c - $(LINK.c) -o $@ $< $(LIBS) + $(LINK.c) -o $@ $< $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) %.exe: %.o - $(CC) -o $@ $< $(LIBS) + $(LINK.c) -o $@ $< $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) %.o: %.c - $(COMPILE.c) -o $@ $< $(LIBS) + $(COMPILE.c) -o $@ $< + $(POST_PROCESS_O) %.o: %.s - $(AS) $(ASFLAGS) -o $@ $< $(LIBS) + $(COMPILE.s) -o $@ $< + $(POST_PROCESS_O) scripts: FRC @cd ../cmd/scripts; pwd; $(MAKE) install ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/Makefile#3 (text+ko) ==== @@ -20,38 +20,58 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" +# include $(SRC)/Makefile.master include ../Makefile.com -fasttrap/tst.fasttrap.exe := LIBS += -ldtrace -fasttrap/tst.stack.exe := LIBS += -ldtrace +fasttrap/tst.fasttrap.exe := LDLIBS += -ldtrace +fasttrap/tst.stack.exe := LDLIBS += -ldtrace + +proc/tst.sigwait.exe := LDLIBS += -lrt + +sysevent/tst.post.exe := LDLIBS += -lsysevent +sysevent/tst.post_chan.exe := LDLIBS += -lsysevent -proc/tst.sigwait.exe := LIBS += -lrt +ustack/tst.bigstack.exe := COPTFLAG += -xO1 -GCC = /usr/sfw/bin/gcc -GCCFLAGS_sparc = -mcpu=ultrasparc -GCCFLAGS = $(GCCFLAGS_$(MACH)) +GCC = $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc pid/tst.gcc.exe: pid/tst.gcc.c - $(GCC) $(GCCFLAGS) -o pid/tst.gcc.exe pid/tst.gcc.c + $(GCC) -o pid/tst.gcc.exe pid/tst.gcc.c $(LDFLAGS) + $(POST_PROCESS) ; $(STRIP_STABS) usdt/tst.args.exe: usdt/tst.args.o usdt/args.o - $(CC) -o usdt/tst.args.exe usdt/tst.args.o usdt/args.o + $(LINK.c) -o usdt/tst.args.exe usdt/tst.args.o usdt/args.o $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) usdt/args.o: usdt/args.d usdt/tst.args.o - /usr/sbin/dtrace -G -32 -o usdt/args.o -s usdt/args.d usdt/tst.args.o + $(COMPILE.d) -o usdt/args.o -s usdt/args.d usdt/tst.args.o usdt/tst.argmap.exe: usdt/tst.argmap.o usdt/argmap.o - $(CC) -o usdt/tst.argmap.exe usdt/tst.argmap.o usdt/argmap.o + $(LINK.c) -o usdt/tst.argmap.exe usdt/tst.argmap.o usdt/argmap.o \ + $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) usdt/argmap.o: usdt/argmap.d usdt/tst.argmap.o - /usr/sbin/dtrace -G -32 -o usdt/argmap.o -s usdt/argmap.d \ - usdt/tst.argmap.o + $(COMPILE.d) -o usdt/argmap.o -s usdt/argmap.d usdt/tst.argmap.o + +usdt/tst.forker.exe: usdt/tst.forker.o usdt/forker.o + $(LINK.c) -o usdt/tst.forker.exe usdt/tst.forker.o usdt/forker.o \ + $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) + +usdt/forker.o: usdt/forker.d usdt/tst.forker.o + $(COMPILE.d) -o usdt/forker.o -s usdt/forker.d usdt/tst.forker.o + +usdt/tst.forker.o: usdt/forker.h + +usdt/forker.h: usdt/forker.d + $(DTRACE) -h -s usdt/forker.d -o usdt/forker.h SUBDIRS = java_api include ../../Makefile.subdirs ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -50,7 +50,7 @@ } tick-100ms -/x <= 20/ +/x > 5 && x <= 20/ { printa(" %@d\n", @time); clear(@time); ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out#2 (text+ko) ==== @@ -13,9 +13,4 @@ 0 0 0 - 0 - 0 - 0 - 0 - 0 ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -95,6 +95,9 @@ INTFUNC(ntohs(0x1234)) INTFUNC(ntohl(0x12345678)) INTFUNC(ntohll(0x1234567890abcdefL)) +STRFUNC(inet_ntoa((ipaddr_t *)alloca(sizeof (ipaddr_t)))) +STRFUNC(inet_ntoa6((in6_addr_t *)alloca(sizeof (in6_addr_t)))) +STRFUNC(inet_ntop(AF_INET, (void *)alloca(sizeof (ipaddr_t)))) BEGIN /subr == DIF_SUBR_MAX + 1/ ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize1.d#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -36,27 +36,14 @@ * Options and Tunables/bufresize * * NOTES: - * On some small memory machines, this test may consume so much memory - * that it induces memory allocation failure in the dtrace library. This - * will manifest itself as an error like one of the following: - * - * dtrace: processing aborted: Memory allocation failure - * dtrace: could not enable tracing: Memory allocation failure - * - * These actually indicate that the test performed as expected; failures - * of the above nature should therefore be ignored. If 32-bit libdtrace - * is used to execute this test on a 64-bit kernel, the failure mode - * becomes exceedingly likely because the kernel may be able to allocate - * a huge hunk of memory that then requires the client to match it with - * a malloc that exhausts the remainder of its 4GB address space. For - * this reason, we no-op the test for 32-bit clients using an ifdef. + * We use the undocumented "preallocate" option to make sure dtrace(1M) + * has enough space in its heap to allocate a buffer as large as the + * kernel's trace buffer. */ +#pragma D option preallocate=100t #pragma D option bufresize=auto - -#ifdef __SUNW_D_64 #pragma D option bufsize=100t -#endif BEGIN { ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize2.d#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -36,18 +36,12 @@ * Options and Tunables/bufresize * * NOTES: - * On some small memory machines, this test may consume so much memory - * that it induces memory allocation failure in the dtrace library. This - * will manifest itself as an error like one of the following: - * - * dtrace: processing aborted: Memory allocation failure - * dtrace: could not enable tracing: Memory allocation failure - * - * These actually indicate that the test performed as expected; failures - * of the above nature should therefore be ignored. - * + * We use the undocumented "preallocate" option to make sure dtrace(1M) + * has enough space in its heap to allocate a buffer as large as the + * kernel's trace buffer. */ +#pragma D option preallocate=100t #pragma D option bufresize=auto #pragma D option aggsize=100t ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh#3 (text+ko) ==== @@ -1,5 +1,3 @@ -#!/bin/ksh -p - # # CDDL HEADER START # @@ -22,11 +20,11 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" # # ASSERTION: @@ -35,18 +33,6 @@ # SECTION: dtrace Utility/-b Option # -script() -{ - $dtrace -b 1g -s /dev/stdin <' exit 2 @@ -54,11 +40,6 @@ dtrace=$1 -script -status=$? +$dtrace -b 1g -b 2g -e -if [ "$status" -ne 0 ]; then - echo $tst: dtrace failed -fi - -exit $status +exit $? ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh#3 (text+ko) ==== @@ -1,4 +1,3 @@ -#!/bin/ksh -p # # CDDL HEADER START # @@ -21,32 +20,19 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -## -# +# # ASSERTION: # The trace buffer size can include any of the size suffixes k, m, g or t # # SECTION: dtrace Utility/-b Option # -## -script() -{ - $dtrace -b 1k -b 2k -s /dev/stdin <' exit 2 @@ -54,11 +40,6 @@ dtrace=$1 -script -status=$? +$dtrace -b 1k -b 2k -e -if [ "$status" -ne 0 ]; then - echo $tst: dtrace failed -fi - -exit $status +exit $? ==== //depot/projects/opensolaris/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh#3 (text+ko) ==== @@ -1,4 +1,3 @@ -#!/bin/ksh -p # # CDDL HEADER START # @@ -21,32 +20,19 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -## # # ASSERTION: # The trace buffer size can include any of the size suffixes k, m, g or t # # SECTION: dtrace Utility/-b Option # -## -script() -{ - $dtrace -b 1m -b 2m -s /dev/stdin <' exit 2 @@ -54,11 +40,6 @@ dtrace=$1 -script >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Sep 26 10:17:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 949C316A41A; Wed, 26 Sep 2007 10:17:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F2CA16A49E for ; Wed, 26 Sep 2007 10:17:44 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 766F213C458 for ; Wed, 26 Sep 2007 10:17:44 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8QAHicd094795 for ; Wed, 26 Sep 2007 10:17:44 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8QAHgTp094791 for perforce@freebsd.org; Wed, 26 Sep 2007 10:17:42 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Sep 2007 10:17:42 GMT Message-Id: <200709261017.l8QAHgTp094791@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126822 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 10:17:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=126822 Change 126822 by jb@jb_freebsd1 on 2007/09/26 10:17:33 IFopensolaris Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/README#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/badioctl.c#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/32/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/64/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/Makefile.com#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Getopt.java#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/JDTrace.java#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/jdtrace.c#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/src/Getopt.java#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/src/JDTrace.java#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/src/jdtrace.c#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/Makefile#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/Makefile.pkg#4 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/Makefile#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/pkginfo.tmpl#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/prototype_com#4 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/prototype_i386#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/SUNWdtrt/prototype_sparc#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/common/README#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/common/bld_awk_pkginfo.ksh#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/common/copyright#2 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/pkg/common/depend#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/Makefile.com#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/Makefile#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out#2 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.invalidref.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize1.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize2.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeTera.d.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtabadarg.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.progenyofbad2.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.chillbadarg.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyoutbadaddr.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.copyoutstrbadaddr.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntoa6badaddr.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntoabadaddr.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntopbadaddr.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.inet_ntopbadarg.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa.d.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa6.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntoa6.d.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntop.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.inet_ntop.d.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/bitarch.c#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestBean.java#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestDrop.java#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestMaxConsumers.java#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Abort.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Bean.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Bean.ksh.out#2 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Close.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Drop.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Drop.ksh.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.Enable.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.c#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.MaxConsumers.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.MaxConsumers.ksh.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.MultiAggPrinta.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.ProbeData.c#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.ProbeData.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.ProbeDescription.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.StateMachine.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.StopLock.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/mdb/tst.dtracedcmd.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/mib/tst.icmp.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/mib/tst.tcp.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/mib/tst.udp.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.fork.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.main.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.manypids.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.probemod.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.vfork.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/predicates/tst.predcache.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.d.out#2 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.d#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.d.out#2 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.ksh.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.d#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.d.out#2 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.ksh.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.create.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.discard.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exec.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitexit.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitkilled.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.signal.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.c#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.startexit.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.func.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.mod.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.sym.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufunc.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufuncsort.c#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.ufuncsort.ksh#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.umod.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/profile-n/tst.usym.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/safety/tst.violentdeath.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_COMM_COMM.CommitAftCommit.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_COMM_COMM.DisjointCommit.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_DREC_COMM.DataRecAftCommit.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_PRAGMA_MALFORM.NspecExpr.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_PRAGMA_OPTSET.HugeNspecValue.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_SPEC_COMM.SpecAftCommit.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.CommitAfterDiscard.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.CommitWithZero.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.DataRecAftDiscard.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.DiscardAftCommit.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.DiscardAftDiscard.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.DiscardWithZero.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.SpeculationCommit.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.SpeculationDiscard.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.TwoSpecBuffers.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post.c#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post_chan.c#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post_chan.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/forker.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.argmap.d#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose3.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.entryreturn.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.c#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.forker.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reeval.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/ustack/tst.bigstack.c#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/ustack/tst.bigstack.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/vars/tst.ucaller.ksh#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.badinstr.s#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.branch.s#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.embedded.s#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.ret.s#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/pid/tst.retlist.s#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/annotated_helper.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/helper_helper.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.annotated_helper.d#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.circstack.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.circstack.s#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.helper.c#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/tst.helper_helper.d#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/Makefile#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.br.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.br.d.out#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.br.s#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.branch.s#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/tst.embedded.s#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/usdt/tst.tailcall.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/annotated_helper.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/helper_helper.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.annotated_helper.d#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.circstack.d#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.circstack.s#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.helper.c#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.helper_helper.d#3 delete .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/sparc/ustack/tst.trapstat.ksh#1 branch .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/include/debug.h#7 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/messages/sgs.ident#3 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_error.c#6 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_handle.c#5 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_ident.c#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_link.c#8 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_map.c#5 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_module.c#11 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#18 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_options.c#6 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_pid.c#7 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_proc.c#5 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_proc.h#4 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c#6 integrate .. //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/dwarf.c#7 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#24 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#12 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/isa_defs.h#4 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/zmod.h#3 integrate Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/Makefile#3 (text+ko) ==== @@ -20,12 +20,28 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" include $(SRC)/Makefile.master -SUBDIRS = cmd tst pkg -include $(SRC)/cmd/dtrace/test/Makefile.subdirs +SUBDIRS = cmd tst + +ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt + +include Makefile.subdirs + +install: $(ROOTOPTPKG)/README $(SUBDIRS) + +pkg: install + @cd $(PKGDEFS) pwd; $(MAKE) awk_pkginfo + @cd $(PKGDEFS)/SUNWdtrt; pwd; $(MAKE) install + +$(ROOTOPTPKG): + $(INS.dir) + +$(ROOTOPTPKG)/%: ./% $(ROOTOPTPKG) + $(RM) $@ + $(CP) $< $@ ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/Makefile#3 (text+ko) ==== @@ -20,19 +20,19 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -include $(SRC)/Makefile.master +include $(SRC)/cmd/Makefile.cmd .KEEP_STATE: ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt ROOTBIN = $(ROOTOPTPKG)/bin -LDFLAGS += -znodefs -ztextoff +LDFLAGS += $(ZNODEFS) $(ZTEXTOFF) LDLIBS = $(LDLIBS.cmd) LDLIBS += -ldtrace ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -33,36 +33,8 @@ #include #include #include - -#define DTRACE_VERSION 1 - -typedef struct dtrace_hdl dtrace_hdl_t; -typedef struct dtrace_prog dtrace_prog_t; -typedef struct dtrace_vector dtrace_vector_t; -typedef int64_t dtrace_aggvarid_t; - -#define DTRACEIOC (('d' << 24) | ('t' << 16) | ('r' << 8)) -#define DTRACEIOC_ENABLE (DTRACEIOC | 6) /* enable probes */ - -extern dtrace_hdl_t *dtrace_open(int, int, int *); -extern dtrace_prog_t *dtrace_program_fcompile(dtrace_hdl_t *, - FILE *, uint_t, int, char *const []); -extern void *dtrace_program_dof(dtrace_hdl_t *, dtrace_prog_t *, uint_t); - -#define DOF_ID_SIZE 16 /* total size of dofh_ident[] in bytes */ +#include -typedef struct dof_hdr { - uint8_t dofh_ident[DOF_ID_SIZE]; /* identification bytes (see below) */ - uint32_t dofh_flags; /* file attribute flags (if any) */ - uint32_t dofh_hdrsize; /* size of file header in bytes */ - uint32_t dofh_secsize; /* size of section header in bytes */ - uint32_t dofh_secnum; /* number of section headers */ - uint64_t dofh_secoff; /* file offset of section headers */ - uint64_t dofh_loadsz; /* file size of loadable portion */ - uint64_t dofh_filesz; /* file size of entire DOF file */ - uint64_t dofh_pad; /* reserved for future use */ -} dof_hdr_t; - void fatal(char *fmt, ...) { @@ -180,7 +152,7 @@ } } -void +int main(int argc, char **argv) { char *filename = argv[1]; @@ -212,7 +184,7 @@ dtrace_errmsg(dtp, dtrace_errno(dtp))); } - dof = dtrace_program_dof(dtp, pgp, 0); + dof = dtrace_dof_create(dtp, pgp, 0); len = ((dof_hdr_t *)dof)->dofh_loadsz; if ((copy = malloc(len)) == NULL) @@ -231,4 +203,7 @@ corrupt(fd, copy, len); close(fd); } + + /* NOTREACHED */ + return (0); } ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/Makefile#3 (text+ko) ==== @@ -20,21 +20,20 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -include $(SRC)/Makefile.master +include $(SRC)/cmd/Makefile.cmd .KEEP_STATE: ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt ROOTBIN = $(ROOTOPTPKG)/bin -LDFLAGS += -znodefs -ztextoff +LDFLAGS += $(ZNODEFS) $(ZTEXTOFF) LDLIBS = $(LDLIBS.cmd) -LDLIBS += -ldtrace SRCS = badioctl CMDS = $(SRCS:%=$(ROOTBIN)/%) ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/badioctl/badioctl.c#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -111,7 +111,7 @@ } } -void +int main() { pid_t child, parent = getpid(); @@ -139,4 +139,7 @@ WTERMSIG(status)); fflush(stdout); } + + /* NOTREACHED */ + return (0); } ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/32/Makefile#3 (text+ko) ==== @@ -20,12 +20,11 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -include $(SRC)/Makefile.master include ../Makefile.com install: $(ROOTPROG32) $(ROOTISAEXEC) ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/64/Makefile#3 (text+ko) ==== @@ -20,12 +20,11 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -include $(SRC)/Makefile.master include $(SRC)/Makefile.master.64 include ../Makefile.com ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/Makefile.com#3 (text+ko) ==== @@ -20,10 +20,12 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" + +include $(SRC)/cmd/Makefile.cmd .KEEP_STATE: @@ -51,6 +53,7 @@ $(PROG): ../$(PROG).c $(LINK.c) -o $@ ../$(PROG).c $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) $(ROOTPROG32): $(ROOTBIN32) $(PROG) ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/cmd/jdtrace/Makefile#3 (text+ko) ==== @@ -20,12 +20,15 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" + +PROG = jdtrace +SRCS = jdtrace.c -include $(SRC)/Makefile.master +include $(SRC)/cmd/Makefile.cmd ROOTOPTPKG = $(ROOT)/opt/SUNWdtrt ROOTBIN = $(ROOTOPTPKG)/bin @@ -41,7 +44,6 @@ INSTALLED_DTRACE_JAR=/$(DTRACE_JAR) CLASSPATH=$(PROTO_DTRACE_JAR):$(INSTALLED_DTRACE_JAR) DTEST_DIR=$(SRC)/cmd/dtrace/test -SRCDIR=src CLASSDIR=classes LIBDIR=lib MANIFESTDIR=manifest @@ -52,30 +54,31 @@ CMD = $(ROOTBIN)/jdtrace XLIST = $(ROOTBIN)/exception.lst +$(PROTO_JDTRACE_JAR) := FILEMODE = 0644 $(CMD) := FILEMODE = 0555 +$(XLIST) := FILEMODE = 0444 -default: $(JDTRACE_JAR) jdtrace.exe +all: $(JDTRACE_JAR) $(PROG) clean: - $(RM) $(CLASSDIR)/*.class + -$(RM) $(CLASSDIR)/*.class clobber: clean - $(RM) $(JDTRACE_JAR) - $(RM) jdtrace.exe + -$(RM) $(JDTRACE_JAR) + -$(RM) $(PROG) -all: default - lint: install: all $(PROTO_JDTRACE_JAR) $(CMD) $(XLIST) -jdtrace.exe: $(SRCDIR)/jdtrace.c - $(CC) -I/usr/include $(SRCDIR)/jdtrace.c -o jdtrace.exe +$(PROG): $(SRCS) + $(LINK.c) -o $@ $(SRCS) $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) -$(JDTRACE_JAR): $(SRCDIR)/JDTrace.java $(SRCDIR)/Getopt.java +$(JDTRACE_JAR): JDTrace.java Getopt.java @mkdir -p $(CLASSDIR) @mkdir -p $(LIBDIR) - $(JAVAC) -cp $(CLASSPATH) -d $(CLASSDIR) $(SRCDIR)/*.java + $(JAVAC) -cp $(CLASSPATH) -d $(CLASSDIR) *.java $(JAR) -cmf $(MANIFEST) $(JDTRACE_JAR) -C $(CLASSDIR) . $(PROTO_JDTRACE_JAR): $(ROOTLIBJAVA) @@ -96,8 +99,5 @@ $(ROOTLIBJAVA)/%.jar: $(LIBDIR)/%.jar $(INS.file) -$(ROOTBIN)/%.lst: %.lst +$(ROOTBIN)/%: % $(INS.file) - -$(ROOTBIN)/%: %.exe - $(INS.rename) ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/Makefile#3 (text+ko) ==== @@ -20,7 +20,7 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" @@ -32,4 +32,8 @@ dstyle := TARGET += dstyle +check: FRC + @$(ECHO) "checking dstyle" + @$(MAKE) dstyle + dstyle: $(SUBDIRS) ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/Makefile.com#3 (text+ko) ==== @@ -20,12 +20,13 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" +# -include $(SRC)/Makefile.master +include $(SRC)/cmd/Makefile.cmd .KEEP_STATE: @@ -58,9 +59,9 @@ clean lint: clobber: FRC - rm -f $(CSRCS:%.c=%.exe) $(CSRCS:%.c=%.o) - rm -f $(SSRCS:%.s=%.exe) $(SSRCS:%.s=%.o) - rm -f $(DSRC:%.d=%.o) + -$(RM) $(CSRCS:%.c=%.exe) $(CSRCS:%.c=%.o) + -$(RM) $(SSRCS:%.s=%.exe) $(SSRCS:%.s=%.o) + -$(RM) $(DSRCS:%.d=%.o) install: $(ROOT_TSTS) $(ROOT_EXES) @@ -76,16 +77,20 @@ $(INS.file) %.exe: %.c - $(LINK.c) -o $@ $< $(LIBS) + $(LINK.c) -o $@ $< $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) %.exe: %.o - $(CC) -o $@ $< $(LIBS) + $(LINK.c) -o $@ $< $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) %.o: %.c - $(COMPILE.c) -o $@ $< $(LIBS) + $(COMPILE.c) -o $@ $< + $(POST_PROCESS_O) %.o: %.s - $(AS) $(ASFLAGS) -o $@ $< $(LIBS) + $(COMPILE.s) -o $@ $< + $(POST_PROCESS_O) scripts: FRC @cd ../cmd/scripts; pwd; $(MAKE) install ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/Makefile#4 (text+ko) ==== @@ -20,38 +20,58 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" +# include $(SRC)/Makefile.master include ../Makefile.com -fasttrap/tst.fasttrap.exe := LIBS += -ldtrace -fasttrap/tst.stack.exe := LIBS += -ldtrace +fasttrap/tst.fasttrap.exe := LDLIBS += -ldtrace +fasttrap/tst.stack.exe := LDLIBS += -ldtrace + +proc/tst.sigwait.exe := LDLIBS += -lrt + +sysevent/tst.post.exe := LDLIBS += -lsysevent +sysevent/tst.post_chan.exe := LDLIBS += -lsysevent -proc/tst.sigwait.exe := LIBS += -lrt +ustack/tst.bigstack.exe := COPTFLAG += -xO1 -GCC = /usr/sfw/bin/gcc -GCCFLAGS_sparc = -mcpu=ultrasparc -GCCFLAGS = $(GCCFLAGS_$(MACH)) +GCC = $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc pid/tst.gcc.exe: pid/tst.gcc.c - $(GCC) $(GCCFLAGS) -o pid/tst.gcc.exe pid/tst.gcc.c + $(GCC) -o pid/tst.gcc.exe pid/tst.gcc.c $(LDFLAGS) + $(POST_PROCESS) ; $(STRIP_STABS) usdt/tst.args.exe: usdt/tst.args.o usdt/args.o - $(CC) -o usdt/tst.args.exe usdt/tst.args.o usdt/args.o + $(LINK.c) -o usdt/tst.args.exe usdt/tst.args.o usdt/args.o $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) usdt/args.o: usdt/args.d usdt/tst.args.o - /usr/sbin/dtrace -G -32 -o usdt/args.o -s usdt/args.d usdt/tst.args.o + $(COMPILE.d) -o usdt/args.o -s usdt/args.d usdt/tst.args.o usdt/tst.argmap.exe: usdt/tst.argmap.o usdt/argmap.o - $(CC) -o usdt/tst.argmap.exe usdt/tst.argmap.o usdt/argmap.o + $(LINK.c) -o usdt/tst.argmap.exe usdt/tst.argmap.o usdt/argmap.o \ + $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) usdt/argmap.o: usdt/argmap.d usdt/tst.argmap.o - /usr/sbin/dtrace -G -32 -o usdt/argmap.o -s usdt/argmap.d \ - usdt/tst.argmap.o + $(COMPILE.d) -o usdt/argmap.o -s usdt/argmap.d usdt/tst.argmap.o + +usdt/tst.forker.exe: usdt/tst.forker.o usdt/forker.o + $(LINK.c) -o usdt/tst.forker.exe usdt/tst.forker.o usdt/forker.o \ + $(LDLIBS) + $(POST_PROCESS) ; $(STRIP_STABS) + +usdt/forker.o: usdt/forker.d usdt/tst.forker.o + $(COMPILE.d) -o usdt/forker.o -s usdt/forker.d usdt/tst.forker.o + +usdt/tst.forker.o: usdt/forker.h + +usdt/forker.h: usdt/forker.d + $(DTRACE) -h -s usdt/forker.d -o usdt/forker.h SUBDIRS = java_api include ../../Makefile.subdirs ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -50,7 +50,7 @@ } tick-100ms -/x <= 20/ +/x > 5 && x <= 20/ { printa(" %@d\n", @time); clear(@time); ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearavg2.d.out#2 (text+ko) ==== @@ -13,9 +13,4 @@ 0 0 0 - 0 - 0 - 0 - 0 - 0 ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -95,6 +95,9 @@ INTFUNC(ntohs(0x1234)) INTFUNC(ntohl(0x12345678)) INTFUNC(ntohll(0x1234567890abcdefL)) +STRFUNC(inet_ntoa((ipaddr_t *)alloca(sizeof (ipaddr_t)))) +STRFUNC(inet_ntoa6((in6_addr_t *)alloca(sizeof (in6_addr_t)))) +STRFUNC(inet_ntop(AF_INET, (void *)alloca(sizeof (ipaddr_t)))) BEGIN /subr == DIF_SUBR_MAX + 1/ ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize1.d#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -36,27 +36,14 @@ * Options and Tunables/bufresize * * NOTES: - * On some small memory machines, this test may consume so much memory - * that it induces memory allocation failure in the dtrace library. This - * will manifest itself as an error like one of the following: - * - * dtrace: processing aborted: Memory allocation failure - * dtrace: could not enable tracing: Memory allocation failure - * - * These actually indicate that the test performed as expected; failures - * of the above nature should therefore be ignored. If 32-bit libdtrace - * is used to execute this test on a 64-bit kernel, the failure mode - * becomes exceedingly likely because the kernel may be able to allocate - * a huge hunk of memory that then requires the client to match it with - * a malloc that exhausts the remainder of its 4GB address space. For - * this reason, we no-op the test for 32-bit clients using an ifdef. + * We use the undocumented "preallocate" option to make sure dtrace(1M) + * has enough space in its heap to allocate a buffer as large as the + * kernel's trace buffer. */ +#pragma D option preallocate=100t #pragma D option bufresize=auto - -#ifdef __SUNW_D_64 #pragma D option bufsize=100t -#endif BEGIN { ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/buffering/tst.resize2.d#3 (text+ko) ==== @@ -20,7 +20,7 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -36,18 +36,12 @@ * Options and Tunables/bufresize * * NOTES: - * On some small memory machines, this test may consume so much memory - * that it induces memory allocation failure in the dtrace library. This - * will manifest itself as an error like one of the following: - * - * dtrace: processing aborted: Memory allocation failure - * dtrace: could not enable tracing: Memory allocation failure - * - * These actually indicate that the test performed as expected; failures - * of the above nature should therefore be ignored. - * + * We use the undocumented "preallocate" option to make sure dtrace(1M) + * has enough space in its heap to allocate a buffer as large as the + * kernel's trace buffer. */ +#pragma D option preallocate=100t #pragma D option bufresize=auto #pragma D option aggsize=100t ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeGiga.d.ksh#4 (text+ko) ==== @@ -1,5 +1,3 @@ -#!/bin/ksh -p - # # CDDL HEADER START # @@ -22,11 +20,11 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" # # ASSERTION: @@ -35,18 +33,6 @@ # SECTION: dtrace Utility/-b Option # -script() -{ - $dtrace -b 1g -s /dev/stdin <' exit 2 @@ -54,11 +40,6 @@ dtrace=$1 -script -status=$? +$dtrace -b 1g -b 2g -e -if [ "$status" -ne 0 ]; then - echo $tst: dtrace failed -fi - -exit $status +exit $? ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeKilo.d.ksh#4 (text+ko) ==== @@ -1,4 +1,3 @@ -#!/bin/ksh -p # # CDDL HEADER START # @@ -21,32 +20,19 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -## -# +# # ASSERTION: # The trace buffer size can include any of the size suffixes k, m, g or t # # SECTION: dtrace Utility/-b Option # -## -script() -{ - $dtrace -b 1k -b 2k -s /dev/stdin <' exit 2 @@ -54,11 +40,6 @@ dtrace=$1 -script -status=$? +$dtrace -b 1k -b 2k -e -if [ "$status" -ne 0 ]; then - echo $tst: dtrace failed -fi - -exit $status +exit $? ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.BufsizeMega.d.ksh#4 (text+ko) ==== @@ -1,4 +1,3 @@ -#!/bin/ksh -p # # CDDL HEADER START # @@ -21,32 +20,19 @@ # # -# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" +# ident "%Z%%M% %I% %E% SMI" -## # # ASSERTION: # The trace buffer size can include any of the size suffixes k, m, g or t # # SECTION: dtrace Utility/-b Option # -## -script() -{ - $dtrace -b 1m -b 2m -s /dev/stdin <' exit 2 @@ -54,11 +40,6 @@ dtrace=$1 -script >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Sep 26 15:48:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C337F16A41A; Wed, 26 Sep 2007 15:48:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70EA716A418 for ; Wed, 26 Sep 2007 15:48:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 7727813C481 for ; Wed, 26 Sep 2007 15:48:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id CC59D1A4D98; Wed, 26 Sep 2007 08:48:16 -0700 (PDT) From: John Baldwin To: Roman Divacky Date: Wed, 26 Sep 2007 10:42:57 -0400 User-Agent: KMail/1.9.7 References: <200708172057.l7HKvMhw000824@repoman.freebsd.org> <20070818084608.GA70909@freebsd.org> In-Reply-To: <20070818084608.GA70909@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709261042.58487.jhb@freebsd.org> Cc: Jesper Brix Rosenkilde , Perforce Change Reviews Subject: Re: PERFORCE change 125277 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 15:48:18 -0000 On Saturday 18 August 2007 04:46:08 am Roman Divacky wrote: > > struct image_params *imgp; > > { > > int error; > > + struct proc *p = imgp->proc; > > vm_map_t map = &imgp->proc->p_vmspace->vm_map; > > vm_offset_t *addr = &imgp->proc->p_usrsysshm; > > - int test = 42; > > + struct sysshm outsysshm; > > > > error = vm_map_sysshm(map, addr, 42); > > > > - copyout((caddr_t) &test, (caddr_t) *addr, sizeof(int)); > > + outsysshm.pid = p->p_pid; > > + strncpy(outsysshm.progtitle, p->p_comm, MAXCOMLEN); > > + strncpy(outsysshm.proctitle, "\0", 1); > > + copyout((caddr_t) &outsysshm, (caddr_t) *addr, sizeof(struct sysshm)); > > > the p->p_comm can be changed under your hands. you need to lock "p" and obtain > local copy and copyout the local copy. Actually, it is only set during exec() for userland processes, so this is probably fine. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Sep 26 15:48:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5CF016A524; Wed, 26 Sep 2007 15:48:18 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 29C6416A4E8 for ; Wed, 26 Sep 2007 15:48:18 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 075FC13C4A7 for ; Wed, 26 Sep 2007 15:48:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id 86C581A4D9A; Wed, 26 Sep 2007 08:48:17 -0700 (PDT) From: John Baldwin To: Roman Divacky Date: Wed, 26 Sep 2007 10:48:10 -0400 User-Agent: KMail/1.9.7 References: <200708200201.l7K21c3v034586@repoman.freebsd.org> <20070820091136.GA47764@freebsd.org> In-Reply-To: <20070820091136.GA47764@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709261048.11221.jhb@freebsd.org> Cc: Jesper Brix Rosenkilde , Perforce Change Reviews Subject: Re: PERFORCE change 125372 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 15:48:19 -0000 On Monday 20 August 2007 05:11:36 am Roman Divacky wrote: > > + PROC_LOCK(p); > > outsysshm.pid = p->p_pid; > > - strncpy(outsysshm.progtitle, p->p_comm, MAXCOMLEN); > > - strncpy(outsysshm.proctitle, "\0", 1); > > - copyout((caddr_t) &outsysshm, (caddr_t) *addr, sizeof(struct sysshm)); > > + copyout(&outsysshm, (vm_offset_t *) p->p_usrsysshm, > > + sizeof(struct sysshm)); > > + PROC_UNLOCK(p); > > I dont think you can copyout while holding proc lock. Correct, but as per my earlier e-mail, the locking isn't needed anyway. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Sep 26 15:48:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4187016A47E; Wed, 26 Sep 2007 15:48:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10D3A16A47B; Wed, 26 Sep 2007 15:48:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 1844413C4C3; Wed, 26 Sep 2007 15:48:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id 8C9F61A4D9D; Wed, 26 Sep 2007 08:48:21 -0700 (PDT) From: John Baldwin To: "Constantine A. Murenin" Date: Wed, 26 Sep 2007 11:21:58 -0400 User-Agent: KMail/1.9.7 References: <200709091800.l89I0aM5060616@repoman.freebsd.org> In-Reply-To: <200709091800.l89I0aM5060616@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709261121.58419.jhb@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126230 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 15:48:22 -0000 On Sunday 09 September 2007 02:00:36 pm Constantine A. Murenin wrote: > http://perforce.freebsd.org/chv.cgi?CH=126230 > > Change 126230 by cnst@dale on 2007/09/09 18:00:16 > > put in a hack for supporting "Sysctl internal magic", > and now hw.sensors tree magically works in sysctl(8)! > > dale# sysctl hw.sensors.{lm0.volt{0,1,2,3},cpu{0,1}} > hw.sensors.lm0.volt0: 1.23 VDC (VCore) > hw.sensors.lm0.volt1: 12.30 VDC (+12V) > hw.sensors.lm0.volt2: 3.33 VDC (+3.3V) > hw.sensors.lm0.volt3: 3.31 VDC (+3.3V) > hw.sensors.cpu0.temp0: 28.00 degC > hw.sensors.cpu1.temp0: 28.00 degC > dale# > > (All other utilities continue working using a cross-platform > sysctl(3) interface, compatible with OpenBSD.) > > +#endif /* !NOSYSCTL8HACK */ > + > + > +#ifndef NOSYSCTL8HACK > + > +/* > + * XXX: > + * FreeBSD's sysctl(9) .oid_handler functionality is not accustomed > + * for the CTLTYPE_NODE handler to handle the undocumented sysctl > + * magic calls. As soon as such functionality is developed, > + * sysctl_sensors_handler() should be converted to handle all such > + * calls, and these sysctl_add_oid(9) calls should be removed > + * "with a big axe". This whole sysctl_add_oid(9) business is solely > + * to please sysctl(8). Actually, sysctl_add_oid(9) is how you should add a tree of sysctl's on the fly to FreeBSD. It frees you from having to manually simulate a sysctl tree yourself and instead focus on just handling the functionality for the leaf nodes. If you just gave each sensor its own sysctl ctx and tree most of your in-kernel code for dealing with 'hw.sensors' would go away as it would just be a normal node ala 'dev'. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Sep 26 15:48:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A6E016A46C; Wed, 26 Sep 2007 15:48:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EEE1316A420 for ; Wed, 26 Sep 2007 15:48:23 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 05E6A13C4A8 for ; Wed, 26 Sep 2007 15:48:24 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id 83DFE1A4DA4; Wed, 26 Sep 2007 08:48:23 -0700 (PDT) From: John Baldwin To: John Birrell Date: Wed, 26 Sep 2007 11:39:08 -0400 User-Agent: KMail/1.9.7 References: <200709260620.l8Q6KJNK062870@repoman.freebsd.org> In-Reply-To: <200709260620.l8Q6KJNK062870@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709261139.08955.jhb@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126816 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 15:48:24 -0000 On Wednesday 26 September 2007 02:20:19 am John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=126816 > > Change 126816 by jb@jb_freebsd1 on 2007/09/26 06:13:55 > > IFC > > (Note that this project still has the remnants of multiple > integrations from different trees which confused P4 so there > are things that got broken because of that.) Yay!! -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Sep 26 16:27:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4426316A468; Wed, 26 Sep 2007 16:27:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DCCD516A418; Wed, 26 Sep 2007 16:27:05 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from mojo.ru (mojo.ru [84.252.152.63]) by mx1.freebsd.org (Postfix) with ESMTP id 72F5513C469; Wed, 26 Sep 2007 16:27:05 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from [192.168.0.16] (nc-76-4-28-21.dhcp.embarqhsd.net [76.4.28.21]) (authenticated bits=0) by mojo.ru (8.12.11.20060308/8.12.10) with ESMTP id l8QGRB1M019436 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 26 Sep 2007 20:27:14 +0400 Message-ID: <46FA8845.9080208@FreeBSD.org> Date: Wed, 26 Sep 2007 12:26:45 -0400 From: "Constantine A. Murenin" Organization: Google Summer of Code 2007 Student @ The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-gb, en-gb-oed, en, en-us, ru, ru-ru, ru-su MIME-Version: 1.0 To: John Baldwin References: <200709091800.l89I0aM5060616@repoman.freebsd.org> <200709261121.58419.jhb@freebsd.org> In-Reply-To: <200709261121.58419.jhb@freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , "Constantine A. Murenin" Subject: Re: PERFORCE change 126230 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 16:27:06 -0000 On 26/09/2007 11:21, John Baldwin wrote: > On Sunday 09 September 2007 02:00:36 pm Constantine A. Murenin wrote: > >>http://perforce.freebsd.org/chv.cgi?CH=126230 >> >>Change 126230 by cnst@dale on 2007/09/09 18:00:16 >> >> put in a hack for supporting "Sysctl internal magic", >> and now hw.sensors tree magically works in sysctl(8)! >> >> dale# sysctl hw.sensors.{lm0.volt{0,1,2,3},cpu{0,1}} >> hw.sensors.lm0.volt0: 1.23 VDC (VCore) >> hw.sensors.lm0.volt1: 12.30 VDC (+12V) >> hw.sensors.lm0.volt2: 3.33 VDC (+3.3V) >> hw.sensors.lm0.volt3: 3.31 VDC (+3.3V) >> hw.sensors.cpu0.temp0: 28.00 degC >> hw.sensors.cpu1.temp0: 28.00 degC >> dale# >> >> (All other utilities continue working using a cross-platform >> sysctl(3) interface, compatible with OpenBSD.) >> >>+#endif /* !NOSYSCTL8HACK */ >>+ >>+ >>+#ifndef NOSYSCTL8HACK >>+ >>+/* >>+ * XXX: >>+ * FreeBSD's sysctl(9) .oid_handler functionality is not accustomed >>+ * for the CTLTYPE_NODE handler to handle the undocumented sysctl >>+ * magic calls. As soon as such functionality is developed, >>+ * sysctl_sensors_handler() should be converted to handle all such >>+ * calls, and these sysctl_add_oid(9) calls should be removed >>+ * "with a big axe". This whole sysctl_add_oid(9) business is solely >>+ * to please sysctl(8). > > > Actually, sysctl_add_oid(9) is how you should add a tree of sysctl's on the > fly to FreeBSD. It frees you from having to manually simulate a sysctl > tree yourself and instead focus on just handling the functionality for the > leaf nodes. If you just gave each sensor its own sysctl ctx and tree most > of your in-kernel code for dealing with 'hw.sensors' would go away as it > would just be a normal node ala 'dev'. If you take a closer look, the code for manually keeping track of sensors is very straightforward -- mostly a linked list. sysctl(9) interface is much more complicated than that. This manual accounting of the sensors is a requirement for the sensors framework -- it is the basis for the concept of sensor device, which stores information about individual sensors each device has (similarly to a sysctl_ctx). It is also required to generate and keep track of the numt of each sensor. Using FreeBSD's internal magic does not make the userland applications portable, because there is no documented userland interface for listing all leaves of a given sysctl tree. (If you believe otherwise, a link to the manual page is welcome. :) C. From owner-p4-projects@FreeBSD.ORG Wed Sep 26 16:58:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D88316A421; Wed, 26 Sep 2007 16:58:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB4A316A41B for ; Wed, 26 Sep 2007 16:58:19 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E4A3313C45D for ; Wed, 26 Sep 2007 16:58:19 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8QGwJuZ046627 for ; Wed, 26 Sep 2007 16:58:19 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8QGwJYs046624 for perforce@freebsd.org; Wed, 26 Sep 2007 16:58:19 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 26 Sep 2007 16:58:19 GMT Message-Id: <200709261658.l8QGwJYs046624@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 126828 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 16:58:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=126828 Change 126828 by hselasky@hselasky_laptop001 on 2007/09/26 16:58:04 Set some more default values in case of error. Mainly for the UHCI HC driver, but useful in general. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#30 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#30 (text+ko) ==== @@ -625,6 +625,8 @@ done: if (parm->err) { xfer->max_usb_frame_size = 1; /* XXX avoid division by zero */ + xfer->max_frame_size = 1; /* XXX avoid division by zero */ + xfer->max_packet_size = 1; /* XXX avoid division by zero */ xfer->max_data_length = 0; xfer->nframes = 0; } From owner-p4-projects@FreeBSD.ORG Wed Sep 26 18:32:33 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B049216A46B; Wed, 26 Sep 2007 18:32:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D99416A420 for ; Wed, 26 Sep 2007 18:32:33 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id 072E513C4B0 for ; Wed, 26 Sep 2007 18:32:32 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.8p) with ESMTP id 211528330-1834499 for multiple; Wed, 26 Sep 2007 14:31:13 -0400 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l8QIWPRg024716; Wed, 26 Sep 2007 14:32:26 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: "Constantine A. Murenin" Date: Wed, 26 Sep 2007 13:25:55 -0400 User-Agent: KMail/1.9.6 References: <200709091800.l89I0aM5060616@repoman.freebsd.org> <200709261121.58419.jhb@freebsd.org> <46FA8845.9080208@FreeBSD.org> In-Reply-To: <46FA8845.9080208@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709261325.55901.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Wed, 26 Sep 2007 14:32:26 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/4405/Wed Sep 26 12:29:18 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126230 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 18:32:34 -0000 On Wednesday 26 September 2007 12:26:45 pm Constantine A. Murenin wrote: > On 26/09/2007 11:21, John Baldwin wrote: > > On Sunday 09 September 2007 02:00:36 pm Constantine A. Murenin wrote: > > > >>http://perforce.freebsd.org/chv.cgi?CH=126230 > >> > >>Change 126230 by cnst@dale on 2007/09/09 18:00:16 > >> > >> put in a hack for supporting "Sysctl internal magic", > >> and now hw.sensors tree magically works in sysctl(8)! > >> > >> dale# sysctl hw.sensors.{lm0.volt{0,1,2,3},cpu{0,1}} > >> hw.sensors.lm0.volt0: 1.23 VDC (VCore) > >> hw.sensors.lm0.volt1: 12.30 VDC (+12V) > >> hw.sensors.lm0.volt2: 3.33 VDC (+3.3V) > >> hw.sensors.lm0.volt3: 3.31 VDC (+3.3V) > >> hw.sensors.cpu0.temp0: 28.00 degC > >> hw.sensors.cpu1.temp0: 28.00 degC > >> dale# > >> > >> (All other utilities continue working using a cross-platform > >> sysctl(3) interface, compatible with OpenBSD.) > >> > >>+#endif /* !NOSYSCTL8HACK */ > >>+ > >>+ > >>+#ifndef NOSYSCTL8HACK > >>+ > >>+/* > >>+ * XXX: > >>+ * FreeBSD's sysctl(9) .oid_handler functionality is not accustomed > >>+ * for the CTLTYPE_NODE handler to handle the undocumented sysctl > >>+ * magic calls. As soon as such functionality is developed, > >>+ * sysctl_sensors_handler() should be converted to handle all such > >>+ * calls, and these sysctl_add_oid(9) calls should be removed > >>+ * "with a big axe". This whole sysctl_add_oid(9) business is solely > >>+ * to please sysctl(8). > > > > > > Actually, sysctl_add_oid(9) is how you should add a tree of sysctl's on the > > fly to FreeBSD. It frees you from having to manually simulate a sysctl > > tree yourself and instead focus on just handling the functionality for the > > leaf nodes. If you just gave each sensor its own sysctl ctx and tree most > > of your in-kernel code for dealing with 'hw.sensors' would go away as it > > would just be a normal node ala 'dev'. > > If you take a closer look, the code for manually keeping track of > sensors is very straightforward -- mostly a linked list. sysctl(9) > interface is much more complicated than that. > > This manual accounting of the sensors is a requirement for the sensors > framework -- it is the basis for the concept of sensor device, which > stores information about individual sensors each device has (similarly > to a sysctl_ctx). It is also required to generate and keep track of the > numt of each sensor. > > Using FreeBSD's internal magic does not make the userland applications > portable, because there is no documented userland interface for listing > all leaves of a given sysctl tree. (If you believe otherwise, a link to > the manual page is welcome. :) See device_t's. Each one has an associated sysctl ctx (and tree) while still having its own internal hierarchy of devices that is used to provide enumeration APIs to userland. It's fine to use a separate interface other than sysctl to tell userland which sensors exist (or you could have a sysctl whose value was a list of the sensor names, etc.), but sysctl_add_oid(9) means you don't need an actual 'hw.sensors' sysctl proc routine to manage the sysctl namespace for you. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Sep 26 19:23:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DE7816A41B; Wed, 26 Sep 2007 19:23:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24A5F16A417; Wed, 26 Sep 2007 19:23:38 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from mojo.ru (mojo.ru [84.252.152.63]) by mx1.freebsd.org (Postfix) with ESMTP id 07CA113C45D; Wed, 26 Sep 2007 19:23:36 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from [192.168.0.16] (nc-76-4-28-21.dhcp.embarqhsd.net [76.4.28.21]) (authenticated bits=0) by mojo.ru (8.12.11.20060308/8.12.10) with ESMTP id l8QJNg4A022370 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 26 Sep 2007 23:23:45 +0400 Message-ID: <46FAB1A4.3030001@FreeBSD.org> Date: Wed, 26 Sep 2007 15:23:16 -0400 From: "Constantine A. Murenin" Organization: Google Summer of Code 2007 Student @ The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-gb, en-gb-oed, en, en-us, ru, ru-ru, ru-su MIME-Version: 1.0 To: John Baldwin References: <200709091800.l89I0aM5060616@repoman.freebsd.org> <200709261121.58419.jhb@freebsd.org> <46FA8845.9080208@FreeBSD.org> <200709261325.55901.jhb@freebsd.org> In-Reply-To: <200709261325.55901.jhb@freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews , "Constantine A. Murenin" Subject: Re: PERFORCE change 126230 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 19:23:38 -0000 On 26/09/2007 13:25, John Baldwin wrote: > On Wednesday 26 September 2007 12:26:45 pm Constantine A. Murenin wrote: > >>On 26/09/2007 11:21, John Baldwin wrote: >> >>>On Sunday 09 September 2007 02:00:36 pm Constantine A. Murenin wrote: >>> >>> >>>>http://perforce.freebsd.org/chv.cgi?CH=126230 >>>> >>>>Change 126230 by cnst@dale on 2007/09/09 18:00:16 >>>> >>>> put in a hack for supporting "Sysctl internal magic", >>>> and now hw.sensors tree magically works in sysctl(8)! >>>> >>>> dale# sysctl hw.sensors.{lm0.volt{0,1,2,3},cpu{0,1}} >>>> hw.sensors.lm0.volt0: 1.23 VDC (VCore) >>>> hw.sensors.lm0.volt1: 12.30 VDC (+12V) >>>> hw.sensors.lm0.volt2: 3.33 VDC (+3.3V) >>>> hw.sensors.lm0.volt3: 3.31 VDC (+3.3V) >>>> hw.sensors.cpu0.temp0: 28.00 degC >>>> hw.sensors.cpu1.temp0: 28.00 degC >>>> dale# >>>> >>>> (All other utilities continue working using a cross-platform >>>> sysctl(3) interface, compatible with OpenBSD.) >>>> >>>>+#endif /* !NOSYSCTL8HACK */ >>>>+ >>>>+ >>>>+#ifndef NOSYSCTL8HACK >>>>+ >>>>+/* >>>>+ * XXX: >>>>+ * FreeBSD's sysctl(9) .oid_handler functionality is not accustomed >>>>+ * for the CTLTYPE_NODE handler to handle the undocumented sysctl >>>>+ * magic calls. As soon as such functionality is developed, >>>>+ * sysctl_sensors_handler() should be converted to handle all such >>>>+ * calls, and these sysctl_add_oid(9) calls should be removed >>>>+ * "with a big axe". This whole sysctl_add_oid(9) business is solely >>>>+ * to please sysctl(8). >>> >>> >>>Actually, sysctl_add_oid(9) is how you should add a tree of sysctl's on > > the > >>>fly to FreeBSD. It frees you from having to manually simulate a sysctl >>>tree yourself and instead focus on just handling the functionality for the >>>leaf nodes. If you just gave each sensor its own sysctl ctx and tree most >>>of your in-kernel code for dealing with 'hw.sensors' would go away as it >>>would just be a normal node ala 'dev'. >> >>If you take a closer look, the code for manually keeping track of >>sensors is very straightforward -- mostly a linked list. sysctl(9) >>interface is much more complicated than that. >> >>This manual accounting of the sensors is a requirement for the sensors >>framework -- it is the basis for the concept of sensor device, which >>stores information about individual sensors each device has (similarly >>to a sysctl_ctx). It is also required to generate and keep track of the >>numt of each sensor. >> >>Using FreeBSD's internal magic does not make the userland applications >>portable, because there is no documented userland interface for listing >>all leaves of a given sysctl tree. (If you believe otherwise, a link to >>the manual page is welcome. :) > > > See device_t's. Each one has an associated sysctl ctx (and tree) while still > having its own internal hierarchy of devices that is used to provide > enumeration APIs to userland. It's fine to use a separate interface other > than sysctl to tell userland which sensors exist (or you could have a sysctl > whose value was a list of the sensor names, etc.), but sysctl_add_oid(9) > means you don't need an actual 'hw.sensors' sysctl proc routine to manage the > sysctl namespace for you. But I why would I have a separate interface for showing sensor hierarchy if the sysctl interface can accomplish this purpose with FreeBSD's sysctl(9) .oid_handler and the sensordev structure, making the userland part of the framework entirely source-code compatible between OpenBSD and FreeBSD at the same time? Also, what is wrong with having a sysctl .oid_handler for managing the sysctl namespace? The .oid_handler functionality has been in the FreeBSD tree for ages -- why is it there if not for me to use it as it was designed for? :-) C. From owner-p4-projects@FreeBSD.ORG Wed Sep 26 20:40:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0A5516A494; Wed, 26 Sep 2007 20:40:08 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 95ECC16A49E for ; Wed, 26 Sep 2007 20:40:08 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5D39913C481 for ; Wed, 26 Sep 2007 20:40:08 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8QKe808074301 for ; Wed, 26 Sep 2007 20:40:08 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8QKe8FL074297 for perforce@freebsd.org; Wed, 26 Sep 2007 20:40:08 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 26 Sep 2007 20:40:08 GMT Message-Id: <200709262040.l8QKe8FL074297@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126835 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 20:40:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=126835 Change 126835 by kmacy@kmacy_home:ethng on 2007/09/26 20:40:03 increase delay in shutdown to avoid destroying the port lock before the last call to the tick handler Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 (text+ko) ==== @@ -1023,7 +1023,7 @@ ether_ifdetach(p->ifp); printf("waiting for callout to stop ..."); - DELAY(10000); + DELAY(100000); printf("done\n"); /* * the lock may be acquired in ifdetach From owner-p4-projects@FreeBSD.ORG Wed Sep 26 20:45:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C8E316A469; Wed, 26 Sep 2007 20:45:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDD1716A41A for ; Wed, 26 Sep 2007 20:45:15 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CA34213C468 for ; Wed, 26 Sep 2007 20:45:15 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8QKjF7O077376 for ; Wed, 26 Sep 2007 20:45:15 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8QKjFFS077373 for perforce@freebsd.org; Wed, 26 Sep 2007 20:45:15 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 26 Sep 2007 20:45:15 GMT Message-Id: <200709262045.l8QKjFFS077373@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126836 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 20:45:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=126836 Change 126836 by kmacy@kmacy_home:ethng on 2007/09/26 20:44:42 set ext_free on allocated clusters so that they are cached by the driver on free temporarily ifdef out prefetch call to avoid null pointer deref add statistics on the number of cache hits versus allocated clusters free cached buffers when destroying cxgb cache fix cluster leak in cxgb_cache_put add missing handling of non-standard cluster types in free routine Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#25 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/cxgb_support.c#3 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#7 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#7 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#25 (text+ko) ==== @@ -77,8 +77,10 @@ static int recycle_enable = 1; #endif extern int cxgb_txq_mbuf_ring_size; +int cxgb_cached_allocations; +int cxgb_cached; +int cxgb_ext_freed; - #define USE_GTS 0 #define SGE_RX_SM_BUF_SIZE 1536 @@ -2574,7 +2576,21 @@ #else static void -init_cluster_mbuf(caddr_t cl, int flags, int type) +ext_free_handler(void *cl, void * arg) +{ + uintptr_t type = (uintptr_t)arg; + uma_zone_t zone; + struct mbuf *m; + + m = cl; + zone = m_getzonefromtype(type); + m->m_ext.ext_type = (int)type; + cxgb_ext_freed++; + cxgb_cache_put(zone, cl); +} + +static void +init_cluster_mbuf(caddr_t cl, int flags, int type, uma_zone_t zone) { struct mbuf *m; int header_size; @@ -2591,7 +2607,9 @@ m->m_ext.ext_buf = cl; m->m_ext.ref_cnt = (uint32_t *)(cl + header_size - sizeof(uint32_t)); m->m_ext.ext_size = m_getsizefromtype(type); - m->m_ext.ext_type = type; + m->m_ext.ext_free = ext_free_handler; + m->m_ext.ext_args = (void *)(uintptr_t)type; + m->m_ext.ext_type = EXT_EXTREF; *(m->m_ext.ref_cnt) = 1; DPRINTF("data=%p ref_cnt=%p\n", m->m_data, m->m_ext.ref_cnt); } @@ -2610,10 +2628,12 @@ void *cl; int ret = 0; struct mbuf *m0; - - prefetch((sd + 1)->rxsd_cl); - prefetch((sd + 2)->rxsd_cl); - +#if 0 + if ((sd + 1 )->rxsd_cl) + prefetch((sd + 1)->rxsd_cl); + if ((sd + 2)->rxsd_cl) + prefetch((sd + 2)->rxsd_cl); +#endif DPRINTF("rx cpu=%d\n", curcpu); fl->credits--; bus_dmamap_sync(fl->entry_tag, sd->map, BUS_DMASYNC_POSTREAD); @@ -2636,7 +2656,7 @@ case RSPQ_SOP_EOP: DBG(DBG_RX, ("get_packet: SOP-EOP m %p\n", m)); if (cl == sd->rxsd_cl) - init_cluster_mbuf(cl, M_PKTHDR, fl->type); + init_cluster_mbuf(cl, M_PKTHDR, fl->type, fl->zone); m0->m_len = m0->m_pkthdr.len = len; ret = 1; goto done; @@ -3095,6 +3115,18 @@ "bogus_imm", CTLFLAG_RD, &bogus_imm, 0, "#times a bogus immediate response was seen"); + SYSCTL_ADD_INT(ctx, children, OID_AUTO, + "cache_alloc", + CTLFLAG_RD, &cxgb_cached_allocations, + 0, "#times a cluster was allocated from cache"); + SYSCTL_ADD_INT(ctx, children, OID_AUTO, + "cached", + CTLFLAG_RD, &cxgb_cached, + 0, "#times a cluster was cached"); + SYSCTL_ADD_INT(ctx, children, OID_AUTO, + "ext_freed", + CTLFLAG_RD, &cxgb_ext_freed, + 0, "#times a cluster was freed through ext_free"); } ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/cxgb_support.c#3 (text+ko) ==== @@ -137,10 +137,13 @@ static void cxgb_cache_pcpu_deinit(struct cxgb_cache_pcpu *ccp) { - /* - * XXX free clusters - */ - + void *cl; + + while ((cl = buf_stack_pop(&ccp->ccp_jumbo_free)) != NULL) + uma_zfree(ccp->ccp_jumbo_zone, cl); + while ((cl = buf_stack_pop(&ccp->ccp_cluster_free)) != NULL) + uma_zfree(zone_clust, cl); + buf_stack_deinit(&ccp->ccp_jumbo_free); buf_stack_deinit(&ccp->ccp_cluster_free); @@ -191,21 +194,23 @@ caddr_t cxgb_cache_get(uma_zone_t zone) { - caddr_t cl; + caddr_t cl = NULL; struct cxgb_cache_pcpu *ccp; critical_enter(); ccp = &cxgb_caches->ccs_array[curcpu]; if (zone == zone_clust) { cl = buf_stack_pop(&ccp->ccp_cluster_free); - } else { + } else if (zone == ccp->ccp_jumbo_zone) { cl = buf_stack_pop(&ccp->ccp_jumbo_free); } critical_exit(); if (cl == NULL) cl = uma_zalloc(zone, M_NOWAIT); - + else + cxgb_cached_allocations++; + return (cl); } @@ -213,7 +218,7 @@ cxgb_cache_put(uma_zone_t zone, void *cl) { struct cxgb_cache_pcpu *ccp; - int err = 0; + int err = ENOSPC; critical_enter(); ccp = &cxgb_caches->ccs_array[curcpu]; @@ -226,6 +231,8 @@ if (err) uma_zfree(zone, cl); + else + cxgb_cached++; } void ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#7 (text+ko) ==== @@ -42,6 +42,10 @@ void cxgb_cache_rebalance(void); +extern int cxgb_cached_allocations; +extern int cxgb_cached; +extern int cxgb_ext_freed; + #define mtomv(m) ((struct mbuf_vec *)((m)->m_pktdat)) #define M_IOVEC 0x100000 /* mbuf immediate data area is used for cluster ptrs */ ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#7 (text+ko) ==== @@ -312,6 +312,20 @@ break; case EXT_JUMBO16: uma_zfree(zone_jumbo16, cl); + break; + case EXT_SFBUF: + case EXT_NET_DRV: + case EXT_MOD_TYPE: + case EXT_DISPOSABLE: + *(mi->mi_refcnt) = 0; + uma_zfree(zone_ext_refcnt, __DEVOLATILE(u_int *, + mi->mi_ext.ref_cnt)); + /* FALLTHROUGH */ + case EXT_EXTREF: + KASSERT(mi->mi_ext.ext_free != NULL, + ("%s: ext_free not set", __func__)); + (*(mi->mi_ext.ext_free))(mi->mi_ext.ext_buf, + mi->mi_ext.ext_args); break; default: panic("unknown mv type in m_free_vec type=%d", type); From owner-p4-projects@FreeBSD.ORG Wed Sep 26 21:27:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 05E9B16A421; Wed, 26 Sep 2007 21:27:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1B1616A420 for ; Wed, 26 Sep 2007 21:27:15 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 87DF813C4B9 for ; Wed, 26 Sep 2007 21:27:15 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8QLRFID091077 for ; Wed, 26 Sep 2007 21:27:15 GMT (envelope-from marius@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8QLRBbi091074 for perforce@freebsd.org; Wed, 26 Sep 2007 21:27:11 GMT (envelope-from marius@freebsd.org) Date: Wed, 26 Sep 2007 21:27:11 GMT Message-Id: <200709262127.l8QLRBbi091074@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marius@freebsd.org using -f From: Marius Strobl To: Perforce Change Reviews Cc: Subject: PERFORCE change 126838 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 21:27:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=126838 Change 126838 by marius@flak on 2007/09/26 21:26:39 IFC @126837 in order to get the CVS repo version of gem(4). Affected files ... .. //depot/projects/usiii/amd64/amd64/genassym.c#2 integrate .. //depot/projects/usiii/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/usiii/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/usiii/amd64/conf/GENERIC#2 integrate .. //depot/projects/usiii/amd64/include/smp.h#2 integrate .. //depot/projects/usiii/amd64/include/vmparam.h#2 integrate .. //depot/projects/usiii/amd64/isa/clock.c#2 integrate .. //depot/projects/usiii/amd64/linux32/linux.h#2 integrate .. //depot/projects/usiii/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/usiii/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/usiii/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/usiii/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/usiii/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/usiii/arm/arm/pmap.c#2 integrate .. //depot/projects/usiii/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/usiii/arm/at91/at91_mci.c#2 integrate .. //depot/projects/usiii/arm/at91/at91_pmc.c#2 integrate .. //depot/projects/usiii/arm/conf/CRB#2 integrate .. //depot/projects/usiii/arm/include/asmacros.h#2 integrate .. //depot/projects/usiii/arm/include/endian.h#2 integrate .. //depot/projects/usiii/arm/include/vmparam.h#2 integrate .. //depot/projects/usiii/arm/sa11x0/uart_dev_sa1110.c#2 integrate .. //depot/projects/usiii/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/usiii/arm/xscale/i8134x/files.crb#2 integrate .. //depot/projects/usiii/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/usiii/arm/xscale/i8134x/i81342reg.h#2 integrate .. //depot/projects/usiii/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/usiii/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/usiii/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/usiii/boot/forth/loader.conf#2 integrate .. //depot/projects/usiii/compat/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/usiii/compat/linux/linux_stats.c#2 integrate .. //depot/projects/usiii/conf/NOTES#3 integrate .. //depot/projects/usiii/conf/files#2 integrate .. //depot/projects/usiii/conf/options#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/evmisc.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/evxface.c#2 integrate .. //depot/projects/usiii/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/usiii/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/usiii/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate .. //depot/projects/usiii/ddb/db_ps.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/usiii/dev/an/if_an.c#2 integrate .. //depot/projects/usiii/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/usiii/dev/ata/ata-pci.h#2 integrate .. //depot/projects/usiii/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/usiii/dev/ath/if_ath.c#3 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_common.h#2 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_sge_defs.h#2 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_t3_hw.c#2 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_vsc7323.c#2 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_xgmac.c#2 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_include.h#2 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_offload.h#2 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/usiii/dev/cxgb/t3fw-4.5.0.bin.gz.uu#2 delete .. //depot/projects/usiii/dev/cxgb/t3fw-4.7.0.bin.gz.uu#1 branch .. //depot/projects/usiii/dev/em/if_em.c#2 integrate .. //depot/projects/usiii/dev/em/if_em.h#2 integrate .. //depot/projects/usiii/dev/gem/if_gem.c#3 integrate .. //depot/projects/usiii/dev/gem/if_gem_pci.c#3 integrate .. //depot/projects/usiii/dev/gem/if_gemreg.h#3 integrate .. //depot/projects/usiii/dev/gem/if_gemvar.h#3 integrate .. //depot/projects/usiii/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/usiii/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/usiii/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/usiii/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/usiii/dev/pci/pcireg.h#2 integrate .. //depot/projects/usiii/dev/ral/rt2560.c#3 integrate .. //depot/projects/usiii/dev/ral/rt2661.c#3 integrate .. //depot/projects/usiii/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/usiii/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/usiii/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/usiii/dev/sound/pci/emu10kx.h#2 integrate .. //depot/projects/usiii/dev/syscons/syscons.c#2 integrate .. //depot/projects/usiii/dev/syscons/syscons.h#2 integrate .. //depot/projects/usiii/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/usiii/dev/usb/if_axe.c#2 integrate .. //depot/projects/usiii/dev/usb/if_axereg.h#2 integrate .. //depot/projects/usiii/dev/usb/if_rum.c#3 integrate .. //depot/projects/usiii/dev/usb/if_ural.c#3 integrate .. //depot/projects/usiii/dev/usb/if_zyd.c#3 integrate .. //depot/projects/usiii/dev/wi/if_wi.c#3 integrate .. //depot/projects/usiii/fs/msdosfs/msdosfs_fat.c#2 integrate .. //depot/projects/usiii/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/usiii/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/usiii/geom/virstor/binstream.c#1 branch .. //depot/projects/usiii/geom/virstor/binstream.h#1 branch .. //depot/projects/usiii/geom/virstor/g_virstor.c#1 branch .. //depot/projects/usiii/geom/virstor/g_virstor.h#1 branch .. //depot/projects/usiii/geom/virstor/g_virstor_md.c#1 branch .. //depot/projects/usiii/geom/virstor/g_virstor_md.h#1 branch .. //depot/projects/usiii/i386/acpica/madt.c#2 integrate .. //depot/projects/usiii/i386/conf/GENERIC#2 integrate .. //depot/projects/usiii/i386/i386/genassym.c#2 integrate .. //depot/projects/usiii/i386/i386/geode.c#2 integrate .. //depot/projects/usiii/i386/i386/local_apic.c#2 integrate .. //depot/projects/usiii/i386/include/smp.h#2 integrate .. //depot/projects/usiii/i386/include/vmparam.h#2 integrate .. //depot/projects/usiii/i386/linux/linux.h#2 integrate .. //depot/projects/usiii/i386/linux/linux_proto.h#2 integrate .. //depot/projects/usiii/i386/linux/linux_ptrace.c#2 integrate .. //depot/projects/usiii/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/usiii/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/usiii/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/usiii/i386/linux/syscalls.master#2 integrate .. //depot/projects/usiii/ia64/conf/GENERIC#2 integrate .. //depot/projects/usiii/ia64/ia64/uma_machdep.c#2 integrate .. //depot/projects/usiii/ia64/include/vmparam.h#2 integrate .. //depot/projects/usiii/kern/init_main.c#2 integrate .. //depot/projects/usiii/kern/kern_clock.c#2 integrate .. //depot/projects/usiii/kern/kern_exec.c#2 integrate .. //depot/projects/usiii/kern/kern_fork.c#2 integrate .. //depot/projects/usiii/kern/kern_kse.c#2 integrate .. //depot/projects/usiii/kern/kern_proc.c#2 integrate .. //depot/projects/usiii/kern/kern_switch.c#2 integrate .. //depot/projects/usiii/kern/kern_synch.c#2 integrate .. //depot/projects/usiii/kern/kern_thread.c#2 integrate .. //depot/projects/usiii/kern/kern_timeout.c#3 integrate .. //depot/projects/usiii/kern/sched_4bsd.c#2 integrate .. //depot/projects/usiii/kern/sched_ule.c#2 integrate .. //depot/projects/usiii/kern/subr_kdb.c#2 integrate .. //depot/projects/usiii/kern/subr_lock.c#2 integrate .. //depot/projects/usiii/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/usiii/kern/subr_smp.c#2 integrate .. //depot/projects/usiii/kern/subr_trap.c#2 integrate .. //depot/projects/usiii/kern/subr_witness.c#2 integrate .. //depot/projects/usiii/kern/sys_process.c#2 integrate .. //depot/projects/usiii/kern/vfs_bio.c#2 integrate .. //depot/projects/usiii/kern/vfs_cache.c#2 integrate .. //depot/projects/usiii/kern/vfs_lookup.c#2 integrate .. //depot/projects/usiii/kern/vfs_mount.c#2 integrate .. //depot/projects/usiii/kern/vfs_subr.c#2 integrate .. //depot/projects/usiii/kern/vfs_syscalls.c#2 integrate .. //depot/projects/usiii/modules/Makefile#3 integrate .. //depot/projects/usiii/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/usiii/modules/cxgb/Makefile#2 integrate .. //depot/projects/usiii/modules/geom/geom_virstor/Makefile#1 branch .. //depot/projects/usiii/modules/sound/driver/emu10kx/Makefile#2 integrate .. //depot/projects/usiii/net/bpf.c#2 integrate .. //depot/projects/usiii/net/bpf_filter.c#2 integrate .. //depot/projects/usiii/net/if_bridge.c#2 integrate .. //depot/projects/usiii/net/if_ethersubr.c#2 integrate .. //depot/projects/usiii/net/if_media.h#2 integrate .. //depot/projects/usiii/net/if_stf.c#2 integrate .. //depot/projects/usiii/net/rtsock.c#2 integrate .. //depot/projects/usiii/net80211/_ieee80211.h#3 integrate .. //depot/projects/usiii/net80211/ieee80211.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/usiii/net80211/ieee80211_ht.h#2 integrate .. //depot/projects/usiii/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/usiii/net80211/ieee80211_node.c#3 integrate .. //depot/projects/usiii/net80211/ieee80211_node.h#2 integrate .. //depot/projects/usiii/net80211/ieee80211_output.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_power.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_proto.c#3 integrate .. //depot/projects/usiii/net80211/ieee80211_proto.h#3 integrate .. //depot/projects/usiii/net80211/ieee80211_regdomain.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_var.h#3 integrate .. //depot/projects/usiii/netgraph/ng_ppp.c#2 integrate .. //depot/projects/usiii/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/usiii/netinet/in_gif.c#2 integrate .. //depot/projects/usiii/netinet/sctp.h#2 integrate .. //depot/projects/usiii/netinet/sctp_asconf.c#2 integrate .. //depot/projects/usiii/netinet/sctp_asconf.h#2 integrate .. //depot/projects/usiii/netinet/sctp_auth.c#2 integrate .. //depot/projects/usiii/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/usiii/netinet/sctp_cc_functions.c#2 integrate .. //depot/projects/usiii/netinet/sctp_cc_functions.h#2 integrate .. //depot/projects/usiii/netinet/sctp_constants.h#2 integrate .. //depot/projects/usiii/netinet/sctp_indata.c#2 integrate .. //depot/projects/usiii/netinet/sctp_input.c#2 integrate .. //depot/projects/usiii/netinet/sctp_lock_bsd.h#2 integrate .. //depot/projects/usiii/netinet/sctp_os_bsd.h#2 integrate .. //depot/projects/usiii/netinet/sctp_output.c#2 integrate .. //depot/projects/usiii/netinet/sctp_output.h#2 integrate .. //depot/projects/usiii/netinet/sctp_pcb.c#2 integrate .. //depot/projects/usiii/netinet/sctp_pcb.h#2 integrate .. //depot/projects/usiii/netinet/sctp_peeloff.c#2 integrate .. //depot/projects/usiii/netinet/sctp_structs.h#2 integrate .. //depot/projects/usiii/netinet/sctp_sysctl.c#2 integrate .. //depot/projects/usiii/netinet/sctp_sysctl.h#2 integrate .. //depot/projects/usiii/netinet/sctp_timer.c#2 integrate .. //depot/projects/usiii/netinet/sctp_timer.h#2 integrate .. //depot/projects/usiii/netinet/sctp_uio.h#2 integrate .. //depot/projects/usiii/netinet/sctp_usrreq.c#2 integrate .. //depot/projects/usiii/netinet/sctp_var.h#2 integrate .. //depot/projects/usiii/netinet/sctputil.c#2 integrate .. //depot/projects/usiii/netinet/sctputil.h#2 integrate .. //depot/projects/usiii/netinet/tcp_input.c#2 integrate .. //depot/projects/usiii/netinet/tcp_subr.c#3 integrate .. //depot/projects/usiii/netinet/tcp_timer.c#3 integrate .. //depot/projects/usiii/netinet/tcp_timer.h#3 integrate .. //depot/projects/usiii/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/usiii/netinet/tcp_var.h#3 integrate .. //depot/projects/usiii/netinet/udp_usrreq.c#2 integrate .. //depot/projects/usiii/netinet6/sctp6_usrreq.c#2 integrate .. //depot/projects/usiii/netinet6/sctp6_var.h#2 integrate .. //depot/projects/usiii/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/usiii/netipsec/ipsec_input.c#2 integrate .. //depot/projects/usiii/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/usiii/nfsclient/nfs_nfsiod.c#2 integrate .. //depot/projects/usiii/pc98/conf/GENERIC#2 integrate .. //depot/projects/usiii/pci/agp_i810.c#2 integrate .. //depot/projects/usiii/pci/agp_via.c#2 integrate .. //depot/projects/usiii/powerpc/conf/GENERIC#2 integrate .. //depot/projects/usiii/powerpc/conf/NOTES#3 integrate .. //depot/projects/usiii/powerpc/include/vmparam.h#2 integrate .. //depot/projects/usiii/powerpc/powerpc/uma_machdep.c#2 integrate .. //depot/projects/usiii/security/mac/mac_framework.h#2 integrate .. //depot/projects/usiii/security/mac/mac_policy.h#2 integrate .. //depot/projects/usiii/security/mac/mac_vfs.c#2 integrate .. //depot/projects/usiii/security/mac_biba/mac_biba.c#2 integrate .. //depot/projects/usiii/security/mac_bsdextended/mac_bsdextended.c#2 integrate .. //depot/projects/usiii/security/mac_lomac/mac_lomac.c#2 integrate .. //depot/projects/usiii/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/usiii/security/mac_stub/mac_stub.c#2 integrate .. //depot/projects/usiii/security/mac_test/mac_test.c#2 integrate .. //depot/projects/usiii/sparc64/conf/GENERIC#2 integrate .. //depot/projects/usiii/sparc64/include/vmparam.h#2 integrate .. //depot/projects/usiii/sparc64/pci/ofw_pcibus.c#3 integrate .. //depot/projects/usiii/sparc64/sparc64/genassym.c#2 integrate .. //depot/projects/usiii/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/usiii/sun4v/conf/GENERIC#2 integrate .. //depot/projects/usiii/sun4v/include/vmparam.h#2 integrate .. //depot/projects/usiii/sun4v/mdesc/mdesc_init.c#2 integrate .. //depot/projects/usiii/sun4v/sun4v/vm_machdep.c#2 integrate .. //depot/projects/usiii/sys/callout.h#2 integrate .. //depot/projects/usiii/sys/lock_profile.h#2 integrate .. //depot/projects/usiii/sys/mount.h#2 integrate .. //depot/projects/usiii/sys/proc.h#2 integrate .. //depot/projects/usiii/sys/socket.h#2 integrate .. //depot/projects/usiii/sys/user.h#2 integrate .. //depot/projects/usiii/sys/vmmeter.h#2 integrate .. //depot/projects/usiii/ufs/ffs/ffs_alloc.c#2 integrate .. //depot/projects/usiii/vm/vm_contig.c#2 integrate .. //depot/projects/usiii/vm/vm_fault.c#2 integrate .. //depot/projects/usiii/vm/vm_glue.c#2 integrate .. //depot/projects/usiii/vm/vm_map.c#2 integrate .. //depot/projects/usiii/vm/vm_object.c#2 integrate .. //depot/projects/usiii/vm/vm_object.h#2 integrate .. //depot/projects/usiii/vm/vm_page.c#2 integrate .. //depot/projects/usiii/vm/vm_page.h#2 integrate .. //depot/projects/usiii/vm/vm_pageout.c#2 integrate .. //depot/projects/usiii/vm/vm_pageq.c#2 integrate .. //depot/projects/usiii/vm/vm_phys.c#2 integrate .. //depot/projects/usiii/vm/vm_phys.h#2 integrate Differences ... ==== //depot/projects/usiii/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.163 2007/06/06 07:35:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.165 2007/09/17 21:55:28 peter Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -74,7 +74,6 @@ ASSYM(P_VMSPACE, offsetof(struct proc, p_vmspace)); ASSYM(VM_PMAP, offsetof(struct vmspace, vm_pmap)); ASSYM(PM_ACTIVE, offsetof(struct pmap, pm_active)); -ASSYM(P_SFLAG, offsetof(struct proc, p_sflag)); ASSYM(TD_LOCK, offsetof(struct thread, td_lock)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); @@ -181,6 +180,7 @@ ASSYM(ENOENT, ENOENT); ASSYM(EFAULT, EFAULT); ASSYM(ENAMETOOLONG, ENAMETOOLONG); +ASSYM(MAXCPU, MAXCPU); ASSYM(MAXCOMLEN, MAXCOMLEN); ASSYM(MAXPATHLEN, MAXPATHLEN); ASSYM(PC_SIZEOF, sizeof(struct pcpu)); ==== //depot/projects/usiii/amd64/amd64/local_apic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.41 2007/08/02 21:17:58 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.42 2007/09/11 22:54:08 attilio Exp $"); #include "opt_hwpmc_hooks.h" @@ -1061,7 +1061,7 @@ printf("%s: Failed to setup the local APIC: returned %d\n", best_enum->apic_name, retval); } -SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL) +SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, NULL) /* * Setup the I/O APICs. ==== //depot/projects/usiii/amd64/amd64/uma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.3 2007/02/18 06:33:01 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.4 2007/09/15 18:47:01 alc Exp $"); #include #include @@ -50,9 +50,9 @@ *flags = UMA_SLAB_PRIV; if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; + pflags = VM_ALLOC_INTERRUPT | VM_ALLOC_WIRED; else - pflags = VM_ALLOC_SYSTEM; + pflags = VM_ALLOC_SYSTEM | VM_ALLOC_WIRED; if (wait & M_ZERO) pflags |= VM_ALLOC_ZERO; for (;;) { @@ -82,5 +82,7 @@ pa = DMAP_TO_PHYS((vm_offset_t)mem); dump_drop_page(pa); m = PHYS_TO_VM_PAGE(pa); + m->wire_count--; vm_page_free(m); + atomic_subtract_int(&cnt.v_wire_count, 1); } ==== //depot/projects/usiii/amd64/conf/GENERIC#2 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.483 2007/07/01 21:47:45 njl Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.484 2007/09/26 20:05:06 brueffer Exp $ cpu HAMMER ident GENERIC @@ -30,7 +30,7 @@ options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols -options SCTP # Stream Transmission Control Protocol +options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists ==== //depot/projects/usiii/amd64/include/smp.h#2 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.90 2007/05/19 05:01:43 kan Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.91 2007/09/20 20:38:43 attilio Exp $ * */ @@ -34,7 +34,6 @@ extern int mp_naps; extern int boot_cpu_id; extern struct pcb stoppcbs[]; -extern struct mtx smp_tlb_mtx; extern int cpu_apic_ids[]; /* IPI handlers */ ==== //depot/projects/usiii/amd64/include/vmparam.h#2 (text+ko) ==== @@ -38,7 +38,7 @@ * SUCH DAMAGE. * * from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.48 2007/06/03 23:18:29 alc Exp $ + * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.49 2007/09/25 06:25:04 alc Exp $ */ @@ -101,12 +101,13 @@ #define VM_PHYSSEG_MAX 31 /* - * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool + * Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool * from which physical pages are allocated and VM_FREEPOOL_DIRECT is * the pool from which physical pages for page tables and small UMA * objects are allocated. */ -#define VM_NFREEPOOL 2 +#define VM_NFREEPOOL 3 +#define VM_FREEPOOL_CACHE 2 #define VM_FREEPOOL_DEFAULT 0 #define VM_FREEPOOL_DIRECT 1 ==== //depot/projects/usiii/amd64/isa/clock.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.233 2007/07/23 09:42:30 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.234 2007/09/14 01:12:39 attilio Exp $"); /* * Routines to handle clock hardware. @@ -565,7 +565,7 @@ i8254_init(void) { - mtx_init(&clock_lock, "clk", NULL, MTX_SPIN); + mtx_init(&clock_lock, "clk", NULL, MTX_SPIN | MTX_NOPROFILE); set_timer_freq(timer_freq, hz); } ==== //depot/projects/usiii/amd64/linux32/linux.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.15 2007/03/29 02:11:46 julian Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.16 2007/09/18 19:50:32 dwmalone Exp $ */ #ifndef _AMD64_LINUX_H_ @@ -242,6 +242,19 @@ l_ulonglong st_ino; } __packed; +struct l_statfs64 { + l_int f_type; + l_int f_bsize; + uint64_t f_blocks; + uint64_t f_bfree; + uint64_t f_bavail; + uint64_t f_files; + uint64_t f_ffree; + l_fsid_t f_fsid; + l_int f_namelen; + l_int f_spare[6]; +} __packed; + struct l_new_utsname { char sysname[LINUX_MAX_UTSNAME]; char nodename[LINUX_MAX_UTSNAME]; ==== //depot/projects/usiii/amd64/linux32/linux32_proto.h#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ @@ -801,6 +801,7 @@ }; struct linux_statfs64_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char bufsize_l_[PADL_(size_t)]; size_t bufsize; char bufsize_r_[PADR_(size_t)]; char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)]; }; struct linux_fstatfs64_args { ==== //depot/projects/usiii/amd64/linux32/linux32_syscall.h#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ ==== //depot/projects/usiii/amd64/linux32/linux32_sysent.c#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ ==== //depot/projects/usiii/amd64/linux32/linux32_sysvec.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.30 2007/07/12 18:01:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.31 2007/09/20 13:46:26 kib Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -372,6 +372,7 @@ frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp; frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; + frame.sf_sc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); #ifdef DEBUG @@ -503,6 +504,7 @@ frame.sf_sc.sc_esp_at_signal = regs->tf_rsp; frame.sf_sc.sc_ss = regs->tf_ss; frame.sf_sc.sc_err = regs->tf_err; + frame.sf_sc.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(code); for (i = 0; i < (LINUX_NSIG_WORDS-1); i++) ==== //depot/projects/usiii/amd64/linux32/syscalls.master#2 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.30 2007/09/18 19:50:32 dwmalone Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -436,7 +436,7 @@ 266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); } 267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \ struct l_timespec *rqtp, struct l_timespec *rmtp); } -268 AUE_STATFS STD { int linux_statfs64(char *path, struct l_statfs64_buf *buf); } +268 AUE_STATFS STD { int linux_statfs64(char *path, size_t bufsize, struct l_statfs64_buf *buf); } 269 AUE_FSTATFS STD { int linux_fstatfs64(void); } 270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); } 271 AUE_UTIMES STD { int linux_utimes(char *fname, \ ==== //depot/projects/usiii/arm/arm/pmap.c#2 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.84 2007/07/27 14:45:04 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.86 2007/09/22 22:47:48 cognet Exp $"); #include #include #include @@ -270,7 +270,6 @@ */ union pmap_cache_state *pmap_cache_state; -/* static pt_entry_t *msgbufmap;*/ struct msgbuf *msgbufp = 0; extern void bcopy_page(vm_offset_t, vm_offset_t); @@ -4074,7 +4073,7 @@ panic("pmap_zero_page: page has mappings"); #endif - if (_arm_bzero && + if (_arm_bzero && size >= _min_bzero_size && _arm_bzero((void *)(phys + off), size, IS_PHYSICAL) == 0) return; @@ -4115,7 +4114,7 @@ void pmap_zero_page_xscale(vm_paddr_t phys, int off, int size) { - if (_arm_bzero && + if (_arm_bzero && size >= _min_bzero_size && _arm_bzero((void *)(phys + off), size, IS_PHYSICAL) == 0) return; mtx_lock(&cmtx); @@ -4429,7 +4428,7 @@ #endif cpu_dcache_wbinv_all(); - if (_arm_memcpy && + if (_arm_memcpy && PAGE_SIZE >= _min_memcpy_size && _arm_memcpy((void *)VM_PAGE_TO_PHYS(dst), (void *)VM_PAGE_TO_PHYS(src), PAGE_SIZE, IS_PHYSICAL) == 0) return; ==== //depot/projects/usiii/arm/arm/vm_machdep.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.33 2007/07/27 14:46:15 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.34 2007/09/15 18:47:01 alc Exp $"); #include #include @@ -580,9 +580,9 @@ return (ret); } if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; + pflags = VM_ALLOC_INTERRUPT | VM_ALLOC_WIRED; else - pflags = VM_ALLOC_SYSTEM; + pflags = VM_ALLOC_SYSTEM | VM_ALLOC_WIRED; if (wait & M_ZERO) pflags |= VM_ALLOC_ZERO; for (;;) { @@ -640,9 +640,9 @@ vm_paddr_t pa = vtophys((vm_offset_t)mem); m = PHYS_TO_VM_PAGE(pa); - vm_page_lock_queues(); + m->wire_count--; vm_page_free(m); - vm_page_unlock_queues(); + atomic_subtract_int(&cnt.v_wire_count, 1); } } } ==== //depot/projects/usiii/arm/at91/at91_mci.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.3 2007/02/23 12:18:27 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.4 2007/09/16 07:48:58 imp Exp $"); #include #include @@ -293,13 +293,10 @@ else clkdiv = (at91_master_clock / ios->clock) / 2; } - if (ios->bus_width == bus_width_4 && sc->wire4) { - device_printf(sc->dev, "Setting controller bus width to 4\n"); + if (ios->bus_width == bus_width_4 && sc->wire4) WR4(sc, MCI_SDCR, RD4(sc, MCI_SDCR) | MCI_SDCR_SDCBUS); - } else { - device_printf(sc->dev, "Setting controller bus width to 1\n"); + else WR4(sc, MCI_SDCR, RD4(sc, MCI_SDCR) & ~MCI_SDCR_SDCBUS); - } WR4(sc, MCI_MR, (RD4(sc, MCI_MR) & ~MCI_MR_CLKDIV) | clkdiv); #if 0 if (sc->vcc_pin) { ==== //depot/projects/usiii/arm/at91/at91_pmc.c#2 (text) ==== @@ -25,7 +25,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.4 2007/01/05 01:14:14 ticso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.5 2007/09/16 07:51:02 imp Exp $"); #include #include @@ -162,7 +162,6 @@ struct at91_pmc_softc *sc = pmc_softc; uint32_t value; - printf("Turning PLLB %#x %s\n", sc->pllb_init, on ? "on" : "off"); if (on) { on = PMC_IER_LOCKB; value = sc->pllb_init; @@ -172,7 +171,6 @@ WR4(sc, CKGR_PLLBR, value); while ((RD4(sc, PMC_SR) & PMC_IER_LOCKB) != on) continue; - printf("Done!\n"); } static void @@ -180,7 +178,6 @@ { struct at91_pmc_softc *sc = pmc_softc; - printf("Turning SC %#x %s\n", clk->pmc_mask, on ? "on" : "off"); WR4(sc, on ? PMC_SCER : PMC_SCDR, clk->pmc_mask); if (on) while ((RD4(sc, PMC_SCSR) & clk->pmc_mask) != clk->pmc_mask) @@ -188,7 +185,6 @@ else while ((RD4(sc, PMC_SCSR) & clk->pmc_mask) == clk->pmc_mask) continue; - printf("Done SCSR is now: %#x!\n", RD4(sc, PMC_SCSR)); } static void @@ -196,7 +192,6 @@ { struct at91_pmc_softc *sc = pmc_softc; - printf("Turning PC %#x %s\n", clk->pmc_mask, on ? "on" : "off"); WR4(sc, on ? PMC_PCER : PMC_PCDR, clk->pmc_mask); if (on) while ((RD4(sc, PMC_PCSR) & clk->pmc_mask) != clk->pmc_mask) @@ -204,7 +199,6 @@ else while ((RD4(sc, PMC_PCSR) & clk->pmc_mask) == clk->pmc_mask) continue; - printf("Done PCSR is now: %#x!\n", RD4(sc, PMC_PCSR)); } struct at91_pmc_clock * @@ -228,7 +222,6 @@ at91_pmc_clock_enable(struct at91_pmc_clock *clk) { /* XXX LOCKING? XXX */ - printf("Enable %s\n", clk->name); if (clk->parent) at91_pmc_clock_enable(clk->parent); if (clk->refcnt++ == 0 && clk->set_mode) ==== //depot/projects/usiii/arm/conf/CRB#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/CRB,v 1.1 2007/07/27 14:57:03 cognet Exp $ +# $FreeBSD: src/sys/arm/conf/CRB,v 1.2 2007/09/22 16:25:42 cognet Exp $ machine arm ident CRB @@ -84,6 +84,8 @@ device atapist # ATAPI tape drives options ATA_STATIC_ID # Static device numbering +device "7seg" + # SCSI Controllers device pty ==== //depot/projects/usiii/arm/include/asmacros.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.5 2006/04/13 14:25:28 cognet Exp $ + * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.6 2007/09/22 14:23:52 cognet Exp $ */ #ifndef _MACHINE_ASMACROS_H_ @@ -116,18 +116,15 @@ ldr r5, =0xe0000004; /* Check if there's any RAS */ \ ldr r3, [r5]; \ cmp r3, #0; /* Is the update needed ? */ \ - beq 1f; \ - ldr lr, [r0, #16]; \ - ldr r1, =0xe0000008; \ - ldr r4, [r1]; /* Get the end of the RAS */ \ - mov r2, #0; /* Reset the magic addresses */ \ - str r2, [r5]; \ - str r2, [r1]; \ - cmp lr, r3; /* Were we in the RAS ? */ \ - blt 1f; \ - cmp lr, r4; \ - strlt r3, [r0, #16]; /* Yes, update the pc */ \ - 1: \ + ldrgt lr, [r0, #16]; \ + ldrgt r1, =0xe0000008; \ + ldrgt r4, [r1]; /* Get the end of the RAS */ \ + movgt r2, #0; /* Reset the magic addresses */ \ + strgt r2, [r5]; \ + strgt r2, [r1]; \ + cmpgt lr, r3; /* Were we in the RAS ? */ \ + cmpgt r4, lr; \ + strgt r3, [r0, #16]; /* Yes, update the pc */ \ mrs r0, spsr_all; /* Put the SPSR on the stack */ \ str r0, [sp, #-4]! ==== //depot/projects/usiii/arm/include/endian.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * * @(#)endian.h 8.1 (Berkeley) 6/10/93 * $NetBSD: endian.h,v 1.7 1999/08/21 05:53:51 simonb Exp $ - * $FreeBSD: src/sys/arm/include/endian.h,v 1.10 2005/07/27 19:59:21 jhb Exp $ + * $FreeBSD: src/sys/arm/include/endian.h,v 1.11 2007/09/09 11:58:38 cognet Exp $ */ #ifndef _ENDIAN_H_ @@ -99,13 +99,15 @@ static __inline __uint16_t __bswap16_var(__uint16_t v) { + __uint32_t ret = v & 0xffff; + __asm __volatile( "mov %0, %0, ror #8\n" "orr %0, %0, %0, lsr #16\n" "bic %0, %0, %0, lsl #16" - : "+r" (v)); + : "+r" (ret)); - return (v); + return ((__uint16_t)ret); } #ifdef __OPTIMIZE__ ==== //depot/projects/usiii/arm/include/vmparam.h#2 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.10 2007/06/04 08:02:22 alc Exp $ + * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.11 2007/09/25 06:25:04 alc Exp $ */ #ifndef _MACHINE_VMPARAM_H_ @@ -59,12 +59,13 @@ #define VM_PHYSSEG_DENSE /* - * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool + * Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool * from which physical pages are allocated and VM_FREEPOOL_DIRECT is * the pool from which physical pages for small UMA objects are * allocated. */ -#define VM_NFREEPOOL 2 +#define VM_NFREEPOOL 3 +#define VM_FREEPOOL_CACHE 2 #define VM_FREEPOOL_DEFAULT 0 #define VM_FREEPOOL_DIRECT 1 ==== //depot/projects/usiii/arm/sa11x0/uart_dev_sa1110.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.8 2007/04/02 22:00:21 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.9 2007/09/12 18:28:09 cognet Exp $"); #include #include @@ -97,7 +97,7 @@ static void sa1110_putc(struct uart_bas *bas, int c) { - while (!uart_getreg(bas, SACOM_SR1) & SR1_TNF); + while (!(uart_getreg(bas, SACOM_SR1) & SR1_TNF)); uart_setreg(bas, SACOM_DR, c); } @@ -186,7 +186,7 @@ uart_setreg(&sc->sc_bas, SACOM_CR3, uart_getreg(&sc->sc_bas, SACOM_CR3) | CR3_TIE); for (i = 0; i < sc->sc_txdatasz; i++) { - while (!uart_getreg(&sc->sc_bas, SACOM_SR1) & SR1_TNF); + while (!(uart_getreg(&sc->sc_bas, SACOM_SR1) & SR1_TNF)); uart_setreg(&sc->sc_bas, SACOM_DR, sc->sc_txbuf[i]); uart_barrier(&sc->sc_bas); ==== //depot/projects/usiii/arm/xscale/i8134x/crb_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.1 2007/07/27 14:50:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.2 2007/09/22 16:25:43 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -171,6 +171,13 @@ VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + { + IOP34X_PCE1_VADDR, + IOP34X_PCE1, + IOP34X_PCE1_SIZE, + VM_PROT_READ|VM_PROT_WRITE, + PTE_NOCACHE, + }, { 0, 0, ==== //depot/projects/usiii/arm/xscale/i8134x/files.crb#2 (text+ko) ==== @@ -1,2 +1,3 @@ -# $FreeBSD: src/sys/arm/xscale/i8134x/files.crb,v 1.1 2007/07/27 14:50:57 cognet Exp $ +# $FreeBSD: src/sys/arm/xscale/i8134x/files.crb,v 1.2 2007/09/22 16:25:43 cognet Exp $ arm/xscale/i8134x/crb_machdep.c standard +arm/xscale/i8134x/iq81342_7seg.c optional 7seg ==== //depot/projects/usiii/arm/xscale/i8134x/i81342.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/i81342.c,v 1.1 2007/07/27 14:50:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/i81342.c,v 1.2 2007/09/22 16:25:43 cognet Exp $"); #include #include @@ -400,6 +400,7 @@ device_add_child(dev, "iopwdog", 0); device_add_child(dev, "pcib", 0); device_add_child(dev, "pcib", 1); + device_add_child(dev, "iqseg", 0); bus_generic_probe(dev); bus_generic_attach(dev); return (0); ==== //depot/projects/usiii/arm/xscale/i8134x/i81342reg.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/xscale/i8134x/i81342reg.h,v 1.1 2007/07/27 14:50:57 cognet Exp $ */ +/* $FreeBSD: src/sys/arm/xscale/i8134x/i81342reg.h,v 1.3 2007/09/22 22:25:24 cognet Exp $ */ #ifndef I83142_REG_H_ #define I83142_REG_H_ @@ -46,9 +46,51 @@ #define IOP34X_HWADDR 0xffd00000 #define IOP34X_SIZE 0x100000 +#define IOP34X_ADMA0_OFFSET 0x00080000 +#define IOP34X_ADMA1_OFFSET 0x00080200 +#define IOP34X_ADMA2_OFFSET 0x00080400 +#define IOP34X_ADMA_SIZE 0x200 + + +/* ADMA Registers */ +#define IOP34X_ADMA_CCR 0x0000 /* Channel Control Register */ +#define IOP34X_ADMA_CSR 0x0004 /* Channel Status Register */ +#define IOP34X_ADMA_DAR 0x0008 /* Descriptor Address Register */ +#define IOP34X_ADMA_IPCR 0x0018 /* Internal Interface Parity Ctrl Reg */ +#define IOP34X_ADMA_NDAR 0x0024 /* Next Descriptor Register */ +#define IOP34X_ADMA_DCR 0x0028 /* Descriptor Control Register */ + +#define IOP34X_ADMA_IE (1 << 0) /* Interrupt enable */ +#define IOP34X_ADMA_TR (1 << 1) /* Transfert Direction */ +/* + * Source Destination + * 00 Host I/O Interface Local Memory + * 01 Local Memory Host I/O Interface + * 10 Internal Bus Local Memory + * 11 Local Memory Internal Bus + */ +#define IOP34X_ADMA_SS (1 << 3) /* Source selection */ +/* 0000: Data Transfer / CRC / Memory Block Fill */ +#define IOP34X_ADMA_ZRBCE (1 << 7) /* Zero Result Buffer Check Enable */ +#define IOP34X_ADMA_MBFE (1 << 8) /* Memory Block Fill Enable */ +#define IOP34X_ADMA_CGE (1 << 9) /* CRC Generation enable */ +#define IOP34X_ADMA_CTD (1 << 10) /* CRC Transfer disable */ +#define IOP34X_ADMA_CSFD (1 << 11) /* CRC Seed fetch disable */ +#define IOP34X_ADMA_SWBE (1 << 12) /* Status write back enable */ +#define IOP34X_ADMA_ESE (1 << 13) /* Endian swap enable */ +#define IOP34X_ADMA_PQUTE (1 << 16) /* P+Q Update Transfer Enable */ +#define IOP34X_ADMA_DXE (1 << 17) /* Dual XOR Enable */ +#define IOP34X_ADMA_PQTE (1 << 18) /* P+Q Transfer Enable */ +#define IOP34X_ADMA_PTD (1 << 19) /* P Transfer Disable */ +#define IOP34X_ADMA_ROE (1 << 30) /* Relaxed Ordering Enable */ +#define IOP34X_ADMA_NSE (1 << 31) /* No Snoop Enable */ + #define IOP34X_PBBAR0 0x81588 /* PBI Base Address Register 0 */ #define IOP34X_PBBAR0_ADDRMASK 0xfffff000 #define IOP34X_PBBAR1 0x81590 +#define IOP34X_PCE1 0xF2000000 +#define IOP34X_PCE1_SIZE 0x00100000 +#define IOP34X_PCE1_VADDR 0xF1000000 #define IOP34X_ESSTSR0 0x82188 #define IOP34X_CONTROLLER_ONLY (1 << 14) #define IOP34X_INT_SEL_PCIX (1 << 15) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Sep 26 21:46:46 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3771A16A468; Wed, 26 Sep 2007 21:46:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F73516A420 for ; Wed, 26 Sep 2007 21:46:46 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id A4F2A13C448 for ; Wed, 26 Sep 2007 21:46:45 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.8p) with ESMTP id 211556778-1834499 for multiple; Wed, 26 Sep 2007 17:45:18 -0400 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l8QLkUJH026221; Wed, 26 Sep 2007 17:46:30 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Kip Macy Date: Wed, 26 Sep 2007 17:42:04 -0400 User-Agent: KMail/1.9.6 References: <200709262040.l8QKe8FL074297@repoman.freebsd.org> In-Reply-To: <200709262040.l8QKe8FL074297@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709261742.04531.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Wed, 26 Sep 2007 17:46:30 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/4410/Wed Sep 26 17:08:07 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126835 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 21:46:46 -0000 On Wednesday 26 September 2007 04:40:08 pm Kip Macy wrote: > http://perforce.freebsd.org/chv.cgi?CH=126835 > > Change 126835 by kmacy@kmacy_home:ethng on 2007/09/26 20:40:03 > > increase delay in shutdown to avoid destroying the port lock > before the last call to the tick handler > > Affected files ... > > .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 edit > > Differences ... > > ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 (text+ko) ==== > > @@ -1023,7 +1023,7 @@ > > ether_ifdetach(p->ifp); > printf("waiting for callout to stop ..."); > - DELAY(10000); > + DELAY(100000); > printf("done\n"); Umm, what about callout_drain()? That's its purpose. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Sep 26 22:08:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B62A016A420; Wed, 26 Sep 2007 22:08:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F66716A419 for ; Wed, 26 Sep 2007 22:08:38 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 501EC13C455 for ; Wed, 26 Sep 2007 22:08:38 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8QM8cqf000892 for ; Wed, 26 Sep 2007 22:08:38 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8QM8VnQ000889 for perforce@freebsd.org; Wed, 26 Sep 2007 22:08:31 GMT (envelope-from imp@freebsd.org) Date: Wed, 26 Sep 2007 22:08:31 GMT Message-Id: <200709262208.l8QM8VnQ000889@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 126842 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 22:08:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=126842 Change 126842 by imp@imp_paco-paco on 2007/09/26 22:07:32 IFC @126840 Affected files ... .. //depot/projects/arm/src/ObsoleteFiles.inc#27 integrate .. //depot/projects/arm/src/bin/getfacl/getfacl.c#2 integrate .. //depot/projects/arm/src/bin/ps/print.c#2 integrate .. //depot/projects/arm/src/bin/ps/ps.c#2 integrate .. //depot/projects/arm/src/contrib/less/main.c#9 integrate .. //depot/projects/arm/src/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/arm/src/etc/defaults/rc.conf#17 integrate .. //depot/projects/arm/src/etc/mtree/BSD.include.dist#11 integrate .. //depot/projects/arm/src/etc/rc.d/Makefile#9 integrate .. //depot/projects/arm/src/etc/rc.d/ftp-proxy#1 branch .. //depot/projects/arm/src/etc/rc.d/lockd#3 integrate .. //depot/projects/arm/src/etc/services#4 integrate .. //depot/projects/arm/src/gnu/usr.bin/binutils/ld/Makefile#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/binutils/ld/genscripts.sh#4 integrate .. //depot/projects/arm/src/gnu/usr.bin/cc/cc_int/Makefile#7 integrate .. //depot/projects/arm/src/gnu/usr.bin/man/man/man.c#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/texinfo/info/Makefile#2 integrate .. //depot/projects/arm/src/include/Makefile#12 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read.3#11 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_disk.c#9 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_disk.c#4 integrate .. //depot/projects/arm/src/lib/libc/net/getaddrinfo.c#2 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_connectx.3#4 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_opt_info.3#3 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_recvmsg.3#3 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_send.3#3 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_sendmsg.3#3 integrate .. //depot/projects/arm/src/lib/libc/rpc/auth_time.c#2 integrate .. //depot/projects/arm/src/lib/libc/rpc/getnetconfig.c#4 integrate .. //depot/projects/arm/src/lib/libc/rpc/getnetpath.c#4 integrate .. //depot/projects/arm/src/lib/libc/rpc/rpc_generic.c#2 integrate .. //depot/projects/arm/src/lib/libc/rpc/rpcb_clnt.c#3 integrate .. //depot/projects/arm/src/lib/libc/stdlib/getenv.c#5 integrate .. //depot/projects/arm/src/lib/libc/sys/Makefile.inc#7 integrate .. //depot/projects/arm/src/lib/libc/sys/kqueue.2#5 integrate .. //depot/projects/arm/src/lib/libc/sys/minherit.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/ntp_adjtime.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/ntp_gettime.2#2 delete .. //depot/projects/arm/src/lib/libdisk/open_disk.c#3 integrate .. //depot/projects/arm/src/lib/libdisk/open_ia64_disk.c#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_update.3#3 integrate .. //depot/projects/arm/src/lib/libelf/elf_update.c#3 integrate .. //depot/projects/arm/src/lib/libelf/libelf_convert.m4#3 integrate .. //depot/projects/arm/src/lib/libkvm/kvm_proc.c#7 integrate .. //depot/projects/arm/src/lib/libutil/Makefile#5 integrate .. //depot/projects/arm/src/lib/libutil/expand_number.3#1 branch .. //depot/projects/arm/src/lib/libutil/expand_number.c#1 branch .. //depot/projects/arm/src/lib/libutil/humanize_number.3#3 integrate .. //depot/projects/arm/src/lib/libutil/libutil.h#3 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#5 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#20 integrate .. //depot/projects/arm/src/release/doc/share/misc/dev.archlist.txt#10 integrate .. //depot/projects/arm/src/sbin/camcontrol/Makefile#2 integrate .. //depot/projects/arm/src/sbin/camcontrol/camcontrol.8#4 integrate .. //depot/projects/arm/src/sbin/camcontrol/camcontrol.c#6 integrate .. //depot/projects/arm/src/sbin/dhclient/dhclient.8#4 integrate .. //depot/projects/arm/src/sbin/fsck_ffs/Makefile#3 integrate .. //depot/projects/arm/src/sbin/fsck_ffs/main.c#4 integrate .. //depot/projects/arm/src/sbin/geom/class/Makefile#6 integrate .. //depot/projects/arm/src/sbin/geom/class/eli/geli.8#5 integrate .. //depot/projects/arm/src/sbin/geom/class/virstor/Makefile#1 branch .. //depot/projects/arm/src/sbin/geom/class/virstor/geom_virstor.c#1 branch .. //depot/projects/arm/src/sbin/geom/class/virstor/gvirstor.8#1 branch .. //depot/projects/arm/src/sbin/geom/core/geom.8#2 integrate .. //depot/projects/arm/src/sbin/geom/core/geom.c#5 integrate .. //depot/projects/arm/src/sbin/ipfw/ipfw2.c#12 integrate .. //depot/projects/arm/src/sbin/quotacheck/preen.c#2 integrate .. //depot/projects/arm/src/sbin/quotacheck/quotacheck.c#5 integrate .. //depot/projects/arm/src/sbin/tunefs/tunefs.8#4 integrate .. //depot/projects/arm/src/share/examples/cvsup/cvs-supfile#4 integrate .. //depot/projects/arm/src/share/examples/cvsup/doc-supfile#2 integrate .. //depot/projects/arm/src/share/examples/cvsup/gnats-supfile#2 integrate .. //depot/projects/arm/src/share/examples/cvsup/ports-supfile#4 integrate .. //depot/projects/arm/src/share/examples/cvsup/stable-supfile#3 integrate .. //depot/projects/arm/src/share/examples/cvsup/standard-supfile#3 integrate .. //depot/projects/arm/src/share/examples/cvsup/www-supfile#2 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#19 integrate .. //depot/projects/arm/src/share/man/man4/ata.4#8 integrate .. //depot/projects/arm/src/share/man/man4/cxgb.4#2 integrate .. //depot/projects/arm/src/share/man/man4/gem.4#4 integrate .. //depot/projects/arm/src/share/man/man4/if_bridge.4#9 integrate .. //depot/projects/arm/src/share/man/man4/ral.4#4 integrate .. //depot/projects/arm/src/share/man/man4/rum.4#3 integrate .. //depot/projects/arm/src/share/man/man4/sctp.4#2 integrate .. //depot/projects/arm/src/share/man/man4/snd_emu10kx.4#4 integrate .. //depot/projects/arm/src/share/man/man4/ural.4#6 integrate .. //depot/projects/arm/src/share/man/man4/wlan.4#3 integrate .. //depot/projects/arm/src/share/man/man4/wlan_amrr.4#2 integrate .. //depot/projects/arm/src/share/man/man4/zyd.4#1 branch .. //depot/projects/arm/src/share/man/man5/Makefile#6 integrate .. //depot/projects/arm/src/share/man/man5/ar.5#1 branch .. //depot/projects/arm/src/share/man/man5/elf.5#4 integrate .. //depot/projects/arm/src/share/man/man5/rc.conf.5#14 integrate .. //depot/projects/arm/src/share/man/man5/src.conf.5#10 integrate .. //depot/projects/arm/src/share/man/man9/DECLARE_GEOM_CLASS.9#2 integrate .. //depot/projects/arm/src/share/man/man9/Makefile#13 integrate .. //depot/projects/arm/src/share/man/man9/crypto.9#4 integrate .. //depot/projects/arm/src/share/man/man9/suser.9#5 integrate .. //depot/projects/arm/src/share/misc/committers-ports.dot#8 integrate .. //depot/projects/arm/src/sys/amd64/amd64/genassym.c#9 integrate .. //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#22 integrate .. //depot/projects/arm/src/sys/amd64/amd64/uma_machdep.c#4 integrate .. //depot/projects/arm/src/sys/amd64/conf/GENERIC#25 integrate .. //depot/projects/arm/src/sys/amd64/include/smp.h#9 integrate .. //depot/projects/arm/src/sys/amd64/include/vmparam.h#5 integrate .. //depot/projects/arm/src/sys/amd64/isa/clock.c#14 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux.h#12 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_proto.h#20 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_syscall.h#20 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_sysent.c#20 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_sysvec.c#17 integrate .. //depot/projects/arm/src/sys/amd64/linux32/syscalls.master#19 integrate .. //depot/projects/arm/src/sys/arm/arm/pmap.c#35 integrate .. //depot/projects/arm/src/sys/arm/arm/vm_machdep.c#14 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_mci.c#32 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_pmc.c#22 integrate .. //depot/projects/arm/src/sys/arm/include/asmacros.h#4 integrate .. //depot/projects/arm/src/sys/arm/include/endian.h#3 integrate .. //depot/projects/arm/src/sys/arm/include/vmparam.h#7 integrate .. //depot/projects/arm/src/sys/arm/sa11x0/uart_dev_sa1110.c#9 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321.c#5 integrate .. //depot/projects/arm/src/sys/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/arm/src/sys/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/arm/src/sys/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/arm/src/sys/boot/forth/loader.conf#16 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_misc.c#19 integrate .. //depot/projects/arm/src/sys/compat/ia32/ia32_sysvec.c#8 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.c#27 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_stats.c#13 integrate .. //depot/projects/arm/src/sys/conf/NOTES#55 integrate .. //depot/projects/arm/src/sys/conf/files#78 integrate .. //depot/projects/arm/src/sys/conf/options#51 integrate .. //depot/projects/arm/src/sys/contrib/dev/acpica/evmisc.c#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/acpica/evxface.c#4 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/arm/src/sys/ddb/db_ps.c#7 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi.c#25 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_cpu.c#7 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_ec.c#11 integrate .. //depot/projects/arm/src/sys/dev/an/if_an.c#10 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-chipset.c#38 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-pci.h#22 integrate .. //depot/projects/arm/src/sys/dev/ath/ath_rate/sample/sample.c#9 integrate .. //depot/projects/arm/src/sys/dev/ath/if_ath.c#33 integrate .. //depot/projects/arm/src/sys/dev/awi/awi.c#6 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_common.h#6 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_ctl_defs.h#3 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_sge_defs.h#3 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_t3_hw.c#7 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_vsc7323.c#3 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_vsc8211.c#3 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_xgmac.c#6 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_adapter.h#8 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_include.h#2 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_lro.c#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_main.c#9 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_offload.h#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_osdep.h#6 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_sge.c#10 integrate .. //depot/projects/arm/src/sys/dev/cxgb/t3fw-4.5.0.bin.gz.uu#2 delete .. //depot/projects/arm/src/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#1 branch .. //depot/projects/arm/src/sys/dev/em/if_em.c#42 integrate .. //depot/projects/arm/src/sys/dev/em/if_em.h#17 integrate .. //depot/projects/arm/src/sys/dev/gem/if_gem.c#10 integrate .. //depot/projects/arm/src/sys/dev/gem/if_gem_pci.c#6 integrate .. //depot/projects/arm/src/sys/dev/gem/if_gemreg.h#3 integrate .. //depot/projects/arm/src/sys/dev/gem/if_gemvar.h#6 integrate .. //depot/projects/arm/src/sys/dev/ipw/if_ipw.c#13 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_freebsd.h#22 integrate .. //depot/projects/arm/src/sys/dev/iwi/if_iwi.c#19 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfi.c#19 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfi_pci.c#7 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfireg.h#9 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfivar.h#10 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#24 integrate .. //depot/projects/arm/src/sys/dev/mxge/if_mxge.c#20 integrate .. //depot/projects/arm/src/sys/dev/mxge/if_mxge_var.h#10 integrate .. //depot/projects/arm/src/sys/dev/nfe/if_nfe.c#12 integrate .. //depot/projects/arm/src/sys/dev/pci/pcireg.h#13 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2560.c#14 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2661.c#12 integrate .. //depot/projects/arm/src/sys/dev/ray/if_ray.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx-pcm.c#8 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx.c#7 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx.h#4 integrate .. //depot/projects/arm/src/sys/dev/syscons/syscons.c#14 integrate .. //depot/projects/arm/src/sys/dev/syscons/syscons.h#5 integrate .. //depot/projects/arm/src/sys/dev/usb/ehci_pci.c#10 integrate .. //depot/projects/arm/src/sys/dev/usb/if_axe.c#15 integrate .. //depot/projects/arm/src/sys/dev/usb/if_axereg.h#9 integrate .. //depot/projects/arm/src/sys/dev/usb/if_rum.c#5 integrate .. //depot/projects/arm/src/sys/dev/usb/if_ural.c#26 integrate .. //depot/projects/arm/src/sys/dev/usb/if_zyd.c#1 branch .. //depot/projects/arm/src/sys/dev/usb/if_zydfw.h#1 branch .. //depot/projects/arm/src/sys/dev/usb/if_zydreg.h#1 branch .. //depot/projects/arm/src/sys/dev/usb/usbdevs#36 integrate .. //depot/projects/arm/src/sys/dev/wi/if_wi.c#17 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/direntry.h#4 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_conv.c#9 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_fat.c#6 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_lookup.c#5 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vnops.c#13 integrate .. //depot/projects/arm/src/sys/fs/ntfs/ntfs_vfsops.c#7 integrate .. //depot/projects/arm/src/sys/fs/procfs/procfs_status.c#8 integrate .. //depot/projects/arm/src/sys/geom/eli/g_eli.h#7 integrate .. //depot/projects/arm/src/sys/geom/eli/g_eli_crypto.c#5 integrate .. //depot/projects/arm/src/sys/geom/virstor/binstream.c#1 branch .. //depot/projects/arm/src/sys/geom/virstor/binstream.h#1 branch .. //depot/projects/arm/src/sys/geom/virstor/g_virstor.c#1 branch .. //depot/projects/arm/src/sys/geom/virstor/g_virstor.h#1 branch .. //depot/projects/arm/src/sys/geom/virstor/g_virstor_md.c#1 branch .. //depot/projects/arm/src/sys/geom/virstor/g_virstor_md.h#1 branch .. //depot/projects/arm/src/sys/i386/acpica/madt.c#9 integrate .. //depot/projects/arm/src/sys/i386/conf/GENERIC#25 integrate .. //depot/projects/arm/src/sys/i386/i386/genassym.c#10 integrate .. //depot/projects/arm/src/sys/i386/i386/geode.c#6 integrate .. //depot/projects/arm/src/sys/i386/i386/local_apic.c#21 integrate .. //depot/projects/arm/src/sys/i386/include/smp.h#9 integrate .. //depot/projects/arm/src/sys/i386/include/vmparam.h#6 integrate .. //depot/projects/arm/src/sys/i386/isa/isa.c#4 integrate .. //depot/projects/arm/src/sys/i386/linux/linux.h#12 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_proto.h#23 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_ptrace.c#4 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_syscall.h#22 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_sysent.c#22 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_sysvec.c#12 integrate .. //depot/projects/arm/src/sys/i386/linux/syscalls.master#22 integrate .. //depot/projects/arm/src/sys/ia64/conf/GENERIC#15 integrate .. //depot/projects/arm/src/sys/ia64/ia64/uma_machdep.c#3 integrate .. //depot/projects/arm/src/sys/ia64/include/vmparam.h#8 integrate .. //depot/projects/arm/src/sys/kern/init_main.c#18 integrate .. //depot/projects/arm/src/sys/kern/kern_acct.c#17 integrate .. //depot/projects/arm/src/sys/kern/kern_clock.c#15 integrate .. //depot/projects/arm/src/sys/kern/kern_exec.c#21 integrate .. //depot/projects/arm/src/sys/kern/kern_fork.c#21 integrate .. //depot/projects/arm/src/sys/kern/kern_kse.c#17 integrate .. //depot/projects/arm/src/sys/kern/kern_ktrace.c#15 integrate .. //depot/projects/arm/src/sys/kern/kern_proc.c#14 integrate .. //depot/projects/arm/src/sys/kern/kern_switch.c#17 integrate .. //depot/projects/arm/src/sys/kern/kern_synch.c#22 integrate .. //depot/projects/arm/src/sys/kern/kern_sysctl.c#11 integrate .. //depot/projects/arm/src/sys/kern/kern_thread.c#21 integrate .. //depot/projects/arm/src/sys/kern/kern_timeout.c#7 integrate .. //depot/projects/arm/src/sys/kern/sched_4bsd.c#21 integrate .. //depot/projects/arm/src/sys/kern/sched_ule.c#24 integrate .. //depot/projects/arm/src/sys/kern/subr_kdb.c#5 integrate .. //depot/projects/arm/src/sys/kern/subr_lock.c#8 integrate .. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#15 integrate .. //depot/projects/arm/src/sys/kern/subr_smp.c#6 integrate .. //depot/projects/arm/src/sys/kern/subr_trap.c#12 integrate .. //depot/projects/arm/src/sys/kern/subr_witness.c#21 integrate .. //depot/projects/arm/src/sys/kern/sys_process.c#12 integrate .. //depot/projects/arm/src/sys/kern/uipc_syscalls.c#28 integrate .. //depot/projects/arm/src/sys/kern/vfs_bio.c#22 integrate .. //depot/projects/arm/src/sys/kern/vfs_cache.c#10 integrate .. //depot/projects/arm/src/sys/kern/vfs_lookup.c#17 integrate .. //depot/projects/arm/src/sys/kern/vfs_mount.c#33 integrate .. //depot/projects/arm/src/sys/kern/vfs_subr.c#37 integrate .. //depot/projects/arm/src/sys/kern/vfs_syscalls.c#32 integrate .. //depot/projects/arm/src/sys/modules/Makefile#48 integrate .. //depot/projects/arm/src/sys/modules/acpi/acpi/Makefile#7 integrate .. //depot/projects/arm/src/sys/modules/cxgb/Makefile#7 integrate .. //depot/projects/arm/src/sys/modules/geom/geom_virstor/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/ixgbe/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/sound/driver/emu10kx/Makefile#3 integrate .. //depot/projects/arm/src/sys/modules/zyd/Makefile#1 branch .. //depot/projects/arm/src/sys/net/bpf.c#21 integrate .. //depot/projects/arm/src/sys/net/bpf_filter.c#6 integrate .. //depot/projects/arm/src/sys/net/if_bridge.c#36 integrate .. //depot/projects/arm/src/sys/net/if_ethersubr.c#27 integrate .. //depot/projects/arm/src/sys/net/if_lagg.c#9 integrate .. //depot/projects/arm/src/sys/net/if_media.h#10 integrate .. //depot/projects/arm/src/sys/net/if_stf.c#9 integrate .. //depot/projects/arm/src/sys/net/rtsock.c#11 integrate .. //depot/projects/arm/src/sys/net80211/_ieee80211.h#10 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211.c#16 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211.h#7 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_freebsd.c#10 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_freebsd.h#9 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_ht.h#2 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_input.c#20 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_ioctl.c#18 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_ioctl.h#10 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_node.c#18 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_node.h#8 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_output.c#17 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_power.c#2 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_proto.c#15 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_proto.h#11 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_regdomain.c#2 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_var.h#17 integrate .. //depot/projects/arm/src/sys/netgraph/ng_ppp.c#8 integrate .. //depot/projects/arm/src/sys/netgraph/ng_pppoe.c#7 integrate .. //depot/projects/arm/src/sys/netinet/in_gif.c#7 integrate .. //depot/projects/arm/src/sys/netinet/ip_fw2.c#36 integrate .. //depot/projects/arm/src/sys/netinet/sctp.h#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_asconf.c#14 integrate .. //depot/projects/arm/src/sys/netinet/sctp_asconf.h#8 integrate .. //depot/projects/arm/src/sys/netinet/sctp_auth.c#13 integrate .. //depot/projects/arm/src/sys/netinet/sctp_bsd_addr.c#10 integrate .. //depot/projects/arm/src/sys/netinet/sctp_cc_functions.c#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_cc_functions.h#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_constants.h#17 integrate .. //depot/projects/arm/src/sys/netinet/sctp_indata.c#20 integrate .. //depot/projects/arm/src/sys/netinet/sctp_input.c#21 integrate .. //depot/projects/arm/src/sys/netinet/sctp_lock_bsd.h#8 integrate .. //depot/projects/arm/src/sys/netinet/sctp_os_bsd.h#15 integrate .. //depot/projects/arm/src/sys/netinet/sctp_output.c#20 integrate .. //depot/projects/arm/src/sys/netinet/sctp_output.h#8 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.c#20 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.h#13 integrate .. //depot/projects/arm/src/sys/netinet/sctp_peeloff.c#13 integrate .. //depot/projects/arm/src/sys/netinet/sctp_structs.h#17 integrate .. //depot/projects/arm/src/sys/netinet/sctp_sysctl.c#10 integrate .. //depot/projects/arm/src/sys/netinet/sctp_sysctl.h#7 integrate .. //depot/projects/arm/src/sys/netinet/sctp_timer.c#15 integrate .. //depot/projects/arm/src/sys/netinet/sctp_timer.h#6 integrate .. //depot/projects/arm/src/sys/netinet/sctp_uio.h#17 integrate .. //depot/projects/arm/src/sys/netinet/sctp_usrreq.c#21 integrate .. //depot/projects/arm/src/sys/netinet/sctp_var.h#12 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.c#22 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.h#16 integrate .. //depot/projects/arm/src/sys/netinet/tcp_input.c#36 integrate .. //depot/projects/arm/src/sys/netinet/tcp_subr.c#32 integrate .. //depot/projects/arm/src/sys/netinet/tcp_timer.c#19 integrate .. //depot/projects/arm/src/sys/netinet/tcp_timer.h#10 integrate .. //depot/projects/arm/src/sys/netinet/tcp_usrreq.c#22 integrate .. //depot/projects/arm/src/sys/netinet/tcp_var.h#23 integrate .. //depot/projects/arm/src/sys/netinet/udp_usrreq.c#24 integrate .. //depot/projects/arm/src/sys/netinet6/sctp6_usrreq.c#18 integrate .. //depot/projects/arm/src/sys/netinet6/sctp6_var.h#7 integrate .. //depot/projects/arm/src/sys/netinet6/udp6_usrreq.c#17 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec_input.c#7 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_bio.c#12 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_nfsiod.c#5 integrate .. //depot/projects/arm/src/sys/pc98/conf/GENERIC#15 integrate .. //depot/projects/arm/src/sys/pci/agp_i810.c#11 integrate .. //depot/projects/arm/src/sys/pci/agp_via.c#5 integrate .. //depot/projects/arm/src/sys/powerpc/conf/GENERIC#17 integrate .. //depot/projects/arm/src/sys/powerpc/conf/NOTES#8 integrate .. //depot/projects/arm/src/sys/powerpc/include/vmparam.h#6 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/uma_machdep.c#2 integrate .. //depot/projects/arm/src/sys/security/mac/mac_framework.h#9 integrate .. //depot/projects/arm/src/sys/security/mac/mac_policy.h#6 integrate .. //depot/projects/arm/src/sys/security/mac/mac_vfs.c#10 integrate .. //depot/projects/arm/src/sys/security/mac_biba/mac_biba.c#11 integrate .. //depot/projects/arm/src/sys/security/mac_bsdextended/mac_bsdextended.c#12 integrate .. //depot/projects/arm/src/sys/security/mac_lomac/mac_lomac.c#10 integrate .. //depot/projects/arm/src/sys/security/mac_mls/mac_mls.c#10 integrate .. //depot/projects/arm/src/sys/security/mac_stub/mac_stub.c#9 integrate .. //depot/projects/arm/src/sys/security/mac_test/mac_test.c#8 integrate .. //depot/projects/arm/src/sys/sparc64/conf/GENERIC#24 integrate .. //depot/projects/arm/src/sys/sparc64/fhc/fhc.c#7 integrate .. //depot/projects/arm/src/sys/sparc64/include/bus_common.h#2 integrate .. //depot/projects/arm/src/sys/sparc64/include/intr_machdep.h#5 integrate .. //depot/projects/arm/src/sys/sparc64/include/vmparam.h#5 integrate .. //depot/projects/arm/src/sys/sparc64/pci/ofw_pcibus.c#11 integrate .. //depot/projects/arm/src/sys/sparc64/pci/psycho.c#12 integrate .. //depot/projects/arm/src/sys/sparc64/pci/psychoreg.h#6 integrate .. //depot/projects/arm/src/sys/sparc64/sbus/sbus.c#12 integrate .. //depot/projects/arm/src/sys/sparc64/sbus/sbusreg.h#3 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/exception.S#8 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/genassym.c#10 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/intr_machdep.c#6 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/tick.c#7 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/upa.c#4 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/vm_machdep.c#4 integrate .. //depot/projects/arm/src/sys/sun4v/conf/GENERIC#8 integrate .. //depot/projects/arm/src/sys/sun4v/include/vmparam.h#5 integrate .. //depot/projects/arm/src/sys/sun4v/mdesc/mdesc_init.c#5 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/vm_machdep.c#5 integrate .. //depot/projects/arm/src/sys/sys/callout.h#4 integrate .. //depot/projects/arm/src/sys/sys/lock_profile.h#7 integrate .. //depot/projects/arm/src/sys/sys/mount.h#20 integrate .. //depot/projects/arm/src/sys/sys/proc.h#31 integrate .. //depot/projects/arm/src/sys/sys/socket.h#8 integrate .. //depot/projects/arm/src/sys/sys/user.h#5 integrate .. //depot/projects/arm/src/sys/sys/vmmeter.h#7 integrate .. //depot/projects/arm/src/sys/ufs/ffs/ffs_alloc.c#10 integrate .. //depot/projects/arm/src/sys/vm/vm_contig.c#16 integrate .. //depot/projects/arm/src/sys/vm/vm_fault.c#22 integrate .. //depot/projects/arm/src/sys/vm/vm_glue.c#10 integrate .. //depot/projects/arm/src/sys/vm/vm_map.c#17 integrate .. //depot/projects/arm/src/sys/vm/vm_object.c#22 integrate .. //depot/projects/arm/src/sys/vm/vm_object.h#5 integrate .. //depot/projects/arm/src/sys/vm/vm_page.c#31 integrate .. //depot/projects/arm/src/sys/vm/vm_page.h#14 integrate .. //depot/projects/arm/src/sys/vm/vm_pageout.c#14 integrate .. //depot/projects/arm/src/sys/vm/vm_pageq.c#14 integrate .. //depot/projects/arm/src/sys/vm/vm_phys.c#3 integrate .. //depot/projects/arm/src/sys/vm/vm_phys.h#3 integrate .. //depot/projects/arm/src/tools/build/options/WITHOUT_ZONEINFO#1 branch .. //depot/projects/arm/src/tools/regression/geom_eli/init-a.t#2 integrate .. //depot/projects/arm/src/tools/regression/geom_eli/init.t#2 integrate .. //depot/projects/arm/src/tools/regression/geom_eli/integrity-copy.t#2 integrate .. //depot/projects/arm/src/tools/regression/geom_eli/integrity-data.t#2 integrate .. //depot/projects/arm/src/tools/regression/geom_eli/integrity-hmac.t#2 integrate .. //depot/projects/arm/src/tools/regression/geom_eli/onetime-a.t#2 integrate .. //depot/projects/arm/src/tools/regression/geom_eli/onetime.t#2 integrate .. //depot/projects/arm/src/tools/regression/priv/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/priv/main.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/main.h#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_acct.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_adjtime.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_audit_control.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_audit_getaudit.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_audit_setaudit.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_audit_submit.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_clock_settime.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_cred.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_io.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_kenv_set.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_kenv_unset.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_msgbuf.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_netinet_raw.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_proc_setlogin.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_proc_setrlimit.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_sched_rtprio.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_sched_setpriority.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_settimeofday.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_sysctl_write.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_admin.c#2 delete .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_chflags.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_chmod.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_chown.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_chroot.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_clearsugid.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_extattr_system.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_fhopen.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_fhstat.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_fhstatfs.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_generation.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_getfh.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_read_write.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_setgid.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_stickyfile.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vfs_utimes.c#1 branch .. //depot/projects/arm/src/tools/regression/priv/priv_vm_madv_protect.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vm_mlock.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/priv_vm_munlock.c#2 integrate .. //depot/projects/arm/src/tools/regression/priv/test_utimes.c#2 delete .. //depot/projects/arm/src/tools/tools/crypto/ipsecstats.c#2 integrate .. //depot/projects/arm/src/usr.bin/at/at.c#2 integrate .. //depot/projects/arm/src/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c#3 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.computer#2 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.dutch#2 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.freebsd#16 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.holiday#7 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici#2 integrate .. //depot/projects/arm/src/usr.bin/login/login_fbtab.c#3 integrate .. //depot/projects/arm/src/usr.bin/m4/gnum4.c#2 integrate .. //depot/projects/arm/src/usr.bin/mklocale/yacc.y#3 integrate .. //depot/projects/arm/src/usr.bin/netstat/sctp.c#4 integrate .. //depot/projects/arm/src/usr.bin/systat/pigs.c#3 integrate .. //depot/projects/arm/src/usr.bin/tar/bsdtar.c#8 integrate .. //depot/projects/arm/src/usr.bin/top/machine.c#5 integrate .. //depot/projects/arm/src/usr.bin/top/top.local.1#2 integrate .. //depot/projects/arm/src/usr.sbin/kbdmap/kbdmap.c#3 integrate .. //depot/projects/arm/src/usr.sbin/periodic/periodic.8#4 integrate .. //depot/projects/arm/src/usr.sbin/repquota/repquota.c#3 integrate .. //depot/projects/arm/src/usr.sbin/wpa/hostapd/Makefile#3 integrate .. //depot/projects/arm/src/usr.sbin/wpa/ndis_events/ndis_events.8#3 integrate .. //depot/projects/arm/src/usr.sbin/wpa/wpa_supplicant/Makefile#3 integrate Differences ... ==== //depot/projects/arm/src/ObsoleteFiles.inc#27 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.109 2007/08/07 23:48:30 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.111 2007/09/14 03:07:22 jkoshy Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -797,6 +797,10 @@ OLD_FILES+=usr/share/man/man1/omshell.1.gz OLD_FILES+=usr/share/man/man5/dhcp-eval.5.gz # 200504XX: ipf tools moved from /usr to / +OLD_FILES+=rescue/ipfs +OLD_FILES+=rescue/ipfstat +OLD_FILES+=rescue/ipmon +OLD_FILES+=rescue/ipnat OLD_FILES+=usr/sbin/ipftest OLD_FILES+=usr/sbin/ipresend OLD_FILES+=usr/sbin/ipsend @@ -828,6 +832,7 @@ OLD_FILES+=usr/libexec/getNAME # 200411XX: gvinum replaces vinum OLD_FILES+=bin/vinum +OLD_FILES+=rescue/vinum OLD_FILES+=sbin/vinum OLD_FILES+=usr/share/man/man8/vinum.8.gz # 200411XX: libxpg4 removal @@ -3296,7 +3301,6 @@ OLD_FILES+=usr/share/man/man4/uaudio.4.gz OLD_FILES+=usr/share/man/man4/utf2.4.gz OLD_FILES+=usr/share/man/man4/vinumdebug.4.gz -OLD_FILES+=usr/share/man/man5/ar.5.gz OLD_FILES+=usr/share/man/man5/disklabel.5.gz OLD_FILES+=usr/share/man/man5/dm.conf.5.gz OLD_FILES+=usr/share/man/man5/ranlib.5.gz ==== //depot/projects/arm/src/bin/getfacl/getfacl.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ #include -__FBSDID("$FreeBSD: src/bin/getfacl/getfacl.c,v 1.11 2006/03/13 11:45:29 rwatson Exp $"); +__FBSDID("$FreeBSD: src/bin/getfacl/getfacl.c,v 1.12 2007/09/19 02:04:47 kevlo Exp $"); #include #include @@ -41,6 +41,8 @@ #include #include +#include +#include #include #include #include @@ -55,6 +57,32 @@ fprintf(stderr, "getfacl [-dhq] [file ...]\n"); } +static char * +getuname(uid_t uid) +{ + struct passwd *pw; + static char uids[10]; + + if ((pw = getpwuid(uid)) == NULL) { + (void)snprintf(uids, sizeof(uids), "%u", uid); + return (uids); + } else + return (pw->pw_name); +} + +static char * +getgname(gid_t gid) +{ + struct group *gr; + static char gids[10]; + + if ((gr = getgrgid(gid)) == NULL) { + (void)snprintf(gids, sizeof(gids), "%u", gid); + return (gids); + } else + return (gr->gr_name); +} + /* * return an ACL corresponding to the permissions * contained in struct stat @@ -169,8 +197,8 @@ more_than_one++; if (!qflag) - printf("#file:%s\n#owner:%d\n#group:%d\n", path, sb.st_uid, - sb.st_gid); + printf("# file: %s\n# owner: %s\n# group: %s\n", path, + getuname(sb.st_uid), getgname(sb.st_gid)); if (hflag) acl = acl_get_link_np(path, type); ==== //depot/projects/arm/src/bin/ps/print.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/print.c,v 1.94 2006/02/21 13:02:18 cognet Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/print.c,v 1.95 2007/09/17 05:27:18 jeff Exp $"); #include #include @@ -197,14 +197,13 @@ void state(KINFO *k, VARENT *ve) { - int flag, sflag, tdflags; + int flag, tdflags; char *cp; VAR *v; char buf[16]; v = ve->var; flag = k->ki_p->ki_flag; - sflag = k->ki_p->ki_sflag; tdflags = k->ki_p->ki_tdflags; /* XXXKSE */ cp = buf; @@ -242,7 +241,7 @@ *cp = '?'; } cp++; - if (!(sflag & PS_INMEM)) + if (!(flag & P_INMEM)) *cp++ = 'W'; if (k->ki_p->ki_nice < NZERO) *cp++ = '<'; @@ -591,7 +590,7 @@ #define fxtofl(fixpt) ((double)(fixpt) / fscale) /* XXX - I don't like this */ - if (k->ki_p->ki_swtime == 0 || (k->ki_p->ki_sflag & PS_INMEM) == 0) + if (k->ki_p->ki_swtime == 0 || (k->ki_p->ki_flag & P_INMEM) == 0) return (0.0); if (rawcpu) return (100.0 * fxtofl(k->ki_p->ki_pctcpu)); @@ -619,7 +618,7 @@ if (failure) return (0.0); - if ((k->ki_p->ki_sflag & PS_INMEM) == 0) + if ((k->ki_p->ki_flag & P_INMEM) == 0) return (0.0); /* XXX want pmap ptpages, segtab, etc. (per architecture) */ /* XXX don't have info about shared */ ==== //depot/projects/arm/src/bin/ps/ps.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.110 2005/02/09 17:37:38 ru Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.111 2007/09/17 05:27:18 jeff Exp $"); #include #include @@ -994,13 +994,13 @@ return (s); } -#define UREADOK(ki) (forceuread || (ki->ki_p->ki_sflag & PS_INMEM)) +#define UREADOK(ki) (forceuread || (ki->ki_p->ki_flag & P_INMEM)) static void saveuser(KINFO *ki) { - if (ki->ki_p->ki_sflag & PS_INMEM) { + if (ki->ki_p->ki_flag & P_INMEM) { /* * The u-area might be swapped out, and we can't get * at it because we have a crashdump and no swap. ==== //depot/projects/arm/src/contrib/less/main.c#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/main.c,v 1.11 2007/08/13 16:15:26 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/main.c,v 1.12 2007/09/04 13:54:09 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -244,7 +244,7 @@ quit(QUIT_OK); } - if (missing_cap && !know_dumb) + if (missing_cap && !know_dumb && !less_is_more) error("WARNING: terminal is not fully functional", NULL_PARG); init_mark(); open_getchr(); ==== //depot/projects/arm/src/etc/defaults/rc.conf#17 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.316 2007/06/12 17:33:23 gshapiro Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.317 2007/09/06 21:00:48 mlaier Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -154,6 +154,8 @@ pflog_logfile="/var/log/pflog" # where pflogd should store the logfile pflog_program="/sbin/pflogd" # where the pflogd program lives pflog_flags="" # additional flags for pflogd +ftpproxy_enable="NO" # Set to YES to enable ftp-proxy(8) for pf +ftpproxy_flags="" # additional flags for ftp-proxy(8) pfsync_enable="NO" # Expose pf state to other hosts for syncing pfsync_syncdev="" # Interface for pfsync to work through pfsync_syncpeer="" # IP address of pfsync peer host ==== //depot/projects/arm/src/etc/mtree/BSD.include.dist#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.118 2007/07/14 21:49:21 rwatson Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.119 2007/09/23 07:34:21 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -174,6 +174,8 @@ .. stripe .. + virstor + .. .. gnu posix ==== //depot/projects/arm/src/etc/rc.d/Makefile#9 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.82 2007/08/17 07:58:26 mtm Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.83 2007/09/07 15:44:09 mlaier Exp $ .include @@ -11,7 +11,7 @@ devd devfs dhclient \ dmesg dumpon \ early.sh encswap \ - fsck ftpd \ + fsck ftp-proxy ftpd \ gbde geli geli2 \ hcsecd \ hostapd hostid hostname \ ==== //depot/projects/arm/src/etc/rc.d/lockd#3 (text+ko) ==== @@ -2,11 +2,11 @@ # # $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $ # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm -# $FreeBSD: src/etc/rc.d/lockd,v 1.17 2007/08/18 04:08:53 mtm Exp $ +# $FreeBSD: src/etc/rc.d/lockd,v 1.18 2007/09/03 02:02:31 mtm Exp $ # # PROVIDE: lockd -# REQUIRE: nfsserver nfsclient nfsd rpcbind +# REQUIRE: nfsserver nfsclient nfsd rpcbind statd # BEFORE: DAEMON # KEYWORD: nojail ==== //depot/projects/arm/src/etc/services#4 (text+ko) ==== @@ -16,7 +16,7 @@ # Kerberos services are for Kerberos v4, and are unofficial. Sites running # v5 should uncomment v5 entries and comment v4 entries. # -# $FreeBSD: src/etc/services,v 1.110 2007/05/20 03:57:47 grog Exp $ +# $FreeBSD: src/etc/services,v 1.113 2007/09/21 01:26:00 brooks Exp $ # From: @(#)services 5.8 (Berkeley) 5/9/91 # # WELL KNOWN PORT NUMBERS @@ -2186,6 +2186,8 @@ sj3 3086/tcp #SJ3 (kanji input) vmodem 3141/tcp vmodem 3141/udp +iscsi-target 3260/tcp # iSCSI port +iscsi-target 3260/udp # iSCSI port ccmail 3264/tcp #cc:mail/lotus ccmail 3264/udp #cc:mail/lotus dec-notes 3333/tcp #DEC Notes @@ -2326,6 +2328,10 @@ montage-lm 6147/udp #Montage License Manager ricardo-lm 6148/tcp #Ricardo North America License Manager ricardo-lm 6148/udp #Ricardo North America License Manager +sge_qmaster 6444/tcp #Grid Engine Qmaster Service +sge_qmaster 6444/udp #Grid Engine Qmaster Service +sge_execd 6445/tcp #Grid Engine Execution Service +sge_execd 6445/udp #Grid Engine Execution Service xdsxdm 6558/tcp xdsxdm 6558/udp ircd 6667/tcp #Internet Relay Chat (unoffical) ==== //depot/projects/arm/src/gnu/usr.bin/binutils/ld/Makefile#2 (text+ko) ==== @@ -1,9 +1,13 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile,v 1.31 2004/12/21 09:59:40 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile,v 1.32 2007/09/26 01:31:28 marcel Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/ld +.if ${TARGET_ARCH} == "ia64" +CFLAGS+= -O1 +.endif + PROG= ld SCRIPTDIR= /usr/libdata/ldscripts SRCS+= ldcref.c ldctor.c ldemul.c ldemul-list.h ldexp.c ldfile.c \ ==== //depot/projects/arm/src/gnu/usr.bin/binutils/ld/genscripts.sh#4 (text+ko) ==== @@ -9,7 +9,7 @@ # sparc-sun-sunos4.1.3 sparc-sun-sunos4.1.3 sun4 "" sun3 sparc-sun-sunos4.1.3 # produces sun3.x sun3.xbn sun3.xn sun3.xr sun3.xu em_sun3.c # -# $FreeBSD: src/gnu/usr.bin/binutils/ld/genscripts.sh,v 1.7 2006/09/14 07:46:32 imp Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ld/genscripts.sh,v 1.9 2007/09/19 14:19:32 obrien Exp $ # # This is a cut-down version of the GNU script. Instead of jumping through # hoops for all possible combinations of paths, just use the libdir @@ -54,8 +54,12 @@ fi # Set some flags for the emultempl scripts. USE_LIBPATH will -# be set for any libpath-using emulation. - USE_LIBPATH=yes +# be set for any libpath-using emulation; NATIVE will be set for a +# emulation to enable 'LD_LIBRARY_PATH=/foo:/bar ld -lfooz' + if [ "x${host}" = "x${target}" ] ; then + NATIVE=yes + fi + USE_LIBPATH=yes # Set the library search path, for libraries named by -lfoo. # If LIB_PATH is defined (e.g., by Makefile) and non-empty, it is used. ==== //depot/projects/arm/src/gnu/usr.bin/cc/cc_int/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.51 2007/05/19 04:25:57 kan Exp $ +# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.52 2007/09/18 23:34:42 cognet Exp $ .include "../Makefile.inc" .include "../Makefile.ver" @@ -75,6 +75,10 @@ # Target specific, C specific object file C_TARGET_OBJS= +.if ${TARGET_ARCH} == "arm" && defined(TARGET_BIG_ENDIAN) +CFLAGS += -DTARGET_ENDIAN_DEFAULT=MASK_BIG_END +.endif + # Language-specific object files for C and Objective C. C_AND_OBJC_OBJS = attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \ c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o \ ==== //depot/projects/arm/src/gnu/usr.bin/man/man/man.c#2 (text+ko) ==== @@ -16,7 +16,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/gnu/usr.bin/man/man/man.c,v 1.63 2005/12/05 14:22:11 ru Exp $"; + "$FreeBSD: src/gnu/usr.bin/man/man/man.c,v 1.65 2007/09/25 21:41:22 edwin Exp $"; #endif /* not lint */ #define MAN_MAIN @@ -884,11 +884,26 @@ next: +#if HAVE_LIBZ > 0 + if ((fp = gzopen (ult, "r")) == NULL) + { + /* check for the compressed version too */ + strlcat(ult, ".gz", FILENAME_MAX); + if ((fp = gzopen (ult, "r")) == NULL) + return ult; /* we munged it, but it doesn't exist anyway */ + } +#else if ((fp = fopen (ult, "r")) == NULL) return ult; +#endif +#if HAVE_LIBZ > 0 + end = gzgets (fp, buf, BUFSIZ); + gzclose(fp); +#else end = fgets (buf, BUFSIZ, fp); fclose(fp); +#endif if (!end || strlen (buf) < 5) return ult; ==== //depot/projects/arm/src/gnu/usr.bin/texinfo/info/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/texinfo/info/Makefile,v 1.13 2002/06/05 06:58:32 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/texinfo/info/Makefile,v 1.14 2007/09/19 14:21:18 obrien Exp $ PROG= info MAN= info.1 info.5 texinfo.5 @@ -8,7 +8,7 @@ infomap.c m-x.c man.c nodemenu.c nodes.c search.c session.c \ signals.c terminal.c tilde.c variables.c window.c -CFLAGS+= -DINFODIR=\"${INFODIR}:/usr/local/info:/usr/X11R6/info:.\" +CFLAGS+= -DINFODIR=\"${INFODIR}:/usr/local/info:.\" DPADD= ${LIBTERMCAP} ${LIBTXI} LDADD= -ltermcap ${LIBTXI} ==== //depot/projects/arm/src/include/Makefile#12 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.274 2007/07/14 21:49:22 rwatson Exp $ +# $FreeBSD: src/include/Makefile,v 1.275 2007/09/23 07:34:21 pjd Exp $ # # Doing a "make install" builds /usr/include. @@ -49,7 +49,7 @@ fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs \ ${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \ geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ - geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe \ + geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe geom/virstor \ netgraph/atm netgraph/netflow \ security/audit \ security/mac_biba security/mac_bsdextended security/mac_lomac \ ==== //depot/projects/arm/src/lib/libarchive/archive_read.3#11 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.34 2007/05/29 01:00:18 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.35 2007/09/19 16:37:45 kientzle Exp $ .\" .Dd August 19, 2006 .Dt archive_read 3 @@ -267,7 +267,7 @@ The .Va flags argument is passed unmodified to -.Xr archiv_write_disk_set_options 3 . +.Xr archive_write_disk_set_options 3 . .It Fn archive_read_extract_set_progress_callback Sets a pointer to a user-defined callback that can be used for updating progress displays during extraction. ==== //depot/projects/arm/src/lib/libarchive/archive_write_disk.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.14 2007/08/12 17:35:05 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.17 2007/09/21 04:52:42 kientzle Exp $"); #ifdef HAVE_SYS_TYPES_H #include @@ -448,8 +448,10 @@ __archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC, ARCHIVE_STATE_DATA, "archive_write_disk_block"); - if (a->fd < 0) - return (ARCHIVE_OK); + if (a->fd < 0) { + archive_set_error(&a->archive, 0, "File not open"); + return (ARCHIVE_WARN); + } archive_clear_error(&a->archive); /* Seek if necessary to the specified offset. */ @@ -478,12 +480,17 @@ _archive_write_data(struct archive *_a, const void *buff, size_t size) { struct archive_write_disk *a = (struct archive_write_disk *)_a; + int r; + __archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); if (a->fd < 0) return (ARCHIVE_OK); - return (_archive_write_data_block(_a, buff, size, a->offset)); + r = _archive_write_data_block(_a, buff, size, a->offset); + if (r < ARCHIVE_OK) + return (r); + return (size); } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Sep 26 22:29:07 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2799816A419; Wed, 26 Sep 2007 22:29:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC0EC16A417 for ; Wed, 26 Sep 2007 22:29:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8C76613C458 for ; Wed, 26 Sep 2007 22:29:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8QMT60p002100 for ; Wed, 26 Sep 2007 22:29:06 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8QMT5Qq002097 for perforce@freebsd.org; Wed, 26 Sep 2007 22:29:05 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Sep 2007 22:29:05 GMT Message-Id: <200709262229.l8QMT5Qq002097@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126843 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 22:29:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=126843 Change 126843 by jb@jb_freebsd1 on 2007/09/26 22:28:15 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#29 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.staff.sgml#9 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#22 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml#6 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#23 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#23 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/rpaulo.key#1 branch .. //depot/projects/dtrace/ports/MOVED#39 integrate .. //depot/projects/dtrace/ports/Mk/bsd.perl.mk#2 integrate .. //depot/projects/dtrace/ports/UPDATING#31 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/binutils/ld/Makefile#4 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/man/man/man.c#5 integrate .. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#2 integrate .. //depot/projects/dtrace/src/release/doc/share/misc/dev.archlist.txt#13 integrate .. //depot/projects/dtrace/src/share/man/man4/cxgb.4#2 integrate .. //depot/projects/dtrace/src/share/man/man4/gem.4#6 integrate .. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#21 integrate .. //depot/projects/dtrace/src/sys/boot/forth/loader.conf#12 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#29 integrate .. //depot/projects/dtrace/src/sys/dev/gem/if_gem.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/gem/if_gem_pci.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/gem/if_gemreg.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/gem/if_gemvar.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_axe.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_axereg.h#6 integrate .. //depot/projects/dtrace/src/sys/i386/conf/GENERIC#21 integrate .. //depot/projects/dtrace/src/sys/ia64/conf/GENERIC#10 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_bio.c#11 integrate .. //depot/projects/dtrace/src/sys/modules/Makefile#23 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_bio.c#7 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_nfsiod.c#5 integrate .. //depot/projects/dtrace/src/sys/pc98/conf/GENERIC#11 integrate .. //depot/projects/dtrace/src/sys/powerpc/conf/GENERIC#10 integrate .. //depot/projects/dtrace/src/sys/powerpc/conf/NOTES#9 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/GENERIC#13 integrate .. //depot/projects/dtrace/src/sys/sparc64/pci/ofw_pcibus.c#7 integrate .. //depot/projects/dtrace/src/sys/sun4v/conf/GENERIC#17 integrate .. //depot/projects/dtrace/src/sys/vm/vm_object.c#13 integrate .. //depot/projects/dtrace/www/de/Makefile#7 integrate .. //depot/projects/dtrace/www/de/about.sgml#7 integrate .. //depot/projects/dtrace/www/de/administration.sgml#2 integrate .. //depot/projects/dtrace/www/de/art.sgml#1 branch .. //depot/projects/dtrace/www/de/developers.sgml#2 integrate .. //depot/projects/dtrace/www/de/features.sgml#5 integrate .. //depot/projects/dtrace/www/de/internet.sgml#6 integrate .. //depot/projects/dtrace/www/de/share/sgml/navibar.l10n.ent#6 integrate .. //depot/projects/dtrace/www/de/share/sgml/news.xml#11 integrate .. //depot/projects/dtrace/www/de/share/sgml/press.xml#10 integrate .. //depot/projects/dtrace/www/en/developers.sgml#19 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#19 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#29 (text+ko) ==== @@ -1,4 +1,4 @@ - + + The &os; Documentation Engineering Team @@ -309,10 +309,6 @@ &a.murray; - - - &a.rwatson; - @@ -429,9 +425,5 @@ &a.murray; - - - &a.rwatson; - ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#22 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.429 2007/08/22 01:09:22 tabthorpe Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.430 2007/09/26 09:52:39 rpaulo Exp $ --> aaron@FreeBSD.org"> @@ -846,6 +846,8 @@ roger@FreeBSD.org"> +rpaulo@FreeBSD.org"> + rpratt@FreeBSD.org"> rrs@FreeBSD.org"> ==== //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml#5 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD French Documentation Project - $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml,v 1.23 2007/07/14 17:53:04 blackend Exp $ - Original revision: 1.148 + $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml,v 1.24 2007/09/26 19:44:32 blackend Exp $ + Original revision: 1.149 --> @@ -1888,16 +1888,6 @@ - nodev - - - Ne pas prendre en compte les périphériques - spéciaux sur le système de fichiers. C'est une - option de sécurité utile. - - - - noexec ==== //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml#6 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD French Documentation Project - $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.21 2007/07/08 16:48:53 blackend Exp $ - Original revision: 1.265 + $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.22 2007/09/26 19:44:33 blackend Exp $ + Original revision: 1.268 --> @@ -1433,7 +1433,7 @@ portés, spécifiez l'option . - &prompt.root; portupgrade -PR gnome2 + &prompt.root; portupgrade -PP gnome2 Pour juste récupérer les sources (ou les paquetages, si l'option est ==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#23 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -769,6 +769,11 @@ &pgpkey.sat; + &a.rpaulo; + &pgpkey.rpaulo; + + &a.mp; &pgpkey.mp; ==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#23 (text+ko) ==== @@ -1,5 +1,5 @@ - + @@ -214,6 +214,7 @@ + ==== //depot/projects/dtrace/ports/MOVED#39 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1484 2007/09/24 08:41:09 rafan Exp $ +# $FreeBSD: ports/MOVED,v 1.1485 2007/09/26 11:17:06 rafan Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3242,5 +3242,5 @@ japanese/netypesv||2007-09-18|Has expired: Depends on obsolete version of jdk net-im/micq|net-im/climm|2007-09-18|Project renamed graphics/blender-devel|graphics/blender|2007-09-21|Not needed since binary version is gone -print/ghostscript-afpl||2007-09-24|Replaced by print/ghostscript-gpl -print/ghostscript-afpl-nox11||2007-09-24|Replaced by print/ghostscript-gpl-nox11 +print/ghostscript-afpl|print/ghostscript-gpl|2007-09-24|Replaced by print/ghostscript-gpl +print/ghostscript-afpl-nox11|print/ghostscript-gpl-nox11|2007-09-24|Replaced by print/ghostscript-gpl-nox11 ==== //depot/projects/dtrace/ports/Mk/bsd.perl.mk#2 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.perl.mk,v 1.4 2007/09/24 23:05:56 linimon Exp $ +# $FreeBSD: ports/Mk/bsd.perl.mk,v 1.6 2007/09/26 00:36:44 linimon Exp $ # # bsd.perl.mk - Support for Perl-based ports. # @@ -73,6 +73,8 @@ # port. The version requirement can be specified # here, as well. # +# WANT_PERL5 - Set this is your port conditionally depends on Perl. +# This MUST appear before the inclusion of bsd.port.pre.mk. .if !defined(_POSTMKINCLUDED) && !defined(Perl_Pre_Include) @@ -182,6 +184,10 @@ .endif # defined(_PERL_REFACTORING_COMPLETE) +.if !defined(PERL) || !defined(PERL5) || !defined(PERL_PORT) || !defined(SITE_PERL) +IGNORE= missing define for WANT_PERL, USE_PERL5, or similar before bsd.port.pre.mk inclusion +.endif + .if defined(PERL_MODBUILD) PERL_CONFIGURE= yes CONFIGURE_SCRIPT?= Build.PL ==== //depot/projects/dtrace/ports/UPDATING#31 (text+ko) ==== @@ -6,6 +6,18 @@ time you update your ports collection, before attempting any port upgrades. +20070926: + AFFECTS: users of devel/p5-gearmand + AUTHOR: clsung@FreeBSD.org + + The port p5-gearmand has been splited up, so Gearman servers can + be embedded into other processes. The Gearman::Server class is + located at devel/p5-Gearman-Server, if you have devel/p5-gearmand + installed, perform an upgrade devel/p5-Gearman-Server with a + command like: + + # portupgrade -o devel/p5-Gearman-Server devel/p5-gearmand + 20070923: AFFECTS: users of emulators/linux_base-fc7 AUTHOR: bsam@FreeBSD.org @@ -5666,4 +5678,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.548 2007/09/23 16:33:56 bsam Exp $ +$FreeBSD: ports/UPDATING,v 1.549 2007/09/26 01:23:30 clsung Exp $ ==== //depot/projects/dtrace/src/gnu/usr.bin/binutils/ld/Makefile#4 (text+ko) ==== @@ -1,9 +1,13 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile,v 1.31 2004/12/21 09:59:40 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile,v 1.32 2007/09/26 01:31:28 marcel Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/ld +.if ${TARGET_ARCH} == "ia64" +CFLAGS+= -O1 +.endif + PROG= ld SCRIPTDIR= /usr/libdata/ldscripts SRCS+= ldcref.c ldctor.c ldemul.c ldemul-list.h ldexp.c ldfile.c \ ==== //depot/projects/dtrace/src/gnu/usr.bin/man/man/man.c#5 (text+ko) ==== @@ -16,7 +16,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/gnu/usr.bin/man/man/man.c,v 1.64 2007/09/20 21:37:29 edwin Exp $"; + "$FreeBSD: src/gnu/usr.bin/man/man/man.c,v 1.65 2007/09/25 21:41:22 edwin Exp $"; #endif /* not lint */ #define MAN_MAIN @@ -898,7 +898,7 @@ #endif #if HAVE_LIBZ > 0 - gzgets (fp, buf, BUFSIZ); + end = gzgets (fp, buf, BUFSIZ); gzclose(fp); #else end = fgets (buf, BUFSIZ, fp); ==== //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#2 (text+ko) ==== @@ -18,7 +18,7 @@ The &os; Documentation Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.325 2007/09/10 17:58:16 brueffer Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.326 2007/09/26 21:30:50 brueffer Exp $ 2000 @@ -633,6 +633,8 @@ &hwlist.cue; + &hwlist.cxgb; + &hwlist.dc; &hwlist.de; ==== //depot/projects/dtrace/src/release/doc/share/misc/dev.archlist.txt#13 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.99 2007/09/10 17:58:16 brueffer Exp $ +# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.100 2007/09/26 21:22:56 brueffer Exp $ # # @@ -72,7 +72,6 @@ ex i386,amd64 fe i386,pc98,amd64 fwohci i386,sparc64,ia64,amd64,powerpc -gem sparc64,powerpc hifn i386,pc98,amd64 hptiop i386,amd64 hptmv i386,amd64 ==== //depot/projects/dtrace/src/share/man/man4/cxgb.4#2 (text+ko) ==== @@ -29,7 +29,7 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.\" $FreeBSD: src/share/man/man4/cxgb.4,v 1.7 2007/03/16 16:07:49 bmah Exp $ +.\" $FreeBSD: src/share/man/man4/cxgb.4,v 1.8 2007/09/26 21:31:47 brueffer Exp $ .\" .Dd March 14, 2007 .Dt CXGB 4 @@ -47,7 +47,7 @@ .Ed .Pp To load the driver as a -module at boot time, place the following lines in +module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_cxgb_load="YES" ==== //depot/projects/dtrace/src/share/man/man4/gem.4#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/gem.4,v 1.7 2007/06/04 16:59:11 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/gem.4,v 1.8 2007/09/26 21:14:16 marius Exp $ .\" -.Dd June 4, 2007 +.Dd September 26, 2007 .Dt GEM 4 .Os .Sh NAME @@ -74,6 +74,17 @@ .It Sun GEM Gigabit Ethernet .El +.Pp +The +following add-on cards are known to work with the +.Nm +driver at this time: +.Pp +.Bl -bullet -compact +.It +Sun Gigabit Ethernet PCI 2.0/3.0 (GBE/P) +(part no.\& 501-4373) +.El .Sh NOTES On sparc64 the .Nm @@ -100,11 +111,7 @@ .Sh CAVEATS Currently the .Nm -driver fails to attach to Sun Gigabit Ethernet 2.0/3.0 (GBE/P) cards, -as the SERDES used on these cards is not supported so far. -The -.Nm -driver will also fail to probe and attach to Sun Gigabit Ethernet 2.0/3.0 (GBE/S) cards, +driver fails to attach to Sun Gigabit Ethernet SBus 2.0/3.0 (GBE/S) cards, as no SBus front-end has been written so far. .Sh SEE ALSO .Xr altq 4 , ==== //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#21 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.483 2007/07/01 21:47:45 njl Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.484 2007/09/26 20:05:06 brueffer Exp $ cpu HAMMER ident GENERIC @@ -30,7 +30,7 @@ options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols -options SCTP # Stream Transmission Control Protocol +options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists ==== //depot/projects/dtrace/src/sys/boot/forth/loader.conf#12 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.121 2007/06/25 05:06:55 rafan Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.122 2007/09/26 08:38:25 ru Exp $ ############################################################## ### Basic configuration options ############################ @@ -44,7 +44,8 @@ #autoboot_delay="10" # Delay in seconds before autobooting, # set to -1 if you don't want user to be # allowed to interrupt autoboot process and - # escape to the loader prompt + # escape to the loader prompt, set to + # "NO" to disable autobooting #beastie_disable="NO" # Turn the beastie boot menu on and off #loader_logo="fbsdbw" # Desired logo: fbsdbw, beastiebw, beastie, none #comconsole_speed="9600" # Set the current serial console speed ==== //depot/projects/dtrace/src/sys/conf/NOTES#29 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1453 2007/09/23 07:34:22 pjd Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1454 2007/09/26 21:14:17 marius Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1766,6 +1766,7 @@ # fpa: Support for the Digital DEFPA PCI FDDI. `device fddi' is also needed. # fxp: Intel EtherExpress Pro/100B # (hint of prefer_iomap can be done to prefer I/O instead of Mem mapping) +# gem: Apple GMAC/Sun ERI/Sun GEM # hme: Sun HME (Happy Meal Ethernet) # le: AMD Am7900 LANCE and Am79C9xx PCnet # lge: Support for PCI gigabit ethernet adapters based on the Level 1 @@ -1880,6 +1881,7 @@ device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) hint.fxp.0.prefer_iomap="0" +device gem # Apple GMAC/Sun ERI/Sun GEM device hme # Sun HME (Happy Meal Ethernet) device lge # Level 1 LXT1001 gigabit Ethernet device my # Myson Fast Ethernet (MTD80X, MTD89X) ==== //depot/projects/dtrace/src/sys/dev/gem/if_gem.c#7 (text+ko) ==== @@ -28,10 +28,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/gem/if_gem.c,v 1.43 2007/06/16 23:27:59 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/gem/if_gem.c,v 1.44 2007/09/26 21:14:17 marius Exp $"); /* - * Driver for Sun GEM ethernet controllers. + * Driver for Apple GMAC, Sun ERI and Sun GEM Ethernet controllers */ #if 0 @@ -80,7 +80,11 @@ #include #include +CTASSERT(powerof2(GEM_NRXDESC) && GEM_NRXDESC >= 32 && GEM_NRXDESC <= 8192); +CTASSERT(powerof2(GEM_NTXDESC) && GEM_NTXDESC >= 32 && GEM_NTXDESC <= 8192); + #define TRIES 10000 + /* * The GEM hardware support basic TCP/UDP checksum offloading. However, * the hardware doesn't compensate the checksum for UDP datagram which @@ -102,14 +106,16 @@ static void gem_init(void *); static void gem_init_locked(struct gem_softc *); static void gem_init_regs(struct gem_softc *); -static int gem_ringsize(int sz); +static u_int gem_ringsize(u_int); static int gem_meminit(struct gem_softc *); static struct mbuf *gem_defrag(struct mbuf *, int, int); static int gem_load_txmbuf(struct gem_softc *, struct mbuf **); static void gem_mifinit(struct gem_softc *); static int gem_bitwait(struct gem_softc *, bus_addr_t, u_int32_t, u_int32_t); +static void gem_reset(struct gem_softc *); static int gem_reset_rx(struct gem_softc *); +static void gem_reset_rxdma(struct gem_softc *sc); static int gem_reset_tx(struct gem_softc *); static int gem_disable_rx(struct gem_softc *); static int gem_disable_tx(struct gem_softc *); @@ -124,9 +130,6 @@ static void gem_rint_timeout(void *); #endif static void gem_tint(struct gem_softc *); -#ifdef notyet -static void gem_power(int, void *); -#endif devclass_t gem_devclass; DRIVER_MODULE(miibus, gem, miibus_driver, miibus_devclass, 0, 0); @@ -149,7 +152,6 @@ struct gem_softc *sc; { struct ifnet *ifp; - struct mii_softc *child; int i, error; u_int32_t v; @@ -164,10 +166,7 @@ /* Make sure the chip is stopped. */ ifp->if_softc = sc; - GEM_LOCK(sc); - gem_stop(ifp, 0); gem_reset(sc); - GEM_UNLOCK(sc); error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, @@ -257,11 +256,73 @@ sc->sc_rxsoft[i].rxs_mbuf = NULL; } + /* Bad things will happen when touching this register on ERI. */ + if (sc->sc_variant != GEM_SUN_ERI) + bus_write_4(sc->sc_res[0], GEM_MII_DATAPATH_MODE, + GEM_MII_DATAPATH_MII); + gem_mifinit(sc); - if ((error = mii_phy_probe(sc->sc_dev, &sc->sc_miibus, gem_mediachange, - gem_mediastatus)) != 0) { - device_printf(sc->sc_dev, "phy probe failed: %d\n", error); + /* + * Look for an external PHY. + */ + error = ENXIO; + v = bus_read_4(sc->sc_res[0], GEM_MIF_CONFIG); + if ((v & GEM_MIF_CONFIG_MDI1) != 0) { + v |= GEM_MIF_CONFIG_PHY_SEL; + bus_write_4(sc->sc_res[0], GEM_MIF_CONFIG, v); + switch (sc->sc_variant) { + case GEM_SUN_ERI: + sc->sc_phyad = GEM_PHYAD_EXTERNAL; + break; + default: + sc->sc_phyad = -1; + break; + } + error = mii_phy_probe(sc->sc_dev, &sc->sc_miibus, + gem_mediachange, gem_mediastatus); + } + + /* + * Fall back on an internal PHY if no external PHY was found. + */ + if (error != 0 && (v & GEM_MIF_CONFIG_MDI0) != 0) { + v &= ~GEM_MIF_CONFIG_PHY_SEL; + bus_write_4(sc->sc_res[0], GEM_MIF_CONFIG, v); + switch (sc->sc_variant) { + case GEM_SUN_ERI: + case GEM_APPLE_K2_GMAC: + sc->sc_phyad = GEM_PHYAD_INTERNAL; + break; + case GEM_APPLE_GMAC: + sc->sc_phyad = GEM_PHYAD_EXTERNAL; + break; + default: + sc->sc_phyad = -1; + break; + } + error = mii_phy_probe(sc->sc_dev, &sc->sc_miibus, + gem_mediachange, gem_mediastatus); + } + + /* + * Try the external PCS SERDES if we didn't find any PHYs. + */ + if (error != 0 && sc->sc_variant == GEM_SUN_GEM) { + bus_write_4(sc->sc_res[0], GEM_MII_DATAPATH_MODE, + GEM_MII_DATAPATH_SERDES); + bus_write_4(sc->sc_res[0], GEM_MII_SLINK_CONTROL, + GEM_MII_SLINK_LOOPBACK | GEM_MII_SLINK_EN_SYNC_D); + bus_write_4(sc->sc_res[0], GEM_MII_CONFIG, + GEM_MII_CONFIG_ENABLE); + sc->sc_flags |= GEM_SERDES; + sc->sc_phyad = GEM_PHYAD_EXTERNAL; + error = mii_phy_probe(sc->sc_dev, &sc->sc_miibus, + gem_mediachange, gem_mediastatus); + } + + if (error != 0) { + device_printf(sc->sc_dev, "PHY probe failed: %d\n", error); goto fail_rxd; } sc->sc_mii = device_get_softc(sc->sc_miibus); @@ -293,64 +354,10 @@ IFQ_SET_MAXLEN(&ifp->if_snd, GEM_TXQUEUELEN); ifp->if_snd.ifq_drv_maxlen = GEM_TXQUEUELEN; IFQ_SET_READY(&ifp->if_snd); - /* - * Walk along the list of attached MII devices and - * establish an `MII instance' to `phy number' - * mapping. We'll use this mapping in media change - * requests to determine which phy to use to program - * the MIF configuration register. - */ - for (child = LIST_FIRST(&sc->sc_mii->mii_phys); child != NULL; - child = LIST_NEXT(child, mii_list)) { - /* - * Note: we support just two PHYs: the built-in - * internal device and an external on the MII - * connector. - */ - if (child->mii_phy > 1 || child->mii_inst > 1) { - device_printf(sc->sc_dev, "cannot accomodate " - "MII device %s at phy %d, instance %d\n", - device_get_name(child->mii_dev), - child->mii_phy, child->mii_inst); - continue; - } - sc->sc_phys[child->mii_inst] = child->mii_phy; - } - - /* - * Now select and activate the PHY we will use. - * - * The order of preference is External (MDI1), - * Internal (MDI0), Serial Link (no MII). - */ - if (sc->sc_phys[1]) { -#ifdef GEM_DEBUG - printf("using external phy\n"); -#endif - sc->sc_mif_config |= GEM_MIF_CONFIG_PHY_SEL; - } else { -#ifdef GEM_DEBUG - printf("using internal phy\n"); -#endif - sc->sc_mif_config &= ~GEM_MIF_CONFIG_PHY_SEL; - } - bus_write_4(sc->sc_res[0], GEM_MIF_CONFIG, - sc->sc_mif_config); /* Attach the interface. */ ether_ifattach(ifp, sc->sc_enaddr); -#ifdef notyet - /* - * Add a suspend hook to make sure we come back up after a - * resume. - */ - sc->sc_powerhook = powerhook_establish(gem_power, sc); - if (sc->sc_powerhook == NULL) - device_printf(sc->sc_dev, "WARNING: unable to establish power " - "hook\n"); -#endif - /* * Tell the upper layer(s) we support long frames/checksum offloads. */ @@ -455,7 +462,7 @@ * On resume all registers have to be initialized again like * after power-on. */ - sc->sc_inited = 0; + sc->sc_flags &= ~GEM_INITED; if (ifp->if_flags & IFF_UP) gem_init_locked(sc); GEM_UNLOCK(sc); @@ -580,7 +587,7 @@ return; if (nsegs != 1) { /* can't happen... */ - panic("gem_cddma_callback: bad control buffer segment count"); + panic("%s: bad control buffer segment count", __func__); } sc->sc_cddma = segs[0].ds_addr; } @@ -638,7 +645,7 @@ return (0); } -void +static void gem_reset(sc) struct gem_softc *sc; { @@ -651,11 +658,11 @@ /* Do a full reset */ bus_write_4(sc->sc_res[0], GEM_RESET, GEM_RESET_RX | GEM_RESET_TX); + bus_barrier(sc->sc_res[0], GEM_RESET, 4, BUS_SPACE_BARRIER_WRITE); if (!gem_bitwait(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX, 0)) device_printf(sc->sc_dev, "cannot reset device\n"); } - /* * gem_rxdrain: * @@ -698,7 +705,7 @@ callout_stop(&sc->sc_tick_ch); #ifdef GEM_RINT_TIMEOUT callout_stop(&sc->sc_rx_ch); -#endif +#endif /* XXX - Should we reset these instead? */ gem_disable_tx(sc); @@ -728,13 +735,14 @@ * Mark the interface down and cancel the watchdog timer. */ ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + sc->sc_flags &= ~GEM_LINK; sc->sc_wdog_timer = 0; } /* * Reset the receiver */ -int +static int gem_reset_rx(sc) struct gem_softc *sc; { @@ -745,24 +753,63 @@ */ gem_disable_rx(sc); bus_write_4(sc->sc_res[0], GEM_RX_CONFIG, 0); - /* Wait till it finishes */ - if (!gem_bitwait(sc, GEM_RX_CONFIG, 1, 0)) - device_printf(sc->sc_dev, "cannot disable read dma\n"); + bus_barrier(sc->sc_res[0], GEM_RX_CONFIG, 4, BUS_SPACE_BARRIER_WRITE); + if (!gem_bitwait(sc, GEM_RX_CONFIG, GEM_RX_CONFIG_RXDMA_EN, 0)) + device_printf(sc->sc_dev, "cannot disable RX DMA\n"); - /* Wait 5ms extra. */ - DELAY(5000); - /* Finally, reset the ERX */ bus_write_4(sc->sc_res[0], GEM_RESET, GEM_RESET_RX); - /* Wait till it finishes */ - if (!gem_bitwait(sc, GEM_RESET, GEM_RESET_RX, 0)) { + bus_barrier(sc->sc_res[0], GEM_RESET, 4, BUS_SPACE_BARRIER_WRITE); + if (!gem_bitwait(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX, 0)) { device_printf(sc->sc_dev, "cannot reset receiver\n"); return (1); } return (0); } +/* + * Reset the receiver DMA engine. + * + * Intended to be used in case of GEM_INTR_RX_TAG_ERR, GEM_MAC_RX_OVERFLOW + * etc in order to reset the receiver DMA engine only and not do a full + * reset which amongst others also downs the link and clears the FIFOs. + */ +static void +gem_reset_rxdma(struct gem_softc *sc) +{ + int i; + if (gem_reset_rx(sc) != 0) + return (gem_init_locked(sc)); + for (i = 0; i < GEM_NRXDESC; i++) + if (sc->sc_rxsoft[i].rxs_mbuf != NULL) + GEM_UPDATE_RXDESC(sc, i); + sc->sc_rxptr = 0; + GEM_CDSYNC(sc, BUS_DMASYNC_PREWRITE); + GEM_CDSYNC(sc, BUS_DMASYNC_PREREAD); + + /* NOTE: we use only 32-bit DMA addresses here. */ + bus_write_4(sc->sc_res[0], GEM_RX_RING_PTR_HI, 0); + bus_write_4(sc->sc_res[0], GEM_RX_RING_PTR_LO, GEM_CDRXADDR(sc, 0)); + bus_write_4(sc->sc_res[0], GEM_RX_KICK, GEM_NRXDESC - 4); + bus_write_4(sc->sc_res[0], GEM_RX_CONFIG, + gem_ringsize(GEM_NRXDESC /*XXX*/) | + ((ETHER_HDR_LEN + sizeof(struct ip)) << + GEM_RX_CONFIG_CXM_START_SHFT) | + (GEM_THRSH_1024 << GEM_RX_CONFIG_FIFO_THRS_SHIFT) | + (2 << GEM_RX_CONFIG_FBOFF_SHFT)); + bus_write_4(sc->sc_res[0], GEM_RX_BLANKING, + (6 << GEM_RX_BLANKING_TIME_SHIFT) | 6); + bus_write_4(sc->sc_res[0], GEM_RX_PAUSE_THRESH, + (3 * sc->sc_rxfifosize / 256) | ((sc->sc_rxfifosize / 256) << 12)); + bus_write_4(sc->sc_res[0], GEM_RX_CONFIG, + bus_read_4(sc->sc_res[0], GEM_RX_CONFIG) | GEM_RX_CONFIG_RXDMA_EN); + bus_write_4(sc->sc_res[0], GEM_MAC_RX_MASK, + GEM_MAC_RX_DONE | GEM_MAC_RX_FRAME_CNT); + bus_write_4(sc->sc_res[0], GEM_MAC_RX_CONFIG, + bus_read_4(sc->sc_res[0], GEM_MAC_RX_CONFIG) | GEM_MAC_RX_ENABLE); +} + /* * Reset the transmitter */ @@ -770,7 +817,6 @@ gem_reset_tx(sc) struct gem_softc *sc; { - int i; /* * Resetting while DMA is in progress can cause a bus hang, so we @@ -778,21 +824,15 @@ */ gem_disable_tx(sc); bus_write_4(sc->sc_res[0], GEM_TX_CONFIG, 0); - /* Wait till it finishes */ - if (!gem_bitwait(sc, GEM_TX_CONFIG, 1, 0)) - device_printf(sc->sc_dev, "cannot disable read dma\n"); - - /* Wait 5ms extra. */ - DELAY(5000); + bus_barrier(sc->sc_res[0], GEM_TX_CONFIG, 4, BUS_SPACE_BARRIER_WRITE); + if (!gem_bitwait(sc, GEM_TX_CONFIG, GEM_TX_CONFIG_TXDMA_EN, 0)) + device_printf(sc->sc_dev, "cannot disable TX DMA\n"); /* Finally, reset the ETX */ bus_write_4(sc->sc_res[0], GEM_RESET, GEM_RESET_TX); - /* Wait till it finishes */ - for (i = TRIES; i--; DELAY(100)) - if ((bus_read_4(sc->sc_res[0], GEM_RESET) & GEM_RESET_TX) == 0) - break; - if (!gem_bitwait(sc, GEM_RESET, GEM_RESET_TX, 0)) { - device_printf(sc->sc_dev, "cannot reset receiver\n"); + bus_barrier(sc->sc_res[0], GEM_RESET, 4, BUS_SPACE_BARRIER_WRITE); + if (!gem_bitwait(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX, 0)) { + device_printf(sc->sc_dev, "cannot reset transmitter\n"); return (1); } return (0); @@ -811,8 +851,8 @@ cfg = bus_read_4(sc->sc_res[0], GEM_MAC_RX_CONFIG); cfg &= ~GEM_MAC_RX_ENABLE; bus_write_4(sc->sc_res[0], GEM_MAC_RX_CONFIG, cfg); - - /* Wait for it to finish */ + bus_barrier(sc->sc_res[0], GEM_MAC_RX_CONFIG, 4, + BUS_SPACE_BARRIER_WRITE); return (gem_bitwait(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_ENABLE, 0)); } @@ -829,8 +869,8 @@ cfg = bus_read_4(sc->sc_res[0], GEM_MAC_TX_CONFIG); cfg &= ~GEM_MAC_TX_ENABLE; bus_write_4(sc->sc_res[0], GEM_MAC_TX_CONFIG, cfg); - - /* Wait for it to finish */ + bus_barrier(sc->sc_res[0], GEM_MAC_TX_CONFIG, 4, + BUS_SPACE_BARRIER_WRITE); return (gem_bitwait(sc, GEM_MAC_TX_CONFIG, GEM_MAC_TX_ENABLE, 0)); } @@ -883,45 +923,34 @@ return (0); } -static int +static u_int gem_ringsize(sz) - int sz; + u_int sz; { - int v = 0; switch (sz) { case 32: - v = GEM_RING_SZ_32; - break; + return (GEM_RING_SZ_32); case 64: - v = GEM_RING_SZ_64; - break; + return (GEM_RING_SZ_64); case 128: - v = GEM_RING_SZ_128; - break; + return (GEM_RING_SZ_128); case 256: - v = GEM_RING_SZ_256; - break; + return (GEM_RING_SZ_256); case 512: - v = GEM_RING_SZ_512; - break; + return (GEM_RING_SZ_512); case 1024: - v = GEM_RING_SZ_1024; - break; + return (GEM_RING_SZ_1024); case 2048: - v = GEM_RING_SZ_2048; - break; + return (GEM_RING_SZ_2048); case 4096: - v = GEM_RING_SZ_4096; - break; + return (GEM_RING_SZ_4096); case 8192: - v = GEM_RING_SZ_8192; - break; + return (GEM_RING_SZ_8192); default: - printf("gem: invalid Receive Descriptor ring size\n"); - break; + printf("%s: invalid ring size %d\n", __func__, sz); + return (GEM_RING_SZ_32); } - return (v); } static void @@ -971,7 +1000,8 @@ gem_mifinit(sc); /* step 3. Setup data structures in host memory */ - gem_meminit(sc); + if (gem_meminit(sc) != 0) + return; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 27 04:00:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EAFE16A41A; Thu, 27 Sep 2007 04:00:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B5B516A417 for ; Thu, 27 Sep 2007 04:00:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0F71313C46A for ; Thu, 27 Sep 2007 04:00:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8R40FN9039681 for ; Thu, 27 Sep 2007 04:00:15 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8R40EuA039666 for perforce@freebsd.org; Thu, 27 Sep 2007 04:00:14 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 04:00:14 GMT Message-Id: <200709270400.l8R40EuA039666@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126846 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 04:00:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=126846 Change 126846 by jb@jb_freebsd1 on 2007/09/27 03:59:25 Branch RELENG_6 for DTrace. Affected files ... .. //depot/projects/dtrace6/src/COPYRIGHT#1 branch .. //depot/projects/dtrace6/src/LOCKS#1 branch .. //depot/projects/dtrace6/src/MAINTAINERS#1 branch .. //depot/projects/dtrace6/src/Makefile#1 branch .. //depot/projects/dtrace6/src/Makefile.inc1#1 branch .. //depot/projects/dtrace6/src/ObsoleteFiles.inc#1 branch .. //depot/projects/dtrace6/src/README#1 branch .. //depot/projects/dtrace6/src/UPDATING#1 branch .. //depot/projects/dtrace6/src/bin/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/Makefile.inc#1 branch .. //depot/projects/dtrace6/src/bin/cat/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/cat/cat.1#1 branch .. //depot/projects/dtrace6/src/bin/cat/cat.c#1 branch .. //depot/projects/dtrace6/src/bin/chflags/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/chflags/chflags.1#1 branch .. //depot/projects/dtrace6/src/bin/chflags/chflags.c#1 branch .. //depot/projects/dtrace6/src/bin/chio/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/chio/chio.1#1 branch .. //depot/projects/dtrace6/src/bin/chio/chio.c#1 branch .. //depot/projects/dtrace6/src/bin/chio/defs.h#1 branch .. //depot/projects/dtrace6/src/bin/chio/pathnames.h#1 branch .. //depot/projects/dtrace6/src/bin/chmod/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/chmod/chmod.1#1 branch .. //depot/projects/dtrace6/src/bin/chmod/chmod.c#1 branch .. //depot/projects/dtrace6/src/bin/cp/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/cp/cp.1#1 branch .. //depot/projects/dtrace6/src/bin/cp/cp.c#1 branch .. //depot/projects/dtrace6/src/bin/cp/extern.h#1 branch .. //depot/projects/dtrace6/src/bin/cp/utils.c#1 branch .. //depot/projects/dtrace6/src/bin/csh/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/csh/USD.doc/csh.1#1 branch .. //depot/projects/dtrace6/src/bin/csh/USD.doc/csh.2#1 branch .. //depot/projects/dtrace6/src/bin/csh/USD.doc/csh.3#1 branch .. //depot/projects/dtrace6/src/bin/csh/USD.doc/csh.4#1 branch .. //depot/projects/dtrace6/src/bin/csh/USD.doc/csh.a#1 branch .. //depot/projects/dtrace6/src/bin/csh/USD.doc/csh.g#1 branch .. //depot/projects/dtrace6/src/bin/csh/USD.doc/tabs#1 branch .. //depot/projects/dtrace6/src/bin/csh/config.h#1 branch .. //depot/projects/dtrace6/src/bin/csh/config_p.h#1 branch .. //depot/projects/dtrace6/src/bin/csh/host.defs#1 branch .. //depot/projects/dtrace6/src/bin/csh/iconv.h#1 branch .. //depot/projects/dtrace6/src/bin/csh/iconv_stub.c#1 branch .. //depot/projects/dtrace6/src/bin/date/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/date/date.1#1 branch .. //depot/projects/dtrace6/src/bin/date/date.c#1 branch .. //depot/projects/dtrace6/src/bin/date/extern.h#1 branch .. //depot/projects/dtrace6/src/bin/date/netdate.c#1 branch .. //depot/projects/dtrace6/src/bin/date/vary.c#1 branch .. //depot/projects/dtrace6/src/bin/date/vary.h#1 branch .. //depot/projects/dtrace6/src/bin/dd/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/dd/args.c#1 branch .. //depot/projects/dtrace6/src/bin/dd/conv.c#1 branch .. //depot/projects/dtrace6/src/bin/dd/conv_tab.c#1 branch .. //depot/projects/dtrace6/src/bin/dd/dd.1#1 branch .. //depot/projects/dtrace6/src/bin/dd/dd.c#1 branch .. //depot/projects/dtrace6/src/bin/dd/dd.h#1 branch .. //depot/projects/dtrace6/src/bin/dd/extern.h#1 branch .. //depot/projects/dtrace6/src/bin/dd/gen.c#1 branch .. //depot/projects/dtrace6/src/bin/dd/misc.c#1 branch .. //depot/projects/dtrace6/src/bin/dd/position.c#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.ascii#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.ebcdic#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.ibm#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.lcase#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.oldascii#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.oldebcdic#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.oldibm#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.pareven#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.parnone#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.parodd#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.parset#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.swab#1 branch .. //depot/projects/dtrace6/src/bin/dd/ref.ucase#1 branch .. //depot/projects/dtrace6/src/bin/df/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/df/df.1#1 branch .. //depot/projects/dtrace6/src/bin/df/df.c#1 branch .. //depot/projects/dtrace6/src/bin/domainname/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/domainname/domainname.1#1 branch .. //depot/projects/dtrace6/src/bin/domainname/domainname.c#1 branch .. //depot/projects/dtrace6/src/bin/echo/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/echo/echo.1#1 branch .. //depot/projects/dtrace6/src/bin/echo/echo.c#1 branch .. //depot/projects/dtrace6/src/bin/ed/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/ed/POSIX#1 branch .. //depot/projects/dtrace6/src/bin/ed/README#1 branch .. //depot/projects/dtrace6/src/bin/ed/buf.c#1 branch .. //depot/projects/dtrace6/src/bin/ed/cbc.c#1 branch .. //depot/projects/dtrace6/src/bin/ed/ed.1#1 branch .. //depot/projects/dtrace6/src/bin/ed/ed.h#1 branch .. //depot/projects/dtrace6/src/bin/ed/glbl.c#1 branch .. //depot/projects/dtrace6/src/bin/ed/io.c#1 branch .. //depot/projects/dtrace6/src/bin/ed/main.c#1 branch .. //depot/projects/dtrace6/src/bin/ed/re.c#1 branch .. //depot/projects/dtrace6/src/bin/ed/sub.c#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/=.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/README#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/TODO#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/a.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/a.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/a.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/a1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/a2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/addr.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/addr.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/addr.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/addr1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/addr2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/ascii.d.uu#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/ascii.r.uu#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/ascii.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/bang1.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/bang1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/bang1.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/bang1.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/bang2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/c.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/c.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/c.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/c1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/c2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/ckscripts.sh#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/d.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/d.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/d.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/d.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e1.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e1.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e1.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e2.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e2.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e2.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e3.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e3.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e3.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e3.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e4.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e4.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/e4.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/f1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/f2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g1.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g1.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g1.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g2.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g2.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g2.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g3.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g3.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g3.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g3.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g4.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g4.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g4.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g5.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g5.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/g5.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/h.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/i.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/i.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/i.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/i1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/i2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/i3.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/j.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/j.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/j.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/k.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/k.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/k.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/k1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/k2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/k3.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/k4.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/l.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/l.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/l.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/m.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/m.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/m.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/m.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/mkscripts.sh#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/n.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/n.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/n.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/nl.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/nl1.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/nl1.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/nl1.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/nl2.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/nl2.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/nl2.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/p.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/p.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/p.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/q.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/q.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/q.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/q1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r1.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r1.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r1.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r2.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r2.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r2.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r3.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r3.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/r3.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s1.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s1.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s1.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s10.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s2.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s2.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s2.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s3.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s3.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s3.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s3.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s4.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s5.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s6.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s7.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s8.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/s9.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t1.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t1.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t1.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t2.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t2.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/t2.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/u.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/u.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/u.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/u.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/v.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/v.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/v.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/w.d#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/w.r#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/w.t#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/w1.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/w2.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/w3.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/x.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/test/z.err#1 branch .. //depot/projects/dtrace6/src/bin/ed/undo.c#1 branch .. //depot/projects/dtrace6/src/bin/expr/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/expr/expr.1#1 branch .. //depot/projects/dtrace6/src/bin/expr/expr.y#1 branch .. //depot/projects/dtrace6/src/bin/getfacl/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/getfacl/getfacl.1#1 branch .. //depot/projects/dtrace6/src/bin/getfacl/getfacl.c#1 branch .. //depot/projects/dtrace6/src/bin/hostname/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/hostname/hostname.1#1 branch .. //depot/projects/dtrace6/src/bin/hostname/hostname.c#1 branch .. //depot/projects/dtrace6/src/bin/kenv/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/kenv/kenv.1#1 branch .. //depot/projects/dtrace6/src/bin/kenv/kenv.c#1 branch .. //depot/projects/dtrace6/src/bin/kill/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/kill/kill.1#1 branch .. //depot/projects/dtrace6/src/bin/kill/kill.c#1 branch .. //depot/projects/dtrace6/src/bin/ln/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/ln/ln.1#1 branch .. //depot/projects/dtrace6/src/bin/ln/ln.c#1 branch .. //depot/projects/dtrace6/src/bin/ln/symlink.7#1 branch .. //depot/projects/dtrace6/src/bin/ls/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/ls/cmp.c#1 branch .. //depot/projects/dtrace6/src/bin/ls/extern.h#1 branch .. //depot/projects/dtrace6/src/bin/ls/ls.1#1 branch .. //depot/projects/dtrace6/src/bin/ls/ls.c#1 branch .. //depot/projects/dtrace6/src/bin/ls/ls.h#1 branch .. //depot/projects/dtrace6/src/bin/ls/print.c#1 branch .. //depot/projects/dtrace6/src/bin/ls/util.c#1 branch .. //depot/projects/dtrace6/src/bin/mkdir/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/mkdir/mkdir.1#1 branch .. //depot/projects/dtrace6/src/bin/mkdir/mkdir.c#1 branch .. //depot/projects/dtrace6/src/bin/mv/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/mv/mv.1#1 branch .. //depot/projects/dtrace6/src/bin/mv/mv.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/pax/ar_io.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/ar_subs.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/buf_subs.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/cache.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/cache.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/cpio.1#1 branch .. //depot/projects/dtrace6/src/bin/pax/cpio.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/cpio.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/extern.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/file_subs.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/ftree.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/ftree.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/gen_subs.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/getoldopt.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/options.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/options.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/pat_rep.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/pat_rep.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/pax.1#1 branch .. //depot/projects/dtrace6/src/bin/pax/pax.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/pax.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/sel_subs.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/sel_subs.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/tables.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/tables.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/tar.1#1 branch .. //depot/projects/dtrace6/src/bin/pax/tar.c#1 branch .. //depot/projects/dtrace6/src/bin/pax/tar.h#1 branch .. //depot/projects/dtrace6/src/bin/pax/tty_subs.c#1 branch .. //depot/projects/dtrace6/src/bin/ps/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/ps/extern.h#1 branch .. //depot/projects/dtrace6/src/bin/ps/fmt.c#1 branch .. //depot/projects/dtrace6/src/bin/ps/keyword.c#1 branch .. //depot/projects/dtrace6/src/bin/ps/nlist.c#1 branch .. //depot/projects/dtrace6/src/bin/ps/print.c#1 branch .. //depot/projects/dtrace6/src/bin/ps/ps.1#1 branch .. //depot/projects/dtrace6/src/bin/ps/ps.c#1 branch .. //depot/projects/dtrace6/src/bin/ps/ps.h#1 branch .. //depot/projects/dtrace6/src/bin/pwd/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/pwd/pwd.1#1 branch .. //depot/projects/dtrace6/src/bin/pwd/pwd.c#1 branch .. //depot/projects/dtrace6/src/bin/rcp/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/rcp/extern.h#1 branch .. //depot/projects/dtrace6/src/bin/rcp/rcp.1#1 branch .. //depot/projects/dtrace6/src/bin/rcp/rcp.c#1 branch .. //depot/projects/dtrace6/src/bin/rcp/util.c#1 branch .. //depot/projects/dtrace6/src/bin/realpath/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/realpath/realpath.1#1 branch .. //depot/projects/dtrace6/src/bin/realpath/realpath.c#1 branch .. //depot/projects/dtrace6/src/bin/rm/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/rm/rm.1#1 branch .. //depot/projects/dtrace6/src/bin/rm/rm.c#1 branch .. //depot/projects/dtrace6/src/bin/rmail/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/rmdir/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/rmdir/rmdir.1#1 branch .. //depot/projects/dtrace6/src/bin/rmdir/rmdir.c#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/file.c#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/mask.c#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/merge.c#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/remove.c#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/setfacl.1#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/setfacl.c#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/setfacl.h#1 branch .. //depot/projects/dtrace6/src/bin/setfacl/util.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/sh/TOUR#1 branch .. //depot/projects/dtrace6/src/bin/sh/alias.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/alias.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/arith.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/arith.y#1 branch .. //depot/projects/dtrace6/src/bin/sh/arith_lex.l#1 branch .. //depot/projects/dtrace6/src/bin/sh/bltin/bltin.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/bltin/echo.1#1 branch .. //depot/projects/dtrace6/src/bin/sh/bltin/echo.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/builtins.def#1 branch .. //depot/projects/dtrace6/src/bin/sh/cd.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/cd.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/error.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/error.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/eval.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/eval.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/exec.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/exec.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/expand.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/expand.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/funcs/cmv#1 branch .. //depot/projects/dtrace6/src/bin/sh/funcs/dirs#1 branch .. //depot/projects/dtrace6/src/bin/sh/funcs/kill#1 branch .. //depot/projects/dtrace6/src/bin/sh/funcs/login#1 branch .. //depot/projects/dtrace6/src/bin/sh/funcs/newgrp#1 branch .. //depot/projects/dtrace6/src/bin/sh/funcs/popd#1 branch .. //depot/projects/dtrace6/src/bin/sh/funcs/pushd#1 branch .. //depot/projects/dtrace6/src/bin/sh/funcs/suspend#1 branch .. //depot/projects/dtrace6/src/bin/sh/histedit.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/init.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/input.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/input.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/jobs.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/jobs.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/mail.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/mail.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/main.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/main.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/memalloc.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/memalloc.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/miscbltin.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/mkbuiltins#1 branch .. //depot/projects/dtrace6/src/bin/sh/mkinit.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/mknodes.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/mksyntax.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/mktokens#1 branch .. //depot/projects/dtrace6/src/bin/sh/myhistedit.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/mystring.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/mystring.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/nodes.c.pat#1 branch .. //depot/projects/dtrace6/src/bin/sh/nodetypes#1 branch .. //depot/projects/dtrace6/src/bin/sh/options.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/options.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/output.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/output.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/parser.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/parser.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/redir.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/redir.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/sh.1#1 branch .. //depot/projects/dtrace6/src/bin/sh/shell.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/show.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/show.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/trap.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/trap.h#1 branch .. //depot/projects/dtrace6/src/bin/sh/var.c#1 branch .. //depot/projects/dtrace6/src/bin/sh/var.h#1 branch .. //depot/projects/dtrace6/src/bin/sleep/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/sleep/sleep.1#1 branch .. //depot/projects/dtrace6/src/bin/sleep/sleep.c#1 branch .. //depot/projects/dtrace6/src/bin/stty/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/stty/cchar.c#1 branch .. //depot/projects/dtrace6/src/bin/stty/extern.h#1 branch .. //depot/projects/dtrace6/src/bin/stty/gfmt.c#1 branch .. //depot/projects/dtrace6/src/bin/stty/key.c#1 branch .. //depot/projects/dtrace6/src/bin/stty/modes.c#1 branch .. //depot/projects/dtrace6/src/bin/stty/print.c#1 branch .. //depot/projects/dtrace6/src/bin/stty/stty.1#1 branch .. //depot/projects/dtrace6/src/bin/stty/stty.c#1 branch .. //depot/projects/dtrace6/src/bin/stty/stty.h#1 branch .. //depot/projects/dtrace6/src/bin/stty/util.c#1 branch .. //depot/projects/dtrace6/src/bin/sync/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/sync/sync.8#1 branch .. //depot/projects/dtrace6/src/bin/sync/sync.c#1 branch .. //depot/projects/dtrace6/src/bin/test/Makefile#1 branch .. //depot/projects/dtrace6/src/bin/test/TEST.README#1 branch .. //depot/projects/dtrace6/src/bin/test/TEST.csh#1 branch .. //depot/projects/dtrace6/src/bin/test/TEST.sh#1 branch .. //depot/projects/dtrace6/src/bin/test/test.1#1 branch .. //depot/projects/dtrace6/src/bin/test/test.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/AUTHORS#1 branch .. //depot/projects/dtrace6/src/contrib/amd/BUGS#1 branch .. //depot/projects/dtrace6/src/contrib/amd/COPYING#1 branch .. //depot/projects/dtrace6/src/contrib/amd/ChangeLog#1 branch .. //depot/projects/dtrace6/src/contrib/amd/FREEBSD-Xlist#1 branch .. //depot/projects/dtrace6/src/contrib/amd/FREEBSD-upgrade#1 branch .. //depot/projects/dtrace6/src/contrib/amd/INSTALL#1 branch .. //depot/projects/dtrace6/src/contrib/amd/MIRRORS.html#1 branch .. //depot/projects/dtrace6/src/contrib/amd/MIRRORS.txt#1 branch .. //depot/projects/dtrace6/src/contrib/amd/NEWS#1 branch .. //depot/projects/dtrace6/src/contrib/amd/README#1 branch .. //depot/projects/dtrace6/src/contrib/amd/README.ldap#1 branch .. //depot/projects/dtrace6/src/contrib/amd/README.y2k#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/am_ops.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amd.8#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amd.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amd.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_auto.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_direct.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_error.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_host.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_inherit.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_link.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_linkx.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_nfsl.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_nfsx.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_program.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_root.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_toplvl.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amfs_union.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amq_subr.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/amq_svc.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/autil.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/clock.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/conf.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/conf_parse.y#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/conf_tok.l#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/get_args.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/info_file.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/info_hesiod.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/info_ldap.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/info_ndbm.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/info_nis.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/info_nisplus.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/info_passwd.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/info_union.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/map.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/mapc.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/mntfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/nfs_prot_svc.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/nfs_start.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/nfs_subr.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_TEMPLATE.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_cachefs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_cdfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_efs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_lofs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_mfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_nfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_nfs3.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_nullfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_pcfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_tfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_tmpfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_ufs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_umapfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_unionfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/ops_xfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/opts.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/restart.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/rpc_fwd.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/sched.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/srvr_amfs_auto.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amd/srvr_nfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amq/amq.8#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amq/amq.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amq/amq.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amq/amq_clnt.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amq/amq_xdr.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amq/pawd.1#1 branch .. //depot/projects/dtrace6/src/contrib/amd/amq/pawd.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/aux_conf.h.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/bootstrap#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/checkmount/checkmount_bsd44.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/fh_dref/fh_dref_freebsd22.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/mtab/mtab_bsd.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/sa_dref/sa_dref_bsd44.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/transp/transp_sockets.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/trap/trap_default.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/conf/umount/umount_bsd44.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/doc/am-utils.texi#1 branch .. //depot/projects/dtrace6/src/contrib/amd/doc/texinfo.tex#1 branch .. //depot/projects/dtrace6/src/contrib/amd/doc/version.texi#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fixmount/fixmount.8#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fixmount/fixmount.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsi_analyze.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsi_data.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsi_dict.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsi_gram.y#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsi_lex.l#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsi_util.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsinfo.8#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsinfo.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/fsinfo.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/wr_atab.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/wr_bparam.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/wr_dumpset.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/wr_exportfs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/fsinfo/wr_fstab.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/hlfsd/hlfsd.8#1 branch .. //depot/projects/dtrace6/src/contrib/amd/hlfsd/hlfsd.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/hlfsd/hlfsd.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/hlfsd/homedir.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/hlfsd/nfs_prot_svc.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/hlfsd/stubs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/include/am_compat.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/include/am_defs.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/include/am_utils.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/include/am_xdr_func.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/include/amq_defs.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/include/mount_headers1.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/include/mount_headers2.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/ldap-id.ms#1 branch .. //depot/projects/dtrace6/src/contrib/amd/ldap-id.txt#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/alloca.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/amu.h#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/hasmntopt.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/misc_rpc.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/mount_fs.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/mtab.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/nfs_prot_xdr.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/strerror.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/util.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/wire.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/xdr_func.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/libamu/xutil.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/GNUmakefile#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/amdgrep#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/amindent#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/autopat#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/chop-aclocal.pl#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/copy-if-newbig#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/macros/HEADER#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/macros/TRAILER#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/mk-aclocal#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/mkconf#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/rmtspc#1 branch .. //depot/projects/dtrace6/src/contrib/amd/m4/update_build_version#1 branch .. //depot/projects/dtrace6/src/contrib/amd/mk-amd-map/mk-amd-map.8#1 branch .. //depot/projects/dtrace6/src/contrib/amd/mk-amd-map/mk-amd-map.c#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/Makefile.am#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/am-eject.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/amd.conf-sample#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/amd.conf.5#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/amd2ldif.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/amd2sun.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/automount2amd.8#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/automount2amd.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/ctl-amd.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/ctl-hlfsd.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/expn.1#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/expn.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/fix-amd-map.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/fixrmtab.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/redhat-ctl-amd.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/wait4amd.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/scripts/wait4amd2die.in#1 branch .. //depot/projects/dtrace6/src/contrib/amd/tasks#1 branch .. //depot/projects/dtrace6/src/contrib/amd/wire-test/wire-test.8#1 branch .. //depot/projects/dtrace6/src/contrib/amd/wire-test/wire-test.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/AUTHORS#1 branch .. //depot/projects/dtrace6/src/contrib/bc/ChangeLog#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Examples/ckbook.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Examples/pi.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Examples/primes.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Examples/twins.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/FAQ#1 branch .. //depot/projects/dtrace6/src/contrib/bc/FREEBSD-upgrade#1 branch .. //depot/projects/dtrace6/src/contrib/bc/INSTALL#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Makefile.am#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bc/NEWS#1 branch .. //depot/projects/dtrace6/src/contrib/bc/README#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/BUG.bc#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/array.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/arrayp.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/aryprm.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/atan.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/checklib.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/div.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/exp.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/fact.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/jn.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/ln.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/mul.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/raise.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/signum#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/sine.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/sqrt.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/sqrt1.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/sqrt2.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/testfn.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/Test/timetest#1 branch .. //depot/projects/dtrace6/src/contrib/bc/acconfig.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/aclocal.m4#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/Makefile.am#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/bc.y#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/bcdefs.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/const.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/execute.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/fix-libmath_h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/global.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/global.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/libmath.b#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/libmath.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/load.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/main.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/proto.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/sbc.y#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/scan.l#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/storage.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/bc/util.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/config.h.in#1 branch .. //depot/projects/dtrace6/src/contrib/bc/configure#1 branch .. //depot/projects/dtrace6/src/contrib/bc/configure.in#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/Makefile.am#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/array.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/dc-proto.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/dc-regdef.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/dc.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/dc.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/eval.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/misc.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/numeric.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/stack.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/dc/string.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/doc/Makefile.am#1 branch .. //depot/projects/dtrace6/src/contrib/bc/doc/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bc/doc/bc.1#1 branch .. //depot/projects/dtrace6/src/contrib/bc/doc/bc.texi#1 branch .. //depot/projects/dtrace6/src/contrib/bc/doc/dc.1#1 branch .. //depot/projects/dtrace6/src/contrib/bc/doc/dc.texi#1 branch .. //depot/projects/dtrace6/src/contrib/bc/h/number.h#1 branch .. //depot/projects/dtrace6/src/contrib/bc/install-sh#1 branch .. //depot/projects/dtrace6/src/contrib/bc/lib/Makefile.am#1 branch .. //depot/projects/dtrace6/src/contrib/bc/lib/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bc/lib/number.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/lib/testmul.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/lib/vfprintf.c#1 branch .. //depot/projects/dtrace6/src/contrib/bc/missing#1 branch .. //depot/projects/dtrace6/src/contrib/bc/mkinstalldirs#1 branch .. //depot/projects/dtrace6/src/contrib/bc/stamp-h.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/CHANGES#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/COPYRIGHT#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/FAQ#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/FAQ.xml#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/README#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/acconfig.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/check-tool.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/check-tool.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/named-checkconf.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/named-checkconf.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/named-checkconf.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/named-checkconf.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/named-checkzone.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/named-checkzone.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/named-checkzone.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/check/named-checkzone.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/dig.1#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/dig.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/dig.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/dig.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/dighost.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/host.1#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/host.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/host.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/host.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/include/dig/dig.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/nslookup.1#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/nslookup.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/nslookup.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dig/nslookup.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssec-keygen.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssec-keygen.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssec-keygen.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssec-signzone.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssec-signzone.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssectool.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/dnssec/dnssectool.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/aclconf.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/builtin.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/client.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/config.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/control.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/controlconf.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/aclconf.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/builtin.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/client.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/config.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/control.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/globals.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/interfacemgr.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/listenlist.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/log.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/logconf.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/lwaddr.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/lwdclient.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/lwresd.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/lwsearch.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/main.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/notify.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/ns_smf_globals.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/query.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/server.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/sortlist.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/tkeyconf.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/tsigconf.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/types.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/update.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/xfrout.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/include/named/zoneconf.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/interfacemgr.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/listenlist.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/log.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/logconf.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwaddr.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwdclient.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwderror.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwdgabn.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwdgnba.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwdgrbn.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwdnoop.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwresd.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwresd.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwresd.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwresd.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/lwsearch.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/main.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/named.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/named.conf.5#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/named.conf.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/named.conf.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/named.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/named.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/notify.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/query.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/server.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/sortlist.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/tkeyconf.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/tsigconf.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/unix/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/unix/include/named/os.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/unix/os.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/update.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/xfrout.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/named/zoneconf.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/nsupdate/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/nsupdate/nsupdate.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/nsupdate/nsupdate.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/nsupdate/nsupdate.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/nsupdate/nsupdate.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/include/rndc/os.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc-confgen.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc-confgen.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc-confgen.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc-confgen.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc.8#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc.conf#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc.conf.5#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc.conf.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc.conf.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc.docbook#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/rndc.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/unix/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/unix/os.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/util.c#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/bin/rndc/util.h#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/config.guess#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/config.sub#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/config.threads.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/configure.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.html#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Bv9ARM.pdf#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/arm/README-SGML#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-09.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-00.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-insensitive-06.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-02.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-01.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-04.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-08.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-04.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-04.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-04.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/draft/update#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/Makefile.in#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/dnssec#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/format-options.pl#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/ipv6#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/migration#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/migration-4to9#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/options#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/rfc-compliance#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/roadmap#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/misc/sdb#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/index#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1032.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1033.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1034.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1035.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1101.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1122.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1123.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1183.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1348.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1535.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1536.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1537.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1591.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1611.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1612.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1706.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1712.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1750.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1876.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1886.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1982.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1995.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc1996.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2052.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2104.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2119.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2133.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2136.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2137.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2163.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2168.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2181.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2230.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2308.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2317.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2373.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2374.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2375.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2418.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2535.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2536.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2537.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2538.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2539.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2540.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2541.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2553.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2671.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2672.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2673.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2782.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2825.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2826.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2845.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2874.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2915.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2929.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2930.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc2931.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3007.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3008.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3071.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3090.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3110.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3123.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3152.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3197.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3225.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3226.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3258.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3363.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3364.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3425.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3445.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3467.txt#1 branch .. //depot/projects/dtrace6/src/contrib/bind9/doc/rfc/rfc3490.txt#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 27 09:25:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A48F16A41B; Thu, 27 Sep 2007 09:25:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC48916A41A for ; Thu, 27 Sep 2007 09:25:12 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C562113C46E for ; Thu, 27 Sep 2007 09:25:12 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8R9PC1X087046 for ; Thu, 27 Sep 2007 09:25:12 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8R9PCA8087043 for perforce@freebsd.org; Thu, 27 Sep 2007 09:25:12 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 09:25:12 GMT Message-Id: <200709270925.l8R9PCA8087043@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126853 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 09:25:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=126853 Change 126853 by jb@jb_freebsd1 on 2007/09/27 09:24:56 Resolve integration conflicts -- mostly by accepting the version in CVS. Affected files ... .. //depot/projects/dtrace/doc/share/images/books/handbook/install/desktop.scr#3 integrate .. //depot/projects/dtrace/doc/share/images/books/handbook/install/xf86setup.scr#3 integrate .. //depot/projects/dtrace/src/cddl/Makefile#7 integrate .. //depot/projects/dtrace/src/cddl/Makefile.inc#5 integrate .. //depot/projects/dtrace/src/cddl/lib/Makefile#6 integrate .. //depot/projects/dtrace/src/cddl/lib/libavl/Makefile#2 integrate .. //depot/projects/dtrace/src/cddl/usr.bin/Makefile#3 integrate .. //depot/projects/dtrace/src/cddl/usr.bin/Makefile.inc#2 integrate .. //depot/projects/dtrace/src/cddl/usr.sbin/Makefile#2 integrate .. //depot/projects/dtrace/src/cddl/usr.sbin/Makefile.inc#2 integrate .. //depot/projects/dtrace/src/contrib/pf/pflogd/pidfile.c#4 integrate .. //depot/projects/dtrace/src/contrib/pf/pflogd/pidfile.h#4 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/common/avl/avl.c#8 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/avl.h#3 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/avl_impl.h#3 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/ccompile.h#3 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/feature_tests.h#4 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/isa_defs.h#5 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/note.h#3 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/zmod.h#4 integrate Differences ... ==== //depot/projects/dtrace/doc/share/images/books/handbook/install/desktop.scr#3 (text+ko) ==== ==== //depot/projects/dtrace/doc/share/images/books/handbook/install/xf86setup.scr#3 (text+ko) ==== ==== //depot/projects/dtrace/src/cddl/Makefile#7 (text+ko) ==== @@ -1,11 +1,5 @@ -# $FreeBSD$ +# $FreeBSD: src/cddl/Makefile,v 1.2 2007/04/16 21:20:24 ru Exp $ -.include - -SUBDIR= - -.if ${MK_CDDL} != "no" -SUBDIR+= lib usr.bin usr.sbin -.endif +SUBDIR= lib sbin usr.bin usr.sbin .include ==== //depot/projects/dtrace/src/cddl/Makefile.inc#5 (text+ko) ==== @@ -1,11 +1,3 @@ -# $FreeBSD$ +# $FreeBSD: src/cddl/Makefile.inc,v 1.2 2007/04/16 21:20:24 ru Exp $ -OPENSOLARIS_USR_DISTDIR=${.CURDIR}/../../../contrib/opensolaris -OPENSOLARIS_SYS_DISTDIR=${.CURDIR}/../../../sys/contrib/opensolaris - -CFLAGS+= -I${.CURDIR}/../../../sys -CFLAGS+= -D_SOLARIS_C_SOURCE - -IGNORE_PRAGMA= 1 - -WARNS?= 6 +CFLAGS+= -D_SOLARIS_C_SOURCE ==== //depot/projects/dtrace/src/cddl/lib/Makefile#6 (text+ko) ==== @@ -1,5 +1,17 @@ -# $FreeBSD$ +# $FreeBSD: src/cddl/lib/Makefile,v 1.4 2007/06/08 12:35:45 pjd Exp $ + +.include + +SUBDIR= libavl \ + libnvpair \ + libumem \ + libuutil \ + ${_libzfs} \ + ${_libzpool} -SUBDIR= libctf libdtrace libproc +.if ${MK_ZFS} != "no" +_libzfs= libzfs +_libzpool= libzpool +.endif .include ==== //depot/projects/dtrace/src/cddl/lib/libavl/Makefile#2 (text+ko) ==== @@ -1,19 +1,10 @@ -# $FreeBSD$ +# $FreeBSD: src/cddl/lib/libavl/Makefile,v 1.2 2007/04/16 21:20:24 ru Exp $ -.include "../../Makefile.inc" +.PATH: ${.CURDIR}/../../../sys/contrib/opensolaris/common/avl -LIB= avl -SHLIB_MAJOR= 1 +LIB= avl +SRCS= avl.c +CFLAGS+= -I${.CURDIR}/../../../sys/compat/opensolaris +CFLAGS+= -I${.CURDIR}/../../../sys/contrib/opensolaris/uts/common -SRCS= avl.c - -WARNS?= 0 - -.PATH: ${OPENSOLARIS_SYS_DISTDIR}/common/avl - -CFLAGS+= -I${.CURDIR}/../../../contrib \ - -I${.CURDIR}/../../../sys/contrib \ - -I${OPENSOLARIS_SYS_DISTDIR}/uts/common - .include - ==== //depot/projects/dtrace/src/cddl/usr.bin/Makefile#3 (text+ko) ==== @@ -1,5 +1,11 @@ -# $FreeBSD$ +# $FreeBSD: src/cddl/usr.bin/Makefile,v 1.4 2007/06/08 12:35:45 pjd Exp $ + +.include + +SUBDIR= ${_ztest} -SUBDIR= ctfconvert ctfdump ctfmerge sgsmsg +.if ${MK_ZFS} != "no" +_ztest= ztest +.endif .include ==== //depot/projects/dtrace/src/cddl/usr.bin/Makefile.inc#2 (text+ko) ==== ==== //depot/projects/dtrace/src/cddl/usr.sbin/Makefile#2 (text+ko) ==== @@ -1,5 +1,11 @@ -# $FreeBSD$ +# $FreeBSD: src/cddl/usr.sbin/Makefile,v 1.4 2007/06/08 12:35:45 pjd Exp $ + +.include + +SUBDIR= ${_zdb} -SUBDIR= dtrace +.if ${MK_ZFS} != "no" +_zdb= zdb +.endif .include ==== //depot/projects/dtrace/src/cddl/usr.sbin/Makefile.inc#2 (text+ko) ==== ==== //depot/projects/dtrace/src/contrib/pf/pflogd/pidfile.c#4 (text+ko) ==== ==== //depot/projects/dtrace/src/contrib/pf/pflogd/pidfile.h#4 (text+ko) ==== ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/common/avl/avl.c#8 (text) ==== ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/avl.h#3 (text) ==== ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/avl_impl.h#3 (text) ==== ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/ccompile.h#3 (text) ==== ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/feature_tests.h#4 (text) ==== ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/isa_defs.h#5 (text) ==== ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/note.h#3 (text) ==== ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/zmod.h#4 (text) ==== From owner-p4-projects@FreeBSD.ORG Thu Sep 27 09:26:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CE23D16A421; Thu, 27 Sep 2007 09:26:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9379416A419 for ; Thu, 27 Sep 2007 09:26:14 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8C7B713C480 for ; Thu, 27 Sep 2007 09:26:14 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8R9QEiD087075 for ; Thu, 27 Sep 2007 09:26:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8R9QE33087072 for perforce@freebsd.org; Thu, 27 Sep 2007 09:26:14 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 09:26:14 GMT Message-Id: <200709270926.l8R9QE33087072@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126854 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 09:26:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=126854 Change 126854 by jb@jb_freebsd1 on 2007/09/27 09:25:42 Not sure why this didn't integrate. Affected files ... .. //depot/projects/dtrace/src/tools/tools/nanobsd/nanobsd.sh#11 edit Differences ... ==== //depot/projects/dtrace/src/tools/tools/nanobsd/nanobsd.sh#11 (text+ko) ==== @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/tools/tools/nanobsd/nanobsd.sh,v 1.27 2007/06/12 11:35:29 phk Exp $ +# $FreeBSD: src/tools/tools/nanobsd/nanobsd.sh,v 1.28 2007/08/26 14:57:08 phk Exp $ # set -e @@ -83,6 +83,10 @@ # Number of code images on media (1 or 2) NANO_IMAGES=2 +# 0 -> Leave second image all zeroes so it compresses better. +# 1 -> Initialize second image with a copy of the first +NANO_INIT_IMG2=1 + # Size of code file system in 512 bytes sectors # If zero, size will be as large as possible. NANO_CODESIZE=0 @@ -402,7 +406,7 @@ ( cd ${MNT} && du -k ) > ${MAKEOBJDIRPREFIX}/_.du umount ${MNT} - if [ $NANO_IMAGES -gt 1 ] ; then + if [ $NANO_IMAGES -gt 1 -a $NANO_INIT_IMG2 -gt 0 ] ; then # Duplicate to second image (if present) dd if=/dev/${MD}s1 of=/dev/${MD}s2 bs=64k mount /dev/${MD}s2a ${MNT} @@ -505,8 +509,11 @@ # Record how may we have now have=`ls ${NANO_WORLDDIR}/var/db/pkg | wc -l` - # Attempt to install more - chroot ${NANO_WORLDDIR} sh -c 'pkg_add -F Pkg/*' || true + # Attempt to install more packages + # ...but no more than 200 at a time due to pkg_add's internal + # limitations. + chroot ${NANO_WORLDDIR} sh -c \ + 'ls Pkg/*tbz | xargs -n 200 pkg_add -F' || true # See what that got us now=`ls ${NANO_WORLDDIR}/var/db/pkg | wc -l` From owner-p4-projects@FreeBSD.ORG Thu Sep 27 09:36:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5EA4816A421; Thu, 27 Sep 2007 09:36:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28F2316A41A for ; Thu, 27 Sep 2007 09:36:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 21D7313C45B for ; Thu, 27 Sep 2007 09:36:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8R9aR1P087659 for ; Thu, 27 Sep 2007 09:36:27 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8R9aRf7087656 for perforce@freebsd.org; Thu, 27 Sep 2007 09:36:27 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 09:36:27 GMT Message-Id: <200709270936.l8R9aRf7087656@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126855 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 09:36:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=126855 Change 126855 by jb@jb_freebsd1 on 2007/09/27 09:35:51 Reset to match CVS. Affected files ... .. //depot/projects/dtrace/src/contrib/pf/pflogd/pidfile.c#5 edit .. //depot/projects/dtrace/src/contrib/pf/pflogd/pidfile.h#5 edit Differences ... ==== //depot/projects/dtrace/src/contrib/pf/pflogd/pidfile.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/pf/pflogd/pidfile.c,v 1.4 2005/05/03 16:55:20 mlaier Exp $ */ +/* $FreeBSD: src/contrib/pf/pflogd/pidfile.c,v 1.6 2007/07/03 14:08:49 mlaier Exp $ */ /* $OpenBSD: pidfile.c,v 1.5 2002/05/26 09:29:02 deraadt Exp $ */ /* $NetBSD: pidfile.c,v 1.4 2001/02/19 22:43:42 cgd Exp $ */ ==== //depot/projects/dtrace/src/contrib/pf/pflogd/pidfile.h#5 (text+ko) ==== @@ -1,1 +1,3 @@ +/* $FreeBSD: src/contrib/pf/pflogd/pidfile.h,v 1.3 2007/07/03 14:08:49 mlaier Exp $ */ + int pidfile(const char *); From owner-p4-projects@FreeBSD.ORG Thu Sep 27 09:40:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3871216A41B; Thu, 27 Sep 2007 09:40:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE8AE16A418 for ; Thu, 27 Sep 2007 09:40:33 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C8D5913C45D for ; Thu, 27 Sep 2007 09:40:33 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8R9eXMD087879 for ; Thu, 27 Sep 2007 09:40:33 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8R9eXD8087876 for perforce@freebsd.org; Thu, 27 Sep 2007 09:40:33 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 09:40:33 GMT Message-Id: <200709270940.l8R9eXD8087876@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126856 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 09:40:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=126856 Change 126856 by jb@jb_freebsd1 on 2007/09/27 09:40:26 Remove type references to things that are licensed under the CDDL. Not quite as readable, but that's stupid licenses for you. Affected files ... .. //depot/projects/dtrace/src/sys/sys/linker.h#13 edit Differences ... ==== //depot/projects/dtrace/src/sys/sys/linker.h#13 (text+ko) ==== @@ -33,7 +33,6 @@ #include #include -#include #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_LINKER); @@ -93,7 +92,7 @@ */ int nenabled; /* number of enabled probes. */ int fbt_nentries; /* number of fbt entries created. */ - sdt_probedesc_t *sdt_probes; + void *sdt_probes; int sdt_nentries; size_t sdt_nprobes; size_t sdt_size; @@ -264,7 +263,7 @@ int elf_reloc_local(linker_file_t _lf, Elf_Addr base, const void *_rel, int _type, elf_lookup_fn _lu); const Elf_Sym *elf_get_sym(linker_file_t _lf, Elf_Size _symidx); const char *elf_get_symname(linker_file_t _lf, Elf_Size _symidx); -int sdt_reloc_resolve(uint8_t *, sdt_probedesc_t *); +int sdt_reloc_resolve(uint8_t *, void *); int elf_cpu_load_file(linker_file_t); int elf_cpu_unload_file(linker_file_t); From owner-p4-projects@FreeBSD.ORG Thu Sep 27 09:57:58 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6AB5216A420; Thu, 27 Sep 2007 09:57:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2870016A41B for ; Thu, 27 Sep 2007 09:57:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 22CE113C45B for ; Thu, 27 Sep 2007 09:57:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8R9vv7I089004 for ; Thu, 27 Sep 2007 09:57:57 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8R9vv81089001 for perforce@freebsd.org; Thu, 27 Sep 2007 09:57:57 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 09:57:57 GMT Message-Id: <200709270957.l8R9vv81089001@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126859 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 09:57:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=126859 Change 126859 by jb@jb_freebsd1 on 2007/09/27 09:57:33 To avoid infecting the GENERIC kernel with Sun's CDDL, the additional fields that would have just been added to 'struct thread' have to be made opaque. The easiest way I can think of to do this is to allocate extra space when the thread structure is allocated. The value of KDTRACE_THREAD_SIZE is the extra space required. It is then left to the DTrace modules to do the pointer arithmetic to offset 'struct thread *td' to point to the DTrace-specific thread data. I get conflicting opinions about what is protected by copyright and what is not. None of these opinions come from lawyers. However, even if they were from lawyers they would still just be opinions which have no legal precedent. I am accused by one person from Sun of "effectively making up [my] own law, and then complaining that [I'm] forcing [myself] to follow it". I am also accused of making Sun a "straw man" and that I'm "more interested in having the problem than solving it". I have asked Sun for legal clarity. It's notable that, of all the emails I've received from Sun, exactly ZERO have come from anyone with any legal responsibility in Sun. So this is the way forward... obfuscate the bloody code so that it doesn't directly reference any CDDL code. And life goes on. Affected files ... .. //depot/projects/dtrace/src/sys/sys/proc.h#22 edit Differences ... ==== //depot/projects/dtrace/src/sys/sys/proc.h#22 (text+ko) ==== @@ -803,6 +803,21 @@ extern int maxprocperuid; /* Max procs per uid. */ extern u_long ps_arg_cache_limit; +/* + * Space to append to struct thread for DTrace specific thread + * variables. This space is after the 'struct td_sched'. + */ +#define KDTRACE_THREAD_SIZE 128 + +/* Offset from 'struct thread *' to the opaque DTrace fields. */ +extern int kdtrace_thread_offset; + +/* Overall per-thread allocation size. */ +extern int kdtrace_thread_size; + +/* DTrace data for the primary thread in proc0. */ +extern char kdtrace_thread0[]; + LIST_HEAD(proclist, proc); TAILQ_HEAD(procqueue, proc); TAILQ_HEAD(threadqueue, thread); From owner-p4-projects@FreeBSD.ORG Thu Sep 27 10:15:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28A9916A421; Thu, 27 Sep 2007 10:15:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8C5016A41B for ; Thu, 27 Sep 2007 10:15:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B2A1613C45A for ; Thu, 27 Sep 2007 10:15:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RAFlIR093028 for ; Thu, 27 Sep 2007 10:15:47 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RAFllA093025 for perforce@freebsd.org; Thu, 27 Sep 2007 10:15:47 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 10:15:47 GMT Message-Id: <200709271015.l8RAFllA093025@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126860 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 10:15:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=126860 Change 126860 by jb@jb_freebsd1 on 2007/09/27 10:14:48 Hi-ho, hi-ho, it's obfuscate we go. In mi_startup, get the traditional size of 'struct thread', including the 'struct td_sched' using sched_sizeof_thread(). That's the offset to the start of the DTrace-specific thread data. The overall size of that is saved in kdtrace_thread_size which is used in each call to uma_zcreate() when a thread is allocated. Affected files ... .. //depot/projects/dtrace/src/sys/kern/init_main.c#14 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/init_main.c#14 (text+ko) ==== @@ -60,6 +60,7 @@ #include #include #include +#include #include #include #include @@ -98,6 +99,15 @@ struct vmspace vmspace0; struct proc *initproc; +/* DTrace data for the primary thread in proc0. */ +char kdtrace_thread0[KDTRACE_THREAD_SIZE]; + +/* Offset from 'struct thread *' to the opaque DTrace fields. */ +int kdtrace_thread_offset; + +/* Overall per-thread allocation size. */ +int kdtrace_thread_size; + int boothowto = 0; /* initialized so that it can be patched */ SYSCTL_INT(_debug, OID_AUTO, boothowto, CTLFLAG_RD, &boothowto, 0, ""); int bootverbose; @@ -177,6 +187,18 @@ int verbose; #endif + /* Get the size of 'struct thread' plus 'struct td_sched' */ + kdtrace_thread_offset = sched_sizeof_thread(); + + /* + * Allow for the DTrace-specific thread data after + * struct td_sched. This space is allocated opaquely to + * avoid license issues. The value of KDTRACE_THREAD_SIZE + * set in sys/proc.h must be larger than that required by + * the DTrace kernel modules. + */ + kdtrace_thread_size = kdtrace_thread_offset + KDTRACE_THREAD_SIZE; + if (sysinit == NULL) { sysinit = SET_BEGIN(sysinit_set); sysinit_end = SET_LIMIT(sysinit_set); From owner-p4-projects@FreeBSD.ORG Thu Sep 27 10:20:55 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D05416A41A; Thu, 27 Sep 2007 10:20:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E09116A417 for ; Thu, 27 Sep 2007 10:20:55 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0902413C44B for ; Thu, 27 Sep 2007 10:20:55 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RAKs0k093273 for ; Thu, 27 Sep 2007 10:20:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RAKsi7093266 for perforce@freebsd.org; Thu, 27 Sep 2007 10:20:54 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 10:20:54 GMT Message-Id: <200709271020.l8RAKsi7093266@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126861 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 10:20:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=126861 Change 126861 by jb@jb_freebsd1 on 2007/09/27 10:20:43 Reset to match CVS. Affected files ... .. //depot/projects/dtrace/src/sys/net/if_enc.c#7 edit .. //depot/projects/dtrace/src/sys/net/if_gre.c#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/net/if_enc.c#7 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD$ + * $FreeBSD: src/sys/net/if_enc.c,v 1.6 2006/12/29 13:59:49 jhb Exp $ */ #include ==== //depot/projects/dtrace/src/sys/net/if_gre.c#10 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: if_gre.c,v 1.49 2003/12/11 00:22:29 itojun Exp $ */ -/* $FreeBSD$ */ +/* $FreeBSD: src/sys/net/if_gre.c,v 1.46 2007/06/26 23:01:01 rwatson Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. From owner-p4-projects@FreeBSD.ORG Thu Sep 27 10:23:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE7E816A418; Thu, 27 Sep 2007 10:23:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 801B616A46B for ; Thu, 27 Sep 2007 10:23:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6303C13C4A7 for ; Thu, 27 Sep 2007 10:23:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RANxhS093556 for ; Thu, 27 Sep 2007 10:23:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RANwss093553 for perforce@freebsd.org; Thu, 27 Sep 2007 10:23:58 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 10:23:58 GMT Message-Id: <200709271023.l8RANwss093553@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126862 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 10:24:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=126862 Change 126862 by jb@jb_freebsd1 on 2007/09/27 10:23:12 Reset to match CVS. Affected files ... .. //depot/projects/dtrace/src/share/man/man4/enc.4#7 edit Differences ... ==== //depot/projects/dtrace/src/share/man/man4/enc.4#7 (text+ko) ==== @@ -29,7 +29,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD$ +.\" $FreeBSD: src/share/man/man4/enc.4,v 1.5 2007/08/02 08:04:48 bz Exp $ .\" .Dd August 1, 2007 .Dt ENC 4 From owner-p4-projects@FreeBSD.ORG Thu Sep 27 13:38:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1E4B16A4A1; Thu, 27 Sep 2007 13:38:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7CB4916A4D4; Thu, 27 Sep 2007 13:38:07 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 70C4A13C44B; Thu, 27 Sep 2007 13:38:07 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id 092BB1A4D9A; Thu, 27 Sep 2007 06:38:07 -0700 (PDT) From: John Baldwin To: John Birrell Date: Thu, 27 Sep 2007 09:37:44 -0400 User-Agent: KMail/1.9.7 References: <200709270957.l8R9vv81089001@repoman.freebsd.org> In-Reply-To: <200709270957.l8R9vv81089001@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709270937.44791.jhb@freebsd.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126859 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 13:38:08 -0000 On Thursday 27 September 2007 05:57:57 am John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=126859 > > Change 126859 by jb@jb_freebsd1 on 2007/09/27 09:57:33 > > To avoid infecting the GENERIC kernel with Sun's CDDL, the > additional fields that would have just been added to > 'struct thread' have to be made opaque. > > The easiest way I can think of to do this is to allocate > extra space when the thread structure is allocated. The > value of KDTRACE_THREAD_SIZE is the extra space required. > It is then left to the DTrace modules to do the pointer > arithmetic to offset 'struct thread *td' to point to the > DTrace-specific thread data. > > I get conflicting opinions about what is protected by > copyright and what is not. None of these opinions come > from lawyers. However, even if they were from lawyers > they would still just be opinions which have no legal > precedent. > > I am accused by one person from Sun of "effectively making > up [my] own law, and then complaining that [I'm] > forcing [myself] to follow it". > > I am also accused of making Sun a "straw man" and that I'm > "more interested in having the problem than solving it". > > I have asked Sun for legal clarity. It's notable that, > of all the emails I've received from Sun, exactly ZERO > have come from anyone with any legal responsibility in > Sun. > > So this is the way forward... obfuscate the bloody code > so that it doesn't directly reference any CDDL code. > > And life goes on. How about doing something like this: struct thread { ... char td_dtrace_data[KDTRACE_THREAD_SIZE]; }; Then you don't have to allocate it separately or maintain specific offsets variables, etc. and using it can become easier. In the dtrace code itself you could have: struct thread_dtrace { /* per-thread dtrace fields */ void *foo; int bar; struct blah baz; }; CTASSERT(sizeof(struct thread_dtrace) <= KDTRACE_THREAD_SIZE); ... int some_dtrace_func(struct thread *td, ...) { struct thread_dtrace *dt; dt = (struct thread_dtrace *)td->td_dtrace_data; ... } -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Sep 27 19:10:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E20516A420; Thu, 27 Sep 2007 19:10:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C17016A41B for ; Thu, 27 Sep 2007 19:10:34 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EBDD113C494 for ; Thu, 27 Sep 2007 19:10:33 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RJAXoh053819 for ; Thu, 27 Sep 2007 19:10:33 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RJAXAu053816 for perforce@freebsd.org; Thu, 27 Sep 2007 19:10:33 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 27 Sep 2007 19:10:33 GMT Message-Id: <200709271910.l8RJAXAu053816@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126869 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 19:10:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=126869 Change 126869 by kmacy@kmacy_home:ethng on 2007/09/27 19:10:11 double size of jumbo ring add t3_free_tx_desc_all to free any items that have not been freed by TX cleaning move dump_mi to uipc_mvec.c Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_adapter.h#20 edit .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#26 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_adapter.h#20 (text+ko) ==== @@ -143,14 +143,11 @@ TPS_UPTODATE = (1 << 5), }; - #define FL_Q_SIZE 4096 -#define JUMBO_Q_SIZE 512 +#define JUMBO_Q_SIZE 1024 #define RSPQ_Q_SIZE 1024 #define TX_ETH_Q_SIZE 1024 - - /* * Types of Tx queues in each queue set. Order here matters, do not change. * XXX TOE is not implemented yet, so the extra queues are just placeholders. @@ -545,6 +542,7 @@ int t3_sge_init_port(struct port_info *); void t3_sge_deinit_sw(adapter_t *); void t3_free_tx_desc(struct sge_txq *q, int n); +void t3_free_tx_desc_all(struct sge_txq *q); void t3_rx_eth_lro(adapter_t *adap, struct sge_rspq *rq, struct mbuf *m, int ethpad, uint32_t rss_hash, uint32_t rss_csum, int lro); ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#26 (text+ko) ==== @@ -933,8 +933,6 @@ #ifdef IFNET_MULTIQUEUE panic("%s should not be called with multiqueue support\n", __FUNCTION__); #endif - - for (i = 0; i < nqsets; i++) { qs = &sc->sge.qs[i]; txq = &qs->txq[TXQ_ETH]; @@ -1249,25 +1247,6 @@ } } -static void -dump_mi(struct mbuf_iovec *mi) -{ - int i; - struct mbuf_vec *mv; - - printf("mi_flags=0x%08x mi_data=%p mi_len=%d mi_type=%d\n", - mi->mi_flags, mi->mi_base + mi->mi_offset, mi->mi_len, mi->mi_type); - - if (mi->mi_type == EXT_CLIOVEC || - mi->mi_type == EXT_IOVEC) { - mv = mtomv((struct mbuf *)mi->mi_base); - mi = mv->mv_vec; - for (i = 0; i < mv->mv_count; i++, mi++) - dump_mi(mi); - - } -} - /* sizeof(*eh) + sizeof(*vhdr) + sizeof(*ip) + sizeof(*tcp) */ #define TCPPKTHDRSIZE (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN + 20 + 20) @@ -1441,7 +1420,7 @@ DPRINTF("mlen==%d max=%ld\n", mlen, (WR_LEN - sizeof(*cpl))); if (mi->mi_type != MT_IOVEC && mi->mi_type != MT_CLIOVEC) - memcpy(&txd->flit[2], mi_data(mi), mlen); + memcpy(&txd->flit[2], mi->mi_data, mlen); else { /* * XXX mbuf_iovec @@ -1711,6 +1690,7 @@ return ctrl_xmit(adap, &adap->sge.qs[0].txq[TXQ_CTRL], m); } + /** * free_qset - free the resources of an SGE queue set * @sc: the controller owning the queue set @@ -1724,13 +1704,15 @@ t3_free_qset(adapter_t *sc, struct sge_qset *q) { int i; - - for (i = 0; i < SGE_TXQ_PER_SET; i++) - if (q->txq[i].txq_mr.mr_ring != NULL) { - free(q->txq[i].txq_mr.mr_ring, M_DEVBUF); - mtx_destroy(&q->txq[i].txq_mr.mr_lock); - } - for (i = 0; i < SGE_RXQ_PER_SET; ++i) { + + t3_free_tx_desc_all(&q->txq[TXQ_ETH]); + + for (i = 0; i < SGE_TXQ_PER_SET; i++) + if (q->txq[i].txq_mr.mr_ring != NULL) { + free(q->txq[i].txq_mr.mr_ring, M_DEVBUF); + mtx_destroy(&q->txq[i].txq_mr.mr_lock); + } + for (i = 0; i < SGE_RXQ_PER_SET; ++i) { if (q->fl[i].desc) { mtx_lock(&sc->sge.reg_lock); t3_sge_disable_fl(sc, q->fl[i].cntxt_id); @@ -1882,18 +1864,7 @@ bus_dmamap_unload(q->entry_tag, txsd->map); txsd->flags &= ~TX_SW_DESC_MAPPED; } -#ifdef notyet - critical_enter(); - /* - * transfer mbuf_vec contents to cpu local ring - * XXX - * - */ - critical_exit(); -#else m_freem_iovec(&txsd->mi); -#endif - txsd->mi.mi_base = NULL; #if defined(DIAGNOSTIC) && 0 @@ -1914,6 +1885,25 @@ } +void +t3_free_tx_desc_all(struct sge_txq *q) +{ + int i; + struct tx_sw_desc *txsd; + + for (i = 0; i < q->size; i++) { + txsd = &q->sdesc[i]; + if (txsd->mi.mi_base != NULL) { + if (txsd->flags & TX_SW_DESC_MAPPED) { + bus_dmamap_unload(q->entry_tag, txsd->map); + txsd->flags &= ~TX_SW_DESC_MAPPED; + } + m_freem_iovec(&txsd->mi); + bzero(&txsd->mi, sizeof(txsd->mi)); + } + } +} + /** * is_new_response - check if a response is newly written * @r: the response descriptor @@ -2678,7 +2668,10 @@ ret = 1; break; } + panic("append not supported"); +#if 0 m_iovappend(m0, cl, fl->buf_size, len, sizeof(uint32_t), sd->rxsd_ref); +#endif done: if (++fl->cidx == fl->size) fl->cidx = 0; From owner-p4-projects@FreeBSD.ORG Thu Sep 27 19:13:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A48EC16A418; Thu, 27 Sep 2007 19:13:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52BCB16A469 for ; Thu, 27 Sep 2007 19:13:59 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F36513C45B for ; Thu, 27 Sep 2007 19:13:59 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RJDxpi054153 for ; Thu, 27 Sep 2007 19:13:59 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RJDw7w054150 for perforce@freebsd.org; Thu, 27 Sep 2007 19:13:58 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 27 Sep 2007 19:13:58 GMT Message-Id: <200709271913.l8RJDw7w054150@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126870 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 19:14:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=126870 Change 126870 by kmacy@kmacy_home:ethng on 2007/09/27 19:12:57 move dump_mi to uipc_mvec.c reduce pcpu cache size to half of ring size Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/sys/cxgb_support.c#4 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#8 edit .. //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#8 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/cxgb_support.c#4 (text+ko) ==== @@ -78,14 +78,14 @@ } /* - * Stack is more than half full - * we can free some elements to make room + * Stack is full + * */ static __inline int -buf_stack_canfree(struct buf_stack *bs) +buf_stack_avail(struct buf_stack *bs) { - return (bs->bs_head > (bs->bs_size>>1)); -} + return (bs->bs_size - bs->bs_head - 1); +} struct cxgb_cache_pcpu { struct buf_stack ccp_jumbo_free; @@ -120,10 +120,10 @@ { int err; - if ((err = buf_stack_init(&ccp->ccp_jumbo_free, 2*JUMBO_Q_SIZE))) + if ((err = buf_stack_init(&ccp->ccp_jumbo_free, (JUMBO_Q_SIZE >> 1)))) return (err); - if ((err = buf_stack_init(&ccp->ccp_cluster_free, 2*FL_Q_SIZE))) + if ((err = buf_stack_init(&ccp->ccp_cluster_free, (FL_Q_SIZE >> 1)))) return (err); if (jumbo_phys_contig) @@ -236,41 +236,66 @@ } void -cxgb_cache_rebalance(void) +cxgb_cache_refill(void) { struct cxgb_cache_pcpu *ccp; caddr_t vec[8]; uma_zone_t zone; int i, count; + return; - +restart: critical_enter(); -restart: ccp = &cxgb_caches->ccs_array[curcpu]; zone = ccp->ccp_jumbo_zone; - for (i = 0; i < 8 && buf_stack_canfree(&ccp->ccp_jumbo_free); i++) - vec[i] = buf_stack_pop(&ccp->ccp_jumbo_free); + if (!buf_stack_avail(&ccp->ccp_jumbo_free) && + !buf_stack_avail(&ccp->ccp_cluster_free)) { + critical_exit(); + return; + } critical_exit(); - count = i; - for (i = 0; i < count; i++) - uma_zfree(zone, vec[i]); - + + + + for (i = 0; i < 8; i++) + if ((vec[i] = uma_zalloc(zone, M_NOWAIT)) == NULL) + goto free; + critical_enter(); ccp = &cxgb_caches->ccs_array[curcpu]; - zone = zone_clust; - for (i = 0; i < 8 && buf_stack_canfree(&ccp->ccp_cluster_free); i++) - vec[i] = buf_stack_pop(&ccp->ccp_cluster_free); + for (i = 0; i < 8 && buf_stack_avail(&ccp->ccp_jumbo_free); i++) + if (buf_stack_push(&ccp->ccp_jumbo_free, vec[i])) + break; critical_exit(); - count = i; - for (i = 0; i < count; i++) + + for (; i < 8; i++) uma_zfree(zone, vec[i]); + + + zone = zone_clust; + for (i = 0; i < 8; i++) + if ((vec[i] = uma_zalloc(zone, M_NOWAIT)) == NULL) + goto free; + critical_enter(); ccp = &cxgb_caches->ccs_array[curcpu]; - if (buf_stack_canfree(&ccp->ccp_cluster_free) || buf_stack_canfree(&ccp->ccp_jumbo_free)) - goto restart; + for (i = 0; i < 8 && buf_stack_avail(&ccp->ccp_cluster_free); i++) + if (buf_stack_push(&ccp->ccp_cluster_free, vec[i])) + break; critical_exit(); + + for (; i < 8; i++) + uma_zfree(zone, vec[i]); + + goto restart; + + +free: + count = i; + for (; i < count; i++) + uma_zfree(zone, vec[i]); } ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/mvec.h#8 (text+ko) ==== @@ -40,7 +40,7 @@ void cxgb_cache_put(uma_zone_t zone, void *cl); -void cxgb_cache_rebalance(void); +void cxgb_cache_refill(void); extern int cxgb_cached_allocations; extern int cxgb_cached; @@ -55,7 +55,7 @@ struct m_ext_ mi_ext; uint32_t mi_flags; uint32_t mi_len; - uint16_t mi_offset; + caddr_t mi_data; uint16_t mi_tso_segsz; uint16_t mi_ether_vtag; uint16_t mi_rss_hash; /* this can be shrunk down if something comes @@ -70,7 +70,6 @@ #define mi_ext_free mi_ext.ext_free #define mi_ext_flags mi_ext.ext_flags #define mi_type mi_ext.ext_type -#define mi_data(mi) ((mi)->mi_base + (mi)->mi_offset) }; #define MIOVBYTES 512 @@ -102,7 +101,7 @@ } static __inline void -m_iovappend(struct mbuf *m, uint8_t *cl, int size, int len, int offset, volatile uint32_t *ref) +m_iovappend(struct mbuf *m, uint8_t *cl, int size, int len, caddr_t data, volatile uint32_t *ref) { struct mbuf_vec *mv = mtomv(m); struct mbuf_iovec *iov; @@ -113,13 +112,13 @@ panic("invalid flags in %s", __func__); if (mv->mv_count == 0) - m->m_data = cl + offset; + m->m_data = data; iov = &mv->mv_vec[idx]; iov->mi_type = m_gettype(size); iov->mi_base = cl; iov->mi_len = len; - iov->mi_offset = offset; + iov->mi_data = data; iov->mi_refcnt = ref; m->m_pkthdr.len += len; m->m_len += len; @@ -262,4 +261,6 @@ return (size); } +void dump_mi(struct mbuf_iovec *mi); + #endif /* _MVEC_H_ */ ==== //depot/projects/ethng/src/sys/dev/cxgb/sys/uipc_mvec.c#8 (text+ko) ==== @@ -92,6 +92,25 @@ uma_zdestroy(zone_miovec); } +void +dump_mi(struct mbuf_iovec *mi) +{ + int i; + struct mbuf_vec *mv; + + printf("mi_flags=0x%08x mi_base=%p mi_data=%p mi_len=%d mi_type=%d\n", + mi->mi_flags, mi->mi_base, mi->mi_data, mi->mi_len, mi->mi_type); + + if (mi->mi_type == EXT_CLIOVEC || + mi->mi_type == EXT_IOVEC) { + mv = mtomv((struct mbuf *)mi->mi_base); + mi = mv->mv_vec; + for (i = 0; i < mv->mv_count; i++, mi++) + dump_mi(mi); + + } +} + static __inline struct mbuf * _mcl_collapse_mbuf(struct mbuf_iovec *mi, struct mbuf *m) { @@ -110,11 +129,11 @@ } if (m->m_flags & M_EXT) { memcpy(&mi->mi_ext, &m->m_ext, sizeof(struct m_ext_)); - mi->mi_offset = (uint8_t *)m->m_data - (uint8_t *)m->m_ext.ext_buf; + mi->mi_data = m->m_data; mi->mi_type = m->m_ext.ext_type; } else { mi->mi_base = (caddr_t)m; - mi->mi_offset = (uint8_t *)m->m_data - (uint8_t *)m; + mi->mi_data = m->m_data; mi->mi_size = MSIZE; mi->mi_type = EXT_MBUF; mi->mi_refcnt = NULL; @@ -328,6 +347,7 @@ mi->mi_ext.ext_args); break; default: + dump_mi(mi); panic("unknown mv type in m_free_vec type=%d", type); break; } From owner-p4-projects@FreeBSD.ORG Thu Sep 27 19:18:07 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09E3116A41B; Thu, 27 Sep 2007 19:18:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFC1A16A418 for ; Thu, 27 Sep 2007 19:18:06 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 83F9113C457 for ; Thu, 27 Sep 2007 19:18:06 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RJI6Nt054293 for ; Thu, 27 Sep 2007 19:18:06 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RJI5e9054290 for perforce@freebsd.org; Thu, 27 Sep 2007 19:18:05 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 27 Sep 2007 19:18:05 GMT Message-Id: <200709271918.l8RJI5e9054290@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126871 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 19:18:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=126871 Change 126871 by kmacy@kmacy_home:ethng on 2007/09/27 19:17:19 - free pending mbufs and tx descriptors when the port is down - reduce service thread priority to timeshare after first tx iteration to prevent starvation of ithread which we need to update the count of processed descriptors Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_multiq.c#20 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_multiq.c#20 (text+ko) ==== @@ -103,7 +103,7 @@ SYSCTL_UINT(_hw_cxgb, OID_AUTO, sleep_ticks, CTLFLAG_RDTUN, &sleep_ticks, 0, "ticks to sleep between checking pcpu queues"); -int cxgb_txq_mbuf_ring_size = 2048; +int cxgb_txq_mbuf_ring_size = TX_ETH_Q_SIZE; TUNABLE_INT("hw.cxgb.txq_mr_size", &cxgb_txq_mbuf_ring_size); SYSCTL_UINT(_hw_cxgb, OID_AUTO, txq_mr_size, CTLFLAG_RDTUN, &cxgb_txq_mbuf_ring_size, 0, "size of per-queue mbuf ring"); @@ -349,6 +349,8 @@ m_freem(m); while ((m = mbuf_ring_dequeue(&txq->txq_mr)) != NULL) m_freem(m); + + t3_free_tx_desc_all(txq); } static int @@ -428,21 +430,23 @@ stopped = isset(&qs->txq_stopped, TXQ_ETH); flush = ((!mbuf_ring_empty(&txq->txq_mr) && !stopped) || txq->immpkt); - max_desc = tx_flush ? 0xffffff : TX_START_MAX_DESC; + max_desc = tx_flush ? TX_ETH_Q_SIZE : TX_START_MAX_DESC; err = flush ? cxgb_tx_common(qs->port->ifp, qs, max_desc) : ENOSPC; if ((tx_flush && flush && err == 0) && !mbuf_ring_empty(&txq->txq_mr)) { -#if 0 struct thread *td = curthread; - thread_lock(td); - sched_prio(td, PRI_MIN_TIMESHARE); - thread_unlock(td); -#endif - if (i++ > 5000) - device_printf(qs->port->adapter->dev, - "mbuf head=%p qsize=%d qlen=%d\n", - txq->sendq.head, txq->sendq.qsize, txq->sendq.qlen); + if (++i > 1) { + thread_lock(td); + sched_prio(td, PRI_MIN_TIMESHARE); + thread_unlock(td); + } + if (i > 50) { + if (cxgb_debug) + device_printf(qs->port->adapter->dev, + "exceeded max enqueue tries\n"); + return (EBUSY); + } goto retry; } err = (initerr != 0) ? initerr : err; @@ -548,7 +552,7 @@ struct adapter *sc = qs->port->adapter; struct sge_txq *txq = &qs->txq[TXQ_ETH]; - int err = 0; + int idleticks, err = 0; td = curthread; @@ -565,9 +569,14 @@ if (qs->qs_flags & QS_EXITING) break; - if ((qs->port->ifp->if_drv_flags && IFF_DRV_RUNNING) == 0) + if ((qs->port->ifp->if_drv_flags && IFF_DRV_RUNNING) == 0) { + idleticks = hz; + if (!mbuf_ring_empty(&txq->txq_mr) || + !mbufq_empty(&txq->sendq)) + cxgb_pcpu_free(qs); goto done; - + } else + idleticks = sleep_ticks; if (mtx_trylock(&txq->lock)) { txq->flags |= TXQ_TRANSMITTING; err = cxgb_pcpu_start_(qs, NULL, TRUE); @@ -575,7 +584,8 @@ mtx_unlock(&txq->lock); } else err = EINPROGRESS; - + + if (mtx_trylock(&qs->rspq.lock)) { process_responses(sc, qs, -1); From owner-p4-projects@FreeBSD.ORG Thu Sep 27 19:18:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0508816A475; Thu, 27 Sep 2007 19:18:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D663716A46B for ; Thu, 27 Sep 2007 19:18:11 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.178]) by mx1.freebsd.org (Postfix) with ESMTP id 6703E13C459 for ; Thu, 27 Sep 2007 19:18:11 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: by wa-out-1112.google.com with SMTP id k17so3352679waf for ; Thu, 27 Sep 2007 12:18:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=dYZBkqdvLDNba+kNFJsbwgu+PbTgI0sICnNF94yILFM=; b=PTkzxcN2+2rTwNoj/G/NmG5mXmfIiT2GLmH0jtgUSb/h2bpOtpn6D/1oP8sHYfVplS5NYpEiGUgTCa5OOJ8MEzro63puI/HQJcYivViK4aAw/NJh0Zm52ey/Qbozzsp3jB8nW+IaKS9vGZj4p+uk6UHYc7zHzLBl2ViH8H0Tgyw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Eh0kVrkEf50+ad0mZbx7YNIa9Z/INZN+RQXxMDebK/+8W1y61L4B4lLXBeSKIEomDHDRSUcaubwoPj4vcR9B+FssVPNGK2Ixumbg8OWe9/lzIBio62OhnY+1p4v/coHpctEhCi9JSqCcafk8lM1c1piHP9g2es2QTEq/zSNxbN0= Received: by 10.114.137.2 with SMTP id k2mr2883945wad.1190920690454; Thu, 27 Sep 2007 12:18:10 -0700 (PDT) Received: by 10.114.13.15 with HTTP; Thu, 27 Sep 2007 12:18:10 -0700 (PDT) Message-ID: Date: Thu, 27 Sep 2007 12:18:10 -0700 From: "Kip Macy" To: "John Baldwin" In-Reply-To: <200709261742.04531.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200709262040.l8QKe8FL074297@repoman.freebsd.org> <200709261742.04531.jhb@freebsd.org> Cc: Perforce Change Reviews , Kip Macy Subject: Re: PERFORCE change 126835 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 19:18:12 -0000 It is in there, it just doesn't seem to do the trick :-/. -Kip On 9/26/07, John Baldwin wrote: > On Wednesday 26 September 2007 04:40:08 pm Kip Macy wrote: > > http://perforce.freebsd.org/chv.cgi?CH=126835 > > > > Change 126835 by kmacy@kmacy_home:ethng on 2007/09/26 20:40:03 > > > > increase delay in shutdown to avoid destroying the port lock > > before the last call to the tick handler > > > > Affected files ... > > > > .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 edit > > > > Differences ... > > > > ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 (text+ko) ==== > > > > @@ -1023,7 +1023,7 @@ > > > > ether_ifdetach(p->ifp); > > printf("waiting for callout to stop ..."); > > - DELAY(10000); > > + DELAY(100000); > > printf("done\n"); > > Umm, what about callout_drain()? That's its purpose. > > -- > John Baldwin > From owner-p4-projects@FreeBSD.ORG Thu Sep 27 19:29:26 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE60D16A473; Thu, 27 Sep 2007 19:29:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B359F16A469; Thu, 27 Sep 2007 19:29:25 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id 3307713C459; Thu, 27 Sep 2007 19:29:25 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.8p) with ESMTP id 211740145-1834499 for multiple; Thu, 27 Sep 2007 15:28:04 -0400 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l8RJT7d5039168; Thu, 27 Sep 2007 15:29:11 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: "Kip Macy" Date: Thu, 27 Sep 2007 15:28:48 -0400 User-Agent: KMail/1.9.6 References: <200709262040.l8QKe8FL074297@repoman.freebsd.org> <200709261742.04531.jhb@freebsd.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709271528.48811.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Thu, 27 Sep 2007 15:29:11 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/4414/Thu Sep 27 14:04:10 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews , Kip Macy Subject: Re: PERFORCE change 126835 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 19:29:26 -0000 On Thursday 27 September 2007 03:18:10 pm Kip Macy wrote: > It is in there, it just doesn't seem to do the trick :-/. Note that there was a recent bug fix in HEAD that fixed a race where if you were using a callout that rescheduled itself and didn't do an explicit callout_stop() while holding the lock but just did a callout_drain(), then the callout could remain scheduled. The latest commit to kern_timeout.c should fix this though. > -Kip > > On 9/26/07, John Baldwin wrote: > > On Wednesday 26 September 2007 04:40:08 pm Kip Macy wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=126835 > > > > > > Change 126835 by kmacy@kmacy_home:ethng on 2007/09/26 20:40:03 > > > > > > increase delay in shutdown to avoid destroying the port lock > > > before the last call to the tick handler > > > > > > Affected files ... > > > > > > .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 edit > > > > > > Differences ... > > > > > > ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 (text+ko) ==== > > > > > > @@ -1023,7 +1023,7 @@ > > > > > > ether_ifdetach(p->ifp); > > > printf("waiting for callout to stop ..."); > > > - DELAY(10000); > > > + DELAY(100000); > > > printf("done\n"); > > > > Umm, what about callout_drain()? That's its purpose. > > > > -- > > John Baldwin > > > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Sep 27 19:30:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 49D8316A46E; Thu, 27 Sep 2007 19:30:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1DA916A46B for ; Thu, 27 Sep 2007 19:30:22 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.178]) by mx1.freebsd.org (Postfix) with ESMTP id A2D9D13C4A3 for ; Thu, 27 Sep 2007 19:30:22 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: by wa-out-1112.google.com with SMTP id k17so3356185waf for ; Thu, 27 Sep 2007 12:30:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=jYcf/SQoiGKRZWaXpvmHbZ5wkwFFc2HGuakytVl6LfM=; b=e65AijVYjse7f/4iqO2uDrIoKphhZX74oIXfCAHNo697schTE3iDglJjE19qd4LUbbgaIoF1wBpsH8FZFK3QTq1HJdlfSHWEgnJzS85h2Wu2g7OGLl0hzisSRV88OD9oEVpbPrAQ5VZdlJyHoCNOMrB7W+7Nsf5OKqq7A083TVE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=lCUq2d1PAUb+Ui69JdbGNVUuKCg6FnAJxSh1SZp+a5kyfWNBYVv/WxC1EcO67wOOiuzpyjppOWAysyjP8HND6XsySS9uLBqndJuEa/v2pvXFGOMCNlBq76rfIcRQtNx+eVlQqAR7d3kJ2gRIkSb+1uTE2wqGxTvFvY/hB3alLZU= Received: by 10.114.95.1 with SMTP id s1mr2895114wab.1190921422036; Thu, 27 Sep 2007 12:30:22 -0700 (PDT) Received: by 10.114.13.15 with HTTP; Thu, 27 Sep 2007 12:30:22 -0700 (PDT) Message-ID: Date: Thu, 27 Sep 2007 12:30:22 -0700 From: "Kip Macy" To: "John Baldwin" In-Reply-To: <200709271528.48811.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200709262040.l8QKe8FL074297@repoman.freebsd.org> <200709261742.04531.jhb@freebsd.org> <200709271528.48811.jhb@freebsd.org> Cc: Perforce Change Reviews , Kip Macy Subject: Re: PERFORCE change 126835 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 19:30:23 -0000 On 9/27/07, John Baldwin wrote: > On Thursday 27 September 2007 03:18:10 pm Kip Macy wrote: > > It is in there, it just doesn't seem to do the trick :-/. > > Note that there was a recent bug fix in HEAD that fixed a race where if you > were using a callout that rescheduled itself and didn't do an explicit > callout_stop() while holding the lock but just did a callout_drain(), then > the callout could remain scheduled. The latest commit to kern_timeout.c > should fix this though. That would explain what I was seeing. -Kip > > -Kip > > > > On 9/26/07, John Baldwin wrote: > > > On Wednesday 26 September 2007 04:40:08 pm Kip Macy wrote: > > > > http://perforce.freebsd.org/chv.cgi?CH=126835 > > > > > > > > Change 126835 by kmacy@kmacy_home:ethng on 2007/09/26 20:40:03 > > > > > > > > increase delay in shutdown to avoid destroying the port lock > > > > before the last call to the tick handler > > > > > > > > Affected files ... > > > > > > > > .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 edit > > > > > > > > Differences ... > > > > > > > > ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#21 (text+ko) > ==== > > > > > > > > @@ -1023,7 +1023,7 @@ > > > > > > > > ether_ifdetach(p->ifp); > > > > printf("waiting for callout to stop ..."); > > > > - DELAY(10000); > > > > + DELAY(100000); > > > > printf("done\n"); > > > > > > Umm, what about callout_drain()? That's its purpose. > > > > > > -- > > > John Baldwin > > > > > > > > > -- > John Baldwin > From owner-p4-projects@FreeBSD.ORG Thu Sep 27 21:24:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F3AB316A46D; Thu, 27 Sep 2007 21:24:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE03216A420; Thu, 27 Sep 2007 21:24:05 +0000 (UTC) (envelope-from jb@what-creek.com) Received: from what-creek.com (what-creek.com [66.111.37.70]) by mx1.freebsd.org (Postfix) with ESMTP id 73CC913C455; Thu, 27 Sep 2007 21:24:05 +0000 (UTC) (envelope-from jb@what-creek.com) Received: by what-creek.com (Postfix, from userid 102) id 48A4F73180; Thu, 27 Sep 2007 21:09:07 +0000 (GMT) Date: Thu, 27 Sep 2007 21:09:07 +0000 From: John Birrell To: John Baldwin Message-ID: <20070927210907.GA76906@what-creek.com> References: <200709270957.l8R9vv81089001@repoman.freebsd.org> <200709270937.44791.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200709270937.44791.jhb@freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126859 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 21:24:06 -0000 On Thu, Sep 27, 2007 at 09:37:44AM -0400, John Baldwin wrote: > How about doing something like this: > > struct thread { > ... > char td_dtrace_data[KDTRACE_THREAD_SIZE]; > }; > > Then you don't have to allocate it separately or maintain specific offsets > variables, etc. and using it can become easier. I thought about doing that, but it involves changing the size of struct thread. The approach I'm taking will allow the addition of DTrace to both the RELENG_6 and RELENG_7 trees because it maintains binary compatibility. I figure if it has to be opaque then it might as well be so opaque that other code just doesn't see it. -- John Birrell From owner-p4-projects@FreeBSD.ORG Thu Sep 27 21:35:41 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7EE7016A41B; Thu, 27 Sep 2007 21:35:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56A6716A417 for ; Thu, 27 Sep 2007 21:35:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3179613C457 for ; Thu, 27 Sep 2007 21:35:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RLZfFU078178 for ; Thu, 27 Sep 2007 21:35:41 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RLZe9B078175 for perforce@freebsd.org; Thu, 27 Sep 2007 21:35:41 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 21:35:41 GMT Message-Id: <200709272135.l8RLZe9B078175@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126883 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 21:35:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=126883 Change 126883 by jb@jb_freebsd1 on 2007/09/27 21:35:03 Reset to match CVS before adding the DTrace things back in. Affected files ... .. //depot/projects/dtrace/src/cddl/usr.bin/Makefile.inc#3 edit .. //depot/projects/dtrace/src/cddl/usr.sbin/Makefile.inc#3 edit Differences ... ==== //depot/projects/dtrace/src/cddl/usr.bin/Makefile.inc#3 (text+ko) ==== @@ -1,11 +1,5 @@ -# @(#)Makefile.inc 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/Makefile.inc,v 1.23 2006/03/17 18:54:20 ru Exp $ - -.include +# $FreeBSD: src/cddl/usr.bin/Makefile.inc,v 1.1 2007/04/06 01:08:58 pjd Exp $ BINDIR?= /usr/bin -WARNS?= 6 -.if ${MK_DYNAMICROOT} == "no" -NO_SHARED?= YES -.endif +.include "../Makefile.inc" ==== //depot/projects/dtrace/src/cddl/usr.sbin/Makefile.inc#3 (text+ko) ==== @@ -1,10 +1,5 @@ -# $FreeBSD$ +# $FreeBSD: src/cddl/usr.sbin/Makefile.inc,v 1.1 2007/04/06 01:08:58 pjd Exp $ -.include - BINDIR?= /usr/sbin -WARNS?= 6 -.if ${MK_DYNAMICROOT} == "no" -NO_SHARED?= YES -.endif +.include "../Makefile.inc" From owner-p4-projects@FreeBSD.ORG Thu Sep 27 21:52:02 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE37B16A469; Thu, 27 Sep 2007 21:52:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5DF9A16A468 for ; Thu, 27 Sep 2007 21:52:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 172B813C465 for ; Thu, 27 Sep 2007 21:52:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RLq2XP079178 for ; Thu, 27 Sep 2007 21:52:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RLq1s1079175 for perforce@freebsd.org; Thu, 27 Sep 2007 21:52:01 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 21:52:01 GMT Message-Id: <200709272152.l8RLq1s1079175@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126884 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 21:52:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=126884 Change 126884 by jb@jb_freebsd1 on 2007/09/27 21:51:46 .size is now set by the END() macro so SET_SIZE() isn't required. Affected files ... .. //depot/projects/dtrace/src/sys/i386/include/asm.h#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/include/asm.h#6 (text+ko) ==== @@ -89,8 +89,6 @@ #define ENTRY(x) _ENTRY(x) #endif -#define SET_SIZE(x) .size x, [.-x] - #define RCSID(x) .text; .asciz x #undef __FBSDID From owner-p4-projects@FreeBSD.ORG Thu Sep 27 21:55:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EE2D16A41B; Thu, 27 Sep 2007 21:55:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 61FB516A418 for ; Thu, 27 Sep 2007 21:55:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2426913C447 for ; Thu, 27 Sep 2007 21:55:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RLt6wk079304 for ; Thu, 27 Sep 2007 21:55:06 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RLt5jG079301 for perforce@freebsd.org; Thu, 27 Sep 2007 21:55:05 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 21:55:05 GMT Message-Id: <200709272155.l8RLt5jG079301@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126885 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 21:55:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=126885 Change 126885 by jb@jb_freebsd1 on 2007/09/27 21:54:57 Reset to match CVS. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/common/avl/avl.c#9 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/common/avl/avl.c#9 (text) ==== @@ -92,13 +92,8 @@ #include #include -#if !defined(sun) -#include -#else #include -#endif #include -#include /* * Small arrays to translate between balance (or diff) values and child indeces. From owner-p4-projects@FreeBSD.ORG Thu Sep 27 21:58:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF34416A468; Thu, 27 Sep 2007 21:58:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68E5B16A41A for ; Thu, 27 Sep 2007 21:58:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 445CA13C459 for ; Thu, 27 Sep 2007 21:58:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RLwBS5079456 for ; Thu, 27 Sep 2007 21:58:11 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RLwBe8079453 for perforce@freebsd.org; Thu, 27 Sep 2007 21:58:11 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 21:58:11 GMT Message-Id: <200709272158.l8RLwBe8079453@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126886 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 21:58:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=126886 Change 126886 by jb@jb_freebsd1 on 2007/09/27 21:57:47 Reset to match CVS. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/feature_tests.h#5 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/isa_defs.h#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/feature_tests.h#5 (text) ==== @@ -30,7 +30,6 @@ #pragma ident "%Z%%M% %I% %E% SMI" #include -#include #ifdef __cplusplus extern "C" { @@ -142,8 +141,10 @@ */ #if __STDC_VERSION__ - 0 >= 199901L +#ifndef _STDC_C99 #define _STDC_C99 #endif +#endif /* * Large file interfaces: ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/isa_defs.h#6 (text) ==== @@ -229,9 +229,7 @@ /* * Define the appropriate "processor characteristics" */ -#if defined(sun) #define _LITTLE_ENDIAN -#endif #define _STACK_GROWS_DOWNWARD #define _LONG_LONG_LTOH #define _BIT_FIELDS_LTOH @@ -295,9 +293,7 @@ /* * Define the appropriate "processor characteristics" */ -#if defined(sun) #define _LITTLE_ENDIAN -#endif #define _STACK_GROWS_DOWNWARD #define _LONG_LONG_LTOH #define _BIT_FIELDS_LTOH @@ -382,9 +378,7 @@ * Define the appropriate "processor characteristics" shared between * all Solaris on SPARC systems. */ -#if defined(sun) #define _BIG_ENDIAN -#endif #define _STACK_GROWS_DOWNWARD #define _LONG_LONG_HTOL #define _BIT_FIELDS_HTOL From owner-p4-projects@FreeBSD.ORG Thu Sep 27 22:01:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7303A16A420; Thu, 27 Sep 2007 22:01:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 315E116A419 for ; Thu, 27 Sep 2007 22:01:16 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0CB6513C458 for ; Thu, 27 Sep 2007 22:01:16 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RM1FW5079723 for ; Thu, 27 Sep 2007 22:01:16 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RM1FRl079720 for perforce@freebsd.org; Thu, 27 Sep 2007 22:01:15 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 22:01:15 GMT Message-Id: <200709272201.l8RM1FRl079720@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126887 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 22:01:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=126887 Change 126887 by jb@jb_freebsd1 on 2007/09/27 22:00:26 Tidy up a bit. Affected files ... .. //depot/projects/dtrace/src/Makefile.inc1#28 edit Differences ... ==== //depot/projects/dtrace/src/Makefile.inc1#28 (text+ko) ==== @@ -38,16 +38,13 @@ # SUBDIR= share/info lib libexec SUBDIR+=bin -.if ${MK_CDDL} != "no" -SUBDIR+=cddl -.else -NO_CTF=1 -.endif .if ${MK_GAMES} != "no" SUBDIR+=games .endif .if ${MK_CDDL} != "no" SUBDIR+=cddl +.else +NO_CTF=1 .endif SUBDIR+=gnu include .if ${MK_KERBEROS} != "no" @@ -894,7 +891,8 @@ .endif .if ${MK_CDDL} != "no" -_dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf gnu/lib/libdwarf lib/libelf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge +_dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf gnu/lib/libdwarf \ + lib/libelf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge .endif bootstrap-tools: From owner-p4-projects@FreeBSD.ORG Thu Sep 27 22:02:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 70D7516A421; Thu, 27 Sep 2007 22:02:18 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 360D916A419 for ; Thu, 27 Sep 2007 22:02:18 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 112B213C447 for ; Thu, 27 Sep 2007 22:02:18 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RM2IjC079837 for ; Thu, 27 Sep 2007 22:02:18 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RM2Ixq079833 for perforce@freebsd.org; Thu, 27 Sep 2007 22:02:18 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 22:02:18 GMT Message-Id: <200709272202.l8RM2Ixq079833@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126888 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 22:02:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=126888 Change 126888 by jb@jb_freebsd1 on 2007/09/27 22:02:06 Remove code that depends on a CDDL header. Affected files ... .. //depot/projects/dtrace/src/sys/kern/subr_pcpu.c#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/subr_pcpu.c#7 (text+ko) ==== @@ -49,7 +49,6 @@ #include #include -#include #include #include #include @@ -60,8 +59,6 @@ static struct pcpu *cpuid_to_pcpu[MAXCPU]; struct cpuhead cpuhead = SLIST_HEAD_INITIALIZER(cpuhead); -cpu_core_t cpu_core[MAXCPU]; - /* * Initialize the MI portions of a struct pcpu. */ From owner-p4-projects@FreeBSD.ORG Thu Sep 27 22:10:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3E2FB16A41A; Thu, 27 Sep 2007 22:10:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7D4516A420 for ; Thu, 27 Sep 2007 22:10:43 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C109713C458 for ; Thu, 27 Sep 2007 22:10:43 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RMAh6f081578 for ; Thu, 27 Sep 2007 22:10:43 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RMAhl7081575 for perforce@freebsd.org; Thu, 27 Sep 2007 22:10:43 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 22:10:43 GMT Message-Id: <200709272210.l8RMAhl7081575@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126889 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 22:10:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=126889 Change 126889 by jb@jb_freebsd1 on 2007/09/27 22:09:44 Use the global variable that mi_startup() set to the size of the extended thread structure size. This include struct td_sched and struct kdtrace_thread, both of which are otherwise opaque to the thread handling code. There is a remaining issue regarding the DTrace thread-specific variables that need to be zeroed on allocation. That'll require another #define and the assumption that they are at the beginning of struct kdtrace_thread. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_thread.c#12 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_thread.c#12 (text+ko) ==== @@ -243,7 +243,7 @@ mtx_init(&tid_lock, "TID lock", NULL, MTX_DEF); tid_unrhdr = new_unrhdr(PID_MAX + 1, INT_MAX, &tid_lock); - thread_zone = uma_zcreate("THREAD", sched_sizeof_thread(), + thread_zone = uma_zcreate("THREAD", kdtrace_thread_size, thread_ctor, thread_dtor, thread_init, thread_fini, 16 - 1, 0); #ifdef KSE From owner-p4-projects@FreeBSD.ORG Thu Sep 27 22:19:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 744B116A477; Thu, 27 Sep 2007 22:19:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2745816A41A for ; Thu, 27 Sep 2007 22:19:56 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 027A813C4A5 for ; Thu, 27 Sep 2007 22:19:56 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RMJtfF082159 for ; Thu, 27 Sep 2007 22:19:55 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RMJtXU082156 for perforce@freebsd.org; Thu, 27 Sep 2007 22:19:55 GMT (envelope-from peter@freebsd.org) Date: Thu, 27 Sep 2007 22:19:55 GMT Message-Id: <200709272219.l8RMJtXU082156@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 126890 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 22:19:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=126890 Change 126890 by peter@peter_daintree on 2007/09/27 22:19:53 alc has fixed this properly. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/uma_machdep.c#6 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/uma_machdep.c#6 (text+ko) ==== @@ -67,7 +67,6 @@ } pa = m->phys_addr; dump_add_page(pa); - kernel_pmap->pm_stats.wired_count++; va = (void *)PHYS_TO_DMAP(pa); if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) pagezero(va); @@ -81,7 +80,6 @@ vm_paddr_t pa; pa = DMAP_TO_PHYS((vm_offset_t)mem); - kernel_pmap->pm_stats.wired_count--; dump_drop_page(pa); m = PHYS_TO_VM_PAGE(pa); m->wire_count--; From owner-p4-projects@FreeBSD.ORG Thu Sep 27 22:20:58 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 704C216A421; Thu, 27 Sep 2007 22:20:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35E3D16A41A for ; Thu, 27 Sep 2007 22:20:58 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 11E2613C45B for ; Thu, 27 Sep 2007 22:20:58 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RMKwDL082295 for ; Thu, 27 Sep 2007 22:20:58 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RMKvKg082286 for perforce@freebsd.org; Thu, 27 Sep 2007 22:20:57 GMT (envelope-from peter@freebsd.org) Date: Thu, 27 Sep 2007 22:20:57 GMT Message-Id: <200709272220.l8RMKvKg082286@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 126891 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 22:20:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=126891 Change 126891 by peter@peter_daintree on 2007/09/27 22:20:51 WIP - attempt to fall back from ld-elf32.so.1 to ld-elf.so.1 Affected files ... .. //depot/projects/hammer/sys/kern/imgact_elf.c#41 edit Differences ... ==== //depot/projects/hammer/sys/kern/imgact_elf.c#41 (text+ko) ==== @@ -605,7 +605,7 @@ u_long seg_size, seg_addr; u_long addr, entry = 0, proghdr = 0; int error = 0, i; - const char *interp = NULL; + const char *interp = NULL, *newinterp = NULL; Elf_Brandinfo *brand_info; char *path; struct thread *td = curthread; @@ -654,7 +654,7 @@ return (ENOEXEC); sv = brand_info->sysvec; if (interp != NULL && brand_info->interp_newpath != NULL) - interp = brand_info->interp_newpath; + newinterp = brand_info->interp_newpath; /* * Avoid a possible deadlock if the current address space is destroyed @@ -786,6 +786,7 @@ imgp->entry_addr = entry; if (interp != NULL) { + int have_interp = FALSE; VOP_UNLOCK(imgp->vp, 0, td); if (brand_info->emul_path != NULL && brand_info->emul_path[0] != '\0') { @@ -796,9 +797,14 @@ &imgp->entry_addr, sv->sv_pagesize); free(path, M_TEMP); if (error == 0) - interp = NULL; + have_interp = TRUE; + } + if (!have_interp && newinterp != NULL) { + error = __elfN(load_file)(imgp->proc, newinterp, &addr, + &imgp->entry_addr, sv->sv_pagesize); + have_interp = TRUE; } - if (interp != NULL) { + if (!have_interp) { error = __elfN(load_file)(imgp->proc, interp, &addr, &imgp->entry_addr, sv->sv_pagesize); } From owner-p4-projects@FreeBSD.ORG Thu Sep 27 22:26:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9924416A420; Thu, 27 Sep 2007 22:26:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5206716A418 for ; Thu, 27 Sep 2007 22:26:05 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2D83A13C48E for ; Thu, 27 Sep 2007 22:26:05 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RMQ5pL082671 for ; Thu, 27 Sep 2007 22:26:05 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RMQ4qV082668 for perforce@freebsd.org; Thu, 27 Sep 2007 22:26:04 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 27 Sep 2007 22:26:04 GMT Message-Id: <200709272226.l8RMQ4qV082668@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 126892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 22:26:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=126892 Change 126892 by pgj@disznohal on 2007/09/27 22:25:27 Initial translation of the Preface. It should conform to almost all recommendations (--thanks to vim!), except that there is a lot of long lines. I think I will write a script to eliminate them... soon. Affected files ... .. //depot/projects/docproj_hu/books/handbook/preface/preface.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/preface/preface.sgml#2 (text+ko) ==== @@ -1,317 +1,364 @@ + - - Preface - - Intended - Audience + + Elõszó + + Kiknek szánjuk ezt + a könyvet - The FreeBSD newcomer will find that the first section of this - book guides the user through the FreeBSD installation process and - gently introduces the concepts and conventions that underpin &unix;. - Working through this section requires little more than the desire - to explore, and the ability to take on board new concepts as they - are introduced. + A &os;-t még nem ismerõk felfedezhetik, hogy a könyv elsõ + része a &os; telepítésének folyamatán vezeti keresztül a + felhasználót, valamint finoman bemutatja az ezt alátámasztó + &unix;-os alapfogalmakat és szabályokat. Ennek a résznek az + végigjárása nem kíván többet, csupán egy kis felfedezõ kedvet, + illetve a menetközben bemutatott új fogalmak befogadását. - Once you have traveled this far, the second, far larger, - section of the Handbook is a comprehensive reference to all manner - of topics of interest to FreeBSD system administrators. Some of - these chapters may recommend that you do some prior reading, and - this is noted in the synopsis at the beginning of each - chapter. + Ha túljutottunk rajta, a kézikönyv második, jóval vaskosabb, + része a &os;-t használó rendszergazdák számára nyújt mindenféle + témában minden részletre kiterjedõ referenciát. Ezek közül egyes + fejezetek elvárnak némi elõzetes felkészülést, amelyet a minden + fejezet áttekintésében említeni is fogunk. - For a list of additional sources of information, please see . + Bõvebben információkért kérjük, olvassa át az + et. - Changes from the - Second Edition + Változtatások + a harmadik kiadásban - This third edition is the culmination of over two years of - work by the dedicated members of the FreeBSD Documentation - Project. The following are the major changes in this new - edition: + A harmadik kiadás a &os; Dokumentációs Projekt tagjainak + két évi kemény munkájának gyümölcse. Az alábbi fontosabb + változtatások jelennek meg ebben az új kiadásban: - - , Configuration and - Tuning, has been expanded with new information about the - ACPI power and resource management, the cron system utility, - and more kernel tuning options. - + + , a beállításra és + finomhangolásra vonatkozó részeket bõvítettük az ACPI + energia- és erõforrás gazdálkodásról szóló részekkel, + a cron rendszerprogrammal, ill. + még több rendszermag-tuningolási opció leírásával. + - - , Security, has been expanded with - new information about virtual private networks (VPNs), file - system access control lists (ACLs), and security - advisories. - + + , a biztonságról szóló + részt bõvítettük a virtuális magánhálózatokról + (VPN-ekrõl), állományrendszeri hozzáférés-vezérlési + listákról (ACL-ek) szóló elemekkel, valamint + biztonságtechnikai tanácsokkal. + - - , Mandatory Access Control (MAC), is - a new chapter with this edition. It explains what MAC is - and how this mechanism can be used to secure a FreeBSD - system. - + + , az elrendelõ hozzáférésvezérlésrõl + (MAC-rõl) szóló fejezet teljesen új ebben a kiadásban. + Bemutatja, mi is a MAC és hogyan hasznosítható egy + &os;-s rendszer biztonságossá tételében. + - - , Storage, has been expanded with - new information about USB storage devices, file system - snapshots, file system quotas, file and network backed - filesystems, and encrypted disk partitions. - + + , a háttértárakat tartalmazó + részt bõvítettük az USB-tárakról, állományrendszeri + pillanatfelvételekrõl, lemezkvótákról, állományból- és + hálózaton bebiztosított állományrendszerekrõl, továbbá + a titkosított partíciókról szóló részekkel. + - - , Vinum, is a new chapter - with this edition. It describes how to use Vinum, a logical - volume manager which provides device-independent logical - disks, and software RAID-0, RAID-1 and RAID-5. - + + , a Vinum egy új + fejezet ebben a kiadásban. Bemutatja a Vinum, a + logikai kötet-kezelõ használatát, aminek segítségével + eszköztõl független módon hozhatunk létre logikai + lemezeket, szoftveres RAID-0, RAID-1 és RAID-5 + konfigurációkat. + - - A troubleshooting section has been added to , PPP and SLIP. - + + Bekerült egy hibakeresésrõl szóló rész a + PPP és SLIP + leírásához. + - - , Electronic Mail, has been - expanded with new information about using alternative - transport agents, SMTP authentication, UUCP, fetchmail, - procmail, and other advanced topics. - + + , az elektronikus + levelezést ismertetõ részt bõvítettük a + lehetséges levéltovábbító rendszerekrõl, SMTP + hitelesítésrõl, UUCP-rõl, a + fetchmail-rõl, + procmail-rõl + szóló elemekkel, valamint egyéb, haladókat + megcélzó témákkal. + - - , Network Servers, is - all new with this edition. This chapter includes - information about setting up the Apache HTTP Server, ftpd, - and setting up a server for µsoft; &windows; clients with - Samba. Some sections from , Advanced Networking, were - moved here to improve the presentation. - + + , a hálózati + szervereket ismertetõ rész egy teljesen új + fejezet ebben a kiadásban. Benne megtalálható az + Apache HTTP szerver, az + ftpd szerver, illetve + a µsoft; &windows;-os kliensek számára + megfelelõ Samba szerver + beállítása. Az érthetõség kedvéért egyes részek + átkerültek ide a , + vagyis a haladó hálózati témákat tárgyaló + fejezetbõl. + - - , Advanced - Networking, has been expanded with new information about - using &bluetooth; devices with FreeBSD, setting up wireless - networks, and Asynchronous Transfer Mode (ATM) - networking. - + + , a haladó + hálózati témákat tartalmazó részt kiegészítettük + a &os; és a &bluetooth; eszközök kapcsolatáról, a + vezetéknélküli hálózatokról és az aszinkron + adatátvitel módról (ATM-rõl) szóló ismeretekkel. + - - A glossary has been added to provide a central location - for the definitions of technical terms used throughout the - book. - + + Létrehoztunk egy szószedetet abból a célból, + hogy a könyvben használt definíciók és szakkifejezések + egyetlen központi helyen össze legyenek foglalva. + - - A number of aesthetic improvements have been made to the - tables and figures throughout the book. - - + + Számos esztétikai javítást eszközöltünk a könyvben + található ábrákon és táblázatokon. + + - Changes from the - First Edition + Változtatások a + második kiadásban - The second edition was the culmination of over two years of - work by the dedicated members of the FreeBSD Documentation - Project. The following were the major changes in this - edition: + A második kiadás a &os; Dokumentációs Projekt tagjainak + két évi komoly munkájának eredménye. Az alábbi fontosabb + változtatások jelennek meg ebben a kiadásban: - + + + Bekerült egy teljes tárgy- és névmutató. + + + Mindegyik ASCII-ábrát grafikusak váltották fel. + + + Mindegyik fejezet elejére odakerült egy általános + áttekintés, ami egy rövid összefoglalást ad a fejezet + tartalmáról, valamint közli az elolvasásához szükséges + ismereteket. + + + A tartalmat felosztottuk logikailag három részre: + Bevezetés, + Rendszeradminisztráció és + Függelék. + + + A + (A &os; telepítése) részt teljesen + újraírtuk és sok-sok illusztráció is hozzáadásra + került a könnyebb megértés érdekében. + + + A + (&unix; alapok) rész kiegészült a + folyamatokról, daemonokról és szignálokról szóló + további hasznos információkkal. + + + A + (Alkalmazások telepítése) részt + bõvítettük a bináris csomagkezelésrõl szóló + további ismeretekkel. + + + A + (Az X Window System) teljes + újraíráson ment át, aminek folyamán igyekeztünk + nagyobb hangsúlyt helyezni a modern asztali + technológiák, mint pl. a KDE + és GNOME &xfree86; 4.X-en + történõ használatának leírására. + + + A + (A &os; rendszerindítása folyamata) + kibõvült. + + + A + (Háttértárak) két, korábban külön + levõ fejezet, a Lemezek és + Biztonsági mentések összeolvasztásából + jött létre. Úgy éreztük, a bennük helyet kapott + témákat sokkal könnyebb úgy megérteni, ha egyetlen + fejezetben tárjuk fel õket. Egy (hardveres és szoftveres) + RAID-rõl szóló rész is belekerült. + + + A + (Soros kommunikáció) teljes + átszervezésre került, valamint a &os; 4.X/5.X + verziókhoz igazítottuk. + + + A + (PPP és SLIP) lényegesen fejlõdött. + + + Számos új rész került a + be + (Haladó hálózati ismeretek). + + + A + (Elektronikus levelezés) + kibõvült a sendmail + beállításáról tartalmazó újabb információkkal. + + + A + (&linux; kompatibilitás) + kiegészült az &oracle; + és a &sap.r3; telepítését + bemutató részekkel. + + + Az alábbi új témák kerültek tárgyalásra a + második kiadásban: + + + Beállítás és finomhangolás + () + + + Multimédia + () + + + + - - - A complete Index has been added. - - - All ASCII figures have been replaced by graphical diagrams. - - - A standard synopsis has been added to each chapter to - give a quick summary of what information the chapter contains, - and what the reader is expected to know. - - - The content has been logically reorganized into three - parts: Getting Started, System Administration, and - Appendices. - - - (Installing FreeBSD) was completely - rewritten with many screenshots to make it much easier for new - users to grasp the text. - - - (&unix; Basics) has been expanded to contain - additional information about processes, daemons, and - signals. - - - (Installing Applications) has been expanded - to contain additional information about binary package - management. - - - (The X Window System) has been completely - rewritten with an emphasis on using modern desktop - technologies such as KDE and GNOME on &xfree86; 4.X. - - - (The FreeBSD Booting Process) has been - expanded. - - - (Storage) has been written from what used - to be two separate chapters on Disks and Backups. We feel - that the topics are easier to comprehend when presented as a - single chapter. A section on RAID (both hardware and - software) has also been added. - - - (Serial Communications) has been completely - reorganized and updated for FreeBSD 4.X/5.X. - - - (PPP and SLIP) has been substantially - updated. - - - Many new sections have been added to - (Advanced Networking). - - - (Electronic Mail) has been expanded to - include more information about configuring - sendmail. - - - (&linux; Compatibility) has been expanded to - include information about installing - &oracle; and - &sap.r3;. - - - The following new topics are covered in this second - edition: - - - Configuration and Tuning (). - - - Multimedia () - - - - + A könyv + felépítése - Organization of This - Book + A könyvet négy logikailag elkülönülõ részre osztottuk + fel. Az elsõ, Bevezetés címû részben + bemutatjuk a &os; telepítését és használatának alapjait. + Elgondolásunk szerint az itt szereplõ fejezeteket sorban + érdemes elolvasni, esetenként kihagyni azokat, amelyek + már az olvasó számára ismert témákat dolgoznak fel. + A második, Gyakori feladatok címû + részben megismerhetjük a &os; néhány gyakorta használt + lehetõségét. Ez a rész, valamint az ezt követõ összes + többi tetszõleges sorrendben olvasható. Mindegyik + fejezet egy rövidke összefoglalással kezdõdik, amely + ismerteti, az olvasótól milyen jellegû tapasztalatokat + vár el a fejezet megértése. Célja, hogy segítsen az + olvasónak megtalálni a számára érdekes témákat. A + harmadik, Rendszeradminisztráció + címû részben rendszergazdai feladatokat tárgyalunk. + A negyedik, Hálózati kommunikáció + címû részben hálózatok és szerverek üzemeltetésével + kapcsolatos ismereteket foglaltunk össze. Végül, az + ötödik rész tartalmazza a függeléket és az + irodalomjegyzéket, hivatkozásokat. - This book is split into five logically distinct sections. - The first section, Getting Started, covers - the installation and basic usage of FreeBSD. It is expected that - the reader will follow these chapters in sequence, possibly - skipping chapters covering familiar topics. The second section, - Common Tasks, covers some frequently used - features of FreeBSD. This section, and all subsequent sections, - can be read out of order. Each chapter begins with a succinct - synopsis that - describes what the chapter covers and what the reader is expected - to already know. This is meant to allow the casual reader to skip - around to find chapters of interest. The third section, - System Administration, covers administration - topics. The fourth section, Network - Communication, covers networking and server topics. - The fifth section contains - appendices of reference information. - - , Introduction + , Bemutatás - Introduces FreeBSD to a new user. It describes the - history of the FreeBSD Project, its goals and development model. + A &os; bemutatkozik az új felhasználóknak. Szó + esik a &os; Projekt történetérõl, célkitûzéseirõl + és a fejlesztési modelljérõl. - , Installation + , Telepítés - Walks a user through the entire installation process. - Some advanced installation topics, such as installing through - a serial console, are also covered. + Végigvezetjük a felhasználót a telepítési folyamat + egészén. Bizonyos rendhagyó kérdések, mint mondjuk + a soros konzolon keresztül történõ telepítés is + terítékre kerülnek. - , &unix; Basics + , Alapvetõ &unix;-os ismeretek - Covers the basic commands and functionality of the - FreeBSD operating system. If you are familiar with &linux; or - another flavor of &unix; then you can probably skip this - chapter. + Sorravesszük a &os; operációs rendszer alapvetõ + parancsait és lehetõségeit. Amennyiben már jártasak + vagyunk valamilyen szinten a &linux; vagy más &unix;-típusú + rendszerek használatában, nyugodtan kihagyhatjuk ezt + a fejezetet. - , Installing Applications + , Alkalmazások telepítése - Covers the installation of third-party software with - both FreeBSD's innovative Ports Collection and standard - binary packages. + Megismerhetjük, miként tudunk külsõ cégek által + fejlesztett alkalmazásokat telepíteni a &os; + Portgyûjteménye vagy a megszokott + bináris csomagok használatán keresztül. , The X Window System - Describes the X Window System in general and using - X11 on FreeBSD in particular. Also describes common - desktop environments such as KDE and GNOME. + Általános bemutatásra kerül az X Window System, + valamint az X11 használata a &os;-n. Ezenkívül + olvashatunk az elterjedtebb asztalkörnyezetekrõl, + mint pl. a KDE és a + GNOME. - , Desktop Applications + , Asztali alkalmazások - Lists some common desktop applications, such as web browsers - and productivity suites, and describes how to install them on - FreeBSD. + Felsoroljuk az ismertebb asztali alkalmazásokat: webböngészõket + és alkalmazói programcsomagokat, és bemutatjuk, hogyan telepítsük + õket &os;-re. - , Multimedia + , Multimédia - Shows how to set up sound and video playback support for your - system. Also describes some sample audio and video applications. + Megtudhatjuk, hogyan állítsuk be a zene- és videólejátszást + rendszerünkön. Emellett olvashatunk néhány multimédiás + alkalmazás használatáról is. - , Configuring the FreeBSD - Kernel + , A &os; rendszer + konfigurálása - Explains why you might need to configure a new kernel - and provides detailed instructions for configuring, building, - and installing a custom kernel. + Kifejtjük, miért lehet szükségünk egy új rendszermag + konfigurálására, és részletesen végigjárjuk egy + felparaméterezett rendszermag konfigurációjának, + fordításának és telepítésének lépéseit. - , Printing + , Nyomtatás - Describes managing printers on FreeBSD, including - information about banner pages, printer accounting, and - initial setup. + Ismertetjük, hogyan lehet nyomtatókat használni + &os; alatt, beleértve a munkalapok, a nyomtatóhasználat + számlázását és a kezdeti beállításokat. - , &linux; Binary Compatibility + , Bináris kompatibilitás a &linux;-szal - Describes the &linux; compatibility features of FreeBSD. - Also provides detailed installation instructions for many - popular &linux; applications such as &oracle;, &sap.r3;, and + Megismerhetjük a &os; bináris &linux;-kompabilitásához + kapcsolódó lehetõségeket. Ezenfelül részletekre is kitérõ + telepítési útmutatót találhatunk különbözõ népszerû + &linux;-os alkalmazásokhoz, mint mondjuk az + &oracle;, + &sap.r3; és a &mathematica;. @@ -319,238 +366,258 @@ - , Configuration and Tuning + , Konfigurálás és tuningolás - Describes the parameters available for system - administrators to tune a FreeBSD system for optimum - performance. Also describes the various configuration files - used in FreeBSD and where to find them. + Megismerhetjük a &os; azon paramétereit, amelyek a + rendszergazdák által bevethetõek az optimális teljesítmény + elérésének érdekében. Ezenkívül bemutatásra kerül a + &os;-ben használt számos konfigurációs állomány, valamint + ezek lelõhelye. - , Booting Process + , A rendszerindítás folyamata - Describes the FreeBSD boot process and explains - how to control this process with configuration options. + Tartalmazza a &os; rendszerindítási folyamatának + leírását, és elmagyarázza, miként lehet ezt vezérelni a + konfigurációs beállítások mentén. - , Users and Basic Account - Management + , A felhasználók és a + hozzáférések alapvetõ kezelése - Describes the creation and manipulation of user - accounts. Also discusses resource limitations that can be - set on users and other account management tasks. + Bemutatja a felhasználói fiókok létrehozását és + kezelését. Emellett megemlíti a felhasználókra + érvényesíthetõ erõforrás-megszorításokat, illetve egyéb + fiókkezelési feladatokat. - , Security + , Biztonság - Describes many different tools available to help keep your - FreeBSD system secure, including Kerberos, IPsec and OpenSSH. + Bemutatásra kerül a &os; rendszerünk biztonságossá + tételére alkalmas, számos különféle eszköz, többek közt a + Kerberos, IPsec és az OpenSSH. - , Jails + , Elzárás - Describes the jails framework, and the improvements of jails - over the traditional chroot support of &os;. + Megtudhatjuk, hogyan mûködik az elzárásért felelõs + alrendszer, valamint miben emelkedik ki a &os;-ben is + megtalálható hagyományos megoldással szemben. - , Mandatory Access Control + , Kötelezõ hozzáférésvezérlés - Explains what Mandatory Access Control (MAC) is and how this - mechanism can be used to secure a FreeBSD system. + Megismerhetjük a kötelezõ hozzáférésvezérlést (MAC-et), + valamint azt, hogyan is tudjuk felhasználni egy &os;-s + rendszer biztonsága érdekében. - , Security Event Auditing + , Események biztonsági vizsgálata - Describes what &os; Event Auditing is, how it can be installed, - configured, and how audit trails can be inspected or monitored. + Kiderül, mit jelent a &os;-ben az események vizsgálata, + illetve mindez hogyan telepíthetõ, konfigurálható és miként + tudjuk a vizsgálatok adatait kielemezni vagy + felügyelni. - , Storage + , Háttértárak - Describes how to manage storage media and filesystems - with FreeBSD. This includes physical disks, RAID arrays, - optical and tape media, memory-backed disks, and network - filesystems. + Bemutatásra kerül, miként kezelhetjük a háttértárolókat + és állományrendszereket a &os;-ben. Ide tartoznak a fizikai + lemezek, RAID-tömbök, optikai és szalagos egységek, + memória-alapú lemezek és a hálózati + állományrendszerek. , GEOM - Describes what the GEOM framework in FreeBSD is and how - to configure various supported RAID levels. + Megismerhetjük a &os;-ben jelenlevõ GEOM alrendszert és + az általa támogatott különbözõ RAID-szintek + beállítását. , Vinum - Describes how to use Vinum, a logical volume manager - which provides device-independent logical disks, and - software RAID-0, RAID-1 and RAID-5. + Megtudhatjuk, hogyan használjuk a Vinumot, a logikai + kötet-kezelõt, amely eszközfüggetlen logikai lemezeket, + szoftveres RAID-0, RAID-1 és RAID-5 konfigurációkat + biztosít. - , Virtualization + , Virtualizáció - Describes what virtualization systems offer, and how they - can be used with &os;. + Tartalmazza a virtualizációs rendszerek által felkínált + lehetõségek bemutatását és használatát a &os;-vel. - , Localization + , Honosítás - Describes how to use FreeBSD in languages other than - English. Covers both system and application level - localization. + Bemutatja, hogyan használjuk a &os;-t angoltól eltérõ + nyelveken, a rendszer és az alkalmazások szintjén. - , The Cutting Edge + , Az élvonal - Explains the differences between FreeBSD-STABLE, - FreeBSD-CURRENT, and FreeBSD releases. Describes which users - would benefit from tracking a development system and outlines - that process. + Elmagyarázza, mik az alapvetõ különbségek a &os;-STABLE, + &os;-CURRENT verziók, valamint a &os; kiadások között. + Bemutatja, mely felhasználók lehetnek azok, akik a legtöbbet + tudnak profitálni egy fejlesztõi rendszer használatából, + illetve körvonalazza ennek folyamatát. - , Serial Communications + , Soros kommunikáció - Explains how to connect terminals and modems to your - FreeBSD system for both dial in and dial out connections. + Kifejti, hogyan csatlakoztassunk terminált vagy modemet + a &os; rendszerünkhöz, ha behívó vagy betárcsázós + kapcsolatot szeretnénk létrehozni. - , PPP and SLIP + , PPP és a SLIP - Describes how to use PPP, SLIP, or PPP over Ethernet to - connect to remote systems with FreeBSD. + Bemutatja, miként tudjuk PPP-n, SLIP-en és PPP-vel Etherneten keresztül + (PPPoE) összekapcsolni a &os;-t távoli rendszerekkel. - , Electronic Mail + , Elektronikus levelezés - Explains the different components of an email server and - dives into simple configuration topics for the most popular - mail server software: - sendmail. + Megismerhetjük egy elektronikus levelezõszerver + különféle komponenseit, és elmélyedhetünk az egyik + leghíresebb levelezõszerver-szoftver, a + sendmail használatában és + felületesebb konfigurálásában. - , Network Servers + , Hálózati kiszolgálók - Provides detailed instructions and example configuration - files to set up your FreeBSD machine as a network filesystem - server, domain name server, network information system - server, or time synchronization server. + Részletekbe és példa konfigurációs állományokba menõen + bemutatja, miként tudunk hálózati állományrendszer + kiszolgálónak, névszervernek, hálózati információs rendszer + kiszolgálónak vagy idõszinkronizációs szervernek beállítani + egy &os;-s számítógépet. - , Firewalls + , Tûzfalak - Explains the philosophy behind software-based firewalls and - provides detailed information about the configuration of the - different firewalls available for FreeBSD. + Kifejti a szoftveres tûzfalak mögött álló filozófiát, + valamint részletesen tárgyalja a különbözõ, &os;-n elérhetõ + tûzfalak konfigurációját. - , Advanced Networking + , Haladó hálózati témák - Describes many networking topics, including sharing an - Internet connection with other computers on your LAN, advanced - routing topics, wireless networking, &bluetooth;, ATM, IPv6, and - much more. + Feldolgoz számos hálózati témát, beleértve az + Internet-kapcsolat helyi hálózaton (LAN-on) keresztül + történõ megosztását több számítógép között, haladó + forgalomirányítási kérdéseket, vezetéknélküli hálózatok + beállítását, &bluetooth;, ATM, IPv6 és sok minden mással + kapcsolatos információkat. - , Obtaining FreeBSD + , A os; beszerzése - Lists different sources for obtaining FreeBSD media on CDROM - or DVD as well as different sites on the Internet that allow - you to download and install FreeBSD. + Felsorolja azokat a forrásokat, ahonnan a &os; CDROM-on + vagy DVD-n beszerezhetõ, valamint azokat a honlapokat, + ahonnan letölthetõ vagy telepíthetõ a &os;. - , Bibliography + , Irodalomjegyzék - This book touches on many different subjects that may - leave you hungry for a more detailed explanation. The - bibliography lists many excellent books that are referenced in - the text. + A könyv sok tekintetben olyan témákat is érint, amelyek + felkelthetik az olvasó érdeklõdését és ezek kapcsán bõvebb + magyarázatra vágyik. Az irodalomjegyzékben ezért összeírtunk + számos remek könyvet, amelyekre hivatkozunk is a + fejezetekben. - , Resources on the Internet + , Lelõhelyek az Interneten - Describes the many forums available for FreeBSD users to - post questions and engage in technical conversations about - FreeBSD. + Tartalmazza a &os; felhasználók számára elérhetõ azon + fórumokat, ahová beküldhetik kérdéseiket, illetve szakmai + jellegû társalgásokat folytathatnak. - , PGP Keys + , PGP-kulcsok - Lists the PGP fingerprints of several FreeBSD Developers. + Az egyes &os; fejlesztõk PGP-ujjlenyomatait sorolja + fel. - Conventions used - in this book + A könyvben alkalmazott + konvenciók - To provide a consistent and easy to read text, several - conventions are followed throughout the book. + A könnyebb és egységesebb olvashatóság kedvéért az alábbi + konvenciókat igyekeztünk követni a könyvben. - Typographic - Conventions + Tipográfiai + konvenciók - Italic + Dõlt - An italic font is used for filenames, URLs, - emphasized text, and the first usage of technical terms. + A dõlt betûket állománynevek, + URL-címek, kiemelt szövegek és a szakmai kifejezések elsõ + elõfordulásakor használjuk. - Monospace + Írógépszerû - A monospaced font is - used for error messages, commands, environment variables, - names of ports, hostnames, user names, group names, device - names, variables, and code fragments. + Az írógépszerû betûket hibaüzenetek, + parancsok, környezeti változók, portok, számítógépek, + felhasználók, csoportok, eszközök nevei, változók és + kódrészletek esetén használjuk. - Bold + Félkövér - A bold font is used for - applications, commands, and keys. + A félkövér betûket + alkalmazások, parancsok és billentyûk megnevezésénél + használjuk. User Input + renderas=sect2>Felhasználói bevitel - Keys are shown in bold to stand out from - other text. Key combinations that are meant to be typed - simultaneously are shown with `+' between - the keys, such as: + A billentyûket félkövérrel írjuk, hogy + elüssenek a szöveg többi részétõl. Az egyszerre megnyomni kívánt + billentyûk kombinációját a `+' jelöléssel adjuk + meg, mint például: @@ -560,12 +627,12 @@ - Meaning the user should type the Ctrl, - Alt, and Del keys at the same - time. + Ez azt jelenti, hogy a felhasználónak a Ctrl, + Alt és Del billentyûket + egyszerre kell lenyomnia. - Keys that are meant to be typed in sequence will be separated with >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 27 22:30:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 216F716A46D; Thu, 27 Sep 2007 22:30:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E827516A469 for ; Thu, 27 Sep 2007 22:30:14 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C2CF913C455 for ; Thu, 27 Sep 2007 22:30:14 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RMUE70083011 for ; Thu, 27 Sep 2007 22:30:14 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RMUBR0082999 for perforce@freebsd.org; Thu, 27 Sep 2007 22:30:11 GMT (envelope-from peter@freebsd.org) Date: Thu, 27 Sep 2007 22:30:11 GMT Message-Id: <200709272230.l8RMUBR0082999@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 126894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 22:30:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=126894 Change 126894 by peter@peter_daintree on 2007/09/27 22:29:37 IFC @126882 Affected files ... .. //depot/projects/hammer/bin/getfacl/getfacl.c#6 integrate .. //depot/projects/hammer/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/hammer/etc/mtree/BSD.include.dist#48 integrate .. //depot/projects/hammer/etc/rc.d/nscd#3 integrate .. //depot/projects/hammer/etc/services#16 integrate .. //depot/projects/hammer/gnu/usr.bin/binutils/ld/Makefile#9 integrate .. //depot/projects/hammer/gnu/usr.bin/binutils/ld/genscripts.sh#5 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/cc_int/Makefile#17 integrate .. //depot/projects/hammer/gnu/usr.bin/man/man/man.c#6 integrate .. //depot/projects/hammer/gnu/usr.bin/texinfo/info/Makefile#2 integrate .. //depot/projects/hammer/include/Makefile#70 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.3#25 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_disk.c#8 integrate .. //depot/projects/hammer/lib/libarchive/test/test_write_disk.c#4 integrate .. //depot/projects/hammer/lib/libc/net/sctp_connectx.3#3 integrate .. //depot/projects/hammer/lib/libc/net/sctp_opt_info.3#3 integrate .. //depot/projects/hammer/lib/libc/net/sctp_recvmsg.3#3 integrate .. //depot/projects/hammer/lib/libc/net/sctp_send.3#3 integrate .. //depot/projects/hammer/lib/libc/net/sctp_sendmsg.3#3 integrate .. //depot/projects/hammer/lib/libc/rpc/auth_time.c#4 integrate .. //depot/projects/hammer/lib/libc/rpc/getnetconfig.c#7 integrate .. //depot/projects/hammer/lib/libc/rpc/getnetpath.c#6 integrate .. //depot/projects/hammer/lib/libc/rpc/rpc_generic.c#5 integrate .. //depot/projects/hammer/lib/libc/rpc/rpcb_clnt.c#7 integrate .. //depot/projects/hammer/lib/libc/stdlib/getenv.c#7 integrate .. //depot/projects/hammer/lib/libc/sys/minherit.2#6 integrate .. //depot/projects/hammer/lib/libdisk/open_disk.c#10 integrate .. //depot/projects/hammer/lib/libdisk/open_ia64_disk.c#3 integrate .. //depot/projects/hammer/lib/libkvm/kvm_proc.c#36 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/article.sgml#7 integrate .. //depot/projects/hammer/release/doc/share/misc/dev.archlist.txt#47 integrate .. //depot/projects/hammer/sbin/dhclient/dhclient.8#6 integrate .. //depot/projects/hammer/sbin/fsck_ffs/Makefile#8 integrate .. //depot/projects/hammer/sbin/fsck_ffs/main.c#13 integrate .. //depot/projects/hammer/sbin/geom/class/Makefile#12 integrate .. //depot/projects/hammer/sbin/geom/class/virstor/Makefile#1 branch .. //depot/projects/hammer/sbin/geom/class/virstor/geom_virstor.c#1 branch .. //depot/projects/hammer/sbin/geom/class/virstor/gvirstor.8#1 branch .. //depot/projects/hammer/sbin/geom/core/geom.8#13 integrate .. //depot/projects/hammer/sbin/geom/core/geom.c#18 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw2.c#58 integrate .. //depot/projects/hammer/sbin/tunefs/tunefs.8#11 integrate .. //depot/projects/hammer/share/man/man4/cxgb.4#2 integrate .. //depot/projects/hammer/share/man/man4/gem.4#6 integrate .. //depot/projects/hammer/share/man/man4/sctp.4#2 integrate .. //depot/projects/hammer/share/man/man9/DECLARE_GEOM_CLASS.9#5 integrate .. //depot/projects/hammer/share/man/man9/crypto.9#8 integrate .. //depot/projects/hammer/share/misc/committers-ports.dot#6 integrate .. //depot/projects/hammer/share/misc/committers-src.dot#4 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#97 integrate .. //depot/projects/hammer/sys/amd64/include/smp.h#35 integrate .. //depot/projects/hammer/sys/amd64/include/vmparam.h#25 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux.h#7 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_proto.h#13 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_syscall.h#13 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_sysent.c#13 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_sysvec.c#18 integrate .. //depot/projects/hammer/sys/amd64/linux32/syscalls.master#13 integrate .. //depot/projects/hammer/sys/arm/arm/locore.S#16 integrate .. //depot/projects/hammer/sys/arm/arm/pmap.c#41 integrate .. //depot/projects/hammer/sys/arm/conf/AVILA#4 integrate .. //depot/projects/hammer/sys/arm/conf/CRB#2 integrate .. //depot/projects/hammer/sys/arm/include/asmacros.h#6 integrate .. //depot/projects/hammer/sys/arm/include/vmparam.h#9 integrate .. //depot/projects/hammer/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/hammer/sys/arm/xscale/i8134x/files.crb#2 integrate .. //depot/projects/hammer/sys/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/hammer/sys/arm/xscale/i8134x/i81342reg.h#2 integrate .. //depot/projects/hammer/sys/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/hammer/sys/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/hammer/sys/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/hammer/sys/arm/xscale/ixp425/IxNpeMicrocode.c#1 branch .. //depot/projects/hammer/sys/arm/xscale/ixp425/files.ixp425#2 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_npe.c#4 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_npevar.h#3 integrate .. //depot/projects/hammer/sys/boot/forth/loader.conf#35 integrate .. //depot/projects/hammer/sys/compat/ia32/ia32_sysvec.c#21 integrate .. //depot/projects/hammer/sys/compat/linux/linux_stats.c#29 integrate .. //depot/projects/hammer/sys/conf/NOTES#127 integrate .. //depot/projects/hammer/sys/conf/files#159 integrate .. //depot/projects/hammer/sys/conf/options#115 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evmisc.c#15 integrate .. //depot/projects/hammer/sys/contrib/dev/acpica/evxface.c#12 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/hammer/sys/dev/acpica/acpi_ec.c#40 integrate .. //depot/projects/hammer/sys/dev/gem/if_gem.c#29 integrate .. //depot/projects/hammer/sys/dev/gem/if_gem_pci.c#16 integrate .. //depot/projects/hammer/sys/dev/gem/if_gemreg.h#4 integrate .. //depot/projects/hammer/sys/dev/gem/if_gemvar.h#10 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt_pci.c#22 integrate .. //depot/projects/hammer/sys/dev/pci/pcireg.h#19 integrate .. //depot/projects/hammer/sys/dev/syscons/syscons.c#41 integrate .. //depot/projects/hammer/sys/dev/syscons/syscons.h#13 integrate .. //depot/projects/hammer/sys/dev/usb/ehci_pci.c#24 integrate .. //depot/projects/hammer/sys/dev/usb/if_axe.c#36 integrate .. //depot/projects/hammer/sys/dev/usb/if_axereg.h#13 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_fat.c#10 integrate .. //depot/projects/hammer/sys/fs/ntfs/ntfs_vfsops.c#31 integrate .. //depot/projects/hammer/sys/geom/geom_event.c#25 integrate .. //depot/projects/hammer/sys/geom/virstor/binstream.c#1 branch .. //depot/projects/hammer/sys/geom/virstor/binstream.h#1 branch .. //depot/projects/hammer/sys/geom/virstor/g_virstor.c#1 branch .. //depot/projects/hammer/sys/geom/virstor/g_virstor.h#1 branch .. //depot/projects/hammer/sys/geom/virstor/g_virstor_md.c#1 branch .. //depot/projects/hammer/sys/geom/virstor/g_virstor_md.h#1 branch .. //depot/projects/hammer/sys/i386/conf/GENERIC#55 integrate .. //depot/projects/hammer/sys/i386/i386/geode.c#9 integrate .. //depot/projects/hammer/sys/i386/include/smp.h#18 integrate .. //depot/projects/hammer/sys/i386/include/vmparam.h#12 integrate .. //depot/projects/hammer/sys/i386/linux/linux.h#10 integrate .. //depot/projects/hammer/sys/i386/linux/linux_proto.h#24 integrate .. //depot/projects/hammer/sys/i386/linux/linux_syscall.h#24 integrate .. //depot/projects/hammer/sys/i386/linux/linux_sysent.c#25 integrate .. //depot/projects/hammer/sys/i386/linux/linux_sysvec.c#30 integrate .. //depot/projects/hammer/sys/i386/linux/syscalls.master#24 integrate .. //depot/projects/hammer/sys/ia64/conf/GENERIC#30 integrate .. //depot/projects/hammer/sys/ia64/include/vmparam.h#13 integrate .. //depot/projects/hammer/sys/kern/kern_exec.c#71 integrate .. //depot/projects/hammer/sys/kern/kern_fork.c#63 integrate .. //depot/projects/hammer/sys/kern/kern_proc.c#59 integrate .. //depot/projects/hammer/sys/kern/kern_switch.c#57 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#98 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#51 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#82 integrate .. //depot/projects/hammer/sys/kern/subr_witness.c#64 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#77 integrate .. //depot/projects/hammer/sys/kern/vfs_cache.c#23 integrate .. //depot/projects/hammer/sys/kern/vfs_lookup.c#28 integrate .. //depot/projects/hammer/sys/modules/Makefile#113 integrate .. //depot/projects/hammer/sys/modules/acpi/acpi/Makefile#15 integrate .. //depot/projects/hammer/sys/modules/geom/geom_virstor/Makefile#1 branch .. //depot/projects/hammer/sys/net/if_media.h#20 integrate .. //depot/projects/hammer/sys/net/if_stf.c#27 integrate .. //depot/projects/hammer/sys/net80211/_ieee80211.h#12 integrate .. //depot/projects/hammer/sys/net80211/ieee80211.c#30 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.h#19 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.c#42 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.h#24 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_output.c#31 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_proto.c#30 integrate .. //depot/projects/hammer/sys/netgraph/ng_pppoe.c#23 integrate .. //depot/projects/hammer/sys/netinet/in_gif.c#18 integrate .. //depot/projects/hammer/sys/netinet/sctp_asconf.c#14 integrate .. //depot/projects/hammer/sys/netinet/sctp_constants.h#13 integrate .. //depot/projects/hammer/sys/netinet/sctp_lock_bsd.h#7 integrate .. //depot/projects/hammer/sys/netinet/sctp_os_bsd.h#14 integrate .. //depot/projects/hammer/sys/netinet/sctp_output.c#15 integrate .. //depot/projects/hammer/sys/netinet/sctp_pcb.c#15 integrate .. //depot/projects/hammer/sys/netinet/sctp_pcb.h#12 integrate .. //depot/projects/hammer/sys/netinet/sctp_uio.h#11 integrate .. //depot/projects/hammer/sys/netinet/sctp_usrreq.c#15 integrate .. //depot/projects/hammer/sys/netinet/sctputil.c#17 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#75 integrate .. //depot/projects/hammer/sys/netinet/tcp_timer.c#29 integrate .. //depot/projects/hammer/sys/netinet/tcp_timer.h#15 integrate .. //depot/projects/hammer/sys/netinet/tcp_usrreq.c#50 integrate .. //depot/projects/hammer/sys/netinet/tcp_var.h#48 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#44 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_nfsiod.c#14 integrate .. //depot/projects/hammer/sys/pc98/conf/GENERIC#45 integrate .. //depot/projects/hammer/sys/pci/agp_via.c#19 integrate .. //depot/projects/hammer/sys/powerpc/conf/GENERIC#32 integrate .. //depot/projects/hammer/sys/powerpc/conf/NOTES#5 integrate .. //depot/projects/hammer/sys/powerpc/include/vmparam.h#8 integrate .. //depot/projects/hammer/sys/sparc64/conf/GENERIC#54 integrate .. //depot/projects/hammer/sys/sparc64/include/vmparam.h#6 integrate .. //depot/projects/hammer/sys/sparc64/pci/ofw_pcibus.c#15 integrate .. //depot/projects/hammer/sys/sun4v/conf/GENERIC#5 integrate .. //depot/projects/hammer/sys/sun4v/include/vmparam.h#4 integrate .. //depot/projects/hammer/sys/sys/proc.h#108 integrate .. //depot/projects/hammer/sys/sys/socket.h#23 integrate .. //depot/projects/hammer/sys/sys/vmmeter.h#9 integrate .. //depot/projects/hammer/sys/vm/vm_contig.c#36 integrate .. //depot/projects/hammer/sys/vm/vm_fault.c#48 integrate .. //depot/projects/hammer/sys/vm/vm_glue.c#48 integrate .. //depot/projects/hammer/sys/vm/vm_map.c#62 integrate .. //depot/projects/hammer/sys/vm/vm_object.c#68 integrate .. //depot/projects/hammer/sys/vm/vm_object.h#26 integrate .. //depot/projects/hammer/sys/vm/vm_page.c#61 integrate .. //depot/projects/hammer/sys/vm/vm_page.h#30 integrate .. //depot/projects/hammer/sys/vm/vm_pageout.c#46 integrate .. //depot/projects/hammer/sys/vm/vm_pageq.c#22 integrate .. //depot/projects/hammer/sys/vm/vm_phys.c#3 integrate .. //depot/projects/hammer/sys/vm/vm_phys.h#3 integrate .. //depot/projects/hammer/tools/tools/crypto/ipsecstats.c#2 integrate .. //depot/projects/hammer/usr.bin/at/at.c#2 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.dutch#3 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.freebsd#55 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici#2 integrate .. //depot/projects/hammer/usr.bin/login/login_fbtab.c#3 integrate .. //depot/projects/hammer/usr.bin/m4/gnum4.c#3 integrate .. //depot/projects/hammer/usr.bin/mklocale/yacc.y#14 integrate .. //depot/projects/hammer/usr.sbin/nscd/Makefile#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/agent.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/agent.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/agents/Makefile.inc#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/agents/group.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/agents/group.h#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/agents/passwd.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/agents/passwd.h#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/agents/services.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/agents/services.h#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/cachelib.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/cachelib.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/cacheplcs.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/cacheplcs.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/config.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/config.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/debug.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/hashtable.h#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/log.c#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/log.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/mp_rs_query.#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/mp_rs_query.c#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/mp_rs_query.h#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/mp_ws_query.c#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/mp_ws_query.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/nscd.8#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/nscd.c#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/nscd.conf.5#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/nscdcli.c#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/nscdcli.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/parser.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/parser.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/protocol.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/protocol.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/query.c#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/query.h#3 integrate .. //depot/projects/hammer/usr.sbin/nscd/singletons.c#2 integrate .. //depot/projects/hammer/usr.sbin/nscd/singletons.h#3 integrate .. //depot/projects/hammer/usr.sbin/repquota/repquota.c#8 integrate .. //depot/projects/hammer/usr.sbin/wpa/hostapd/Makefile#4 integrate .. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/Makefile#9 integrate Differences ... ==== //depot/projects/hammer/bin/getfacl/getfacl.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ #include -__FBSDID("$FreeBSD: src/bin/getfacl/getfacl.c,v 1.11 2006/03/13 11:45:29 rwatson Exp $"); +__FBSDID("$FreeBSD: src/bin/getfacl/getfacl.c,v 1.12 2007/09/19 02:04:47 kevlo Exp $"); #include #include @@ -41,6 +41,8 @@ #include #include +#include +#include #include #include #include @@ -55,6 +57,32 @@ fprintf(stderr, "getfacl [-dhq] [file ...]\n"); } +static char * +getuname(uid_t uid) +{ + struct passwd *pw; + static char uids[10]; + + if ((pw = getpwuid(uid)) == NULL) { + (void)snprintf(uids, sizeof(uids), "%u", uid); + return (uids); + } else + return (pw->pw_name); +} + +static char * +getgname(gid_t gid) +{ + struct group *gr; + static char gids[10]; + + if ((gr = getgrgid(gid)) == NULL) { + (void)snprintf(gids, sizeof(gids), "%u", gid); + return (gids); + } else + return (gr->gr_name); +} + /* * return an ACL corresponding to the permissions * contained in struct stat @@ -169,8 +197,8 @@ more_than_one++; if (!qflag) - printf("#file:%s\n#owner:%d\n#group:%d\n", path, sb.st_uid, - sb.st_gid); + printf("# file: %s\n# owner: %s\n# group: %s\n", path, + getuname(sb.st_uid), getgname(sb.st_gid)); if (hflag) acl = acl_get_link_np(path, type); ==== //depot/projects/hammer/etc/mtree/BSD.include.dist#48 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.118 2007/07/14 21:49:21 rwatson Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.119 2007/09/23 07:34:21 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -174,6 +174,8 @@ .. stripe .. + virstor + .. .. gnu posix ==== //depot/projects/hammer/etc/rc.d/nscd#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/nscd,v 1.4 2007/08/09 13:06:11 bushman Exp $ +# $FreeBSD: src/etc/rc.d/nscd,v 1.5 2007/09/27 12:30:12 bushman Exp $ # # PROVIDE: nscd ==== //depot/projects/hammer/etc/services#16 (text+ko) ==== @@ -16,7 +16,7 @@ # Kerberos services are for Kerberos v4, and are unofficial. Sites running # v5 should uncomment v5 entries and comment v4 entries. # -# $FreeBSD: src/etc/services,v 1.112 2007/09/08 08:56:01 mr Exp $ +# $FreeBSD: src/etc/services,v 1.113 2007/09/21 01:26:00 brooks Exp $ # From: @(#)services 5.8 (Berkeley) 5/9/91 # # WELL KNOWN PORT NUMBERS @@ -2331,7 +2331,7 @@ sge_qmaster 6444/tcp #Grid Engine Qmaster Service sge_qmaster 6444/udp #Grid Engine Qmaster Service sge_execd 6445/tcp #Grid Engine Execution Service -sge_execd 6445/upd #Grid Engine Execution Service +sge_execd 6445/udp #Grid Engine Execution Service xdsxdm 6558/tcp xdsxdm 6558/udp ircd 6667/tcp #Internet Relay Chat (unoffical) ==== //depot/projects/hammer/gnu/usr.bin/binutils/ld/Makefile#9 (text+ko) ==== @@ -1,9 +1,13 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile,v 1.31 2004/12/21 09:59:40 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ld/Makefile,v 1.32 2007/09/26 01:31:28 marcel Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/ld +.if ${TARGET_ARCH} == "ia64" +CFLAGS+= -O1 +.endif + PROG= ld SCRIPTDIR= /usr/libdata/ldscripts SRCS+= ldcref.c ldctor.c ldemul.c ldemul-list.h ldexp.c ldfile.c \ ==== //depot/projects/hammer/gnu/usr.bin/binutils/ld/genscripts.sh#5 (text+ko) ==== @@ -9,7 +9,7 @@ # sparc-sun-sunos4.1.3 sparc-sun-sunos4.1.3 sun4 "" sun3 sparc-sun-sunos4.1.3 # produces sun3.x sun3.xbn sun3.xn sun3.xr sun3.xu em_sun3.c # -# $FreeBSD: src/gnu/usr.bin/binutils/ld/genscripts.sh,v 1.7 2006/09/14 07:46:32 imp Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ld/genscripts.sh,v 1.9 2007/09/19 14:19:32 obrien Exp $ # # This is a cut-down version of the GNU script. Instead of jumping through # hoops for all possible combinations of paths, just use the libdir @@ -54,8 +54,12 @@ fi # Set some flags for the emultempl scripts. USE_LIBPATH will -# be set for any libpath-using emulation. - USE_LIBPATH=yes +# be set for any libpath-using emulation; NATIVE will be set for a +# emulation to enable 'LD_LIBRARY_PATH=/foo:/bar ld -lfooz' + if [ "x${host}" = "x${target}" ] ; then + NATIVE=yes + fi + USE_LIBPATH=yes # Set the library search path, for libraries named by -lfoo. # If LIB_PATH is defined (e.g., by Makefile) and non-empty, it is used. ==== //depot/projects/hammer/gnu/usr.bin/cc/cc_int/Makefile#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.51 2007/05/19 04:25:57 kan Exp $ +# $FreeBSD: src/gnu/usr.bin/cc/cc_int/Makefile,v 1.52 2007/09/18 23:34:42 cognet Exp $ .include "../Makefile.inc" .include "../Makefile.ver" @@ -75,6 +75,10 @@ # Target specific, C specific object file C_TARGET_OBJS= +.if ${TARGET_ARCH} == "arm" && defined(TARGET_BIG_ENDIAN) +CFLAGS += -DTARGET_ENDIAN_DEFAULT=MASK_BIG_END +.endif + # Language-specific object files for C and Objective C. C_AND_OBJC_OBJS = attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \ c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o \ ==== //depot/projects/hammer/gnu/usr.bin/man/man/man.c#6 (text+ko) ==== @@ -16,7 +16,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/gnu/usr.bin/man/man/man.c,v 1.63 2005/12/05 14:22:11 ru Exp $"; + "$FreeBSD: src/gnu/usr.bin/man/man/man.c,v 1.65 2007/09/25 21:41:22 edwin Exp $"; #endif /* not lint */ #define MAN_MAIN @@ -884,11 +884,26 @@ next: +#if HAVE_LIBZ > 0 + if ((fp = gzopen (ult, "r")) == NULL) + { + /* check for the compressed version too */ + strlcat(ult, ".gz", FILENAME_MAX); + if ((fp = gzopen (ult, "r")) == NULL) + return ult; /* we munged it, but it doesn't exist anyway */ + } +#else if ((fp = fopen (ult, "r")) == NULL) return ult; +#endif +#if HAVE_LIBZ > 0 + end = gzgets (fp, buf, BUFSIZ); + gzclose(fp); +#else end = fgets (buf, BUFSIZ, fp); fclose(fp); +#endif if (!end || strlen (buf) < 5) return ult; ==== //depot/projects/hammer/gnu/usr.bin/texinfo/info/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/usr.bin/texinfo/info/Makefile,v 1.13 2002/06/05 06:58:32 ru Exp $ +# $FreeBSD: src/gnu/usr.bin/texinfo/info/Makefile,v 1.14 2007/09/19 14:21:18 obrien Exp $ PROG= info MAN= info.1 info.5 texinfo.5 @@ -8,7 +8,7 @@ infomap.c m-x.c man.c nodemenu.c nodes.c search.c session.c \ signals.c terminal.c tilde.c variables.c window.c -CFLAGS+= -DINFODIR=\"${INFODIR}:/usr/local/info:/usr/X11R6/info:.\" +CFLAGS+= -DINFODIR=\"${INFODIR}:/usr/local/info:.\" DPADD= ${LIBTERMCAP} ${LIBTXI} LDADD= -ltermcap ${LIBTXI} ==== //depot/projects/hammer/include/Makefile#70 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.274 2007/07/14 21:49:22 rwatson Exp $ +# $FreeBSD: src/include/Makefile,v 1.275 2007/09/23 07:34:21 pjd Exp $ # # Doing a "make install" builds /usr/include. @@ -48,7 +48,7 @@ fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs \ ${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \ geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ - geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe \ + geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe geom/virstor \ netgraph/atm netgraph/netflow \ security/audit \ security/mac_biba security/mac_bsdextended security/mac_lomac \ ==== //depot/projects/hammer/lib/libarchive/archive_read.3#25 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.34 2007/05/29 01:00:18 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.35 2007/09/19 16:37:45 kientzle Exp $ .\" .Dd August 19, 2006 .Dt archive_read 3 @@ -267,7 +267,7 @@ The .Va flags argument is passed unmodified to -.Xr archiv_write_disk_set_options 3 . +.Xr archive_write_disk_set_options 3 . .It Fn archive_read_extract_set_progress_callback Sets a pointer to a user-defined callback that can be used for updating progress displays during extraction. ==== //depot/projects/hammer/lib/libarchive/archive_write_disk.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.14 2007/08/12 17:35:05 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.17 2007/09/21 04:52:42 kientzle Exp $"); #ifdef HAVE_SYS_TYPES_H #include @@ -448,8 +448,10 @@ __archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC, ARCHIVE_STATE_DATA, "archive_write_disk_block"); - if (a->fd < 0) - return (ARCHIVE_OK); + if (a->fd < 0) { + archive_set_error(&a->archive, 0, "File not open"); + return (ARCHIVE_WARN); + } archive_clear_error(&a->archive); /* Seek if necessary to the specified offset. */ @@ -478,12 +480,17 @@ _archive_write_data(struct archive *_a, const void *buff, size_t size) { struct archive_write_disk *a = (struct archive_write_disk *)_a; + int r; + __archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); if (a->fd < 0) return (ARCHIVE_OK); - return (_archive_write_data_block(_a, buff, size, a->offset)); + r = _archive_write_data_block(_a, buff, size, a->offset); + if (r < ARCHIVE_OK) + return (r); + return (size); } static int ==== //depot/projects/hammer/lib/libarchive/test/test_write_disk.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "test.h" -__FBSDID("$FreeBSD: src/lib/libarchive/test/test_write_disk.c,v 1.3 2007/07/06 15:43:11 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/test/test_write_disk.c,v 1.6 2007/09/21 04:52:43 kientzle Exp $"); #if ARCHIVE_VERSION_STAMP >= 1009000 @@ -50,8 +50,76 @@ st.st_mode, archive_entry_mode(ae)); assert(st.st_mode == (archive_entry_mode(ae) & ~UMASK)); } + +static void create_reg_file(struct archive_entry *ae, const char *msg) +{ + static const char data[]="abcdefghijklmnopqrstuvwxyz"; + struct archive *ad; + struct stat st; + + /* Write the entry to disk. */ + assert((ad = archive_write_disk_new()) != NULL); + failure("%s", msg); + assertEqualIntA(ad, 0, archive_write_header(ad, ae)); + assertEqualInt(sizeof(data), archive_write_data(ad, data, sizeof(data))); + assertEqualIntA(ad, 0, archive_write_finish_entry(ad)); +#if ARCHIVE_API_VERSION > 1 + assertEqualInt(0, archive_write_finish(ad)); +#else + archive_write_finish(ad); #endif + /* Test the entries on disk. */ + assert(0 == stat(archive_entry_pathname(ae), &st)); + failure("st.st_mode=%o archive_entry_mode(ae)=%o", + st.st_mode, archive_entry_mode(ae)); + assertEqualInt(st.st_mode, (archive_entry_mode(ae) & ~UMASK)); + assertEqualInt(st.st_size, sizeof(data)); +} + +static void create_reg_file2(struct archive_entry *ae, const char *msg) +{ + const int datasize = 100000; + char *data; + char *compare; + struct archive *ad; + struct stat st; + int i, fd; + data = malloc(datasize); + for (i = 0; i < datasize; i++) + data[i] = (char)(i % 256); + + /* Write the entry to disk. */ + assert((ad = archive_write_disk_new()) != NULL); + failure("%s", msg); + assertEqualIntA(ad, 0, archive_write_header(ad, ae)); + for (i = 0; i < datasize - 999; i += 1000) { + assertEqualIntA(ad, ARCHIVE_OK, + archive_write_data_block(ad, data + i, 1000, i)); + } + assertEqualIntA(ad, 0, archive_write_finish_entry(ad)); +#if ARCHIVE_API_VERSION > 1 + assertEqualInt(0, archive_write_finish(ad)); +#else + archive_write_finish(ad); +#endif + /* Test the entries on disk. */ + assert(0 == stat(archive_entry_pathname(ae), &st)); + failure("st.st_mode=%o archive_entry_mode(ae)=%o", + st.st_mode, archive_entry_mode(ae)); + assertEqualInt(st.st_mode, (archive_entry_mode(ae) & ~UMASK)); + assertEqualInt(st.st_size, i); + + compare = malloc(datasize); + fd = open(archive_entry_pathname(ae), O_RDONLY); + assertEqualInt(datasize, read(fd, compare, datasize)); + close(fd); + assert(memcmp(compare, data, datasize) == 0); + free(compare); + free(data); +} +#endif + DEFINE_TEST(test_write_disk) { #if ARCHIVE_VERSION_STAMP < 1009000 @@ -66,7 +134,14 @@ assert((ae = archive_entry_new()) != NULL); archive_entry_copy_pathname(ae, "file"); archive_entry_set_mode(ae, S_IFREG | 0755); - create(ae, "Test creating a regular file"); + create_reg_file(ae, "Test creating a regular file"); + archive_entry_free(ae); + + /* Another regular file. */ + assert((ae = archive_entry_new()) != NULL); + archive_entry_copy_pathname(ae, "file2"); + archive_entry_set_mode(ae, S_IFREG | 0755); + create_reg_file2(ae, "Test creating another regular file"); archive_entry_free(ae); /* A regular file over an existing file */ ==== //depot/projects/hammer/lib/libc/net/sctp_connectx.3#3 (text+ko) ==== @@ -29,14 +29,14 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/net/sctp_connectx.3,v 1.5 2007/06/19 16:29:46 brueffer Exp $ +.\" $FreeBSD: src/lib/libc/net/sctp_connectx.3,v 1.6 2007/09/25 16:48:08 brueffer Exp $ .\" .Dd June 19, 2007 .Dt SCTP_CONNECTX 3 .Os .Sh NAME .Nm sctp_connectx -.Nd connect an sctp socket with multiple destination addresses. +.Nd connect an SCTP socket with multiple destination addresses. .Sh LIBRARY .Lb libc .Sh SYNOPSIS ==== //depot/projects/hammer/lib/libc/net/sctp_opt_info.3#3 (text+ko) ==== @@ -30,14 +30,14 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)send.2 8.2 (Berkeley) 2/21/94 -.\" $FreeBSD: src/lib/libc/net/sctp_opt_info.3,v 1.3 2007/06/18 10:20:32 brueffer Exp $ +.\" $FreeBSD: src/lib/libc/net/sctp_opt_info.3,v 1.4 2007/09/25 16:48:08 brueffer Exp $ .\" .Dd December 15, 2006 .Dt SCTP_OPT_INFO 3 .Os .Sh NAME .Nm sctp_opt_info -.Nd get sctp socket information +.Nd get SCTP socket information .Sh LIBRARY .Lb libc .Sh SYNOPSIS ==== //depot/projects/hammer/lib/libc/net/sctp_recvmsg.3#3 (text+ko) ==== @@ -29,14 +29,14 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/net/sctp_recvmsg.3,v 1.3 2007/06/18 10:20:32 brueffer Exp $ +.\" $FreeBSD: src/lib/libc/net/sctp_recvmsg.3,v 1.5 2007/09/25 16:48:08 brueffer Exp $ .\" -.Dd December 15, 2006 +.Dd August 13, 2007 .Dt SCTP_RECVMSG 3 .Os .Sh NAME .Nm sctp_recvmsg -.Nd send a message from an SCTP socket +.Nd receive a message from an SCTP socket .Sh LIBRARY .Lb libc .Sh SYNOPSIS @@ -60,8 +60,8 @@ .Fn connect call or after the application has performed a .Fn listen -followed by a sucessful -.Fn accept +followed by a successful +.Fn accept . For a one-to-many (SOCK_SEQPACKET) type socket, an endpoint may call .Fn sctp_recvmsg after having implicitly started an association via one @@ -73,7 +73,7 @@ Or, an application may also receive a message after having called .Fn listen -with a postive backlog to enable the reception of new associations. +with a positive backlog to enable the reception of new associations. .Pp The address of the sender is held in the .Fa from @@ -99,7 +99,9 @@ If the message is too long to fit in the users receive buffer, then the .Fa flags -argument will NOT have the +argument will +.Em not +have the .Dv MSG_EOF flag applied. If the message is a complete message then @@ -117,7 +119,9 @@ argument may also hold the value .Dv MSG_NOTIFICATION . When this -occurs this indicates that the message received is NOT from +occurs it indicates that the message received is +.Em not +from the peer endpoint, but instead is a notification from the SCTP stack (see .Xr sctp 4 @@ -194,7 +198,9 @@ The .Fa sinfo->sinfo_ssn will hold the stream sequence number assigned -by the peer endpoint if the message is NOT unordered. +by the peer endpoint if the message is +.Em not +unordered. For unordered messages this field holds an undefined value. .Pp The @@ -203,8 +209,8 @@ to this message by the peer endpoint. For messages that fit in or less than the path MTU this will be the only TSN assigned. -Note that for messages that span multiple TSN's this -value will be one of the TSN's that was used on the +Note that for messages that span multiple TSNs this +value will be one of the TSNs that was used on the message. .Pp The @@ -224,8 +230,7 @@ It is also quite useful in setting various socket options on the specific association (see -.Xr sctp 4 -). +.Xr sctp 4 ) . .Pp The .Fa sinfo->info_timetolive ==== //depot/projects/hammer/lib/libc/net/sctp_send.3#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/net/sctp_send.3,v 1.3 2007/06/18 10:20:32 brueffer Exp $ +.\" $FreeBSD: src/lib/libc/net/sctp_send.3,v 1.4 2007/09/25 16:48:08 brueffer Exp $ .\" .Dd December 15, 2006 .Dt SCTP_SEND 3 @@ -75,10 +75,10 @@ the message is not transmitted. .Pp No indication of failure to deliver is implicit in a -.Fn sctp_send +.Fn sctp_send . Locally detected errors are indicated by a return value of -1. .Pp -If no messages space is available at the socket to hold +If no space is available at the socket to hold the message to be transmitted, then .Fn sctp_send normally blocks, unless the socket has been placed in @@ -111,8 +111,7 @@ argument is an opaque 32 bit value that is passed transparently through the stack to the peer endpoint. It will be available on reception of a message (see -.Xr sctp_recvmsg 2 -). +.Xr sctp_recvmsg 2 ) . Note that the stack passes this value without regard to byte order. .Pp @@ -174,7 +173,7 @@ Note that this mechanism is quite efficent and makes only one actual copy of the data which is shared by all the associations for sending. .Pp -The remaining flags are used for the partial reliabilty extension (RFC3758) +The remaining flags are used for the partial reliability extension (RFC3758) and will only be effective if the peer endpoint supports this extension. This option specifies what local policy the local endpoint should use in skipping data. @@ -182,7 +181,7 @@ never skipped over. .Pp .Dv SCTP_PR_SCTP_TTL -Is used to indicate that a time based lifetime is being applied +is used to indicate that a time based lifetime is being applied to the data. The .Fa sinfo->sinfo_timetolive @@ -206,7 +205,8 @@ send queue. If that number or more bytes are in queue, then other buffer-based sends are looked to be removed and -skipped. Note that this policy may also result in the data +skipped. +Note that this policy may also result in the data never being sent if no buffer based sends are in queue and the maximum specified by .Fa timetolive @@ -233,16 +233,16 @@ The .Fa sinfo->sinfo_assoc_id field is used to -select the association to send to on an one-to-many socket. +select the association to send to on a one-to-many socket. For a one-to-one socket, this field is ignored. .Pp +The .Fa sinfo->sinfo_context field is used only in the event the message cannot be sent. This is an opaque value that the stack retains and will give to the user when a failed send is given if that notification is enabled (see -.Xr sctp 4 -). +.Xr sctp 4 ) . Normally a user process can use this value to index some application specific data structure when a send cannot be fulfilled. .Pp @@ -275,7 +275,7 @@ Note that all of the addresses will only be used when an implicit association is being set up. This allows the -user the equivilant behavior as doing a +user the equivalent behavior as doing a .Fn sctp_connectx followed by a .Fn sctp_send ==== //depot/projects/hammer/lib/libc/net/sctp_sendmsg.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)send.2 8.2 (Berkeley) 2/21/94 -.\" $FreeBSD: src/lib/libc/net/sctp_sendmsg.3,v 1.3 2007/06/18 10:20:32 brueffer Exp $ +.\" $FreeBSD: src/lib/libc/net/sctp_sendmsg.3,v 1.4 2007/09/25 16:48:08 brueffer Exp $ .\" .Dd December 15, 2006 .Dt SCTP_SENDMSG 3 @@ -123,8 +123,7 @@ through the stack to the peer endpoint. It will be available on reception of a message (see -.Xr sctp_recvmsg 2 -). +.Xr sctp_recvmsg 2 ) . Note that the stack passes this value without regard to byte order. .Pp @@ -186,15 +185,15 @@ Note that this mechanism is quite efficent and makes only one actual copy of the data which is shared by all the associations for sending. .Pp -The remaining flags are used for the partial reliabilty extension (RFC3758) +The remaining flags are used for the partial reliability extension (RFC3758) and will only be effective if the peer endpoint supports this extension. -This option specify's what local policy the local endpoint should use +This option specifies what local policy the local endpoint should use in skipping data. If none of these options are set, then data is never skipped over. .Pp .Dv SCTP_PR_SCTP_TTL -Is used to indicate that a time based lifetime is being applied +is used to indicate that a time based lifetime is being applied to the data. The .Fa timetolive @@ -248,30 +247,29 @@ This is an opaque value that the stack retains and will give to the user when a failed send is given if that notification is enabled (see -.Xr sctp 4 -). +.Xr sctp 4 ) . Normally a user process can use this value to index some application specific data structure when a send cannot be fulfilled. .Fn sctp_sendmsgx is identical to .Fn sctp_sendmsg -with the exception that it takes a array of sockaddr structures in the +with the exception that it takes an array of sockaddr structures in the argument .Fa to and adds the additional argument .Fa addrcnt which specifies how many addresses are in the array. This allows a -caller to implictly setup an association passing multiple addresses -as if an +caller to implicitly set up an association passing multiple addresses +as if .Fn sctp_connectx -had been called to setup the association. +had been called to set up the association. .Sh RETURN VALUES The call returns the number of characters sent, or -1 if an error occurred. .Sh ERRORS The -.Fn sctp_sendmsg 2 +.Fn sctp_sendmsg system call fail if: .Bl -tag -width Er @@ -322,8 +320,8 @@ .Xr select 2 , .Xr socket 2 , .Xr write 2 , +.Xr sctp_connectx 3 , .Xr sendmsg 3 , -.Xr sctp_connectx 3 , .Xr sctp 4 .Sh BUGS Because in the one-to-many style socket the ==== //depot/projects/hammer/lib/libc/rpc/auth_time.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/auth_time.c,v 1.11 2005/03/10 00:57:01 stefanf Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/auth_time.c,v 1.12 2007/09/20 22:35:24 matteo Exp $"); #include "namespace.h" #include @@ -156,6 +156,7 @@ struct hostent *he; struct hostent dummy; char *ptr[2]; + endpoint *ep; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 27 22:34:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6553216A4A5; Thu, 27 Sep 2007 22:34:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0B23916A421 for ; Thu, 27 Sep 2007 22:34:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C5B1C13C474 for ; Thu, 27 Sep 2007 22:34:22 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RMYMZk083416 for ; Thu, 27 Sep 2007 22:34:22 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RMYM8h083413 for perforce@freebsd.org; Thu, 27 Sep 2007 22:34:22 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 22:34:22 GMT Message-Id: <200709272234.l8RMYM8h083413@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126896 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 22:34:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=126896 Change 126896 by jb@jb_freebsd1 on 2007/09/27 22:33:36 FreeBSD has a nice, neat, BSD licensed libelf now so Sun's CDDL encumbered one is not welcome here. Affected files ... .. //depot/projects/dtrace/src/cddl/lib/libelf/Makefile#5 delete Differences ... From owner-p4-projects@FreeBSD.ORG Thu Sep 27 23:13:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A56916A41B; Thu, 27 Sep 2007 23:13:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 176C416A417 for ; Thu, 27 Sep 2007 23:13:16 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F1AF113C457 for ; Thu, 27 Sep 2007 23:13:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RNDF4k087691 for ; Thu, 27 Sep 2007 23:13:15 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RNDEfM087688 for perforce@freebsd.org; Thu, 27 Sep 2007 23:13:14 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 23:13:14 GMT Message-Id: <200709272313.l8RNDEfM087688@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126898 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 23:13:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=126898 Change 126898 by jb@jb_freebsd1 on 2007/09/27 23:12:47 IFC Affected files ... .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#11 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/audit/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/basics/chapter.sgml#10 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/introduction/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/security/chapter.sgml#13 integrate .. //depot/projects/dtrace/ports/MOVED#40 integrate .. //depot/projects/dtrace/ports/Makefile#4 integrate .. //depot/projects/dtrace/src/etc/rc.d/nscd#2 integrate .. //depot/projects/dtrace/src/share/misc/committers-src.dot#2 integrate .. //depot/projects/dtrace/src/sys/arm/arm/locore.S#5 integrate .. //depot/projects/dtrace/src/sys/arm/conf/AVILA#3 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/files.ixp425#3 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/ixp425_npe.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/ixp425_npevar.h#3 integrate .. //depot/projects/dtrace/src/sys/contrib/dev/npe/IxNpeMicrocode.dat.uu#1 branch .. //depot/projects/dtrace/src/sys/contrib/dev/npe/LICENSE#1 branch .. //depot/projects/dtrace/src/sys/geom/geom_event.c#5 integrate .. //depot/projects/dtrace/src/sys/kern/sched_ule.c#14 integrate .. //depot/projects/dtrace/src/sys/vm/vm_object.c#14 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.c#20 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.h#9 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/Makefile#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agent.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agent.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agents/Makefile.inc#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agents/group.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agents/group.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agents/passwd.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agents/passwd.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agents/services.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/agents/services.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/cachelib.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/cachelib.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/cacheplcs.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/cacheplcs.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/config.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/config.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/debug.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/hashtable.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/log.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/log.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/mp_rs_query.#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/mp_rs_query.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/mp_rs_query.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/mp_ws_query.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/mp_ws_query.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/nscd.8#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/nscd.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/nscd.conf.5#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/nscdcli.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/nscdcli.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/parser.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/parser.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/protocol.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/protocol.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/query.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/query.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/singletons.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/nscd/singletons.h#2 integrate .. //depot/projects/dtrace/www/en/gnome/docs/develfaq.sgml#9 integrate .. //depot/projects/dtrace/www/share/sgml/commercial.isp.xml#6 integrate Differences ... ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#11 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original revision: 1.398 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml,v 1.13 2007/08/09 15:40:36 loader Exp $ + Original revision: 1.399 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml,v 1.14 2007/09/27 14:59:52 loader Exp $ --> @@ -2519,6 +2519,85 @@ ¿ÉÒÔʹÓÃÕû¸öµÄ /24 µØÖ·¿Õ¼ä£¬ ¶øÎÞÐè»®·Ö×ÓÍø¡£ + + + SNMP ¹ÜÀí + + ÍøÇÅ½Ó¿ÚºÍ STP ²ÎÊýÄܹ»ÓÉ &os; »ù±¾ÏµÍ³µÄ SNMP + ÊØ»¤½ø³Ì½øÐйÜÀí¡£µ¼³öµÄÍøÇÅ MIB ·ûºÍ IETF ±ê×¼£¬ + ËùÒÔÈκΠSNMP ¿Í»§¶Ë»ò¹ÜÀí°ü¶¼¿ÉÒÔ±»ÓÃÀ´½ÓÊÕÊý¾Ý¡£ + + ÔÚÍøÇÅ»úÆ÷ÉÏ´Ó/etc/snmp.config + ÎļþÖÐÈ¥µôÒÔÏÂÕâÐеÄ×¢ÊÍ + begemotSnmpdModulePath."bridge" = + "/usr/lib/snmp_bridge.so" + ²¢Æô¶¯ bsnmpd ÊØ»¤½ø³Ì¡£ + ÆäËûµÄÅäÖÃÑ¡ÏîÖîÈç community names ºÍ access lists + ¿ÉÄÜÒ²ÐíÒ²ÐèÒªÐ޸ġ£ ²ÎÔÄ &man.bsnmpd.1; ºÍ + &man.snmp.bridge.3; »ñÈ¡¸ü¶àÐÅÏ¢¡£ + + ÒÔϵÄÀý×ÓÖÐʹÓÃÁË + Net-SNMP Èí¼þ + (net-mgmt/net-snmp) + À´²éѯһ¸öÍøÇÅ£¬µ±È»Í¬ÑùÒ²Äܹ»Ê¹ÓÃport + net-mgmt/bsnmptools¡£ + ÔÚ SNMP ¿Í»§¶Ë Net-SNMP + µÄÅäÖÃÎļþ $HOME/.snmp/snmp.conf ÖÐ + ¼ÓÈëÒÔϼ¸ÐÐÀ´µ¼ÈëÍøÇÅµÄ MIB ¶¨Ò壺 + + mibdirs +/usr/share/snmp/mibs +mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB + + ͨ¹ý IETF BRIDGE-MIB(RFC4188) ¼à²âÒ»¸öµ¥¶ÀµÄÍøÇÅ + + &prompt.user; snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge +BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44 +BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports +BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds +BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2 +BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50 +... +BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5) +BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1) +BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000 +BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 +BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0 +BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 +BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80 +BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1 +RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2) + + dot1dStpTopChanges.0µÄֵΪ2 + Òâζ×Å STP ÍøÇÅÍØÆ˸ıäÁË2´Î£¬ÍØÆ˵ĸıä±íʾ1¸ö»ò¶à¸ö + ÍøÂçÖеÄÁ¬½Ó¸Ä±ä»òʧЧ²¢ÇÒÓÐÒ»¸öÐÂÊ÷Éú³É¡£ + dot1dStpTimeSinceTopologyChange.0 + µÄÖµÔòÄܹ»ÏÔʾÕâÊǺÎʱ¸Ä±äµÄ¡£ + + ¼à²â¶à¸öÍøÇŽӿڿÉÒÔʹÓà private + BEGEMOT-BRIDGE-MIB£º + + &prompt.user; snmpwalk -v 2c -c public bridge1.example.com +enterprises.fokus.begemot.begemotBridge +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1 +... +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9 + + ͨ¹ý mib-2.dot1dBridge + ×ÓÊ÷¸Ä±äÕýÔÚ±»¼à²âµÄÍøÇŽӿڣº + + &prompt.user; snmpset -v 2c -c private bridge1.example.com +BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2 + ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/audit/chapter.sgml#7 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.28 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/audit/chapter.sgml,v 1.6 2007/08/09 15:40:36 loader Exp $ + Original Revision: 1.30 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/audit/chapter.sgml,v 1.7 2007/09/27 14:59:52 loader Exp $ --> @@ -1539,15 +1539,6 @@ - nodev - - - ¾Ü¾ø°ÑÎļþϵͳʶ±ðΪÌرðµÄÉ豸¡£ÕâÊÇÒ»¸öÓÐÓõݲȫѡÏî¡£ - - - - - noexec ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml#7 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Simplified Chinese Project Original Revision: 1.227 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml,v 1.8 2007/08/09 15:40:37 loader Exp $ + $FreeBSD: doc/zh_CN.GB2312/books/handbook/cutting-edge/chapter.sgml,v 1.9 2007/09/27 14:59:53 loader Exp $ --> @@ -60,7 +60,7 @@ ¶ÁÁ˱¾Õºó£¬Äú½«Á˽⵽£º - &os.stable; ºÍ &os.current;Á½¸ö·¢Õ¹·ÖÖ§µÄ²»Í¬µã¡£ + &os.stable; ºÍ &os.current;Á½¸ö¿ª·¢·ÖÖ§µÄ²»Í¬µã¡£ ÔõÑùʹÓÃCVSup£¬ CVS»ò ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml#7 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.182 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml,v 1.8 2007/08/09 15:40:37 loader Exp $ + Original Revision: 1.183 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml,v 1.9 2007/09/27 14:59:53 loader Exp $ --> @@ -30,6 +30,12 @@ ÏÖÔÚ¶©ÔÄÕâЩÓʼþÁбíµÄÈËÿÌ춼»áÊÕµ½ÉÏ°Ù·â¹ØÓÚFreeBSDµÄÐżþ¡£ ÉèÁ¢ÁбíµÄʹÓÃÌõÎÄÓÐÖúÓÚά»¤ÌÖÂÛÖÊÁ¿¡£·ñÔòÕâЩÌÖÂۼƻ®µÄÁÐ±í½«Ê§È¥ÆäÒâÒå¡£ + + Èç¹ûÄãÏëÒª³¢ÊÔ·¢ËÍÒ»·âÓʼþµ½ + &os; ÓʼþÁÐ±í£¬Äã¿ÉÒÔ°ÑÓʼþ·¢Íù &a.test.name;¡£ + Çë²»ÒªÍùÆäËûµÄÁÐ±í·¢ËͲâÊÔÓʼþ¡£ + + Èç¹û²»ÖªµÀÄĸöÓʼþÁбíÊʺÏÓÚ·¢ËÍÄúµÄÎÊÌ⣬ Çë²Î¼û ÈçºÎ´Ó FreeBSD-questions ÓʼþÁбíÖиü¿ìµØµÃµ½´ð°¸¡£ ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#7 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.30 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml,v 1.8 2007/08/09 15:40:37 loader Exp $ + Original Revision: 1.32 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml,v 1.9 2007/09/27 14:59:53 loader Exp $ --> @@ -67,6 +67,8 @@ Àí½â &os; ÈçºÎ´¦Àí´ÅÅÌÉ豸 ()¡£ + + Á˽âÈçºÎÅäÖúͰ²×°Ð嵀 &os; ÄÚºË ()¡£ ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/introduction/chapter.sgml#8 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.119 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/introduction/chapter.sgml,v 1.12 2007/08/09 15:40:38 loader Exp $ + Original Revision: 1.120 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/introduction/chapter.sgml,v 1.13 2007/09/27 14:59:53 loader Exp $ --> @@ -60,7 +60,7 @@ ÄúÒ²¿ÉÒÔÔĶÁ FreeBSD µÄÀúÊ·£¬ »òÕß×îеķ¢Ðа汾¡£ Èç¹ûÄúÓÐÒâ¾èÖú(´úÂ룬 - Ó²¼þ£¬²»¼ÇÃû¾è¿î)£¬Ç뿴Ϊ FreeBSD Ìṩ°ïÖúÕâƪÎÄÕ¡£ @@ -89,7 +89,7 @@ ·ûºÏÒµ½ç±ê×¼µÄÇ¿´ó TCP/IP ÍøÂç Ö§³Ö£¬ ÀýÈç SCTP¡¢ DHCP¡¢ NFS¡¢ - NIS¡¢ PPP£¬ ÒÔ¼° SLIP¡£ + NIS¡¢ PPP£¬ SLIP£¬ IPsec ÒÔ¼° IPv6¡£ ÕâÒâζ×ÅÄúµÄ FreeBSD Ö÷»ú¿ÉÒÔºÜÈÝÒ׵غÍÆäËûϵͳ»¥Áª£¬ Ò²¿ÉÒÔ×÷ΪÆóÒµµÄ·þÎñÆ÷£¬ÌṩÖØÒªµÄ¹¦ÄÜ£¬ ±ÈÈç NFS(Ô¶³ÌÎļþ·ÃÎÊ)ÒÔ¼° email ·þÎñ£¬ »ò½«ÄúµÄ×éÖ¯½ÓÈë @@ -115,7 +115,7 @@ Òµ½ç±ê×¼µÄ X Window ϵͳ - (X11R6)Ϊ±ãÒ˵ij£¼û VGA ÏÔʾ¿¨ºÍ¼àÊÓÆ÷ÌṩÁËÒ»¸öͼÐλ¯µÄÓû§½çÃæ(GUI)£¬ + (X11R7)Ϊ±ãÒ˵ij£¼û VGA ÏÔʾ¿¨ºÍ¼àÊÓÆ÷ÌṩÁËÒ»¸öͼÐλ¯µÄÓû§½çÃæ(GUI)£¬ ²¢ÇÒÍêÈ«¿ª·Å´úÂë¡£ @@ -251,6 +251,10 @@ [SSL]) + + IPv4 and IPv6 ·ÓÉ + + ·À»ðǽ NAT ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml#9 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original Revision: 1.174 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml,v 1.13 2007/08/09 15:40:38 loader Exp $ + Original Revision: 1.176 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml,v 1.14 2007/09/27 14:59:53 loader Exp $ --> @@ -270,7 +270,15 @@ MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs - Õâ¸ö±äÁ¿µÄÄÚÈÝÊÇËùÏ£Íû¹¹½¨µÄÄ£¿éÁÐ±í¡£ + Õâ¸ö±äÁ¿µÄÄÚÈÝÊÇËùÏ£Íû¹¹½¨µÄÄ£¿éÁÐ±í¡£ + + WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs + + This variable sets up a list of modules to exclude + from the build process. For other variables which you may find useful + in the process of building kernel, refer to &man.make.conf.5; + manual page. + Õâ¸ö±äÁ¿µÄÄÚÈÝÊÇÔÚÁª±à¹ý³ÌÖн«²»±»±àÒëµÄÄ£¿éÁÐ±í¡£ Èç¹ûÏ£ÍûÁ˽â¸ü¶àÓë¹¹½¨ÄÚºËÓйصıäÁ¿£¬ Çë²Î¼û &man.make.conf.5; Áª»úÊֲᡣ @@ -894,6 +902,7 @@ device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit ethernet +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device nge # NatSemi DP83820 gigabit ethernet device nve # nVidia nForce MCP on-board Ethernet Networking device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml#7 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Documentation Project - Original Revision: 1.127 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml,v 1.11 2007/08/09 15:40:39 loader Exp $ + Original Revision: 1.128 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml,v 1.12 2007/09/27 14:59:53 loader Exp $ --> ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml#9 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.99 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml,v 1.15 2007/08/09 15:40:39 loader Exp $ + Original Revision: 1.101 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml,v 1.16 2007/09/27 14:59:53 loader Exp $ --> @@ -136,13 +136,21 @@ inetd ÊÇͨ¹ý &man.rc.8; ϵͳÆô¶¯µÄ¡£ inetd_enable Ñ¡ÏîĬÈÏÉèΪ NO£¬ µ«¿ÉÒÔÔÚ°²×°ÏµÍ³Ê±£¬ - ÓÉÓû§¸ù¾ÝÐèҪͨ¹ý sysinstall À´´ò¿ª¡£ ½« - inetd_enable="YES" »ò - inetd_enable="NO" дÈë + ÓÉÓû§¸ù¾ÝÐèҪͨ¹ý sysinstall À´´ò¿ª¡£ + ½«£º + + inetd_enable="YES" + + »ò + + inetd_enable="NO" + + дÈë /etc/rc.conf ¿ÉÒÔÆôÓûò½ûÓÃϵͳÆô¶¯Ê± - inetd µÄ×Ô¶¯Æô¶¯¡£ ÃüÁ - /etc/rc.d/inetd rcvar - ¿ÉÒÔÏÔʾĿǰµÄÉèÖᣠ+ inetd µÄ×Ô¶¯Æô¶¯¡£ ÃüÁ + + &prompt.root; /etc/rc.d/inetd rcvar + ¿ÉÒÔÏÔʾĿǰµÄÉèÖᣠ´ËÍ⣬ Äú»¹¿ÉÒÔͨ¹ý inetd_flags ²ÎÊýÀ´Ïò inetd ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#9 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Documentation Project - Original Revision: 1.267 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml,v 1.12 2007/08/09 15:40:39 loader Exp $ + Original Revision: 1.268 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml,v 1.13 2007/09/27 14:59:54 loader Exp $ --> @@ -1051,7 +1051,7 @@ portupgrade ½«Ê¹Óà ports¡£ Òª½ûֹʹÓà port£¬ ¿ÉÒÔÖ¸¶¨ ¡£ - &prompt.root; portupgrade -PR gnome2 + &prompt.root; portupgrade -PP gnome2 Èç¹ûÖ»ÏëÏÂÔØ distfiles (»òÕߣ¬ Èç¹ûÖ¸¶¨ÁË µÄ»°£¬ ÊÇ packages) ¶ø²»Ïë¹¹½¨»ò°²×°Èκζ«Î÷£¬ ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/security/chapter.sgml#13 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.313 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/security/chapter.sgml,v 1.17 2007/08/09 15:40:39 loader Exp $ + Original Revision: 1.314 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/security/chapter.sgml,v 1.18 2007/09/27 14:59:54 loader Exp $ --> @@ -590,9 +590,8 @@ MD5 À´½øÐмì²é¡£ Èç¹ûÄúµÄÓû§´ÅÅÌ¿Õ¼äºÜ´ó£¬ ¼ì²éÕâÖÖ·ÖÇøÉÏÃæµÄÎļþ¿ÉÄܷdz£ºÄʱ¡£ - ÕâÖÖÇé¿öÏ£¬ ²ÉÓñêÖ¾À´½ûֹʹÓà suid ¿ÉÖ´ÐÐÎļþºÍÉ豸ÔÚÕâЩÎļþϵͳÉϳöÏÖ½«ÊÇÒ»¸öºÃÖ÷Òâ¡£ - Äú¿ÉÄÜ»áÏë¿´¿´ nodev ºÍ - nosuid ÕâÁ½¸öÑ¡Ïî (²Î¼û &man.mount.8;)¡£ + ÕâÖÖÇé¿öÏ£¬ ²ÉÓñêÖ¾À´½ûֹʹÓà suid ¿ÉÖ´ÐÐÎļþ½«ÊÇÒ»¸öºÃÖ÷Òâ¡£ + Äú¿ÉÄÜ»áÏë¿´¿´ nosuid Ñ¡Ïî £¨²Î¼û &man.mount.8;£©¡£ ¾¡¹ÜÈç´Ë£¬ ÕâЩɨÃèÈÔȻӦ¸ÃÖÁÉÙÿÖܽøÐÐÒ»´Î£¬ ÕâÑù×öµÄÒâÒå²¢²»ÊǼì²âÓÐЧµÄ¹¥»÷£¬ ¶øÊǼì²é¹¥»÷Æóͼ¡£ ==== //depot/projects/dtrace/ports/MOVED#40 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1485 2007/09/26 11:17:06 rafan Exp $ +# $FreeBSD: ports/MOVED,v 1.1486 2007/09/27 20:23:44 tabthorpe Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3244,3 +3244,5 @@ graphics/blender-devel|graphics/blender|2007-09-21|Not needed since binary version is gone print/ghostscript-afpl|print/ghostscript-gpl|2007-09-24|Replaced by print/ghostscript-gpl print/ghostscript-afpl-nox11|print/ghostscript-gpl-nox11|2007-09-24|Replaced by print/ghostscript-gpl-nox11 +misc/mango||2007-09-27|Has expired: Depends on broken package qextmdi +lang/f2py||2007-09-27|Has expired: Replaced by py-numpy ==== //depot/projects/dtrace/ports/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: ports/Makefile,v 1.102 2007/05/24 23:58:29 linimon Exp $ +# $FreeBSD: ports/Makefile,v 1.103 2007/09/27 05:36:26 linimon Exp $ # SUBDIR += accessibility @@ -163,9 +163,6 @@ @echo ">>> Updating ${.CURDIR} from cvs repository" ${CVSROOT} @echo "--------------------------------------------------------------" cd ${.CURDIR}; ${CVS} -R -q update -A -P -d -I! -.elif defined(SUP_UPDATE) && !defined(PORTSSUPFILE) - @${ECHO_MSG} "Error: Please define PORTSSUPFILE before doing make update." - @exit 1 .else @echo "--------------------------------------------------------------" @echo ">>> Running ${PORTSNAP}" ==== //depot/projects/dtrace/src/etc/rc.d/nscd#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/nscd,v 1.4 2007/08/09 13:06:11 bushman Exp $ +# $FreeBSD: src/etc/rc.d/nscd,v 1.5 2007/09/27 12:30:12 bushman Exp $ # # PROVIDE: nscd ==== //depot/projects/dtrace/src/share/misc/committers-src.dot#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/misc/committers-src.dot,v 1.63 2007/06/25 14:28:11 scf Exp $ +# $FreeBSD: src/share/misc/committers-src.dot,v 1.65 2007/09/27 20:11:32 rpaulo Exp $ # This file is meant to list all FreeBSD src committers and describe the # mentor-mentee relationships between them. @@ -135,6 +135,7 @@ remko [label="Remko Lodder\nremko@FreeBSD.org\n2007/02/23"] rik [label="Roman Kurakin\nrik@FreeBSD.org\n2003/12/18"] rink [label="Rink Springer\nrink@FreeBSD.org\n2006/01/16"] +rpaulo [label="Rui Paulo\nrpaulo@FreeBSD.org\n2007/09/25"] rrs [label="Randall R Stewart\nrrs@FreeBSD.org\n2007/02/08"] rse [label="Ralf S. Engelschall\nrse@FreeBSD.org\n1997/07/31"] ru [label="Ruslan Ermilov\nru@FreeBSD.org\n1999/05/27"] @@ -301,6 +302,7 @@ njl -> marks njl -> philip +njl -> rpaulo njl -> sepotvin obrien -> benno ==== //depot/projects/dtrace/src/sys/arm/arm/locore.S#5 (text+ko) ==== @@ -37,7 +37,7 @@ #include #include #include -__FBSDID("$FreeBSD: src/sys/arm/arm/locore.S,v 1.16 2007/02/26 02:03:48 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/locore.S,v 1.17 2007/09/27 20:52:17 cognet Exp $"); /* What size should this really be ? It is only used by initarm() */ #define INIT_ARM_STACK_SIZE 2048 @@ -134,7 +134,7 @@ adds r1, r1, #-1 bhi 2b 3: - ldmia r4!, {r1,r2,r3} /* # of sections, PA|attr, VA */ + ldmia r4!, {r1,r2,r3} /* # of sections, VA, PA|attr */ cmp r1, #0 adrne r5, 2b bicne r5, r5, #0xff000000 ==== //depot/projects/dtrace/src/sys/arm/conf/AVILA#3 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/AVILA,v 1.4 2007/05/24 16:27:48 sam Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA,v 1.6 2007/09/27 22:39:49 cognet Exp $ machine arm ident AVILA @@ -104,8 +104,8 @@ device avila_ata # Gateworks CF/IDE support device npe # Network Processing Engine -device npe_fw # NPE firmware -device firmware # firmware support for npe_fw +device npe_fw +device firmware device qmgr # Q Manager (required by npe) device miibus # NB: required by npe device ether ==== //depot/projects/dtrace/src/sys/arm/xscale/ixp425/files.ixp425#3 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/sys/arm/xscale/ixp425/files.ixp425,v 1.2 2006/12/07 00:49:33 sam Exp $ +#$FreeBSD: src/sys/arm/xscale/ixp425/files.ixp425,v 1.4 2007/09/27 22:39:49 cognet Exp $ arm/arm/cpufunc_asm_xscale.S standard arm/arm/irq_dispatch.S standard arm/xscale/ixp425/ixp425.c standard @@ -16,12 +16,7 @@ arm/xscale/ixp425/ixp425_a4x_io.S optional uart dev/uart/uart_dev_ns8250.c optional uart # -# NPE-based Ethernet support (requires qmgr also). Note the -# firmware images must be downloaded from the Intel web site. -# The URL seems to change frequently; try this as a starting -# place: -# -# http://www.intel.com/design/network/products/npfamily/download_ixp400.htm +# NPE-based Ethernet support (requires qmgr also). # arm/xscale/ixp425/if_npe.c optional npe arm/xscale/ixp425/ixp425_npe.c optional npe @@ -41,7 +36,7 @@ clean "IxNpeMicrocode.fwo" IxNpeMicrocode.dat optional npe_fw \ dependency ".PHONY" \ - compile-with "if [ -e $S/arm/xscale/ixp425/IxNpeMicrocode.dat ]; then ln -sf $S/arm/xscale/ixp425/IxNpeMicrocode.dat .; else echo 'WARNING, no IxNpeMicrocode.dat file; you must obtain this from the Intel web site'; false; fi" \ + compile-with "uudecode < $S/contrib/dev/npe/IxNpeMicrocode.dat.uu" \ no-obj no-implicit-rule \ clean "IxNpeMicrocode.dat" # ==== //depot/projects/dtrace/src/sys/arm/xscale/ixp425/ixp425_npe.c#3 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.6 2007/05/24 16:31:22 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.8 2007/09/27 22:39:49 cognet Exp $"); /* * Intel XScale Network Processing Engine (NPE) support. ==== //depot/projects/dtrace/src/sys/arm/xscale/ixp425/ixp425_npevar.h#3 (text+ko) ==== @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npevar.h,v 1.2 2007/05/24 16:31:22 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npevar.h,v 1.4 2007/09/27 22:39:49 cognet Exp $ */ #ifndef _IXP425_NPEVAR_H_ ==== //depot/projects/dtrace/src/sys/geom/geom_event.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_event.c,v 1.55 2006/09/10 09:11:54 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_event.c,v 1.56 2007/09/27 20:18:34 pjd Exp $"); #include #include @@ -145,6 +145,8 @@ G_VALID_PROVIDER(pp); g_trace(G_T_TOPOLOGY, "g_orphan_register(%s)", pp->name); + g_cancel_event(pp); + wf = pp->flags & G_PF_WITHER; pp->flags &= ~G_PF_WITHER; ==== //depot/projects/dtrace/src/sys/kern/sched_ule.c#14 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.209 2007/09/24 00:28:54 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.210 2007/09/27 16:39:27 jeff Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" @@ -71,8 +71,8 @@ #include #include -#ifndef PREEMPTION -#error "SCHED_ULE requires options PREEMPTION" +#if !defined(__i386__) && !defined(__amd64__) +#error "This architecture is not currently compatible with ULE" #endif #define KTR_ULE 0 @@ -174,7 +174,15 @@ static int realstathz; static int tickincr; static int sched_slice; +#ifdef PREEMPTION +#ifdef FULL_PREEMPTION +static int preempt_thresh = PRI_MAX_IDLE; +#else static int preempt_thresh = PRI_MIN_KERN; +#endif +#else +static int preempt_thresh = 0; +#endif /* * tdq - per processor runqs and statistics. All fields are protected by the ==== //depot/projects/dtrace/src/sys/vm/vm_object.c#14 (text+ko) ==== @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_object.c,v 1.384 2007/09/25 21:01:10 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_object.c,v 1.385 2007/09/27 04:21:59 alc Exp $"); #include #include @@ -653,7 +653,7 @@ vm_page_unlock_queues(); if (__predict_false(object->cache != NULL)) - vm_page_cache_free(object); + vm_page_cache_free(object, 0, 0); /* * Let the pager know object is dead. @@ -1680,7 +1680,7 @@ * Free any cached pages from backing_object. */ if (__predict_false(backing_object->cache != NULL)) - vm_page_cache_free(backing_object); + vm_page_cache_free(backing_object, 0, 0); } /* * Object now shadows whatever backing_object did. @@ -1849,6 +1849,8 @@ } vm_page_unlock_queues(); vm_object_pip_wakeup(object); + if (__predict_false(object->cache != NULL)) + vm_page_cache_free(object, start, end); } /* ==== //depot/projects/dtrace/src/sys/vm/vm_page.c#20 (text+ko) ==== @@ -97,7 +97,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_page.c,v 1.354 2007/09/25 06:25:06 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_page.c,v 1.355 2007/09/27 04:21:59 alc Exp $"); #include #include @@ -794,28 +794,55 @@ } /* - * Convert all of the cached pages belonging to the given object - * into free pages. If the given object has cached pages and is - * backed by a vnode, reduce the vnode's hold count. + * Convert all of the given object's cached pages that have a + * pindex within the given range into free pages. If the value + * zero is given for "end", then the range's upper bound is + * infinity. If the given object is backed by a vnode and it + * transitions from having one or more cached pages to none, the + * vnode's hold count is reduced. */ void -vm_page_cache_free(vm_object_t object) +vm_page_cache_free(vm_object_t object, vm_pindex_t start, vm_pindex_t end) { - vm_page_t m, root; + vm_page_t m, m_next; boolean_t empty; mtx_lock(&vm_page_queue_free_mtx); - empty = object->cache == NULL; - while ((m = object->cache) != NULL) { - if (m->left == NULL) - root = m->right; - else if (m->right == NULL) - root = m->left; + if (__predict_false(object->cache == NULL)) { + mtx_unlock(&vm_page_queue_free_mtx); + return; + } + m = object->cache = vm_page_splay(start, object->cache); + if (m->pindex < start) { + if (m->right == NULL) + m = NULL; else { - root = vm_page_splay(m->pindex, m->left); - root->right = m->right; + m_next = vm_page_splay(start, m->right); + m_next->left = m; + m->right = NULL; + m = object->cache = m_next; + } + } + + /* + * At this point, "m" is either (1) a reference to the page + * with the least pindex that is greater than or equal to + * "start" or (2) NULL. + */ + for (; m != NULL && (m->pindex < end || end == 0); m = m_next) { + /* + * Find "m"'s successor and remove "m" from the + * object's cache. + */ + if (m->right == NULL) { + object->cache = m->left; + m_next = NULL; + } else { + m_next = vm_page_splay(start, m->right); + m_next->left = m->left; + object->cache = m_next; } - m->object->cache = root; + /* Convert "m" to a free page. */ m->object = NULL; m->valid = 0; /* Clear PG_CACHED and set PG_FREE. */ @@ -825,8 +852,9 @@ cnt.v_cache_count--; cnt.v_free_count++; } + empty = object->cache == NULL; mtx_unlock(&vm_page_queue_free_mtx); - if (object->type == OBJT_VNODE && !empty) + if (object->type == OBJT_VNODE && empty) vdrop(object->handle); } ==== //depot/projects/dtrace/src/sys/vm/vm_page.h#9 (text+ko) ==== @@ -57,7 +57,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $FreeBSD: src/sys/vm/vm_page.h,v 1.151 2007/09/25 06:25:06 alc Exp $ + * $FreeBSD: src/sys/vm/vm_page.h,v 1.152 2007/09/27 04:21:59 alc Exp $ */ /* @@ -320,7 +320,7 @@ vm_page_t vm_page_alloc (vm_object_t, vm_pindex_t, int); vm_page_t vm_page_grab (vm_object_t, vm_pindex_t, int); void vm_page_cache (register vm_page_t); -void vm_page_cache_free(vm_object_t); +void vm_page_cache_free(vm_object_t, vm_pindex_t, vm_pindex_t); void vm_page_cache_remove(vm_page_t); void vm_page_cache_transfer(vm_object_t, vm_pindex_t, vm_object_t); int vm_page_try_to_cache (vm_page_t); ==== //depot/projects/dtrace/src/usr.sbin/nscd/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/usr.sbin/nscd/Makefile,v 1.3 2007/08/09 13:06:11 bushman Exp $ +# $FreeBSD: src/usr.sbin/nscd/Makefile,v 1.4 2007/09/27 12:30:11 bushman Exp $ PROG= nscd MAN= nscd.conf.5 nscd.8 ==== //depot/projects/dtrace/src/usr.sbin/nscd/agent.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/nscd/agent.c,v 1.1 2006/04/28 12:03:37 ume Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/nscd/agent.c,v 1.2 2007/09/27 12:30:11 bushman Exp $"); #include #include ==== //depot/projects/dtrace/src/usr.sbin/nscd/agent.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/nscd/agent.h,v 1.2 2007/08/09 13:06:11 bushman Exp $ + * $FreeBSD: src/usr.sbin/nscd/agent.h,v 1.3 2007/09/27 12:30:11 bushman Exp $ */ #ifndef __NSCD_AGENT_H__ ==== //depot/projects/dtrace/src/usr.sbin/nscd/agents/Makefile.inc#2 (text+ko) ==== @@ -1,3 +1,3 @@ -# $FreeBSD: src/usr.sbin/nscd/agents/Makefile.inc,v 1.1 2006/04/28 12:03:38 ume Exp $ +# $FreeBSD: src/usr.sbin/nscd/agents/Makefile.inc,v 1.2 2007/09/27 12:30:10 bushman Exp $ SRCS += passwd.c group.c services.c ==== //depot/projects/dtrace/src/usr.sbin/nscd/agents/group.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/nscd/agents/group.c,v 1.1 2006/04/28 12:03:38 ume Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/nscd/agents/group.c,v 1.2 2007/09/27 12:30:10 bushman Exp $"); #include #include ==== //depot/projects/dtrace/src/usr.sbin/nscd/agents/group.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/nscd/agents/group.h,v 1.1 2006/04/28 12:03:38 ume Exp $ + * $FreeBSD: src/usr.sbin/nscd/agents/group.h,v 1.2 2007/09/27 12:30:10 bushman Exp $ */ #include "../agent.h" ==== //depot/projects/dtrace/src/usr.sbin/nscd/agents/passwd.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/nscd/agents/passwd.c,v 1.1 2006/04/28 12:03:38 ume Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/nscd/agents/passwd.c,v 1.2 2007/09/27 12:30:10 bushman Exp $"); #include #include ==== //depot/projects/dtrace/src/usr.sbin/nscd/agents/passwd.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/nscd/agents/passwd.h,v 1.1 2006/04/28 12:03:38 ume Exp $ + * $FreeBSD: src/usr.sbin/nscd/agents/passwd.h,v 1.2 2007/09/27 12:30:10 bushman Exp $ */ #include "../agent.h" ==== //depot/projects/dtrace/src/usr.sbin/nscd/agents/services.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/nscd/agents/services.c,v 1.2 2006/05/05 15:01:25 ume Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/nscd/agents/services.c,v 1.3 2007/09/27 12:30:10 bushman Exp $"); #include #include ==== //depot/projects/dtrace/src/usr.sbin/nscd/agents/services.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/nscd/agents/services.h,v 1.1 2006/04/28 12:03:38 ume Exp $ + * $FreeBSD: src/usr.sbin/nscd/agents/services.h,v 1.2 2007/09/27 12:30:10 bushman Exp $ */ #include "../agent.h" ==== //depot/projects/dtrace/src/usr.sbin/nscd/cachelib.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 27 23:15:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E58E716A41A; Thu, 27 Sep 2007 23:15:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A46EA16A418 for ; Thu, 27 Sep 2007 23:15:19 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8B3EA13C459 for ; Thu, 27 Sep 2007 23:15:19 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RNFJ02087847 for ; Thu, 27 Sep 2007 23:15:19 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RNFIAc087844 for perforce@freebsd.org; Thu, 27 Sep 2007 23:15:18 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Sep 2007 23:15:18 GMT Message-Id: <200709272315.l8RNFIAc087844@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 126899 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 23:15:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=126899 Change 126899 by jb@jb_freebsd1 on 2007/09/27 23:14:52 IF6 Affected files ... .. //depot/projects/dtrace6/src/lib/libarchive/archive_read.3#2 integrate .. //depot/projects/dtrace6/src/lib/libarchive/archive_write_disk.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/kern_condvar.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/kern_mutex.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/kern_sx.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/kern_synch.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/dtrace6/src/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/dtrace6/src/sys/sys/proc.h#2 integrate .. //depot/projects/dtrace6/src/sys/sys/sleepqueue.h#2 integrate .. //depot/projects/dtrace6/src/sys/sys/turnstile.h#2 integrate .. //depot/projects/dtrace6/src/usr.bin/systat/pigs.c#2 integrate .. //depot/projects/dtrace6/src/usr.bin/tar/bsdtar.c#2 integrate Differences ... ==== //depot/projects/dtrace6/src/lib/libarchive/archive_read.3#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.20.2.5 2007/07/05 01:56:39 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.20.2.6 2007/09/27 03:47:26 kientzle Exp $ .\" .Dd August 19, 2006 .Dt archive_read 3 @@ -267,7 +267,7 @@ The .Va flags argument is passed unmodified to -.Xr archiv_write_disk_set_options 3 . +.Xr archive_write_disk_set_options 3 . .It Fn archive_read_extract_set_progress_callback Sets a pointer to a user-defined callback that can be used for updating progress displays during extraction. ==== //depot/projects/dtrace6/src/lib/libarchive/archive_write_disk.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.12.2.3 2007/08/25 04:42:01 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk.c,v 1.12.2.4 2007/09/27 03:45:24 kientzle Exp $"); #ifdef HAVE_SYS_TYPES_H #include @@ -448,8 +448,10 @@ __archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC, ARCHIVE_STATE_DATA, "archive_write_disk_block"); - if (a->fd < 0) - return (ARCHIVE_OK); + if (a->fd < 0) { + archive_set_error(&a->archive, 0, "File not open"); + return (ARCHIVE_WARN); + } archive_clear_error(&a->archive); /* Seek if necessary to the specified offset. */ @@ -478,12 +480,17 @@ _archive_write_data(struct archive *_a, const void *buff, size_t size) { struct archive_write_disk *a = (struct archive_write_disk *)_a; + int r; + __archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC, ARCHIVE_STATE_DATA, "archive_write_data"); if (a->fd < 0) return (ARCHIVE_OK); - return (_archive_write_data_block(_a, buff, size, a->offset)); + r = _archive_write_data_block(_a, buff, size, a->offset); + if (r < ARCHIVE_OK) + return (r); + return (size); } static int ==== //depot/projects/dtrace6/src/sys/kern/kern_condvar.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.52.2.1 2006/02/27 00:19:40 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_condvar.c,v 1.52.2.2 2007/09/27 20:24:55 jhb Exp $"); #include "opt_ktrace.h" @@ -124,7 +124,7 @@ DROP_GIANT(); mtx_unlock(mp); - sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR); + sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_wait(cvp); #ifdef KTRACE @@ -178,7 +178,7 @@ mtx_unlock(mp); sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR | - SLEEPQ_INTERRUPTIBLE); + SLEEPQ_INTERRUPTIBLE, 0); rval = sleepq_wait_sig(cvp); #ifdef KTRACE @@ -231,7 +231,7 @@ DROP_GIANT(); mtx_unlock(mp); - sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR); + sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR, 0); sleepq_set_timeout(cvp, timo); rval = sleepq_timedwait(cvp); @@ -289,7 +289,7 @@ mtx_unlock(mp); sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR | - SLEEPQ_INTERRUPTIBLE); + SLEEPQ_INTERRUPTIBLE, 0); sleepq_set_timeout(cvp, timo); rval = sleepq_timedwait_sig(cvp); @@ -318,7 +318,7 @@ sleepq_lock(cvp); if (cvp->cv_waiters > 0) { cvp->cv_waiters--; - sleepq_signal(cvp, SLEEPQ_CONDVAR, -1); + sleepq_signal(cvp, SLEEPQ_CONDVAR, -1, 0); } else sleepq_release(cvp); } @@ -334,7 +334,7 @@ sleepq_lock(cvp); if (cvp->cv_waiters > 0) { cvp->cv_waiters = 0; - sleepq_broadcast(cvp, SLEEPQ_CONDVAR, pri); + sleepq_broadcast(cvp, SLEEPQ_CONDVAR, pri, 0); } else sleepq_release(cvp); } ==== //depot/projects/dtrace6/src/sys/kern/kern_mutex.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.154.2.9 2006/08/11 18:54:10 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.154.2.10 2007/09/27 20:24:55 jhb Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" @@ -576,7 +576,8 @@ /* * Block on the turnstile. */ - turnstile_wait(&m->mtx_object, mtx_owner(m)); + turnstile_wait(&m->mtx_object, mtx_owner(m), + TS_EXCLUSIVE_QUEUE); } #ifdef KTR @@ -684,13 +685,13 @@ #endif #ifndef PREEMPTION /* XXX */ - td1 = turnstile_head(ts); + td1 = turnstile_head(ts, TS_EXCLUSIVE_QUEUE); #endif #ifdef MUTEX_WAKE_ALL - turnstile_broadcast(ts); + turnstile_broadcast(ts, TS_EXCLUSIVE_QUEUE); _release_lock_quick(m); #else - if (turnstile_signal(ts)) { + if (turnstile_signal(ts, TS_EXCLUSIVE_QUEUE)) { _release_lock_quick(m); if (LOCK_LOG_TEST(&m->mtx_object, opts)) CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p not held", m); @@ -701,7 +702,7 @@ m); } #endif - turnstile_unpend(ts); + turnstile_unpend(ts, TS_EXCLUSIVE_LOCK); #ifndef PREEMPTION /* ==== //depot/projects/dtrace6/src/sys/kern/kern_rwlock.c#2 (text+ko) ==== @@ -32,9 +32,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_rwlock.c,v 1.28.2.2 2007/09/05 22:18:39 alfred Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_rwlock.c,v 1.28.2.4 2007/09/27 20:24:55 jhb Exp $"); #include "opt_ddb.h" +#include "opt_no_adaptive_rwlocks.h" #include #include @@ -44,7 +45,7 @@ #include #include #include -#include + #include CTASSERT((RW_RECURSE & LO_CLASSFLAGS) == RW_RECURSE); @@ -100,7 +101,6 @@ void rw_init_flags(struct rwlock *rw, const char *name, int opts) { - struct lock_object *lock; int flags; MPASS((opts & ~(RW_DUPOK | RW_NOPROFILE | RW_NOWITNESS | RW_QUIET | @@ -117,23 +117,17 @@ rw->rw_lock = RW_UNLOCKED; rw->rw_recurse = 0; - lock = &rw->lock_object; - lock->lo_class = &lock_class_rw; - lock->lo_flags = flags; - lock->lo_name = lock->lo_type = name; - LOCK_LOG_INIT(lock, opts); - WITNESS_INIT(lock); + lock_init(&rw->lock_object, &lock_class_rw, name, NULL, flags); } void rw_destroy(struct rwlock *rw) { - LOCK_LOG_DESTROY(&rw->lock_object, 0); KASSERT(rw->rw_lock == RW_UNLOCKED, ("rw lock not unlocked")); KASSERT(rw->rw_recurse == 0, ("rw lock still recursed")); rw->rw_lock = RW_DESTROYED; - WITNESS_DESTROY(&rw->lock_object); + lock_destroy(&rw->lock_object); } void @@ -291,12 +285,12 @@ } #ifdef ADAPTIVE_RWLOCKS - owner = (struct thread *)RW_OWNER(x); /* * If the owner is running on another CPU, spin until * the owner stops running or the state of the lock * changes. */ + owner = (struct thread *)RW_OWNER(x); if (TD_IS_RUNNING(owner)) { turnstile_release(&rw->lock_object); if (LOCK_LOG_TEST(&rw->lock_object, 0)) @@ -316,7 +310,7 @@ if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on turnstile", __func__, rw); - turnstile_wait_queue(&rw->lock_object, rw_owner(rw), + turnstile_wait(&rw->lock_object, rw_owner(rw), TS_SHARED_QUEUE); if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p resuming from turnstile", @@ -446,8 +440,8 @@ */ ts = turnstile_lookup(&rw->lock_object); MPASS(ts != NULL); - turnstile_broadcast_queue(ts, TS_EXCLUSIVE_QUEUE); - turnstile_unpend_queue(ts, TS_SHARED_LOCK); + turnstile_broadcast(ts, TS_EXCLUSIVE_QUEUE); + turnstile_unpend(ts, TS_SHARED_LOCK); break; } lock_profile_release_lock(&rw->lock_object); @@ -461,7 +455,6 @@ void _rw_wlock_hard(struct rwlock *rw, uintptr_t tid, const char *file, int line) { - //struct turnstile *ts; #ifdef ADAPTIVE_RWLOCKS volatile struct thread *owner; #endif @@ -563,7 +556,7 @@ if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on turnstile", __func__, rw); - turnstile_wait_queue(&rw->lock_object, rw_owner(rw), + turnstile_wait(&rw->lock_object, rw_owner(rw), TS_EXCLUSIVE_QUEUE); if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p resuming from turnstile", @@ -644,7 +637,7 @@ queue = TS_SHARED_QUEUE; #ifdef ADAPTIVE_RWLOCKS if (rw->rw_lock & RW_LOCK_WRITE_WAITERS && - !turnstile_empty_queue(ts, TS_EXCLUSIVE_QUEUE)) + !turnstile_empty(ts, TS_EXCLUSIVE_QUEUE)) v |= RW_LOCK_WRITE_WAITERS; #else v |= (rw->rw_lock & RW_LOCK_WRITE_WAITERS); @@ -658,7 +651,7 @@ * wakeup. If they are all spinning, then we just need to * disown the turnstile and return. */ - if (turnstile_empty_queue(ts, queue)) { + if (turnstile_empty(ts, queue)) { if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p no sleepers 2", __func__, rw); atomic_store_rel_ptr(&rw->rw_lock, v); @@ -672,9 +665,9 @@ if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR3(KTR_LOCK, "%s: %p waking up %s waiters", __func__, rw, queue == TS_SHARED_QUEUE ? "read" : "write"); - turnstile_broadcast_queue(ts, queue); + turnstile_broadcast(ts, queue); atomic_store_rel_ptr(&rw->rw_lock, v); - turnstile_unpend_queue(ts, TS_EXCLUSIVE_LOCK); + turnstile_unpend(ts, TS_EXCLUSIVE_LOCK); } /* @@ -793,20 +786,20 @@ if (ts == NULL) v &= ~(RW_LOCK_READ_WAITERS | RW_LOCK_WRITE_WAITERS); else if (v & RW_LOCK_READ_WAITERS && - turnstile_empty_queue(ts, TS_SHARED_QUEUE)) + turnstile_empty(ts, TS_SHARED_QUEUE)) v &= ~RW_LOCK_READ_WAITERS; else if (v & RW_LOCK_WRITE_WAITERS && - turnstile_empty_queue(ts, TS_EXCLUSIVE_QUEUE)) + turnstile_empty(ts, TS_EXCLUSIVE_QUEUE)) v &= ~RW_LOCK_WRITE_WAITERS; #else MPASS(ts != NULL); #endif if (v & RW_LOCK_READ_WAITERS) - turnstile_broadcast_queue(ts, TS_SHARED_QUEUE); + turnstile_broadcast(ts, TS_SHARED_QUEUE); atomic_store_rel_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | (v & RW_LOCK_WRITE_WAITERS)); if (v & RW_LOCK_READ_WAITERS) { - turnstile_unpend_queue(ts, TS_EXCLUSIVE_LOCK); + turnstile_unpend(ts, TS_EXCLUSIVE_LOCK); } else if (ts) { turnstile_disown(ts); turnstile_release(&rw->lock_object); ==== //depot/projects/dtrace6/src/sys/kern/kern_sx.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sx.c,v 1.25.2.7 2007/09/10 23:43:52 alfred Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sx.c,v 1.25.2.9 2007/09/27 20:24:55 jhb Exp $"); #include #include @@ -137,14 +137,11 @@ void sx_init_flags(struct sx *sx, const char *description, int opts) { - struct lock_object *lock; int flags; MPASS((opts & ~(SX_QUIET | SX_RECURSE | SX_NOWITNESS | SX_DUPOK | SX_NOPROFILE | SX_ADAPTIVESPIN)) == 0); - bzero(sx, sizeof(*sx)); - flags = LO_RECURSABLE | LO_SLEEPABLE | LO_UPGRADABLE; if (opts & SX_DUPOK) flags |= LO_DUPOK; @@ -156,23 +153,17 @@ flags |= opts & (SX_ADAPTIVESPIN | SX_RECURSE); sx->sx_lock = SX_LOCK_UNLOCKED; sx->sx_recurse = 0; - lock = &sx->lock_object; - lock->lo_class = &lock_class_sx; - lock->lo_flags = flags; - lock->lo_name = lock->lo_type = description; - LOCK_LOG_INIT(lock, opts); - WITNESS_INIT(lock); + lock_init(&sx->lock_object, &lock_class_sx, description, NULL, flags); } void sx_destroy(struct sx *sx) { - LOCK_LOG_DESTROY(&sx->lock_object, 0); KASSERT(sx->sx_lock == SX_LOCK_UNLOCKED, ("sx lock still held")); KASSERT(sx->sx_recurse == 0, ("sx lock still recursed")); sx->sx_lock = SX_LOCK_DESTROYED; - WITNESS_DESTROY(&sx->lock_object); + lock_destroy(&sx->lock_object); } int @@ -377,7 +368,7 @@ atomic_store_rel_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1) | (x & SX_LOCK_EXCLUSIVE_WAITERS)); if (x & SX_LOCK_SHARED_WAITERS) - sleepq_broadcast_queue(&sx->lock_object, SLEEPQ_SX, -1, + sleepq_broadcast(&sx->lock_object, SLEEPQ_SX, -1, SQ_SHARED_QUEUE); else sleepq_release(&sx->lock_object); @@ -520,16 +511,14 @@ * lock and the exclusive waiters flag is set, we have * to sleep. */ -#if 0 if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on sleep queue", __func__, sx); -#endif GIANT_SAVE(); lock_profile_obtain_lock_failed(&sx->lock_object, &contested, &waittime); - sleepq_add_queue(&sx->lock_object, NULL, sx->lock_object.lo_name, + sleepq_add(&sx->lock_object, NULL, sx->lock_object.lo_name, SLEEPQ_SX | ((opts & SX_INTERRUPTIBLE) ? SLEEPQ_INTERRUPTIBLE : 0), SQ_EXCLUSIVE_QUEUE); if (!(opts & SX_INTERRUPTIBLE)) @@ -604,7 +593,7 @@ __func__, sx, queue == SQ_SHARED_QUEUE ? "shared" : "exclusive"); atomic_store_rel_ptr(&sx->sx_lock, x); - sleepq_broadcast_queue(&sx->lock_object, SLEEPQ_SX, -1, queue); + sleepq_broadcast(&sx->lock_object, SLEEPQ_SX, -1, queue); } /* @@ -748,7 +737,7 @@ lock_profile_obtain_lock_failed(&sx->lock_object, &contested, &waittime); #endif - sleepq_add_queue(&sx->lock_object, NULL, sx->lock_object.lo_name, + sleepq_add(&sx->lock_object, NULL, sx->lock_object.lo_name, SLEEPQ_SX | ((opts & SX_INTERRUPTIBLE) ? SLEEPQ_INTERRUPTIBLE : 0), SQ_SHARED_QUEUE); if (!(opts & SX_INTERRUPTIBLE)) @@ -849,7 +838,7 @@ if (LOCK_LOG_TEST(&sx->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p waking up all thread on" "exclusive queue", __func__, sx); - sleepq_broadcast_queue(&sx->lock_object, SLEEPQ_SX, -1, + sleepq_broadcast(&sx->lock_object, SLEEPQ_SX, -1, SQ_EXCLUSIVE_QUEUE); break; } ==== //depot/projects/dtrace6/src/sys/kern/kern_synch.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_synch.c,v 1.270.2.6 2006/07/06 08:32:50 glebius Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_synch.c,v 1.270.2.7 2007/09/27 20:24:55 jhb Exp $"); #include "opt_ktrace.h" @@ -188,7 +188,7 @@ * stopped, then td will no longer be on a sleep queue upon * return from cursig(). */ - sleepq_add(ident, mtx, wmesg, flags); + sleepq_add(ident, mtx, wmesg, flags, 0); if (timo) sleepq_set_timeout(ident, timo); @@ -265,7 +265,7 @@ /* * We put ourselves on the sleep queue and start our timeout. */ - sleepq_add(ident, mtx, wmesg, SLEEPQ_MSLEEP); + sleepq_add(ident, mtx, wmesg, SLEEPQ_MSLEEP, 0); if (timo) sleepq_set_timeout(ident, timo); @@ -314,7 +314,7 @@ { sleepq_lock(ident); - sleepq_broadcast(ident, SLEEPQ_MSLEEP, -1); + sleepq_broadcast(ident, SLEEPQ_MSLEEP, -1, 0); } /* @@ -328,7 +328,7 @@ { sleepq_lock(ident); - sleepq_signal(ident, SLEEPQ_MSLEEP, -1); + sleepq_signal(ident, SLEEPQ_MSLEEP, -1, 0); } /* ==== //depot/projects/dtrace6/src/sys/kern/subr_sleepqueue.c#2 (text+ko) ==== @@ -60,7 +60,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.18.2.5 2007/09/04 22:40:39 alfred Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.18.2.8 2007/09/27 20:24:55 jhb Exp $"); #include "opt_sleepqueue_profiling.h" #include "opt_ddb.h" @@ -70,7 +70,6 @@ #include #include #include -#include #include #include #include @@ -78,10 +77,6 @@ #include #include -#ifdef DDB -#include -#endif - #include #ifdef DDB @@ -275,7 +270,7 @@ * woken up. */ void -sleepq_add_queue(void *wchan, struct mtx *lock, const char *wmesg, int flags, +sleepq_add(void *wchan, struct mtx *lock, const char *wmesg, int flags, int queue) { struct sleepqueue_chain *sc; @@ -632,7 +627,7 @@ mtx_assert(&sched_lock, MA_OWNED); /* Remove the thread from the queue. */ - TAILQ_REMOVE(&sq->sq_blocked[td->td_sqqueue], td, td_slpq); + TAILQ_REMOVE(&sq->sq_blocked[(int)td->td_sqqueue], td, td_slpq); /* * Get a sleep queue for this thread. If this is the last waiter, @@ -710,7 +705,7 @@ * Find the highest priority thread sleeping on a wait channel and resume it. */ void -sleepq_signal_queue(void *wchan, int flags, int pri, int queue) +sleepq_signal(void *wchan, int flags, int pri, int queue) { struct sleepqueue *sq; struct thread *td, *besttd; @@ -748,7 +743,7 @@ * Resume all threads sleeping on a specified wait channel. */ void -sleepq_broadcast_queue(void *wchan, int flags, int pri, int queue) +sleepq_broadcast(void *wchan, int flags, int pri, int queue) { struct sleepqueue *sq; @@ -910,3 +905,65 @@ mtx_lock_spin(&sched_lock); } +#ifdef DDB +DB_SHOW_COMMAND(sleepq, db_show_sleepqueue) +{ + struct sleepqueue_chain *sc; + struct sleepqueue *sq; +#ifdef INVARIANTS + struct lock_object *lock; +#endif + struct thread *td; + void *wchan; + int i; + + if (!have_addr) + return; + + /* + * First, see if there is an active sleep queue for the wait channel + * indicated by the address. + */ + wchan = (void *)addr; + sc = SC_LOOKUP(wchan); + LIST_FOREACH(sq, &sc->sc_queues, sq_hash) + if (sq->sq_wchan == wchan) + goto found; + + /* + * Second, see if there is an active sleep queue at the address + * indicated. + */ + for (i = 0; i < SC_TABLESIZE; i++) + LIST_FOREACH(sq, &sleepq_chains[i].sc_queues, sq_hash) { + if (sq == (struct sleepqueue *)addr) + goto found; + } + + db_printf("Unable to locate a sleep queue via %p\n", (void *)addr); + return; +found: + db_printf("Wait channel: %p\n", sq->sq_wchan); +#ifdef INVARIANTS + db_printf("Queue type: %d\n", sq->sq_type); + if (sq->sq_lock) { + lock = &sq->sq_lock->mtx_object; + db_printf("Associated Interlock: %p - (%s) %s\n", lock, + LOCK_CLASS(lock)->lc_name, lock->lo_name); + } +#endif + db_printf("Blocked threads:\n"); + for (i = 0; i < NR_SLEEPQS; i++) { + db_printf("\nQueue[%d]:\n", i); + if (TAILQ_EMPTY(&sq->sq_blocked[i])) + db_printf("\tempty\n"); + else + TAILQ_FOREACH(td, &sq->sq_blocked[0], + td_slpq) { + db_printf("\t%p (tid %d, pid %d, \"%s\")\n", td, + td->td_tid, td->td_proc->p_pid, + td->td_proc->p_comm); + } + } +} +#endif ==== //depot/projects/dtrace6/src/sys/kern/subr_turnstile.c#2 (text+ko) ==== @@ -46,18 +46,18 @@ * chain. Each chain contains a spin mutex that protects all of the * turnstiles in the chain. * - * Each time a thread is created, a turnstile is malloc'd and attached to - * that thread. When a thread blocks on a lock, if it is the first thread - * to block, it lends its turnstile to the lock. If the lock already has - * a turnstile, then it gives its turnstile to the lock's turnstile's free - * list. When a thread is woken up, it takes a turnstile from the free list - * if there are any other waiters. If it is the only thread blocked on the - * lock, then it reclaims the turnstile associated with the lock and removes - * it from the hash table. + * Each time a thread is created, a turnstile is allocated from a UMA zone + * and attached to that thread. When a thread blocks on a lock, if it is the + * first thread to block, it lends its turnstile to the lock. If the lock + * already has a turnstile, then it gives its turnstile to the lock's + * turnstile's free list. When a thread is woken up, it takes a turnstile from + * the free list if there are any other waiters. If it is the only thread + * blocked on the lock, then it reclaims the turnstile associated with the lock + * and removes it from the hash table. */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.152.2.7 2007/09/05 17:38:28 alfred Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.152.2.11 2007/09/27 20:24:55 jhb Exp $"); #include "opt_ddb.h" #include "opt_turnstile_profiling.h" @@ -67,7 +67,6 @@ #include #include #include -#include #include #include #include @@ -75,6 +74,8 @@ #include #include +#include + #ifdef DDB #include #include @@ -103,8 +104,9 @@ * when it is attached to a lock. The second list to use ts_hash is the * free list hung off of a turnstile that is attached to a lock. * - * Each turnstile contains two lists of threads. The ts_blocked list is - * a linked list of threads blocked on the turnstile's lock. The + * Each turnstile contains three lists of threads. The two ts_blocked lists + * are linked list of threads blocked on the turnstile's lock. One list is + * for exclusive waiters, and the other is for shared waiters. The * ts_pending list is a linked list of threads previously awakened by * turnstile_signal() or turnstile_wait() that are waiting to be put on * the run queue. @@ -114,9 +116,8 @@ * q - td_contested lock */ struct turnstile { - /* struct mtx ts_lock; */ /* Spin lock for self. */ - TAILQ_HEAD(, thread) ts_blocked[2]; /* (c + q) Blocked threads. */ - TAILQ_HEAD(, thread) ts_pending; /* (c) Pending threads. */ + struct threadqueue ts_blocked[2]; /* (c + q) Blocked threads. */ + struct threadqueue ts_pending; /* (c) Pending threads. */ LIST_ENTRY(turnstile) ts_hash; /* (c) Chain and free list. */ LIST_ENTRY(turnstile) ts_link; /* (q) Contested locks. */ LIST_HEAD(, turnstile) ts_free; /* (c) Free turnstiles. */ @@ -143,15 +144,8 @@ #endif static struct mtx td_contested_lock; static struct turnstile_chain turnstile_chains[TC_TABLESIZE]; - -/* XXX: stats, remove me */ -static u_int turnstile_nullowners; -SYSCTL_UINT(_debug, OID_AUTO, turnstile_nullowners, CTLFLAG_RD, - &turnstile_nullowners, 0, "called with null owner on a shared queue"); +static uma_zone_t turnstile_zone; - -static MALLOC_DEFINE(M_TURNSTILE, "turnstiles", "turnstiles"); - /* * Prototypes for non-exported routines. */ @@ -162,7 +156,12 @@ static void propagate_priority(struct thread *td); static int turnstile_adjust_thread(struct turnstile *ts, struct thread *td); +static struct thread *turnstile_first_waiter(struct turnstile *ts); static void turnstile_setowner(struct turnstile *ts, struct thread *owner); +#ifdef INVARIANTS +static void turnstile_dtor(void *mem, int size, void *arg); +#endif +static int turnstile_init(void *mem, int size, int flags); /* * Walks the chain of turnstiles and their owners to propagate the priority @@ -184,9 +183,8 @@ if (td == NULL) { /* - * This really isn't quite right. Really - * ought to bump priority of thread that - * next acquires the lock. + * This might be a read lock with no owner. There's + * not much we can do, so just bail. */ return; } @@ -385,6 +383,12 @@ init_turnstile0(void *dummy) { + turnstile_zone = uma_zcreate("TURNSTILE", sizeof(struct turnstile), +#ifdef INVARIANTS + NULL, turnstile_dtor, turnstile_init, NULL, UMA_ALIGN_CACHE, 0); +#else + NULL, NULL, turnstile_init, NULL, UMA_ALIGN_CACHE, 0); +#endif thread0.td_turnstile = turnstile_alloc(); } SYSINIT(turnstile0, SI_SUB_LOCK, SI_ORDER_ANY, init_turnstile0, NULL); @@ -443,6 +447,8 @@ mtx_assert(&td_contested_lock, MA_OWNED); MPASS(ts->ts_owner == NULL); + + /* A shared lock might not have an owner. */ if (owner == NULL) return; @@ -451,20 +457,47 @@ LIST_INSERT_HEAD(&owner->td_contested, ts, ts_link); } +#ifdef INVARIANTS +/* + * UMA zone item deallocator. + */ +static void +turnstile_dtor(void *mem, int size, void *arg) +{ + struct turnstile *ts; + + ts = mem; + MPASS(TAILQ_EMPTY(&ts->ts_blocked[TS_EXCLUSIVE_QUEUE])); + MPASS(TAILQ_EMPTY(&ts->ts_blocked[TS_SHARED_QUEUE])); + MPASS(TAILQ_EMPTY(&ts->ts_pending)); +} +#endif + /* - * Malloc a turnstile for a new thread, initialize it and return it. + * UMA zone item initializer. */ -struct turnstile * -turnstile_alloc(void) +static int +turnstile_init(void *mem, int size, int flags) { struct turnstile *ts; - ts = malloc(sizeof(struct turnstile), M_TURNSTILE, M_WAITOK | M_ZERO); + bzero(mem, size); + ts = mem; TAILQ_INIT(&ts->ts_blocked[TS_EXCLUSIVE_QUEUE]); TAILQ_INIT(&ts->ts_blocked[TS_SHARED_QUEUE]); TAILQ_INIT(&ts->ts_pending); LIST_INIT(&ts->ts_free); - return (ts); + return (0); +} + +/* + * Get a turnstile for a new thread. + */ +struct turnstile * +turnstile_alloc(void) +{ + + return (uma_zalloc(turnstile_zone, M_WAITOK)); } /* @@ -474,11 +507,7 @@ turnstile_free(struct turnstile *ts) { - MPASS(ts != NULL); - MPASS(TAILQ_EMPTY(&ts->ts_blocked[TS_EXCLUSIVE_QUEUE])); - MPASS(TAILQ_EMPTY(&ts->ts_blocked[TS_SHARED_QUEUE])); - MPASS(TAILQ_EMPTY(&ts->ts_pending)); - free(ts, M_TURNSTILE); + uma_zfree(turnstile_zone, ts); } /* @@ -582,7 +611,7 @@ * turnstile chain locked and will return with it unlocked. */ void -turnstile_wait_queue(struct lock_object *lock, struct thread *owner, int queue) +turnstile_wait(struct lock_object *lock, struct thread *owner, int queue) { struct turnstile_chain *tc; struct turnstile *ts; @@ -592,12 +621,10 @@ tc = TC_LOOKUP(lock); mtx_assert(&tc->tc_lock, MA_OWNED); MPASS(td->td_turnstile != NULL); + if (queue == TS_SHARED_QUEUE) + MPASS(owner != NULL); if (owner) MPASS(owner->td_proc->p_magic == P_MAGIC); - /* XXX: stats, remove me */ - if (!owner && queue == TS_SHARED_QUEUE) { - turnstile_nullowners++; - } MPASS(queue == TS_SHARED_QUEUE || queue == TS_EXCLUSIVE_QUEUE); /* Look up the turnstile associated with the lock 'lock'. */ @@ -642,10 +669,10 @@ TAILQ_INSERT_BEFORE(td1, td, td_lockq); else TAILQ_INSERT_TAIL(&ts->ts_blocked[queue], td, td_lockq); + MPASS(owner == ts->ts_owner); mtx_unlock_spin(&td_contested_lock); MPASS(td->td_turnstile != NULL); LIST_INSERT_HEAD(&ts->ts_free, td->td_turnstile, ts_hash); - MPASS(owner == ts->ts_owner); } td->td_turnstile = NULL; mtx_unlock_spin(&tc->tc_lock); @@ -680,6 +707,7 @@ #endif /* Save who we are blocked on and switch. */ + td->td_tsqueue = queue; td->td_blocked = ts; td->td_lockname = lock->lo_name; TD_SET_LOCK(td); @@ -705,7 +733,7 @@ * pending list. This must be called with the turnstile chain locked. */ int -turnstile_signal_queue(struct turnstile *ts, int queue) +turnstile_signal(struct turnstile *ts, int queue) { struct turnstile_chain *tc; struct thread *td; @@ -713,11 +741,10 @@ MPASS(ts != NULL); MPASS(curthread->td_proc->p_magic == P_MAGIC); - MPASS(ts->ts_owner == curthread); + MPASS(ts->ts_owner == curthread || + (queue == TS_EXCLUSIVE_QUEUE && ts->ts_owner == NULL)); tc = TC_LOOKUP(ts->ts_lockobj); mtx_assert(&tc->tc_lock, MA_OWNED); - MPASS(ts->ts_owner == curthread || - (queue == TS_EXCLUSIVE_QUEUE && ts->ts_owner == NULL)); MPASS(queue == TS_SHARED_QUEUE || queue == TS_EXCLUSIVE_QUEUE); /* @@ -757,7 +784,7 @@ * the turnstile chain locked. */ void -turnstile_broadcast_queue(struct turnstile *ts, int queue) +turnstile_broadcast(struct turnstile *ts, int queue) { struct turnstile_chain *tc; struct turnstile *ts1; @@ -766,7 +793,7 @@ MPASS(ts != NULL); MPASS(curthread->td_proc->p_magic == P_MAGIC); MPASS(ts->ts_owner == curthread || - (queue == TS_EXCLUSIVE_QUEUE && ts->ts_owner == NULL)); + (queue == TS_EXCLUSIVE_QUEUE && ts->ts_owner == NULL)); tc = TC_LOOKUP(ts->ts_lockobj); mtx_assert(&tc->tc_lock, MA_OWNED); MPASS(queue == TS_SHARED_QUEUE || queue == TS_EXCLUSIVE_QUEUE); @@ -780,7 +807,7 @@ /* * Give a turnstile to each thread. The last thread gets - * this turnstile. + * this turnstile if the turnstile is empty. */ TAILQ_FOREACH(td, &ts->ts_pending, td_lockq) { if (LIST_EMPTY(&ts->ts_free)) { @@ -803,11 +830,10 @@ * chain locked. */ void -turnstile_unpend_queue(struct turnstile *ts, int owner_type) +turnstile_unpend(struct turnstile *ts, int owner_type) { TAILQ_HEAD( ,thread) pending_threads; struct turnstile_chain *tc; - struct turnstile *nts; struct thread *td; u_char cp, pri; @@ -834,12 +860,15 @@ * Remove the turnstile from this thread's list of contested locks * since this thread doesn't own it anymore. New threads will * not be blocking on the turnstile until it is claimed by a new - * owner. + * owner. There might not be a current owner if this is a shared + * lock. */ - mtx_lock_spin(&td_contested_lock); - ts->ts_owner = NULL; - LIST_REMOVE(ts, ts_link); - mtx_unlock_spin(&td_contested_lock); + if (ts->ts_owner != NULL) { + mtx_lock_spin(&td_contested_lock); + ts->ts_owner = NULL; + LIST_REMOVE(ts, ts_link); + mtx_unlock_spin(&td_contested_lock); + } critical_enter(); mtx_unlock_spin(&tc->tc_lock); @@ -852,8 +881,8 @@ pri = PRI_MAX; mtx_lock_spin(&sched_lock); mtx_lock_spin(&td_contested_lock); - LIST_FOREACH(nts, &td->td_contested, ts_link) { - cp = turnstile_first_waiter(nts)->td_priority; + LIST_FOREACH(ts, &td->td_contested, ts_link) { + cp = turnstile_first_waiter(ts)->td_priority; if (cp < pri) pri = cp; } @@ -874,6 +903,9 @@ if (TD_ON_LOCK(td)) { td->td_blocked = NULL; td->td_lockname = NULL; +#ifdef INVARIANTS + td->td_tsqueue = 0xff; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 27 23:42:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D53C16A469; Thu, 27 Sep 2007 23:42:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DABF216A418 for ; Thu, 27 Sep 2007 23:42:58 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C90B213C457 for ; Thu, 27 Sep 2007 23:42:58 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8RNgwN0089910 for ; Thu, 27 Sep 2007 23:42:58 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8RNgtm0089907 for perforce@freebsd.org; Thu, 27 Sep 2007 23:42:55 GMT (envelope-from zec@FreeBSD.org) Date: Thu, 27 Sep 2007 23:42:55 GMT Message-Id: <200709272342.l8RNgtm0089907@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126900 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Sep 2007 23:42:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=126900 Change 126900 by zec@zec_tpx32 on 2007/09/27 23:42:09 IFC Affected files ... .. //depot/projects/vimage/src/sys/amd64/amd64/genassym.c#5 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#7 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/uma_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/amd64/include/smp.h#4 integrate .. //depot/projects/vimage/src/sys/amd64/include/vmparam.h#5 integrate .. //depot/projects/vimage/src/sys/amd64/isa/clock.c#6 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux.h#4 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#6 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/vimage/src/sys/arm/arm/pmap.c#7 integrate .. //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#5 integrate .. //depot/projects/vimage/src/sys/arm/at91/at91_mci.c#4 integrate .. //depot/projects/vimage/src/sys/arm/at91/at91_pmc.c#3 integrate .. //depot/projects/vimage/src/sys/arm/conf/CRB#2 integrate .. //depot/projects/vimage/src/sys/arm/include/asmacros.h#2 integrate .. //depot/projects/vimage/src/sys/arm/include/endian.h#2 integrate .. //depot/projects/vimage/src/sys/arm/include/vmparam.h#4 integrate .. //depot/projects/vimage/src/sys/arm/sa11x0/uart_dev_sa1110.c#4 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/files.crb#2 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342reg.h#2 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/vimage/src/sys/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/vimage/src/sys/compat/ia32/ia32_sysvec.c#5 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_stats.c#4 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#16 integrate .. //depot/projects/vimage/src/sys/conf/files#19 integrate .. //depot/projects/vimage/src/sys/conf/options#19 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/evmisc.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/dev/acpica/evxface.c#3 integrate .. //depot/projects/vimage/src/sys/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#5 integrate .. //depot/projects/vimage/src/sys/ddb/db_ps.c#3 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi.c#8 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/vimage/src/sys/dev/an/if_an.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-chipset.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_rate/sample/sample.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#13 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_ctl_defs.h#3 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_sge_defs.h#3 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_hw.c#5 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_vsc7323.c#3 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_xgmac.c#4 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_adapter.h#7 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_include.h#2 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#8 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_offload.h#4 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#8 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/t3fw-4.5.0.bin.gz.uu#2 delete .. //depot/projects/vimage/src/sys/dev/cxgb/t3fw-4.7.0.bin.gz.uu#1 branch .. //depot/projects/vimage/src/sys/dev/em/if_em.c#8 integrate .. //depot/projects/vimage/src/sys/dev/em/if_em.h#4 integrate .. //depot/projects/vimage/src/sys/dev/mpt/mpt_pci.c#6 integrate .. //depot/projects/vimage/src/sys/dev/mxge/if_mxge.c#9 integrate .. //depot/projects/vimage/src/sys/dev/mxge/if_mxge_var.h#6 integrate .. //depot/projects/vimage/src/sys/dev/nfe/if_nfe.c#5 integrate .. //depot/projects/vimage/src/sys/dev/pci/pcireg.h#7 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2560.c#10 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2661.c#9 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/emu10kx-pcm.c#6 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/emu10kx.c#6 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/emu10kx.h#3 integrate .. //depot/projects/vimage/src/sys/dev/syscons/syscons.c#3 integrate .. //depot/projects/vimage/src/sys/dev/syscons/syscons.h#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehci_pci.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_rum.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_ural.c#10 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_zyd.c#2 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#10 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_fat.c#7 integrate .. //depot/projects/vimage/src/sys/fs/ntfs/ntfs_vfsops.c#3 integrate .. //depot/projects/vimage/src/sys/fs/procfs/procfs_status.c#4 integrate .. //depot/projects/vimage/src/sys/geom/virstor/binstream.c#1 branch .. //depot/projects/vimage/src/sys/geom/virstor/binstream.h#1 branch .. //depot/projects/vimage/src/sys/geom/virstor/g_virstor.c#1 branch .. //depot/projects/vimage/src/sys/geom/virstor/g_virstor.h#1 branch .. //depot/projects/vimage/src/sys/geom/virstor/g_virstor_md.c#1 branch .. //depot/projects/vimage/src/sys/geom/virstor/g_virstor_md.h#1 branch .. //depot/projects/vimage/src/sys/i386/acpica/madt.c#4 integrate .. //depot/projects/vimage/src/sys/i386/i386/genassym.c#5 integrate .. //depot/projects/vimage/src/sys/i386/i386/geode.c#3 integrate .. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#7 integrate .. //depot/projects/vimage/src/sys/i386/include/smp.h#4 integrate .. //depot/projects/vimage/src/sys/i386/include/vmparam.h#5 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux.h#4 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_ptrace.c#2 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_syscall.h#6 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_sysent.c#6 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_sysvec.c#3 integrate .. //depot/projects/vimage/src/sys/i386/linux/syscalls.master#6 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/uma_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/ia64/include/vmparam.h#5 integrate .. //depot/projects/vimage/src/sys/kern/init_main.c#12 integrate .. //depot/projects/vimage/src/sys/kern/kern_clock.c#7 integrate .. //depot/projects/vimage/src/sys/kern/kern_exec.c#6 integrate .. //depot/projects/vimage/src/sys/kern/kern_fork.c#10 integrate .. //depot/projects/vimage/src/sys/kern/kern_kse.c#9 integrate .. //depot/projects/vimage/src/sys/kern/kern_proc.c#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_switch.c#9 integrate .. //depot/projects/vimage/src/sys/kern/kern_synch.c#12 integrate .. //depot/projects/vimage/src/sys/kern/kern_thread.c#9 integrate .. //depot/projects/vimage/src/sys/kern/kern_timeout.c#7 integrate .. //depot/projects/vimage/src/sys/kern/sched_4bsd.c#11 integrate .. //depot/projects/vimage/src/sys/kern/sched_ule.c#12 integrate .. //depot/projects/vimage/src/sys/kern/subr_kdb.c#2 integrate .. //depot/projects/vimage/src/sys/kern/subr_lock.c#7 integrate .. //depot/projects/vimage/src/sys/kern/subr_sleepqueue.c#5 integrate .. //depot/projects/vimage/src/sys/kern/subr_smp.c#5 integrate .. //depot/projects/vimage/src/sys/kern/subr_trap.c#6 integrate .. //depot/projects/vimage/src/sys/kern/subr_witness.c#6 integrate .. //depot/projects/vimage/src/sys/kern/sys_process.c#4 integrate .. //depot/projects/vimage/src/sys/kern/vfs_bio.c#7 integrate .. //depot/projects/vimage/src/sys/kern/vfs_cache.c#5 integrate .. //depot/projects/vimage/src/sys/kern/vfs_lookup.c#8 integrate .. //depot/projects/vimage/src/sys/kern/vfs_mount.c#10 integrate .. //depot/projects/vimage/src/sys/kern/vfs_subr.c#7 integrate .. //depot/projects/vimage/src/sys/kern/vfs_syscalls.c#9 integrate .. //depot/projects/vimage/src/sys/modules/acpi/acpi/Makefile#4 integrate .. //depot/projects/vimage/src/sys/modules/cxgb/Makefile#5 integrate .. //depot/projects/vimage/src/sys/modules/geom/geom_virstor/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/sound/driver/emu10kx/Makefile#4 integrate .. //depot/projects/vimage/src/sys/net/bpf.c#12 integrate .. //depot/projects/vimage/src/sys/net/bpf_filter.c#2 integrate .. //depot/projects/vimage/src/sys/net/if_bridge.c#7 integrate .. //depot/projects/vimage/src/sys/net/if_ethersubr.c#15 integrate .. //depot/projects/vimage/src/sys/net/if_media.h#4 integrate .. //depot/projects/vimage/src/sys/net/if_stf.c#6 integrate .. //depot/projects/vimage/src/sys/net/rtsock.c#9 integrate .. //depot/projects/vimage/src/sys/net80211/_ieee80211.h#8 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211.c#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.h#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_node.c#7 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_node.h#4 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_output.c#7 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_power.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.c#7 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.h#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_regdomain.c#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_var.h#6 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_ppp.c#8 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/in_gif.c#7 integrate .. //depot/projects/vimage/src/sys/netinet/sctp.h#10 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_asconf.h#9 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_bsd_addr.c#9 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_cc_functions.h#2 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#16 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#18 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#19 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_lock_bsd.h#8 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#15 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.c#18 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.h#9 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#18 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.h#13 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_structs.h#14 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_sysctl.c#7 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_sysctl.h#6 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_timer.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_timer.h#6 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_uio.h#13 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#19 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_var.h#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.c#19 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.h#13 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#22 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#33 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timer.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timer.h#7 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_var.h#17 integrate .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#18 integrate .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#19 integrate .. //depot/projects/vimage/src/sys/netinet6/sctp6_var.h#7 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_input.c#10 integrate .. //depot/projects/vimage/src/sys/pci/agp_i810.c#3 integrate .. //depot/projects/vimage/src/sys/pci/agp_via.c#2 integrate .. //depot/projects/vimage/src/sys/powerpc/include/vmparam.h#4 integrate .. //depot/projects/vimage/src/sys/powerpc/powerpc/uma_machdep.c#2 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_framework.h#6 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_policy.h#7 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_vfs.c#6 integrate .. //depot/projects/vimage/src/sys/security/mac_biba/mac_biba.c#5 integrate .. //depot/projects/vimage/src/sys/security/mac_bsdextended/mac_bsdextended.c#7 integrate .. //depot/projects/vimage/src/sys/security/mac_lomac/mac_lomac.c#6 integrate .. //depot/projects/vimage/src/sys/security/mac_mls/mac_mls.c#6 integrate .. //depot/projects/vimage/src/sys/security/mac_stub/mac_stub.c#7 integrate .. //depot/projects/vimage/src/sys/security/mac_test/mac_test.c#6 integrate .. //depot/projects/vimage/src/sys/sparc64/include/vmparam.h#5 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/genassym.c#4 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/vm_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/sun4v/include/vmparam.h#5 integrate .. //depot/projects/vimage/src/sys/sun4v/mdesc/mdesc_init.c#4 integrate .. //depot/projects/vimage/src/sys/sun4v/sun4v/vm_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/sys/callout.h#3 integrate .. //depot/projects/vimage/src/sys/sys/lock_profile.h#7 integrate .. //depot/projects/vimage/src/sys/sys/mount.h#7 integrate .. //depot/projects/vimage/src/sys/sys/proc.h#13 integrate .. //depot/projects/vimage/src/sys/sys/socket.h#4 integrate .. //depot/projects/vimage/src/sys/sys/user.h#2 integrate .. //depot/projects/vimage/src/sys/sys/vmmeter.h#5 integrate .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_alloc.c#5 integrate .. //depot/projects/vimage/src/sys/vm/vm_contig.c#6 integrate .. //depot/projects/vimage/src/sys/vm/vm_fault.c#8 integrate .. //depot/projects/vimage/src/sys/vm/vm_glue.c#6 integrate .. //depot/projects/vimage/src/sys/vm/vm_map.c#7 integrate .. //depot/projects/vimage/src/sys/vm/vm_object.c#7 integrate .. //depot/projects/vimage/src/sys/vm/vm_object.h#2 integrate .. //depot/projects/vimage/src/sys/vm/vm_page.c#9 integrate .. //depot/projects/vimage/src/sys/vm/vm_page.h#6 integrate .. //depot/projects/vimage/src/sys/vm/vm_pageout.c#7 integrate .. //depot/projects/vimage/src/sys/vm/vm_pageq.c#5 integrate .. //depot/projects/vimage/src/sys/vm/vm_phys.c#3 integrate .. //depot/projects/vimage/src/sys/vm/vm_phys.h#3 integrate Differences ... ==== //depot/projects/vimage/src/sys/amd64/amd64/genassym.c#5 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.163 2007/06/06 07:35:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.165 2007/09/17 21:55:28 peter Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -74,7 +74,6 @@ ASSYM(P_VMSPACE, offsetof(struct proc, p_vmspace)); ASSYM(VM_PMAP, offsetof(struct vmspace, vm_pmap)); ASSYM(PM_ACTIVE, offsetof(struct pmap, pm_active)); -ASSYM(P_SFLAG, offsetof(struct proc, p_sflag)); ASSYM(TD_LOCK, offsetof(struct thread, td_lock)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); @@ -181,6 +180,7 @@ ASSYM(ENOENT, ENOENT); ASSYM(EFAULT, EFAULT); ASSYM(ENAMETOOLONG, ENAMETOOLONG); +ASSYM(MAXCPU, MAXCPU); ASSYM(MAXCOMLEN, MAXCOMLEN); ASSYM(MAXPATHLEN, MAXPATHLEN); ASSYM(PC_SIZEOF, sizeof(struct pcpu)); ==== //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#7 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.41 2007/08/02 21:17:58 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.42 2007/09/11 22:54:08 attilio Exp $"); #include "opt_hwpmc_hooks.h" @@ -1061,7 +1061,7 @@ printf("%s: Failed to setup the local APIC: returned %d\n", best_enum->apic_name, retval); } -SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL) +SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, NULL) /* * Setup the I/O APICs. ==== //depot/projects/vimage/src/sys/amd64/amd64/uma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.3 2007/02/18 06:33:01 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.4 2007/09/15 18:47:01 alc Exp $"); #include #include @@ -50,9 +50,9 @@ *flags = UMA_SLAB_PRIV; if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; + pflags = VM_ALLOC_INTERRUPT | VM_ALLOC_WIRED; else - pflags = VM_ALLOC_SYSTEM; + pflags = VM_ALLOC_SYSTEM | VM_ALLOC_WIRED; if (wait & M_ZERO) pflags |= VM_ALLOC_ZERO; for (;;) { @@ -82,5 +82,7 @@ pa = DMAP_TO_PHYS((vm_offset_t)mem); dump_drop_page(pa); m = PHYS_TO_VM_PAGE(pa); + m->wire_count--; vm_page_free(m); + atomic_subtract_int(&cnt.v_wire_count, 1); } ==== //depot/projects/vimage/src/sys/amd64/include/smp.h#4 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.90 2007/05/19 05:01:43 kan Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.91 2007/09/20 20:38:43 attilio Exp $ * */ @@ -34,7 +34,6 @@ extern int mp_naps; extern int boot_cpu_id; extern struct pcb stoppcbs[]; -extern struct mtx smp_tlb_mtx; extern int cpu_apic_ids[]; /* IPI handlers */ ==== //depot/projects/vimage/src/sys/amd64/include/vmparam.h#5 (text+ko) ==== @@ -38,7 +38,7 @@ * SUCH DAMAGE. * * from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.48 2007/06/03 23:18:29 alc Exp $ + * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.49 2007/09/25 06:25:04 alc Exp $ */ @@ -101,12 +101,13 @@ #define VM_PHYSSEG_MAX 31 /* - * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool + * Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool * from which physical pages are allocated and VM_FREEPOOL_DIRECT is * the pool from which physical pages for page tables and small UMA * objects are allocated. */ -#define VM_NFREEPOOL 2 +#define VM_NFREEPOOL 3 +#define VM_FREEPOOL_CACHE 2 #define VM_FREEPOOL_DEFAULT 0 #define VM_FREEPOOL_DIRECT 1 ==== //depot/projects/vimage/src/sys/amd64/isa/clock.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.233 2007/07/23 09:42:30 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.234 2007/09/14 01:12:39 attilio Exp $"); /* * Routines to handle clock hardware. @@ -565,7 +565,7 @@ i8254_init(void) { - mtx_init(&clock_lock, "clk", NULL, MTX_SPIN); + mtx_init(&clock_lock, "clk", NULL, MTX_SPIN | MTX_NOPROFILE); set_timer_freq(timer_freq, hz); } ==== //depot/projects/vimage/src/sys/amd64/linux32/linux.h#4 (text+ko) ==== @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.15 2007/03/29 02:11:46 julian Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.16 2007/09/18 19:50:32 dwmalone Exp $ */ #ifndef _AMD64_LINUX_H_ @@ -242,6 +242,19 @@ l_ulonglong st_ino; } __packed; +struct l_statfs64 { + l_int f_type; + l_int f_bsize; + uint64_t f_blocks; + uint64_t f_bfree; + uint64_t f_bavail; + uint64_t f_files; + uint64_t f_ffree; + l_fsid_t f_fsid; + l_int f_namelen; + l_int f_spare[6]; +} __packed; + struct l_new_utsname { char sysname[LINUX_MAX_UTSNAME]; char nodename[LINUX_MAX_UTSNAME]; ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_proto.h#5 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ @@ -801,6 +801,7 @@ }; struct linux_statfs64_args { char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)]; + char bufsize_l_[PADL_(size_t)]; size_t bufsize; char bufsize_r_[PADR_(size_t)]; char buf_l_[PADL_(struct l_statfs64_buf *)]; struct l_statfs64_buf * buf; char buf_r_[PADR_(struct l_statfs64_buf *)]; }; struct linux_fstatfs64_args { ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_syscall.h#5 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysent.c#5 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.32 2007/08/28 12:36:23 kib Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.33 2007/09/18 19:50:32 dwmalone Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.30 2007/07/12 18:01:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.31 2007/09/20 13:46:26 kib Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -372,6 +372,7 @@ frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp; frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; + frame.sf_sc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); #ifdef DEBUG @@ -503,6 +504,7 @@ frame.sf_sc.sc_esp_at_signal = regs->tf_rsp; frame.sf_sc.sc_ss = regs->tf_ss; frame.sf_sc.sc_err = regs->tf_err; + frame.sf_sc.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(code); for (i = 0; i < (LINUX_NSIG_WORDS-1); i++) ==== //depot/projects/vimage/src/sys/amd64/linux32/syscalls.master#5 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.30 2007/09/18 19:50:32 dwmalone Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -436,7 +436,7 @@ 266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); } 267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \ struct l_timespec *rqtp, struct l_timespec *rmtp); } -268 AUE_STATFS STD { int linux_statfs64(char *path, struct l_statfs64_buf *buf); } +268 AUE_STATFS STD { int linux_statfs64(char *path, size_t bufsize, struct l_statfs64_buf *buf); } 269 AUE_FSTATFS STD { int linux_fstatfs64(void); } 270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); } 271 AUE_UTIMES STD { int linux_utimes(char *fname, \ ==== //depot/projects/vimage/src/sys/arm/arm/pmap.c#7 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.84 2007/07/27 14:45:04 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.86 2007/09/22 22:47:48 cognet Exp $"); #include #include #include @@ -270,7 +270,6 @@ */ union pmap_cache_state *pmap_cache_state; -/* static pt_entry_t *msgbufmap;*/ struct msgbuf *msgbufp = 0; extern void bcopy_page(vm_offset_t, vm_offset_t); @@ -4074,7 +4073,7 @@ panic("pmap_zero_page: page has mappings"); #endif - if (_arm_bzero && + if (_arm_bzero && size >= _min_bzero_size && _arm_bzero((void *)(phys + off), size, IS_PHYSICAL) == 0) return; @@ -4115,7 +4114,7 @@ void pmap_zero_page_xscale(vm_paddr_t phys, int off, int size) { - if (_arm_bzero && + if (_arm_bzero && size >= _min_bzero_size && _arm_bzero((void *)(phys + off), size, IS_PHYSICAL) == 0) return; mtx_lock(&cmtx); @@ -4429,7 +4428,7 @@ #endif cpu_dcache_wbinv_all(); - if (_arm_memcpy && + if (_arm_memcpy && PAGE_SIZE >= _min_memcpy_size && _arm_memcpy((void *)VM_PAGE_TO_PHYS(dst), (void *)VM_PAGE_TO_PHYS(src), PAGE_SIZE, IS_PHYSICAL) == 0) return; ==== //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#5 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.33 2007/07/27 14:46:15 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.34 2007/09/15 18:47:01 alc Exp $"); #include #include @@ -580,9 +580,9 @@ return (ret); } if ((wait & (M_NOWAIT|M_USE_RESERVE)) == M_NOWAIT) - pflags = VM_ALLOC_INTERRUPT; + pflags = VM_ALLOC_INTERRUPT | VM_ALLOC_WIRED; else - pflags = VM_ALLOC_SYSTEM; + pflags = VM_ALLOC_SYSTEM | VM_ALLOC_WIRED; if (wait & M_ZERO) pflags |= VM_ALLOC_ZERO; for (;;) { @@ -640,9 +640,9 @@ vm_paddr_t pa = vtophys((vm_offset_t)mem); m = PHYS_TO_VM_PAGE(pa); - vm_page_lock_queues(); + m->wire_count--; vm_page_free(m); - vm_page_unlock_queues(); + atomic_subtract_int(&cnt.v_wire_count, 1); } } } ==== //depot/projects/vimage/src/sys/arm/at91/at91_mci.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.3 2007/02/23 12:18:27 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.4 2007/09/16 07:48:58 imp Exp $"); #include #include @@ -293,13 +293,10 @@ else clkdiv = (at91_master_clock / ios->clock) / 2; } - if (ios->bus_width == bus_width_4 && sc->wire4) { - device_printf(sc->dev, "Setting controller bus width to 4\n"); + if (ios->bus_width == bus_width_4 && sc->wire4) WR4(sc, MCI_SDCR, RD4(sc, MCI_SDCR) | MCI_SDCR_SDCBUS); - } else { - device_printf(sc->dev, "Setting controller bus width to 1\n"); + else WR4(sc, MCI_SDCR, RD4(sc, MCI_SDCR) & ~MCI_SDCR_SDCBUS); - } WR4(sc, MCI_MR, (RD4(sc, MCI_MR) & ~MCI_MR_CLKDIV) | clkdiv); #if 0 if (sc->vcc_pin) { ==== //depot/projects/vimage/src/sys/arm/at91/at91_pmc.c#3 (text) ==== @@ -25,7 +25,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.4 2007/01/05 01:14:14 ticso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.5 2007/09/16 07:51:02 imp Exp $"); #include #include @@ -162,7 +162,6 @@ struct at91_pmc_softc *sc = pmc_softc; uint32_t value; - printf("Turning PLLB %#x %s\n", sc->pllb_init, on ? "on" : "off"); if (on) { on = PMC_IER_LOCKB; value = sc->pllb_init; @@ -172,7 +171,6 @@ WR4(sc, CKGR_PLLBR, value); while ((RD4(sc, PMC_SR) & PMC_IER_LOCKB) != on) continue; - printf("Done!\n"); } static void @@ -180,7 +178,6 @@ { struct at91_pmc_softc *sc = pmc_softc; - printf("Turning SC %#x %s\n", clk->pmc_mask, on ? "on" : "off"); WR4(sc, on ? PMC_SCER : PMC_SCDR, clk->pmc_mask); if (on) while ((RD4(sc, PMC_SCSR) & clk->pmc_mask) != clk->pmc_mask) @@ -188,7 +185,6 @@ else while ((RD4(sc, PMC_SCSR) & clk->pmc_mask) == clk->pmc_mask) continue; - printf("Done SCSR is now: %#x!\n", RD4(sc, PMC_SCSR)); } static void @@ -196,7 +192,6 @@ { struct at91_pmc_softc *sc = pmc_softc; - printf("Turning PC %#x %s\n", clk->pmc_mask, on ? "on" : "off"); WR4(sc, on ? PMC_PCER : PMC_PCDR, clk->pmc_mask); if (on) while ((RD4(sc, PMC_PCSR) & clk->pmc_mask) != clk->pmc_mask) @@ -204,7 +199,6 @@ else while ((RD4(sc, PMC_PCSR) & clk->pmc_mask) == clk->pmc_mask) continue; - printf("Done PCSR is now: %#x!\n", RD4(sc, PMC_PCSR)); } struct at91_pmc_clock * @@ -228,7 +222,6 @@ at91_pmc_clock_enable(struct at91_pmc_clock *clk) { /* XXX LOCKING? XXX */ - printf("Enable %s\n", clk->name); if (clk->parent) at91_pmc_clock_enable(clk->parent); if (clk->refcnt++ == 0 && clk->set_mode) ==== //depot/projects/vimage/src/sys/arm/conf/CRB#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/CRB,v 1.1 2007/07/27 14:57:03 cognet Exp $ +# $FreeBSD: src/sys/arm/conf/CRB,v 1.2 2007/09/22 16:25:42 cognet Exp $ machine arm ident CRB @@ -84,6 +84,8 @@ device atapist # ATAPI tape drives options ATA_STATIC_ID # Static device numbering +device "7seg" + # SCSI Controllers device pty ==== //depot/projects/vimage/src/sys/arm/include/asmacros.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.5 2006/04/13 14:25:28 cognet Exp $ + * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.6 2007/09/22 14:23:52 cognet Exp $ */ #ifndef _MACHINE_ASMACROS_H_ @@ -116,18 +116,15 @@ ldr r5, =0xe0000004; /* Check if there's any RAS */ \ ldr r3, [r5]; \ cmp r3, #0; /* Is the update needed ? */ \ - beq 1f; \ - ldr lr, [r0, #16]; \ - ldr r1, =0xe0000008; \ - ldr r4, [r1]; /* Get the end of the RAS */ \ - mov r2, #0; /* Reset the magic addresses */ \ - str r2, [r5]; \ - str r2, [r1]; \ - cmp lr, r3; /* Were we in the RAS ? */ \ - blt 1f; \ - cmp lr, r4; \ - strlt r3, [r0, #16]; /* Yes, update the pc */ \ - 1: \ + ldrgt lr, [r0, #16]; \ + ldrgt r1, =0xe0000008; \ + ldrgt r4, [r1]; /* Get the end of the RAS */ \ + movgt r2, #0; /* Reset the magic addresses */ \ + strgt r2, [r5]; \ + strgt r2, [r1]; \ + cmpgt lr, r3; /* Were we in the RAS ? */ \ + cmpgt r4, lr; \ + strgt r3, [r0, #16]; /* Yes, update the pc */ \ mrs r0, spsr_all; /* Put the SPSR on the stack */ \ str r0, [sp, #-4]! ==== //depot/projects/vimage/src/sys/arm/include/endian.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * * @(#)endian.h 8.1 (Berkeley) 6/10/93 * $NetBSD: endian.h,v 1.7 1999/08/21 05:53:51 simonb Exp $ - * $FreeBSD: src/sys/arm/include/endian.h,v 1.10 2005/07/27 19:59:21 jhb Exp $ + * $FreeBSD: src/sys/arm/include/endian.h,v 1.11 2007/09/09 11:58:38 cognet Exp $ */ #ifndef _ENDIAN_H_ @@ -99,13 +99,15 @@ static __inline __uint16_t __bswap16_var(__uint16_t v) { + __uint32_t ret = v & 0xffff; + __asm __volatile( "mov %0, %0, ror #8\n" "orr %0, %0, %0, lsr #16\n" "bic %0, %0, %0, lsl #16" - : "+r" (v)); + : "+r" (ret)); - return (v); + return ((__uint16_t)ret); } #ifdef __OPTIMIZE__ ==== //depot/projects/vimage/src/sys/arm/include/vmparam.h#4 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.10 2007/06/04 08:02:22 alc Exp $ + * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.11 2007/09/25 06:25:04 alc Exp $ */ #ifndef _MACHINE_VMPARAM_H_ @@ -59,12 +59,13 @@ #define VM_PHYSSEG_DENSE /* - * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool + * Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool * from which physical pages are allocated and VM_FREEPOOL_DIRECT is * the pool from which physical pages for small UMA objects are * allocated. */ -#define VM_NFREEPOOL 2 +#define VM_NFREEPOOL 3 +#define VM_FREEPOOL_CACHE 2 #define VM_FREEPOOL_DEFAULT 0 #define VM_FREEPOOL_DIRECT 1 ==== //depot/projects/vimage/src/sys/arm/sa11x0/uart_dev_sa1110.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.8 2007/04/02 22:00:21 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.9 2007/09/12 18:28:09 cognet Exp $"); #include #include @@ -97,7 +97,7 @@ static void sa1110_putc(struct uart_bas *bas, int c) { - while (!uart_getreg(bas, SACOM_SR1) & SR1_TNF); + while (!(uart_getreg(bas, SACOM_SR1) & SR1_TNF)); uart_setreg(bas, SACOM_DR, c); } @@ -186,7 +186,7 @@ uart_setreg(&sc->sc_bas, SACOM_CR3, uart_getreg(&sc->sc_bas, SACOM_CR3) | CR3_TIE); for (i = 0; i < sc->sc_txdatasz; i++) { - while (!uart_getreg(&sc->sc_bas, SACOM_SR1) & SR1_TNF); + while (!(uart_getreg(&sc->sc_bas, SACOM_SR1) & SR1_TNF)); uart_setreg(&sc->sc_bas, SACOM_DR, sc->sc_txbuf[i]); uart_barrier(&sc->sc_bas); ==== //depot/projects/vimage/src/sys/arm/xscale/i8134x/crb_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.1 2007/07/27 14:50:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.2 2007/09/22 16:25:43 cognet Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -171,6 +171,13 @@ VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, }, + { + IOP34X_PCE1_VADDR, + IOP34X_PCE1, + IOP34X_PCE1_SIZE, + VM_PROT_READ|VM_PROT_WRITE, + PTE_NOCACHE, + }, { 0, 0, ==== //depot/projects/vimage/src/sys/arm/xscale/i8134x/files.crb#2 (text+ko) ==== @@ -1,2 +1,3 @@ -# $FreeBSD: src/sys/arm/xscale/i8134x/files.crb,v 1.1 2007/07/27 14:50:57 cognet Exp $ +# $FreeBSD: src/sys/arm/xscale/i8134x/files.crb,v 1.2 2007/09/22 16:25:43 cognet Exp $ arm/xscale/i8134x/crb_machdep.c standard +arm/xscale/i8134x/iq81342_7seg.c optional 7seg ==== //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/i81342.c,v 1.1 2007/07/27 14:50:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/i81342.c,v 1.2 2007/09/22 16:25:43 cognet Exp $"); #include #include @@ -400,6 +400,7 @@ device_add_child(dev, "iopwdog", 0); device_add_child(dev, "pcib", 0); device_add_child(dev, "pcib", 1); + device_add_child(dev, "iqseg", 0); bus_generic_probe(dev); bus_generic_attach(dev); return (0); ==== //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342reg.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/xscale/i8134x/i81342reg.h,v 1.1 2007/07/27 14:50:57 cognet Exp $ */ +/* $FreeBSD: src/sys/arm/xscale/i8134x/i81342reg.h,v 1.3 2007/09/22 22:25:24 cognet Exp $ */ #ifndef I83142_REG_H_ #define I83142_REG_H_ @@ -46,9 +46,51 @@ #define IOP34X_HWADDR 0xffd00000 #define IOP34X_SIZE 0x100000 +#define IOP34X_ADMA0_OFFSET 0x00080000 +#define IOP34X_ADMA1_OFFSET 0x00080200 +#define IOP34X_ADMA2_OFFSET 0x00080400 +#define IOP34X_ADMA_SIZE 0x200 + + +/* ADMA Registers */ +#define IOP34X_ADMA_CCR 0x0000 /* Channel Control Register */ +#define IOP34X_ADMA_CSR 0x0004 /* Channel Status Register */ +#define IOP34X_ADMA_DAR 0x0008 /* Descriptor Address Register */ +#define IOP34X_ADMA_IPCR 0x0018 /* Internal Interface Parity Ctrl Reg */ +#define IOP34X_ADMA_NDAR 0x0024 /* Next Descriptor Register */ +#define IOP34X_ADMA_DCR 0x0028 /* Descriptor Control Register */ + +#define IOP34X_ADMA_IE (1 << 0) /* Interrupt enable */ +#define IOP34X_ADMA_TR (1 << 1) /* Transfert Direction */ +/* + * Source Destination + * 00 Host I/O Interface Local Memory + * 01 Local Memory Host I/O Interface + * 10 Internal Bus Local Memory + * 11 Local Memory Internal Bus + */ +#define IOP34X_ADMA_SS (1 << 3) /* Source selection */ +/* 0000: Data Transfer / CRC / Memory Block Fill */ +#define IOP34X_ADMA_ZRBCE (1 << 7) /* Zero Result Buffer Check Enable */ +#define IOP34X_ADMA_MBFE (1 << 8) /* Memory Block Fill Enable */ +#define IOP34X_ADMA_CGE (1 << 9) /* CRC Generation enable */ +#define IOP34X_ADMA_CTD (1 << 10) /* CRC Transfer disable */ +#define IOP34X_ADMA_CSFD (1 << 11) /* CRC Seed fetch disable */ +#define IOP34X_ADMA_SWBE (1 << 12) /* Status write back enable */ +#define IOP34X_ADMA_ESE (1 << 13) /* Endian swap enable */ +#define IOP34X_ADMA_PQUTE (1 << 16) /* P+Q Update Transfer Enable */ +#define IOP34X_ADMA_DXE (1 << 17) /* Dual XOR Enable */ +#define IOP34X_ADMA_PQTE (1 << 18) /* P+Q Transfer Enable */ +#define IOP34X_ADMA_PTD (1 << 19) /* P Transfer Disable */ +#define IOP34X_ADMA_ROE (1 << 30) /* Relaxed Ordering Enable */ +#define IOP34X_ADMA_NSE (1 << 31) /* No Snoop Enable */ + #define IOP34X_PBBAR0 0x81588 /* PBI Base Address Register 0 */ #define IOP34X_PBBAR0_ADDRMASK 0xfffff000 #define IOP34X_PBBAR1 0x81590 +#define IOP34X_PCE1 0xF2000000 +#define IOP34X_PCE1_SIZE 0x00100000 +#define IOP34X_PCE1_VADDR 0xF1000000 #define IOP34X_ESSTSR0 0x82188 #define IOP34X_CONTROLLER_ONLY (1 << 14) #define IOP34X_INT_SEL_PCIX (1 << 15) ==== //depot/projects/vimage/src/sys/compat/ia32/ia32_sysvec.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ia32/ia32_sysvec.c,v 1.26 2007/07/12 18:01:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ia32/ia32_sysvec.c,v 1.27 2007/09/24 20:49:39 jhb Exp $"); #include "opt_compat.h" @@ -102,10 +102,13 @@ static u_long ia32_maxdsiz = IA32_MAXDSIZ; SYSCTL_ULONG(_compat_ia32, OID_AUTO, maxdsiz, CTLFLAG_RW, &ia32_maxdsiz, 0, ""); +TUNABLE_ULONG("compat.ia32.maxdsiz", &ia32_maxdsiz); static u_long ia32_maxssiz = IA32_MAXSSIZ; SYSCTL_ULONG(_compat_ia32, OID_AUTO, maxssiz, CTLFLAG_RW, &ia32_maxssiz, 0, ""); +TUNABLE_ULONG("compat.ia32.maxssiz", &ia32_maxssiz); static u_long ia32_maxvmem = IA32_MAXVMEM; SYSCTL_ULONG(_compat_ia32, OID_AUTO, maxvmem, CTLFLAG_RW, &ia32_maxvmem, 0, ""); +TUNABLE_ULONG("compat.ia32.maxvmem", &ia32_maxvmem); struct sysentvec ia32_freebsd_sysvec = { FREEBSD32_SYS_MAXSYSCALL, ==== //depot/projects/vimage/src/sys/compat/linux/linux_stats.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.87 2007/03/06 07:39:12 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.88 2007/09/18 19:50:33 dwmalone Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -306,19 +306,6 @@ l_int f_spare[6]; }; -struct l_statfs64 { - l_int f_type; - l_int f_bsize; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 28 12:10:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 548F516A420; Fri, 28 Sep 2007 12:10:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 157C116A417 for ; Fri, 28 Sep 2007 12:10:44 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E57E213C447 for ; Fri, 28 Sep 2007 12:10:43 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8SCAhEw077492 for ; Fri, 28 Sep 2007 12:10:43 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8SCAhG0077489 for perforce@freebsd.org; Fri, 28 Sep 2007 12:10:43 GMT (envelope-from taleks@FreeBSD.org) Date: Fri, 28 Sep 2007 12:10:43 GMT Message-Id: <200709281210.l8SCAhG0077489@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 126916 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Sep 2007 12:10:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=126916 Change 126916 by taleks@taleks_th on 2007/09/28 12:09:42 Just submit of pending changelist. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/loader_mod/help.i386#1 add .. //depot/projects/soc2007/taleks-pxe_http/loader_mod/version#1 add .. //depot/projects/soc2007/taleks-pxe_http/pxe_conv.c#4 delete .. //depot/projects/soc2007/taleks-pxe_http/pxe_conv.h#4 delete .. //depot/projects/soc2007/taleks-pxe_http/pxe_mutex.c#4 delete .. //depot/projects/soc2007/taleks-pxe_http/pxe_mutex.h#4 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Sep 28 19:38:40 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED55016A41B; Fri, 28 Sep 2007 19:38:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8116F16A419 for ; Fri, 28 Sep 2007 19:38:39 +0000 (UTC) (envelope-from eri@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 63D6F13C457 for ; Fri, 28 Sep 2007 19:38:39 +0000 (UTC) (envelope-from eri@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8SJcdfh038693 for ; Fri, 28 Sep 2007 19:38:39 GMT (envelope-from eri@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8SJafp0038500 for perforce@freebsd.org; Fri, 28 Sep 2007 19:36:41 GMT (envelope-from eri@FreeBSD.org) Date: Fri, 28 Sep 2007 19:36:41 GMT Message-Id: <200709281936.l8SJafp0038500@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to eri@FreeBSD.org using -f From: Ermal Luci To: Perforce Change Reviews Cc: Subject: PERFORCE change 126941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Sep 2007 19:38:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=126941 Change 126941 by eri@eri on 2007/09/28 19:36:17 update to current src Affected files ... .. //depot/doc/Makefile#1 branch .. //depot/doc/README#1 branch .. //depot/doc/bn_BD.ISO10646-1/Makefile#1 branch .. //depot/doc/bn_BD.ISO10646-1/articles/Makefile#1 branch .. //depot/doc/bn_BD.ISO10646-1/articles/Makefile.inc#1 branch .. //depot/doc/bn_BD.ISO10646-1/articles/explaining-bsd/Makefile#1 branch .. //depot/doc/bn_BD.ISO10646-1/articles/explaining-bsd/article.sgml#1 branch .. //depot/doc/bn_BD.ISO10646-1/articles/new-users/Makefile#1 branch .. //depot/doc/bn_BD.ISO10646-1/articles/new-users/article.sgml#1 branch .. //depot/doc/da_DK.ISO8859-1/Makefile#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/Makefile#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/Makefile.inc#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/euro/Makefile#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/euro/article.sgml#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/ipsec-must/Makefile#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/ipsec-must/article.sgml#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/Makefile#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/article.sgml#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/dhcpd.conf#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/install.cfg#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/loader.rc#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/pkgmaker.sh#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/post#1 branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/pre#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/authors.ent#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/bookinfo.ent#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/catalog#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/disclaimer.sgml#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/freebsd.dsl#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/l10n.ent#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/legalnotice.sgml#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/license.sgml#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/mailing-lists.ent#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/newsgroups.ent#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/teams.ent#1 branch .. //depot/doc/da_DK.ISO8859-1/share/sgml/translators.ent#1 branch .. //depot/doc/de_DE.ISO8859-1/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/Makefile.inc#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/contributing-ports/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/contributing-ports/article.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/contributing/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/contributing/article.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/explaining-bsd/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/laptop/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/laptop/article.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/new-users/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/new-users/article.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/version-guide/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/articles/version-guide/article.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/books/Makefile.inc#1 branch .. //depot/doc/de_DE.ISO8859-1/books/faq/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/books/faq/book.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/book.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/chapter.decl#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/chapters.ent#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/examples/appendix.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/overview/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/see-also/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/structure/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/tools/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/translations/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/Makefile#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/appendix.decl#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/audit/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/book.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/chapter.decl#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/chapters.ent#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/colophon.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/config/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/desktop/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/geom/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/install/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/jails/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/mac/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/newsgroups.ent#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/preface/preface.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/printing/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/security/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/txtfiles.ent#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/users/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/Makefile.inc1#2 integrate .. //depot/user/eri/pf_ext/ObsoleteFiles.inc#2 integrate .. //depot/user/eri/pf_ext/UPDATING#2 integrate .. //depot/user/eri/pf_ext/bin/df/df.c#2 integrate .. //depot/user/eri/pf_ext/bin/ed/Makefile#2 integrate .. //depot/user/eri/pf_ext/bin/getfacl/getfacl.c#2 integrate .. //depot/user/eri/pf_ext/bin/ps/print.c#2 integrate .. //depot/user/eri/pf_ext/bin/ps/ps.c#2 integrate .. //depot/user/eri/pf_ext/bin/sh/var.c#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/CHANGES#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/README#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/bin/named/client.c#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/bin/named/server.c#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch01.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch02.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch03.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch04.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch05.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch07.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch08.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch09.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.pdf#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/lib/dns/dispatch.c#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/lib/dns/include/dns/dispatch.h#2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/version#2 integrate .. //depot/user/eri/pf_ext/contrib/diff/FREEBSD-Xlist#2 integrate .. //depot/user/eri/pf_ext/contrib/diff/Makefile.am#2 delete .. //depot/user/eri/pf_ext/contrib/diff/bootstrap#2 delete .. //depot/user/eri/pf_ext/contrib/diff/doc/Makefile.am#2 delete .. //depot/user/eri/pf_ext/contrib/diff/doc/diagmeet.note#2 delete .. //depot/user/eri/pf_ext/contrib/diff/exgettext#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/Makefile.am#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/alloca.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/alloca_.h#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/dirname.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/fnmatch.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/fnmatch_.h#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/fnmatch_loop.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/getopt.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/getopt1.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/getopt_int.h#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/gettimeofday.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/imaxtostr.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/inttostr.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/malloc.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/mkstemp.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/offtostr.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/realloc.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/regex.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/regex.h#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/setmode.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/stdbool_.h#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/strcasecmp.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/stripslash.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/strncasecmp.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/strtol.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/strtoll.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/strtoul.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/strtoull.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/tempname.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/time_r.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/time_r.h#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/umaxtostr.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/waitpid.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/xstrdup.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/xstrtol.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/xstrtoul.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/lib/xstrtoumax.c#2 delete .. //depot/user/eri/pf_ext/contrib/diff/man/Makefile.am#2 delete .. //depot/user/eri/pf_ext/contrib/diff/src/Makefile.am#2 delete .. //depot/user/eri/pf_ext/contrib/gcc/BASE-VER#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/DATESTAMP#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/Makefile.in#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/calls.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/combine.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/arm/arm.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/arm/cirrus.md#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/i386/i386.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/i386/i386.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/i386/i386.md#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/i386/sse.md#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/mips/iris6.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/rs6000/predicates.md#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/rs6000/rs6000.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/double.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/extended.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/floatundidf.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/floatundisf.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/floatunsidf.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/floatunsisf.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/op-2.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/op-4.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/op-common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/quad.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/sparc/sparc.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/call.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/class.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/cp-tree.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/decl.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/decl2.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/init.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/parser.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/pt.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/semantics.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/typeck.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/typeck2.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/doc/cpp.1#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/doc/gcc.1#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/doc/gcov.1#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/dwarf2out.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/except.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/fold-const.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/function.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/gimplify.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/gthr-posix.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/gthr-posix.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/loop-iv.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/objc/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/omp-low.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/pointer-set.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/pointer-set.h#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/reload.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/tree-if-conv.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/tree-ssa-loop-niter.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/tree-ssa-operands.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/tree-ssa-structalias.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/tree-vrp.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcc/version.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/include/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/libcpp/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/libdecnumber/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/libgomp/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/libgomp/config/posix/lock.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/libgomp/sections.c#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/libiberty/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/libmudflap/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/gcclibs/libssp/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/COPYING#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/FREEBSD-Xlist#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/FREEBSD-upgrade#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/Makefile#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/README#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/accounting.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/accounting.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/aes.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/aes.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/aes_wrap.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/aes_wrap.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ap.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ap_list.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/ap_list.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/beacon.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/beacon.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/build_config.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/config.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/config.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/config_types.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/crypto.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/crypto.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ctrl_iface.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ctrl_iface.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/defconfig#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/defs.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/des.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/code_structure.doxygen#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/ctrl_iface.doxygen#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/doxygen.fast#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/doxygen.full#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/driver_wrapper.doxygen#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/eap.doxygen#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/hostapd.fig#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/kerneldoc2doxygen.pl#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/mainpage.doxygen#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/porting.doxygen#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/driver.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/driver_test.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/driver_wired.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_aka.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_defs.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_gpsk.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_gpsk_common.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_gpsk_common.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_gtc.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_i.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_identity.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_md5.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_methods.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_methods.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_mschapv2.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_pax.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_pax_common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_pax_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_peap.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_psk.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_psk_common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_psk_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sake.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sake_common.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sake_common.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim_common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim_db.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim_db.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_tls.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_tls_common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_tls_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_tlv.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_ttls.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_ttls.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_vendor_test.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eapol_sm.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eapol_sm.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eapol_version.patch#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eloop.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eloop.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eloop_none.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/eloop_win.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/hlr_auc_gw.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/hlr_auc_gw.milenage_db#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/hostap_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.8#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.conf#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.eap_user#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.vlan#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd_cli.1#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd_cli.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hw_features.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/hw_features.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/iapp.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/iapp.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11_auth.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11_auth.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11h.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11h.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_1x.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_1x.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/includes.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/l2_packet.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/l2_packet_none.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/md4.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/md5.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/md5.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/milenage.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/milenage.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/mlme.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/mlme.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/ms_funcs.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ms_funcs.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/os.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/os_internal.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/os_none.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/os_unix.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/pmksa_cache.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/pmksa_cache.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/preauth.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/preauth.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/radius.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/radius.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/radius_client.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/radius_client.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/radius_server.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/radius_server.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/rc4.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/rc4.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/reconfig.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/sha1.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/sha1.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/sha256.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/sha256.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/sta_info.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/sta_info.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/state_machine.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/tls.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/tls_gnutls.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/tls_none.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/tls_openssl.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/version.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/vlan_init.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/vlan_init.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/wme.c#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/wme.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/wpa.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/wpa.h#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/wpa_common.h#1 branch .. //depot/user/eri/pf_ext/contrib/hostapd/wpa_ctrl.c#2 integrate .. //depot/user/eri/pf_ext/contrib/hostapd/wpa_ctrl.h#2 integrate .. //depot/user/eri/pf_ext/contrib/ipfilter/tools/ipfstat.c#2 integrate .. //depot/user/eri/pf_ext/contrib/less/NEWS#2 integrate .. //depot/user/eri/pf_ext/contrib/less/README#2 integrate .. //depot/user/eri/pf_ext/contrib/less/cmdbuf.c#2 integrate .. //depot/user/eri/pf_ext/contrib/less/command.c#2 integrate .. //depot/user/eri/pf_ext/contrib/less/forwback.c#2 integrate .. //depot/user/eri/pf_ext/contrib/less/less.man#2 integrate .. //depot/user/eri/pf_ext/contrib/less/less.nro#2 integrate .. //depot/user/eri/pf_ext/contrib/less/lessecho.man#2 integrate .. //depot/user/eri/pf_ext/contrib/less/lessecho.nro#2 integrate .. //depot/user/eri/pf_ext/contrib/less/lesskey.man#2 integrate .. //depot/user/eri/pf_ext/contrib/less/lesskey.nro#2 integrate .. //depot/user/eri/pf_ext/contrib/less/main.c#2 integrate .. //depot/user/eri/pf_ext/contrib/less/optfunc.c#2 integrate .. //depot/user/eri/pf_ext/contrib/less/screen.c#2 integrate .. //depot/user/eri/pf_ext/contrib/less/search.c#2 integrate .. //depot/user/eri/pf_ext/contrib/less/version.c#2 integrate .. //depot/user/eri/pf_ext/contrib/libobjc/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/acinclude.m4#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/config.h.in#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/configure#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/include/Makefile.am#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/include/Makefile.in#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/include/bits/ostream.tcc#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/include/bits/ostream_insert.h#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/include/ext/throw_allocator.h#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/include/std/std_fstream.h#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/libsupc++/exception#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/libsupc++/new#2 integrate .. //depot/user/eri/pf_ext/contrib/libstdc++/libsupc++/typeinfo#2 integrate .. //depot/user/eri/pf_ext/contrib/netcat/netcat.c#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/HISTORY#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/README#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/VERSION#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/bin/audit/audit.8#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/bin/audit/audit.c#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/bin/auditd/audit_warn.c#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/bin/auditd/auditd.8#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/bin/auditd/auditd.c#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/bin/auditd/auditd.h#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/bin/auditreduce/auditreduce.c#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/config/config.h#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/configure#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/configure.ac#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/etc/audit_event#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/libbsm/au_control.3#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/libbsm/au_event.3#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/libbsm/audit_submit.3#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/libbsm/bsm_io.c#2 integrate .. //depot/user/eri/pf_ext/contrib/openbsm/libbsm/bsm_token.c#2 integrate .. //depot/user/eri/pf_ext/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/user/eri/pf_ext/contrib/opensolaris/cmd/zdb/zdb.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/authpf/authpf.8#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/authpf/authpf.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/filter.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/filter.h#1 branch .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/ftp-proxy.8#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/ftp-proxy.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/getline.c#2 delete .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/util.c#2 delete .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/util.h#2 delete .. //depot/user/eri/pf_ext/contrib/pf/libevent/buffer.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/evbuffer.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/event-internal.h#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/event.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/event.h#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/evsignal.h#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/kqueue.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/log.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/log.h#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/poll.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/select.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/libevent/signal.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/man/pf.4#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/man/pf.conf.5#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/man/pf.os.5#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/man/pflog.4#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/man/pfsync.4#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/parse.y#4 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pf_print_state.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl.8#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_altq.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_optimize.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_osfp.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_parser.c#4 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_radix.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_table.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pflogd/pflogd.8#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pflogd/pflogd.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pflogd/pflogd.h#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/pflogd/privsep.c#2 integrate .. //depot/user/eri/pf_ext/contrib/pf/tftp-proxy/filter.c#1 branch .. //depot/user/eri/pf_ext/contrib/pf/tftp-proxy/filter.h#1 branch .. //depot/user/eri/pf_ext/contrib/pf/tftp-proxy/tftp-proxy.8#1 branch .. //depot/user/eri/pf_ext/contrib/pf/tftp-proxy/tftp-proxy.c#1 branch .. //depot/user/eri/pf_ext/contrib/tcpdump/print-bgp.c#2 integrate .. //depot/user/eri/pf_ext/contrib/telnet/telnet/externs.h#2 integrate .. //depot/user/eri/pf_ext/contrib/traceroute/traceroute.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/COPYING#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ChangeLog#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/FREEBSD-Xlist#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/FREEBSD-upgrade#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/Makefile#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/README#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/aes.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/aes.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/aes_wrap.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/aes_wrap.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/asn1.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/asn1.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/asn1_test.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/base64.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/base64.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/bignum.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/bignum.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/build_config.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_file.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_none.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_ssid.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_types.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_winreg.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_cryptoapi.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_gnutls.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_internal.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_libtomcrypt.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_none.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_dbus.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_dbus.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_named_pipe.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_udp.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_unix.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/dbus-wpa_supplicant.conf#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/dbus_dict_helpers.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/dbus_dict_helpers.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/defconfig#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/defs.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/des.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/code_structure.doxygen#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/ctrl_iface.doxygen#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_background.8#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_background.sgml#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_cli.8#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.sgml#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/doxygen.fast#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/doxygen.full#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/eap.doxygen#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/kerneldoc2doxygen.pl#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/mainpage.doxygen#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/porting.doxygen#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/testing_tools.doxygen#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_hostap.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_ndis.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_ndis.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_ndis_.c#2 delete .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_wired.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/drivers.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_aka.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_defs.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_fast.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_gpsk.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_gpsk_common.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_gpsk_common.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_gtc.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_i.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_leap.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_md5.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_methods.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_methods.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_mschapv2.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_otp.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_pax.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_pax_common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_pax_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_peap.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_psk.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_psk_common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_psk_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sake.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sake_common.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sake_common.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sim.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sim_common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sim_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_testing.txt#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tls.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tls_common.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tls_common.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tlv.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tlv.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_ttls.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_ttls.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_vendor_test.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eapol_sm.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eapol_sm.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eapol_test.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eloop.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eloop.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eloop_none.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eloop_win.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/events.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/hostapd.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/includes.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/l2_packet.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/libtommath.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/main.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/md4.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/md5.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/md5.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/mlme.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/mlme.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ms_funcs.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ms_funcs.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/nmake.mak#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/openssl-0.9.8d-tls-extensions.patch#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/openssl-0.9.8e-tls-extensions.patch#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/os.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/os_internal.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/os_none.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/os_unix.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/pcsc_funcs.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/pcsc_funcs.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/pmksa_cache.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/pmksa_cache.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/preauth.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/preauth.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/preauth_test.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/radius.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/radius.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/radius_client.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/radius_client.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/rc4.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/rc4.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/rsa.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/rsa.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/sha1.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/sha1.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/sha256.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/sha256.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/state_machine.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_gnutls.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_internal.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_none.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_openssl.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_schannel.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tlsv1_client.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tlsv1_client.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tlsv1_common.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tlsv1_common.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/todo.txt#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/version.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_cli.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_common.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_ctrl.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_ctrl.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.ui#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.ui.h#2 delete .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/main.cpp#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.ui#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.ui.h#2 delete .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.cpp#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.ui#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.ui.h#2 delete .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui.h#2 delete .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpa_gui.pro#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.cpp#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.h#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui.h#2 delete .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpamsg.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/eventhistory.ui.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/networkconfig.ui.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/scanresults.ui.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/setup-mingw-cross-compiling#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/wpa_gui.pro#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/wpagui.ui#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/wpagui.ui.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/wpamsg.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_i.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_passphrase.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_supplicant.c#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_supplicant.conf#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_supplicant.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_supplicant_i.h#2 integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/x509v3.c#1 branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/x509v3.h#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/porters-handbook/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/porters-handbook/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/porters-handbook/freebsd.dsl#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/flyer/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/flyer/flyer.tex#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/articles.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/bibliography.sgml#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/bookinfo.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/books.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/catalog#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/freebsd.dsl#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/l10n.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/legalnotice.sgml#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/mailing-lists.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/mirrors-local.xsl#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/newsgroups.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/teams.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/trademarks.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/trademarks.sgml#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/translators.ent#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/transtable-local.xsl#1 branch .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/transtable.xml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/Makefile.inc#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/cvs-freebsd/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/dialup-firewall/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/explaining-bsd/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/explaining-bsd/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/formatting-media/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/formatting-media/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/freebsd-questions/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/freebsd-questions/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/laptop/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/laptop/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/multi-os/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/multi-os/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/new-users/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/new-users/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/problem-reports/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/problem-reports/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng-packages/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng-packages/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng-packages/extra.css#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng/extra.css#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/mk/doc.local.mk#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/articles.ent#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/bookinfo.ent#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/catalog#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/freebsd.dsl#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/glossary/freebsd-glossary.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/l10n.ent#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/legalnotice.sgml#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/mailing-lists.ent#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/teams.ent#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/trademarks.ent#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/trademarks.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/5-roadmap/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/5-roadmap/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/5-roadmap/extra.css#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/Makefile.inc#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/bsdl-gpl/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/bsdl-gpl/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/building-products/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/building-products/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/casestudy-argentina.com/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/casestudy-argentina.com/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/checkpoint/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/checkpoint/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/committers-guide/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/console-server/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/console-server/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributing-ports/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributing-ports/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributing/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributing/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/chapter.decl#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.386bsd.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.core.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.corealumni.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.develalumni.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.docproj.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.ent#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.staff.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/contrib.who.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/cvs-freebsd/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/cvs-freebsd/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/cvsup-advanced/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/cvsup-advanced/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/dialup-firewall/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/dialup-firewall/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/diskless-x/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/diskless-x/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/euro/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/euro/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/explaining-bsd/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/explaining-bsd/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_1.conf.default#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_1.sh#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_2.conf.default#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_2.sh#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_3.mk#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/filtering-bridges/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/filtering-bridges/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fonts/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fonts/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/formatting-media/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/formatting-media/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/freebsd-questions/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/freebsd-questions/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/geom-class/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/geom-class/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/hats/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/hats/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/hubs/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/hubs/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/ipsec-must/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/ipsec-must/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/laptop/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/laptop/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/linux-comparison/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/linux-comparison/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/mailing-list-faq/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/mailing-list-faq/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/mh/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/mh/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/multi-os/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/multi-os/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/nanobsd/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/nanobsd/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/new-users/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/new-users/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/p4-primer/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/p4-primer/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/converse.c#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/pam_unix.c#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/su.c#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/portbuild/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/portbuild/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pr-guidelines/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pr-guidelines/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/problem-reports/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/problem-reports/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/dhcpd.conf#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/install.cfg#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/loader.rc#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/pkgmaker.sh#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/post#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/pre#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/rc-scripting/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/rc-scripting/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/relaydelay/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/relaydelay/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng-packages/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng-packages/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng-packages/extra.css#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng/extra.css#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/serial-uart/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/serial-uart/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/solid-state/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/solid-state/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/storage-devices/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/storage-devices/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/version-guide/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/version-guide/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/vinum/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/vinum/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/vm-design/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/vm-design/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/wp-toolbox/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/wp-toolbox/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/zip-drive/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/zip-drive/article.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/Makefile.inc#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/chapters.ent#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/isa/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/jail/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/kobj/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/locking/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/mac.ent#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/mac/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/newbus/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/pccard/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/pci/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/scsi/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/smp/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/sound/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/sysinit/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/usb/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/vm/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/bibliography/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/bibliography/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/corp-net-guide/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/corp-net-guide/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/corp-net-guide/freebsd.dsl#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/design-44bsd/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/design-44bsd/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/design-44bsd/freebsd.dsl#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/dev-model/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/dev-model/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/dev-model/chapters.ent#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/chapters.ent#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/dma/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/introduction/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/ipv6/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/l10n/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/policies/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/sockets/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/testing/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook/x86/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/faq/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/faq/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/Makefile#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/book.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/chapter.decl#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/chapters.ent#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/examples/appendix.sgml#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 28 20:34:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80FA416A421; Fri, 28 Sep 2007 20:34:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1DF8B16A41A; Fri, 28 Sep 2007 20:34:56 +0000 (UTC) (envelope-from peter@wemm.org) Received: from overcee.wemm.org (overcee.wemm.org [IPv6:2001:5a8:4:2140::3]) by mx1.freebsd.org (Postfix) with ESMTP id 16E9513C458; Fri, 28 Sep 2007 20:34:53 +0000 (UTC) (envelope-from peter@wemm.org) Received: from overcee.wemm.org (localhost [127.0.0.1]) by overcee.wemm.org (8.14.1/8.14.1) with ESMTP id l8SKYqRt099936; Fri, 28 Sep 2007 13:34:52 -0700 (PDT) (envelope-from peter@wemm.org) Received: from localhost (localhost [[UNIX: localhost]]) by overcee.wemm.org (8.14.1/8.14.1/Submit) id l8SKYqoK099935; Fri, 28 Sep 2007 13:34:52 -0700 (PDT) (envelope-from peter@wemm.org) X-Authentication-Warning: overcee.wemm.org: peter set sender to peter@wemm.org using -f From: Peter Wemm To: Ermal Luci Date: Fri, 28 Sep 2007 13:34:52 -0700 User-Agent: KMail/1.9.6 References: <200709281936.l8SJafp0038500@repoman.freebsd.org> In-Reply-To: <200709281936.l8SJafp0038500@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709281334.52659.peter@wemm.org> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Sep 2007 20:34:57 -0000 Umm. What the heck? You've dumped a bunch of stuff in //depot/doc, which is where the perforce repository docs are... On Friday 28 September 2007, Ermal Luci wrote: > http://perforce.freebsd.org/chv.cgi?CH=126941 > > Change 126941 by eri@eri on 2007/09/28 19:36:17 > > update to current src > > Affected files ... > > .. //depot/doc/Makefile#1 branch > .. //depot/doc/README#1 branch > .. //depot/doc/bn_BD.ISO10646-1/Makefile#1 branch > .. //depot/doc/bn_BD.ISO10646-1/articles/Makefile#1 branch > .. //depot/doc/bn_BD.ISO10646-1/articles/Makefile.inc#1 branch > .. //depot/doc/bn_BD.ISO10646-1/articles/explaining-bsd/Makefile#1 > branch .. > //depot/doc/bn_BD.ISO10646-1/articles/explaining-bsd/article.sgml#1 > branch .. //depot/doc/bn_BD.ISO10646-1/articles/new-users/Makefile#1 > branch .. > //depot/doc/bn_BD.ISO10646-1/articles/new-users/article.sgml#1 branch > .. //depot/doc/da_DK.ISO8859-1/Makefile#1 branch > .. //depot/doc/da_DK.ISO8859-1/articles/Makefile#1 branch > .. //depot/doc/da_DK.ISO8859-1/articles/Makefile.inc#1 branch > .. //depot/doc/da_DK.ISO8859-1/articles/euro/Makefile#1 branch > .. //depot/doc/da_DK.ISO8859-1/articles/euro/article.sgml#1 branch > .. //depot/doc/da_DK.ISO8859-1/articles/ipsec-must/Makefile#1 branch > .. //depot/doc/da_DK.ISO8859-1/articles/ipsec-must/article.sgml#1 > branch .. //depot/doc/da_DK.ISO8859-1/articles/pxe/Makefile#1 branch > .. //depot/doc/da_DK.ISO8859-1/articles/pxe/article.sgml#1 branch .. > //depot/doc/da_DK.ISO8859-1/articles/pxe/dhcpd.conf#1 branch .. > //depot/doc/da_DK.ISO8859-1/articles/pxe/install.cfg#1 branch .. > //depot/doc/da_DK.ISO8859-1/articles/pxe/loader.rc#1 branch .. > //depot/doc/da_DK.ISO8859-1/articles/pxe/pkgmaker.sh#1 branch .. > //depot/doc/da_DK.ISO8859-1/articles/pxe/post#1 branch > .. //depot/doc/da_DK.ISO8859-1/articles/pxe/pre#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/authors.ent#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/bookinfo.ent#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/catalog#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/disclaimer.sgml#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/freebsd.dsl#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/l10n.ent#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/legalnotice.sgml#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/license.sgml#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/mailing-lists.ent#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/newsgroups.ent#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/teams.ent#1 branch > .. //depot/doc/da_DK.ISO8859-1/share/sgml/translators.ent#1 branch > .. //depot/doc/de_DE.ISO8859-1/Makefile#1 branch > .. //depot/doc/de_DE.ISO8859-1/articles/Makefile#1 branch > .. //depot/doc/de_DE.ISO8859-1/articles/Makefile.inc#1 branch > .. //depot/doc/de_DE.ISO8859-1/articles/contributing-ports/Makefile#1 > branch .. > //depot/doc/de_DE.ISO8859-1/articles/contributing-ports/article.sgml# >1 branch .. > //depot/doc/de_DE.ISO8859-1/articles/contributing/Makefile#1 branch > .. //depot/doc/de_DE.ISO8859-1/articles/contributing/article.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/articles/explaining-bsd/Makefile#1 branch > .. //depot/doc/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml#1 > branch .. //depot/doc/de_DE.ISO8859-1/articles/laptop/Makefile#1 > branch .. //depot/doc/de_DE.ISO8859-1/articles/laptop/article.sgml#1 > branch .. //depot/doc/de_DE.ISO8859-1/articles/new-users/Makefile#1 > branch .. > //depot/doc/de_DE.ISO8859-1/articles/new-users/article.sgml#1 branch > .. //depot/doc/de_DE.ISO8859-1/articles/version-guide/Makefile#1 > branch .. > //depot/doc/de_DE.ISO8859-1/articles/version-guide/article.sgml#1 > branch .. //depot/doc/de_DE.ISO8859-1/books/Makefile#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/Makefile.inc#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/faq/Makefile#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/faq/book.sgml#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/Makefile#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/book.sgml#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/chapter.decl#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/fdp-primer/chapters.ent#1 branch > .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/examples/appendix.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/overview/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml# >1 branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/see-also/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml >#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml >#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/structure/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml >#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.sgml >#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/tools/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/translations/chapter.sgm >l#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sg >ml#1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/Makefile#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/advanced-networking/chapte >r.sgml#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/appendix.decl#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/audit/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml# >1 branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/book.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/handbook/chapter.decl#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/handbook/chapters.ent#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/handbook/colophon.sgml#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/handbook/config/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml# >1 branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/desktop/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/geom/chapter.sgml#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/handbook/install/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml# >1 branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/jails/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml# >1 branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/mac/chapter.sgml#1 branch > .. //depot/doc/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sg >ml#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/newsgroups.ent#1 branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml# >1 branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/preface/preface.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/printing/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/security/chapter.sgml#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml#1 > branch .. //depot/doc/de_DE.ISO8859-1/books/handbook/txtfiles.ent#1 > branch .. > //depot/doc/de_DE.ISO8859-1/books/handbook/users/chapter.sgml#1 > branch .. //depot/user/eri/pf_ext/Makefile.inc1#2 integrate > .. //depot/user/eri/pf_ext/ObsoleteFiles.inc#2 integrate > .. //depot/user/eri/pf_ext/UPDATING#2 integrate > .. //depot/user/eri/pf_ext/bin/df/df.c#2 integrate > .. //depot/user/eri/pf_ext/bin/ed/Makefile#2 integrate > .. //depot/user/eri/pf_ext/bin/getfacl/getfacl.c#2 integrate > .. //depot/user/eri/pf_ext/bin/ps/print.c#2 integrate > .. //depot/user/eri/pf_ext/bin/ps/ps.c#2 integrate > .. //depot/user/eri/pf_ext/bin/sh/var.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/bind9/CHANGES#2 integrate > .. //depot/user/eri/pf_ext/contrib/bind9/README#2 integrate > .. //depot/user/eri/pf_ext/contrib/bind9/bin/named/client.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/bin/named/server.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch01.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch02.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch03.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch04.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch05.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch07.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch08.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch09.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.html#2 integrate > .. //depot/user/eri/pf_ext/contrib/bind9/doc/arm/Bv9ARM.pdf#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.dig.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.dnssec-keygen.html# >2 integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.dnssec-signzone.htm >l#2 integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.host.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.named-checkconf.htm >l#2 integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.named-checkzone.htm >l#2 integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.named.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.rndc-confgen.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.rndc.conf.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/doc/arm/man.rndc.html#2 > integrate .. > //depot/user/eri/pf_ext/contrib/bind9/lib/dns/dispatch.c#2 integrate > .. > //depot/user/eri/pf_ext/contrib/bind9/lib/dns/include/dns/dispatch.h# >2 integrate .. //depot/user/eri/pf_ext/contrib/bind9/version#2 > integrate .. //depot/user/eri/pf_ext/contrib/diff/FREEBSD-Xlist#2 > integrate .. //depot/user/eri/pf_ext/contrib/diff/Makefile.am#2 > delete .. //depot/user/eri/pf_ext/contrib/diff/bootstrap#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/doc/Makefile.am#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/doc/diagmeet.note#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/exgettext#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/Makefile.am#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/alloca.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/alloca_.h#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/dirname.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/fnmatch.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/fnmatch_.h#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/fnmatch_loop.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/getopt.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/getopt1.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/getopt_int.h#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/gettimeofday.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/imaxtostr.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/inttostr.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/malloc.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/mkstemp.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/offtostr.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/realloc.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/regex.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/regex.h#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/setmode.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/stdbool_.h#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/strcasecmp.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/stripslash.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/strncasecmp.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/strtol.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/strtoll.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/strtoul.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/strtoull.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/tempname.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/time_r.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/time_r.h#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/umaxtostr.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/waitpid.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/xstrdup.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/xstrtol.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/xstrtoul.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/lib/xstrtoumax.c#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/man/Makefile.am#2 delete > .. //depot/user/eri/pf_ext/contrib/diff/src/Makefile.am#2 delete > .. //depot/user/eri/pf_ext/contrib/gcc/BASE-VER#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/ChangeLog#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/DATESTAMP#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/Makefile.in#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/calls.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/combine.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/config/arm/arm.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/config/arm/cirrus.md#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/i386/i386.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/config/i386/i386.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/i386/i386.md#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/config/i386/sse.md#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/config/mips/iris6.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/rs6000/predicates.md#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/rs6000/rs6000.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/double.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/extended.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/floatundidf.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/floatundisf.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/floatunsidf.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/floatunsisf.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/op-2.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/op-4.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/op-common.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/config/soft-fp/quad.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/config/sparc/sparc.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/ChangeLog#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/call.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/class.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/cp-tree.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/decl.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/decl2.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/init.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/parser.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/cp/pt.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/cp/semantics.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/cp/typeck.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/cp/typeck2.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/doc/cpp.1#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/doc/gcc.1#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/doc/gcov.1#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/dwarf2out.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/except.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/fold-const.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/function.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/gimplify.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/gthr-posix.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/gthr-posix.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/loop-iv.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/objc/ChangeLog#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/omp-low.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/pointer-set.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/pointer-set.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/reload.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/tree-if-conv.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/tree-ssa-loop-niter.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcc/tree-ssa-operands.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcc/tree-ssa-structalias.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/tree-vrp.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/gcc/version.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcclibs/include/ChangeLog#2 integrate > .. //depot/user/eri/pf_ext/contrib/gcclibs/libcpp/ChangeLog#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcclibs/libdecnumber/ChangeLog#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcclibs/libgomp/ChangeLog#2 integrate > .. > //depot/user/eri/pf_ext/contrib/gcclibs/libgomp/config/posix/lock.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcclibs/libgomp/sections.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcclibs/libiberty/ChangeLog#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcclibs/libmudflap/ChangeLog#2 > integrate .. > //depot/user/eri/pf_ext/contrib/gcclibs/libssp/ChangeLog#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/COPYING#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/ChangeLog#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/FREEBSD-Xlist#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/FREEBSD-upgrade#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/Makefile#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/README#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/accounting.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/accounting.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/aes.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/aes.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/aes_wrap.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/aes_wrap.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/ap.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/ap_list.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/ap_list.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/beacon.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/beacon.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/build_config.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/common.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/common.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/config.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/config.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/config_types.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/crypto.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/crypto.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/ctrl_iface.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/ctrl_iface.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/defconfig#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/defs.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/des.c#1 branch > .. > //depot/user/eri/pf_ext/contrib/hostapd/doc/code_structure.doxygen#1 > branch .. > //depot/user/eri/pf_ext/contrib/hostapd/doc/ctrl_iface.doxygen#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/doxygen.fast#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/doxygen.full#1 > branch .. > //depot/user/eri/pf_ext/contrib/hostapd/doc/driver_wrapper.doxygen#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/eap.doxygen#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/doc/hostapd.fig#1 > branch .. > //depot/user/eri/pf_ext/contrib/hostapd/doc/kerneldoc2doxygen.pl#1 > branch .. > //depot/user/eri/pf_ext/contrib/hostapd/doc/mainpage.doxygen#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/doc/porting.doxygen#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/driver.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/driver_test.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/driver_wired.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_aka.c#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_defs.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_gpsk.c#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_gpsk_common.c#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_gpsk_common.h#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_gtc.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_i.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_identity.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_md5.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_methods.c#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_methods.h#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_mschapv2.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_pax.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eap_pax_common.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/eap_pax_common.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_peap.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_psk.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eap_psk_common.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/eap_psk_common.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sake.c#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sake_common.c#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sake_common.h#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eap_sim_common.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim_common.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim_db.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_sim_db.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_tls.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eap_tls_common.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/eap_tls_common.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_tlv.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_ttls.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/eap_ttls.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eap_vendor_test.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/eapol_sm.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eapol_sm.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eapol_version.patch#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/eloop.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eloop.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/eloop_none.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/eloop_win.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/hlr_auc_gw.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/hlr_auc_gw.milenage_db#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/hostap_common.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.8#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.conf#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/hostapd.eap_user#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/hostapd.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/hostapd.vlan#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/hostapd_cli.1#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/hostapd_cli.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/hw_features.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/hw_features.h#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/iapp.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/iapp.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11_auth.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11_auth.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11h.c#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_11h.h#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_1x.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/ieee802_1x.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/hostapd/includes.h#1 > branch .. //depot/user/eri/pf_ext/contrib/hostapd/l2_packet.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/l2_packet_none.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/md4.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/md5.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/md5.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/milenage.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/milenage.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/mlme.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/mlme.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/ms_funcs.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/ms_funcs.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/os.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/os_internal.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/os_none.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/os_unix.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/pmksa_cache.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/pmksa_cache.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/preauth.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/preauth.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/radius.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/radius.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/radius_client.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/radius_client.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/radius_server.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/radius_server.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/rc4.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/rc4.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/reconfig.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/sha1.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/sha1.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/sha256.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/sha256.h#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/sta_info.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/sta_info.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/state_machine.h#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/tls.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/tls_gnutls.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/tls_none.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/tls_openssl.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/version.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/hostapd/vlan_init.c#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/vlan_init.h#1 branch .. > //depot/user/eri/pf_ext/contrib/hostapd/wme.c#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/wme.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/wpa.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/wpa.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/wpa_common.h#1 branch > .. //depot/user/eri/pf_ext/contrib/hostapd/wpa_ctrl.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/hostapd/wpa_ctrl.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/ipfilter/tools/ipfstat.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/less/NEWS#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/README#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/cmdbuf.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/command.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/forwback.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/less.man#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/less.nro#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/lessecho.man#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/lessecho.nro#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/lesskey.man#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/lesskey.nro#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/main.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/optfunc.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/screen.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/search.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/less/version.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/libobjc/ChangeLog#2 integrate > .. //depot/user/eri/pf_ext/contrib/libstdc++/ChangeLog#2 integrate > .. //depot/user/eri/pf_ext/contrib/libstdc++/acinclude.m4#2 integrate > .. //depot/user/eri/pf_ext/contrib/libstdc++/config.h.in#2 integrate > .. //depot/user/eri/pf_ext/contrib/libstdc++/configure#2 integrate > .. //depot/user/eri/pf_ext/contrib/libstdc++/include/Makefile.am#2 > integrate .. > //depot/user/eri/pf_ext/contrib/libstdc++/include/Makefile.in#2 > integrate .. > //depot/user/eri/pf_ext/contrib/libstdc++/include/bits/ostream.tcc#2 > integrate .. > //depot/user/eri/pf_ext/contrib/libstdc++/include/bits/ostream_insert >.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/libstdc++/include/ext/throw_allocator >.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/libstdc++/include/std/std_fstream.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/libstdc++/libsupc++/exception#2 > integrate .. > //depot/user/eri/pf_ext/contrib/libstdc++/libsupc++/new#2 integrate > .. //depot/user/eri/pf_ext/contrib/libstdc++/libsupc++/typeinfo#2 > integrate .. //depot/user/eri/pf_ext/contrib/netcat/netcat.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/openbsm/HISTORY#2 > integrate .. //depot/user/eri/pf_ext/contrib/openbsm/README#2 > integrate .. //depot/user/eri/pf_ext/contrib/openbsm/VERSION#2 > integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/bin/audit/audit.8#2 integrate > .. //depot/user/eri/pf_ext/contrib/openbsm/bin/audit/audit.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/bin/auditd/audit_warn.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/bin/auditd/auditd.8#2 > integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/bin/auditd/auditd.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/bin/auditd/auditd.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/bin/auditreduce/auditreduce.c >#2 integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/config/config.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/openbsm/configure#2 integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/configure.ac#2 integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/etc/audit_event#2 integrate > .. //depot/user/eri/pf_ext/contrib/openbsm/libbsm/au_control.3#2 > integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/libbsm/au_event.3#2 integrate > .. //depot/user/eri/pf_ext/contrib/openbsm/libbsm/audit_submit.3#2 > integrate .. > //depot/user/eri/pf_ext/contrib/openbsm/libbsm/bsm_io.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/openbsm/libbsm/bsm_token.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/opensolaris/OPENSOLARIS.LICENSE#1 > branch .. //depot/user/eri/pf_ext/contrib/opensolaris/cmd/zdb/zdb.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/authpf/authpf.8#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/authpf/authpf.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/filter.c#1 > branch .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/filter.h#1 > branch .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/ftp-proxy.8#2 > integrate .. > //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/ftp-proxy.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/getline.c#2 delete .. > //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/util.c#2 delete .. > //depot/user/eri/pf_ext/contrib/pf/ftp-proxy/util.h#2 delete .. > //depot/user/eri/pf_ext/contrib/pf/libevent/buffer.c#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/evbuffer.c#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/event-internal.h#1 branch > .. //depot/user/eri/pf_ext/contrib/pf/libevent/event.c#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/event.h#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/evsignal.h#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/kqueue.c#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/log.c#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/log.h#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/poll.c#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/select.c#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/libevent/signal.c#1 branch .. > //depot/user/eri/pf_ext/contrib/pf/man/pf.4#2 integrate > .. //depot/user/eri/pf_ext/contrib/pf/man/pf.conf.5#2 integrate > .. //depot/user/eri/pf_ext/contrib/pf/man/pf.os.5#2 integrate > .. //depot/user/eri/pf_ext/contrib/pf/man/pflog.4#2 integrate > .. //depot/user/eri/pf_ext/contrib/pf/man/pfsync.4#2 integrate > .. //depot/user/eri/pf_ext/contrib/pf/pfctl/parse.y#4 integrate > .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pf_print_state.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl.8#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_altq.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_optimize.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_osfp.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_parser.c#4 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_radix.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pfctl/pfctl_table.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pflogd/pflogd.8#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pflogd/pflogd.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pflogd/pflogd.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/pflogd/privsep.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/pf/tftp-proxy/filter.c#1 > branch .. //depot/user/eri/pf_ext/contrib/pf/tftp-proxy/filter.h#1 > branch .. > //depot/user/eri/pf_ext/contrib/pf/tftp-proxy/tftp-proxy.8#1 branch > .. //depot/user/eri/pf_ext/contrib/pf/tftp-proxy/tftp-proxy.c#1 > branch .. //depot/user/eri/pf_ext/contrib/tcpdump/print-bgp.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/telnet/telnet/externs.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/traceroute/traceroute.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/COPYING#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ChangeLog#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/FREEBSD-Xlist#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/FREEBSD-upgrade#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/Makefile#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/README#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/aes.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/aes.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/aes_wrap.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/aes_wrap.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/asn1.c#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/asn1.h#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/asn1_test.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/base64.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/base64.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/bignum.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/bignum.h#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/build_config.h#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/common.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/common.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/config.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_file.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_none.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_ssid.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_types.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/config_winreg.c#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto.h#2 integrate > .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_cryptoapi.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_gnutls.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_internal.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_libtomcrypt.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/crypto_none.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_dbus.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_dbus.h#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_dbus_handle >rs.c#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_dbus_handle >rs.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_named_pipe. >c#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_udp.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ctrl_iface_unix.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/dbus-wpa_supplicant.co >nf#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/dbus_dict_helpers.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/dbus_dict_helpers.h#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/defconfig#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/defs.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/des.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/code_structure.dox >ygen#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/ctrl_iface.doxygen >#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_backgr >ound.8#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_backgr >ound.sgml#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_cli.8# >2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_cli.sg >ml#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_passph >rase.8#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_passph >rase.sgml#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_suppli >cant.8#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_suppli >cant.conf.5#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_suppli >cant.conf.sgml#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/docbook/wpa_suppli >cant.sgml#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/doxygen.fast#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/doxygen.full#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/eap.doxygen#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/kerneldoc2doxygen. >pl#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/mainpage.doxygen#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/porting.doxygen#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/doc/testing_tools.doxy >gen#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_hostap.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_ndis.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_ndis.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_ndis_.c#2 > delete .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/driver_wired.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/drivers.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_aka.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_defs.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_fast.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_gpsk.c#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_gpsk_common.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_gpsk_common.h#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_gtc.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_i.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_leap.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_md5.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_methods.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_methods.h#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_mschapv2.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_otp.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_pax.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_pax_common.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_pax_common.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_peap.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_psk.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_psk_common.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_psk_common.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sake.c#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sake_common.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sake_common.h#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sim.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sim_common.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_sim_common.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_testing.txt#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tls.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tls_common.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tls_common.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tlv.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_tlv.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_ttls.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_ttls.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eap_vendor_test.c#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eapol_sm.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eapol_sm.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eapol_test.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eloop.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eloop.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/eloop_none.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/eloop_win.c#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/events.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/hostapd.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/includes.h#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/l2_packet.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/libtommath.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/main.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/md4.c#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/md5.c#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/md5.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/mlme.c#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/mlme.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/ms_funcs.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/ms_funcs.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/nmake.mak#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/openssl-0.9.8d-tls-ext >ensions.patch#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/openssl-0.9.8e-tls-ext >ensions.patch#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/os.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/os_internal.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/os_none.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/os_unix.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/pcsc_funcs.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/pcsc_funcs.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/pmksa_cache.c#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/pmksa_cache.h#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/preauth.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/preauth.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/preauth_test.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/radius.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/radius.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/radius_client.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/radius_client.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/rc4.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/rc4.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/rsa.c#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/rsa.h#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/sha1.c#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/sha1.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/sha256.c#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/sha256.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/state_machine.h#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_gnutls.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_internal.c#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_none.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_openssl.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/tls_schannel.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/tlsv1_client.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/tlsv1_client.h#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/tlsv1_common.c#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/tlsv1_common.h#1 > branch .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/todo.txt#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/version.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa.c#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa.h#2 integrate > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_cli.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_common.h#1 branch > .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_ctrl.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_ctrl.h#2 integrate > .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/eventhisto >ry.cpp#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/eventhisto >ry.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/eventhisto >ry.ui#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/eventhisto >ry.ui.h#2 delete .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/main.cpp#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/networkcon >fig.cpp#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/networkcon >fig.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/networkcon >fig.ui#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/networkcon >fig.ui.h#2 delete .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/scanresult >s.cpp#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/scanresult >s.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/scanresult >s.ui#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/scanresult >s.ui.h#2 delete .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/userdatare >quest.cpp#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/userdatare >quest.h#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/userdatare >quest.ui#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/userdatare >quest.ui.h#2 delete .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpa_gui.pr >o#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.cpp >#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.h#1 > branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui# >2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui. >h#2 delete .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui-qt4/wpamsg.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/eventhistory.u >i.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/networkconfig. >ui.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/scanresults.ui >.h#2 integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/setup-mingw-cr >oss-compiling#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/wpa_gui.pro#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/wpagui.ui#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/wpagui.ui.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_gui/wpamsg.h#2 > integrate .. //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_i.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_passphrase.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_supplicant.c#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_supplicant.conf#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_supplicant.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/wpa_supplicant_i.h#2 > integrate .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/x509v3.c#1 branch .. > //depot/user/eri/pf_ext/contrib/wpa_supplicant/x509v3.h#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/handbook/vinum/chap >ter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/handbook/virtualiza >tion/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/handbook/x11/chapte >r.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/porters-handbook/Ma >kefile#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/porters-handbook/bo >ok.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/books/porters-handbook/fr >eebsd.dsl#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/flyer/Makefile#1 branch > .. //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/flyer/flyer.tex#1 > branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/articles.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/bibliography.s >gml#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/bookinfo.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/books.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/catalog#1 > branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/freebsd.dsl#1 > branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/glossary/freeb >sd-glossary.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/l10n.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/legalnotice.sg >ml#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/mailing-lists. >ent#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/mirrors-local. >xsl#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/newsgroups.ent >#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/teams.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/trademarks.ent >#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/trademarks.sgm >l#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/translators.en >t#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/transtable-loc >al.xsl#1 branch .. > //depot/user/eri/pf_ext/doc/de_DE.ISO8859-1/share/sgml/transtable.xml >#1 branch .. //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/Makefile.inc#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/cvs-freebsd/Make >file#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/cvs-freebsd/arti >cle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/dialup-firewall/ >Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/dialup-firewall/ >article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/explaining-bsd/M >akefile#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/explaining-bsd/a >rticle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/formatting-media >/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/formatting-media >/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/freebsd-question >s/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/freebsd-question >s/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/laptop/Makefile# >1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/laptop/article.s >gml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/multi-os/Makefil >e#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/multi-os/article >.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/new-users/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/new-users/articl >e.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/problem-reports/ >Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/problem-reports/ >article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng-packages/ >Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng-packages/ >article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng-packages/ >extra.css#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng/Makefile# >1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng/article.s >gml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/articles/releng/extra.css >#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/mk/doc.local.mk#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/articles.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/bookinfo.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/catalog#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/freebsd.dsl#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/glossary/freeb >sd-glossary.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/l10n.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/legalnotice.sg >ml#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/mailing-lists. >ent#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/teams.ent#1 > branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/trademarks.ent >#1 branch .. > //depot/user/eri/pf_ext/doc/el_GR.ISO8859-7/share/sgml/trademarks.sgm >l#1 branch .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/5-roadmap/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/5-roadmap/articl >e.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/5-roadmap/extra. >css#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/Makefile.inc#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/bsdl-gpl/Makefil >e#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/bsdl-gpl/article >.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/building-product >s/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/building-product >s/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/casestudy-argent >ina.com/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/casestudy-argent >ina.com/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/checkpoint/Makef >ile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/checkpoint/artic >le.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/committers-guide >/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/committers-guide >/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/console-server/M >akefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/console-server/a >rticle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributing-por >ts/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributing-por >ts/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributing/Mak >efile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributing/art >icle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/Mak >efile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/art >icle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/cha >pter.decl#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.386bsd.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.additional.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.committers.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.core.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.corealumni.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.develalumni.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.docproj.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.ent#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.staff.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/contributors/con >trib.who.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/cvs-freebsd/Make >file#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/cvs-freebsd/arti >cle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/cvsup-advanced/M >akefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/cvsup-advanced/a >rticle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/dialup-firewall/ >Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/dialup-firewall/ >article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/diskless-x/Makef >ile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/diskless-x/artic >le.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/euro/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/euro/article.sgm >l#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/explaining-bsd/M >akefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/explaining-bsd/a >rticle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratc >h/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratc >h/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratc >h/stage_1.conf.default#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratc >h/stage_1.sh#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratc >h/stage_2.conf.default#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratc >h/stage_2.sh#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fbsd-from-scratc >h/stage_3.mk#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/filtering-bridge >s/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/filtering-bridge >s/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fonts/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/fonts/article.sg >ml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/formatting-media >/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/formatting-media >/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/freebsd-question >s/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/freebsd-question >s/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/geom-class/Makef >ile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/geom-class/artic >le.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/hats/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/hats/article.sgm >l#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/hubs/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/hubs/article.sgm >l#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/ipsec-must/Makef >ile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/ipsec-must/artic >le.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/laptop/Makefile# >1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/laptop/article.s >gml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/linux-comparison >/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/linux-comparison >/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/mailing-list-faq >/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/mailing-list-faq >/article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/mh/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/mh/article.sgml# >1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/multi-os/Makefil >e#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/multi-os/article >.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/nanobsd/Makefile >#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/nanobsd/article. >sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/new-users/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/new-users/articl >e.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/p4-primer/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/p4-primer/articl >e.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/article.sgml >#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/converse.c#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/pam_unix.c#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pam/su.c#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/portbuild/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/portbuild/articl >e.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pr-guidelines/Ma >kefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pr-guidelines/ar >ticle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/problem-reports/ >Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/problem-reports/ >article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/article.sgml >#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/dhcpd.conf#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/install.cfg# >1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/loader.rc#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/pkgmaker.sh# >1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/post#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/pxe/pre#1 branch > .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/rc-scripting/Mak >efile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/rc-scripting/art >icle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/relaydelay/Makef >ile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/relaydelay/artic >le.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng-packages/ >Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng-packages/ >article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng-packages/ >extra.css#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng/Makefile# >1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng/article.s >gml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/releng/extra.css >#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/serial-uart/Make >file#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/serial-uart/arti >cle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/solid-state/Make >file#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/solid-state/arti >cle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/storage-devices/ >Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/storage-devices/ >article.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/version-guide/Ma >kefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/version-guide/ar >ticle.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/vinum/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/vinum/article.sg >ml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/vm-design/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/vm-design/articl >e.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/wp-toolbox/Makef >ile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/wp-toolbox/artic >le.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/zip-drive/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/articles/zip-drive/articl >e.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/Makefile#1 branch > .. //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/Makefile.inc#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/Makef >ile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/book. >sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/boot/ >chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/chapt >ers.ent#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/drive >rbasics/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/isa/c >hapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/jail/ >chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/kobj/ >chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/locki >ng/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/mac.e >nt#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/mac/c >hapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/newbu >s/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/pccar >d/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/pci/c >hapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/scsi/ >chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/smp/c >hapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/sound >/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/sysin >it/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/usb/c >hapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/arch-handbook/vm/ch >apter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/bibliography/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/bibliography/book.s >gml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/corp-net-guide/Make >file#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/corp-net-guide/book >.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/corp-net-guide/free >bsd.dsl#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/design-44bsd/Makefi >le#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/design-44bsd/book.s >gml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/design-44bsd/freebs >d.dsl#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/dev-model/Makefile# >1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/dev-model/book.sgml >#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/dev-model/chapters. >ent#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/book.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/chapters.ent#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/dma/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/introduction/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/ipv6/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/kernelbuild/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/kerneldebug/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/kerneldebug/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/l10n/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/policies/Makefile#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/policies/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/secure/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/sockets/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/testing/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/tools/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/developers-handbook >/x86/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/faq/Makefile#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/faq/book.sgml#1 > branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/Makefile >#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/book.sgm >l#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/chapter. >decl#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/chapters >.ent#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/doc-buil >d/chapter.sgml#1 branch .. > //depot/user/eri/pf_ext/doc/en_US.ISO8859-1/books/fdp-primer/examples >/appendix.sgml#1 branch > > >>> TRUNCATED FOR MAIL (1000 lines) <<< -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 From owner-p4-projects@FreeBSD.ORG Fri Sep 28 20:39:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90B4916A420; Fri, 28 Sep 2007 20:39:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 454C616A41A for ; Fri, 28 Sep 2007 20:39:57 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9E2E613C43E for ; Fri, 28 Sep 2007 20:39:56 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8SKdu7Z043486 for ; Fri, 28 Sep 2007 20:39:56 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8SKduWC043483 for perforce@freebsd.org; Fri, 28 Sep 2007 20:39:56 GMT (envelope-from peter@freebsd.org) Date: Fri, 28 Sep 2007 20:39:56 GMT Message-Id: <200709282039.l8SKduWC043483@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 126943 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Sep 2007 20:39:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=126943 Change 126943 by peter@peter_overcee on 2007/09/28 20:39:09 note some more pending obliterate requests Affected files ... .. //depot/doc/obliterate#8 edit Differences ... ==== //depot/doc/obliterate#8 (text+ko) ==== @@ -8,3 +8,7 @@ //depot/projects/kmacy_sun4v/www/... //depot/projects/peter/pmap/... //depot/projects/pmap/... +//depot/user/ceri/css/... +//depot/user/ceri/playpen/... + +# clients: gnagelhout From owner-p4-projects@FreeBSD.ORG Fri Sep 28 21:04:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0513416A419; Fri, 28 Sep 2007 21:04:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2DCB16A46B for ; Fri, 28 Sep 2007 21:04:23 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 95A1413C44B for ; Fri, 28 Sep 2007 21:04:23 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8SL4NVA054835 for ; Fri, 28 Sep 2007 21:04:23 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8SL4MaI054832 for perforce@freebsd.org; Fri, 28 Sep 2007 21:04:22 GMT (envelope-from peter@freebsd.org) Date: Fri, 28 Sep 2007 21:04:22 GMT Message-Id: <200709282104.l8SL4MaI054832@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 126944 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Sep 2007 21:04:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=126944 Change 126944 by peter@peter_daintree on 2007/09/28 21:04:05 IFC @126942 Affected files ... .. //depot/projects/hammer/UPDATING#106 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#79 integrate .. //depot/projects/hammer/etc/rc.d/Makefile#55 integrate .. //depot/projects/hammer/etc/rc.d/nscd#4 integrate .. //depot/projects/hammer/lib/libc/gen/Makefile.inc#30 integrate .. //depot/projects/hammer/lib/libutil/expand_number.3#2 integrate .. //depot/projects/hammer/lib/libutil/flopen.3#3 integrate .. //depot/projects/hammer/lib/libutil/humanize_number.3#8 integrate .. //depot/projects/hammer/lib/libutil/kld.3#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#19 integrate .. //depot/projects/hammer/share/man/man9/sleepqueue.9#10 integrate .. //depot/projects/hammer/sys/arm/conf/AVILA#5 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/IxNpeMicrocode.c#2 delete .. //depot/projects/hammer/sys/arm/xscale/ixp425/files.ixp425#3 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_npe.c#5 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_npevar.h#4 integrate .. //depot/projects/hammer/sys/contrib/dev/npe/IxNpeMicrocode.dat.uu#1 branch .. //depot/projects/hammer/sys/contrib/dev/npe/LICENSE#1 branch .. //depot/projects/hammer/tools/tools/nanobsd/nanobsd.sh#14 integrate .. //depot/projects/hammer/usr.sbin/Makefile#81 integrate .. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/Makefile#10 integrate Differences ... ==== //depot/projects/hammer/UPDATING#106 (text+ko) ==== @@ -21,6 +21,13 @@ developers choose to disable these features on build machines to maximize performance. +20070928: + The caching daemon (cached) was renamed to nscd. nscd.conf + configuration file should be used instead of cached.conf and + nscd_enable, nscd_pidfile and nscd_flags options should be used + instead of cached_enable, cached_pidfile and cached_flags in + rc.conf. + 20070704: The new IPsec code is now compiled in using the IPSEC option. The IPSEC option now requires "device crypto" be defined in your kernel @@ -887,4 +894,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.503 2007/07/09 01:13:00 yongari Exp $ +$FreeBSD: src/UPDATING,v 1.504 2007/09/28 10:38:07 bushman Exp $ ==== //depot/projects/hammer/etc/defaults/rc.conf#79 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.317 2007/09/06 21:00:48 mlaier Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.318 2007/09/28 10:38:08 bushman Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -495,7 +495,6 @@ auditd_enable="NO" # Run the audit daemon. auditd_program="/usr/sbin/auditd" # Path to the audit daemon. auditd_flags="" # Which options to pass to the audit daemon. -cached_enable="NO" # Run the nsswitch caching daemon. cron_enable="YES" # Run the periodic job daemon. cron_program="/usr/sbin/cron" # Which cron executable to run (if enabled). cron_dst="YES" # Handle DST transitions intelligently (YES/NO) @@ -503,6 +502,7 @@ lpd_enable="NO" # Run the line printer daemon. lpd_program="/usr/sbin/lpd" # path to lpd, if you want a different one. lpd_flags="" # Flags to lpd (if enabled). +nscd_enable="NO" # Run the nsswitch caching daemon. chkprintcap_enable="NO" # Run chkprintcap(8) before running lpd. chkprintcap_flags="-d" # Create missing directories by default. dumpdev="AUTO" # Device to crashdump to (device name, AUTO, or NO). ==== //depot/projects/hammer/etc/rc.d/Makefile#55 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.83 2007/09/07 15:44:09 mlaier Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.84 2007/09/28 10:38:08 bushman Exp $ .include @@ -48,7 +48,7 @@ .endif .if ${MK_NS_CACHING} != "no" -FILES+= cached +FILES+= nscd .endif FILESDIR= /etc/rc.d ==== //depot/projects/hammer/etc/rc.d/nscd#4 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/nscd,v 1.5 2007/09/27 12:30:12 bushman Exp $ +# $FreeBSD: src/etc/rc.d/nscd,v 1.6 2007/09/28 10:38:08 bushman Exp $ # # PROVIDE: nscd @@ -8,7 +8,7 @@ # BEFORE: LOGIN # -# Add the following lines to /etc/rc.conf to enable cached: +# Add the following lines to /etc/rc.conf to enable nscd: # # nscd_enable="YES" # @@ -24,9 +24,29 @@ extra_commands="flush" flush_cmd="${command} -I all" -nscd_enable=${nscd_enable:-"NO"} -nscd_pidfile=${nscd_pidfile:-"/var/run/nscd.pid"} -nscd_flags=${nscd_flags:-""} +# usage: _nscd_set_option ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#23 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.430 2007/09/26 09:52:39 rpaulo Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.431 2007/09/28 14:55:47 kaiw Exp $ --> aaron@FreeBSD.org"> @@ -518,6 +518,8 @@ jylefort@FreeBSD.org"> +kaiw@FreeBSD.org"> + kan@FreeBSD.org"> karl@FreeBSD.org"> ==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#24 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1114,6 +1114,11 @@ &pgpkey.stefan; + + &a.kaiw; + &pgpkey.kaiw; + + &a.adamw; &pgpkey.adamw; ==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#24 (text+ko) ==== @@ -1,5 +1,5 @@ - + @@ -123,6 +123,7 @@ + ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/developers-handbook/l10n/chapter.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -43,12 +43,6 @@ The &a.i18n; has been established. If you are an I18N/L10N developer, please send your comments, ideas, questions, and anything you deem related to it. - - Michael C. Wu will be maintaining an I18N works in progress - homepage at . - Please also read the BSDCon2000 I18N paper and presentations - by Clive Lin, Chia-Liang Kao, and Michael C. Wu at ==== //depot/projects/dtrace/doc/zh_TW.Big5/books/porters-handbook/book.sgml#8 (text+ko) ==== @@ -1,8 +1,8 @@ MASTER_SITE_SUBDIR is allowed. + All of the tunable knobs below accept both YES + and a version string, like 5.8.0+. Using + YES means that the port can be used with all + of the supported Perl versions. If a port + only works with specific versions of Perl, + it can be indicated with a version string, specifying a minimal version + (e.g. 5.7.3+), a maximal version (e.g. + 5.8.0-) or an exact version (e.g. + 5.8.3). + Variables for ports that use <literal>perl</literal> @@ -8764,31 +8774,31 @@ - <makevar>PREFIX</makevar> and <makevar>DESTDIR</makevar> + <makevar>PREFIX</makevar> ¥H¤Î <makevar>DESTDIR</makevar> - PREFIX determines the location where - the port will install. It is usually /usr/local, - or /opt. User can set PREFIX - to anything he wants. Your port must respect this variable. + PREFIX ÅܼƷ|¨M©w¸Ó port ©Ò·|¦w¸Ëªº¦ì¸m¡A + ³q±`¬O /usr/local ©Î /opt + ¡C ¨Ï¥ÎªÌ¥i¥HÂǥѳ]©w PREFIX ¨M©w­n¸Ë¦b­þÃä¡A + ¦Ó§A©ÒºûÅ@ªº port ¥²¶·¿í´`¸Ó³W«h¡C - DESTDIR, if set by user, determines the - complete alternative environment, usually a jail, or an installed - system mounted elsewhere than /. - A port will actually install into - DESTDIR/PREFIX, and register - with the package database in DESTDIR/var/db/pkg. - It is very important to write ports that respect - DESTDIR. + ­Y¨Ï¥ÎªÌ¦³³]©w DESTDIR ÅܼơA + ¨º»ò¥¦·|±Ä¥Î©Ò³]©wªºÀô¹Ò¡A³q±`¥i¯à¬O jail Àô¹Ò©ÎªÌ¬O¨Ã«D±¾¸ü©ó + / ¤Wªº¨t²Î¡C ³q±` port ·|¸Ë¦b + DESTDIR/PREFIX ©³¤U¡A + ¨Ã¥B·|¬ö¿ý¦b DESTDIR/var/db/pkg ¤ºªº®M¥ó¸ê®Æ®w¡C + ¥Ñ©ó¨Æ¹ê¤W DESTDIR ·|¥Ñ ports ¬[ºc³z¹L + &man.chroot.8; ¨Ó¦Û°Ê³B²z¡A©Ò¥H±z¤£»Ý¥h§@¬ÛÃö­×§ï©Î¨è·NºûÅ@ + DESTDIR ¬Û®eªº ports¡C - The value of PREFIX will be set - to LOCALBASE_REL (default - /usr/local). If - USE_X_PREFIX or USE_IMAKE is - set, PREFIX will be X11BASE_REL (default - /usr/X11R6). If - USE_LINUX_PREFIX is set, PREFIX - will be LINUXBASE_REL (default - /compat/linux). + PREFIX ÅܼƭYµL¯S§O³]©w¡A·|»P + LOCALBASE ¬Û¦P (¹w³]¬° + /usr/local)¡C ­Y¦³³]©w + USE_X_PREFIX ©Î USE_IMAKE¡A + ¨º»ò PREFIX «h¬° X11BASE ( + ¬°¤F¬Û®eªº²z¥Ñ¡A¹w³]¤´¬° /usr/X11R6¡A + ¦ý¤£¤[«á·|¹ý©³²¾°£)¡C ­Y¦³³]©w USE_LINUX_PREFIX¡A + ¨º»ò PREFIX «h¬° LINUXBASE ( + ¹w³]¬° /compat/linux)¡C Avoiding the hard-coding of /usr/local or /usr/X11R6 anywhere in the source will make the @@ -8838,48 +8848,6 @@ -DPAGER=\"/usr/local/bin/less\". This way it will have a better chance of working if the system administrator has moved the whole /usr/local tree somewhere else. - - Note that LOCALBASE, - LINUXBASE, X11BASE, - DOCSDIR, EXAMPLESDIR, - DATADIR, DESKTOPDIR variables - already contain DESTDIR. Using - DESTDIR LOCALBASE is - wrong. Use LOCALBASE_REL, - LINUXBASE_REL, X11BASE_REL - if you need a variable relative to DESTDIR. - To keep things terse, TARGETDIR can be used to - replace DESTDIR PREFIX. - - Example of correct usage: - - post-install: - ${INSTALL_PROGRAM} ${WRKSRC}/helper ${TARGETDIR}/bin/helper - ${INSTALL_DATA} ${WRKSRC}/guide.txt ${DOCSDIR} - - When referencing dependencies in the port, the - LOCALBASE is used, as we are working with - dependencies inside the target environment. For hardcoding file - paths in the software, LOCALBASE_REL must - be used, because the software will run inside the target - environment. - - Example of correct usage: - - RUN_DEPENDS= ${LOCALBASE}/share/gonzo/launch.dat:${PORTSDIR}/games/gonzo - -post-patch: - @${REINPLACE_CMD} -e 's|/usr/gonzo/launch.dat|${LOCALBASE_REL}/share/gonzo/launch.dat}' ${WRKSRC}/main.c - @${REINPLACE_CMD} -e 's|/etc/game.conf|${PREFIX}/etc/game.conf|' ${WRKSRC}/loader.c - -post-install: - @${INSTALL_DATA} ${WRKSRC}/example/conf ${TARGETDIR}/etc/game.conf - - In packing lists and in pkg-* scripts, - %%LOCALBASE%%, %%LINUXBASE%% - and %%X11BASE%% expansions will contain paths - stripped of DESTDIR, as all these files are - processed of a context of target environment. @@ -11243,11 +11211,15 @@ 602110 - 6.2-STABLE after MFC of BOP_BDFLUSH and caused breakage - of the filesystem modules KBI. + 6.2-STABLE after MFC of BOP_BDFLUSH and caused + breakage of the filesystem modules KBI. 602111 + 6.2-STABLE after libutil(3) MFC's. + 602112 + + 7.0-CURRENT. 700000 ==== //depot/projects/dtrace/doc/zh_TW.Big5/share/sgml/authors.ent#5 (text+ko) ==== @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Traditional Chinese Documentation Project - $FreeBSD: doc/zh_TW.Big5/share/sgml/authors.ent,v 1.5 2007/09/03 08:03:24 chinsan Exp $ + $FreeBSD: doc/zh_TW.Big5/share/sgml/authors.ent,v 1.6 2007/09/28 16:58:22 chinsan Exp $ Names and email address of contributing authors and CVS committers. Entity names for committers should be the same as their login names on @@ -46,6 +46,8 @@ ijliao@FreeBSD.org"> +kaiw@FreeBSD.org"> + keichii@FreeBSD.org"> kevlo@FreeBSD.org"> ==== //depot/projects/dtrace/ports/Tools/scripts/README#4 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/Tools/scripts/README,v 1.18 2007/08/12 12:49:23 netchild Exp $ +$FreeBSD: ports/Tools/scripts/README,v 1.19 2007/08/26 15:02:24 netchild Exp $ addport - replacement for easy-import bump_revision.pl - Small script to bump the PORTREVISION variable of ports @@ -20,6 +20,8 @@ distclean - compare md5 sums of distfiles in ports/distfiles with currently installed ports collection in ports/* and prompt to remove unmatched entries +explicit_lib_depends.sh - shows the current explicit dependency list of libs + for a given installed port getpr - downloads a problem report from GNATS and attempts to extract the patch, shar, uuencoded file from it. this probably needs to be checked for potential security problems. ==== //depot/projects/dtrace/ports/UPDATING#32 (text+ko) ==== @@ -6,6 +6,21 @@ time you update your ports collection, before attempting any port upgrades. +20070928: + AFFECTS: users of irc/ratbox-services + AUTHOR: Lewis + + Significant changes have been made between the 1.0.x series and + the current release version of ratbox-services. + + It is highly recommended that services be stopped, and the proper + upgrade procedure be followed as described in + '/usr/local/share/doc/ratbox-services/', before restarting + ratbox-services with the new release version. + + Please remember to backup the database before attempting an + upgrade, an incorrectly upgraded database may be rendered unusable. + 20070926: AFFECTS: users of devel/p5-gearmand AUTHOR: clsung@FreeBSD.org @@ -5678,4 +5693,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.549 2007/09/26 01:23:30 clsung Exp $ +$FreeBSD: ports/UPDATING,v 1.550 2007/09/28 01:03:38 edwin Exp $ ==== //depot/projects/dtrace/src/UPDATING#15 (text+ko) ==== @@ -21,6 +21,13 @@ developers choose to disable these features on build machines to maximize performance. +20070928: + The caching daemon (cached) was renamed to nscd. nscd.conf + configuration file should be used instead of cached.conf and + nscd_enable, nscd_pidfile and nscd_flags options should be used + instead of cached_enable, cached_pidfile and cached_flags in + rc.conf. + 20070704: The new IPsec code is now compiled in using the IPSEC option. The IPSEC option now requires "device crypto" be defined in your kernel @@ -887,4 +894,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.503 2007/07/09 01:13:00 yongari Exp $ +$FreeBSD: src/UPDATING,v 1.504 2007/09/28 10:38:07 bushman Exp $ ==== //depot/projects/dtrace/src/etc/defaults/rc.conf#23 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.317 2007/09/06 21:00:48 mlaier Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.318 2007/09/28 10:38:08 bushman Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -495,7 +495,6 @@ auditd_enable="NO" # Run the audit daemon. auditd_program="/usr/sbin/auditd" # Path to the audit daemon. auditd_flags="" # Which options to pass to the audit daemon. -cached_enable="NO" # Run the nsswitch caching daemon. cron_enable="YES" # Run the periodic job daemon. cron_program="/usr/sbin/cron" # Which cron executable to run (if enabled). cron_dst="YES" # Handle DST transitions intelligently (YES/NO) @@ -503,6 +502,7 @@ lpd_enable="NO" # Run the line printer daemon. lpd_program="/usr/sbin/lpd" # path to lpd, if you want a different one. lpd_flags="" # Flags to lpd (if enabled). +nscd_enable="NO" # Run the nsswitch caching daemon. chkprintcap_enable="NO" # Run chkprintcap(8) before running lpd. chkprintcap_flags="-d" # Create missing directories by default. dumpdev="AUTO" # Device to crashdump to (device name, AUTO, or NO). ==== //depot/projects/dtrace/src/etc/rc.d/Makefile#12 (text+ko) ==== @@ -1,5 +1,5 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.83 2007/09/07 15:44:09 mlaier Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.84 2007/09/28 10:38:08 bushman Exp $ .include @@ -48,7 +48,7 @@ .endif .if ${MK_NS_CACHING} != "no" -FILES+= cached +FILES+= nscd .endif FILESDIR= /etc/rc.d ==== //depot/projects/dtrace/src/etc/rc.d/nscd#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/nscd,v 1.5 2007/09/27 12:30:12 bushman Exp $ +# $FreeBSD: src/etc/rc.d/nscd,v 1.6 2007/09/28 10:38:08 bushman Exp $ # # PROVIDE: nscd @@ -8,7 +8,7 @@ # BEFORE: LOGIN # -# Add the following lines to /etc/rc.conf to enable cached: +# Add the following lines to /etc/rc.conf to enable nscd: # # nscd_enable="YES" # @@ -24,9 +24,29 @@ extra_commands="flush" flush_cmd="${command} -I all" -nscd_enable=${nscd_enable:-"NO"} -nscd_pidfile=${nscd_pidfile:-"/var/run/nscd.pid"} -nscd_flags=${nscd_flags:-""} +# usage: _nscd_set_option