From owner-p4-projects@FreeBSD.ORG Sun Mar 11 04:47:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F00FC16A403; Sun, 11 Mar 2007 04:47:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9118E16A404 for ; Sun, 11 Mar 2007 04:47:57 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7F70913C4A6 for ; Sun, 11 Mar 2007 04:47:57 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2B4lvn1054113 for ; Sun, 11 Mar 2007 04:47:57 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2B4lv8c054110 for perforce@freebsd.org; Sun, 11 Mar 2007 04:47:57 GMT (envelope-from sam@freebsd.org) Date: Sun, 11 Mar 2007 04:47:57 GMT Message-Id: <200703110447.l2B4lv8c054110@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115689 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, 11 Mar 2007 04:47:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=115689 Change 115689 by sam@sam_ebb on 2007/03/11 04:47:26 IFC Affected files ... .. //depot/projects/wifi/sys/net80211/_ieee80211.h#18 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#24 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#94 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#87 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_power.c#5 edit .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#49 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_proto.h#32 integrate Differences ... ==== //depot/projects/wifi/sys/net80211/_ieee80211.h#18 (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: src/sys/net80211/_ieee80211.h,v 1.7 2007/02/02 02:45:33 sam Exp $ + * $FreeBSD: src/sys/net80211/_ieee80211.h,v 1.8 2007/03/07 04:35:07 sam Exp $ */ #ifndef _NET80211__IEEE80211_H_ #define _NET80211__IEEE80211_H_ @@ -63,6 +63,7 @@ IEEE80211_M_MONITOR = 8, /* Monitor mode */ IEEE80211_M_WDS = 2 /* WDS link */ }; +#define IEEE80211_OPMODE_MAX (IEEE80211_M_MONITOR+1) /* * 802.11g protection mode. ==== //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#24 (text+ko) ==== @@ -24,7 +24,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/net80211/ieee80211_freebsd.h,v 1.10 2007/01/09 04:37:05 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_freebsd.h,v 1.11 2007/03/07 04:42:22 sam Exp $ */ #ifndef _NET80211_IEEE80211_FREEBSD_H_ #define _NET80211_IEEE80211_FREEBSD_H_ @@ -127,6 +127,21 @@ (_qlen) = ++(_ni)->ni_savedq.ifq_len; \ } while (0) +#ifndef IF_PREPEND_LIST +#define _IF_PREPEND_LIST(ifq, mhead, mtail, mcount) do { \ + (mtail)->m_nextpkt = (ifq)->ifq_head; \ + if ((ifq)->ifq_tail == NULL) \ + (ifq)->ifq_tail = (mtail); \ + (ifq)->ifq_head = (mhead); \ + (ifq)->ifq_len += (mcount); \ +} while (0) +#define IF_PREPEND_LIST(ifq, mhead, mtail, mcount) do { \ + IF_LOCK(ifq); \ + _IF_PREPEND_LIST(ifq, mhead, mtail, mcount); \ + IF_UNLOCK(ifq); \ +} while (0) +#endif /* IF_PREPEND_LIST */ + /* * 802.1x MAC ACL database locking definitions. */ ==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#94 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.99 2007/02/04 05:49:16 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.100 2007/03/07 04:42:22 sam Exp $"); #include #include ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#87 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.78 2007/01/15 01:12:28 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.79 2007/03/07 04:31:49 sam Exp $"); #include #include @@ -303,8 +303,11 @@ ni->ni_capinfo |= IEEE80211_CAPINFO_IBSS; /* XXX */ if (ic->ic_flags & IEEE80211_F_DESBSSID) IEEE80211_ADDR_COPY(ni->ni_bssid, ic->ic_des_bssid); - else - ni->ni_bssid[0] |= 0x02; /* local bit for IBSS */ + else { + get_random_bytes(ni->ni_bssid, IEEE80211_ADDR_LEN); + /* clear group bit, add local bit */ + ni->ni_bssid[0] = (ni->ni_bssid[0] &~ 0x01) | 0x02; + } } else if (ic->ic_opmode == IEEE80211_M_AHDEMO) { if (ic->ic_flags & IEEE80211_F_DESBSSID) IEEE80211_ADDR_COPY(ni->ni_bssid, ic->ic_des_bssid); ==== //depot/projects/wifi/sys/net80211/ieee80211_power.c#5 (text+ko) ==== @@ -228,7 +228,8 @@ ieee80211_node_pwrsave(struct ieee80211_node *ni, int enable) { struct ieee80211com *ic = ni->ni_ic; - struct mbuf *m; + struct mbuf *m, *mhead, *mtail; + int mcount; if (enable) { if ((ni->ni_flags & IEEE80211_NODE_PWR_MGT) == 0) @@ -256,24 +257,32 @@ } IEEE80211_NOTE(ic, IEEE80211_MSG_POWER, ni, "flush ps queue, %u packets queue", IEEE80211_NODE_SAVEQ_QLEN(ni)); + /* + * Unload the frames from the ps q but don't send them + * to the driver yet. We do this in two stages to minimize + * locking but also because there's no easy way to preserve + * ordering given the existing ifnet access mechanisms. + * XXX could be optimized + */ + IEEE80211_NODE_SAVEQ_LOCK(ni); + mcount = IEEE80211_NODE_SAVEQ_QLEN(ni); + mhead = mtail = NULL; for (;;) { - int qlen; - - IEEE80211_NODE_SAVEQ_DEQUEUE(ni, m, qlen); + _IEEE80211_NODE_SAVEQ_DEQUEUE_HEAD(ni, m); if (m == NULL) break; - /* - * If this is the last packet, turn off the TIM bit. - * If there are more packets, set the more packets bit - * in the mbuf so ieee80211_encap will mark the 802.11 - * head to indicate more data frames will follow. - */ - m->m_flags |= M_PWR_SAV; - if (qlen != 0) - m->m_flags |= M_MORE_DATA; + if (mhead == NULL) { + mhead = m; + m->m_nextpkt = NULL; + } else + mtail->m_nextpkt = m; + mtail = m; + } + IEEE80211_NODE_SAVEQ_UNLOCK(ni); + if (mhead != NULL) { /* XXX need different driver interface */ /* XXX bypasses q max */ - IF_ENQUEUE(&ic->ic_ifp->if_snd, m); + IF_PREPEND_LIST(&ic->ic_ifp->if_snd, mhead, mtail, mcount); } if (ic->ic_set_tim != NULL) ic->ic_set_tim(ni, 0); ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#49 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.34 2007/01/08 18:23:43 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.35 2007/03/07 04:35:07 sam Exp $"); /* * IEEE 802.11 protocol support. @@ -69,6 +69,16 @@ "reserved#8", "reserved#9", "ps_poll", "rts", "cts", "ack", "cf_end", "cf_end_ack" }; +const char *ieee80211_opmode_name[IEEE80211_OPMODE_MAX] = { + "IBSS", /* IEEE80211_M_IBSS */ + "STA", /* IEEE80211_M_STA */ + "#2", + "AHDEMO", /* IEEE80211_M_AHDEMO */ + "#4", "#5", + "HOSTAP", /* IEEE80211_M_HOSTAP */ + "#7", + "MONITOR" /* IEEE80211_M_MONITOR */ +}; const char *ieee80211_state_name[IEEE80211_S_MAX] = { "INIT", /* IEEE80211_S_INIT */ "SCAN", /* IEEE80211_S_SCAN */ ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.h#32 (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: src/sys/net80211/ieee80211_proto.h,v 1.20 2007/01/08 17:24:51 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_proto.h,v 1.21 2007/03/07 04:35:07 sam Exp $ */ #ifndef _NET80211_IEEE80211_PROTO_H_ #define _NET80211_IEEE80211_PROTO_H_ @@ -237,6 +237,7 @@ void ieee80211_dump_pkt(struct ieee80211com *, const u_int8_t *, int, int, int); +extern const char *ieee80211_opmode_name[]; extern const char *ieee80211_state_name[IEEE80211_S_MAX]; extern const char *ieee80211_wme_acnames[]; From owner-p4-projects@FreeBSD.ORG Sun Mar 11 04:57:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B0D5116A403; Sun, 11 Mar 2007 04:57:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5B50C16A400 for ; Sun, 11 Mar 2007 04:57:10 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3215213C478 for ; Sun, 11 Mar 2007 04:57:10 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2B4vAXD055591 for ; Sun, 11 Mar 2007 04:57:10 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2B4v9F4055588 for perforce@freebsd.org; Sun, 11 Mar 2007 04:57:09 GMT (envelope-from sam@freebsd.org) Date: Sun, 11 Mar 2007 04:57:09 GMT Message-Id: <200703110457.l2B4v9F4055588@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115690 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, 11 Mar 2007 04:57:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=115690 Change 115690 by sam@sam_ebb on 2007/03/11 04:56:13 use non-standard psb mapping to be compatible with cvs Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211.c#42 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211.c#42 (text+ko) ==== @@ -303,7 +303,7 @@ static __inline int mappsb(u_int freq, u_int flags) { - return ((freq * 10) + (((freq % 5) == 2) ? 5 : 0) - 49400) / 5; + return 37 + ((freq * 10) + (((freq % 5) == 2) ? 5 : 0) - 49400) / 5; } /* From owner-p4-projects@FreeBSD.ORG Sun Mar 11 06:23:03 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16F5516A404; Sun, 11 Mar 2007 06:23:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DE09116A400 for ; Sun, 11 Mar 2007 06:23:02 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B45A013C467 for ; Sun, 11 Mar 2007 06:23:02 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2B6N2kc071469 for ; Sun, 11 Mar 2007 06:23:02 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2B6N2RX071465 for perforce@freebsd.org; Sun, 11 Mar 2007 06:23:02 GMT (envelope-from sam@freebsd.org) Date: Sun, 11 Mar 2007 06:23:02 GMT Message-Id: <200703110623.l2B6N2RX071465@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115695 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, 11 Mar 2007 06:23:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=115695 Change 115695 by sam@sam_ebb on 2007/03/11 06:22:28 sync w/ head Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211.c#43 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211.c#43 (text+ko) ==== @@ -303,7 +303,7 @@ static __inline int mappsb(u_int freq, u_int flags) { - return 37 + ((freq * 10) + (((freq % 5) == 2) ? 5 : 0) - 49400) / 5; + return 37 + ((freq * 10) + ((freq % 5) == 2 ? 5 : 0) - 49400) / 5; } /* From owner-p4-projects@FreeBSD.ORG Sun Mar 11 06:44:32 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 13FD516A403; Sun, 11 Mar 2007 06:44:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BA4B716A401 for ; Sun, 11 Mar 2007 06:44:31 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A8A9F13C481 for ; Sun, 11 Mar 2007 06:44:31 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2B6iVOB075308 for ; Sun, 11 Mar 2007 06:44:31 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2B6iV8C075304 for perforce@freebsd.org; Sun, 11 Mar 2007 06:44:31 GMT (envelope-from sam@freebsd.org) Date: Sun, 11 Mar 2007 06:44:31 GMT Message-Id: <200703110644.l2B6iV8C075304@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115699 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, 11 Mar 2007 06:44:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=115699 Change 115699 by sam@sam_ebb on 2007/03/11 06:43:36 diff reduction to cvs Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#88 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#88 (text+ko) ==== @@ -1078,11 +1078,11 @@ struct ieee80211_node * #ifdef IEEE80211_DEBUG_REFCNT ieee80211_find_rxnode_withkey_debug(struct ieee80211com *ic, - const struct ieee80211_frame_min *wh, u_int16_t keyix, + const struct ieee80211_frame_min *wh, ieee80211_keyix keyix, const char *func, int line) #else ieee80211_find_rxnode_withkey(struct ieee80211com *ic, - const struct ieee80211_frame_min *wh, u_int16_t keyix) + const struct ieee80211_frame_min *wh, ieee80211_keyix keyix) #endif { struct ieee80211_node_table *nt; From owner-p4-projects@FreeBSD.ORG Sun Mar 11 07:47:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD21816A411; Sun, 11 Mar 2007 07:47:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 90A9516A407 for ; Sun, 11 Mar 2007 07:47:57 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7D94E13C48D for ; Sun, 11 Mar 2007 07:47:57 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2B7lvS4089448 for ; Sun, 11 Mar 2007 07:47:57 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2B7luFS089444 for perforce@freebsd.org; Sun, 11 Mar 2007 07:47:56 GMT (envelope-from sam@freebsd.org) Date: Sun, 11 Mar 2007 07:47:56 GMT Message-Id: <200703110747.l2B7luFS089444@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115711 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, 11 Mar 2007 07:47:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=115711 Change 115711 by sam@sam_ebb on 2007/03/11 07:47:14 loopback Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211.c#44 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#20 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.h#14 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#95 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#70 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#89 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#43 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#68 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#50 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_proto.h#33 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#50 integrate Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211.c#44 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.35 2007/01/15 01:12:28 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.36 2007/03/11 06:24:26 sam Exp $"); /* * IEEE 802.11 generic handler ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#20 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_crypto.c,v 1.12 2005/08/08 18:46:35 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_crypto.c,v 1.14 2007/03/11 06:38:26 sam Exp $"); /* * IEEE 802.11 generic crypto support. ==== //depot/projects/wifi/sys/net80211/ieee80211_crypto.h#14 (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: src/sys/net80211/ieee80211_crypto.h,v 1.10 2005/08/08 18:46:35 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_crypto.h,v 1.11 2007/03/11 06:36:10 sam Exp $ */ #ifndef _NET80211_IEEE80211_CRYPTO_H_ #define _NET80211_IEEE80211_CRYPTO_H_ ==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#95 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.100 2007/03/07 04:42:22 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.108 2007/03/11 07:22:21 sam Exp $"); #include #include ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#70 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.52 2007/03/05 19:12:25 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.53 2007/03/11 07:06:07 sam Exp $"); #include "opt_compat.h" ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#89 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.79 2007/03/07 04:31:49 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.81 2007/03/11 07:22:21 sam Exp $"); #include #include ==== //depot/projects/wifi/sys/net80211/ieee80211_node.h#43 (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: src/sys/net80211/ieee80211_node.h,v 1.24 2006/03/06 17:23:26 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_node.h,v 1.25 2007/03/11 07:06:08 sam Exp $ */ #ifndef _NET80211_IEEE80211_NODE_H_ #define _NET80211_IEEE80211_NODE_H_ ==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#68 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.46 2006/12/27 18:46:18 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.48 2007/03/11 07:06:08 sam Exp $"); #include "opt_inet.h" ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.c#50 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.35 2007/03/07 04:35:07 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_proto.c,v 1.36 2007/03/11 07:22:21 sam Exp $"); /* * IEEE 802.11 protocol support. ==== //depot/projects/wifi/sys/net80211/ieee80211_proto.h#33 (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: src/sys/net80211/ieee80211_proto.h,v 1.21 2007/03/07 04:35:07 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_proto.h,v 1.22 2007/03/11 07:22:21 sam Exp $ */ #ifndef _NET80211_IEEE80211_PROTO_H_ #define _NET80211_IEEE80211_PROTO_H_ ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#50 (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: src/sys/net80211/ieee80211_var.h,v 1.46 2007/03/05 18:52:35 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_var.h,v 1.47 2007/03/11 07:15:38 sam Exp $ */ #ifndef _NET80211_IEEE80211_VAR_H_ #define _NET80211_IEEE80211_VAR_H_ From owner-p4-projects@FreeBSD.ORG Sun Mar 11 08:01:15 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54FB516A407; Sun, 11 Mar 2007 08:01:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F2D5C16A404 for ; Sun, 11 Mar 2007 08:01:14 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E034613C471 for ; Sun, 11 Mar 2007 08:01:14 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2B81ErG091532 for ; Sun, 11 Mar 2007 08:01:14 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2B81EiS091520 for perforce@freebsd.org; Sun, 11 Mar 2007 08:01:14 GMT (envelope-from sam@freebsd.org) Date: Sun, 11 Mar 2007 08:01:14 GMT Message-Id: <200703110801.l2B81EiS091520@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115712 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, 11 Mar 2007 08:01:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=115712 Change 115712 by sam@sam_ebb on 2007/03/11 08:00:25 correct modecaps checks Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#23 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#23 (text+ko) ==== @@ -2653,8 +2653,6 @@ static int iwi_scan(struct iwi_softc *sc) { -#define IEEE80211_MODE_5GHZ (1<sc_ic; const struct ieee80211_channel *c; struct iwi_scan_ext scan; @@ -2689,7 +2687,7 @@ scan_type = IWI_SCAN_TYPE_BROADCAST; ix = 0; - if (isset(ic->ic_modecaps, IEEE80211_MODE_5GHZ)) { + if (isset(ic->ic_modecaps, IEEE80211_MODE_11A)) { start = ix; for (i = 0; i <= IEEE80211_CHAN_MAX; i++) { c = &ic->ic_channels[i]; @@ -2713,7 +2711,7 @@ ix++; } } - if (isset(ic->ic_modecaps, IEEE80211_MODE_2GHZ)) { + if (isset(ic->ic_modecaps, IEEE80211_MODE_11B)) { start = ix; for (i = 0; i <= IEEE80211_CHAN_MAX; i++) { c = &ic->ic_channels[i]; @@ -2741,8 +2739,6 @@ sc->sc_ifp->if_timer = 1; sc->flags |= IWI_FLAG_SCANNING; return iwi_cmd(sc, IWI_CMD_SCAN_EXT, &scan, sizeof scan); -#undef IEEE80211_MODE_5GHZ -#undef IEEE80211_MODE_2GHZ } static void From owner-p4-projects@FreeBSD.ORG Sun Mar 11 22:49:29 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE77016A419; Sun, 11 Mar 2007 22:49:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 86EB616A401 for ; Sun, 11 Mar 2007 22:49:28 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7B0E513C43E for ; Sun, 11 Mar 2007 22:49:28 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2BMnS4H011236 for ; Sun, 11 Mar 2007 22:49:28 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2BMnSaU011233 for perforce@freebsd.org; Sun, 11 Mar 2007 22:49:28 GMT (envelope-from sam@freebsd.org) Date: Sun, 11 Mar 2007 22:49:28 GMT Message-Id: <200703112249.l2BMnSaU011233@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115740 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, 11 Mar 2007 22:49:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=115740 Change 115740 by sam@sam_ebb on 2007/03/11 22:48:53 IFC Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211.c#45 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#71 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_radiotap.h#9 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#51 integrate Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211.c#45 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.36 2007/03/11 06:24:26 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.37 2007/03/11 22:37:31 sam Exp $"); /* * IEEE 802.11 generic handler ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#71 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.53 2007/03/11 07:06:07 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.54 2007/03/11 22:37:31 sam Exp $"); #include "opt_compat.h" ==== //depot/projects/wifi/sys/net80211/ieee80211_radiotap.h#9 (text+ko) ==== @@ -1,5 +1,5 @@ -/* $FreeBSD: src/sys/net80211/ieee80211_radiotap.h,v 1.6 2006/01/09 17:04:56 sam Exp $ */ -/* $NetBSD: ieee80211_radiotap.h,v 1.10 2005/01/04 00:34:58 dyoung Exp $ */ +/* $FreeBSD: src/sys/net80211/ieee80211_radiotap.h,v 1.7 2007/03/11 07:42:02 sam Exp $ */ +/* $NetBSD: ieee80211_radiotap.h,v 1.16 2007/01/06 05:51:15 dyoung Exp $ */ /*- * Copyright (c) 2003, 2004 David Young. All rights reserved. @@ -52,7 +52,13 @@ #endif #endif /* defined(__KERNEL__) || defined(_KERNEL) */ -/* The radio capture header precedes the 802.11 header. */ +#define IEEE80211_RADIOTAP_HDRLEN 64 /* XXX deprecated */ + +/* + * The radio capture header precedes the 802.11 header. + * + * Note well: all radiotap fields are little-endian. + */ struct ieee80211_radiotap_header { u_int8_t it_version; /* Version 0. Only increases * for drastic changes, @@ -206,4 +212,4 @@ */ #define IEEE80211_RADIOTAP_F_BADFCS 0x40 /* does not pass FCS check */ -#endif /* _NET_IF_IEEE80211RADIOTAP_H_ */ +#endif /* !_NET80211_IEEE80211_RADIOTAP_H_ */ ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#51 (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: src/sys/net80211/ieee80211_var.h,v 1.47 2007/03/11 07:15:38 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_var.h,v 1.48 2007/03/11 22:37:31 sam Exp $ */ #ifndef _NET80211_IEEE80211_VAR_H_ #define _NET80211_IEEE80211_VAR_H_ From owner-p4-projects@FreeBSD.ORG Sun Mar 11 22:51:32 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0CF7216A407; Sun, 11 Mar 2007 22:51:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A7D4116A403 for ; Sun, 11 Mar 2007 22:51:31 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9C11A13C483 for ; Sun, 11 Mar 2007 22:51:31 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2BMpVPn011941 for ; Sun, 11 Mar 2007 22:51:31 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2BMpVDU011938 for perforce@freebsd.org; Sun, 11 Mar 2007 22:51:31 GMT (envelope-from sam@freebsd.org) Date: Sun, 11 Mar 2007 22:51:31 GMT Message-Id: <200703112251.l2BMpVDU011938@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115741 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, 11 Mar 2007 22:51:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=115741 Change 115741 by sam@sam_ebb on 2007/03/11 22:50:38 IFC Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#24 integrate Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#24 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.49 2007/02/23 12:18:44 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.51 2007/03/11 22:39:13 sam Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -214,18 +214,6 @@ DRIVER_MODULE(iwi, pci, iwi_driver, iwi_devclass, 0, 0); -/* - * Supported rates for 802.11a/b/g modes (in 500Kbps unit). - */ -static const struct ieee80211_rateset iwi_rateset_11a = - { 8, { 12, 18, 24, 36, 48, 72, 96, 108 } }; - -static const struct ieee80211_rateset iwi_rateset_11b = - { 4, { 2, 4, 11, 22 } }; - -static const struct ieee80211_rateset iwi_rateset_11g = - { 12, { 2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108 } }; - static __inline uint8_t MEM_READ_1(struct iwi_softc *sc, uint32_t addr) { From owner-p4-projects@FreeBSD.ORG Mon Mar 12 15:53:12 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E244316A405; Mon, 12 Mar 2007 15:53:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 96D0916A401 for ; Mon, 12 Mar 2007 15:53:11 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 87D9B13C46E for ; Mon, 12 Mar 2007 15:53:11 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2CFrBjo027024 for ; Mon, 12 Mar 2007 15:53:11 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2CFrBsF027016 for perforce@freebsd.org; Mon, 12 Mar 2007 15:53:11 GMT (envelope-from csjp@freebsd.org) Date: Mon, 12 Mar 2007 15:53:11 GMT Message-Id: <200703121553.l2CFrBsF027016@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 115764 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, 12 Mar 2007 15:53:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=115764 Change 115764 by csjp@csjp_rnd01 on 2007/03/12 15:52:15 Remove debug printfs Affected files ... .. //depot/projects/zcopybpf/src/sys/net/bpf_zerocopy.c#20 edit Differences ... ==== //depot/projects/zcopybpf/src/sys/net/bpf_zerocopy.c#20 (text+ko) ==== @@ -96,7 +96,6 @@ zbuf_page_free(vm_page_t pp) { - // printf(" zbuf_page_free(%p)\n", (void *)pp); vm_page_lock_queues(); vm_page_unwire(pp, 0); if (pp->wire_count == 0 && pp->object == NULL) @@ -113,7 +112,6 @@ vm_page_t pp; pp = sf_buf_page(sf); - // printf("zbuf_sfbuf_free(sf: %p pp: %p)\n", sf, (void *)pp); sf_buf_free(sf); zbuf_page_free(pp); } @@ -128,7 +126,6 @@ { int i; - // printf("zbuf_free(%p)\n", zb); for (i = 0; i < zb->zb_numpages; i++) { if (zb->zb_pages[i] != NULL) zbuf_sfbuf_free(zb->zb_pages[i]); @@ -148,7 +145,6 @@ struct sf_buf *sf; vm_page_t pp; - // printf(" zbuf_sfbuf_get(%p)\n", (void *)uaddr); if (vm_fault_quick((caddr_t) uaddr, VM_PROT_READ | VM_PROT_WRITE) < 0) return (NULL); @@ -183,31 +179,19 @@ struct vm_map *map; int error, i; - // printf("zbuf_setup(td: %p pid: %d uaddr: %p len: %d)\n", td, - // td->td_proc->p_pid, (void *)uaddr, len); - *zbp = NULL; /* User address must be page-aligned. */ - if (uaddr & PAGE_MASK) { - // printf("zbuf_setup: uaddr not page-aligned (%p)\n", - // (void *)uaddr); + if (uaddr & PAGE_MASK) return (EINVAL); - } /* Length must be an integer number of full pages. */ - if (len & PAGE_MASK) { - // printf("zbuf_setup: len not a multiple of page size (%d)\n", - // len); + if (len & PAGE_MASK) return (EINVAL); - } /* Length must not exceed per-buffer resource limit. */ - if ((len / PAGE_SIZE) > BPF_MAX_PAGES) { - // printf("zbuf_setup: len %d greater than max %d\n", len, - // BPF_MAX_PAGES * PAGE_SIZE); + if ((len / PAGE_SIZE) > BPF_MAX_PAGES) return (EINVAL); - } error = 0; zb = malloc(sizeof(*zb), M_BPF, M_ZERO | M_WAITOK); @@ -252,8 +236,6 @@ ("bpf_zerocopy_append_bytes: not in zbuf mode")); KASSERT(buf != NULL, ("bpf_zerocopy_append_bytes: NULL buf")); - // printf("bpf_zerocopy_append_bytes(d: %p, buf: %p, offset: %d, src " - // "%p, len: %d)\n", d, buf, offset, src, len); src_bytes = (u_char *)src; zb = (struct zbuf *)buf; @@ -305,9 +287,6 @@ ("bpf_zerocopy_append_mbuf not in zbuf mode")); KASSERT(buf != NULL, ("bpf_zerocopy_append_mbuf: NULL buf")); - // printf("bpf_zerocopy_append_mbuf(d: %p, buf: %p, offset: %d, src " - // "%p, len: %d)\n", d, buf, offset, src, len); - m = (struct mbuf *)src; zb = (struct zbuf *)buf; @@ -411,8 +390,6 @@ KASSERT(d->bd_bufmode == BPF_BUFMODE_ZBUF, ("bpf_zerocopy_free: not in zbuf mode")); - // printf("bpf_zerocopy_free(%p)\n", d); - zb = (struct zbuf *)d->bd_sbuf; if (zb != NULL) zbuf_free(zb); @@ -437,9 +414,6 @@ KASSERT(d->bd_bufmode == BPF_BUFMODE_ZBUF, ("bpf_zerocopy_uiomove: not in zbuf mode")); - // printf("bpf_zerocopy_uiomove(d: %p, buf: %p, len: %d, uio: %p)\n", d, - // buf, len, uio); - return (EOPNOTSUPP); } @@ -459,20 +433,13 @@ KASSERT(d->bd_bufmode == BPF_BUFMODE_ZBUF, ("bpf_zerocopy_ioctl_ackzbuf: not in zbuf mode")); - // printf("bpf_zerocopy_ioctl_ackzbuf(td: %p, pid: %d, d: %p, " - // "bz.bz_bufa: %p, bz.bz_buflen: %d)\n", td, td->td_proc->p_pid, - // d, bz->bz_bufa, bz->bz_buflen); - BPFD_LOCK(d); if (d->bd_hbuf == NULL) { - // printf("ackzbuf rejected: no hbuf\n"); BPFD_UNLOCK(d); return (EINVAL); } zb = (struct zbuf *)d->bd_hbuf; if (bz->bz_bufa != (void *)zb->zb_uaddr) { - // printf("ackzbuf rejected: bufa %p not uaddr %p\n", - // bz->bz_bufa, (void *)zb->zb_uaddr); BPFD_UNLOCK(d); return (EINVAL); } @@ -533,9 +500,6 @@ KASSERT(d->bd_bufmode == BPF_BUFMODE_ZBUF, ("bpf_zerocopy_ioctl_getzmax: not in zbuf mode")); - // printf("bpf_zerocopy_ioctl_getzmax(td: %p, pid: %d, d: %p)\n", td, - // td->td_proc->p_pid, d); - *i = BPF_MAX_PAGES * PAGE_SIZE; return (0); } @@ -555,9 +519,6 @@ KASSERT(d->bd_bufmode == BPF_BUFMODE_ZBUF, ("bpf_zerocopy_ioctl_getznext: not in zbuf mode")); - // printf("bpf_zerocopy_ioctl_getznext(td: %p, pid: %d, d: %p)\n", td, - // td->td_proc->p_pid, d); - /* * If in immediate mode, there's no holder buffer, but there is * stored packet data, rotate so that the stored buffer is now the @@ -608,9 +569,6 @@ KASSERT(d->bd_bufmode == BPF_BUFMODE_ZBUF, ("bpf_zerocopy_ioctl_setzbuf: not in zbuf mode")); - // printf("bpf_zerocopy_ioctl_setzbuf(td: %p, pid: %d, d: %p)\n", td, - // td->td_proc->p_pid, d); - /* * Must set both buffers. Cannot clear them. */ From owner-p4-projects@FreeBSD.ORG Mon Mar 12 16:04:32 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A12716A404; Mon, 12 Mar 2007 16:04:32 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0500516A402 for ; Mon, 12 Mar 2007 16:04:32 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E91BA13C45D for ; Mon, 12 Mar 2007 16:04:31 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l2CG4V8F029882 for ; Mon, 12 Mar 2007 16:04:31 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l2CG4QHp029864 for perforce@freebsd.org; Mon, 12 Mar 2007 16:04:26 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 12 Mar 2007 16:04:26 GMT Message-Id: <200703121604.l2CG4QHp029864@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 115765 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, 12 Mar 2007 16:04:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=115765 Change 115765 by rdivacky@rdivacky_witten on 2007/03/12 16:03:31 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/linuxolator/src/sys/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/linuxolator/src/sys/amd64/amd64/intr_machdep.c#8 integrate .. //depot/projects/linuxolator/src/sys/amd64/amd64/io_apic.c#4 integrate .. //depot/projects/linuxolator/src/sys/amd64/amd64/local_apic.c#7 integrate .. //depot/projects/linuxolator/src/sys/amd64/amd64/mp_machdep.c#7 integrate .. //depot/projects/linuxolator/src/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/linuxolator/src/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/linuxolator/src/sys/amd64/amd64/trap.c#5 integrate .. //depot/projects/linuxolator/src/sys/amd64/include/apicvar.h#5 integrate .. //depot/projects/linuxolator/src/sys/amd64/include/intr_machdep.h#7 integrate .. //depot/projects/linuxolator/src/sys/amd64/include/pcpu.h#3 integrate .. //depot/projects/linuxolator/src/sys/amd64/include/smp.h#2 integrate .. //depot/projects/linuxolator/src/sys/arm/at91/at91.c#5 integrate .. //depot/projects/linuxolator/src/sys/arm/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/arm/sa11x0/sa11x0.c#4 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425_npe.c#4 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425_pci.c#4 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c#13 integrate .. //depot/projects/linuxolator/src/sys/compat/linsysfs/linsysfs.c#4 integrate .. //depot/projects/linuxolator/src/sys/compat/linux/linux_stats.c#7 integrate .. //depot/projects/linuxolator/src/sys/conf/files#22 integrate .. //depot/projects/linuxolator/src/sys/conf/files.sparc64#7 integrate .. //depot/projects/linuxolator/src/sys/conf/kmod.mk#5 integrate .. //depot/projects/linuxolator/src/sys/contrib/dev/ipw/LICENSE#1 branch .. //depot/projects/linuxolator/src/sys/contrib/dev/ipw/ipw2100-1.3-i.fw.uu#1 branch .. //depot/projects/linuxolator/src/sys/contrib/dev/ipw/ipw2100-1.3-p.fw.uu#1 branch .. //depot/projects/linuxolator/src/sys/contrib/dev/ipw/ipw2100-1.3.fw.uu#1 branch .. //depot/projects/linuxolator/src/sys/contrib/dev/iwi/LICENSE#1 branch .. //depot/projects/linuxolator/src/sys/contrib/dev/iwi/ipw2200-bss.fw.uu#1 branch .. //depot/projects/linuxolator/src/sys/contrib/dev/iwi/ipw2200-ibss.fw.uu#1 branch .. //depot/projects/linuxolator/src/sys/contrib/dev/iwi/ipw2200-sniffer.fw.uu#1 branch .. //depot/projects/linuxolator/src/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/arcmsr/arcmsr.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/arcmsr/arcmsr.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/ata-all.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/ata-chipset.c#11 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/ata-pci.h#6 integrate .. //depot/projects/linuxolator/src/sys/dev/ath/if_ath.c#9 integrate .. //depot/projects/linuxolator/src/sys/dev/ath/if_athvar.h#8 integrate .. //depot/projects/linuxolator/src/sys/dev/bce/if_bce.c#12 integrate .. //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#15 integrate .. //depot/projects/linuxolator/src/sys/dev/bge/if_bgereg.h#11 integrate .. //depot/projects/linuxolator/src/sys/dev/fb/creator.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/if_ndis/if_ndis.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#11 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.c#10 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.h#9 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_ioctl.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#13 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_target.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_target.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_tpublic.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#8 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispreg.h#4 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#7 integrate .. //depot/projects/linuxolator/src/sys/dev/iwi/if_iwi.c#10 integrate .. //depot/projects/linuxolator/src/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/mpt/mpt.h#7 integrate .. //depot/projects/linuxolator/src/sys/dev/mpt/mpt_cam.c#13 integrate .. //depot/projects/linuxolator/src/sys/dev/msk/if_msk.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/mxge/eth_z8e.dat.gz.uu#3 integrate .. //depot/projects/linuxolator/src/sys/dev/mxge/ethp_z8e.dat.gz.uu#3 integrate .. //depot/projects/linuxolator/src/sys/dev/my/if_my.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/linuxolator/src/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/pccbb/pccbb.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/pci/pci.c#19 integrate .. //depot/projects/linuxolator/src/sys/dev/pci/pcireg.h#7 integrate .. //depot/projects/linuxolator/src/sys/dev/ppbus/ppbconf.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/ppc/ppc.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/ral/rt2560.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/ral/rt2661.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/re/if_re.c#10 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/ds1.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10k1.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10kx-pcm.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/envy24.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/hda/hdac.c#15 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/maestro3.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/ac97.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/stge/if_stge.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sym/sym_hipd.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/ti/if_ti.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/txp/if_txp.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/usb/if_ural.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/vge/if_vge.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/zs/z8530reg.h#2 delete .. //depot/projects/linuxolator/src/sys/dev/zs/z8530var.h#3 delete .. //depot/projects/linuxolator/src/sys/dev/zs/zs.c#4 delete .. //depot/projects/linuxolator/src/sys/dev/zs/zs_macio.c#3 delete .. //depot/projects/linuxolator/src/sys/fs/procfs/procfs.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/pseudofs/pseudofs.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/pseudofs/pseudofs.h#2 integrate .. //depot/projects/linuxolator/src/sys/geom/eli/g_eli.c#6 integrate .. //depot/projects/linuxolator/src/sys/geom/eli/g_eli_ctl.c#4 integrate .. //depot/projects/linuxolator/src/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/busdma_machdep.c#4 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/intr_machdep.c#6 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/io_apic.c#4 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/local_apic.c#7 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/machdep.c#12 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/mp_machdep.c#7 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/mptable.c#2 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/nexus.c#7 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/pmap.c#8 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/trap.c#4 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/vm_machdep.c#3 integrate .. //depot/projects/linuxolator/src/sys/i386/include/apicvar.h#5 integrate .. //depot/projects/linuxolator/src/sys/i386/include/intr_machdep.h#7 integrate .. //depot/projects/linuxolator/src/sys/i386/include/pcpu.h#3 integrate .. //depot/projects/linuxolator/src/sys/i386/include/smp.h#2 integrate .. //depot/projects/linuxolator/src/sys/i386/isa/clock.c#6 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/busdma_machdep.c#3 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/trap.c#4 integrate .. //depot/projects/linuxolator/src/sys/ia64/include/pcpu.h#3 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_acct.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_acl.c#4 delete .. //depot/projects/linuxolator/src/sys/kern/kern_alq.c#3 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_clock.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_context.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_descrip.c#7 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_environment.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_event.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_exec.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_exit.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_fork.c#13 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_intr.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_jail.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_kse.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_ktrace.c#7 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_linker.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_lock.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_module.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_mutex.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_ntptime.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_prot.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_resource.c#10 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_rwlock.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_sig.c#9 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_sx.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_synch.c#9 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_sysctl.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_thread.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_time.c#7 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_umtx.c#11 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_uuid.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_xxx.c#3 integrate .. //depot/projects/linuxolator/src/sys/kern/p1003_1b.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/sched_core.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/sched_ule.c#10 integrate .. //depot/projects/linuxolator/src/sys/kern/subr_prf.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/subr_prof.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/subr_smp.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/subr_trap.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/sys_generic.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/sys_pipe.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/sys_process.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/sys_socket.c#3 integrate .. //depot/projects/linuxolator/src/sys/kern/sysv_msg.c#10 integrate .. //depot/projects/linuxolator/src/sys/kern/sysv_sem.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/sysv_shm.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_mqueue.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_sem.c#5 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_syscalls.c#7 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_usrreq.c#11 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_acl.c#1 branch .. //depot/projects/linuxolator/src/sys/kern/vfs_aio.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_bio.c#9 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_cluster.c#4 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_mount.c#9 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_syscalls.c#9 integrate .. //depot/projects/linuxolator/src/sys/modules/Makefile#9 integrate .. //depot/projects/linuxolator/src/sys/modules/ipwfw/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/ipwfw/ipw_bss/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/ipwfw/ipw_ibss/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/ipwfw/ipw_monitor/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/iwifw/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/iwifw/iwi_bss/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/iwifw/iwi_ibss/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/iwifw/iwi_monitor/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/my/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/net/bridgestp.c#10 integrate .. //depot/projects/linuxolator/src/sys/net/bridgestp.h#7 integrate .. //depot/projects/linuxolator/src/sys/net/ethernet.h#5 integrate .. //depot/projects/linuxolator/src/sys/net/if_bridge.c#12 integrate .. //depot/projects/linuxolator/src/sys/net/if_vlan.c#5 integrate .. //depot/projects/linuxolator/src/sys/net80211/_ieee80211.h#5 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211.c#6 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_crypto.h#2 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_freebsd.h#3 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_input.c#6 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_ioctl.c#4 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_node.c#5 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_output.c#5 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_proto.c#4 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_proto.h#3 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_radiotap.h#2 integrate .. //depot/projects/linuxolator/src/sys/net80211/ieee80211_var.h#5 integrate .. //depot/projects/linuxolator/src/sys/netgraph/ng_base.c#3 integrate .. //depot/projects/linuxolator/src/sys/netgraph/ng_eiface.c#3 integrate .. //depot/projects/linuxolator/src/sys/netgraph/ng_source.c#3 integrate .. //depot/projects/linuxolator/src/sys/netgraph/ng_source.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.c#10 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_input.c#10 integrate .. //depot/projects/linuxolator/src/sys/netinet/udp_usrreq.c#7 integrate .. //depot/projects/linuxolator/src/sys/nfsclient/nfs_socket.c#7 integrate .. //depot/projects/linuxolator/src/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/linuxolator/src/sys/nfsclient/nfs_vnops.c#8 integrate .. //depot/projects/linuxolator/src/sys/nfsclient/nfsnode.h#3 integrate .. //depot/projects/linuxolator/src/sys/nfsserver/nfs_syscalls.c#5 integrate .. //depot/projects/linuxolator/src/sys/pc98/cbus/clock.c#6 integrate .. //depot/projects/linuxolator/src/sys/pci/if_ste.c#4 integrate .. //depot/projects/linuxolator/src/sys/pci/if_stereg.h#2 integrate .. //depot/projects/linuxolator/src/sys/powerpc/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/powerpc/powermac/pswitch.c#3 integrate .. //depot/projects/linuxolator/src/sys/powerpc/powerpc/nexus.c#2 integrate .. //depot/projects/linuxolator/src/sys/powerpc/powerpc/pic_if.m#2 integrate .. //depot/projects/linuxolator/src/sys/powerpc/powerpc/trap.c#4 integrate .. //depot/projects/linuxolator/src/sys/security/audit/audit.c#6 integrate .. //depot/projects/linuxolator/src/sys/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/linuxolator/src/sys/security/mac/mac_syscalls.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/central/central.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/fhc/fhc.c#3 integrate .. //depot/projects/linuxolator/src/sys/sparc64/fhc/fhc_central.c#2 delete .. //depot/projects/linuxolator/src/sys/sparc64/fhc/fhc_nexus.c#2 delete .. //depot/projects/linuxolator/src/sys/sparc64/fhc/fhcvar.h#2 delete .. //depot/projects/linuxolator/src/sys/sparc64/include/bus_private.h#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/include/iommureg.h#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/include/nexusvar.h#2 delete .. //depot/projects/linuxolator/src/sys/sparc64/include/ofw_nexus.h#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/include/ofw_upa.h#2 delete .. //depot/projects/linuxolator/src/sys/sparc64/include/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/pci/psycho.c#5 integrate .. //depot/projects/linuxolator/src/sys/sparc64/pci/psychovar.h#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sbus/sbus.c#4 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/bus_machdep.c#3 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/iommu.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/nexus.c#3 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/sc_machdep.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/trap.c#3 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/upa.c#4 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/pcpu.h#7 integrate .. //depot/projects/linuxolator/src/sys/sys/buf.h#4 integrate .. //depot/projects/linuxolator/src/sys/sys/extattr.h#3 integrate .. //depot/projects/linuxolator/src/sys/sys/lock.h#6 integrate .. //depot/projects/linuxolator/src/sys/sys/mutex.h#6 integrate .. //depot/projects/linuxolator/src/sys/sys/param.h#12 integrate .. //depot/projects/linuxolator/src/sys/sys/pcpu.h#5 integrate .. //depot/projects/linuxolator/src/sys/sys/proc.h#13 integrate .. //depot/projects/linuxolator/src/sys/sys/rwlock.h#4 integrate .. //depot/projects/linuxolator/src/sys/sys/sleepqueue.h#5 integrate .. //depot/projects/linuxolator/src/sys/sys/sx.h#2 integrate .. //depot/projects/linuxolator/src/sys/sys/systm.h#10 integrate .. //depot/projects/linuxolator/src/sys/tools/fw_stub.awk#4 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/extattr.h#2 integrate .. //depot/projects/linuxolator/src/sys/vm/vm_fault.c#5 integrate Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/acpica/madt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.21 2006/08/11 19:22:55 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.22 2007/03/05 20:35:16 jhb Exp $"); #include #include @@ -336,7 +336,7 @@ { madt = pmap_mapbios(madt_physaddr, madt_length); - lapic_init((uintptr_t)madt->LocalApicAddress); + lapic_init(madt->LocalApicAddress); printf("ACPI APIC Table: <%.*s %.*s>\n", (int)sizeof(madt->OemId), madt->OemId, (int)sizeof(madt->OemTableId), madt->OemTableId); @@ -482,9 +482,8 @@ if (ioapics[apic->IoApicId].io_apic != NULL) panic("%s: Double APIC ID %d", __func__, apic->IoApicId); - ioapics[apic->IoApicId].io_apic = ioapic_create( - (uintptr_t)apic->Address, apic->IoApicId, - apic->Interrupt); + ioapics[apic->IoApicId].io_apic = ioapic_create(apic->Address, + apic->IoApicId, apic->Interrupt); ioapics[apic->IoApicId].io_vector = apic->Interrupt; break; default: ==== //depot/projects/linuxolator/src/sys/amd64/amd64/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.78 2006/10/15 16:52:59 hrs Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.79 2007/03/06 18:28:42 scottl Exp $"); #include #include @@ -906,7 +906,6 @@ * want to add support for invalidating * the caches on broken hardware */ - dmat->bounce_zone->total_bounced++; CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x " "performing bounce", __func__, op, dmat, dmat->flags); @@ -917,6 +916,7 @@ bpage->datacount); bpage = STAILQ_NEXT(bpage, links); } + dmat->bounce_zone->total_bounced++; } if (op & BUS_DMASYNC_POSTREAD) { @@ -926,6 +926,7 @@ bpage->datacount); bpage = STAILQ_NEXT(bpage, links); } + dmat->bounce_zone->total_bounced++; } } } ==== //depot/projects/linuxolator/src/sys/amd64/amd64/intr_machdep.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.29 2007/02/23 20:03:23 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.30 2007/03/06 17:16:46 jhb Exp $ */ /* @@ -52,6 +52,7 @@ #include #include #include +#include #ifdef DDB #include #endif @@ -429,8 +430,9 @@ * allocate CPUs round-robin. */ -static u_int cpu_apic_ids[MAXCPU]; -static int current_cpu, num_cpus; +/* The BSP is always a valid target. */ +static cpumask_t intr_cpus = (1 << 0); +static int current_cpu, num_cpus = 1; static void intr_assign_next_cpu(struct intsrc *isrc) @@ -443,25 +445,29 @@ */ pic = isrc->is_pic; apic_id = cpu_apic_ids[current_cpu]; - current_cpu++; - if (current_cpu >= num_cpus) - current_cpu = 0; pic->pic_assign_cpu(isrc, apic_id); + do { + current_cpu++; + if (current_cpu >= num_cpus) + current_cpu = 0; + } while (!(intr_cpus & (1 << current_cpu))); } /* - * Add a local APIC ID to our list of valid local APIC IDs that can - * be destinations of interrupts. + * Add a CPU to our mask of valid CPUs that can be destinations of + * interrupts. */ void -intr_add_cpu(u_int apic_id) +intr_add_cpu(u_int cpu) { + if (cpu >= MAXCPU) + panic("%s: Invalid CPU ID", __func__); if (bootverbose) - printf("INTR: Adding local APIC %d as a target\n", apic_id); - if (num_cpus >= MAXCPU) - panic("WARNING: Local APIC IDs exhausted!"); - cpu_apic_ids[num_cpus] = apic_id; + printf("INTR: Adding local APIC %d as a target\n", + cpu_apic_ids[cpu]); + + intr_cpus |= (1 << cpu); num_cpus++; } ==== //depot/projects/linuxolator/src/sys/amd64/amd64/io_apic.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.26 2006/11/17 16:41:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.28 2007/03/05 20:35:16 jhb Exp $"); #include "opt_isa.h" @@ -36,11 +36,15 @@ #include #include #include +#include #include -#include +#include #include #include +#include +#include + #include #include @@ -428,7 +432,7 @@ * Create a plain I/O APIC object. */ void * -ioapic_create(uintptr_t addr, int32_t apic_id, int intbase) +ioapic_create(vm_paddr_t addr, int32_t apic_id, int intbase) { struct ioapic *io; struct ioapic_intsrc *intpin; @@ -727,3 +731,46 @@ if (pin->io_irq < NUM_IO_INTS) intr_register_source(&pin->io_intsrc); } + +/* A simple new-bus driver to consume PCI I/O APIC devices. */ +static int +ioapic_pci_probe(device_t dev) +{ + + if (pci_get_class(dev) == PCIC_BASEPERIPH && + pci_get_subclass(dev) == PCIS_BASEPERIPH_PIC) { + switch (pci_get_progif(dev)) { + case PCIP_BASEPERIPH_PIC_IO_APIC: + device_set_desc(dev, "IO APIC"); + break; + case PCIP_BASEPERIPH_PIC_IOX_APIC: + device_set_desc(dev, "IO(x) APIC"); + break; + default: + return (ENXIO); + } + device_quiet(dev); + return (-10000); + } + return (ENXIO); +} + +static int +ioapic_pci_attach(device_t dev) +{ + + return (0); +} + +static device_method_t ioapic_pci_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, ioapic_pci_probe), + DEVMETHOD(device_attach, ioapic_pci_attach), + + { 0, 0 } +}; + +DEFINE_CLASS_0(ioapic, ioapic_pci_driver, ioapic_pci_methods, 0); + +static devclass_t ioapic_devclass; +DRIVER_MODULE(ioapic, pci, ioapic_pci_driver, ioapic_devclass, 0, 0); ==== //depot/projects/linuxolator/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.34 2006/12/17 06:48:39 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.36 2007/03/06 17:16:46 jhb Exp $"); #include "opt_hwpmc_hooks.h" @@ -205,7 +205,7 @@ * Map the local APIC and setup necessary interrupt vectors. */ void -lapic_init(uintptr_t addr) +lapic_init(vm_paddr_t addr) { /* Map the local APIC and setup the spurious interrupt handler. */ @@ -220,7 +220,6 @@ /* Set BSP's per-CPU local APIC ID. */ PCPU_SET(apic_id, lapic_id()); - intr_add_cpu(PCPU_GET(apic_id)); /* Local APIC timer interrupt. */ setidt(APIC_TIMER_INT, IDTVEC(timerint), SDT_SYSIGT, SEL_KPL, 0); ==== //depot/projects/linuxolator/src/sys/amd64/amd64/mp_machdep.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.281 2007/02/08 16:49:58 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.283 2007/03/06 17:16:46 jhb Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -152,7 +152,7 @@ int cpu_bsp:1; int cpu_disabled:1; } static cpu_info[MAXCPU]; -static int cpu_apic_ids[MAXCPU]; +int cpu_apic_ids[MAXCPU]; /* Holds pending bitmap based IPIs per CPU */ static volatile u_int cpu_ipi_pending[MAXCPU]; @@ -625,10 +625,11 @@ static void set_interrupt_apic_ids(void) { - u_int apic_id; + u_int i, apic_id; - for (apic_id = 0; apic_id < MAXCPU; apic_id++) { - if (!cpu_info[apic_id].cpu_present) + for (i = 0; i < MAXCPU; i++) { + apic_id = cpu_apic_ids[i]; + if (apic_id == -1) continue; if (cpu_info[apic_id].cpu_bsp) continue; @@ -640,7 +641,7 @@ apic_id % hyperthreading_cpus != 0) continue; - intr_add_cpu(apic_id); + intr_add_cpu(i); } } @@ -835,13 +836,16 @@ ncpu = mp_ncpus - 1; /* does not shootdown self */ if (ncpu < 1) return; /* no other cpus */ - mtx_assert(&smp_ipi_mtx, MA_OWNED); + if (!(read_rflags() & PSL_I)) + panic("%s: interrupts disabled", __func__); + mtx_lock_spin(&smp_ipi_mtx); smp_tlb_addr1 = addr1; smp_tlb_addr2 = addr2; atomic_store_rel_int(&smp_tlb_wait, 0); ipi_all_but_self(vector); while (smp_tlb_wait < ncpu) ia32_pause(); + mtx_unlock_spin(&smp_ipi_mtx); } static void @@ -869,7 +873,9 @@ if (ncpu < 1) return; } - mtx_assert(&smp_ipi_mtx, MA_OWNED); + if (!(read_rflags() & PSL_I)) + panic("%s: interrupts disabled", __func__); + mtx_lock_spin(&smp_ipi_mtx); smp_tlb_addr1 = addr1; smp_tlb_addr2 = addr2; atomic_store_rel_int(&smp_tlb_wait, 0); @@ -879,6 +885,7 @@ ipi_selected(mask, vector); while (smp_tlb_wait < ncpu) ia32_pause(); + mtx_unlock_spin(&smp_ipi_mtx); } void ==== //depot/projects/linuxolator/src/sys/amd64/amd64/mptable.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.237 2005/10/31 15:41:17 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.239 2007/03/09 15:49:57 jhb Exp $"); #include #include @@ -316,18 +316,20 @@ static int mptable_setup_local(void) { + vm_paddr_t addr; /* Is this a pre-defined config? */ printf("MPTable: <"); if (mpfps->config_type != 0) { - lapic_init(DEFAULT_APIC_BASE); + addr = DEFAULT_APIC_BASE; printf("Default Configuration %d", mpfps->config_type); } else { - lapic_init((uintptr_t)mpct->apic_address); + addr = mpct->apic_address; printf("%.*s %.*s", (int)sizeof(mpct->oem_id), mpct->oem_id, (int)sizeof(mpct->product_id), mpct->product_id); } printf(">\n"); + lapic_init(addr); return (0); } @@ -514,8 +516,8 @@ if (ioapics[apic->apic_id] != NULL) panic("%s: Double APIC ID %d", __func__, apic->apic_id); - ioapics[apic->apic_id] = ioapic_create( - (uintptr_t)apic->apic_address, apic->apic_id, -1); + ioapics[apic->apic_id] = ioapic_create(apic->apic_address, + apic->apic_id, -1); break; default: break; ==== //depot/projects/linuxolator/src/sys/amd64/amd64/pmap.c#7 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.579 2007/02/19 10:55:16 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.581 2007/03/10 20:26:43 alc Exp $"); /* * Manages physical address maps. @@ -168,7 +168,6 @@ struct pmap kernel_pmap_store; -static vm_paddr_t avail_start; /* PA of first available physical page */ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ @@ -396,38 +395,38 @@ } static u_int64_t -allocpages(int n) +allocpages(vm_paddr_t *firstaddr, int n) { u_int64_t ret; - ret = avail_start; + ret = *firstaddr; bzero((void *)ret, n * PAGE_SIZE); - avail_start += n * PAGE_SIZE; + *firstaddr += n * PAGE_SIZE; return (ret); } static void -create_pagetables(void) +create_pagetables(vm_paddr_t *firstaddr) { int i; /* Allocate pages */ - KPTphys = allocpages(NKPT); - KPML4phys = allocpages(1); - KPDPphys = allocpages(NKPML4E); - KPDphys = allocpages(NKPDPE); + KPTphys = allocpages(firstaddr, NKPT); + KPML4phys = allocpages(firstaddr, 1); + KPDPphys = allocpages(firstaddr, NKPML4E); + KPDphys = allocpages(firstaddr, NKPDPE); ndmpdp = (ptoa(Maxmem) + NBPDP - 1) >> PDPSHIFT; if (ndmpdp < 4) /* Minimum 4GB of dirmap */ ndmpdp = 4; - DMPDPphys = allocpages(NDMPML4E); - DMPDphys = allocpages(ndmpdp); + DMPDPphys = allocpages(firstaddr, NDMPML4E); + DMPDphys = allocpages(firstaddr, ndmpdp); dmaplimit = (vm_paddr_t)ndmpdp << PDPSHIFT; /* Fill in the underlying page table pages */ /* Read-only from zero to physfree */ /* XXX not fully used, underneath 2M pages */ - for (i = 0; (i << PAGE_SHIFT) < avail_start; i++) { + for (i = 0; (i << PAGE_SHIFT) < *firstaddr; i++) { ((pt_entry_t *)KPTphys)[i] = i << PAGE_SHIFT; ((pt_entry_t *)KPTphys)[i] |= PG_RW | PG_V | PG_G; } @@ -440,7 +439,7 @@ /* Map from zero to end of allocations under 2M pages */ /* This replaces some of the KPTphys entries above */ - for (i = 0; (i << PDRSHIFT) < avail_start; i++) { + for (i = 0; (i << PDRSHIFT) < *firstaddr; i++) { ((pd_entry_t *)KPDphys)[i] = i << PDRSHIFT; ((pd_entry_t *)KPDphys)[i] |= PG_RW | PG_V | PG_PS | PG_G; } @@ -493,15 +492,12 @@ vm_offset_t va; pt_entry_t *pte, *unused; - avail_start = *firstaddr; - /* * Create an initial set of page tables to run the kernel in. */ - create_pagetables(); - *firstaddr = avail_start; + create_pagetables(firstaddr); - virtual_avail = (vm_offset_t) KERNBASE + avail_start; + virtual_avail = (vm_offset_t) KERNBASE + *firstaddr; virtual_avail = pmap_kmem_choose(virtual_avail); virtual_end = VM_MAX_KERNEL_ADDRESS; @@ -752,18 +748,7 @@ u_int cpumask; u_int other_cpus; - if (smp_started) { - if (!(read_rflags() & PSL_I)) - panic("%s: interrupts disabled", __func__); - mtx_lock_spin(&smp_ipi_mtx); - } else - critical_enter(); - /* - * We need to disable interrupt preemption but MUST NOT have - * interrupts disabled here. - * XXX we may need to hold schedlock to get a coherent pm_active - * XXX critical sections disable interrupts again - */ + sched_pin(); if (pmap == kernel_pmap || pmap->pm_active == all_cpus) { invlpg(va); smp_invlpg(va); @@ -775,10 +760,7 @@ if (pmap->pm_active & other_cpus) smp_masked_invlpg(pmap->pm_active & other_cpus, va); } - if (smp_started) - mtx_unlock_spin(&smp_ipi_mtx); - else - critical_exit(); + sched_unpin(); } void @@ -788,18 +770,7 @@ u_int other_cpus; vm_offset_t addr; - if (smp_started) { - if (!(read_rflags() & PSL_I)) - panic("%s: interrupts disabled", __func__); - mtx_lock_spin(&smp_ipi_mtx); - } else - critical_enter(); - /* - * We need to disable interrupt preemption but MUST NOT have - * interrupts disabled here. - * XXX we may need to hold schedlock to get a coherent pm_active - * XXX critical sections disable interrupts again - */ + sched_pin(); if (pmap == kernel_pmap || pmap->pm_active == all_cpus) { for (addr = sva; addr < eva; addr += PAGE_SIZE) invlpg(addr); @@ -814,10 +785,7 @@ smp_masked_invlpg_range(pmap->pm_active & other_cpus, sva, eva); } - if (smp_started) - mtx_unlock_spin(&smp_ipi_mtx); - else - critical_exit(); + sched_unpin(); } void @@ -826,18 +794,7 @@ u_int cpumask; u_int other_cpus; - if (smp_started) { - if (!(read_rflags() & PSL_I)) - panic("%s: interrupts disabled", __func__); - mtx_lock_spin(&smp_ipi_mtx); - } else - critical_enter(); - /* - * We need to disable interrupt preemption but MUST NOT have - * interrupts disabled here. - * XXX we may need to hold schedlock to get a coherent pm_active - * XXX critical sections disable interrupts again - */ + sched_pin(); if (pmap == kernel_pmap || pmap->pm_active == all_cpus) { invltlb(); smp_invltlb(); @@ -849,34 +806,17 @@ if (pmap->pm_active & other_cpus) smp_masked_invltlb(pmap->pm_active & other_cpus); } - if (smp_started) - mtx_unlock_spin(&smp_ipi_mtx); - else - critical_exit(); + sched_unpin(); } void pmap_invalidate_cache(void) { - if (smp_started) { - if (!(read_rflags() & PSL_I)) - panic("%s: interrupts disabled", __func__); - mtx_lock_spin(&smp_ipi_mtx); - } else - critical_enter(); - /* - * We need to disable interrupt preemption but MUST NOT have - * interrupts disabled here. - * XXX we may need to hold schedlock to get a coherent pm_active - * XXX critical sections disable interrupts again - */ + sched_pin(); wbinvd(); smp_cache_flush(); - if (smp_started) - mtx_unlock_spin(&smp_ipi_mtx); - else - critical_exit(); + sched_unpin(); } #else /* !SMP */ /* ==== //depot/projects/linuxolator/src/sys/amd64/amd64/trap.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.313 2006/12/17 06:48:39 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.314 2007/03/09 04:02:36 mohans Exp $"); /* * AMD64 Trap and System call handling @@ -813,6 +813,8 @@ CTR4(KTR_SYSC, "syscall enter thread %p pid %d proc %s code %d", td, td->td_proc->p_pid, td->td_proc->p_comm, code); + td->td_syscalls++; + if (error == 0) { td->td_retval[0] = 0; td->td_retval[1] = frame->tf_rdx; ==== //depot/projects/linuxolator/src/sys/amd64/include/apicvar.h#5 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.21 2006/12/17 06:48:40 kmacy Exp $ + * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.22 2007/03/05 20:35:16 jhb Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -180,7 +180,7 @@ void apic_free_vector(u_int vector, u_int irq); u_int apic_idt_to_irq(u_int vector); void apic_register_enumerator(struct apic_enumerator *enumerator); -void *ioapic_create(uintptr_t addr, int32_t id, int intbase); +void *ioapic_create(vm_paddr_t addr, int32_t apic_id, int intbase); int ioapic_disable_pin(void *cookie, u_int pin); int ioapic_get_vector(void *cookie, u_int pin); void ioapic_register(void *cookie); @@ -197,7 +197,7 @@ void lapic_dump(const char *str); void lapic_eoi(void); int lapic_id(void); -void lapic_init(uintptr_t addr); +void lapic_init(vm_paddr_t addr); int lapic_intr_pending(u_int vector); void lapic_ipi_raw(register_t icrlo, u_int dest); void lapic_ipi_vectored(u_int vector, int dest); ==== //depot/projects/linuxolator/src/sys/amd64/include/intr_machdep.h#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.15 2007/02/23 12:18:26 piso Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.16 2007/03/06 17:16:46 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -131,9 +131,7 @@ void elcr_resume(void); void elcr_write_trigger(u_int irq, enum intr_trigger trigger); #ifdef SMP -void intr_add_cpu(u_int apic_id); -#else -#define intr_add_cpu(apic_id) +void intr_add_cpu(u_int cpu); #endif int intr_add_handler(const char *name, int vector, driver_filter_t filter, driver_intr_t handler, void *arg, enum intr_type flags, ==== //depot/projects/linuxolator/src/sys/amd64/include/pcpu.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.46 2007/02/06 18:04:02 bde Exp $ + * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.47 2007/03/11 05:54:28 alc Exp $ */ #ifndef _MACHINE_PCPU_H_ @@ -56,6 +56,7 @@ extern struct pcpu *pcpup; #define PCPU_GET(member) (pcpup->pc_ ## member) +#define PCPU_LAZY_INC(member) (++pcpup->pc_ ## member) #define PCPU_PTR(member) (&pcpup->pc_ ## member) #define PCPU_SET(member, val) (pcpup->pc_ ## member = (val)) @@ -109,6 +110,34 @@ }) /* + * Increments the value of the per-cpu counter name. The implementation + * must be atomic with respect to interrupts. + */ +#define __PCPU_LAZY_INC(name) do { \ + CTASSERT(sizeof(__pcpu_type(name)) == 1 || \ + sizeof(__pcpu_type(name)) == 2 || \ + sizeof(__pcpu_type(name)) == 4 || \ + sizeof(__pcpu_type(name)) == 8); \ + if (sizeof(__pcpu_type(name)) == 1) { \ + __asm __volatile("incb %%gs:%0" \ + : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\ + : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\ + } else if (sizeof(__pcpu_type(name)) == 2) { \ + __asm __volatile("incw %%gs:%0" \ + : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\ + : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\ + } else if (sizeof(__pcpu_type(name)) == 4) { \ + __asm __volatile("incl %%gs:%0" \ + : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\ + : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\ + } else if (sizeof(__pcpu_type(name)) == 8) { \ + __asm __volatile("incq %%gs:%0" \ + : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\ + : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\ + } \ +} while (0) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 14 01:32:00 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 976A516A409; Wed, 14 Mar 2007 01:32:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 320CD16A400 for ; Wed, 14 Mar 2007 01:32:00 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 151F813C459 for ; Wed, 14 Mar 2007 01:32:00 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2E1W0Pm065665 for ; Wed, 14 Mar 2007 01:32:00 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2E1VHQg065358 for perforce@freebsd.org; Wed, 14 Mar 2007 01:31:17 GMT (envelope-from peter@freebsd.org) Date: Wed, 14 Mar 2007 01:31:17 GMT Message-Id: <200703140131.l2E1VHQg065358@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 115824 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, 14 Mar 2007 01:32:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=115824 Change 115824 by peter@peter_overcee on 2007/03/14 01:30:26 IFC @115823 Affected files ... .. //depot/projects/hammer/Makefile.inc1#119 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#22 integrate .. //depot/projects/hammer/UPDATING#98 integrate .. //depot/projects/hammer/bin/csh/config.h#8 integrate .. //depot/projects/hammer/bin/csh/config_p.h#3 integrate .. //depot/projects/hammer/bin/df/df.1#12 integrate .. //depot/projects/hammer/bin/df/df.c#21 integrate .. //depot/projects/hammer/bin/expr/expr.1#9 integrate .. //depot/projects/hammer/bin/expr/expr.y#4 integrate .. //depot/projects/hammer/bin/kill/kill.1#6 integrate .. //depot/projects/hammer/bin/rcp/rcp.1#7 integrate .. //depot/projects/hammer/bin/setfacl/setfacl.c#8 integrate .. //depot/projects/hammer/contrib/libpcap/pcap-bpf.c#10 integrate .. //depot/projects/hammer/contrib/tcsh/FREEBSD-Xlist#4 integrate .. //depot/projects/hammer/contrib/tcsh/FREEBSD-upgrade#2 integrate .. //depot/projects/hammer/contrib/tcsh/Fixes#4 integrate .. //depot/projects/hammer/contrib/tcsh/Imakefile#4 integrate .. //depot/projects/hammer/contrib/tcsh/MAKEDIFFS#2 integrate .. //depot/projects/hammer/contrib/tcsh/MAKESHAR#2 integrate .. //depot/projects/hammer/contrib/tcsh/Makefile.in#4 integrate .. //depot/projects/hammer/contrib/tcsh/Makefile.std#3 integrate .. //depot/projects/hammer/contrib/tcsh/Makefile.vms#3 integrate .. //depot/projects/hammer/contrib/tcsh/README#4 integrate .. //depot/projects/hammer/contrib/tcsh/complete.tcsh#4 integrate .. //depot/projects/hammer/contrib/tcsh/config.h.in#3 integrate .. //depot/projects/hammer/contrib/tcsh/config/bsd4.4#4 integrate .. //depot/projects/hammer/contrib/tcsh/config_f.h#4 integrate .. //depot/projects/hammer/contrib/tcsh/configure#4 integrate .. //depot/projects/hammer/contrib/tcsh/configure.in#4 integrate .. //depot/projects/hammer/contrib/tcsh/ed.chared.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/ed.decls.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/ed.defns.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/ed.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/ed.init.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/ed.inputl.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/ed.refresh.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/ed.screen.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/ed.term.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/ed.term.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/ed.xmap.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/eight-bit.me#2 integrate .. //depot/projects/hammer/contrib/tcsh/gethost.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/glob.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/glob.h#4 integrate .. //depot/projects/hammer/contrib/tcsh/host.defs#4 integrate .. //depot/projects/hammer/contrib/tcsh/imake.config#2 integrate .. //depot/projects/hammer/contrib/tcsh/ma.setp.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/mi.termios.c#2 integrate .. //depot/projects/hammer/contrib/tcsh/mi.varargs.h#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set11#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/C/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/Makefile#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/et/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set14#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/finnish/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set11#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/french/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/german/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/greek/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/italian/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set1#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ja/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/pl/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set30#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/russian/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/spanish/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set1#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set10#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set11#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set12#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set13#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set14#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set15#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set16#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set17#3 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set18#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set19#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set2#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set20#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set21#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set22#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set23#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set24#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set25#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set26#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set27#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set29#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set3#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set30#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set31#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set4#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set5#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set6#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set7#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set8#2 integrate .. //depot/projects/hammer/contrib/tcsh/nls/ukrainian/set9#2 integrate .. //depot/projects/hammer/contrib/tcsh/patchlevel.h#4 integrate .. //depot/projects/hammer/contrib/tcsh/pathnames.h#2 integrate .. //depot/projects/hammer/contrib/tcsh/sh.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.char.c#2 integrate .. //depot/projects/hammer/contrib/tcsh/sh.char.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/sh.decls.h#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.dir.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.dir.h#2 integrate .. //depot/projects/hammer/contrib/tcsh/sh.dol.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.err.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/sh.exec.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.exp.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/sh.file.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.func.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.glob.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.h#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.hist.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/sh.init.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.lex.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.misc.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.parse.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/sh.print.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/sh.proc.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.proc.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/sh.sem.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.set.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/sh.time.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/sh.types.h#4 integrate .. //depot/projects/hammer/contrib/tcsh/snames.h#2 integrate .. //depot/projects/hammer/contrib/tcsh/tc.alloc.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.bind.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.const.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tc.decls.h#4 integrate .. //depot/projects/hammer/contrib/tcsh/tc.disc.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.func.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tc.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.nls.c#2 integrate .. //depot/projects/hammer/contrib/tcsh/tc.nls.h#2 integrate .. //depot/projects/hammer/contrib/tcsh/tc.os.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tc.os.h#4 integrate .. //depot/projects/hammer/contrib/tcsh/tc.printf.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tc.prompt.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tc.sched.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.sig.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.sig.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.str.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tc.vers.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.wait.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/tc.who.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tcsh.man#4 integrate .. //depot/projects/hammer/contrib/tcsh/tcsh.man2html#3 integrate .. //depot/projects/hammer/contrib/tcsh/termcap.vms#2 integrate .. //depot/projects/hammer/contrib/tcsh/tw.color.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tw.comp.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tw.decls.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/tw.h#3 integrate .. //depot/projects/hammer/contrib/tcsh/tw.help.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tw.init.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/tw.parse.c#4 integrate .. //depot/projects/hammer/contrib/tcsh/tw.spell.c#3 integrate .. //depot/projects/hammer/contrib/tcsh/vms.termcap.c#3 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#74 integrate .. //depot/projects/hammer/etc/devd.conf#28 integrate .. //depot/projects/hammer/etc/mtree/BSD.include.dist#41 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#37 integrate .. //depot/projects/hammer/etc/periodic/security/800.loginfail#6 integrate .. //depot/projects/hammer/etc/periodic/weekly/310.locate#2 integrate .. //depot/projects/hammer/etc/rc.d/bgfsck#7 integrate .. //depot/projects/hammer/etc/rc.d/dhclient#18 integrate .. //depot/projects/hammer/etc/rc.d/hostname#8 integrate .. //depot/projects/hammer/etc/rc.d/random#9 integrate .. //depot/projects/hammer/etc/rc.d/syscons#12 integrate .. //depot/projects/hammer/etc/rc.subr#38 integrate .. //depot/projects/hammer/gnu/usr.bin/binutils/Makefile.inc0#11 integrate .. //depot/projects/hammer/gnu/usr.bin/binutils/libbfd/bfd.h#2 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/Makefile.fe#3 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/Makefile.inc#3 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/c++filt/Makefile#8 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/cc_int/Makefile#15 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/f77/Makefile#4 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/kgdb.h#4 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/kthr.c#6 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/trgt_i386.c#4 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#11 integrate .. //depot/projects/hammer/include/Makefile#59 integrate .. //depot/projects/hammer/include/protocols/dumprestore.h#2 integrate .. //depot/projects/hammer/lib/libarchive/Makefile#37 integrate .. //depot/projects/hammer/lib/libarchive/README#5 integrate .. //depot/projects/hammer/lib/libarchive/archive.h.in#15 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.3#12 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.c#27 integrate .. //depot/projects/hammer/lib/libarchive/archive_entry.h#18 integrate .. //depot/projects/hammer/lib/libarchive/archive_private.h#23 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.3#22 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.c#19 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_data_into_fd.c#13 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_extract.c#31 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_private.h#1 branch .. //depot/projects/hammer/lib/libarchive/archive_read_support_compression_bzip2.c#10 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_compression_compress.c#7 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_compression_gzip.c#11 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_compression_none.c#10 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_cpio.c#18 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_empty.c#2 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_iso9660.c#12 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#30 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_zip.c#9 integrate .. //depot/projects/hammer/lib/libarchive/archive_util.3#6 integrate .. //depot/projects/hammer/lib/libarchive/archive_util.c#12 integrate .. //depot/projects/hammer/lib/libarchive/archive_virtual.c#1 branch .. //depot/projects/hammer/lib/libarchive/archive_write.3#13 integrate .. //depot/projects/hammer/lib/libarchive/archive_write.c#16 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_disk.3#1 branch .. //depot/projects/hammer/lib/libarchive/archive_write_disk.c#1 branch .. //depot/projects/hammer/lib/libarchive/archive_write_disk_private.h#1 branch .. //depot/projects/hammer/lib/libarchive/archive_write_disk_set_standard_lookup.c#1 branch .. //depot/projects/hammer/lib/libarchive/archive_write_private.h#1 branch .. //depot/projects/hammer/lib/libarchive/archive_write_set_compression_bzip2.c#12 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_compression_gzip.c#13 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_compression_none.c#12 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_cpio.c#9 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_pax.c#29 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_shar.c#11 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_format_ustar.c#14 integrate .. //depot/projects/hammer/lib/libarchive/test/Makefile#1 branch .. //depot/projects/hammer/lib/libarchive/test/README#1 branch .. //depot/projects/hammer/lib/libarchive/test/main.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test.h#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_acl_basic.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_acl_pax.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_archive_api_feature.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_bad_fd.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_data_large.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_extract.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_cpio_bin.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_cpio_bin_Z.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_cpio_bin_bz2.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_cpio_bin_gz.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_cpio_odc.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_cpio_svr4_gzip.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_cpio_svr4c_Z.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_empty.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_gtar_gz.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_iso_gz.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_isorr_bz2.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_pax_bz2.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_tar.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_tbz.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_tgz.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_tz.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_format_zip.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_large.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_position.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_read_truncated.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_disk.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_disk_perms.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_disk_secure.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_format_cpio_empty.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_format_shar_empty.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_format_tar.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_format_tar_empty.c#1 branch .. //depot/projects/hammer/lib/libarchive/test/test_write_open_memory.c#1 branch .. //depot/projects/hammer/lib/libc/Makefile#28 integrate .. //depot/projects/hammer/lib/libc/gen/getcap.3#7 integrate .. //depot/projects/hammer/lib/libc/gen/tls.c#10 integrate .. //depot/projects/hammer/lib/libc/net/Makefile.inc#18 integrate .. //depot/projects/hammer/lib/libc/net/Symbol.map#6 integrate .. //depot/projects/hammer/lib/libc/net/addr2ascii.3#8 delete .. //depot/projects/hammer/lib/libc/net/addr2ascii.c#2 delete .. //depot/projects/hammer/lib/libc/net/ascii2addr.c#2 delete .. //depot/projects/hammer/lib/libc/net/getnameinfo.3#12 integrate .. //depot/projects/hammer/lib/libc/net/getnameinfo.c#8 integrate .. //depot/projects/hammer/lib/libc/net/inet.3#8 integrate .. //depot/projects/hammer/lib/libc/net/linkaddr.3#5 integrate .. //depot/projects/hammer/lib/libc/net/sctp_bindx.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_connectx.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_freepaddrs.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_getaddrlen.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_getassocid.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_getpaddrs.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_opt_info.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_recvmsg.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_send.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_sendmsg.3#1 branch .. //depot/projects/hammer/lib/libc/net/sctp_sys_calls.c#2 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_support.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_support.h#2 integrate .. //depot/projects/hammer/lib/libc/regex/engine.c#8 integrate .. //depot/projects/hammer/lib/libc/regex/grot/tests#2 integrate .. //depot/projects/hammer/lib/libc/resolv/res_send.c#4 integrate .. //depot/projects/hammer/lib/libc/rpc/clnt_dg.c#6 integrate .. //depot/projects/hammer/lib/libc/stdlib/malloc.c#33 integrate .. //depot/projects/hammer/lib/libc/sys/Makefile.inc#24 integrate .. //depot/projects/hammer/lib/libc/sys/getsockopt.2#11 integrate .. //depot/projects/hammer/lib/libc/sys/kse.2#11 integrate .. //depot/projects/hammer/lib/libc/sys/ntp_adjtime.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/sctp_generic_recvmsg.2#1 branch .. //depot/projects/hammer/lib/libc/sys/sctp_generic_sendmsg.2#1 branch .. //depot/projects/hammer/lib/libc/sys/sctp_peeloff.2#1 branch .. //depot/projects/hammer/lib/libc/sys/shutdown.2#4 integrate .. //depot/projects/hammer/lib/libc/yp/yplib.c#7 integrate .. //depot/projects/hammer/lib/libedit/chared.h#4 integrate .. //depot/projects/hammer/lib/libedit/common.c#4 integrate .. //depot/projects/hammer/lib/libedit/editline.3#10 integrate .. //depot/projects/hammer/lib/libedit/editrc.5#6 integrate .. //depot/projects/hammer/lib/libedit/emacs.c#4 integrate .. //depot/projects/hammer/lib/libedit/history.c#4 integrate .. //depot/projects/hammer/lib/libedit/key.c#4 integrate .. //depot/projects/hammer/lib/libedit/key.h#3 integrate .. //depot/projects/hammer/lib/libedit/map.c#4 integrate .. //depot/projects/hammer/lib/libedit/read.c#3 integrate .. //depot/projects/hammer/lib/libedit/read.h#2 integrate .. //depot/projects/hammer/lib/libedit/term.c#3 integrate .. //depot/projects/hammer/lib/libedit/term.h#3 integrate .. //depot/projects/hammer/lib/libedit/tty.c#3 integrate .. //depot/projects/hammer/lib/libedit/vi.c#4 integrate .. //depot/projects/hammer/lib/libelf/gelf.h#2 integrate .. //depot/projects/hammer/lib/libelf/gelf_getehdr.3#2 integrate .. //depot/projects/hammer/lib/libelf/libelf_allocate.c#2 integrate .. //depot/projects/hammer/lib/libncp/ipxsap.h#3 integrate .. //depot/projects/hammer/lib/libncurses/Makefile#20 delete .. //depot/projects/hammer/lib/libpthread/thread/thr_kern.c#42 integrate .. //depot/projects/hammer/lib/libwrap/Makefile#12 integrate .. //depot/projects/hammer/lib/libypclnt/Makefile#8 integrate .. //depot/projects/hammer/lib/libypclnt/ypclnt.3#1 branch .. //depot/projects/hammer/lib/ncurses/Makefile#2 integrate .. //depot/projects/hammer/lib/ncurses/Makefile.inc#2 integrate .. //depot/projects/hammer/lib/ncurses/config.mk#2 integrate .. //depot/projects/hammer/lib/ncurses/form/Makefile#2 integrate .. //depot/projects/hammer/lib/ncurses/formw/Makefile#1 branch .. //depot/projects/hammer/lib/ncurses/menu/Makefile#2 integrate .. //depot/projects/hammer/lib/ncurses/menuw/Makefile#1 branch .. //depot/projects/hammer/lib/ncurses/ncurses/Makefile#2 integrate .. //depot/projects/hammer/lib/ncurses/ncurses/ncurses_cfg.h#2 integrate .. //depot/projects/hammer/lib/ncurses/ncursesw/Makefile#1 branch .. //depot/projects/hammer/lib/ncurses/panel/Makefile#2 integrate .. //depot/projects/hammer/lib/ncurses/panelw/Makefile#1 branch .. //depot/projects/hammer/release/Makefile#90 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/Makefile#6 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/Makefile.inc#3 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/amd64/Makefile#3 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/amd64/article.sgml#3 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/amd64/proc-amd64.sgml#7 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/article.sgml#1 branch .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/i386/Makefile#3 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/i386/article.sgml#4 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/i386/proc-i386.sgml#9 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/ia64/Makefile#4 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/ia64/article.sgml#5 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/ia64/proc-ia64.sgml#8 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/pc98/Makefile#3 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/pc98/article.sgml#3 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/pc98/proc-pc98.sgml#4 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/powerpc/Makefile#2 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/powerpc/article.sgml#2 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/powerpc/proc-powerpc.sgml#2 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/sparc64/Makefile#4 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/sparc64/article.sgml#4 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/sparc64/proc-sparc64.sgml#5 delete .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/readme/article.sgml#16 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#3 integrate .. //depot/projects/hammer/release/doc/share/examples/Makefile.relnotesng#10 integrate .. //depot/projects/hammer/release/doc/share/misc/man2hwnotes.pl#9 integrate .. //depot/projects/hammer/release/doc/share/mk/doc.relnotes.mk#3 integrate .. //depot/projects/hammer/release/doc/share/sgml/Makefile#2 integrate .. //depot/projects/hammer/sbin/dump/dump.h#9 integrate .. //depot/projects/hammer/sbin/dump/traverse.c#11 integrate .. //depot/projects/hammer/sbin/ffsinfo/ffsinfo.c#8 integrate .. //depot/projects/hammer/sbin/geom/class/Makefile#10 integrate .. //depot/projects/hammer/sbin/geom/class/eli/geli.8#8 integrate .. //depot/projects/hammer/sbin/geom/class/eli/geom_eli.c#11 integrate .. //depot/projects/hammer/sbin/geom/class/journal/Makefile#2 integrate .. //depot/projects/hammer/sbin/geom/class/multipath/Makefile#1 branch .. //depot/projects/hammer/sbin/geom/class/multipath/geom_multipath.c#1 branch .. //depot/projects/hammer/sbin/geom/class/multipath/gmultipath.8#1 branch .. //depot/projects/hammer/sbin/ifconfig/af_atalk.c#2 integrate .. //depot/projects/hammer/sbin/ifconfig/af_inet.c#3 integrate .. //depot/projects/hammer/sbin/ifconfig/af_inet6.c#6 integrate .. //depot/projects/hammer/sbin/ifconfig/af_ipx.c#2 integrate .. //depot/projects/hammer/sbin/ifconfig/af_link.c#4 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.c#31 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.h#12 integrate .. //depot/projects/hammer/sbin/ifconfig/ifgroup.c#2 integrate .. //depot/projects/hammer/sbin/ifconfig/ifieee80211.c#28 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw.8#56 integrate .. //depot/projects/hammer/sbin/kldload/kldload.8#8 integrate .. //depot/projects/hammer/sbin/kldstat/kldstat.8#6 integrate .. //depot/projects/hammer/sbin/kldunload/kldunload.8#7 integrate .. //depot/projects/hammer/sbin/mdconfig/mdconfig.8#18 integrate .. //depot/projects/hammer/sbin/mdconfig/mdconfig.c#25 integrate .. //depot/projects/hammer/sbin/mdmfs/mdmfs.8#14 integrate .. //depot/projects/hammer/sbin/mdmfs/mdmfs.c#19 integrate .. //depot/projects/hammer/sbin/mount_nfs/mount_nfs.8#14 integrate .. //depot/projects/hammer/sbin/mount_nfs/mount_nfs.c#14 integrate .. //depot/projects/hammer/sbin/mount_unionfs/Makefile#4 integrate .. //depot/projects/hammer/sbin/mount_unionfs/mount_unionfs.c#8 integrate .. //depot/projects/hammer/sbin/newfs/newfs.c#15 integrate .. //depot/projects/hammer/sbin/restore/dirs.c#8 integrate .. //depot/projects/hammer/sbin/restore/extern.h#4 integrate .. //depot/projects/hammer/sbin/restore/restore.h#8 integrate .. //depot/projects/hammer/sbin/restore/tape.c#8 integrate .. //depot/projects/hammer/share/dict/web2a#2 integrate .. //depot/projects/hammer/share/doc/Makefile#5 integrate .. //depot/projects/hammer/share/doc/legal/Makefile#1 branch .. //depot/projects/hammer/share/doc/legal/intel_ipw/Makefile#1 branch .. //depot/projects/hammer/share/doc/legal/intel_iwi/Makefile#1 branch .. //depot/projects/hammer/share/man/man4/Makefile#86 integrate .. //depot/projects/hammer/share/man/man4/altq.4#15 integrate .. //depot/projects/hammer/share/man/man4/ata.4#29 integrate .. //depot/projects/hammer/share/man/man4/bpf.4#12 integrate .. //depot/projects/hammer/share/man/man4/enc.4#3 integrate .. //depot/projects/hammer/share/man/man4/hwpmc.4#14 integrate .. //depot/projects/hammer/share/man/man4/ipw.4#13 integrate .. //depot/projects/hammer/share/man/man4/isp.4#10 integrate .. //depot/projects/hammer/share/man/man4/iwi.4#15 integrate .. //depot/projects/hammer/share/man/man4/joy.4#7 integrate .. //depot/projects/hammer/share/man/man4/kame.4#5 delete .. //depot/projects/hammer/share/man/man4/kld.4#7 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/fe.4#14 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ndis.4#9 integrate .. //depot/projects/hammer/share/man/man4/miibus.4#13 integrate .. //depot/projects/hammer/share/man/man4/multicast.4#4 integrate .. //depot/projects/hammer/share/man/man4/my.4#8 integrate .. //depot/projects/hammer/share/man/man4/ng_bt3c.4#10 integrate .. //depot/projects/hammer/share/man/man4/ng_source.4#11 integrate .. //depot/projects/hammer/share/man/man4/pim.4#3 integrate .. //depot/projects/hammer/share/man/man4/ppbus.4#5 integrate .. //depot/projects/hammer/share/man/man4/sctp.4#1 branch .. //depot/projects/hammer/share/man/man4/snd_hda.4#3 integrate .. //depot/projects/hammer/share/man/man4/snd_sbc.4#8 integrate .. //depot/projects/hammer/share/man/man4/tcp.4#18 integrate .. //depot/projects/hammer/share/man/man4/uark.4#2 integrate .. //depot/projects/hammer/share/man/man4/vge.4#7 integrate .. //depot/projects/hammer/share/man/man5/fs.5#9 integrate .. //depot/projects/hammer/share/man/man5/rc.conf.5#77 integrate .. //depot/projects/hammer/share/man/man7/hier.7#30 integrate .. //depot/projects/hammer/share/man/man9/BUS_SETUP_INTR.9#9 integrate .. //depot/projects/hammer/share/man/man9/Makefile#67 integrate .. //depot/projects/hammer/share/man/man9/VFS_VPTOFH.9#4 delete .. //depot/projects/hammer/share/man/man9/VOP_VPTOFH.9#1 branch .. //depot/projects/hammer/share/man/man9/bus_dma.9#26 integrate .. //depot/projects/hammer/share/man/man9/condvar.9#6 integrate .. //depot/projects/hammer/share/man/man9/device_set_driver.9#4 integrate .. //depot/projects/hammer/share/man/man9/extattr.9#7 integrate .. //depot/projects/hammer/share/man/man9/firmware.9#5 integrate .. //depot/projects/hammer/share/man/man9/ieee80211_ioctl.9#4 integrate .. //depot/projects/hammer/share/man/man9/lock.9#6 integrate .. //depot/projects/hammer/share/man/man9/mbuf.9#27 integrate .. //depot/projects/hammer/share/man/man9/mi_switch.9#6 integrate .. //depot/projects/hammer/share/man/man9/mtx_pool.9#5 integrate .. //depot/projects/hammer/share/man/man9/mutex.9#17 integrate .. //depot/projects/hammer/share/man/man9/priv.9#2 integrate .. //depot/projects/hammer/share/man/man9/rwlock.9#4 integrate .. //depot/projects/hammer/share/man/man9/sleep.9#13 integrate .. //depot/projects/hammer/share/man/man9/sleepqueue.9#9 integrate .. //depot/projects/hammer/share/man/man9/sx.9#13 integrate .. //depot/projects/hammer/share/man/man9/thread_exit.9#3 integrate .. //depot/projects/hammer/share/man/man9/vfs_getopt.9#1 branch .. //depot/projects/hammer/share/man/man9/vm_page_deactivate.9#2 integrate .. //depot/projects/hammer/share/man/man9/vm_page_unmanage.9#3 delete .. //depot/projects/hammer/share/mk/bsd.libnames.mk#33 integrate .. //depot/projects/hammer/share/mk/bsd.man.mk#8 integrate .. //depot/projects/hammer/share/monetdef/ru_RU.CP1251.src#2 integrate .. //depot/projects/hammer/share/monetdef/ru_RU.CP866.src#2 integrate .. //depot/projects/hammer/share/monetdef/ru_RU.ISO8859-5.src#2 integrate .. //depot/projects/hammer/share/monetdef/ru_RU.KOI8-R.src#2 integrate .. //depot/projects/hammer/share/monetdef/ru_RU.UTF-8.src#2 integrate .. //depot/projects/hammer/sys/amd64/acpica/madt.c#47 integrate .. //depot/projects/hammer/sys/amd64/amd64/busdma_machdep.c#42 integrate .. //depot/projects/hammer/sys/amd64/amd64/identcpu.c#54 integrate .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#48 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#53 integrate .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#70 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#124 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#44 integrate .. //depot/projects/hammer/sys/amd64/amd64/msi.c#3 integrate .. //depot/projects/hammer/sys/amd64/amd64/nexus.c#40 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#155 integrate .. //depot/projects/hammer/sys/amd64/amd64/trap.c#94 integrate .. //depot/projects/hammer/sys/amd64/amd64/uma_machdep.c#3 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#45 integrate .. //depot/projects/hammer/sys/amd64/include/intr_machdep.h#26 integrate .. //depot/projects/hammer/sys/amd64/include/pcpu.h#26 integrate .. //depot/projects/hammer/sys/amd64/include/smp.h#33 integrate .. //depot/projects/hammer/sys/amd64/include/specialreg.h#22 integrate .. //depot/projects/hammer/sys/amd64/isa/clock.c#59 integrate .. //depot/projects/hammer/sys/amd64/isa/isa.c#17 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux.h#5 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_machdep.c#14 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_proto.h#9 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_syscall.h#9 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_sysent.c#9 integrate .. //depot/projects/hammer/sys/amd64/linux32/syscalls.master#9 integrate .. //depot/projects/hammer/sys/arm/arm/busdma_machdep.c#21 integrate .. //depot/projects/hammer/sys/arm/arm/cpufunc.c#11 integrate .. //depot/projects/hammer/sys/arm/arm/db_interface.c#6 integrate .. //depot/projects/hammer/sys/arm/arm/elf_trampoline.c#8 integrate .. //depot/projects/hammer/sys/arm/arm/intr.c#14 integrate .. //depot/projects/hammer/sys/arm/arm/locore.S#15 integrate .. //depot/projects/hammer/sys/arm/arm/machdep.c#19 integrate .. //depot/projects/hammer/sys/arm/arm/mem.c#4 integrate .. //depot/projects/hammer/sys/arm/arm/nexus.c#9 integrate .. //depot/projects/hammer/sys/arm/arm/support.S#10 integrate .. //depot/projects/hammer/sys/arm/arm/sys_machdep.c#5 integrate .. //depot/projects/hammer/sys/arm/arm/trap.c#19 integrate .. //depot/projects/hammer/sys/arm/at91/at91.c#6 integrate .. //depot/projects/hammer/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/hammer/sys/arm/at91/at91_pio.c#4 integrate .. //depot/projects/hammer/sys/arm/at91/at91_rtc.c#3 integrate .. //depot/projects/hammer/sys/arm/at91/at91_spi.c#3 integrate .. //depot/projects/hammer/sys/arm/at91/at91_ssc.c#3 integrate .. //depot/projects/hammer/sys/arm/at91/at91_st.c#5 integrate .. //depot/projects/hammer/sys/arm/at91/at91_twi.c#5 integrate .. //depot/projects/hammer/sys/arm/at91/if_ate.c#7 integrate .. //depot/projects/hammer/sys/arm/at91/ohci_atmelarm.c#2 integrate .. //depot/projects/hammer/sys/arm/conf/AVILA#2 integrate .. //depot/projects/hammer/sys/arm/conf/EP80219#3 integrate .. //depot/projects/hammer/sys/arm/conf/IQ31244#13 integrate .. //depot/projects/hammer/sys/arm/conf/SIMICS#10 integrate .. //depot/projects/hammer/sys/arm/include/intr.h#6 integrate .. //depot/projects/hammer/sys/arm/include/pcpu.h#4 integrate .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0.c#8 integrate .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_ost.c#6 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/i80321_pci.c#9 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/i80321_timer.c#11 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/iq80321.c#12 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/avila_ata.c#2 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/if_npe.c#3 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425.c#3 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_npe.c#2 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_pci.c#3 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_qmgr.c#2 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/ixp425_timer.c#2 integrate .. //depot/projects/hammer/sys/boot/i386/cdboot/cdboot.s#6 integrate .. //depot/projects/hammer/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/hammer/sys/cam/cam_xpt.c#28 integrate .. //depot/projects/hammer/sys/cam/cam_xpt.h#4 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_da.c#38 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_target.c#19 integrate .. //depot/projects/hammer/sys/coda/coda_vnops.c#22 integrate .. //depot/projects/hammer/sys/compat/linprocfs/linprocfs.c#33 integrate .. //depot/projects/hammer/sys/compat/linsysfs/linsysfs.c#3 integrate .. //depot/projects/hammer/sys/compat/linux/linux_emul.c#4 integrate .. //depot/projects/hammer/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/hammer/sys/compat/linux/linux_futex.h#2 integrate .. //depot/projects/hammer/sys/compat/linux/linux_misc.c#39 integrate .. //depot/projects/hammer/sys/compat/linux/linux_stats.c#28 integrate .. //depot/projects/hammer/sys/compat/linux/linux_uid16.c#12 integrate .. //depot/projects/hammer/sys/compat/linux/linux_util.c#12 integrate .. //depot/projects/hammer/sys/compat/ndis/kern_ndis.c#39 integrate .. //depot/projects/hammer/sys/conf/NOTES#114 integrate .. //depot/projects/hammer/sys/conf/files#146 integrate .. //depot/projects/hammer/sys/conf/files.sparc64#39 integrate .. //depot/projects/hammer/sys/conf/kmod.mk#61 integrate .. //depot/projects/hammer/sys/conf/options#101 integrate .. //depot/projects/hammer/sys/conf/options.arm#10 integrate .. //depot/projects/hammer/sys/contrib/dev/ipw/LICENSE#1 branch .. //depot/projects/hammer/sys/contrib/dev/ipw/ipw2100-1.3-i.fw.uu#1 branch .. //depot/projects/hammer/sys/contrib/dev/ipw/ipw2100-1.3-p.fw.uu#1 branch .. //depot/projects/hammer/sys/contrib/dev/ipw/ipw2100-1.3.fw.uu#1 branch .. //depot/projects/hammer/sys/contrib/dev/iwi/LICENSE#1 branch .. //depot/projects/hammer/sys/contrib/dev/iwi/ipw2200-bss.fw.uu#1 branch .. //depot/projects/hammer/sys/contrib/dev/iwi/ipw2200-ibss.fw.uu#1 branch .. //depot/projects/hammer/sys/contrib/dev/iwi/ipw2200-sniffer.fw.uu#1 branch .. //depot/projects/hammer/sys/contrib/dev/oltr/if_oltr.c#17 integrate .. //depot/projects/hammer/sys/dev/aac/aac.c#38 integrate .. //depot/projects/hammer/sys/dev/aac/aacvar.h#14 integrate .. //depot/projects/hammer/sys/dev/acpica/Osd/OsdInterrupt.c#11 integrate .. //depot/projects/hammer/sys/dev/acpica/Osd/OsdSchedule.c#18 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#72 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_ec.c#35 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_thermal.c#29 integrate .. //depot/projects/hammer/sys/dev/adlink/adlink.c#14 integrate .. //depot/projects/hammer/sys/dev/advansys/adv_eisa.c#11 integrate .. //depot/projects/hammer/sys/dev/advansys/adv_isa.c#12 integrate .. //depot/projects/hammer/sys/dev/advansys/adv_pci.c#14 integrate .. //depot/projects/hammer/sys/dev/advansys/adwcam.c#14 integrate .. //depot/projects/hammer/sys/dev/aha/aha_isa.c#16 integrate .. //depot/projects/hammer/sys/dev/aha/aha_mca.c#12 integrate .. //depot/projects/hammer/sys/dev/ahb/ahb.c#14 integrate .. //depot/projects/hammer/sys/dev/aic/aic_cbus.c#5 integrate .. //depot/projects/hammer/sys/dev/aic/aic_isa.c#5 integrate .. //depot/projects/hammer/sys/dev/aic/aic_pccard.c#11 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx.seq#13 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx_osm.c#19 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx_osm.c#19 integrate .. //depot/projects/hammer/sys/dev/amd/amd.c#15 integrate .. //depot/projects/hammer/sys/dev/amr/amr_pci.c#24 integrate .. //depot/projects/hammer/sys/dev/an/if_an_isa.c#10 integrate .. //depot/projects/hammer/sys/dev/an/if_an_pccard.c#14 integrate .. //depot/projects/hammer/sys/dev/an/if_an_pci.c#10 integrate .. //depot/projects/hammer/sys/dev/ar/if_ar.c#19 integrate .. //depot/projects/hammer/sys/dev/arcmsr/arcmsr.c#9 integrate .. //depot/projects/hammer/sys/dev/arcmsr/arcmsr.h#3 integrate .. //depot/projects/hammer/sys/dev/arl/if_arl_isa.c#8 integrate .. //depot/projects/hammer/sys/dev/asr/asr.c#22 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.c#64 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.h#42 integrate .. //depot/projects/hammer/sys/dev/ata/ata-card.c#26 integrate .. //depot/projects/hammer/sys/dev/ata/ata-cbus.c#14 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#75 integrate .. //depot/projects/hammer/sys/dev/ata/ata-disk.c#42 integrate .. //depot/projects/hammer/sys/dev/ata/ata-disk.h#9 integrate .. //depot/projects/hammer/sys/dev/ata/ata-dma.c#27 integrate .. //depot/projects/hammer/sys/dev/ata/ata-isa.c#15 integrate .. //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#37 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.c#42 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.h#46 integrate .. //depot/projects/hammer/sys/dev/ata/ata-queue.c#36 integrate .. //depot/projects/hammer/sys/dev/ata/ata-raid.c#39 integrate .. //depot/projects/hammer/sys/dev/ata/ata-raid.h#23 integrate .. //depot/projects/hammer/sys/dev/ata/ata-usb.c#5 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cam.c#25 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cd.c#37 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cd.h#10 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-fd.c#21 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-fd.h#9 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-tape.c#21 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-tape.h#8 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#48 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath_pci.c#16 integrate .. //depot/projects/hammer/sys/dev/ath/if_athvar.h#26 integrate .. //depot/projects/hammer/sys/dev/atkbdc/atkbd_atkbdc.c#2 integrate .. //depot/projects/hammer/sys/dev/atkbdc/psm.c#7 integrate .. //depot/projects/hammer/sys/dev/awi/if_awi_pccard.c#17 integrate .. //depot/projects/hammer/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/hammer/sys/dev/bfe/if_bfe.c#28 integrate .. //depot/projects/hammer/sys/dev/bge/if_bge.c#71 integrate .. //depot/projects/hammer/sys/dev/bge/if_bgereg.h#37 integrate .. //depot/projects/hammer/sys/dev/bktr/bktr_os.c#19 integrate .. //depot/projects/hammer/sys/dev/buslogic/bt.c#13 integrate .. //depot/projects/hammer/sys/dev/ce/if_ce.c#4 integrate .. //depot/projects/hammer/sys/dev/ciss/ciss.c#41 integrate .. //depot/projects/hammer/sys/dev/cm/if_cm_isa.c#9 integrate .. //depot/projects/hammer/sys/dev/cnw/if_cnw.c#17 integrate .. //depot/projects/hammer/sys/dev/cp/if_cp.c#23 integrate .. //depot/projects/hammer/sys/dev/cs/if_cs_isa.c#6 integrate .. //depot/projects/hammer/sys/dev/cs/if_cs_pccard.c#12 integrate .. //depot/projects/hammer/sys/dev/ct/ct_isa.c#11 integrate .. //depot/projects/hammer/sys/dev/ctau/if_ct.c#25 integrate .. //depot/projects/hammer/sys/dev/cx/if_cx.c#33 integrate .. //depot/projects/hammer/sys/dev/cy/cy.c#15 integrate .. //depot/projects/hammer/sys/dev/cy/cy_isa.c#4 integrate .. //depot/projects/hammer/sys/dev/cy/cy_pci.c#5 integrate .. //depot/projects/hammer/sys/dev/cy/cyvar.h#2 integrate .. //depot/projects/hammer/sys/dev/dc/if_dc.c#11 integrate .. //depot/projects/hammer/sys/dev/de/if_de.c#4 integrate .. //depot/projects/hammer/sys/dev/dpt/dpt_eisa.c#10 integrate .. //depot/projects/hammer/sys/dev/dpt/dpt_pci.c#12 integrate .. //depot/projects/hammer/sys/dev/drm/drm_irq.c#3 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_cbus.c#18 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_isa.c#16 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_pccard.c#33 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_pci.c#15 integrate .. //depot/projects/hammer/sys/dev/em/if_em.c#64 integrate .. //depot/projects/hammer/sys/dev/en/if_en_pci.c#13 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep_eisa.c#11 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep_isa.c#12 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep_mca.c#9 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep_pccard.c#17 integrate .. //depot/projects/hammer/sys/dev/esp/esp_sbus.c#12 integrate .. //depot/projects/hammer/sys/dev/ex/if_ex_isa.c#6 integrate .. //depot/projects/hammer/sys/dev/ex/if_ex_pccard.c#12 integrate .. //depot/projects/hammer/sys/dev/exca/exca.c#15 integrate .. //depot/projects/hammer/sys/dev/fatm/if_fatm.c#16 integrate .. //depot/projects/hammer/sys/dev/fb/creator.c#12 integrate .. //depot/projects/hammer/sys/dev/fdc/fdc.c#31 integrate .. //depot/projects/hammer/sys/dev/fe/if_fe.c#25 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohci.c#28 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohci_pci.c#35 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp.c#36 integrate .. //depot/projects/hammer/sys/dev/fxp/if_fxp.c#62 integrate .. //depot/projects/hammer/sys/dev/gem/if_gem_pci.c#14 integrate .. //depot/projects/hammer/sys/dev/hatm/if_hatm.c#17 integrate .. //depot/projects/hammer/sys/dev/hfa/hfa_pci.c#6 integrate .. //depot/projects/hammer/sys/dev/hifn/hifn7751.c#19 integrate .. //depot/projects/hammer/sys/dev/hme/if_hme_pci.c#15 integrate .. //depot/projects/hammer/sys/dev/hme/if_hme_sbus.c#12 integrate .. //depot/projects/hammer/sys/dev/hptmv/entry.c#12 integrate .. //depot/projects/hammer/sys/dev/hptmv/ioctl.c#4 integrate .. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_mod.c#17 integrate .. //depot/projects/hammer/sys/dev/ichsmb/ichsmb.c#11 integrate .. //depot/projects/hammer/sys/dev/ichwd/ichwd.c#8 integrate .. //depot/projects/hammer/sys/dev/ida/ida_eisa.c#12 integrate .. //depot/projects/hammer/sys/dev/ida/ida_pci.c#13 integrate .. //depot/projects/hammer/sys/dev/idt/idt_pci.c#7 integrate .. //depot/projects/hammer/sys/dev/ie/if_ie_isa.c#7 integrate .. //depot/projects/hammer/sys/dev/ieee488/pcii.c#6 integrate .. //depot/projects/hammer/sys/dev/ieee488/tnt4882.c#3 integrate .. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#49 integrate .. //depot/projects/hammer/sys/dev/iir/iir_pci.c#14 integrate .. //depot/projects/hammer/sys/dev/ipmi/ipmi.c#4 integrate .. //depot/projects/hammer/sys/dev/ipmi/ipmi_ssif.c#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 14 06:35:24 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E101E16A406; Wed, 14 Mar 2007 06:35:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B494416A404 for ; Wed, 14 Mar 2007 06:35:23 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A825913C45E for ; Wed, 14 Mar 2007 06:35:23 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2E6ZNfv032831 for ; Wed, 14 Mar 2007 06:35:23 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2E6ZN4G032828 for perforce@freebsd.org; Wed, 14 Mar 2007 06:35:23 GMT (envelope-from mjacob@freebsd.org) Date: Wed, 14 Mar 2007 06:35:23 GMT Message-Id: <200703140635.l2E6ZN4G032828@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 115836 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, 14 Mar 2007 06:35:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=115836 Change 115836 by mjacob@mjexp on 2007/03/14 06:34:42 Pick up some useful changes for my p4 depot and avoid some of the bge related breakage that caused my amd box to not work. Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp.c#16 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#13 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#9 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_pci.c#17 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_sbus.c#7 integrate Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp.c#16 (text+ko) ==== @@ -46,7 +46,7 @@ #endif #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.140 2007/03/10 02:39:53 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.143 2007/03/14 05:58:07 mjacob Exp $"); #include #endif #ifdef __OpenBSD__ @@ -2000,10 +2000,14 @@ icbp->icb_atioqlen); return; } - icbp->icb_atioqaddr[RQRSP_ADDR0015] = DMA_WD0(isp->isp_atioq_dma); - icbp->icb_atioqaddr[RQRSP_ADDR1631] = DMA_WD1(isp->isp_atioq_dma); - icbp->icb_atioqaddr[RQRSP_ADDR3247] = DMA_WD2(isp->isp_atioq_dma); - icbp->icb_atioqaddr[RQRSP_ADDR4863] = DMA_WD3(isp->isp_atioq_dma); + icbp->icb_atioqaddr[RQRSP_ADDR0015] = + DMA_WD0(isp->isp_atioq_dma); + icbp->icb_atioqaddr[RQRSP_ADDR1631] = + DMA_WD1(isp->isp_atioq_dma); + icbp->icb_atioqaddr[RQRSP_ADDR3247] = + DMA_WD2(isp->isp_atioq_dma); + icbp->icb_atioqaddr[RQRSP_ADDR4863] = + DMA_WD3(isp->isp_atioq_dma); isp_prt(isp, ISP_LOGDEBUG0, "isp_fibre_init_2400: atioq %04x%04x%04x%04x", DMA_WD3(isp->isp_atioq_dma), DMA_WD2(isp->isp_atioq_dma), @@ -3991,8 +3995,7 @@ isp_start(XS_T *xs) { ispsoftc_t *isp; - uint32_t nxti, optr, handle, isr; - uint16_t sema, mbox; + uint32_t nxti, optr, handle; uint8_t local[QENTRY_LEN]; ispreq_t *reqp, *qep; void *cdbp; @@ -4257,11 +4260,6 @@ (long) XS_XFRLEN(xs)); ISP_ADD_REQUEST(isp, nxti); isp->isp_nactive++; - if (IS_23XX(isp) || IS_24XX(isp)) { - if (ISP_READ_ISR(isp, &isr, &sema, &mbox)) { - isp_intr(isp, isr, sema, mbox); - } - } return (CMD_QUEUED); } @@ -4617,6 +4615,7 @@ ISP_WRITE(isp, isp->isp_atiooutrp, optr); } isp->isp_rspbsy = 0; + optr = isp->isp_residx; } #endif @@ -4803,7 +4802,7 @@ isp_prt(isp, ISP_LOGERR, notresp, etype, oop, optr, nlooked); isp_print_bytes(isp, - "Reqeonse Queue Entry", QENTRY_LEN, sp); + "Request Queue Entry", QENTRY_LEN, sp); MEMZERO(hp, QENTRY_LEN); /* PERF */ continue; } @@ -7502,7 +7501,7 @@ { int loops = 0; const uint32_t base = 0x7ffe0000; - uint32_t tmp; + uint32_t tmp = 0; ISP_WRITE(isp, BIU2400_FLASH_ADDR, base | addr); for (loops = 0; loops < 5000; loops++) { ==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#13 (text+ko) ==== @@ -28,7 +28,7 @@ * Platform (FreeBSD) dependent common attachment code for Qlogic adapters. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_freebsd.c,v 1.135 2007/03/10 02:39:53 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_freebsd.c,v 1.136 2007/03/12 04:54:30 mjacob Exp $"); #include #include #include @@ -39,6 +39,8 @@ #include #if __FreeBSD_version >= 500000 #include +#else +#include #endif #include #include @@ -2127,10 +2129,7 @@ } -#if __FreeBSD_version >= 500000 -/* - * Support functions for Found/Lost - */ +#if __FreeBSD_version >= 600000 static void isp_make_here(ispsoftc_t *isp, int tgt) { ==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_freebsd.h,v 1.100 2007/02/23 23:13:46 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_freebsd.h,v 1.102 2007/03/13 06:46:08 mjacob Exp $ */ /*- * Qlogic ISP SCSI Host Adapter FreeBSD Wrapper Definitions * @@ -140,6 +140,8 @@ struct isposinfo { struct ispsoftc * next; + bus_space_tag_t bus_tag; + bus_space_handle_t bus_handle; uint64_t default_port_wwn; uint64_t default_node_wwn; uint32_t default_id; @@ -194,6 +196,8 @@ }; #define isp_lock isp_osinfo.lock +#define isp_bus_tag isp_osinfo.bus_tag +#define isp_bus_handle isp_osinfo.bus_handle /* * Locking macros... @@ -251,6 +255,11 @@ bus_dmamap_sync(isp->isp_cdmat, isp->isp_cdmap, \ BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); \ break; \ +case SYNC_REG: \ + bus_space_barrier(isp->isp_bus_tag, \ + isp->isp_bus_handle, offset, size, \ + BUS_SPACE_BARRIER_READ); \ + break; \ default: \ break; \ } @@ -349,6 +358,17 @@ #define ISP_NODEWWN(isp) FCPARAM(isp)->isp_wwnn_nvram #define ISP_PORTWWN(isp) FCPARAM(isp)->isp_wwpn_nvram + +#if __FreeBSD_version < 500000 +#if _BYTE_ORDER == _LITTLE_ENDIAN +#define bswap16 htobe16 +#define bswap32 htobe32 +#else +#define bswap16 htole16 +#define bswap32 htole32 +#endif +#endif + #if BYTE_ORDER == BIG_ENDIAN #ifdef ISP_SBUS_SUPPORTED #define ISP_IOXPUT_8(isp, s, d) *(d) = s ==== //depot/projects/mjexp/sys/dev/isp/isp_pci.c#17 (text+ko) ==== @@ -28,7 +28,7 @@ * FreeBSD Version. */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.138 2007/03/10 02:39:53 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.140 2007/03/13 06:46:08 mjacob Exp $"); #include #include @@ -335,8 +335,6 @@ ispsoftc_t pci_isp; device_t pci_dev; struct resource * pci_reg; - bus_space_tag_t pci_st; - bus_space_handle_t pci_sh; void * ih; int16_t pci_poff[_NREG_BLKS]; bus_dma_tag_t dmat; @@ -435,7 +433,6 @@ static void isp_get_generic_options(device_t dev, ispsoftc_t *isp) { - uint64_t wwn; int bitmap, unit; unit = device_get_unit(dev); @@ -508,6 +505,9 @@ static void isp_get_specific_options(device_t dev, ispsoftc_t *isp) { + uint64_t wwn; + int bitmap; + int unit = device_get_unit(dev); callout_handle_init(&isp->isp_osinfo.ldt); callout_handle_init(&isp->isp_osinfo.gdt); @@ -885,8 +885,8 @@ } pcs->pci_dev = dev; pcs->pci_reg = regs; - pcs->pci_st = rman_get_bustag(regs); - pcs->pci_sh = rman_get_bushandle(regs); + isp->isp_bus_tag = rman_get_bustag(regs); + isp->isp_bus_handle = rman_get_bushandle(regs); pcs->pci_poff[BIU_BLOCK >> _BLK_REG_SHFT] = BIU_REGS_OFF; pcs->pci_poff[MBOX_BLOCK >> _BLK_REG_SHFT] = PCI_MBOX_REGS_OFF; @@ -1131,9 +1131,10 @@ * Make sure the Cache Line Size register is set sensibly. */ data = pci_read_config(dev, PCIR_CACHELNSZ, 1); - if (data != linesz) { - data = PCI_DFLT_LNSZ; - isp_prt(isp, ISP_LOGCONFIG, "set PCI line size to %d", data); + if (data == 0 || (linesz != PCI_DFLT_LNSZ && data != linesz)) { + isp_prt(isp, ISP_LOGCONFIG, "set PCI line size to %d from %d", + linesz, data); + data = linesz; pci_write_config(dev, PCIR_CACHELNSZ, data, 1); } @@ -1293,26 +1294,25 @@ (((struct isp_pcisoftc *)a)->pci_poff[((x) & _BLK_REG_MASK) >> \ _BLK_REG_SHFT] + ((x) & 0xfff)) -#define BXR2(pcs, off) \ - bus_space_read_2(pcs->pci_st, pcs->pci_sh, off) -#define BXW2(pcs, off, v) \ - bus_space_write_2(pcs->pci_st, pcs->pci_sh, off, v) -#define BXR4(pcs, off) \ - bus_space_read_4(pcs->pci_st, pcs->pci_sh, off) -#define BXW4(pcs, off, v) \ - bus_space_write_4(pcs->pci_st, pcs->pci_sh, off, v) +#define BXR2(isp, off) \ + bus_space_read_2(isp->isp_bus_tag, isp->isp_bus_handle, off) +#define BXW2(isp, off, v) \ + bus_space_write_2(isp->isp_bus_tag, isp->isp_bus_handle, off, v) +#define BXR4(isp, off) \ + bus_space_read_4(isp->isp_bus_tag, isp->isp_bus_handle, off) +#define BXW4(isp, off, v) \ + bus_space_write_4(isp->isp_bus_tag, isp->isp_bus_handle, off, v) static __inline int isp_pci_rd_debounced(ispsoftc_t *isp, int off, uint16_t *rp) { - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; uint32_t val0, val1; int i = 0; do { - val0 = BXR2(pcs, IspVirt2Off(isp, off)); - val1 = BXR2(pcs, IspVirt2Off(isp, off)); + val0 = BXR2(isp, IspVirt2Off(isp, off)); + val1 = BXR2(isp, IspVirt2Off(isp, off)); } while (val0 != val1 && ++i < 1000); if (val0 != val1) { return (1); @@ -1325,7 +1325,6 @@ isp_pci_rd_isr(ispsoftc_t *isp, uint32_t *isrp, uint16_t *semap, uint16_t *mbp) { - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; uint16_t isr, sema; if (IS_2100(isp)) { @@ -1336,8 +1335,8 @@ return (0); } } else { - isr = BXR2(pcs, IspVirt2Off(isp, BIU_ISR)); - sema = BXR2(pcs, IspVirt2Off(isp, BIU_SEMA)); + isr = BXR2(isp, IspVirt2Off(isp, BIU_ISR)); + sema = BXR2(isp, IspVirt2Off(isp, BIU_SEMA)); } isp_prt(isp, ISP_LOGDEBUG3, "ISR 0x%x SEMA 0x%x", isr, sema); isr &= INT_PENDING_MASK(isp); @@ -1352,7 +1351,7 @@ return (0); } } else { - *mbp = BXR2(pcs, IspVirt2Off(isp, OUTMAILBOX0)); + *mbp = BXR2(isp, IspVirt2Off(isp, OUTMAILBOX0)); } } return (1); @@ -1362,15 +1361,14 @@ isp_pci_rd_isr_2300(ispsoftc_t *isp, uint32_t *isrp, uint16_t *semap, uint16_t *mbox0p) { - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; uint32_t hccr; uint32_t r2hisr; - if (!(BXR2(pcs, IspVirt2Off(isp, BIU_ISR) & BIU2100_ISR_RISC_INT))) { + if (!(BXR2(isp, IspVirt2Off(isp, BIU_ISR) & BIU2100_ISR_RISC_INT))) { *isrp = 0; return (0); } - r2hisr = BXR4(pcs, IspVirt2Off(pcs, BIU_R2HSTSLO)); + r2hisr = BXR4(isp, IspVirt2Off(isp, BIU_R2HSTSLO)); isp_prt(isp, ISP_LOGDEBUG3, "RISC2HOST ISR 0x%x", r2hisr); if ((r2hisr & BIU_R2HST_INTR) == 0) { *isrp = 0; @@ -1426,10 +1424,9 @@ isp_pci_rd_isr_2400(ispsoftc_t *isp, uint32_t *isrp, uint16_t *semap, uint16_t *mbox0p) { - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; uint32_t r2hisr; - r2hisr = BXR4(pcs, IspVirt2Off(pcs, BIU2400_R2HSTSLO)); + r2hisr = BXR4(isp, IspVirt2Off(isp, BIU2400_R2HSTSLO)); isp_prt(isp, ISP_LOGDEBUG3, "RISC2HOST ISR 0x%x", r2hisr); if ((r2hisr & BIU2400_R2HST_INTR) == 0) { *isrp = 0; @@ -1462,21 +1459,22 @@ static uint32_t isp_pci_rd_reg(ispsoftc_t *isp, int regoff) { - uint32_t rv; - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; + uint16_t rv; int oldconf = 0; if ((regoff & _BLK_REG_MASK) == SXP_BLOCK) { /* * We will assume that someone has paused the RISC processor. */ - oldconf = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), + oldconf = BXR2(isp, IspVirt2Off(isp, BIU_CONF1)); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), oldconf | BIU_PCI_CONF1_SXP); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } - rv = BXR2(pcs, IspVirt2Off(isp, regoff)); + rv = BXR2(isp, IspVirt2Off(isp, regoff)); if ((regoff & _BLK_REG_MASK) == SXP_BLOCK) { - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), oldconf); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), oldconf); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } return (rv); } @@ -1484,38 +1482,30 @@ static void isp_pci_wr_reg(ispsoftc_t *isp, int regoff, uint32_t val) { - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; int oldconf = 0; - volatile int junk; if ((regoff & _BLK_REG_MASK) == SXP_BLOCK) { /* * We will assume that someone has paused the RISC processor. */ - oldconf = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), + oldconf = BXR2(isp, IspVirt2Off(isp, BIU_CONF1)); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), oldconf | BIU_PCI_CONF1_SXP); - if (IS_2100(isp)) { - junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); - } + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } - BXW2(pcs, IspVirt2Off(isp, regoff), val); - if (IS_2100(isp)) { - junk = BXR2(pcs, IspVirt2Off(isp, regoff)); - } + BXW2(isp, IspVirt2Off(isp, regoff), val); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, regoff), 2); if ((regoff & _BLK_REG_MASK) == SXP_BLOCK) { - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), oldconf); - if (IS_2100(isp)) { - junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); - } + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), oldconf); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } + } static uint32_t isp_pci_rd_reg_1080(ispsoftc_t *isp, int regoff) { uint32_t rv, oc = 0; - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; if ((regoff & _BLK_REG_MASK) == SXP_BLOCK || (regoff & _BLK_REG_MASK) == (SXP_BLOCK|SXP_BANK1_SELECT)) { @@ -1523,21 +1513,24 @@ /* * We will assume that someone has paused the RISC processor. */ - oc = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); + oc = BXR2(isp, IspVirt2Off(isp, BIU_CONF1)); tc = oc & ~BIU_PCI1080_CONF1_DMA; if (regoff & SXP_BANK1_SELECT) tc |= BIU_PCI1080_CONF1_SXP1; else tc |= BIU_PCI1080_CONF1_SXP0; - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), tc); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), tc); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } else if ((regoff & _BLK_REG_MASK) == DMA_BLOCK) { - oc = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), + oc = BXR2(isp, IspVirt2Off(isp, BIU_CONF1)); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), oc | BIU_PCI1080_CONF1_DMA); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } - rv = BXR2(pcs, IspVirt2Off(isp, regoff)); + rv = BXR2(isp, IspVirt2Off(isp, regoff)); if (oc) { - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), oc); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), oc); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } return (rv); } @@ -1545,9 +1538,7 @@ static void isp_pci_wr_reg_1080(ispsoftc_t *isp, int regoff, uint32_t val) { - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; int oc = 0; - volatile int junk; if ((regoff & _BLK_REG_MASK) == SXP_BLOCK || (regoff & _BLK_REG_MASK) == (SXP_BLOCK|SXP_BANK1_SELECT)) { @@ -1555,32 +1546,31 @@ /* * We will assume that someone has paused the RISC processor. */ - oc = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); + oc = BXR2(isp, IspVirt2Off(isp, BIU_CONF1)); tc = oc & ~BIU_PCI1080_CONF1_DMA; if (regoff & SXP_BANK1_SELECT) tc |= BIU_PCI1080_CONF1_SXP1; else tc |= BIU_PCI1080_CONF1_SXP0; - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), tc); - junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), tc); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } else if ((regoff & _BLK_REG_MASK) == DMA_BLOCK) { - oc = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), + oc = BXR2(isp, IspVirt2Off(isp, BIU_CONF1)); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), oc | BIU_PCI1080_CONF1_DMA); - junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } - BXW2(pcs, IspVirt2Off(isp, regoff), val); - junk = BXR2(pcs, IspVirt2Off(isp, regoff)); + BXW2(isp, IspVirt2Off(isp, regoff), val); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, regoff), 2); if (oc) { - BXW2(pcs, IspVirt2Off(isp, BIU_CONF1), oc); - junk = BXR2(pcs, IspVirt2Off(isp, BIU_CONF1)); + BXW2(isp, IspVirt2Off(isp, BIU_CONF1), oc); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, BIU_CONF1), 2); } } static uint32_t isp_pci_rd_reg_2400(ispsoftc_t *isp, int regoff) { - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; uint32_t rv; int block = regoff & _BLK_REG_MASK; @@ -1588,7 +1578,7 @@ case BIU_BLOCK: break; case MBOX_BLOCK: - return (BXR2(pcs, IspVirt2Off(pcs, regoff))); + return (BXR2(isp, IspVirt2Off(isp, regoff))); case SXP_BLOCK: isp_prt(isp, ISP_LOGWARN, "SXP_BLOCK read at 0x%x", regoff); return (0xffffffff); @@ -1622,13 +1612,13 @@ case BIU2400_GPIOD: case BIU2400_GPIOE: case BIU2400_HSEMA: - rv = BXR4(pcs, IspVirt2Off(pcs, regoff)); + rv = BXR4(isp, IspVirt2Off(isp, regoff)); break; case BIU2400_R2HSTSLO: - rv = BXR4(pcs, IspVirt2Off(pcs, regoff)); + rv = BXR4(isp, IspVirt2Off(isp, regoff)); break; case BIU2400_R2HSTSHI: - rv = BXR4(pcs, IspVirt2Off(pcs, regoff)) >> 16; + rv = BXR4(isp, IspVirt2Off(isp, regoff)) >> 16; break; default: isp_prt(isp, ISP_LOGERR, @@ -1642,16 +1632,14 @@ static void isp_pci_wr_reg_2400(ispsoftc_t *isp, int regoff, uint32_t val) { - struct isp_pcisoftc *pcs = (struct isp_pcisoftc *) isp; int block = regoff & _BLK_REG_MASK; - volatile int junk; switch (block) { case BIU_BLOCK: break; case MBOX_BLOCK: - BXW2(pcs, IspVirt2Off(pcs, regoff), val); - junk = BXR2(pcs, IspVirt2Off(pcs, regoff)); + BXW2(isp, IspVirt2Off(isp, regoff), val); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, regoff), 2); return; case SXP_BLOCK: isp_prt(isp, ISP_LOGWARN, "SXP_BLOCK write at 0x%x", regoff); @@ -1686,8 +1674,8 @@ case BIU2400_GPIOD: case BIU2400_GPIOE: case BIU2400_HSEMA: - BXW4(pcs, IspVirt2Off(pcs, regoff), val); - junk = BXR4(pcs, IspVirt2Off(pcs, regoff)); + BXW4(isp, IspVirt2Off(isp, regoff), val); + MEMORYBARRIER(isp, SYNC_REG, IspVirt2Off(isp, regoff), 4); break; default: isp_prt(isp, ISP_LOGERR, ==== //depot/projects/mjexp/sys/dev/isp/isp_sbus.c#7 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.29 2007/02/23 23:13:46 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.30 2007/03/13 06:46:08 mjacob Exp $"); #include #include @@ -89,8 +89,6 @@ ispsoftc_t sbus_isp; device_t sbus_dev; struct resource * sbus_reg; - bus_space_tag_t sbus_st; - bus_space_handle_t sbus_sh; void * ih; int16_t sbus_poff[_NREG_BLKS]; bus_dma_tag_t dmat; @@ -194,9 +192,9 @@ } sbs->sbus_dev = dev; sbs->sbus_reg = regs; - sbs->sbus_st = rman_get_bustag(regs); - sbs->sbus_sh = rman_get_bushandle(regs); sbs->sbus_mdvec = mdvec; + isp->isp_bus_tag = rman_get_bustag(regs); + isp->isp_bus_handle = rman_get_bushandle(regs); sbs->sbus_poff[BIU_BLOCK >> _BLK_REG_SHFT] = BIU_REGS_OFF; sbs->sbus_poff[MBOX_BLOCK >> _BLK_REG_SHFT] = SBUS_MBOX_REGS_OFF; @@ -404,12 +402,11 @@ _BLK_REG_SHFT] + ((x) & 0xff)) #define BXR2(sbc, off) \ - bus_space_read_2(sbc->sbus_st, sbc->sbus_sh, off) + bus_space_read_2(isp->isp_bus_tag, isp->isp_bus_handle, off) static int isp_sbus_rd_isr(ispsoftc_t *isp, uint32_t *isrp, uint16_t *semap, uint16_t *mbp) { - struct isp_sbussoftc *sbc = (struct isp_sbussoftc *) isp; uint16_t isr, sema; isr = BXR2(sbc, IspVirt2Off(isp, BIU_ISR)); @@ -434,7 +431,7 @@ struct isp_sbussoftc *sbs = (struct isp_sbussoftc *) isp; int offset = sbs->sbus_poff[(regoff & _BLK_REG_MASK) >> _BLK_REG_SHFT]; offset += (regoff & 0xff); - rval = bus_space_read_2(sbs->sbus_st, sbs->sbus_sh, offset); + rval = bus_space_read_2(isp->isp_bus_tag, isp->isp_bus_handle, offset); isp_prt(isp, ISP_LOGDEBUG3, "isp_sbus_rd_reg(off %x) = %x", regoff, rval); return (rval); @@ -448,7 +445,8 @@ offset += (regoff & 0xff); isp_prt(isp, ISP_LOGDEBUG3, "isp_sbus_wr_reg(off %x) = %x", regoff, val); - bus_space_write_2(sbs->sbus_st, sbs->sbus_sh, offset, val); + bus_space_write_2(isp->isp_bus_tag, isp->isp_bus_handle, offset, val); + MEMORYBARRIER(isp, SYNC_REG, offset, 2); } struct imush { From owner-p4-projects@FreeBSD.ORG Wed Mar 14 16:39:09 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D48E816A403; Wed, 14 Mar 2007 16:39:08 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A974C16A400 for ; Wed, 14 Mar 2007 16:39:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9692D13C468 for ; Wed, 14 Mar 2007 16:39:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2EGd8TY072099 for ; Wed, 14 Mar 2007 16:39:08 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2EGd84H072096 for perforce@freebsd.org; Wed, 14 Mar 2007 16:39:08 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 14 Mar 2007 16:39:08 GMT Message-Id: <200703141639.l2EGd84H072096@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 115867 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, 14 Mar 2007 16:39:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=115867 Change 115867 by gonzo@gonzo_jeeves on 2007/03/14 16:38:47 o Report real badvaddr instead of aligned to page. o Remove extra-space. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/trap.c#16 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/trap.c#16 (text+ko) ==== @@ -169,7 +169,7 @@ pte = pmap_segmap(pmap, va); pte += (va >> PAGE_SHIFT) & (NPTEPG - 1); - if (pte_ro(pte) ) + if (pte_ro(pte)) { ftype = VM_PROT_WRITE; map = &td->td_proc->p_vmspace->vm_map; @@ -227,8 +227,8 @@ break; /* TODO: send signal */ - printf("Userland memory access error %d on va=%08x, pc=%08x\n", - error, va, tf->tf_regs[TF_EPC] ); + printf("Userland memory access error %d on va=%p, pc=%08x\n", + error, badvaddr, tf->tf_regs[TF_EPC]); panic("TODO: signal on memory access errors"); From owner-p4-projects@FreeBSD.ORG Wed Mar 14 20:57:01 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8FC7316A407; Wed, 14 Mar 2007 20:57:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 52F6416A401 for ; Wed, 14 Mar 2007 20:57:01 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4049A13C458 for ; Wed, 14 Mar 2007 20:57:01 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2EKv1wl038532 for ; Wed, 14 Mar 2007 20:57:01 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2EKv05Y038529 for perforce@freebsd.org; Wed, 14 Mar 2007 20:57:00 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 14 Mar 2007 20:57:00 GMT Message-Id: <200703142057.l2EKv05Y038529@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 115881 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, 14 Mar 2007 20:57:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=115881 Change 115881 by gonzo@gonzo_jeeves on 2007/03/14 20:56:39 o vm_fault_prefault calls pmap_enter with corespondent entry protection, so if we're prefaulting R/W region with COW all pages except faulting one are mapped with R/W permissions i and therefore fail to perform COW operation. This issue is to be investigated, meanwhile work it around with disabling prefault for MIPS at all. o Some spellchecking stuff. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#21 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#21 (text+ko) ==== @@ -1657,18 +1657,17 @@ /* * pmap_is_prefaultable: * - * Return whether or not the specified virtual address is elgible + * Return whether or not the specified virtual address is eligible * for prefault. */ boolean_t pmap_is_prefaultable(pmap_t pmap, vm_offset_t va) { - pt_entry_t *pte; - - pte = pmap_pte(pmap, va); - if (pte_valid(pte)) - return (FALSE); - return (TRUE); + /* + * XXX: prefault causes bugs with COW, so let's stick + * with all pages not eligible to prefault. + */ + return (FALSE); } /* From owner-p4-projects@FreeBSD.ORG Thu Mar 15 17:31:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7D60E16A405; Thu, 15 Mar 2007 17:31:57 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 35DC816A402; Thu, 15 Mar 2007 17:31:57 +0000 (UTC) (envelope-from alc@cs.rice.edu) Received: from mail.cs.rice.edu (mail.cs.rice.edu [128.42.1.31]) by mx1.freebsd.org (Postfix) with ESMTP id 05FC813C54F; Thu, 15 Mar 2007 17:31:56 +0000 (UTC) (envelope-from alc@cs.rice.edu) Received: from mail.cs.rice.edu (localhost.localdomain [127.0.0.1]) by mail.cs.rice.edu (Postfix) with ESMTP id 6442F2C2A8D; Thu, 15 Mar 2007 12:12:58 -0500 (CDT) X-Virus-Scanned: by amavis-2.4.0 at mail.cs.rice.edu Received: from mail.cs.rice.edu ([127.0.0.1]) by mail.cs.rice.edu (mail.cs.rice.edu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 8SWXzFclkkcv; Thu, 15 Mar 2007 12:12:57 -0500 (CDT) Received: from [216.63.78.18] (adsl-216-63-78-18.dsl.hstntx.swbell.net [216.63.78.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.cs.rice.edu (Postfix) with ESMTP id A6DD42C2A82; Thu, 15 Mar 2007 12:12:57 -0500 (CDT) Message-ID: <45F97E98.7060106@cs.rice.edu> Date: Thu, 15 Mar 2007 12:12:56 -0500 From: Alan Cox User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.13) Gecko/20061115 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Oleksandr Tymoshenko References: <200703142057.l2EKv05Y038529@repoman.freebsd.org> In-Reply-To: <200703142057.l2EKv05Y038529@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 115881 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, 15 Mar 2007 17:31:57 -0000 Oleksandr Tymoshenko wrote: >http://perforce.freebsd.org/chv.cgi?CH=115881 > >Change 115881 by gonzo@gonzo_jeeves on 2007/03/14 20:56:39 > > o vm_fault_prefault calls pmap_enter with corespondent entry > protection, so if we're prefaulting R/W region with COW > all pages except faulting one are mapped with R/W permissions i > and therefore fail to perform COW operation. This issue is to > be investigated, meanwhile work it around with disabling prefault > for MIPS at all. > o Some spellchecking stuff. > >Affected files ... > >.. //depot/projects/mips2/src/sys/mips/mips/pmap.c#21 edit > >Differences ... > >==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#21 (text+ko) ==== > >@@ -1657,18 +1657,17 @@ > /* > * pmap_is_prefaultable: > * >- * Return whether or not the specified virtual address is elgible >+ * Return whether or not the specified virtual address is eligible > * for prefault. > */ > boolean_t > pmap_is_prefaultable(pmap_t pmap, vm_offset_t va) > { >- pt_entry_t *pte; >- >- pte = pmap_pte(pmap, va); >- if (pte_valid(pte)) >- return (FALSE); >- return (TRUE); >+ /* >+ * XXX: prefault causes bugs with COW, so let's stick >+ * with all pages not eligible to prefault. >+ */ >+ return (FALSE); > } > > /* > > vm_fault_prefault() calls pmap_enter_quick(), not pmap_enter(). However, some implementations of pmap_enter_quick() are little more than a call to pmap_enter(). These implementations remove write access from the allowed access permissions. The sparc64 implementation below is representative: void pmap_enter_quick(pmap_t pm, vm_offset_t va, vm_page_t m, vm_prot_t prot) { PMAP_LOCK(pm); pmap_enter_locked(pm, va, m, prot & (VM_PROT_READ | VM_PROT_EXECUTE), FALSE); PMAP_UNLOCK(pm); } Regards, Alan From owner-p4-projects@FreeBSD.ORG Thu Mar 15 21:49:13 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D496716A405; Thu, 15 Mar 2007 21:49:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 954B716A403 for ; Thu, 15 Mar 2007 21:49:12 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6FEC813C44B for ; Thu, 15 Mar 2007 21:49:12 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2FLnCLT078907 for ; Thu, 15 Mar 2007 21:49:12 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2FLnC2a078904 for perforce@freebsd.org; Thu, 15 Mar 2007 21:49:12 GMT (envelope-from jhb@freebsd.org) Date: Thu, 15 Mar 2007 21:49:12 GMT Message-Id: <200703152149.l2FLnC2a078904@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 115947 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, 15 Mar 2007 21:49:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=115947 Change 115947 by jhb@jhb_mutex on 2007/03/15 21:48:56 Don't leak socket fd's if we get a fault trying to copyout the values. Need to write a test case before this goes into CVS. Affected files ... .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#99 edit Differences ... ==== //depot/projects/smpng/sys/kern/uipc_syscalls.c#99 (text+ko) ==== @@ -665,6 +665,8 @@ fp2->f_type = DTYPE_SOCKET; FILE_UNLOCK(fp2); error = copyout(sv, uap->rsv, 2 * sizeof (int)); + if (error) + goto free4; fdrop(fp1, td); fdrop(fp2, td); goto done2; From owner-p4-projects@FreeBSD.ORG Thu Mar 15 22:17:47 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9044F16A406; Thu, 15 Mar 2007 22:17:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 68C8C16A402 for ; Thu, 15 Mar 2007 22:17:47 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5A1D313C44C for ; Thu, 15 Mar 2007 22:17:47 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2FMHlmx085363 for ; Thu, 15 Mar 2007 22:17:47 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2FMHld1085360 for perforce@freebsd.org; Thu, 15 Mar 2007 22:17:47 GMT (envelope-from jhb@freebsd.org) Date: Thu, 15 Mar 2007 22:17:47 GMT Message-Id: <200703152217.l2FMHld1085360@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 115948 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, 15 Mar 2007 22:17:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=115948 Change 115948 by jhb@jhb_mutex on 2007/03/15 22:17:34 Move the fdrop() after the fdclose() to close the following race: - thread A calls kern_open() and vn_open() fails. - thread B close()'s the fd before thread A returns from kern_open(). - thread A calls fdrop() which free's the file object. - thread B/C creates a new file descriptor which reuses the same file object that was just free'd. It also reuses the same fd since it was just closed and is now available. - thread A calls fdclose() which sees that the file matches the file in the descriptor table, so it clears the file pointer and does an fdrop() - thread B/C returns an fd - later accesses to 'fd' return EBADF I don't think one can get a refcount underflow from this or a panic, just weirdness in userland where a fd returned from open will fail with EBADF when you use it. Affected files ... .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#123 edit Differences ... ==== //depot/projects/smpng/sys/kern/vfs_syscalls.c#123 (text+ko) ==== @@ -997,11 +997,6 @@ } /* - * release our own reference - */ - fdrop(fp, td); - - /* * handle special fdopen() case. bleh. dupfdopen() is * responsible for dropping the old contents of ofiles[indx] * if it succeeds. @@ -1011,6 +1006,7 @@ (error = dupfdopen(td, fdp, indx, td->td_dupfd, flags, error)) == 0) { td->td_retval[0] = indx; + fdrop(fp, td); return (0); } /* @@ -1018,6 +1014,7 @@ * replaced or closed it. */ fdclose(fdp, fp, indx, td); + fdrop(fp, td); if (error == ERESTART) error = EINTR; From owner-p4-projects@FreeBSD.ORG Thu Mar 15 22:20:52 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D139916A403; Thu, 15 Mar 2007 22:20:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 97B1416A401 for ; Thu, 15 Mar 2007 22:20:51 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8A55D13C484 for ; Thu, 15 Mar 2007 22:20:51 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2FMKpwU085619 for ; Thu, 15 Mar 2007 22:20:51 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2FMKpIw085615 for perforce@freebsd.org; Thu, 15 Mar 2007 22:20:51 GMT (envelope-from jhb@freebsd.org) Date: Thu, 15 Mar 2007 22:20:51 GMT Message-Id: <200703152220.l2FMKpIw085615@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 115949 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, 15 Mar 2007 22:20:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=115949 Change 115949 by jhb@jhb_mutex on 2007/03/15 22:20:40 Remove a bunch of crap to handle a race that is already handled. If we hit this race, then the file will get cleaned up when the fdrop() at the end calls closef(). This is how all the other places that create file descriptors handle this race. Affected files ... .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#124 edit Differences ... ==== //depot/projects/smpng/sys/kern/vfs_syscalls.c#124 (text+ko) ==== @@ -1025,31 +1025,8 @@ NDFREE(&nd, NDF_ONLY_PNBUF); vp = nd.ni_vp; - /* - * There should be 2 references on the file, one from the descriptor - * table, and one for us. - * - * Handle the case where someone closed the file (via its file - * descriptor) while we were blocked. The end result should look - * like opening the file succeeded but it was immediately closed. - * We call vn_close() manually because we haven't yet hooked up - * the various 'struct file' fields. - */ - FILEDESC_LOCK(fdp); + FILEDESC_LOCK_FAST(fdp); FILE_LOCK(fp); - if (fp->f_count == 1) { - mp = vp->v_mount; - KASSERT(fdp->fd_ofiles[indx] != fp, - ("Open file descriptor lost all refs")); - FILE_UNLOCK(fp); - FILEDESC_UNLOCK(fdp); - VOP_UNLOCK(vp, 0, td); - vn_close(vp, flags & FMASK, fp->f_cred, td); - VFS_UNLOCK_GIANT(vfslocked); - fdrop(fp, td); - td->td_retval[0] = indx; - return (0); - } fp->f_vnode = vp; if (fp->f_data == NULL) fp->f_data = vp; @@ -1059,7 +1036,7 @@ fp->f_seqcount = 1; fp->f_type = (vp->v_type == VFIFO ? DTYPE_FIFO : DTYPE_VNODE); FILE_UNLOCK(fp); - FILEDESC_UNLOCK(fdp); + FILEDESC_UNLOCK_FAST(fdp); VOP_UNLOCK(vp, 0, td); if (flags & (O_EXLOCK | O_SHLOCK)) { From owner-p4-projects@FreeBSD.ORG Fri Mar 16 16:31:05 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0AE6C16A409; Fri, 16 Mar 2007 16:31:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B293416A405 for ; Fri, 16 Mar 2007 16:31:04 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A071513C45A for ; Fri, 16 Mar 2007 16:31:04 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2GGV4Ys047072 for ; Fri, 16 Mar 2007 16:31:04 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2GGU4fU046637 for perforce@freebsd.org; Fri, 16 Mar 2007 16:30:04 GMT (envelope-from sam@freebsd.org) Date: Fri, 16 Mar 2007 16:30:04 GMT Message-Id: <200703161630.l2GGU4fU046637@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 115987 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, 16 Mar 2007 16:31:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=115987 Change 115987 by sam@sam_ebb on 2007/03/16 16:29:41 IFC @ 115986 Affected files ... .. //depot/projects/crypto/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/apic_vector.S#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/busdma_machdep.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/cpu_switch.S#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/exception.S#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/genassym.c#3 integrate .. //depot/projects/crypto/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/machdep.c#3 integrate .. //depot/projects/crypto/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/msi.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/crypto/sys/amd64/amd64/pmap.c#3 integrate .. //depot/projects/crypto/sys/amd64/amd64/trap.c#3 integrate .. //depot/projects/crypto/sys/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/crypto/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/crypto/sys/amd64/ia32/ia32_exception.S#2 integrate .. //depot/projects/crypto/sys/amd64/ia32/ia32_syscall.c#2 integrate .. //depot/projects/crypto/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/clock.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/gdb_machdep.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/md_var.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/pcpu.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/setjmp.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/smp.h#2 integrate .. //depot/projects/crypto/sys/amd64/include/specialreg.h#2 integrate .. //depot/projects/crypto/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/crypto/sys/amd64/isa/atpic_vector.S#2 integrate .. //depot/projects/crypto/sys/amd64/isa/clock.c#3 integrate .. //depot/projects/crypto/sys/amd64/isa/icu.h#2 integrate .. //depot/projects/crypto/sys/amd64/isa/isa.c#2 integrate .. //depot/projects/crypto/sys/amd64/linux32/linux.h#2 integrate .. //depot/projects/crypto/sys/amd64/linux32/linux32_dummy.c#2 integrate .. //depot/projects/crypto/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/crypto/sys/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/crypto/sys/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/crypto/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/crypto/sys/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/crypto/sys/amd64/pci/pci_bus.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/cpufunc.c#3 integrate .. //depot/projects/crypto/sys/arm/arm/db_interface.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/intr.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/locore.S#2 integrate .. //depot/projects/crypto/sys/arm/arm/machdep.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/mem.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/crypto/sys/arm/arm/support.S#2 integrate .. //depot/projects/crypto/sys/arm/arm/sys_machdep.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/trap.c#2 integrate .. //depot/projects/crypto/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91_pio.c#3 integrate .. //depot/projects/crypto/sys/arm/at91/at91_pioreg.h#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91_pmc.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91_rtc.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91_spi.c#3 integrate .. //depot/projects/crypto/sys/arm/at91/at91_spireg.h#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91_ssc.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91_st.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/crypto/sys/arm/at91/files.at91#2 integrate .. //depot/projects/crypto/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/ohci_atmelarm.c#2 integrate .. //depot/projects/crypto/sys/arm/at91/uart_dev_at91usart.c#3 integrate .. //depot/projects/crypto/sys/arm/conf/AVILA#2 integrate .. //depot/projects/crypto/sys/arm/conf/BWCT#1 branch .. //depot/projects/crypto/sys/arm/conf/BWCT.hints#1 branch .. //depot/projects/crypto/sys/arm/conf/EP80219#2 integrate .. //depot/projects/crypto/sys/arm/conf/IQ31244#2 integrate .. //depot/projects/crypto/sys/arm/conf/SIMICS#2 integrate .. //depot/projects/crypto/sys/arm/include/atomic.h#2 integrate .. //depot/projects/crypto/sys/arm/include/bus_dma.h#2 integrate .. //depot/projects/crypto/sys/arm/include/intr.h#2 integrate .. //depot/projects/crypto/sys/arm/include/md_var.h#2 integrate .. //depot/projects/crypto/sys/arm/include/pcpu.h#2 integrate .. //depot/projects/crypto/sys/arm/include/pmap.h#2 integrate .. //depot/projects/crypto/sys/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/crypto/sys/arm/sa11x0/sa11x0_ost.c#2 integrate .. //depot/projects/crypto/sys/arm/sa11x0/uart_dev_sa1110.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/i80321/i80321_timer.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/i80321/iq80321.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/avila_ata.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/avila_machdep.c#3 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/if_npe.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/ixp425_mem.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/ixp425_npe.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/ixp425_pci.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/ixp425_qmgr.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/ixp425_timer.c#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/crypto/sys/arm/xscale/ixp425/ixp425var.h#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/boot0spi/main.c#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/arm_init.S#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/eeprom.c#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/crypto/sys/boot/arm/at91/libat91/spi_flash.h#2 integrate .. //depot/projects/crypto/sys/boot/common/bootstrap.h#2 integrate .. //depot/projects/crypto/sys/boot/common/loader.8#3 integrate .. //depot/projects/crypto/sys/boot/common/pnp.c#2 integrate .. //depot/projects/crypto/sys/boot/common/pnpdata#2 delete .. //depot/projects/crypto/sys/boot/forth/loader.conf#2 integrate .. //depot/projects/crypto/sys/boot/i386/cdboot/cdboot.s#2 integrate .. //depot/projects/crypto/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/crypto/sys/boot/sparc64/loader/main.c#2 integrate .. //depot/projects/crypto/sys/bsm/audit.h#2 integrate .. //depot/projects/crypto/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/crypto/sys/bsm/audit_kevents.h#2 integrate .. //depot/projects/crypto/sys/bsm/audit_record.h#2 integrate .. //depot/projects/crypto/sys/cam/cam_xpt.c#4 integrate .. //depot/projects/crypto/sys/cam/cam_xpt.h#3 integrate .. //depot/projects/crypto/sys/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/crypto/sys/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/crypto/sys/coda/coda_vfsops.h#2 integrate .. //depot/projects/crypto/sys/coda/coda_vnops.c#2 integrate .. //depot/projects/crypto/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/crypto/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/crypto/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/crypto/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/crypto/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/crypto/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/crypto/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/crypto/sys/compat/linsysfs/linsysfs.c#3 integrate .. //depot/projects/crypto/sys/compat/linux/linux_emul.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_emul.h#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_file.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_futex.h#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_ipc.h#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_mib.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_mib.h#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_misc.c#3 integrate .. //depot/projects/crypto/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_socket.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/crypto/sys/compat/linux/linux_time.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/crypto/sys/compat/linux/linux_util.c#2 integrate .. //depot/projects/crypto/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/crypto/sys/compat/ndis/subr_ntoskrnl.c#2 integrate .. //depot/projects/crypto/sys/conf/NOTES#3 integrate .. //depot/projects/crypto/sys/conf/files#7 integrate .. //depot/projects/crypto/sys/conf/files.amd64#2 integrate .. //depot/projects/crypto/sys/conf/files.arm#3 integrate .. //depot/projects/crypto/sys/conf/files.i386#2 integrate .. //depot/projects/crypto/sys/conf/files.pc98#2 integrate .. //depot/projects/crypto/sys/conf/files.powerpc#2 integrate .. //depot/projects/crypto/sys/conf/files.sparc64#2 integrate .. //depot/projects/crypto/sys/conf/files.sun4v#2 integrate .. //depot/projects/crypto/sys/conf/kern.post.mk#2 integrate .. //depot/projects/crypto/sys/conf/kmod.mk#3 integrate .. //depot/projects/crypto/sys/conf/options#5 integrate .. //depot/projects/crypto/sys/conf/options.arm#2 integrate .. //depot/projects/crypto/sys/conf/options.sun4v#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/ah.h#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/ah_desc.h#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/ah_devid.h#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/alpha-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/alpha-elf.inc#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/ap30.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/ap43.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/ap51.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/ap61.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/arm9-le-thumb-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/arm9-le-thumb-elf.inc#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/armv4-be-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/armv4-be-elf.inc#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/armv4-le-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/armv4-le-elf.inc#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/i386-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/mips-be-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/mips-le-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/mips1-be-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/mips1-le-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/mipsisa32-le-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/powerpc-be-eabi.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/powerpc-le-eabi.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/sh4-le-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/sparc-be-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/wackelf.c#1 branch .. //depot/projects/crypto/sys/contrib/dev/ath/public/x86_64-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/xscale-be-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/xscale-be-elf.inc#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/xscale-le-elf.hal.o.uu#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/public/xscale-le-elf.inc#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ath/version.h#2 integrate .. //depot/projects/crypto/sys/contrib/dev/ipw/LICENSE#1 branch .. //depot/projects/crypto/sys/contrib/dev/ipw/ipw2100-1.3-i.fw.uu#1 branch .. //depot/projects/crypto/sys/contrib/dev/ipw/ipw2100-1.3-p.fw.uu#1 branch .. //depot/projects/crypto/sys/contrib/dev/ipw/ipw2100-1.3.fw.uu#1 branch .. //depot/projects/crypto/sys/contrib/dev/iwi/LICENSE#1 branch .. //depot/projects/crypto/sys/contrib/dev/iwi/ipw2200-bss.fw.uu#1 branch .. //depot/projects/crypto/sys/contrib/dev/iwi/ipw2200-ibss.fw.uu#1 branch .. //depot/projects/crypto/sys/contrib/dev/iwi/ipw2200-sniffer.fw.uu#1 branch .. //depot/projects/crypto/sys/contrib/dev/oltr/if_oltr.c#2 integrate .. //depot/projects/crypto/sys/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/crypto/sys/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/crypto/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/crypto/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/crypto/sys/ddb/db_command.c#2 integrate .. //depot/projects/crypto/sys/ddb/db_thread.c#2 integrate .. //depot/projects/crypto/sys/dev/aac/aac.c#2 integrate .. //depot/projects/crypto/sys/dev/aac/aac_cam.c#2 integrate .. //depot/projects/crypto/sys/dev/aac/aac_linux.c#2 integrate .. //depot/projects/crypto/sys/dev/aac/aac_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/aac/aacvar.h#2 integrate .. //depot/projects/crypto/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_battery.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/crypto/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/crypto/sys/dev/adlink/adlink.c#2 integrate .. //depot/projects/crypto/sys/dev/advansys/adv_eisa.c#2 integrate .. //depot/projects/crypto/sys/dev/advansys/adv_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/advansys/adv_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/advansys/advansys.c#2 integrate .. //depot/projects/crypto/sys/dev/advansys/adw_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/advansys/adwcam.c#2 integrate .. //depot/projects/crypto/sys/dev/aha/aha.c#2 integrate .. //depot/projects/crypto/sys/dev/aha/aha_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/aha/aha_mca.c#2 integrate .. //depot/projects/crypto/sys/dev/ahb/ahb.c#2 integrate .. //depot/projects/crypto/sys/dev/aic/aic_cbus.c#2 integrate .. //depot/projects/crypto/sys/dev/aic/aic_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/aic/aic_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/aic7xxx/aic79xx.h#2 integrate .. //depot/projects/crypto/sys/dev/aic7xxx/aic79xx.seq#2 integrate .. //depot/projects/crypto/sys/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/crypto/sys/dev/aic7xxx/aic79xx_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/aic7xxx/aic7xxx.seq#2 integrate .. //depot/projects/crypto/sys/dev/aic7xxx/aic7xxx_osm.c#2 integrate .. //depot/projects/crypto/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/crypto/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/crypto/sys/dev/amd/amd.c#2 integrate .. //depot/projects/crypto/sys/dev/amr/amr_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/an/if_an_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/an/if_an_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/an/if_an_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/ar/if_ar.c#2 integrate .. //depot/projects/crypto/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/crypto/sys/dev/arcmsr/arcmsr.h#2 integrate .. //depot/projects/crypto/sys/dev/arl/if_arl.c#2 integrate .. //depot/projects/crypto/sys/dev/arl/if_arl_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/asr/asr.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-all.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-card.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-cbus.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-isa.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-pci.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-queue.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-raid.h#2 integrate .. //depot/projects/crypto/sys/dev/ata/ata-usb.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/atapi-cd.h#2 integrate .. //depot/projects/crypto/sys/dev/ata/atapi-fd.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/atapi-fd.h#2 integrate .. //depot/projects/crypto/sys/dev/ata/atapi-tape.c#2 integrate .. //depot/projects/crypto/sys/dev/ata/atapi-tape.h#2 integrate .. //depot/projects/crypto/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate .. //depot/projects/crypto/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate .. //depot/projects/crypto/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/crypto/sys/dev/ath/ath_rate/sample/sample.h#2 integrate .. //depot/projects/crypto/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/crypto/sys/dev/ath/if_ath_pci.c#3 integrate .. //depot/projects/crypto/sys/dev/ath/if_athrate.h#2 integrate .. //depot/projects/crypto/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/crypto/sys/dev/atkbdc/atkbd_atkbdc.c#2 integrate .. //depot/projects/crypto/sys/dev/atkbdc/psm.c#2 integrate .. //depot/projects/crypto/sys/dev/awi/awivar.h#2 integrate .. //depot/projects/crypto/sys/dev/awi/if_awi_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/crypto/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/crypto/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/crypto/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/crypto/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/crypto/sys/dev/bktr/bktr_i2c.c#2 integrate .. //depot/projects/crypto/sys/dev/bktr/bktr_os.c#2 integrate .. //depot/projects/crypto/sys/dev/buslogic/bt.c#2 integrate .. //depot/projects/crypto/sys/dev/buslogic/bt_eisa.c#2 integrate .. //depot/projects/crypto/sys/dev/buslogic/bt_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/buslogic/bt_mca.c#2 integrate .. //depot/projects/crypto/sys/dev/buslogic/bt_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/cardbus/cardbus.c#2 integrate .. //depot/projects/crypto/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/crypto/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/crypto/sys/dev/cm/if_cm_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/cnw/if_cnw.c#2 integrate .. //depot/projects/crypto/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/crypto/sys/dev/cs/if_cs_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/cs/if_cs_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/ct/ct_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/crypto/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_ael1002.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_common.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_firmware_exports.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_mc5.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_regs.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_sge_defs.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_t3_cpl.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_t3_hw.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_tcb.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_version.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_vsc8211.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/common/cxgb_xgmac.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/cxgb_adapter.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/cxgb_config.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/cxgb_ioctl.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/cxgb_lro.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/cxgb_main.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/cxgb_osdep.h#1 branch .. //depot/projects/crypto/sys/dev/cxgb/cxgb_sge.c#1 branch .. //depot/projects/crypto/sys/dev/cxgb/t3fw-3.2.bin.gz.uu#1 branch .. //depot/projects/crypto/sys/dev/cy/cy.c#2 integrate .. //depot/projects/crypto/sys/dev/cy/cy_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/cy/cy_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/cy/cyvar.h#2 integrate .. //depot/projects/crypto/sys/dev/dc/if_dc.c#3 integrate .. //depot/projects/crypto/sys/dev/de/if_de.c#2 integrate .. //depot/projects/crypto/sys/dev/dpt/dpt.h#2 integrate .. //depot/projects/crypto/sys/dev/dpt/dpt_eisa.c#2 integrate .. //depot/projects/crypto/sys/dev/dpt/dpt_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/dpt/dpt_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/dpt/dpt_scsi.c#2 integrate .. //depot/projects/crypto/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/crypto/sys/dev/drm/drm_irq.c#2 integrate .. //depot/projects/crypto/sys/dev/ed/if_ed_cbus.c#2 integrate .. //depot/projects/crypto/sys/dev/ed/if_ed_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/ed/if_ed_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/ed/if_ed_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/em/if_em.c#2 integrate .. //depot/projects/crypto/sys/dev/en/if_en_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/en/midway.c#2 integrate .. //depot/projects/crypto/sys/dev/ep/if_ep_eisa.c#2 integrate .. //depot/projects/crypto/sys/dev/ep/if_ep_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/ep/if_ep_mca.c#2 integrate .. //depot/projects/crypto/sys/dev/ep/if_ep_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/esp/esp_sbus.c#2 integrate .. //depot/projects/crypto/sys/dev/ex/if_ex_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/ex/if_ex_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/exca/exca.c#2 integrate .. //depot/projects/crypto/sys/dev/fatm/if_fatm.c#2 integrate .. //depot/projects/crypto/sys/dev/fb/boot_font.c#2 integrate .. //depot/projects/crypto/sys/dev/fb/creator.c#2 integrate .. //depot/projects/crypto/sys/dev/fb/creatorreg.h#1 branch .. //depot/projects/crypto/sys/dev/fb/fbreg.h#2 integrate .. //depot/projects/crypto/sys/dev/fb/gallant12x22.c#1 branch .. //depot/projects/crypto/sys/dev/fb/gfb.c#2 delete .. //depot/projects/crypto/sys/dev/fb/gfb.h#2 integrate .. //depot/projects/crypto/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/crypto/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/crypto/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/crypto/sys/dev/firewire/firewirereg.h#2 integrate .. //depot/projects/crypto/sys/dev/firewire/fwdev.c#3 integrate .. //depot/projects/crypto/sys/dev/firewire/fwmem.c#2 integrate .. //depot/projects/crypto/sys/dev/firewire/fwohci.c#2 integrate .. //depot/projects/crypto/sys/dev/firewire/fwohci_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/firewire/fwohcivar.h#2 integrate .. //depot/projects/crypto/sys/dev/firewire/if_fwe.c#2 integrate .. //depot/projects/crypto/sys/dev/firewire/if_fwip.c#2 integrate .. //depot/projects/crypto/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/crypto/sys/dev/firewire/sbp_targ.c#2 integrate .. //depot/projects/crypto/sys/dev/fxp/if_fxp.c#3 integrate .. //depot/projects/crypto/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/gfb/gfb_pci.c#2 delete .. //depot/projects/crypto/sys/dev/gfb/gfb_pci.h#2 delete .. //depot/projects/crypto/sys/dev/hatm/if_hatm.c#2 integrate .. //depot/projects/crypto/sys/dev/hfa/hfa_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/hifn/hifn7751.c#11 edit .. //depot/projects/crypto/sys/dev/hme/if_hme_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/hme/if_hme_sbus.c#2 integrate .. //depot/projects/crypto/sys/dev/hptmv/entry.c#2 integrate .. //depot/projects/crypto/sys/dev/hptmv/ioctl.c#2 integrate .. //depot/projects/crypto/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/crypto/sys/dev/ichsmb/ichsmb.c#2 integrate .. //depot/projects/crypto/sys/dev/ichsmb/ichsmb_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/crypto/sys/dev/ida/ida_eisa.c#2 integrate .. //depot/projects/crypto/sys/dev/ida/ida_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/idt/idt_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/idt/idtreg.h#2 integrate .. //depot/projects/crypto/sys/dev/ie/if_ie_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/ieee488/pcii.c#2 integrate .. //depot/projects/crypto/sys/dev/ieee488/tnt4882.c#2 integrate .. //depot/projects/crypto/sys/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/crypto/sys/dev/iir/iir_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/ipmi/ipmi.c#3 integrate .. //depot/projects/crypto/sys/dev/ipmi/ipmi_ssif.c#2 integrate .. //depot/projects/crypto/sys/dev/ips/ips_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/crypto/sys/dev/ipw/if_ipwvar.h#2 integrate .. //depot/projects/crypto/sys/dev/isp/isp.c#3 integrate .. //depot/projects/crypto/sys/dev/isp/isp_freebsd.c#4 integrate .. //depot/projects/crypto/sys/dev/isp/isp_freebsd.h#2 integrate .. //depot/projects/crypto/sys/dev/isp/isp_ioctl.h#2 integrate .. //depot/projects/crypto/sys/dev/isp/isp_library.c#2 integrate .. //depot/projects/crypto/sys/dev/isp/isp_library.h#2 integrate .. //depot/projects/crypto/sys/dev/isp/isp_pci.c#3 integrate .. //depot/projects/crypto/sys/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/crypto/sys/dev/isp/isp_stds.h#2 integrate .. //depot/projects/crypto/sys/dev/isp/isp_target.c#3 integrate .. //depot/projects/crypto/sys/dev/isp/isp_target.h#2 integrate .. //depot/projects/crypto/sys/dev/isp/isp_tpublic.h#2 integrate .. //depot/projects/crypto/sys/dev/isp/ispmbox.h#3 integrate .. //depot/projects/crypto/sys/dev/isp/ispreg.h#2 integrate .. //depot/projects/crypto/sys/dev/isp/ispvar.h#3 integrate .. //depot/projects/crypto/sys/dev/iwi/if_iwi.c#3 integrate .. //depot/projects/crypto/sys/dev/iwi/if_iwireg.h#2 integrate .. //depot/projects/crypto/sys/dev/iwi/if_iwivar.h#2 integrate .. //depot/projects/crypto/sys/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/crypto/sys/dev/le/if_le_cbus.c#2 integrate .. //depot/projects/crypto/sys/dev/le/if_le_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/le/if_le_lebuffer.c#1 branch .. //depot/projects/crypto/sys/dev/le/if_le_ledma.c#2 integrate .. //depot/projects/crypto/sys/dev/le/if_le_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/le/lance.c#3 integrate .. //depot/projects/crypto/sys/dev/le/lebuffer_sbus.c#1 branch .. //depot/projects/crypto/sys/dev/lge/if_lge.c#2 integrate .. //depot/projects/crypto/sys/dev/lmc/if_lmc.c#2 integrate .. //depot/projects/crypto/sys/dev/mc146818/mc146818reg.h#2 integrate .. //depot/projects/crypto/sys/dev/md/md.c#2 integrate .. //depot/projects/crypto/sys/dev/mfi/mfi.c#2 integrate .. //depot/projects/crypto/sys/dev/mfi/mfi_ioctl.h#2 integrate .. //depot/projects/crypto/sys/dev/mfi/mfi_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/mfi/mfireg.h#2 integrate .. //depot/projects/crypto/sys/dev/mii/acphy.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/acphyreg.h#2 integrate .. //depot/projects/crypto/sys/dev/mii/amphy.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/brgphyreg.h#2 integrate .. //depot/projects/crypto/sys/dev/mii/e1000phy.c#2 integrate .. //depot/projects/crypto/sys/dev/mii/e1000phyreg.h#2 integrate .. //depot/projects/crypto/sys/dev/mii/exphy.c#2 integrate .. //depot/projects/crypto/sys/dev/mii/gentbi.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/inphy.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/lxtphy.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/mii.c#2 integrate .. //depot/projects/crypto/sys/dev/mii/mii_physubr.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/miidevs#3 integrate .. //depot/projects/crypto/sys/dev/mii/miivar.h#3 integrate .. //depot/projects/crypto/sys/dev/mii/nsphy.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/rgephy.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/rlphy.c#3 integrate .. //depot/projects/crypto/sys/dev/mii/rlswitch.c#1 branch .. //depot/projects/crypto/sys/dev/mii/ruephy.c#2 integrate .. //depot/projects/crypto/sys/dev/mii/ukphy.c#2 integrate .. //depot/projects/crypto/sys/dev/mk48txx/mk48txx.c#2 integrate .. //depot/projects/crypto/sys/dev/mlx/mlx.c#2 integrate .. //depot/projects/crypto/sys/dev/mly/mly.c#2 integrate .. //depot/projects/crypto/sys/dev/mpt/mpt.c#4 integrate .. //depot/projects/crypto/sys/dev/mpt/mpt.h#4 integrate .. //depot/projects/crypto/sys/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/crypto/sys/dev/mpt/mpt_cam.h#2 integrate .. //depot/projects/crypto/sys/dev/mpt/mpt_pci.c#3 integrate .. //depot/projects/crypto/sys/dev/mse/mse.c#2 integrate .. //depot/projects/crypto/sys/dev/msk/if_msk.c#1 branch .. //depot/projects/crypto/sys/dev/msk/if_mskreg.h#1 branch .. //depot/projects/crypto/sys/dev/mxge/eth_z8e.dat.gz.uu#2 integrate .. //depot/projects/crypto/sys/dev/mxge/ethp_z8e.dat.gz.uu#2 integrate .. //depot/projects/crypto/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/crypto/sys/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/crypto/sys/dev/my/if_my.c#2 integrate .. //depot/projects/crypto/sys/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/crypto/sys/dev/nge/if_nge.c#2 integrate .. //depot/projects/crypto/sys/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/crypto/sys/dev/patm/if_patm_attach.c#2 integrate .. //depot/projects/crypto/sys/dev/pccard/pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/pccard/pccard_cis.c#2 integrate .. //depot/projects/crypto/sys/dev/pccard/pccarddevs#2 integrate .. //depot/projects/crypto/sys/dev/pccard/pccardvarp.h#2 integrate .. //depot/projects/crypto/sys/dev/pccbb/pccbb.c#2 integrate .. //depot/projects/crypto/sys/dev/pccbb/pccbb_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/pccbb/pccbbvar.h#2 integrate .. //depot/projects/crypto/sys/dev/pcf/envctrl.c#2 integrate .. //depot/projects/crypto/sys/dev/pcf/pcf_ebus.c#2 integrate .. //depot/projects/crypto/sys/dev/pcf/pcf_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/pci/pci.c#2 integrate .. //depot/projects/crypto/sys/dev/pci/pci_if.m#2 integrate .. //depot/projects/crypto/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/pci/pci_private.h#2 integrate .. //depot/projects/crypto/sys/dev/pci/pcib_if.m#2 integrate .. //depot/projects/crypto/sys/dev/pci/pcib_private.h#2 integrate .. //depot/projects/crypto/sys/dev/pci/pcireg.h#2 integrate .. //depot/projects/crypto/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/crypto/sys/dev/pdq/if_fea.c#2 integrate .. //depot/projects/crypto/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/crypto/sys/dev/ppbus/if_plip.c#2 integrate .. //depot/projects/crypto/sys/dev/ppbus/lpt.c#2 integrate .. //depot/projects/crypto/sys/dev/ppbus/ppbconf.c#2 integrate .. //depot/projects/crypto/sys/dev/ppbus/ppi.c#2 integrate .. //depot/projects/crypto/sys/dev/ppbus/pps.c#2 integrate .. //depot/projects/crypto/sys/dev/ppbus/vpo.c#2 integrate .. //depot/projects/crypto/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/crypto/sys/dev/ppc/ppcvar.h#2 integrate .. //depot/projects/crypto/sys/dev/pst/pst-iop.c#2 integrate .. //depot/projects/crypto/sys/dev/puc/puc.c#2 integrate .. //depot/projects/crypto/sys/dev/puc/puc_bfe.h#2 integrate .. //depot/projects/crypto/sys/dev/ral/if_ral_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/ral/rt2560.c#3 integrate .. //depot/projects/crypto/sys/dev/ral/rt2560var.h#2 integrate .. //depot/projects/crypto/sys/dev/ral/rt2661.c#3 integrate .. //depot/projects/crypto/sys/dev/ral/rt2661var.h#2 integrate .. //depot/projects/crypto/sys/dev/random/randomdev_soft.c#2 integrate .. //depot/projects/crypto/sys/dev/ray/if_ray.c#2 integrate .. //depot/projects/crypto/sys/dev/rc/rc.c#2 integrate .. //depot/projects/crypto/sys/dev/re/if_re.c#2 integrate .. //depot/projects/crypto/sys/dev/rr232x/osm_bsd.c#2 integrate .. //depot/projects/crypto/sys/dev/safe/safe.c#3 integrate .. //depot/projects/crypto/sys/dev/sbni/if_sbni_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/sbni/if_sbni_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/sbsh/if_sbsh.c#2 integrate .. //depot/projects/crypto/sys/dev/scc/scc_bfe.h#2 integrate .. //depot/projects/crypto/sys/dev/scc/scc_core.c#2 integrate .. //depot/projects/crypto/sys/dev/scd/scd.c#2 integrate .. //depot/projects/crypto/sys/dev/si/si.c#2 integrate .. //depot/projects/crypto/sys/dev/si/si_eisa.c#2 integrate .. //depot/projects/crypto/sys/dev/si/si_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/si/si_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/sio/sio.c#2 integrate .. //depot/projects/crypto/sys/dev/sk/if_sk.c#2 integrate .. //depot/projects/crypto/sys/dev/sk/if_skreg.h#2 integrate .. //depot/projects/crypto/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/crypto/sys/dev/snc/if_snc_cbus.c#2 integrate .. //depot/projects/crypto/sys/dev/snc/if_snc_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/driver.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/ad1816.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/gusc.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/mss.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/sb.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/midi.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/midi.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/midiq.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/mpu401.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/mpu401.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/mpu_if.m#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/mpufoi_if.m#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/sequencer.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/midi/synth_if.m#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/au88x0.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/emu10kx.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/envy24ht.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/crypto/sys/dev/sound/pci/hda/hdac_private.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/ich.c#3 integrate .. //depot/projects/crypto/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/spicds.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/ac97_patch.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/dsp.h#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/fake.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/feeder.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/sound.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/usb/uaudio.c#2 integrate .. //depot/projects/crypto/sys/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/crypto/sys/dev/sr/if_sr.c#2 integrate .. //depot/projects/crypto/sys/dev/stg/tmc18c30_isa.c#2 integrate .. //depot/projects/crypto/sys/dev/stg/tmc18c30_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/stg/tmc18c30_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/stge/if_stge.c#2 integrate .. //depot/projects/crypto/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/crypto/sys/dev/syscons/fire/fire_saver.c#2 integrate .. //depot/projects/crypto/sys/dev/syscons/logo/logo_saver.c#2 integrate .. //depot/projects/crypto/sys/dev/syscons/rain/rain_saver.c#2 integrate .. //depot/projects/crypto/sys/dev/syscons/scvesactl.c#2 integrate .. //depot/projects/crypto/sys/dev/syscons/warp/warp_saver.c#2 integrate .. //depot/projects/crypto/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/crypto/sys/dev/trm/trm.c#2 integrate .. //depot/projects/crypto/sys/dev/twa/tw_osl_freebsd.c#2 integrate .. //depot/projects/crypto/sys/dev/twe/twe_freebsd.c#2 integrate .. //depot/projects/crypto/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/crypto/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/crypto/sys/dev/uart/uart_core.c#2 integrate .. //depot/projects/crypto/sys/dev/uart/uart_cpu.h#2 integrate .. //depot/projects/crypto/sys/dev/uart/uart_dev_ns8250.c#2 integrate .. //depot/projects/crypto/sys/dev/uart/uart_dev_sab82532.c#2 integrate .. //depot/projects/crypto/sys/dev/uart/uart_dev_z8530.c#2 integrate .. //depot/projects/crypto/sys/dev/uart/uart_kbd_sun.c#2 integrate .. //depot/projects/crypto/sys/dev/ubsec/ubsec.c#3 integrate .. //depot/projects/crypto/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/if_aue.c#3 integrate .. //depot/projects/crypto/sys/dev/usb/if_auereg.h#3 integrate .. //depot/projects/crypto/sys/dev/usb/if_ural.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/ohci_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/sl811hs.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/sl811hsvar.h#2 integrate .. //depot/projects/crypto/sys/dev/usb/slhci_pccard.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/ubsa.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/uhci_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/uhub.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/uipaq.c#1 branch .. //depot/projects/crypto/sys/dev/usb/umass.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/ums.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/uplcom.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/usb_ethersubr.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/usb_ethersubr.h#2 integrate .. //depot/projects/crypto/sys/dev/usb/usb_subr.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/usbdevs#3 integrate .. //depot/projects/crypto/sys/dev/usb/usbdi_util.h#2 integrate .. //depot/projects/crypto/sys/dev/usb/uvisor.c#2 integrate .. //depot/projects/crypto/sys/dev/usb/uvscom.c#2 integrate .. //depot/projects/crypto/sys/dev/vge/if_vge.c#3 integrate .. //depot/projects/crypto/sys/dev/vx/if_vx_eisa.c#2 integrate .. //depot/projects/crypto/sys/dev/vx/if_vx_pci.c#2 integrate .. //depot/projects/crypto/sys/dev/watchdog/watchdog.c#2 integrate .. //depot/projects/crypto/sys/dev/wds/wd7000.c#2 integrate .. //depot/projects/crypto/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/crypto/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/crypto/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/crypto/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/crypto/sys/dev/zs/z8530reg.h#2 delete .. //depot/projects/crypto/sys/dev/zs/z8530var.h#2 delete .. //depot/projects/crypto/sys/dev/zs/zs.c#2 delete .. //depot/projects/crypto/sys/dev/zs/zs_macio.c#2 delete .. //depot/projects/crypto/sys/fs/cd9660/TODO#1 branch .. //depot/projects/crypto/sys/fs/cd9660/TODO.hibler#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_bmap.c#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_iconv.c#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_lookup.c#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_mount.h#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_node.c#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_node.h#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_rrip.c#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_rrip.h#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_util.c#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_vfsops.c#1 branch .. //depot/projects/crypto/sys/fs/cd9660/cd9660_vnops.c#1 branch .. //depot/projects/crypto/sys/fs/cd9660/iso.h#1 branch .. //depot/projects/crypto/sys/fs/cd9660/iso_rrip.h#1 branch .. //depot/projects/crypto/sys/fs/deadfs/dead_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/fdescfs/fdesc_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/hpfs/hpfs_vfsops.c#2 integrate .. //depot/projects/crypto/sys/fs/hpfs/hpfs_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/msdosfs/bpb.h#2 integrate .. //depot/projects/crypto/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/crypto/sys/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/crypto/sys/fs/msdosfs/msdosfs_fat.c#2 integrate .. //depot/projects/crypto/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/crypto/sys/fs/msdosfs/msdosfs_vnops.c#3 integrate .. //depot/projects/crypto/sys/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/crypto/sys/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/nullfs/null_subr.c#2 integrate .. //depot/projects/crypto/sys/fs/nullfs/null_vfsops.c#2 integrate .. //depot/projects/crypto/sys/fs/nullfs/null_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/crypto/sys/fs/portalfs/portal_vfsops.c#2 integrate .. //depot/projects/crypto/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/procfs/procfs.c#2 integrate .. //depot/projects/crypto/sys/fs/procfs/procfs_ioctl.c#2 integrate .. //depot/projects/crypto/sys/fs/pseudofs/pseudofs.c#2 integrate .. //depot/projects/crypto/sys/fs/pseudofs/pseudofs.h#2 integrate .. //depot/projects/crypto/sys/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/crypto/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/crypto/sys/fs/smbfs/smbfs_smb.c#2 integrate .. //depot/projects/crypto/sys/fs/udf/udf.h#2 integrate .. //depot/projects/crypto/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/crypto/sys/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/umapfs/umap_subr.c#2 integrate .. //depot/projects/crypto/sys/fs/umapfs/umap_vfsops.c#2 integrate .. //depot/projects/crypto/sys/fs/umapfs/umap_vnops.c#2 integrate .. //depot/projects/crypto/sys/fs/unionfs/union_subr.c#4 integrate .. //depot/projects/crypto/sys/fs/unionfs/union_vfsops.c#4 integrate .. //depot/projects/crypto/sys/fs/unionfs/union_vnops.c#4 integrate .. //depot/projects/crypto/sys/geom/eli/g_eli.c#3 integrate .. //depot/projects/crypto/sys/geom/eli/g_eli_ctl.c#2 integrate .. //depot/projects/crypto/sys/geom/geom_apple.c#2 delete .. //depot/projects/crypto/sys/geom/geom_dev.c#2 integrate .. //depot/projects/crypto/sys/geom/geom_disk.c#2 integrate .. //depot/projects/crypto/sys/geom/geom_gpt.c#2 delete .. //depot/projects/crypto/sys/geom/geom_io.c#2 integrate .. //depot/projects/crypto/sys/geom/geom_vfs.c#2 integrate .. //depot/projects/crypto/sys/geom/multipath/g_multipath.c#1 branch .. //depot/projects/crypto/sys/geom/multipath/g_multipath.h#1 branch .. //depot/projects/crypto/sys/geom/part/g_part.c#1 branch .. //depot/projects/crypto/sys/geom/part/g_part.h#1 branch .. //depot/projects/crypto/sys/geom/part/g_part_apm.c#1 branch .. //depot/projects/crypto/sys/geom/part/g_part_gpt.c#1 branch .. //depot/projects/crypto/sys/geom/part/g_part_if.m#1 branch .. //depot/projects/crypto/sys/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/crypto/sys/gnu/fs/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/crypto/sys/gnu/fs/reiserfs/reiserfs_inode.c#2 integrate .. //depot/projects/crypto/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#2 integrate .. //depot/projects/crypto/sys/gnu/fs/reiserfs/reiserfs_vnops.c#2 integrate .. //depot/projects/crypto/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate .. //depot/projects/crypto/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#2 integrate .. //depot/projects/crypto/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#2 integrate .. //depot/projects/crypto/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/crypto/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/crypto/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/crypto/sys/i386/cpufreq/powernow.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/apic_vector.s#2 integrate .. //depot/projects/crypto/sys/i386/i386/busdma_machdep.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/db_trace.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/elan-mmcr.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/exception.s#2 integrate .. //depot/projects/crypto/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/crypto/sys/i386/i386/identcpu.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/machdep.c#3 integrate .. //depot/projects/crypto/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/mptable.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/mptable_pci.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/msi.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/swtch.s#2 integrate .. //depot/projects/crypto/sys/i386/i386/trap.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/vm86.c#2 integrate .. //depot/projects/crypto/sys/i386/i386/vm86bios.s#2 integrate .. //depot/projects/crypto/sys/i386/i386/vm_machdep.c#2 integrate .. //depot/projects/crypto/sys/i386/ibcs2/ibcs2_sysvec.c#2 integrate .. //depot/projects/crypto/sys/i386/ibcs2/ibcs2_xenix.c#2 integrate .. //depot/projects/crypto/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/crypto/sys/i386/include/atomic.h#2 integrate .. //depot/projects/crypto/sys/i386/include/clock.h#2 integrate .. //depot/projects/crypto/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/crypto/sys/i386/include/pcpu.h#2 integrate .. //depot/projects/crypto/sys/i386/include/setjmp.h#2 integrate .. //depot/projects/crypto/sys/i386/include/smp.h#2 integrate .. //depot/projects/crypto/sys/i386/include/specialreg.h#2 integrate .. //depot/projects/crypto/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/crypto/sys/i386/isa/atpic_vector.s#2 integrate .. //depot/projects/crypto/sys/i386/isa/clock.c#3 integrate .. //depot/projects/crypto/sys/i386/isa/icu.h#2 integrate .. //depot/projects/crypto/sys/i386/isa/isa.c#2 integrate .. //depot/projects/crypto/sys/i386/isa/npx.c#2 integrate .. //depot/projects/crypto/sys/i386/linux/imgact_linux.c#2 integrate .. //depot/projects/crypto/sys/i386/linux/linux.h#2 integrate .. //depot/projects/crypto/sys/i386/linux/linux_dummy.c#2 integrate .. //depot/projects/crypto/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/crypto/sys/i386/linux/linux_proto.h#2 integrate .. //depot/projects/crypto/sys/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/crypto/sys/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/crypto/sys/i386/linux/syscalls.master#2 integrate .. //depot/projects/crypto/sys/i386/pci/pci_bus.c#2 integrate .. //depot/projects/crypto/sys/i386/pci/pci_cfgreg.c#2 integrate .. //depot/projects/crypto/sys/i4b/capi/iavc/iavc_isa.c#2 integrate .. //depot/projects/crypto/sys/i4b/capi/iavc/iavc_pci.c#2 integrate .. //depot/projects/crypto/sys/i4b/driver/i4b_ipr.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/ifpi/i4b_ifpi_pci.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/ifpi2/i4b_ifpi2_pci.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/ifpnp/i4b_ifpnp_avm.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/ihfc/i4b_ihfc_pnp.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_avm_a1.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_elsa_pcc16.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_elsa_qs1p.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_isic_pnp.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_itk_ix1.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_tel_s016.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_tel_s0163.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_tel_s08.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/isic/i4b_usr_sti.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/itjc/i4b_itjc_pci.c#2 integrate .. //depot/projects/crypto/sys/i4b/layer1/iwic/i4b_iwic_pci.c#2 integrate .. //depot/projects/crypto/sys/ia64/conf/DEFAULTS#2 integrate .. //depot/projects/crypto/sys/ia64/conf/GENERIC#2 integrate .. //depot/projects/crypto/sys/ia64/ia64/busdma_machdep.c#2 integrate .. //depot/projects/crypto/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/crypto/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/crypto/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/crypto/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/crypto/sys/ia64/ia64/trap.c#2 integrate .. //depot/projects/crypto/sys/ia64/ia64/uma_machdep.c#2 integrate .. //depot/projects/crypto/sys/ia64/include/exec.h#2 integrate .. //depot/projects/crypto/sys/ia64/include/floatingpoint.h#2 integrate .. //depot/projects/crypto/sys/ia64/include/intr.h#2 integrate .. //depot/projects/crypto/sys/ia64/include/pcpu.h#2 integrate .. //depot/projects/crypto/sys/ia64/include/reloc.h#2 integrate .. //depot/projects/crypto/sys/ia64/isa/isa.c#2 integrate .. //depot/projects/crypto/sys/isa/isa_common.h#2 integrate .. //depot/projects/crypto/sys/isa/pnpparse.c#2 integrate .. //depot/projects/crypto/sys/isa/syscons_isa.c#2 integrate .. //depot/projects/crypto/sys/isofs/cd9660/TODO#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/TODO.hibler#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_bmap.c#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_iconv.c#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_lookup.c#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_mount.h#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_node.c#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_node.h#3 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_rrip.c#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_rrip.h#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_util.c#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_vfsops.c#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/cd9660_vnops.c#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/iso.h#2 delete .. //depot/projects/crypto/sys/isofs/cd9660/iso_rrip.h#2 delete .. //depot/projects/crypto/sys/kern/Make.tags.inc#2 integrate .. //depot/projects/crypto/sys/kern/bus_if.m#2 integrate .. //depot/projects/crypto/sys/kern/imgact_elf.c#2 integrate .. //depot/projects/crypto/sys/kern/init_main.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_acct.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_acl.c#2 delete .. //depot/projects/crypto/sys/kern/kern_alq.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_clock.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_condvar.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_conf.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_context.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_descrip.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_environment.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_event.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_exec.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_exit.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_fork.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_idle.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_intr.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_jail.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_kse.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_linker.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_lock.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_mac.c#2 delete .. //depot/projects/crypto/sys/kern/kern_mbuf.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_module.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_mutex.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_ntptime.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_prot.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_resource.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_sig.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_subr.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_switch.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_sx.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_synch.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_thr.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_thread.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_time.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_umtx.c#3 integrate .. //depot/projects/crypto/sys/kern/kern_uuid.c#2 integrate .. //depot/projects/crypto/sys/kern/kern_xxx.c#2 integrate .. //depot/projects/crypto/sys/kern/link_elf.c#2 integrate .. //depot/projects/crypto/sys/kern/p1003_1b.c#2 integrate .. //depot/projects/crypto/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/crypto/sys/kern/sched_core.c#2 integrate .. //depot/projects/crypto/sys/kern/sched_ule.c#3 integrate .. //depot/projects/crypto/sys/kern/subr_bus.c#2 integrate .. //depot/projects/crypto/sys/kern/subr_firmware.c#2 integrate .. //depot/projects/crypto/sys/kern/subr_lock.c#3 integrate .. //depot/projects/crypto/sys/kern/subr_prf.c#3 integrate .. //depot/projects/crypto/sys/kern/subr_prof.c#2 integrate .. //depot/projects/crypto/sys/kern/subr_rman.c#3 integrate .. //depot/projects/crypto/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/crypto/sys/kern/subr_smp.c#2 integrate .. //depot/projects/crypto/sys/kern/subr_taskqueue.c#2 integrate .. //depot/projects/crypto/sys/kern/subr_trap.c#3 integrate .. //depot/projects/crypto/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/crypto/sys/kern/subr_witness.c#2 integrate .. //depot/projects/crypto/sys/kern/sys_generic.c#2 integrate .. //depot/projects/crypto/sys/kern/sys_pipe.c#2 integrate .. //depot/projects/crypto/sys/kern/sys_process.c#2 integrate .. //depot/projects/crypto/sys/kern/sys_socket.c#2 integrate .. //depot/projects/crypto/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/crypto/sys/kern/sysv_msg.c#2 integrate .. //depot/projects/crypto/sys/kern/sysv_sem.c#2 integrate .. //depot/projects/crypto/sys/kern/sysv_shm.c#2 integrate .. //depot/projects/crypto/sys/kern/tty.c#3 integrate .. //depot/projects/crypto/sys/kern/tty_pts.c#2 integrate .. //depot/projects/crypto/sys/kern/uipc_debug.c#1 branch .. //depot/projects/crypto/sys/kern/uipc_mbuf.c#2 integrate .. //depot/projects/crypto/sys/kern/uipc_mqueue.c#2 integrate .. //depot/projects/crypto/sys/kern/uipc_sem.c#2 integrate .. //depot/projects/crypto/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/crypto/sys/kern/uipc_syscalls.c#2 integrate .. //depot/projects/crypto/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_acl.c#1 branch .. //depot/projects/crypto/sys/kern/vfs_aio.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_cluster.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_default.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_export.c#3 integrate .. //depot/projects/crypto/sys/kern/vfs_extattr.c#1 branch .. //depot/projects/crypto/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_init.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_lookup.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_mount.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_subr.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/crypto/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/crypto/sys/kern/vnode_if.src#2 integrate .. //depot/projects/crypto/sys/modules/Makefile#5 integrate .. //depot/projects/crypto/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/ath/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/ath_rate_sample/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/cd9660/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/cd9660_iconv/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/cxgb/Makefile#1 branch .. //depot/projects/crypto/sys/modules/geom/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/geom/geom_multipath/Makefile#1 branch .. //depot/projects/crypto/sys/modules/ip_mroute_mod/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/ipwfw/Makefile#1 branch .. //depot/projects/crypto/sys/modules/ipwfw/ipw_bss/Makefile#1 branch .. //depot/projects/crypto/sys/modules/ipwfw/ipw_ibss/Makefile#1 branch .. //depot/projects/crypto/sys/modules/ipwfw/ipw_monitor/Makefile#1 branch .. //depot/projects/crypto/sys/modules/iwifw/Makefile#1 branch .. //depot/projects/crypto/sys/modules/iwifw/iwi_bss/Makefile#1 branch .. //depot/projects/crypto/sys/modules/iwifw/iwi_ibss/Makefile#1 branch .. //depot/projects/crypto/sys/modules/iwifw/iwi_monitor/Makefile#1 branch .. //depot/projects/crypto/sys/modules/le/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/msdosfs/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/msk/Makefile#1 branch .. //depot/projects/crypto/sys/modules/my/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/netgraph/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/netgraph/deflate/Makefile#1 branch .. //depot/projects/crypto/sys/modules/netgraph/pred1/Makefile#1 branch .. //depot/projects/crypto/sys/modules/sound/driver/emu10kx/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/ufs/Makefile#2 integrate .. //depot/projects/crypto/sys/modules/uipaq/Makefile#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 16 20:15:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 63F0316A407; Fri, 16 Mar 2007 20:15:42 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 22FB216A405 for ; Fri, 16 Mar 2007 20:15:42 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id ECDE213C45A for ; Fri, 16 Mar 2007 20:15:41 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2GKFfRI002748 for ; Fri, 16 Mar 2007 20:15:41 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2GKFfmo002745 for perforce@freebsd.org; Fri, 16 Mar 2007 20:15:41 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 16 Mar 2007 20:15:41 GMT Message-Id: <200703162015.l2GKFfmo002745@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 115997 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, 16 Mar 2007 20:15:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=115997 Change 115997 by gonzo@gonzo_jeeves on 2007/03/16 20:15:19 o Use intr_disable/intr_restore combination instead of intr_disable/intr_enable. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/nexus.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/nexus.c#3 (text+ko) ==== @@ -128,12 +128,12 @@ { int irq; - intr_disable(); + register_t sr = intr_disable(); irq = rman_get_start(res); if(irq > 5) return(0); cpu_establish_hardintr(irq, intr, arg); - intr_enable(); + intr_restore(sr); return (0); } From owner-p4-projects@FreeBSD.ORG Fri Mar 16 20:21:51 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D6F3716A403; Fri, 16 Mar 2007 20:21:50 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A588B16A400 for ; Fri, 16 Mar 2007 20:21:50 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 938E513C465 for ; Fri, 16 Mar 2007 20:21:50 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2GKLowp003675 for ; Fri, 16 Mar 2007 20:21:50 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2GKLoh1003670 for perforce@freebsd.org; Fri, 16 Mar 2007 20:21:50 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 16 Mar 2007 20:21:50 GMT Message-Id: <200703162021.l2GKLoh1003670@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 115999 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, 16 Mar 2007 20:21:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=115999 Change 115999 by gonzo@gonzo_jeeves on 2007/03/16 20:21:23 o Remove unnecessary intr_enable. Interrupts are enabled later, on first thread start. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/autoconf.c#5 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/autoconf.c#5 (text+ko) ==== @@ -94,16 +94,6 @@ void *dummy; { - /* - * Enable interrupts on the processor. The interrupts are still - * disabled in the interrupt controllers until interrupt handlers - * are registered. - */ - /* - * XXMIPS: Check if it's needed. - */ - intr_enable(); - /* initialize new bus architecture */ root_bus_configure(); } @@ -117,5 +107,6 @@ if (bootverbose) printf("Device configuration finished.\n"); + cold = 0; } From owner-p4-projects@FreeBSD.ORG Fri Mar 16 20:35:08 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1901C16A402; Fri, 16 Mar 2007 20:35:08 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CD31816A407 for ; Fri, 16 Mar 2007 20:35:07 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id BAA8313C46E for ; Fri, 16 Mar 2007 20:35:07 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2GKZ7f5006228 for ; Fri, 16 Mar 2007 20:35:07 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2GKZ7Bh006225 for perforce@freebsd.org; Fri, 16 Mar 2007 20:35:07 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 16 Mar 2007 20:35:07 GMT Message-Id: <200703162035.l2GKZ7Bh006225@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 116001 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, 16 Mar 2007 20:35:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=116001 Change 116001 by gonzo@gonzo_jeeves on 2007/03/16 20:34:58 o Interrupts are served ny their own handler - KernelIntr Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/exception.S#19 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#19 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#18 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#19 $ */ /* $NetBSD: mipsX_subr.S,v 1.19 2005/12/11 12:18:09 christos Exp $ */ @@ -166,7 +166,7 @@ _VEND(x) ExceptionHandlerTable: - .dword GenericException /* Int */ + .dword KernIntr /* Int */ .dword GenericException /* TLBMod */ .dword TLBInvalidVector /* TLBL */ .dword TLBInvalidVector /* TLBS */ @@ -303,33 +303,14 @@ #endif /* DDB */ /* - * If this is an interrupt, call cpu_intr() with the arguments: - * trapframe - * - * Otherwise, go to trap(). Trapframe is set to a0 from k1 in the - * BDslot here. - */ - - mfc0 a1, MIPS_COP_0_CAUSE - and k0, a1, MIPS3_CR_EXC_CODE - bnez k0, 1f - move a0, k1 - mtc0 zero, MIPS_COP_0_STATUS - - jal cpu_intr - nop - - b 2f - nop - /* * Call trap() with arguments: * trapframe, cause, badvaddr. * * The trapframe is copied from k1 to a0 in the BDslot above. * Cause is set up above when computing the code. */ -1: + move a0, k1 mfc0 a1, MIPS_COP_0_CAUSE mfc0 a2, MIPS_COP_0_BAD_VADDR mtc0 zero, MIPS_COP_0_STATUS @@ -337,7 +318,6 @@ nop jal trap nop -2: /* * Make sure interrupts are disabled for the purposes of @@ -358,6 +338,60 @@ 3: .asciiz "GenericException" .text +/* + * Kernel interrupt handler. Much similar to GenericException. + */ + +LEAF(KernIntr) + .set noat + + subu sp, sp, TF_SIZE + la k0, 1f + j exception_save_registers + move k1, sp +1: + + /* + * A generic exception may result in DDB being invoked. If we + * are using the kernel debugger, then set up is auxillary + * frame, so it has a full one. + */ +#if DDB + jal save_kdbaux + nop +#endif /* DDB */ + + /* + * Call cpu_intr() with the arguments: + * trapframe + */ + + move a0, k1 + mtc0 zero, MIPS_COP_0_STATUS + COP0_SYNC + + nop + jal cpu_intr + nop + + /* + * Make sure interrupts are disabled for the purposes of + * having a clean go at restoring. + */ + mtc0 zero, MIPS_COP_0_CAUSE + + move k1, sp + jal exception_restore_registers + nop + + addu sp, sp, TF_SIZE + eret + + .set at +END(KernIntr) + .data +3: .asciiz "KernIntr" + .text LEAF(CacheVector) .set noat From owner-p4-projects@FreeBSD.ORG Fri Mar 16 20:52:29 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9C9816A401; Fri, 16 Mar 2007 20:52:29 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 330F816A402 for ; Fri, 16 Mar 2007 20:52:29 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 20BAD13C46E for ; Fri, 16 Mar 2007 20:52:29 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2GKqTUU017471 for ; Fri, 16 Mar 2007 20:52:29 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2GKqS9E017466 for perforce@freebsd.org; Fri, 16 Mar 2007 20:52:28 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 16 Mar 2007 20:52:28 GMT Message-Id: <200703162052.l2GKqS9E017466@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 116002 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, 16 Mar 2007 20:52:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=116002 Change 116002 by gonzo@gonzo_jeeves on 2007/03/16 20:51:48 o Clearly define places where to enable interrupts and where not to: - Interrupts must not be enabled in cpu_throw, so we does not set IE bit in status register in PCB. That's because we have sched_lock aquired right before fork_exit - so no interrupts. - Interrupts must be enabled on sched_lock unlocking in spinlock_exit routine. So we set IE bit and unmask IRQ5(timer) in md_saved_sr field. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#13 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#13 (text+ko) ==== @@ -100,6 +100,13 @@ */ td2->td_pcb->pcb_regs[PCB_REG_SP] = sp; + /* + * DO NOT ENABLE ANY INTERRUPTS HERE: + * after cpu_throw we're supposed to be with sched_lock locked + * and this means - no interrupts enabled. + */ + td2->td_pcb->pcb_regs[PCB_REG_SR] = 0; + /* * Return values for fork syscall for child: * v0 == 0 -> actual return value @@ -110,9 +117,13 @@ td2->td_frame->tf_regs[TF_V1] = 1; td2->td_frame->tf_regs[TF_A3] = 0; - /* Setup to release sched_lock in fork_exit(). */ + /* + * Setup to release sched_lock in fork_exit(). By unlocking + * sched_lock we'll enable interrupts and unmask timer + * interrupt (HW IRQ5) + */ td2->td_md.md_spinlock_count = 1; - td2->td_md.md_saved_sr = td2->td_pcb->pcb_regs[PCB_REG_SR]; + td2->td_md.md_saved_sr = MIPS_SR_INT_IE | (((1 << 5) << 8) << 2); /* * Now cpu_switch() can schedule the new process. @@ -215,11 +226,6 @@ + (KSTACK_PAGES - 1) * PAGE_SIZE) - 1; td->td_frame = (struct trapframe *)td->td_pcb - 1; - /* - * Enable interrupts and unmask timer interrupt (HW IRQ5) - */ - td->td_pcb->pcb_regs[PCB_REG_SR] = MIPS_SR_INT_IE | - (((1 << 5) << 8) << 2); /* Stack pointer. Should be double-word aligned due to EABI */ td->td_pcb->pcb_regs[PCB_REG_SP] = From owner-p4-projects@FreeBSD.ORG Fri Mar 16 20:54:33 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D314616A401; Fri, 16 Mar 2007 20:54:32 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B3F416A405 for ; Fri, 16 Mar 2007 20:54:32 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6907E13C469 for ; Fri, 16 Mar 2007 20:54:32 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2GKsWbk018017 for ; Fri, 16 Mar 2007 20:54:32 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2GKsWmd018014 for perforce@freebsd.org; Fri, 16 Mar 2007 20:54:32 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 16 Mar 2007 20:54:32 GMT Message-Id: <200703162054.l2GKsWmd018014@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 116003 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, 16 Mar 2007 20:54:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=116003 Change 116003 by gonzo@gonzo_jeeves on 2007/03/16 20:53:43 o Define FLT_ROUNDS to -1, just like in arm port. __flt_rounds relies on FPU coprocessor - not implemented on the moment. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/float.h#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/float.h#3 (text+ko) ==== @@ -40,7 +40,7 @@ __END_DECLS #define FLT_RADIX 2 /* b */ -#define FLT_ROUNDS __flt_rounds() +#define FLT_ROUNDS -1 #if __ISO_C_VISIBLE >= 1999 #define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */ #define DECIMAL_DIG 21 /* max precision in decimal digits */ From owner-p4-projects@FreeBSD.ORG Sat Mar 17 12:22:59 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8DF5D16A406; Sat, 17 Mar 2007 12:22:59 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3273E16A402 for ; Sat, 17 Mar 2007 12:22:59 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2365C13C489 for ; Sat, 17 Mar 2007 12:22:59 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2HCMxML023130 for ; Sat, 17 Mar 2007 12:22:59 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2HCMw5p023127 for perforce@freebsd.org; Sat, 17 Mar 2007 12:22:58 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 17 Mar 2007 12:22:58 GMT Message-Id: <200703171222.l2HCMw5p023127@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 116021 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: Sat, 17 Mar 2007 12:22:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=116021 Change 116021 by gonzo@gonzo_jeeves on 2007/03/17 12:22:28 o Add MIPS specific fields to Struct_Obj_Entry. Obtained from: NetBSD Affected files ... .. //depot/projects/mips2/src/libexec/rtld-elf/rtld.h#2 edit Differences ... ==== //depot/projects/mips2/src/libexec/rtld-elf/rtld.h#2 (text+ko) ==== @@ -178,6 +178,11 @@ const Elf_Sym *symtab; /* Symbol table */ const char *strtab; /* String table */ unsigned long strsize; /* Size in bytes of string table */ +#ifdef __mips__ + Elf_Word local_gotno; /* Number of local GOT entries */ + Elf_Word symtabno; /* Number of dynamic symbols */ + Elf_Word gotsym; /* First dynamic symbol in GOT */ +#endif const Elf_Verneed *verneed; /* Required versions. */ Elf_Word verneednum; /* Number of entries in verneed table */ From owner-p4-projects@FreeBSD.ORG Sat Mar 17 12:33:12 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 736E516A402; Sat, 17 Mar 2007 12:33:12 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4D83616A400 for ; Sat, 17 Mar 2007 12:33:12 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2585D13C48A for ; Sat, 17 Mar 2007 12:33:12 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2HCXCwS025020 for ; Sat, 17 Mar 2007 12:33:12 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2HCXBKM025015 for perforce@freebsd.org; Sat, 17 Mar 2007 12:33:11 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 17 Mar 2007 12:33:11 GMT Message-Id: <200703171233.l2HCXBKM025015@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 116022 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: Sat, 17 Mar 2007 12:33:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=116022 Change 116022 by gonzo@gonzo_jeeves on 2007/03/17 12:32:45 o Add handling for MIPS-specific tags in DYNAMIC section. Obtained from: NetBSD o Handle TLS just like ARM does Affected files ... .. //depot/projects/mips2/src/libexec/rtld-elf/rtld.c#2 edit Differences ... ==== //depot/projects/mips2/src/libexec/rtld-elf/rtld.c#2 (text+ko) ==== @@ -706,12 +706,19 @@ obj->fini = (Elf_Addr) (obj->relocbase + dynp->d_un.d_ptr); break; + /* + * Don't process DT_DEBUG on MIPS as the dynamic section + * is mapped read-only. DT_MIPS_RLD_MAP is used instead. + */ + +#ifndef __mips__ case DT_DEBUG: /* XXX - not implemented yet */ if (!early) dbg("Filling in DT_DEBUG entry"); ((Elf_Dyn*)dynp)->d_un.d_ptr = (Elf_Addr) &r_debug; break; +#endif case DT_FLAGS: if (dynp->d_un.d_val & DF_ORIGIN) { @@ -728,6 +735,25 @@ if (dynp->d_un.d_val & DF_STATIC_TLS) ; break; +#ifdef __mips__ + case DT_MIPS_LOCAL_GOTNO: + obj->local_gotno = dynp->d_un.d_val; + break; + + case DT_MIPS_SYMTABNO: + obj->symtabno = dynp->d_un.d_val; + break; + + case DT_MIPS_GOTSYM: + obj->gotsym = dynp->d_un.d_val; + break; + + case DT_MIPS_RLD_MAP: + if (!early) + dbg("Filling in DT_DEBUG entry"); + ((Elf_Dyn*)dynp)->d_un.d_ptr = (Elf_Addr) &r_debug; + break; +#endif default: if (!early) { @@ -1098,7 +1124,10 @@ objtmp.dynamic = rtld_dynamic(&objtmp); digest_dynamic(&objtmp, 1); assert(objtmp.needed == NULL); +#if !defined(__mips__) + /* MIPS and SH{3,5} have a bogus DT_TEXTREL. */ assert(!objtmp.textrel); +#endif /* * Temporarily put the dynamic linker entry into the object list, so @@ -2406,11 +2435,14 @@ continue; /* fallthrough */ case STT_TLS: - if (symp->st_shndx != SHN_UNDEF || - ((flags & SYMLOOK_IN_PLT) == 0 && - ELF_ST_TYPE(symp->st_info) == STT_FUNC)) + if (symp->st_shndx != SHN_UNDEF) + break; +#ifndef __mips__ + else if (((flags & SYMLOOK_IN_PLT) == 0) && + (ELF_ST_TYPE(symp->st_info) == STT_FUNC)) break; /* fallthrough */ +#endif default: continue; } @@ -2786,7 +2818,7 @@ #endif #if defined(__i386__) || defined(__amd64__) || defined(__sparc64__) || \ - defined(__arm__) + defined(__arm__) || defined(__mips__) /* * Allocate Static TLS using the Variant II method. @@ -2951,7 +2983,7 @@ free_tls_offset(Obj_Entry *obj) { #if defined(__i386__) || defined(__amd64__) || defined(__sparc64__) || \ - defined(__arm__) + defined(__arm__) || defined(__mips__) /* * If we were the last thing to allocate out of the static TLS * block, we give our space back to the 'allocator'. This is a From owner-p4-projects@FreeBSD.ORG Sat Mar 17 12:42:24 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 43F6B16A40B; Sat, 17 Mar 2007 12:42:24 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1AE7B16A400 for ; Sat, 17 Mar 2007 12:42:24 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id F30DB13C44C for ; Sat, 17 Mar 2007 12:42:23 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2HCgNc5026667 for ; Sat, 17 Mar 2007 12:42:23 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2HCgNVc026664 for perforce@freebsd.org; Sat, 17 Mar 2007 12:42:23 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 17 Mar 2007 12:42:23 GMT Message-Id: <200703171242.l2HCgNVc026664@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 116023 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: Sat, 17 Mar 2007 12:42:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=116023 Change 116023 by gonzo@gonzo_jeeves on 2007/03/17 12:42:06 o Put together rtld magic both low-level and high-level. Obtained from: NetBSD Affected files ... .. //depot/projects/mips2/src/libexec/rtld-elf/mips/reloc.c#2 edit .. //depot/projects/mips2/src/libexec/rtld-elf/mips/rtld_start.S#2 edit Differences ... ==== //depot/projects/mips2/src/libexec/rtld-elf/mips/reloc.c#2 (text+ko) ==== @@ -17,56 +17,15 @@ init_pltgot(Obj_Entry *obj) { if (obj->pltgot != NULL) { - obj->pltgot[1] = (Elf_Addr) obj; - obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start; + obj->pltgot[0] = (Elf_Addr) &_rtld_bind_start; + obj->pltgot[1] |= (Elf_Addr) obj; } } int do_copy_relocations(Obj_Entry *dstobj) { - assert(NULL); -#if 0 - const Elf_Rel *rellim; - const Elf_Rel *rel; - - assert(dstobj->mainprog); /* COPY relocations are invalid elsewhere */ - - rellim = (const Elf_Rel *) ((caddr_t) dstobj->rel + dstobj->relsize); - for (rel = dstobj->rel; rel < rellim; rel++) { - if (ELF_R_TYPE(rel->r_info) == R_ARM_COPY) { - void *dstaddr; - const Elf_Sym *dstsym; - const char *name; - unsigned long hash; - size_t size; - const void *srcaddr; - const Elf_Sym *srcsym; - Obj_Entry *srcobj; - const Ver_Entry *ve; - - dstaddr = (void *) (dstobj->relocbase + rel->r_offset); - dstsym = dstobj->symtab + ELF_R_SYM(rel->r_info); - name = dstobj->strtab + dstsym->st_name; - hash = elf_hash(name); - size = dstsym->st_size; - ve = fetch_ventry(dstobj, ELF_R_SYM(rel->r_info)); - - for (srcobj = dstobj->next; srcobj != NULL; srcobj = srcobj->next) - if ((srcsym = symlook_obj(name, hash, srcobj, ve, 0)) != NULL) - break; - - if (srcobj == NULL) { - _rtld_error("Undefined symbol \"%s\" referenced from COPY" - " relocation in %s", name, dstobj->path); - return -1; - } - - srcaddr = (const void *) (srcobj->relocbase + srcsym->st_value); - memcpy(dstaddr, srcaddr, size); - } - } -#endif + /* Do nothing */ return 0; } @@ -75,13 +34,34 @@ int open(); int _open(); + +static __inline Elf_Addr +load_ptr(void *where) +{ + Elf_Addr res; + + memcpy(&res, where, sizeof(res)); + + return (res); +} + +void +store_ptr(void *where, Elf_Addr val) +{ + + memcpy(where, &val, sizeof(val)); +} + void _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) { const Elf_Rel *rel = 0, *rellim; Elf_Addr relsz = 0; + const Elf_Sym *symtab = NULL, *sym; Elf_Addr *where; - uint32_t size; + Elf_Addr *got = NULL; + Elf_Word local_gotno = 0, symtabno = 0, gotsym = 0; + int i; for (; dynp->d_tag != DT_NULL; dynp++) { switch (dynp->d_tag) { @@ -91,16 +71,87 @@ case DT_RELSZ: relsz = dynp->d_un.d_val; break; + case DT_SYMTAB: + symtab = (const Elf_Sym *)(relocbase + dynp->d_un.d_ptr); + break; + case DT_PLTGOT: + got = (Elf_Addr *)(relocbase + dynp->d_un.d_ptr); + break; + case DT_MIPS_LOCAL_GOTNO: + local_gotno = dynp->d_un.d_val; + break; + case DT_MIPS_SYMTABNO: + symtabno = dynp->d_un.d_val; + break; + case DT_MIPS_GOTSYM: + gotsym = dynp->d_un.d_val; + break; } } + + i = (got[1] & 0x80000000) ? 2 : 1; + /* Relocate the local GOT entries */ + got += i; + + for (; i < local_gotno; i++) + *got++ += relocbase; + + sym = symtab + gotsym; + + /* Now do the global GOT entries */ + for (i = gotsym; i < symtabno; i++) { + *got = sym->st_value + relocbase; + ++sym; + ++got; + } + rellim = (const Elf_Rel *)((caddr_t)rel + relsz); - size = (rellim - 1)->r_offset - rel->r_offset; for (; rel < rellim; rel++) { - where = (Elf_Addr *)(relocbase + rel->r_offset); - - *where += (Elf_Addr)relocbase; + where = (void *)(relocbase + rel->r_offset); + + switch (ELF_R_TYPE(rel->r_info)) { + case R_TYPE(NONE): + break; + + case R_TYPE(REL32): + assert(ELF_R_SYM(rel->r_info) < gotsym); + sym = symtab + ELF_R_SYM(rel->r_info); + assert(ELF_ST_BIND(sym->st_info) == STB_LOCAL); + if(load_ptr(where) + relocbase == 0x6008ed78) { + assert(where); + } + store_ptr(where, load_ptr(where) + relocbase); + break; + + default: + abort(); + break; + } } } + +Elf_Addr +_mips_rtld_bind(Obj_Entry *obj, Elf_Size reloff) +{ + Elf_Addr *got = obj->pltgot; + const Elf_Sym *def; + const Obj_Entry *defobj; + Elf_Addr target; + + def = find_symdef(reloff, obj, &defobj, SYMLOOK_IN_PLT, NULL); + if (def == NULL) + _rtld_error("bind failed no symbol"); + + target = (Elf_Addr)(defobj->relocbase + def->st_value); + dbg("bind now/fixup at %s sym # %d in %s --> was=%p new=%p", + obj->path, + reloff, defobj->strtab + def->st_name, + (void *)got[obj->local_gotno + reloff - obj->gotsym], + (void *)target); + got[obj->local_gotno + reloff - obj->gotsym] = target; + return (Elf_Addr)target; +} + /* * It is possible for the compiler to emit relocations for unaligned data. * We handle this situation with these inlines. @@ -108,122 +159,92 @@ #define RELOC_ALIGNED_P(x) \ (((uintptr_t)(x) & (sizeof(void *) - 1)) == 0) -static __inline Elf_Addr -load_ptr(void *where) +/* + * Process non-PLT relocations + */ +int +reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld) { - Elf_Addr res; + const Elf_Rel *rel; + const Elf_Rel *rellim; + Elf_Addr *got = obj->pltgot; + const Elf_Sym *sym, *def; + const Obj_Entry *defobj; + int i; - memcpy(&res, where, sizeof(res)); + /* The relocation for the dynamic loader has already been done. */ + if (obj == obj_rtld) + return (0); - return (res); -} + i = (got[1] & 0x80000000) ? 2 : 1; -static __inline void -store_ptr(void *where, Elf_Addr val) -{ + /* Relocate the local GOT entries */ + got += i; + for (; i < obj->local_gotno; i++) + *got++ += (Elf_Addr)obj->relocbase; + sym = obj->symtab + obj->gotsym; - memcpy(where, &val, sizeof(val)); -} + /* Now do the global GOT entries */ + for (i = obj->gotsym; i < obj->symtabno; i++) { + dbg(" doing got %d sym %p (%s, %x)", i - obj->gotsym, sym, + sym->st_name + obj->strtab, *got); -static int -reloc_nonplt_object(Obj_Entry *obj, const Elf_Rel *rel, SymCache *cache) -{ - assert(NULL); -#if 0 - Elf_Addr *where; - const Elf_Sym *def; - const Obj_Entry *defobj; - Elf_Addr tmp; - unsigned long symnum; + if (ELF_ST_TYPE(sym->st_info) == STT_FUNC && + sym->st_value != 0 && sym->st_shndx == SHN_UNDEF) { + /* + * If there are non-PLT references to the function, + * st_value should be 0, forcing us to resolve the + * address immediately. + * + * XXX DANGER WILL ROBINSON! + * The linker is not outputting PLT slots for calls to + * functions that are defined in the same shared + * library. This is a bug, because it can screw up + * link ordering rules if the symbol is defined in + * more than one module. For now, if there is a + * definition, we fail the test above and force a full + * symbol lookup. This means that all intra-module + * calls are bound immediately. - mycroft, 2003/09/24 + */ + *got = sym->st_value + (Elf_Addr)obj->relocbase; + } else if (sym->st_info == ELF_ST_INFO(STB_GLOBAL, STT_SECTION)) { + /* Symbols with index SHN_ABS are not relocated. */ + if (sym->st_shndx != SHN_ABS) + *got = sym->st_value + + (Elf_Addr)obj->relocbase; + } else { + /* TODO: add cache here */ + def = find_symdef(i, obj, &defobj, false, NULL); + if (def == NULL) + return -1; + *got = def->st_value + (Elf_Addr)defobj->relocbase; + } - where = (Elf_Addr *)(obj->relocbase + rel->r_offset); - symnum = ELF_R_SYM(rel->r_info); + dbg(" --> now %x", *got); + ++sym; + ++got; + } - assert(NULL); - switch (ELF_R_TYPE(rel->r_info)) { - case R_MIPS_NONE: - break; - - case R_ARM_PC24: { /* word32 S - P + A */ - Elf32_Sword addend; - - /* - * Extract addend and sign-extend if needed. - */ - addend = *where; - if (addend & 0x00800000) - addend |= 0xff000000; - - def = find_symdef(symnum, obj, &defobj, false, cache); - if (def == NULL) - return -1; - tmp = (Elf_Addr)obj->relocbase + def->st_value - - (Elf_Addr)where + (addend << 2); - if ((tmp & 0xfe000000) != 0xfe000000 && - (tmp & 0xfe000000) != 0) { - _rtld_error( - "%s: R_ARM_PC24 relocation @ %p to %s failed " - "(displacement %ld (%#lx) out of range)", - obj->path, where, - obj->strtab + obj->symtab[symnum].st_name, - (long) tmp, (long) tmp); - return -1; - } - tmp >>= 2; - *where = (*where & 0xff000000) | (tmp & 0x00ffffff); - dbg("PC24 %s in %s --> %p @ %p in %s", - obj->strtab + obj->symtab[symnum].st_name, - obj->path, (void *)*where, where, defobj->path); - break; - } + got = obj->pltgot; + rellim = (const Elf_Rel *)((caddr_t)obj->rel + obj->relsize); + for (rel = obj->rel; rel < rellim; rel++) { + void *where; + Elf_Addr tmp; + unsigned long symnum; - case R_ARM_ABS32: /* word32 B + S + A */ - case R_ARM_GLOB_DAT: /* word32 B + S */ - def = find_symdef(symnum, obj, &defobj, false, cache); - if (def == NULL) - return -1; - if (__predict_true(RELOC_ALIGNED_P(where))) { - tmp = *where + (Elf_Addr)defobj->relocbase + - def->st_value; - *where = tmp; - } else { - tmp = load_ptr(where) + - (Elf_Addr)defobj->relocbase + - def->st_value; - store_ptr(where, tmp); - } - dbg("ABS32/GLOB_DAT %s in %s --> %p @ %p in %s", - obj->strtab + obj->symtab[symnum].st_name, - obj->path, (void *)tmp, where, defobj->path); - break; + where = obj->relocbase + rel->r_offset; + symnum = ELF_R_SYM(rel->r_info); - case R_ARM_RELATIVE: /* word32 B + A */ - if (__predict_true(RELOC_ALIGNED_P(where))) { - tmp = *where + (Elf_Addr)obj->relocbase; - *where = tmp; - } else { - tmp = load_ptr(where) + - (Elf_Addr)obj->relocbase; - store_ptr(where, tmp); - } - dbg("RELATIVE in %s --> %p", obj->path, - (void *)tmp); + switch (ELF_R_TYPE(rel->r_info)) { + case R_TYPE(NONE): break; - case R_ARM_COPY: - /* - * These are deferred until all other relocations have - * been done. All we do here is make sure that the - * COPY relocation is not in a shared library. They - * are allowed only in executable files. - */ - if (!obj->mainprog) { - _rtld_error( - "%s: Unexpected R_COPY relocation in shared library", - obj->path); - return -1; - } - dbg("COPY (avoid in main)"); + case R_TYPE(REL32): + /* 32-bit PC-relative reference */ + def = obj->symtab + symnum; + tmp = load_ptr(where); + tmp += (Elf_Addr)obj->relocbase; + store_ptr(where, tmp); break; default: @@ -236,52 +257,16 @@ "in non-PLT relocations\n", obj->path, (u_long) ELF_R_TYPE(rel->r_info)); return -1; - default: + } } -#endif + return 0; } /* - * * Process non-PLT relocations - * */ + * Process the PLT relocations. + */ int -reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld) -{ - const Elf_Rel *rellim; - const Elf_Rel *rel; - SymCache *cache; - int bytes = obj->nchains * sizeof(SymCache); - int r = -1; - - /* The relocation for the dynamic loader has already been done. */ - if (obj == obj_rtld) - return (0); - /* - * The dynamic loader may be called from a thread, we have - * limited amounts of stack available so we cannot use alloca(). - */ - cache = mmap(NULL, bytes, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0); - if (cache == MAP_FAILED) - cache = NULL; - - rellim = (const Elf_Rel *)((caddr_t)obj->rel + obj->relsize); - for (rel = obj->rel; rel < rellim; rel++) { - if (reloc_nonplt_object(obj, rel, cache) < 0) - goto done; - } - r = 0; -done: - if (cache) { - munmap(cache, bytes); - } - return (r); -} - -/* - * * Process the PLT relocations. - * */ -int reloc_plt(Obj_Entry *obj) { const Elf_Rel *rellim; @@ -291,10 +276,6 @@ obj->pltrelsize); for (rel = obj->pltrel; rel < rellim; rel++) { Elf_Addr *where; - - assert(NULL); - /* assert(ELF_R_TYPE(rel->r_info) == R_ARM_JUMP_SLOT); */ - where = (Elf_Addr *)(obj->relocbase + rel->r_offset); *where += (Elf_Addr )obj->relocbase; } @@ -303,39 +284,13 @@ } /* - * * LD_BIND_NOW was set - force relocation for all jump slots - * */ + * LD_BIND_NOW was set - force relocation for all jump slots + */ int reloc_jmpslots(Obj_Entry *obj) { - assert(NULL); -#if 0 - const Obj_Entry *defobj; - const Elf_Rel *rellim; - const Elf_Rel *rel; - const Elf_Sym *def; - Elf_Addr *where; - Elf_Addr target; - - rellim = (const Elf_Rel *)((char *)obj->pltrel + obj->pltrelsize); - for (rel = obj->pltrel; rel < rellim; rel++) { - assert(NULL); - assert(ELF_R_TYPE(rel->r_info) == R_ARM_JUMP_SLOT); - where = (Elf_Addr *)(obj->relocbase + rel->r_offset); - def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj, - true, NULL); - if (def == NULL) { - dbg("reloc_jmpslots: sym not found"); - return (-1); - } - - target = (Elf_Addr)(defobj->relocbase + def->st_value); - reloc_jmpslot(where, target, defobj, obj, - (const Elf_Rel *) rel); - } - + /* Do nothing */ obj->jmpslots_done = true; -#endif return (0); } @@ -345,14 +300,8 @@ const Obj_Entry *obj, const Elf_Rel *rel) { - assert(NULL); -#if 0 - assert(ELF_R_TYPE(rel->r_info) == R_ARM_JUMP_SLOT); - - if (*where != target) - *where = target; + /* Do nothing */ -#endif return target; } ==== //depot/projects/mips2/src/libexec/rtld-elf/mips/rtld_start.S#2 (text+ko) ==== @@ -34,6 +34,7 @@ .globl _C_LABEL(_rtld) LEAF(rtld_start) + .abicalls .set noreorder .cpload t9 @@ -46,50 +47,66 @@ la a1, 1f bal 1f + nop +1: subu a1, ra, a1 # relocbase la t9,_C_LABEL(_rtld_relocate_nonplt_self) -1: subu a1, ra, a1 # relocbase move s2,a1 la a0,_DYNAMIC addu t9, a1, t9 jalr t9 - addu a0, a1, a0 # &_DYNAMIC + addu a0, a1, a0 # &_DYNAMIC + - move a1,s2 # relocbase - addu a0, sp, 4 # sp - jal _C_LABEL(_rtld) # v0 = _rtld(sp, relocbase) - nop + addu a0, sp, 12 # sp + addu a1, sp, 4 # &exit_proc + addu a2, sp, 8 # &objp + addu sp, sp, -16 # arguments slot + jal _C_LABEL(_rtld) # v0 = _rtld(sp, exit_proc, objp) + nop + addu sp, sp, 16 # - lw a1, 4(sp) # our atexit function - lw a2, 8(sp) # obj_main entry + lw a0, 4(sp) # our atexit function + lw a1, 8(sp) # obj_main entry addu sp, sp,12 # readjust stack - move a0,s0 # stack pointer move t9,v0 + move a2,s1 # restore ps_strings jr t9 # _start(sp, cleanup, obj); - move a3,s1 # restore ps_strings + nop END(rtld_start) .globl _rtld_bind_start .ent _rtld_bind_start _rtld_bind_start: + # ABI conventions for stubs + # t8 contains symbol index + # t7 contains return address + .frame sp, 0, ra # satisfy compiler move v1,gp # save old GP add t9,8 # modify T9 to point at .cpload .cpload t9 subu sp,44 # save arguments and sp value in stack .cprestore 36 - sw a7,40(sp) sw a0,16(sp) sw a1,20(sp) sw a2,24(sp) sw a3,28(sp) sw s0,32(sp) + sw t7,40(sp) move s0,sp - move a0,t8 # symbol index - move a1,a7 # old RA - move a2,v1 # old GP - move a3,ra # current RA - jal _C_LABEL(_rtld_bind) + move a0,v1 # old GP + subu a0,a0,0x7ff0 # The offset of $gp from the + # beginning of the .got section: + # $gp = .got + 0x7ff0, so + # .got = $gp - 0x7ff0 + # Simple math as you can see. + + lw a0,4(a0) # object = pltgot[1] & 0x7fffffff + and a0,a0,0x7fffffff + move a1,t8 # symbol index + + jal _C_LABEL(_mips_rtld_bind) nop move sp,s0 lw ra,40(sp) From owner-p4-projects@FreeBSD.ORG Sat Mar 17 12:56:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 296A116A404; Sat, 17 Mar 2007 12:56:42 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DC29A16A401 for ; Sat, 17 Mar 2007 12:56:41 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CCC9313C484 for ; Sat, 17 Mar 2007 12:56:41 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2HCufD2037161 for ; Sat, 17 Mar 2007 12:56:41 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2HCuf8c037158 for perforce@freebsd.org; Sat, 17 Mar 2007 12:56:41 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 17 Mar 2007 12:56:41 GMT Message-Id: <200703171256.l2HCuf8c037158@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 116024 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: Sat, 17 Mar 2007 12:56:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=116024 Change 116024 by gonzo@gonzo_jeeves on 2007/03/17 12:55:40 o Do not compile FPU-related files, though leave 'em in repo till we get device with FPU to play with. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/gen/Makefile.inc#3 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/gen/Makefile.inc#3 (text+ko) ==== @@ -2,7 +2,7 @@ SRCS+= infinity.c fabs.S ldexp.S modf.S -SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \ - fpsetround.c fpsetsticky.c +# SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \ +# fpsetround.c fpsetsticky.c SRCS+= _set_tp.c _setjmp.S makecontext.c setjmp.S signalcontext.c sigsetjmp.S From owner-p4-projects@FreeBSD.ORG Sat Mar 17 13:52:52 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 830DA16A404; Sat, 17 Mar 2007 13:52:52 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5997516A401 for ; Sat, 17 Mar 2007 13:52:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3240E13C45B for ; Sat, 17 Mar 2007 13:52:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2HDqqpQ050397 for ; Sat, 17 Mar 2007 13:52:52 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2HDqpFn050392 for perforce@freebsd.org; Sat, 17 Mar 2007 13:52:51 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 17 Mar 2007 13:52:51 GMT Message-Id: <200703171352.l2HDqpFn050392@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 116026 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: Sat, 17 Mar 2007 13:52:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=116026 Change 116026 by gonzo@gonzo_jeeves on 2007/03/17 13:52:19 o Does not handle DT_MIPS_RLD_MAP on the moment - looks like rtld tries to write to R/O section without mprotect call. Affected files ... .. //depot/projects/mips2/src/libexec/rtld-elf/rtld.c#3 edit Differences ... ==== //depot/projects/mips2/src/libexec/rtld-elf/rtld.c#3 (text+ko) ==== @@ -749,9 +749,11 @@ break; case DT_MIPS_RLD_MAP: +#ifdef notyet if (!early) dbg("Filling in DT_DEBUG entry"); ((Elf_Dyn*)dynp)->d_un.d_ptr = (Elf_Addr) &r_debug; +#endif break; #endif From owner-p4-projects@FreeBSD.ORG Sat Mar 17 14:10:15 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0892416A404; Sat, 17 Mar 2007 14:10:15 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CF07316A402 for ; Sat, 17 Mar 2007 14:10:14 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id BF8B113C4B9 for ; Sat, 17 Mar 2007 14:10:14 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2HEAEVa053792 for ; Sat, 17 Mar 2007 14:10:14 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2HEAE9U053788 for perforce@freebsd.org; Sat, 17 Mar 2007 14:10:14 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 17 Mar 2007 14:10:14 GMT Message-Id: <200703171410.l2HEAE9U053788@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 116027 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: Sat, 17 Mar 2007 14:10:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=116027 Change 116027 by gonzo@gonzo_jeeves on 2007/03/17 14:09:44 o Back to the wonderful world of prefaulting: by clearing write permissions in pmap_enter_quick we ensure that COW will be performed. Suggested by: alc Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#22 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#22 (text+ko) ==== @@ -1334,7 +1334,8 @@ pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot) { - pmap_enter(pmap, va, m, prot, FALSE); + pmap_enter(pmap, va, m, prot & (VM_PROT_READ | VM_PROT_EXECUTE), + FALSE); } /* @@ -1663,11 +1664,14 @@ boolean_t pmap_is_prefaultable(pmap_t pmap, vm_offset_t va) { - /* - * XXX: prefault causes bugs with COW, so let's stick - * with all pages not eligible to prefault. - */ - return (FALSE); + pt_entry_t *pte; + + pte = pmap_pte(pmap, va); + + if ((pte != NULL) && pte_valid(pte)) + return (FALSE); + + return (TRUE); } /* From owner-p4-projects@FreeBSD.ORG Sat Mar 17 14:45:01 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1838316A408; Sat, 17 Mar 2007 14:45:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CCA2616A400 for ; Sat, 17 Mar 2007 14:45:00 +0000 (UTC) (envelope-from gonzo@freebsd.org) Received: from expo.ukrweb.net (expo.ukrweb.net [193.125.78.116]) by mx1.freebsd.org (Postfix) with ESMTP id 7815E13C4C2 for ; Sat, 17 Mar 2007 14:45:00 +0000 (UTC) (envelope-from gonzo@freebsd.org) Received: from gonzo by expo.ukrweb.net with local (Exim 4.52 (FreeBSD)) id 1HSZax-0008Po-Sa; Sat, 17 Mar 2007 16:09:19 +0200 Date: Sat, 17 Mar 2007 16:09:19 +0200 From: Oleksandr Tymoshenko To: Alan Cox Message-ID: <20070317140919.GA32038@univ.kiev.ua> References: <200703142057.l2EKv05Y038529@repoman.freebsd.org> <45F97E98.7060106@cs.rice.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45F97E98.7060106@cs.rice.edu> X-Operating-System: FreeBSD/5.4-RELEASE-p6 (i386) User-Agent: Mutt/1.5.6i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 115881 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: Sat, 17 Mar 2007 14:45:01 -0000 Alan Cox (alc@cs.rice.edu) wrote: > Oleksandr Tymoshenko wrote: > > >http://perforce.freebsd.org/chv.cgi?CH=115881 > > > >Change 115881 by gonzo@gonzo_jeeves on 2007/03/14 20:56:39 .. skipped .. > > > > vm_fault_prefault() calls pmap_enter_quick(), not pmap_enter(). > However, some implementations of pmap_enter_quick() are little more than > a call to pmap_enter(). These implementations remove write access from > the allowed access permissions. The sparc64 implementation below is > representative: .. skipped ... > Thanks for pointing out! It did the trick. -- gonzo From owner-p4-projects@FreeBSD.ORG Sat Mar 17 16:03:41 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F3DA916A40D; Sat, 17 Mar 2007 16:03:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ABFA516A407 for ; Sat, 17 Mar 2007 16:03:40 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9845713C4BF for ; Sat, 17 Mar 2007 16:03:40 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2HG3e46075508 for ; Sat, 17 Mar 2007 16:03:40 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2HG3YsH075492 for perforce@freebsd.org; Sat, 17 Mar 2007 16:03:34 GMT (envelope-from netchild@freebsd.org) Date: Sat, 17 Mar 2007 16:03:34 GMT Message-Id: <200703171603.l2HG3YsH075492@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 116028 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: Sat, 17 Mar 2007 16:03:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=116028 Change 116028 by netchild@netchild_magellan on 2007/03/17 16:03:00 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/linuxolator/src/sys/amd64/include/specialreg.h#3 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425.c#4 integrate .. //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/loader_prompt.c#3 integrate .. //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/Makefile#4 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/boot.s#2 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/boot0.5.s#2 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/disk.s#2 integrate .. //depot/projects/linuxolator/src/sys/cam/cam_xpt.c#8 integrate .. //depot/projects/linuxolator/src/sys/coda/coda_vnops.c#3 integrate .. //depot/projects/linuxolator/src/sys/conf/NOTES#20 integrate .. //depot/projects/linuxolator/src/sys/conf/files#23 integrate .. //depot/projects/linuxolator/src/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/ata-queue.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/atapi-cam.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/bge/if_bge.c#16 integrate .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_ael1002.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_common.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_firmware_exports.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_mc5.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_regs.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_sge_defs.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_t3_hw.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_tcb.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_version.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_vsc8211.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/common/cxgb_xgmac.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_adapter.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_config.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_ioctl.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_lro.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_main.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_osdep.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/cxgb_sge.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/cxgb/t3fw-3.2.bin.gz.uu#1 branch .. //depot/projects/linuxolator/src/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/firewirereg.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwdev.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwmem.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwohci.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwohci_pci.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/fwohcivar.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/if_fwe.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/if_fwip.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/sbp.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/sbp_targ.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ichwd/ichwd.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#12 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.h#10 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#14 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_sbus.c#8 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/isa/ad1816.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/isa/mss.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/isa/sbc.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/midi/midi.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/midi/sequencer.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/als4000.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/atiixp.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/cmi.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/ds1.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10k1.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10kx-pcm.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/envy24.c#7 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/envy24ht.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/es137x.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/hda/hdac.c#16 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/ich.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/maestro.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/maestro3.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/solo.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/t4dwave.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/via8233.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pci/via82c686.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/ac97.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/buffer.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/channel.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/channel_if.m#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/dsp.c#8 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/fake.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder_fmt.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder_volume.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/sndstat.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/sound.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/sound.h#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/pcm/vchan.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/sbus/cs4231.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/sound/usb/uaudio_pcm.c#4 integrate .. //depot/projects/linuxolator/src/sys/fs/cd9660/cd9660_vfsops.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/linuxolator/src/sys/fs/fdescfs/fdesc_vnops.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/hpfs/hpfs_vfsops.c#4 integrate .. //depot/projects/linuxolator/src/sys/fs/msdosfs/msdosfs_denode.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/ntfs/ntfs_vfsops.c#5 integrate .. //depot/projects/linuxolator/src/sys/fs/nullfs/null_subr.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/portalfs/portal_vfsops.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/pseudofs/pseudofs_vncache.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/smbfs/smbfs_node.c#3 integrate .. //depot/projects/linuxolator/src/sys/fs/udf/udf_vfsops.c#6 integrate .. //depot/projects/linuxolator/src/sys/fs/umapfs/umap_subr.c#2 integrate .. //depot/projects/linuxolator/src/sys/fs/unionfs/union_subr.c#5 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#6 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/reiserfs/reiserfs_inode.c#2 integrate .. //depot/projects/linuxolator/src/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#2 integrate .. //depot/projects/linuxolator/src/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/identcpu.c#4 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/pmap.c#9 integrate .. //depot/projects/linuxolator/src/sys/i386/include/specialreg.h#3 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_descrip.c#8 integrate .. //depot/projects/linuxolator/src/sys/kern/kern_rwlock.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_mqueue.c#6 integrate .. //depot/projects/linuxolator/src/sys/kern/uipc_socket.c#14 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_mount.c#10 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_subr.c#9 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_syscalls.c#10 integrate .. //depot/projects/linuxolator/src/sys/modules/Makefile#10 integrate .. //depot/projects/linuxolator/src/sys/modules/cxgb/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/net/bridgestp.c#11 integrate .. //depot/projects/linuxolator/src/sys/net/if_bridge.c#13 integrate .. //depot/projects/linuxolator/src/sys/net/if_vlan.c#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/ip_mroute.c#11 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp.h#2 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_asconf.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_asconf.h#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_auth.c#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_auth.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_bsd_addr.c#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_bsd_addr.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_constants.h#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_header.h#2 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_indata.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_input.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_lock_bsd.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_os.h#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_os_bsd.h#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_output.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_output.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_pcb.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_pcb.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_peeloff.c#5 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_structs.h#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_sysctl.c#1 branch .. //depot/projects/linuxolator/src/sys/netinet/sctp_sysctl.h#1 branch .. //depot/projects/linuxolator/src/sys/netinet/sctp_timer.c#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_uio.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_usrreq.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctp_var.h#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctputil.c#8 integrate .. //depot/projects/linuxolator/src/sys/netinet/sctputil.h#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp.h#3 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_input.c#11 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_output.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_subr.c#7 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_syncache.c#6 integrate .. //depot/projects/linuxolator/src/sys/netinet/tcp_var.h#5 integrate .. //depot/projects/linuxolator/src/sys/netinet6/sctp6_usrreq.c#8 integrate .. //depot/projects/linuxolator/src/sys/nfsclient/nfs_node.c#5 integrate .. //depot/projects/linuxolator/src/sys/sys/acl.h#2 integrate .. //depot/projects/linuxolator/src/sys/sys/extattr.h#4 integrate .. //depot/projects/linuxolator/src/sys/sys/ucred.h#2 integrate .. //depot/projects/linuxolator/src/sys/sys/vnode.h#6 integrate .. //depot/projects/linuxolator/src/sys/ufs/ffs/ffs_vfsops.c#8 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/quota.h#3 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_quota.c#9 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_vnops.c#10 integrate Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/amd64/identcpu.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.149 2007/01/09 19:23:21 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.150 2007/03/12 20:27:21 jkim Exp $"); #include "opt_cpu.h" @@ -312,7 +312,7 @@ "\006" "\007" "\010" - "\011" + "\011Prefetch" /* 3DNow! Prefetch/PrefetchW */ "\012" "\013" "\014" ==== //depot/projects/linuxolator/src/sys/amd64/include/specialreg.h#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.36 2007/01/09 19:23:21 jkim Exp $ + * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.37 2007/03/12 20:27:21 jkim Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ @@ -112,35 +112,36 @@ #define CPUID_IA64 0x40000000 #define CPUID_PBE 0x80000000 -#define CPUID2_SSE3 0x00000001 -#define CPUID2_MON 0x00000008 -#define CPUID2_DS_CPL 0x00000010 -#define CPUID2_VMX 0x00000020 -#define CPUID2_EST 0x00000080 -#define CPUID2_TM2 0x00000100 -#define CPUID2_SSSE3 0x00000200 -#define CPUID2_CNXTID 0x00000400 -#define CPUID2_CX16 0x00002000 -#define CPUID2_XTPR 0x00004000 +#define CPUID2_SSE3 0x00000001 +#define CPUID2_MON 0x00000008 +#define CPUID2_DS_CPL 0x00000010 +#define CPUID2_VMX 0x00000020 +#define CPUID2_EST 0x00000080 +#define CPUID2_TM2 0x00000100 +#define CPUID2_SSSE3 0x00000200 +#define CPUID2_CNXTID 0x00000400 +#define CPUID2_CX16 0x00002000 +#define CPUID2_XTPR 0x00004000 /* * Important bits in the AMD extended cpuid flags */ -#define AMDID_SYSCALL 0x00000800 -#define AMDID_MP 0x00080000 -#define AMDID_NX 0x00100000 -#define AMDID_EXT_MMX 0x00400000 -#define AMDID_FFXSR 0x01000000 -#define AMDID_RDTSCP 0x08000000 -#define AMDID_LM 0x20000000 -#define AMDID_EXT_3DNOW 0x40000000 -#define AMDID_3DNOW 0x80000000 +#define AMDID_SYSCALL 0x00000800 +#define AMDID_MP 0x00080000 +#define AMDID_NX 0x00100000 +#define AMDID_EXT_MMX 0x00400000 +#define AMDID_FFXSR 0x01000000 +#define AMDID_RDTSCP 0x08000000 +#define AMDID_LM 0x20000000 +#define AMDID_EXT_3DNOW 0x40000000 +#define AMDID_3DNOW 0x80000000 -#define AMDID2_LAHF 0x00000001 -#define AMDID2_CMP 0x00000002 -#define AMDID2_SVM 0x00000004 -#define AMDID2_EXT_APIC 0x00000008 -#define AMDID2_CR8 0x00000010 +#define AMDID2_LAHF 0x00000001 +#define AMDID2_CMP 0x00000002 +#define AMDID2_SVM 0x00000004 +#define AMDID2_EXT_APIC 0x00000008 +#define AMDID2_CR8 0x00000010 +#define AMDID2_PREFETCH 0x00000100 /* * CPUID instruction 1 ebx info @@ -153,29 +154,29 @@ /* * AMD extended function 8000_0008h ecx info */ -#define AMDID_CMP_CORES 0x000000ff +#define AMDID_CMP_CORES 0x000000ff /* * Model-specific registers for the i386 family */ -#define MSR_P5_MC_ADDR 0x000 -#define MSR_P5_MC_TYPE 0x001 -#define MSR_TSC 0x010 +#define MSR_P5_MC_ADDR 0x000 +#define MSR_P5_MC_TYPE 0x001 +#define MSR_TSC 0x010 #define MSR_P5_CESR 0x011 #define MSR_P5_CTR0 0x012 #define MSR_P5_CTR1 0x013 #define MSR_IA32_PLATFORM_ID 0x017 -#define MSR_APICBASE 0x01b -#define MSR_EBL_CR_POWERON 0x02a +#define MSR_APICBASE 0x01b +#define MSR_EBL_CR_POWERON 0x02a #define MSR_TEST_CTL 0x033 -#define MSR_BIOS_UPDT_TRIG 0x079 +#define MSR_BIOS_UPDT_TRIG 0x079 #define MSR_BBL_CR_D0 0x088 #define MSR_BBL_CR_D1 0x089 #define MSR_BBL_CR_D2 0x08a -#define MSR_BIOS_SIGN 0x08b -#define MSR_PERFCTR0 0x0c1 -#define MSR_PERFCTR1 0x0c2 -#define MSR_MTRRcap 0x0fe +#define MSR_BIOS_SIGN 0x08b +#define MSR_PERFCTR0 0x0c1 +#define MSR_PERFCTR1 0x0c2 +#define MSR_MTRRcap 0x0fe #define MSR_BBL_CR_ADDR 0x116 #define MSR_BBL_CR_DECC 0x118 #define MSR_BBL_CR_CTL 0x119 @@ -185,47 +186,47 @@ #define MSR_SYSENTER_CS_MSR 0x174 #define MSR_SYSENTER_ESP_MSR 0x175 #define MSR_SYSENTER_EIP_MSR 0x176 -#define MSR_MCG_CAP 0x179 -#define MSR_MCG_STATUS 0x17a -#define MSR_MCG_CTL 0x17b -#define MSR_EVNTSEL0 0x186 -#define MSR_EVNTSEL1 0x187 -#define MSR_THERM_CONTROL 0x19a -#define MSR_THERM_INTERRUPT 0x19b -#define MSR_THERM_STATUS 0x19c +#define MSR_MCG_CAP 0x179 +#define MSR_MCG_STATUS 0x17a +#define MSR_MCG_CTL 0x17b +#define MSR_EVNTSEL0 0x186 +#define MSR_EVNTSEL1 0x187 +#define MSR_THERM_CONTROL 0x19a +#define MSR_THERM_INTERRUPT 0x19b +#define MSR_THERM_STATUS 0x19c #define MSR_IA32_MISC_ENABLE 0x1a0 -#define MSR_DEBUGCTLMSR 0x1d9 -#define MSR_LASTBRANCHFROMIP 0x1db -#define MSR_LASTBRANCHTOIP 0x1dc -#define MSR_LASTINTFROMIP 0x1dd -#define MSR_LASTINTTOIP 0x1de -#define MSR_ROB_CR_BKUPTMPDR6 0x1e0 -#define MSR_MTRRVarBase 0x200 -#define MSR_MTRR64kBase 0x250 -#define MSR_MTRR16kBase 0x258 -#define MSR_MTRR4kBase 0x268 -#define MSR_PAT 0x277 -#define MSR_MTRRdefType 0x2ff -#define MSR_MC0_CTL 0x400 -#define MSR_MC0_STATUS 0x401 -#define MSR_MC0_ADDR 0x402 -#define MSR_MC0_MISC 0x403 -#define MSR_MC1_CTL 0x404 -#define MSR_MC1_STATUS 0x405 -#define MSR_MC1_ADDR 0x406 -#define MSR_MC1_MISC 0x407 -#define MSR_MC2_CTL 0x408 -#define MSR_MC2_STATUS 0x409 -#define MSR_MC2_ADDR 0x40a -#define MSR_MC2_MISC 0x40b -#define MSR_MC3_CTL 0x40c -#define MSR_MC3_STATUS 0x40d -#define MSR_MC3_ADDR 0x40e -#define MSR_MC3_MISC 0x40f -#define MSR_MC4_CTL 0x410 -#define MSR_MC4_STATUS 0x411 -#define MSR_MC4_ADDR 0x412 -#define MSR_MC4_MISC 0x413 +#define MSR_DEBUGCTLMSR 0x1d9 +#define MSR_LASTBRANCHFROMIP 0x1db +#define MSR_LASTBRANCHTOIP 0x1dc +#define MSR_LASTINTFROMIP 0x1dd +#define MSR_LASTINTTOIP 0x1de +#define MSR_ROB_CR_BKUPTMPDR6 0x1e0 +#define MSR_MTRRVarBase 0x200 +#define MSR_MTRR64kBase 0x250 +#define MSR_MTRR16kBase 0x258 +#define MSR_MTRR4kBase 0x268 +#define MSR_PAT 0x277 +#define MSR_MTRRdefType 0x2ff +#define MSR_MC0_CTL 0x400 +#define MSR_MC0_STATUS 0x401 +#define MSR_MC0_ADDR 0x402 +#define MSR_MC0_MISC 0x403 +#define MSR_MC1_CTL 0x404 +#define MSR_MC1_STATUS 0x405 +#define MSR_MC1_ADDR 0x406 +#define MSR_MC1_MISC 0x407 +#define MSR_MC2_CTL 0x408 +#define MSR_MC2_STATUS 0x409 +#define MSR_MC2_ADDR 0x40a +#define MSR_MC2_MISC 0x40b +#define MSR_MC3_CTL 0x40c +#define MSR_MC3_STATUS 0x40d +#define MSR_MC3_ADDR 0x40e +#define MSR_MC3_MISC 0x40f +#define MSR_MC4_CTL 0x410 +#define MSR_MC4_STATUS 0x411 +#define MSR_MC4_ADDR 0x412 +#define MSR_MC4_MISC 0x413 /* * Constants related to MSR's. @@ -250,9 +251,9 @@ /* * Constants related to MTRRs */ -#define MTRR_N64K 8 /* numbers of fixed-size entries */ -#define MTRR_N16K 16 -#define MTRR_N4K 64 +#define MTRR_N64K 8 /* numbers of fixed-size entries */ +#define MTRR_N16K 16 +#define MTRR_N4K 64 /* Performance Control Register (5x86 only). */ #define PCR0 0x20 @@ -349,11 +350,11 @@ #define RCR6 0xe2 #define RCR7 0xe3 -#define RCR_RCD 0x01 /* Disables caching for ARRx (x = 0-6). */ -#define RCR_RCE 0x01 /* Enables caching for ARR7. */ -#define RCR_WWO 0x02 /* Weak write ordering. */ +#define RCR_RCD 0x01 /* Disables caching for ARRx (x = 0-6). */ +#define RCR_RCE 0x01 /* Enables caching for ARR7. */ +#define RCR_WWO 0x02 /* Weak write ordering. */ #define RCR_WL 0x04 /* Weak locking. */ -#define RCR_WG 0x08 /* Write gathering. */ +#define RCR_WG 0x08 /* Write gathering. */ #define RCR_WT 0x10 /* Write-through. */ #define RCR_NLB 0x20 /* LBA# pin is not asserted. */ ==== //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/avila_ata.c#3 (text+ko) ==== @@ -28,13 +28,16 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.2 2007/02/25 22:17:54 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.3 2007/03/14 18:05:04 jhay Exp $"); /* * Compact Flash Support for the Avila Gateworks XScale boards. - * There are 1 or 2 optional CF slots operated in "True IDE" mode. - * Registers are on the Expansion Bus connected to CS1. Interrupts - * are tied to GPIO pin 12. No DMA, just PIO. + * The CF slot is operated in "True IDE" mode. Registers are on + * the Expansion Bus connected to CS1 and CS2. Interrupts are + * tied to GPIO pin 12. No DMA, just PIO. + * + * The ADI Pronghorn Metro is very similar. It use CS3 and CS4 and + * GPIO pin 0 for interrupts. * * See also http://www.intel.com/design/network/applnots/302456.htm. */ @@ -64,17 +67,24 @@ #include #include -#define AVILA_IDE_GPIN 12 /* GPIO pin # */ -#define AVILA_IDE_IRQ IXP425_INT_GPIO_12 -#define AVILA_IDE_CTRL 0x1e /* control register */ +#define AVILA_IDE_GPIN 12 /* GPIO pin # */ +#define AVILA_IDE_IRQ IXP425_INT_GPIO_12 +#define AVILA_IDE_CTRL 0x06 /* control register */ + +#define PRONGHORN_IDE_GPIN 0 /* GPIO pin # */ +#define PRONGHORN_IDE_IRQ IXP425_INT_GPIO_0 +#define PRONGHORN_IDE_CNTRL 0x06 /* control register */ struct ata_avila_softc { device_t sc_dev; bus_space_tag_t sc_iot; bus_space_handle_t sc_exp_ioh; /* Exp Bus config registers */ - bus_space_handle_t sc_ioh; /* CS1 data registers */ + bus_space_handle_t sc_ioh; /* CS1/3 data registers */ + bus_space_handle_t sc_alt_ioh; /* CS2/4 data registers */ struct bus_space sc_expbus_tag; struct resource sc_ata; /* hand-crafted for ATA */ + struct resource sc_alt_ata; /* hand-crafted for ATA */ + u_int32_t sc_16bit_off; /* EXP_TIMING_CSx_OFFSET */ int sc_rid; /* rid for IRQ */ struct resource *sc_irq; /* IRQ resource */ void *sc_ih; /* interrupt handler */ @@ -94,8 +104,14 @@ static int ata_avila_probe(device_t dev) { + struct ixp425_softc *sa = device_get_softc(device_get_parent(dev)); + /* XXX any way to check? */ - device_set_desc_copy(dev, "Gateworks Avila IDE/CF Controller"); + if (EXP_BUS_READ_4(sa, EXP_TIMING_CS2_OFFSET) != 0) + device_set_desc_copy(dev, "Gateworks Avila IDE/CF Controller"); + else + device_set_desc_copy(dev, + "ADI Pronghorn Metro IDE/CF Controller"); return 0; } @@ -104,14 +120,43 @@ { struct ata_avila_softc *sc = device_get_softc(dev); struct ixp425_softc *sa = device_get_softc(device_get_parent(dev)); + u_int32_t alt_t_off, board_type, ide_gpin, ide_irq; + board_type = 0; sc->sc_dev = dev; /* NB: borrow from parent */ sc->sc_iot = sa->sc_iot; sc->sc_exp_ioh = sa->sc_exp_ioh; - if (bus_space_map(sc->sc_iot, - IXP425_EXP_BUS_CS1_HWBASE, IXP425_EXP_BUS_CS1_SIZE, 0, &sc->sc_ioh)) - panic("%s: unable to map Expansion Bus CS1 window", __func__); + if (EXP_BUS_READ_4(sc, EXP_TIMING_CS2_OFFSET) != 0) + board_type = 1; /* Avila board */ + + if (board_type == 1) { + if (bus_space_map(sc->sc_iot, IXP425_EXP_BUS_CS1_HWBASE, + IXP425_EXP_BUS_CS1_SIZE, 0, &sc->sc_ioh)) + panic("%s: unable to map Expansion Bus CS1 window", + __func__); + if (bus_space_map(sc->sc_iot, IXP425_EXP_BUS_CS2_HWBASE, + IXP425_EXP_BUS_CS2_SIZE, 0, &sc->sc_alt_ioh)) + panic("%s: unable to map Expansion Bus CS2 window", + __func__); + ide_gpin = AVILA_IDE_GPIN; + ide_irq = AVILA_IDE_IRQ; + sc->sc_16bit_off = EXP_TIMING_CS1_OFFSET; + alt_t_off = EXP_TIMING_CS2_OFFSET; + } else { + if (bus_space_map(sc->sc_iot, IXP425_EXP_BUS_CS3_HWBASE, + IXP425_EXP_BUS_CS3_SIZE, 0, &sc->sc_ioh)) + panic("%s: unable to map Expansion Bus CS3 window", + __func__); + if (bus_space_map(sc->sc_iot, IXP425_EXP_BUS_CS4_HWBASE, + IXP425_EXP_BUS_CS4_SIZE, 0, &sc->sc_alt_ioh)) + panic("%s: unable to map Expansion Bus CS4 window", + __func__); + ide_gpin = PRONGHORN_IDE_GPIN; + ide_irq = PRONGHORN_IDE_IRQ; + sc->sc_16bit_off = EXP_TIMING_CS3_OFFSET; + alt_t_off = EXP_TIMING_CS4_OFFSET; + } /* * Craft special resource for ATA bus space ops @@ -137,27 +182,34 @@ rman_set_bustag(&sc->sc_ata, &sc->sc_expbus_tag); rman_set_bushandle(&sc->sc_ata, sc->sc_ioh); + rman_set_bustag(&sc->sc_alt_ata, &sc->sc_expbus_tag); + rman_set_bushandle(&sc->sc_alt_ata, sc->sc_alt_ioh); GPIO_CONF_WRITE_4(sa, IXP425_GPIO_GPOER, - GPIO_CONF_READ_4(sa, IXP425_GPIO_GPOER) | (1<sc_16bit_off, + EXP_BUS_READ_4(sc, sc->sc_16bit_off) | + EXP_BYTE_EN | EXP_WR_EN | EXP_BYTE_RD16 | EXP_CS_EN); + /* configure CS2/4 window, leaving timing unchanged */ + EXP_BUS_WRITE_4(sc, alt_t_off, + EXP_BUS_READ_4(sc, alt_t_off) | EXP_BYTE_EN | EXP_WR_EN | EXP_BYTE_RD16 | EXP_CS_EN); /* setup interrupt */ sc->sc_irq = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->sc_rid, - AVILA_IDE_IRQ, AVILA_IDE_IRQ, 1, RF_ACTIVE); + ide_irq, ide_irq, 1, RF_ACTIVE); if (!sc->sc_irq) - panic("Unable to allocate irq %u.\n", AVILA_IDE_IRQ); + panic("Unable to allocate irq %u.\n", ide_irq); bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_BIO | INTR_MPSAFE | INTR_ENTROPY, NULL, ata_avila_intr, sc, &sc->sc_ih); @@ -261,8 +313,8 @@ static void __inline enable_16(struct ata_avila_softc *sc) { - EXP_BUS_WRITE_4(sc, EXP_TIMING_CS1_OFFSET, - EXP_BUS_READ_4(sc, EXP_TIMING_CS1_OFFSET) &~ EXP_BYTE_EN); + EXP_BUS_WRITE_4(sc, sc->sc_16bit_off, + EXP_BUS_READ_4(sc, sc->sc_16bit_off) &~ EXP_BYTE_EN); DELAY(100); /* XXX? */ } @@ -270,8 +322,8 @@ disable_16(struct ata_avila_softc *sc) { DELAY(100); /* XXX? */ - EXP_BUS_WRITE_4(sc, EXP_TIMING_CS1_OFFSET, - EXP_BUS_READ_4(sc, EXP_TIMING_CS1_OFFSET) | EXP_BYTE_EN); + EXP_BUS_WRITE_4(sc, sc->sc_16bit_off, + EXP_BUS_READ_4(sc, sc->sc_16bit_off) | EXP_BYTE_EN); } uint8_t @@ -439,10 +491,11 @@ /* NB: should be used only for ATAPI devices */ ch->r_io[ATA_IREASON].offset = ATA_COUNT; ch->r_io[ATA_STATUS].offset = ATA_COMMAND; - /* alias this; required by ata_generic_status */ - ch->r_io[ATA_ALTSTAT].offset = ch->r_io[ATA_STATUS].offset; - /* NB: the control register is special */ + /* NB: the control and alt status registers are special */ + ch->r_io[ATA_ALTSTAT].res = &sc->sc_alt_ata; + ch->r_io[ATA_ALTSTAT].offset = AVILA_IDE_CTRL; + ch->r_io[ATA_CONTROL].res = &sc->sc_alt_ata; ch->r_io[ATA_CONTROL].offset = AVILA_IDE_CTRL; /* NB: by convention this points at the base of registers */ @@ -452,88 +505,6 @@ return ata_attach(dev); } -/* XXX override ata_generic_reset to handle non-standard status */ -static void -avila_channel_reset(device_t dev) -{ - struct ata_channel *ch = device_get_softc(dev); - u_int8_t ostat0 = 0, stat0 = 0; - u_int8_t err = 0, lsb = 0, msb = 0; - int mask = 0, timeout; - - /* do we have any signs of ATA/ATAPI HW being present ? */ - ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_D_LBA | ATA_MASTER); - DELAY(10); - ostat0 = ATA_IDX_INB(ch, ATA_STATUS); - if ((ostat0 & 0xf8) != 0xf8 && ostat0 != 0xa5) { - stat0 = ATA_S_BUSY; - mask |= 0x01; - } - - if (bootverbose) - device_printf(dev, "%s: reset tp1 mask=%02x ostat0=%02x\n", - __func__, mask, ostat0); - - /* if nothing showed up there is no need to get any further */ - /* XXX SOS is that too strong?, we just might loose devices here */ - ch->devices = 0; - if (!mask) - return; - - /* reset (both) devices on this channel */ - ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_D_LBA | ATA_MASTER); - DELAY(10); - ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_IDS | ATA_A_RESET); - ata_udelay(10000); - ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_IDS); - ata_udelay(100000); - ATA_IDX_INB(ch, ATA_ERROR); - - /* wait for BUSY to go inactive */ - for (timeout = 0; timeout < 310; timeout++) { - if ((mask & 0x01) && (stat0 & ATA_S_BUSY)) { - ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_MASTER); - DELAY(10); - err = ATA_IDX_INB(ch, ATA_ERROR); - lsb = ATA_IDX_INB(ch, ATA_CYL_LSB); - msb = ATA_IDX_INB(ch, ATA_CYL_MSB); - stat0 = ATA_IDX_INB(ch, ATA_STATUS); - if (bootverbose) - device_printf(dev, - "%s: stat0=0x%02x err=0x%02x lsb=0x%02x " - "msb=0x%02x\n", __func__, - stat0, err, lsb, msb); - if (stat0 == err && lsb == err && msb == err && - timeout > (stat0 & ATA_S_BUSY ? 100 : 10)) - mask &= ~0x01; - if (!(stat0 & ATA_S_BUSY)) { - if ((err & 0x7f) == ATA_E_ILI || err == 0) { - if (lsb == ATAPI_MAGIC_LSB && - msb == ATAPI_MAGIC_MSB) { - ch->devices |= ATA_ATAPI_MASTER; - } else if (stat0 & ATA_S_READY) { - ch->devices |= ATA_ATA_MASTER; - } - } else if ((stat0 & 0x0f) && - err == lsb && err == msb) { - stat0 |= ATA_S_BUSY; - } - } - } - if (mask == 0x00) /* nothing to wait for */ - break; - /* wait for master */ - if (!(stat0 & ATA_S_BUSY) || (stat0 == 0xff && timeout > 10)) - break; - ata_udelay(100000); - } - - if (bootverbose) - device_printf(dev, "%s: reset tp2 stat0=%02x devices=0x%b\n", - __func__, stat0, ch->devices, - "\20\4ATAPI_SLAVE\3ATAPI_MASTER\2ATA_SLAVE\1ATA_MASTER"); -} - static device_method_t avila_channel_methods[] = { /* device interface */ DEVMETHOD(device_probe, avila_channel_probe), @@ -543,8 +514,6 @@ DEVMETHOD(device_suspend, ata_suspend), DEVMETHOD(device_resume, ata_resume), - DEVMETHOD(ata_reset, avila_channel_reset), - { 0, 0 } }; ==== //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425.c#4 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.4 2007/02/23 12:18:28 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.5 2007/03/14 19:03:07 jhay Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -86,6 +86,13 @@ /* Gateworks Avila IDE/CF is mapped here */ { IXP425_EXP_BUS_CS1_HWBASE, IXP425_EXP_BUS_SIZE, IXP425_EXP_BUS_CS1_VBASE }, + { IXP425_EXP_BUS_CS2_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS2_VBASE }, + /* ADI Pronghorn Metro IDE/CF is mapped here */ + { IXP425_EXP_BUS_CS3_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS3_VBASE }, + { IXP425_EXP_BUS_CS4_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS4_VBASE }, }; static int ==== //depot/projects/linuxolator/src/sys/arm/xscale/ixp425/ixp425reg.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.1 2006/11/19 23:55:23 sam Exp $ + * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.2 2007/03/14 19:03:07 jhay Exp $ * */ @@ -566,15 +566,24 @@ #define IXP425_EXP_BUS_CSx_HWBASE(i) \ (IXP425_EXP_BUS_HWBASE + (i)*IXP425_EXP_BUS_SIZE) +#define IXP425_EXP_BUS_CSx_VBASE(i) \ + (IXP425_MAC_B_VBASE + (i)*IXP425_MAC_B_SIZE) + #define IXP425_EXP_BUS_CS1_HWBASE IXP425_EXP_BUS_CSx_HWBASE(1) -#define IXP425_EXP_BUS_CS1_VBASE (IXP425_MAC_B_VBASE + IXP425_MAC_B_SIZE) +#define IXP425_EXP_BUS_CS1_VBASE IXP425_EXP_BUS_CSx_VBASE(1) #define IXP425_EXP_BUS_CS1_SIZE 0x1000 +#define IXP425_EXP_BUS_CS2_HWBASE IXP425_EXP_BUS_CSx_HWBASE(2) +#define IXP425_EXP_BUS_CS2_VBASE IXP425_EXP_BUS_CSx_VBASE(2) +#define IXP425_EXP_BUS_CS2_SIZE 0x1000 +#define IXP425_EXP_BUS_CS3_HWBASE IXP425_EXP_BUS_CSx_HWBASE(3) +#define IXP425_EXP_BUS_CS3_VBASE IXP425_EXP_BUS_CSx_VBASE(3) +#define IXP425_EXP_BUS_CS3_SIZE 0x1000 +#define IXP425_EXP_BUS_CS4_HWBASE IXP425_EXP_BUS_CSx_HWBASE(4) +#define IXP425_EXP_BUS_CS4_VBASE IXP425_EXP_BUS_CSx_VBASE(4) +#define IXP425_EXP_BUS_CS4_SIZE 0x1000 /* NB: not mapped (yet) */ #define IXP425_EXP_BUS_CS0_HWBASE IXP425_EXP_BUS_CSx_HWBASE(0) -#define IXP425_EXP_BUS_CS2_HWBASE IXP425_EXP_BUS_CSx_HWBASE(2) -#define IXP425_EXP_BUS_CS3_HWBASE IXP425_EXP_BUS_CSx_HWBASE(3) -#define IXP425_EXP_BUS_CS4_HWBASE IXP425_EXP_BUS_CSx_HWBASE(4) #define IXP425_EXP_BUS_CS5_HWBASE IXP425_EXP_BUS_CSx_HWBASE(5) #define IXP425_EXP_BUS_CS6_HWBASE IXP425_EXP_BUS_CSx_HWBASE(6) #define IXP425_EXP_BUS_CS7_HWBASE IXP425_EXP_BUS_CSx_HWBASE(7) ==== //depot/projects/linuxolator/src/sys/boot/arm/at91/bootspi/loader_prompt.c#3 (text+ko) ==== @@ -19,7 +19,7 @@ * only. * END_BLOCK * - * $FreeBSD: src/sys/boot/arm/at91/bootspi/loader_prompt.c,v 1.3 2006/10/21 22:51:21 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/bootspi/loader_prompt.c,v 1.4 2007/03/15 03:31:48 imp Exp $ *****************************************************************************/ #include "at91rm9200_lowlevel.h" @@ -43,8 +43,6 @@ static char *argv[MAX_COMMAND_PARAMS]; #define FLASH_OFFSET (0 * FLASH_PAGE_SIZE) -#define FPGA_OFFSET (15 * FLASH_PAGE_SIZE) -#define FPGA_LEN (212608) #define KERNEL_OFFSET (220 * FLASH_PAGE_SIZE) #define KERNEL_LEN (6 * 1024 * FLASH_PAGE_SIZE) static const char *backspaceString = "\010 \010"; @@ -61,41 +59,10 @@ {COMMAND_LOAD_SPI_KERNEL, "k"}, {COMMAND_REPLACE_KERNEL_VIA_XMODEM, "K"}, {COMMAND_REPLACE_FLASH_VIA_XMODEM, "I"}, - {COMMAND_REPLACE_FPGA_VIA_XMODEM, "F"}, {COMMAND_REPLACE_ID_EEPROM, "E"}, {COMMAND_FINAL_FLAG, 0} }; -#ifdef TSC_FPGA -#include "fpga.h" - -const struct fpga main_fpga = -{ - AT91C_BASE_PIOB, AT91C_PIO_PB0, - AT91C_BASE_PIOC, AT91C_PIO_PC11, - AT91C_BASE_PIOB, AT91C_PIO_PB2, - AT91C_BASE_PIOC, AT91C_PIO_PC12 -}; - -void -fpga_load(void) -{ - int len, off, i, offset; - char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - - len = FPGA_LEN; - offset = FPGA_OFFSET; - for (i = 0; i < len; i+= FLASH_PAGE_SIZE) { - off = i + offset; - SPI_ReadFlash(off, addr + i, FLASH_PAGE_SIZE); - } - fpga_init(&main_fpga); - fpga_clear(&main_fpga); - fpga_write_bytes(&main_fpga, addr, len); - fpga_done(&main_fpga); -} -#endif - /* * .KB_C_FN_DEFINITION_START * unsigned BuildIP(void) @@ -310,10 +277,6 @@ printf("Updating KERNEL image\n"); UpdateFlash(KERNEL_OFFSET); break; - case COMMAND_REPLACE_FPGA_VIA_XMODEM: - printf("Updating FPGA image\n"); - UpdateFlash(FPGA_OFFSET); - break; case COMMAND_REPLACE_FLASH_VIA_XMODEM: printf("Updating FLASH image\n"); UpdateFlash(FLASH_OFFSET); ==== //depot/projects/linuxolator/src/sys/boot/arm/at91/libat91/Makefile#4 (text) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/sys/boot/arm/at91/libat91/Makefile,v 1.7 2006/11/09 20:32:36 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/libat91/Makefile,v 1.8 2007/03/15 03:31:49 imp Exp $ .include "${.CURDIR}/../Makefile.inc" LIB= at91 INTERNALLIB= -SRCS=at91rm9200_lowlevel.c delay.c eeprom.c emac.c emac_init.c fpga.c getc.c \ +SRCS=at91rm9200_lowlevel.c delay.c eeprom.c emac.c emac_init.c getc.c \ putchar.c printf.c reset.c spi_flash.c xmodem.c \ sd-card.c strcvt.c strlen.c strcmp.c memcpy.c strcpy.c \ memset.c memcmp.c ==== //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/boot.s#2 (text+ko) ==== @@ -25,7 +25,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/boot/pc98/boot0.5/boot.s,v 1.2 2000/08/03 13:01:45 kato Exp $ +# $FreeBSD: src/sys/boot/pc98/boot0.5/boot.s,v 1.3 2007/03/17 05:30:03 kato Exp $ # .code16 @@ -60,7 +60,7 @@ movw parttable(%si), %ax movw %ax, b_cylinder - # Step 2: Calculate egment address of bootstrap routine + # Step 2: Calculate the segment address of the bootstrap routine movw $0x1d00, %ax movw b_secsize, %cx shrw %cx ==== //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/boot0.5.s#2 (text+ko) ==== @@ -25,7 +25,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/boot/pc98/boot0.5/boot0.5.s,v 1.2 2000/08/06 14:35:37 kato Exp $ +# $FreeBSD: src/sys/boot/pc98/boot0.5/boot0.5.s,v 1.3 2007/03/17 05:30:03 kato Exp $ # .global main .code16 @@ -60,7 +60,7 @@ jmp exit # No hard drives drives_found: - # Setup sector size depended parameters + # Setup sector size dependent parameters movw %si, %cx # %cx = number of devices setup_loop: movw %cx, %di @@ -254,16 +254,9 @@ ret .data - .global curdevice, daua, secsize, defflagoff, defpartoff - .global maxpart, partoff, ndevice + .global curdevice, ndevice ndevice: .word 0 # number of device curdevice: .word 0 # current device -daua: .space 12 # DA/DU list -secsize: .space 12 * 2 # Sector soize -defflagoff: .space 12 * 2 -defpartoff: .space 12 * 2 -maxpart: .space 12 * 2 -partoff: .space 12 * 2 .global ishireso ishireso: .byte 0 @@ -288,3 +281,13 @@ msg_usage10: .asciz ">>: selected device/slice" msg_usage11: .asciz "*: default slice to boot" msg_usage12: .asciz "!: unbootable slice" + + .bss + .global daua, secsize, defflagoff, defpartoff + .global maxpart, partoff +daua: .space 12 # DA/DU list +secsize: .space 12 * 2 # Sector soize +defflagoff: .space 12 * 2 +defpartoff: .space 12 * 2 +maxpart: .space 12 * 2 +partoff: .space 12 * 2 ==== //depot/projects/linuxolator/src/sys/boot/pc98/boot0.5/disk.s#2 (text+ko) ==== @@ -25,7 +25,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/boot/pc98/boot0.5/disk.s,v 1.4 2000/08/31 10:24:06 kato Exp $ +# $FreeBSD: src/sys/boot/pc98/boot0.5/disk.s,v 1.5 2007/03/17 05:30:03 kato Exp $ # .code16 @@ -284,11 +284,13 @@ ret .data - .global partnum, parttable, defpartflag, defpartnum, npartition -partnum: .space 32 # Index of parttable -parttable: .space 1024 # Copy of valid partition table + .global defpartflag, defpartnum, npartition defpartflag: .byte 0 defpartnum: .byte 0 npartition: .word 0 # number of partitions + .bss -iplbuf: .space 0x400 + .global partnum, parttable +iplbuf: .space 0x400 # Read buffer for IPL +partnum: .space 32 # Index of parttable +parttable: .space 1024 # Copy of valid partition table ==== //depot/projects/linuxolator/src/sys/cam/cam_xpt.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Mar 17 16:14:56 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91FEF16A403; Sat, 17 Mar 2007 16:14:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6443C16A400 for ; Sat, 17 Mar 2007 16:14:56 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 52C5E13C45A for ; Sat, 17 Mar 2007 16:14:56 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l2HGEuV4077702 for ; Sat, 17 Mar 2007 16:14:56 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l2HGEs3a077699 for perforce@freebsd.org; Sat, 17 Mar 2007 16:14:54 GMT (envelope-from netchild@freebsd.org) Date: Sat, 17 Mar 2007 16:14:54 GMT Message-Id: <200703171614.l2HGEs3a077699@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 116029 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: Sat, 17 Mar 2007 16:14:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=116029 Change 116029 by netchild@netchild_magellan on 2007/03/17 16:14:36 IFC Affected files ... .. //depot/projects/soundsystem/src/sys/dev/sound/isa/ad1816.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/isa/mss.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/isa/sbc.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/midi.c#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/midi.h#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/midiq.h#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/mpu401.c#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/mpu401.h#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/mpu_if.m#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/mpufoi_if.m#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/sequencer.c#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/sequencer.h#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/midi/synth_if.m#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/als4000.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/atiixp.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/cmi.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/ds1.c#5 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/emu10k1.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/envy24.c#5 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/envy24ht.c#5 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/es137x.c#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/ich.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/maestro.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/maestro3.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/solo.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/t4dwave.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/via8233.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pci/via82c686.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/buffer.c#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/channel.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/channel_if.m#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/fake.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/feeder.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/feeder.h#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/feeder_fmt.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/feeder_rate.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/feeder_volume.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/sound.c#4 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/pcm/vchan.c#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/usb/uaudio.c#3 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/soundsystem/src/sys/dev/sound/usb/uaudio_pcm.c#3 integrate Differences ... ==== //depot/projects/soundsystem/src/sys/dev/sound/isa/ad1816.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/ad1816.c,v 1.41 2007/02/23 13:47:33 netchild Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/ad1816.c,v 1.42 2007/03/15 16:41:25 ariff Exp $"); struct ad1816_info; @@ -601,7 +601,8 @@ ad1816 = (struct ad1816_info *)malloc(sizeof *ad1816, M_DEVBUF, M_NOWAIT | M_ZERO); if (!ad1816) return ENXIO; - ad1816->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc"); + ad1816->lock = snd_mtxcreate(device_get_nameunit(dev), + "snd_ad1816 softc"); ad1816->io_rid = 2; ad1816->irq_rid = 0; ad1816->drq1_rid = 0; ==== //depot/projects/soundsystem/src/sys/dev/sound/isa/mss.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ #include -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/mss.c,v 1.107 2007/02/23 13:47:33 netchild Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/mss.c,v 1.108 2007/03/15 16:41:25 ariff Exp $"); /* board-specific include files */ #include @@ -1696,7 +1696,7 @@ int pdma, rdma, flags = device_get_flags(dev); char status[SND_STATUSLEN], status2[SND_STATUSLEN]; - mss->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc"); + mss->lock = snd_mtxcreate(device_get_nameunit(dev), "snd_mss softc"); mss->bufsize = pcm_getbuffersize(dev, 4096, MSS_DEFAULT_BUFSZ, 65536); if (!mss_alloc_resources(mss, dev)) goto no; mss_init(mss, dev); ==== //depot/projects/soundsystem/src/sys/dev/sound/isa/sbc.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ #include -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/sbc.c,v 1.47 2007/02/23 19:40:13 ariff Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/sbc.c,v 1.48 2007/03/15 16:41:25 ariff Exp $"); #define IO_MAX 3 #define IRQ_MAX 1 @@ -120,7 +120,8 @@ static void sbc_lockinit(struct sbc_softc *scp) { - scp->lock = snd_mtxcreate(device_get_nameunit(scp->dev), "sound softc"); + scp->lock = snd_mtxcreate(device_get_nameunit(scp->dev), + "snd_sbc softc"); } static void ==== //depot/projects/soundsystem/src/sys/dev/sound/midi/midi.c#3 (text) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sound/midi/midi.c,v 1.21 2007/01/28 20:38:07 joel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sound/midi/midi.c,v 1.23 2007/03/15 14:57:54 ariff Exp $"); #include #include @@ -99,37 +99,36 @@ #define MIDI_NAMELEN 16 struct snd_midi { KOBJ_FIELDS; - struct mtx lock; /* Protects all but queues */ - void *cookie; + struct mtx lock; /* Protects all but queues */ + void *cookie; - int unit; /* Should only be used in midistat */ - int channel;/* Should only be used in midistat */ + int unit; /* Should only be used in midistat */ + int channel; /* Should only be used in midistat */ - int busy; - int flags; /* File flags */ - char name[MIDI_NAMELEN]; - struct mtx qlock; /* Protects inq, outq and flags */ - MIDIQ_HEAD(, char)inq, outq; - int rchan, wchan; - struct selinfo rsel, wsel; - int hiwat; /* QLEN(outq)>High-water -> disable writes - * from userland */ + int busy; + int flags; /* File flags */ + char name[MIDI_NAMELEN]; + struct mtx qlock; /* Protects inq, outq and flags */ + MIDIQ_HEAD(, char) inq, outq; + int rchan, wchan; + struct selinfo rsel, wsel; + int hiwat; /* QLEN(outq)>High-water -> disable + * writes from userland */ enum midi_states inq_state; - int inq_status, inq_left; /* Variables for the state - * machine in Midi_in, this - * is to provide that signals - * only get issued only - * complete command packets. */ - struct proc *async; - struct cdev *dev; + int inq_status, inq_left; /* Variables for the state machine in + * Midi_in, this is to provide that + * signals only get issued only + * complete command packets. */ + struct proc *async; + struct cdev *dev; struct synth_midi *synth; - int synth_flags; + int synth_flags; TAILQ_ENTRY(snd_midi) link; }; struct synth_midi { - KOBJ_FIELDS; - struct snd_midi *m; + KOBJ_FIELDS; + struct snd_midi *m; }; static synth_open_t midisynth_open; @@ -144,30 +143,30 @@ static kobj_method_t midisynth_methods[] = { - KOBJMETHOD(synth_open,midisynth_open), - KOBJMETHOD(synth_close,midisynth_close), - KOBJMETHOD(synth_writeraw,midisynth_writeraw), - KOBJMETHOD(synth_setinstr,midisynth_setinstr), - KOBJMETHOD(synth_startnote,midisynth_startnote), - KOBJMETHOD(synth_killnote,midisynth_killnote), - KOBJMETHOD(synth_alloc, midisynth_alloc), - KOBJMETHOD(synth_controller, midisynth_controller), - KOBJMETHOD(synth_bender, midisynth_bender), - { 0, 0 } + KOBJMETHOD(synth_open, midisynth_open), + KOBJMETHOD(synth_close, midisynth_close), + KOBJMETHOD(synth_writeraw, midisynth_writeraw), + KOBJMETHOD(synth_setinstr, midisynth_setinstr), + KOBJMETHOD(synth_startnote, midisynth_startnote), + KOBJMETHOD(synth_killnote, midisynth_killnote), + KOBJMETHOD(synth_alloc, midisynth_alloc), + KOBJMETHOD(synth_controller, midisynth_controller), + KOBJMETHOD(synth_bender, midisynth_bender), + {0, 0} }; DEFINE_CLASS(midisynth, midisynth_methods, 0); /* * Module Exports & Interface - * + * * struct midi_chan *midi_init(MPU_CLASS cls, int unit, int chan) int * midi_uninit(struct snd_midi *) 0 == no error EBUSY or other error int * Midi_in(struct midi_chan *, char *buf, int count) int Midi_out(struct * midi_chan *, char *buf, int count) - * + * * midi_{in,out} return actual size transfered - * + * */ @@ -268,21 +267,21 @@ * cookie is passed back on MPU calls Typical device drivers will call with * unit=0, channel=1..(number of channels) and cookie=soft_c and won't care * what unit number is used. - * + * * It is an error to call midi_init with an already used unit/channel combo. - * + * * Returns NULL on error - * + * */ struct snd_midi * midi_init(kobj_class_t cls, int unit, int channel, void *cookie) { struct snd_midi *m; - int i; - int inqsize, outqsize; - MIDI_TYPE *buf; + int i; + int inqsize, outqsize; + MIDI_TYPE *buf; - MIDI_DEBUG(1,printf("midiinit: unit %d/%d.\n", unit, channel)); + MIDI_DEBUG(1, printf("midiinit: unit %d/%d.\n", unit, channel)); mtx_lock(&midistat_lock); /* * Protect against call with existing unit/channel or auto-allocate a @@ -290,29 +289,29 @@ */ i = -1; TAILQ_FOREACH(m, &midi_devs, link) { - mtx_lock(&m->lock); - if (unit != 0) { - if (m->unit == unit && m->channel == channel) { - mtx_unlock(&m->lock); - goto err0; + mtx_lock(&m->lock); + if (unit != 0) { + if (m->unit == unit && m->channel == channel) { + mtx_unlock(&m->lock); + goto err0; + } + } else { + /* + * Find a better unit number + */ + if (m->unit > i) + i = m->unit; } - } else { - /* - * Find a better unit number - */ - if (m->unit > i) - i = m->unit; - } - mtx_unlock(&m->lock); + mtx_unlock(&m->lock); } if (unit == 0) - unit = i + 1; + unit = i + 1; MIDI_DEBUG(1, printf("midiinit #2: unit %d/%d.\n", unit, channel)); m = malloc(sizeof(*m), M_MIDI, M_NOWAIT | M_ZERO); if (m == NULL) - goto err0; + goto err0; m->synth = malloc(sizeof(*m->synth), M_MIDI, M_NOWAIT | M_ZERO); kobj_init((kobj_t)m->synth, &midisynth_class); @@ -323,32 +322,32 @@ MIDI_DEBUG(1, printf("midiinit queues %d/%d.\n", inqsize, outqsize)); if (!inqsize && !outqsize) - goto err1; + goto err1; - mtx_init(&m->lock, "raw midi", 0, 0); - mtx_init(&m->qlock, "q raw midi", 0, 0); + mtx_init(&m->lock, "raw midi", NULL, 0); + mtx_init(&m->qlock, "q raw midi", NULL, 0); mtx_lock(&m->lock); mtx_lock(&m->qlock); if (inqsize) - buf = malloc(sizeof(MIDI_TYPE) * inqsize, M_MIDI, M_NOWAIT); + buf = malloc(sizeof(MIDI_TYPE) * inqsize, M_MIDI, M_NOWAIT); else - buf = NULL; + buf = NULL; MIDIQ_INIT(m->inq, buf, inqsize); if (outqsize) - buf = malloc(sizeof(MIDI_TYPE) * outqsize, M_MIDI, M_NOWAIT); + buf = malloc(sizeof(MIDI_TYPE) * outqsize, M_MIDI, M_NOWAIT); else - buf = NULL; + buf = NULL; m->hiwat = outqsize / 2; MIDIQ_INIT(m->outq, buf, outqsize); if ((inqsize && !MIDIQ_BUF(m->inq)) || (outqsize && !MIDIQ_BUF(m->outq))) - goto err2; + goto err2; m->busy = 0; @@ -358,7 +357,7 @@ m->cookie = cookie; if (MPU_INIT(m, cookie)) - goto err2; + goto err2; mtx_unlock(&m->lock); mtx_unlock(&m->qlock); @@ -368,8 +367,8 @@ mtx_unlock(&midistat_lock); m->dev = make_dev(&midi_cdevsw, - MIDIMKMINOR(unit, MIDI_DEV_RAW, channel), - UID_ROOT, GID_WHEEL, 0666, "midi%d.%d", unit, channel); + MIDIMKMINOR(unit, MIDI_DEV_RAW, channel), + UID_ROOT, GID_WHEEL, 0666, "midi%d.%d", unit, channel); m->dev->si_drv1 = m; return m; @@ -378,9 +377,9 @@ mtx_destroy(&m->lock); if (MIDIQ_BUF(m->inq)) - free(MIDIQ_BUF(m->inq), M_MIDI); + free(MIDIQ_BUF(m->inq), M_MIDI); if (MIDIQ_BUF(m->outq)) - free(MIDIQ_BUF(m->outq), M_MIDI); + free(MIDIQ_BUF(m->outq), M_MIDI); err1: free(m, M_MIDI); err0: mtx_unlock(&midistat_lock); MIDI_DEBUG(1, printf("midi_init ended in error\n")); @@ -391,32 +390,32 @@ * midi_uninit does not call MIDI_UNINIT, as since this is the implementors * entry point. midi_unint if fact, does not send any methods. A call to * midi_uninit is a defacto promise that you won't manipulate ch anymore - * + * */ int -midi_uninit(struct snd_midi * m) +midi_uninit(struct snd_midi *m) { - int err; + int err; err = ENXIO; mtx_lock(&midistat_lock); mtx_lock(&m->lock); if (m->busy) { - if (!(m->rchan || m->wchan)) - goto err; + if (!(m->rchan || m->wchan)) + goto err; - if (m->rchan) { - wakeup(&m->rchan); - m->rchan = 0; - } - if (m->wchan) { - wakeup(&m->wchan); - m->wchan = 0; - } + if (m->rchan) { + wakeup(&m->rchan); + m->rchan = 0; + } + if (m->wchan) { + wakeup(&m->wchan); + m->wchan = 0; + } } err = midi_destroy(m, 0); - if(!err) + if (!err) goto exit; err: mtx_unlock(&m->lock); @@ -432,8 +431,9 @@ */ #ifdef notdef -static int midi_lengths[] = {2, 2, 2, 2, 1, 1, 2, 0}; -#endif /* notdef */ +static int midi_lengths[] = {2, 2, 2, 2, 1, 1, 2, 0}; + +#endif /* notdef */ /* Number of bytes in a MIDI command */ #define MIDI_LENGTH(d) (midi_lengths[((d) >> 4) & 7]) #define MIDI_ACK 0xfe @@ -445,10 +445,11 @@ int -midi_in(struct snd_midi * m, MIDI_TYPE * buf, int size) +midi_in(struct snd_midi *m, MIDI_TYPE *buf, int size) { /* int i, sig, enq; */ - int used; + int used; + /* MIDI_TYPE data; */ MIDI_DEBUG(5, printf("midi_in: m=%p size=%d\n", m, size)); @@ -456,7 +457,7 @@ * XXX: locking flub */ if (!(m->flags & M_RX)) - return size; + return size; used = 0; @@ -468,100 +469,102 @@ */ if (!(m->flags & M_RX)) - return size; + return size; for (i = sig = 0; i < size; i++) { - data = buf[i]; - enq = 0; - if (data == MIDI_ACK) - continue; + data = buf[i]; + enq = 0; + if (data == MIDI_ACK) + continue; - switch (m->inq_state) { - case MIDI_IN_START: - if (MIDI_IS_STATUS(data)) { - switch (data) { - case 0xf0: /* Sysex */ - m->inq_state = MIDI_IN_SYSEX; + switch (m->inq_state) { + case MIDI_IN_START: + if (MIDI_IS_STATUS(data)) { + switch (data) { + case 0xf0: /* Sysex */ + m->inq_state = MIDI_IN_SYSEX; + break; + case 0xf1: /* MTC quarter frame */ + case 0xf3: /* Song select */ + m->inq_state = MIDI_IN_DATA; + enq = 1; + m->inq_left = 1; + break; + case 0xf2: /* Song position pointer */ + m->inq_state = MIDI_IN_DATA; + enq = 1; + m->inq_left = 2; + break; + default: + if (MIDI_IS_COMMON(data)) { + enq = 1; + sig = 1; + } else { + m->inq_state = MIDI_IN_DATA; + enq = 1; + m->inq_status = data; + m->inq_left = MIDI_LENGTH(data); + } + break; + } + } else if (MIDI_IS_STATUS(m->inq_status)) { + m->inq_state = MIDI_IN_DATA; + if (!MIDIQ_FULL(m->inq)) { + used++; + MIDIQ_ENQ(m->inq, &m->inq_status, 1); + } + enq = 1; + m->inq_left = MIDI_LENGTH(m->inq_status) - 1; + } break; - case 0xf1: /* MTC quarter frame */ - case 0xf3: /* Song select */ - m->inq_state = MIDI_IN_DATA; + /* + * End of case MIDI_IN_START: + */ + + case MIDI_IN_DATA: enq = 1; - m->inq_left = 1; + if (--m->inq_left <= 0) + sig = 1;/* deliver data */ break; - case 0xf2: /* Song position pointer */ - m->inq_state = MIDI_IN_DATA; - enq = 1; - m->inq_left = 2; + case MIDI_IN_SYSEX: + if (data == MIDI_SYSEX_END) + m->inq_state = MIDI_IN_START; break; - default: - if (MIDI_IS_COMMON(data)) { - enq = 1; - sig = 1; - } else { - m->inq_state = MIDI_IN_DATA; - enq = 1; - m->inq_status = data; - m->inq_left = MIDI_LENGTH(data); + } + + if (enq) + if (!MIDIQ_FULL(m->inq)) { + MIDIQ_ENQ(m->inq, &data, 1); + used++; } - break; - } - } else if (MIDI_IS_STATUS(m->inq_status)) { - m->inq_state = MIDI_IN_DATA; - if (!MIDIQ_FULL(m->inq)) { - used++; - MIDIQ_ENQ(m->inq, &m->inq_status, 1); - } - enq = 1; - m->inq_left = MIDI_LENGTH(m->inq_status) - 1; - } - break; /* - * End of case MIDI_IN_START: - */ - - case MIDI_IN_DATA: - enq = 1; - if (--m->inq_left <= 0) - sig = 1; /* deliver data */ - break; - case MIDI_IN_SYSEX: - if (data == MIDI_SYSEX_END) - m->inq_state = MIDI_IN_START; - break; - } - - if (enq) - if (!MIDIQ_FULL(m->inq)) { - MIDIQ_ENQ(m->inq, &data, 1); - used++; - } - /* - * End of the state machines main "for loop" - */ + * End of the state machines main "for loop" + */ } if (sig) { #endif - MIDI_DEBUG(6, printf("midi_in: len %jd avail %jd\n", (intmax_t)MIDIQ_LEN(m->inq), (intmax_t)MIDIQ_AVAIL(m->inq))) ; - if (MIDIQ_AVAIL(m->inq) > size) { - used=size; - MIDIQ_ENQ(m->inq, buf, size); - } else { - MIDI_DEBUG(4,printf("midi_in: Discarding data qu\n")); - mtx_unlock(&m->qlock); - return 0; - } - if (m->rchan) { - wakeup(&m->rchan); - m->rchan = 0; - } - selwakeup(&m->rsel); - if (m->async) { - PROC_LOCK(m->async); - psignal(m->async, SIGIO); - PROC_UNLOCK(m->async); - } + MIDI_DEBUG(6, printf("midi_in: len %jd avail %jd\n", + (intmax_t)MIDIQ_LEN(m->inq), + (intmax_t)MIDIQ_AVAIL(m->inq))); + if (MIDIQ_AVAIL(m->inq) > size) { + used = size; + MIDIQ_ENQ(m->inq, buf, size); + } else { + MIDI_DEBUG(4, printf("midi_in: Discarding data qu\n")); + mtx_unlock(&m->qlock); + return 0; + } + if (m->rchan) { + wakeup(&m->rchan); + m->rchan = 0; + } + selwakeup(&m->rsel); + if (m->async) { + PROC_LOCK(m->async); + psignal(m->async, SIGIO); + PROC_UNLOCK(m->async); + } #if 0 } #endif @@ -573,9 +576,9 @@ * midi_out: The only clearer of the M_TXEN flag. */ int -midi_out(struct snd_midi * m, MIDI_TYPE * buf, int size) +midi_out(struct snd_midi *m, MIDI_TYPE *buf, int size) { - int used; + int used; /* * XXX: locking flub @@ -583,23 +586,23 @@ if (!(m->flags & M_TXEN)) return 0; - MIDI_DEBUG(2, printf("midi_out: %p\n", m)); + MIDI_DEBUG(2, printf("midi_out: %p\n", m)); mtx_lock(&m->qlock); used = MIN(size, MIDIQ_LEN(m->outq)); MIDI_DEBUG(3, printf("midi_out: used %d\n", used)); if (used) - MIDIQ_DEQ(m->outq, buf, used); + MIDIQ_DEQ(m->outq, buf, used); if (MIDIQ_EMPTY(m->outq)) { - m->flags &= ~M_TXEN; - MPU_CALLBACKP(m, m->cookie, m->flags); + m->flags &= ~M_TXEN; + MPU_CALLBACKP(m, m->cookie, m->flags); } - if (used && MIDIQ_AVAIL(m->outq) > m->hiwat ) { + if (used && MIDIQ_AVAIL(m->outq) > m->hiwat) { if (m->wchan) { wakeup(&m->wchan); m->wchan = 0; } selwakeup(&m->wsel); - if (m->async) { + if (m->async) { PROC_LOCK(m->async); psignal(m->async, SIGIO); PROC_UNLOCK(m->async); @@ -614,15 +617,15 @@ * /dev/rmidi#.# device access functions */ int -midi_open(struct cdev *i_dev, int flags, int mode, struct thread * td) +midi_open(struct cdev *i_dev, int flags, int mode, struct thread *td) { struct snd_midi *m = i_dev->si_drv1; - int retval; + int retval; - MIDI_DEBUG(1,printf("midiopen %p %s %s\n", td, - flags & FREAD?"M_RX":"", flags & FWRITE?"M_TX":"")); + MIDI_DEBUG(1, printf("midiopen %p %s %s\n", td, + flags & FREAD ? "M_RX" : "", flags & FWRITE ? "M_TX" : "")); if (m == NULL) - return ENXIO; + return ENXIO; mtx_lock(&m->lock); mtx_lock(&m->qlock); @@ -630,20 +633,20 @@ retval = 0; if (flags & FREAD) { - if (MIDIQ_SIZE(m->inq) == 0) - retval = ENXIO; - else if (m->flags & M_RX) - retval = EBUSY; - if (retval) - goto err; + if (MIDIQ_SIZE(m->inq) == 0) + retval = ENXIO; + else if (m->flags & M_RX) + retval = EBUSY; + if (retval) + goto err; } if (flags & FWRITE) { - if (MIDIQ_SIZE(m->outq) == 0) - retval = ENXIO; - else if (m->flags & M_TX) - retval = EBUSY; - if (retval) - goto err; + if (MIDIQ_SIZE(m->outq) == 0) + retval = ENXIO; + else if (m->flags & M_TX) + retval = EBUSY; + if (retval) + goto err; } m->busy++; @@ -652,16 +655,16 @@ m->async = 0; if (flags & FREAD) { - m->flags |= M_RX | M_RXEN; - /* - * Only clear the inq, the outq might still have data to drain from - * a previous session - */ - MIDIQ_CLEAR(m->inq); + m->flags |= M_RX | M_RXEN; + /* + * Only clear the inq, the outq might still have data to drain + * from a previous session + */ + MIDIQ_CLEAR(m->inq); }; if (flags & FWRITE) - m->flags |= M_TX; + m->flags |= M_TX; MPU_CALLBACK(m, m->cookie, m->flags); @@ -673,37 +676,36 @@ } int -midi_close(struct cdev *i_dev, int flags, int mode, struct thread * td) +midi_close(struct cdev *i_dev, int flags, int mode, struct thread *td) { struct snd_midi *m = i_dev->si_drv1; - int retval; - int oldflags; + int retval; + int oldflags; MIDI_DEBUG(1, printf("midi_close %p %s %s\n", td, - flags & FREAD?"M_RX":"", flags & FWRITE?"M_TX":"")); + flags & FREAD ? "M_RX" : "", flags & FWRITE ? "M_TX" : "")); if (m == NULL) - return ENXIO; + return ENXIO; mtx_lock(&m->lock); mtx_lock(&m->qlock); - if ( (flags & FREAD && !(m->flags & M_RX)) || - (flags & FWRITE && !(m->flags & M_TX)) ) { - retval = ENXIO; - goto err; + if ((flags & FREAD && !(m->flags & M_RX)) || + (flags & FWRITE && !(m->flags & M_TX))) { + retval = ENXIO; + goto err; } - m->busy--; oldflags = m->flags; if (flags & FREAD) - m->flags &= ~(M_RX | M_RXEN); + m->flags &= ~(M_RX | M_RXEN); if (flags & FWRITE) - m->flags &= ~M_TX; + m->flags &= ~M_TX; - if( (m->flags & (M_TXEN | M_RXEN)) != (oldflags & (M_RXEN | M_TXEN)) ) + if ((m->flags & (M_TXEN | M_RXEN)) != (oldflags & (M_RXEN | M_TXEN))) MPU_CALLBACK(m, m->cookie, m->flags); MIDI_DEBUG(1, printf("midi_close: closed, busy = %d.\n", m->busy)); @@ -713,70 +715,73 @@ retval = 0; err: return retval; } + /* - * TODO: midi_read, per oss programmer's guide pg. 42 should return as soon as data is available. + * TODO: midi_read, per oss programmer's guide pg. 42 should return as soon + * as data is available. */ int -midi_read(struct cdev *i_dev, struct uio * uio, int ioflag) +midi_read(struct cdev *i_dev, struct uio *uio, int ioflag) { #define MIDI_RSIZE 32 struct snd_midi *m = i_dev->si_drv1; - int retval; - int used; - char buf[MIDI_RSIZE]; + int retval; + int used; + char buf[MIDI_RSIZE]; - MIDI_DEBUG(5, printf("midiread: count=%lu\n", (unsigned long)uio->uio_resid)); + MIDI_DEBUG(5, printf("midiread: count=%lu\n", + (unsigned long)uio->uio_resid)); retval = EIO; if (m == NULL) - goto err0; + goto err0; mtx_lock(&m->lock); mtx_lock(&m->qlock); if (!(m->flags & M_RX)) - goto err1; + goto err1; while (uio->uio_resid > 0) { - while (MIDIQ_EMPTY(m->inq)) { - retval = EWOULDBLOCK; - if (ioflag & O_NONBLOCK) - goto err1; - mtx_unlock(&m->lock); - m->rchan = 1; - retval = msleep(&m->rchan, &m->qlock, - PCATCH | PDROP, "midi RX", 0); + while (MIDIQ_EMPTY(m->inq)) { + retval = EWOULDBLOCK; + if (ioflag & O_NONBLOCK) + goto err1; + mtx_unlock(&m->lock); + m->rchan = 1; + retval = msleep(&m->rchan, &m->qlock, + PCATCH | PDROP, "midi RX", 0); + /* + * We slept, maybe things have changed since last + * dying check + */ + if (retval == EINTR) + goto err0; + if (m != i_dev->si_drv1) + retval = ENXIO; + /* if (retval && retval != ERESTART) */ + if (retval) + goto err0; + mtx_lock(&m->lock); + mtx_lock(&m->qlock); + m->rchan = 0; + if (!m->busy) + goto err1; + } + MIDI_DEBUG(6, printf("midi_read start\n")); /* - * We slept, maybe things have changed since last - * dying check - */ - if (retval == EINTR) - goto err0; - if (m != i_dev->si_drv1) - retval = ENXIO; - /* if (retval && retval != ERESTART) */ - if (retval) - goto err0; - mtx_lock(&m->lock); - mtx_lock(&m->qlock); - m->rchan = 0; - if (!m->busy) - goto err1; - } - MIDI_DEBUG(6, printf("midi_read start\n")); - /* - * At this point, it is certain that m->inq has data - */ + * At this point, it is certain that m->inq has data + */ - used = MIN(MIDIQ_LEN(m->inq), uio->uio_resid); - used = MIN(used, MIDI_RSIZE); + used = MIN(MIDIQ_LEN(m->inq), uio->uio_resid); + used = MIN(used, MIDI_RSIZE); - MIDI_DEBUG(6,printf("midiread: uiomove cc=%d\n", used)); - MIDIQ_DEQ(m->inq, buf, used); - retval = uiomove(buf, used, uio); - if (retval) - goto err1; + MIDI_DEBUG(6, printf("midiread: uiomove cc=%d\n", used)); + MIDIQ_DEQ(m->inq, buf, used); + retval = uiomove(buf, used, uio); + if (retval) + goto err1; } /* @@ -785,7 +790,7 @@ retval = 0; err1: mtx_unlock(&m->qlock); mtx_unlock(&m->lock); -err0: MIDI_DEBUG(4, printf("midi_read: ret %d\n",retval)); +err0: MIDI_DEBUG(4, printf("midi_read: ret %d\n", retval)); return retval; } @@ -794,74 +799,76 @@ */ int -midi_write(struct cdev *i_dev, struct uio * uio, int ioflag) +midi_write(struct cdev *i_dev, struct uio *uio, int ioflag) { #define MIDI_WSIZE 32 struct snd_midi *m = i_dev->si_drv1; - int retval; - int used; - char buf[MIDI_WSIZE]; + int retval; + int used; + char buf[MIDI_WSIZE]; - MIDI_DEBUG(4, printf("midi_write\n")); + MIDI_DEBUG(4, printf("midi_write\n")); retval = 0; if (m == NULL) - goto err0; + goto err0; mtx_lock(&m->lock); mtx_lock(&m->qlock); if (!(m->flags & M_TX)) - goto err1; + goto err1; while (uio->uio_resid > 0) { - while (MIDIQ_AVAIL(m->outq) == 0) { - retval = EWOULDBLOCK; - if (ioflag & O_NONBLOCK) - goto err1; - mtx_unlock(&m->lock); - m->wchan = 1; - MIDI_DEBUG(3,printf("midi_write msleep\n")); - retval = msleep(&m->wchan, &m->qlock, - PCATCH | PDROP, "midi TX", 0); + while (MIDIQ_AVAIL(m->outq) == 0) { + retval = EWOULDBLOCK; + if (ioflag & O_NONBLOCK) + goto err1; + mtx_unlock(&m->lock); + m->wchan = 1; + MIDI_DEBUG(3, printf("midi_write msleep\n")); + retval = msleep(&m->wchan, &m->qlock, + PCATCH | PDROP, "midi TX", 0); + /* + * We slept, maybe things have changed since last + * dying check >>> TRUNCATED FOR MAIL (1000 lines) <<<