From owner-p4-projects@FreeBSD.ORG Sun Apr 29 01:33: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 E7D3916A406; Sun, 29 Apr 2007 01:33: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 B4F2F16A401 for ; Sun, 29 Apr 2007 01:33:23 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8C7A113C44C for ; Sun, 29 Apr 2007 01:33:23 +0000 (UTC) (envelope-from ivoras@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 l3T1XNNH095519 for ; Sun, 29 Apr 2007 01:33:23 GMT (envelope-from ivoras@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3T1XNlD095516 for perforce@freebsd.org; Sun, 29 Apr 2007 01:33:23 GMT (envelope-from ivoras@FreeBSD.org) Date: Sun, 29 Apr 2007 01:33:23 GMT Message-Id: <200704290133.l3T1XNlD095516@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ivoras@FreeBSD.org using -f From: Ivan Voras To: Perforce Change Reviews Cc: Subject: PERFORCE change 118923 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, 29 Apr 2007 01:33:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=118923 Change 118923 by ivoras@ivoras_finstall on 2007/04/29 01:33:23 Initial README file, just testing Perforce. Affected files ... .. //depot/projects/soc2007/ivoras_finstall/README.txt#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Apr 29 02:57: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 5ABBF16A404; Sun, 29 Apr 2007 02:57: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 1AB5B16A401 for ; Sun, 29 Apr 2007 02:57:08 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9AB3413C480 for ; Sun, 29 Apr 2007 02:57:07 +0000 (UTC) (envelope-from kmacy@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 l3T2v76F009434 for ; Sun, 29 Apr 2007 02:57:07 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3T2v64q009431 for perforce@freebsd.org; Sun, 29 Apr 2007 02:57:06 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 29 Apr 2007 02:57:06 GMT Message-Id: <200704290257.l3T2v64q009431@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 118925 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, 29 Apr 2007 02:57:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=118925 Change 118925 by kmacy@kmacy_vt-x:opentoe_init on 2007/04/29 02:56:25 rather than overloading random unused fields as in linux add a pointer to a separate structure for TOE tracking of socket state Affected files ... .. //depot/projects/opentoe/sys/sys/socketvar.h#4 edit Differences ... ==== //depot/projects/opentoe/sys/sys/socketvar.h#4 (text+ko) ==== @@ -131,6 +131,7 @@ #define SB_AIO 0x80 /* AIO operations queued */ #define SB_KNOTE 0x100 /* kernel note attached */ #define SB_AUTOSIZE 0x800 /* automatically size socket buffer */ +#define SB_TOE 0x1000 /* socket is associated with a TOE */ void (*so_upcall)(struct socket *, void *, int); void *so_upcallarg; @@ -145,6 +146,7 @@ void *so_accept_filter_arg; /* saved filter args */ char *so_accept_filter_str; /* saved user args */ } *so_accf; + void *so_toe; /* (b) TOE private data */ }; #define SB_EMPTY_FIXUP(sb) do { \ From owner-p4-projects@FreeBSD.ORG Sun Apr 29 03:02:14 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 A33AD16A404; Sun, 29 Apr 2007 03:02:14 +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 635B116A401 for ; Sun, 29 Apr 2007 03:02:14 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3C7C313C448 for ; Sun, 29 Apr 2007 03:02:14 +0000 (UTC) (envelope-from kmacy@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 l3T32E4Y010472 for ; Sun, 29 Apr 2007 03:02:14 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3T32EAf010468 for perforce@freebsd.org; Sun, 29 Apr 2007 03:02:14 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 29 Apr 2007 03:02:14 GMT Message-Id: <200704290302.l3T32EAf010468@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 118926 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, 29 Apr 2007 03:02:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=118926 Change 118926 by kmacy@kmacy_vt-x:opentoe_init on 2007/04/29 03:02:05 TOE on linux appears to rely on having a backpointer from the skb to the socket - add a field to allow me to do the same on FreeBSD until I can find away around this The fact of the matter is that, network offload, like graphics offload, requires modifications to the layer interfaces - the current interfaces are not god-given and may need to be re-examined in the future. That said, I'm not going to advocate the skb style strategy of having pointers to everything in the network stack "just in case". Affected files ... .. //depot/projects/opentoe/sys/sys/mbuf.h#7 edit Differences ... ==== //depot/projects/opentoe/sys/sys/mbuf.h#7 (text+ko) ==== @@ -122,6 +122,7 @@ int csum_data; /* data field used by csum routines */ u_int16_t tso_segsz; /* TSO segment size */ u_int16_t ether_vtag; /* Ethernet 802.1p+q vlan tag */ + void * priv; /* opaque pointer for protocol offload support */ SLIST_HEAD(packet_tags, m_tag) tags; /* list of packet tags */ }; @@ -196,7 +197,8 @@ #define M_VLANTAG 0x10000 /* ether_vtag is valid */ #define M_PROMISC 0x20000 /* packet was not for us */ #define M_LRO 0x80000 /* large receive offload in use for packet */ -#define M_IOVEC 0x100000 /* mbuf immediate data area is used for cluster ptrs */ +#define M_IOVEC 0x100000 /* mbuf immediate data area is used for cluster ptrs */ +#define M_TOE 0x200000 /* packet is handled by protocol offload */ /* * External buffer types: identify ext_buf type. From owner-p4-projects@FreeBSD.ORG Sun Apr 29 03:03:17 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 3960D16A410; Sun, 29 Apr 2007 03:03:17 +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 D8A7116A409 for ; Sun, 29 Apr 2007 03:03:16 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C6F7813C43E for ; Sun, 29 Apr 2007 03:03:16 +0000 (UTC) (envelope-from kmacy@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 l3T33GRr011864 for ; Sun, 29 Apr 2007 03:03:16 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3T33GaN011861 for perforce@freebsd.org; Sun, 29 Apr 2007 03:03:16 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 29 Apr 2007 03:03:16 GMT Message-Id: <200704290303.l3T33GaN011861@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 118927 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, 29 Apr 2007 03:03:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=118927 Change 118927 by kmacy@kmacy_vt-x:opentoe_init on 2007/04/29 03:02:47 more mindless BSD-ification Affected files ... .. //depot/projects/opentoe/sys/dev/cxgb/ulp/t3_tom/t3_cpl_io.c#3 edit .. //depot/projects/opentoe/sys/dev/cxgb/ulp/t3_tom/t3_cpl_socket.c#1 add .. //depot/projects/opentoe/sys/dev/cxgb/ulp/t3_tom/t3_defs.h#2 edit .. //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toedev.c#3 edit Differences ... ==== //depot/projects/opentoe/sys/dev/cxgb/ulp/t3_tom/t3_cpl_io.c#3 (text+ko) ==== @@ -1,39 +1,51 @@ -/* - * This file implements the Chelsio CPL5 message processing. - * - * Copyright (C) 2003-2006 Chelsio Communications. All rights reserved. - * - * Written by Dimitris Michailidis (dm@chelsio.com) - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file included in this - * release for licensing terms and conditions. - */ + +/************************************************************************** + +Copyright (c) 2007, Chelsio Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the Chelsio Corporation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -#include "defs.h" -#include -#include -#include -#include -#include -#include -#include -#include +***************************************************************************/ +#include #include -#include -#include "tom.h" -#include "t3_ddp.h" -#include "t3cdev.h" -#include "l2t.h" -#include "tcb.h" -#include "cxgb3_defs.h" -#include "cxgb3_ctl_defs.h" -#include "firmware_exports.h" + +#include +#include +#include +#include +#include +#include +#include +#include #define DEBUG_WR 0 -extern struct proto t3_tcp_prot; +extern struct protosw t3_tcp_proto; extern struct request_sock_ops t3_rsk_ops; /* @@ -53,14 +65,14 @@ * tcp_create_openreq_child(). It's a RO buffer that may be used by multiple * CPUs without locking. */ -static struct mbuf *tcphdr_skb __read_mostly; +static struct mbuf *tcphdr_mbuf __read_mostly; /* - * The number of WRs needed for an skb depends on the number of page fragments - * in the skb and whether it has any payload in its main body. This maps the - * length of the gather list represented by an skb into the # of necessary WRs. + * The number of WRs needed for an mbuf depends on the number of page fragments + * in the mbuf and whether it has any payload in its main body. This maps the + * length of the gather list represented by an mbuf into the # of necessary WRs. */ -static unsigned int skb_wrs[MAX_SKB_FRAGS + 2] __read_mostly; +static unsigned int mbuf_wrs[MAX_MBUF_IOV + 2] __read_mostly; /* * Socket filter that drops everything by specifying a 0-length filter program. @@ -71,11 +83,11 @@ * TOE information returned through inet_diag for offloaded connections. */ struct t3_inet_diag_info { - u32 toe_id; /* determines how to interpret the rest of the fields */ - u32 tid; - u16 wrs; - u8 ulp_mode; - u8 ddp_enabled; + uint32_t toe_id; /* determines how to interpret the rest of the fields */ + uint32_t tid; + uint16_t wrs; + uint8_t ulp_mode; + uint8_t ddp_enabled; char dev_name[TOENAMSIZ]; }; @@ -88,9 +100,9 @@ process_cpl_msg_ref(void (*fn)(struct socket *, struct mbuf *), struct socket *so, struct mbuf *m) { - sock_hold(sk); - process_cpl_msg(fn, sk, skb); - sock_put(sk); + sock_hold(so); + process_cpl_msg(fn, so, m); + sock_put(so); } static inline int @@ -102,14 +114,14 @@ /* * Returns an mbuf for a reply CPL message of size len. If the input * mbuf has no other users it is trimmed and reused, otherwise a new buffer - * is allocated. The input skb must be of size at least len. Note that this - * operation does not destroy the original skb data even if it decides to reuse + * is allocated. The input mbuf must be of size at least len. Note that this + * operation does not destroy the original mbuf data even if it decides to reuse * the buffer. */ static struct mbuf * -get_cpl_reply_mbuf(struct mbuf *m, size_t len, int gfp) +get_cpl_reply_mbuf(struct mbuf *m, size_t len) { - if (likely(!skb_cloned(skb))) { + if (__predict_true(!skb_cloned(skb))) { BUG_ON(skb->len < len); __skb_trim(skb, len); skb_get(skb); @@ -122,12 +134,12 @@ } /* - * Like get_cpl_reply_skb() but the returned buffer starts out empty. + * Like get_cpl_reply_mbuf() but the returned buffer starts out empty. */ static struct mbuf * __get_cpl_reply_mbuf(struct mbuf *m, size_t len) { - if (likely(!skb_cloned(skb) && !skb->data_len)) { + if (__predict_true(!skb_cloned(skb) && !skb->data_len)) { __skb_trim(skb, 0); skb_get(skb); } else @@ -143,15 +155,15 @@ * it is sent directly. */ static inline void -send_or_defer(struct socket *so, struct tcp_sock *tp, struct mbuf *skb, +send_or_defer(struct socket *so, struct tcpcb *tp, struct mbuf *m, int through_l2t) { - if (unlikely(sk->sk_state == TCP_SYN_SENT)) - __skb_queue_tail(&tp->out_of_order_queue, skb); // defer + if (__predict_false(sk->sk_state == TCP_SYN_SENT)) + __skb_queue_tail(&tp->out_of_order_queue, m); // defer else if (through_l2t) - l2t_send(T3C_DEV(sk), skb, L2T_ENTRY(sk)); // send through L2T + l2t_send(TOE_DEV(so), m, L2T_ENTRY(so)); // send through L2T else - cxgb3_ofld_send(T3C_DEV(sk), skb); // send directly + cxgb_ofld_send(TOE_DEV(so), m); // send directly } /* @@ -169,12 +181,13 @@ * Populate a TID_RELEASE WR. The skb must be already propely sized. */ static inline void -mk_tid_release(struct mbuf *skb, const struct socket *so, unsigned int tid) +mk_tid_release(struct mbuf *m, const struct socket *so, unsigned int tid) { struct cpl_tid_release *req; - skb->priority = mkprio(CPL_PRIORITY_SETUP, sk); - req = (struct cpl_tid_release *)__skb_put(skb, sizeof(*req)); + m->m_priority = mkprio(CPL_PRIORITY_SETUP, so); + MH_ALIGN(m, sizeof(*req)); + req = mtod(m, struct cpl_tid_release *); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_TID_RELEASE, tid)); } @@ -186,7 +199,7 @@ sk_insert_tid(struct tom_data *d, struct socket *so, unsigned int tid) { sock_hold(sk); - cxgb3_insert_tid(d->cdev, d->client, sk, tid); + cxgb_insert_tid(d->cdev, d->client, sk, tid); } /** @@ -198,7 +211,7 @@ * does not exceed the target MTU. */ static unsigned int -find_best_mtu(const struct t3c_data *d, unsigned short mtu) +find_best_mtu(const struct toe_data *d, unsigned short mtu) { int i = 0; @@ -211,10 +224,10 @@ select_mss(struct socket *so, unsigned int pmtu) { unsigned int idx; - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); struct dst_entry *dst = __sk_dst_get(sk); struct tom_data *d = TOM_DATA(TOE_DEV(sk)); - const struct t3c_data *td = T3C_DATA(d->cdev); + const struct t3_data *td = TOE_DATA(d->cdev); tp->advmss = dst_metric(dst, RTAX_ADVMSS); if (USER_MSS(tp) && tp->advmss > USER_MSS(tp)) @@ -241,7 +254,7 @@ #define VALIDATE_SOCK(sk) \ do { \ - if (unlikely(!(sk))) \ + if (__predict_false(!(sk))) \ return CPL_RET_UNKNOWN_TID | CPL_RET_BUF_DONE; \ } while (0) #else @@ -259,7 +272,7 @@ { #if 0 printk("connection_done: TID: %u, state: %d, dead %d, refs %d\n", - TID(tcp_sk(sk)), sk->sk_state, sock_flag(sk, SOCK_DEAD), + TID(sototcpcb(so)), sk->sk_state, sock_flag(sk, SOCK_DEAD), atomic_read(&sk->sk_refcnt)); // dump_stack(); #endif @@ -315,20 +328,20 @@ static inline unsigned int calc_opt0h(struct socket *so) { - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); return V_NAGLE((tp->nonagle & TCP_NAGLE_OFF) == 0) | - V_KEEP_ALIVE(sock_flag(sk, SOCK_KEEPOPEN) != 0) | F_TCAM_BYPASS | - V_WND_SCALE(RCV_WSCALE(tp)) | V_MSS_IDX(MTU_IDX(tp)); + V_KEEP_ALIVE(sock_flag(so, SOCK_KEEPOPEN) != 0) | F_TCAM_BYPASS | + V_WND_SCALE(RCV_WSCALE(so)) | V_MSS_IDX(MTU_IDX(so)); } static inline unsigned int calc_opt0l(const struct socket *so) { - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); - return V_TOS(SK_TOS(sk)) | V_ULP_MODE(ULP_MODE(tp)) | - V_RCV_BUFSIZ(min(tp->rcv_wnd >> 10, (u32)M_RCV_BUFSIZ)); + return V_TOS(SK_TOS(so)) | V_ULP_MODE(ULP_MODE(so)) | + V_RCV_BUFSIZ(min(tp->rcv_wnd >> 10, (uint32_t)M_RCV_BUFSIZ)); } static inline unsigned int @@ -349,11 +362,11 @@ * it is available (has a user count of 1). Otherwise we get a fresh buffer. */ static struct mbuf * -alloc_ctrl_skb(const struct tcp_sock *tp, int len) +alloc_ctrl_mbuf(const struct tcpcb *tp, int len) { - struct mbuf *skb = CTRL_SKB_CACHE(tp); + struct mbuf *m = CTRL_MBUF_CACHE(so); - if (likely(skb && !skb_shared(skb) && !skb_cloned(skb))) { + if (__predict_true(m && !skb_shared(skb) && !skb_cloned(skb))) { __skb_trim(skb, 0); atomic_set(&skb->users, 2); } else @@ -374,34 +387,34 @@ * WRs so that the two uses do not overlap. */ static void -synq_add(struct sock *parent, struct sock *child) +synq_add(struct socket *parent, struct socket *child) { - struct tcp_sock *p = tcp_sk(parent); - struct tcp_sock *c = tcp_sk(child); + struct tcpcb *p = sototcpcb(parent); + struct tcpcb *c = sototcpcb(child); if (synq_empty(parent)) { /* this is the first child */ c->forward_skb_hint = (void *)parent; p->fastpath_skb_hint = (void *)child; } else { - struct sock *first = (struct sock *)p->forward_skb_hint; + struct socket *first = (struct socket *)p->forward_skb_hint; c->forward_skb_hint = p->forward_skb_hint; - tcp_sk(first)->fastpath_skb_hint = (void *)child; + sototcpcb(first)->fastpath_skb_hint = (void *)child; } p->forward_skb_hint = (void *)child; c->fastpath_skb_hint = (void *)parent; } static void -synq_remove(struct tcp_sock *child) +synq_remove(struct tcpcb *child) { - struct sock *next = (struct sock *)child->forward_skb_hint; - struct sock *prev = (struct sock *)child->fastpath_skb_hint; + struct socket *next = (struct socket *)child->forward_skb_hint; + struct socket *prev = (struct socket *)child->fastpath_skb_hint; if (next == prev) /* sole child */ - reset_synq(tcp_sk(next)); + reset_synq(sototcpcb(next)); else { - tcp_sk(prev)->forward_skb_hint = child->forward_skb_hint; - tcp_sk(next)->fastpath_skb_hint = child->fastpath_skb_hint; + sototcpcb(prev)->forward_skb_hint = child->forward_skb_hint; + sototcpcb(next)->fastpath_skb_hint = child->fastpath_skb_hint; } reset_synq(child); } @@ -417,7 +430,7 @@ } static void -purge_wr_queue(struct tcp_sock *tp) +purge_wr_queue(struct tcpcb *tp) { struct mbuf *skb; while ((skb = dequeue_wr(tp)) != NULL) @@ -440,7 +453,7 @@ * Generic ARP failure handler that discards the buffer. */ static void -arp_failure_discard(struct t3cdev *cdev, struct mbuf *m) +arp_failure_discard(struct toedev *cdev, struct mbuf *m) { m_freem(m); } @@ -449,7 +462,7 @@ make_tx_data_wr(struct socket *so, struct mbuf *m, int len) { struct tx_data_wr *req; - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); skb->h.raw = skb->data; req = (struct tx_data_wr *)__skb_push(skb, sizeof(*req)); @@ -490,19 +503,19 @@ t3_push_frames(struct socket *so, int req_completion) { int total_size = 0; - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); struct mbuf *m; - struct t3cdev *cdev; + struct toedev *cdev; struct tom_data *d; - if (unlikely(sk_in_state(sk, TCPF_SYN_SENT | TCPF_CLOSE))) + if (__predict_false(sk_in_state(sk, TCPF_SYN_SENT | TCPF_CLOSE))) return 0; /* * We shouldn't really be called at all after an abort but check just * in case. */ - if (unlikely(sock_flag(sk, ABORT_SHUTDOWN))) + if (__predict_false(sock_flag(sk, ABORT_SHUTDOWN))) return 0; d = TOM_DATA(TOE_DEV(sk)); @@ -528,7 +541,7 @@ WR_UNACKED(tp) += wrs_needed; enqueue_wr(tp, skb); - if (likely(TCP_SKB_CB(skb)->flags & TCPCB_FLAG_NEED_HDR)) { + if (__predict_true(TCP_SKB_CB(skb)->flags & TCPCB_FLAG_NEED_HDR)) { len += ulp_extra_len(skb); make_tx_data_wr(sk, skb, len); tp->snd_nxt += len; @@ -568,9 +581,9 @@ }; #endif -static inline void free_atid(struct t3cdev *cdev, unsigned int tid) +static inline void free_atid(struct toedev *cdev, unsigned int tid) { - struct socket *so = cxgb3_free_atid(cdev, tid); + struct socket *so = cxgb_free_atid(cdev, tid); if (sk) sock_put(sk); } @@ -580,15 +593,15 @@ static void t3_release_offload_resources(struct socket *so) { - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); struct toedev *tdev = TOE_DEV(sk); - struct t3cdev *cdev; + struct toedev *cdev; unsigned int tid = TID(tp); if (!tdev) return; - cdev = T3C_DEV(sk); + cdev = TOE_DEV(sk); if (!cdev) return; @@ -614,7 +627,7 @@ free_atid(cdev, tid); __skb_queue_purge(&tp->out_of_order_queue); } else { // we have TID - cxgb3_remove_tid(cdev, (void *)sk, tid); + cxgb_remove_tid(cdev, (void *)sk, tid); sock_put(sk); } @@ -637,34 +650,6 @@ } /* - * Called for each mbuf in a socket's receive backlog during - * backlog processing. - */ -static int -t3_backlog_rcv(struct socket *so, struct mbuf *skb) -{ -#if VALIDATE_TID - unsigned int opcode = ntohl(skb->csum) >> 24; - - if (unlikely(sk->sk_state == TCP_CLOSE && bad_backlog_msg(opcode))) { - printk(KERN_ERR "unexpected CPL message with opcode %x for " - "closed TID %u\n", opcode, TID(tcp_sk(sk))); - kfree_skb(skb); - return 0; - } -#endif - - BLOG_SKB_CB(skb)->backlog_rcv(sk, skb); - return 0; -} - -#ifdef CONFIG_TCP_OFFLOAD_MODULE -static void dummy_tcp_keepalive_timer(unsigned long data) -{ -} -#endif - -/* * Switch a socket to the offload protocol operations. Note that the offload * operations do not contain the offload backlog handler, we install that * directly to the socket. @@ -672,28 +657,17 @@ static inline void install_offload_ops(struct socket *so) { - sk->sk_prot = &t3_tcp_prot; - sk->sk_backlog_rcv = t3_backlog_rcv; - sk->sk_write_space = t3_write_space; - - if (sk->sk_filter) - sk_filter_release(sk, sk->sk_filter); - sk->sk_filter = &drop_all; - sk_filter_charge(sk, sk->sk_filter); - -#ifdef CONFIG_TCP_OFFLOAD_MODULE - sk->sk_timer.function = dummy_tcp_keepalive_timer; -#endif - sock_set_flag(sk, SOCK_OFFLOADED); + so->so_proto = &t3_tcp_proto; + so->so_rcv.sb_flags |= SB_TOE; } #if DEBUG_WR static void dump_wrs(struct socket *so) { - u64 *d; + uint64_t *d; struct mbuf *p; - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); printk("TID %u info:\n", TID(tp)); skb_queue_walk(&sk->sk_write_queue, p) { @@ -714,7 +688,7 @@ } static int -count_pending_wrs(const struct tcp_sock *tp) +count_pending_wrs(const struct tcpcb *tp) { int n = 0; const struct mbuf *p; @@ -725,11 +699,11 @@ } static void -check_wr_invariants(const struct tcp_sock *tp) +check_wr_invariants(const struct tcpcb *tp) { int pending = count_pending_wrs(tp); - if (unlikely(WR_AVAIL(tp) + pending != WR_MAX(tp))) + if (__predict_false(WR_AVAIL(tp) + pending != WR_MAX(tp))) printk(KERN_ERR "TID %u: credit imbalance: avail %u, " "pending %u, total should be %u\n", TID(tp), WR_AVAIL(tp), pending, WR_MAX(tp)); @@ -737,7 +711,7 @@ #endif static void -t3_idiag_get_info(struct socket *so, u32 ext, struct mbuf *skb) +t3_idiag_get_info(struct socket *so, uint32_t ext, struct mbuf *skb) { #if DEBUG_WR if (ext & (1 << (INET_DIAG_MEMINFO - 1))) { @@ -751,7 +725,7 @@ if (ext & (1 << INET_DIAG_MAX)) { struct rtattr *rta; struct t3_inet_diag_info *info; - const struct tcp_sock *tp = tcp_sk(sk); + const struct tcpcb *tp = sototcpcb(so); rta = __RTA_PUT(skb, INET_DIAG_MAX + 1, sizeof(*info)); info = RTA_DATA(rta); @@ -817,7 +791,7 @@ } } -static void act_open_req_arp_failure(struct t3cdev *dev, struct mbuf *skb); +static void act_open_req_arp_failure(struct toedev *dev, struct mbuf *skb); static void fail_act_open(struct socket *so, int errno) @@ -833,7 +807,7 @@ act_open_retry_timer(unsigned long data) { struct mbuf *skb; - struct socket *so = (struct sock *)data; + struct socket *so = (struct socket *)data; struct inet_connection_sock *icsk = inet_csk(sk); bh_lock_sock(sk); @@ -847,9 +821,9 @@ else { skb->sk = sk; set_arp_failure_handler(skb, act_open_req_arp_failure); - mk_act_open_req(sk, skb, TID(tcp_sk(sk)), + mk_act_open_req(sk, skb, TID(sototcpcb(so)), L2T_ENTRY(sk)); - l2t_send(T3C_DEV(sk), skb, L2T_ENTRY(sk)); + l2t_send(TOE_DEV(sk), skb, L2T_ENTRY(sk)); } } bh_unlock_sock(sk); @@ -889,7 +863,7 @@ * Process an ACT_OPEN_RPL CPL message. */ static int -do_act_open_rpl(struct t3cdev *cdev, struct mbuf *m, void *ctx) +do_act_open_rpl(struct toedev *cdev, struct mbuf *m, void *ctx) { struct socket *so = (struct socket *)ctx; struct cpl_act_open_rpl *rpl = cplhdr(m); @@ -897,7 +871,7 @@ VALIDATE_SOCK(so); if (cdev->type != T3A && act_open_has_tid(rpl->status)) - cxgb3_queue_tid_release(cdev, GET_TID(rpl)); + cxgb_queue_tid_release(cdev, GET_TID(rpl)); process_cpl_msg_ref(active_open_failed, sk, skb); return 0; @@ -911,7 +885,7 @@ * check SOCK_DEAD or sk->sk_sock. Or maybe generate the error here but don't * free the atid. Hmm. */ -static void act_open_req_arp_failure(struct t3cdev *dev, struct mbuf *skb) +static void act_open_req_arp_failure(struct toedev *dev, struct mbuf *skb) { struct socket *so = skb->sk; @@ -986,7 +960,7 @@ unsigned int tid, struct l2t_entry *e, struct dst_entry *dst) { - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); TOE_DEV(sk) = dev; TID(tp) = tid; @@ -1020,10 +994,10 @@ struct mbuf *skb; struct l2t_entry *e; struct tom_data *d = TOM_DATA(tdev); - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); struct dst_entry *dst = __sk_dst_get(sk); - int atid = cxgb3_alloc_atid(d->cdev, d->client, sk); + int atid = cxgb_alloc_atid(d->cdev, d->client, sk); if (atid < 0) goto out_err; @@ -1063,12 +1037,12 @@ * Handle an ARP failure for a CPL_ABORT_REQ. Change it into a no RST variant * and send it along. */ -static void abort_arp_failure(struct t3cdev *cdev, struct mbuf *skb) +static void abort_arp_failure(struct toedev *cdev, struct mbuf *skb) { struct cpl_abort_req *req = cplhdr(skb); req->cmd = CPL_ABORT_NO_RST; - cxgb3_ofld_send(cdev, skb); + cxgb_ofld_send(cdev, skb); } /* @@ -1080,10 +1054,10 @@ int t3_send_reset(struct socket *so, int mode, struct mbuf *skb) { struct cpl_abort_req *req; - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); unsigned int tid = TID(tp); - if (unlikely(sock_flag(sk, ABORT_SHUTDOWN) || !TOE_DEV(sk))) { + if (__predict_false(sock_flag(sk, ABORT_SHUTDOWN) || !TOE_DEV(sk))) { if (skb) __kfree_skb(skb); return 1; @@ -1113,7 +1087,7 @@ if (sk->sk_state == TCP_SYN_SENT) __skb_queue_tail(&tp->out_of_order_queue, skb); // defer else - l2t_send(T3C_DEV(sk), skb, L2T_ENTRY(sk)); + l2t_send(TOE_DEV(sk), skb, L2T_ENTRY(sk)); return 0; } EXPORT_SYMBOL(t3_send_reset); @@ -1125,7 +1099,7 @@ * * Modeled after code in inet_csk_listen_stop(). */ -static void reset_listen_child(struct sock *child) +static void reset_listen_child(struct socket *child) { struct mbuf *skb = alloc_skb_nofail(sizeof(struct cpl_abort_req)); @@ -1193,11 +1167,11 @@ mtx_unlock(&reap_list_lock); } -static void __set_tcb_field(struct socket *so, struct mbuf *skb, u16 word, - u64 mask, u64 val, int no_reply) +static void __set_tcb_field(struct socket *so, struct mbuf *skb, uint16_t word, + uint64_t mask, uint64_t val, int no_reply) { struct cpl_set_tcb_field *req; - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); req = (struct cpl_set_tcb_field *)__skb_put(skb, sizeof(*req)); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); @@ -1212,14 +1186,14 @@ send_or_defer(sk, tp, skb, 0); } -void t3_set_tcb_field(struct socket *so, u16 word, u64 mask, u64 val) +void t3_set_tcb_field(struct socket *so, uint16_t word, uint64_t mask, uint64_t val) { struct mbuf *skb; if (sk->sk_state == TCP_CLOSE || sock_flag(sk, ABORT_SHUTDOWN)) return; - skb = alloc_ctrl_skb(tcp_sk(sk), sizeof(struct cpl_set_tcb_field)); + skb = alloc_ctrl_skb(sototcpcb(so), sizeof(struct cpl_set_tcb_field)); __set_tcb_field(sk, skb, word, mask, val, 1); } @@ -1236,7 +1210,7 @@ */ void t3_set_nagle(struct socket *so) { - set_tcb_tflag(sk, S_TF_NAGLE, !(tcp_sk(sk)->nonagle & TCP_NAGLE_OFF)); + set_tcb_tflag(sk, S_TF_NAGLE, !(sototcpcb(so)->nonagle & TCP_NAGLE_OFF)); } /* @@ -1277,7 +1251,7 @@ V_TCB_RX_DDP_BUF0_LEN(3)) << 32)) #define TP_DDP_TIMER_WORKAROUND_VAL\ (V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_ACTIVE_BUF(0) |\ - ((V_TCB_RX_DDP_BUF0_OFFSET((u64)1) | V_TCB_RX_DDP_BUF0_LEN((u64)2)) <<\ + ((V_TCB_RX_DDP_BUF0_OFFSET((uint64_t)1) | V_TCB_RX_DDP_BUF0_LEN((uint64_t)2)) <<\ 32)) void @@ -1310,14 +1284,14 @@ t3_set_tcb_field(sk, W_TCB_RX_DDP_BUF0_OFFSET, V_TCB_RX_DDP_BUF0_OFFSET(M_TCB_RX_DDP_BUF0_OFFSET) | V_TCB_RX_DDP_BUF0_LEN(M_TCB_RX_DDP_BUF0_LEN), - V_TCB_RX_DDP_BUF0_OFFSET((u64)offset) | - V_TCB_RX_DDP_BUF0_LEN((u64)len)); + V_TCB_RX_DDP_BUF0_OFFSET((uint64_t)offset) | + V_TCB_RX_DDP_BUF0_LEN((uint64_t)len)); else t3_set_tcb_field(sk, W_TCB_RX_DDP_BUF1_OFFSET, V_TCB_RX_DDP_BUF1_OFFSET(M_TCB_RX_DDP_BUF1_OFFSET) | V_TCB_RX_DDP_BUF1_LEN(M_TCB_RX_DDP_BUF1_LEN << 32), - V_TCB_RX_DDP_BUF1_OFFSET((u64)offset) | - V_TCB_RX_DDP_BUF1_LEN(((u64)len) << 32)); + V_TCB_RX_DDP_BUF1_OFFSET((uint64_t)offset) | + V_TCB_RX_DDP_BUF1_LEN(((uint64_t)len) << 32)); } int @@ -1338,7 +1312,7 @@ t3_get_tcb(struct socket *so) { struct cpl_get_tcb *req; - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); struct mbuf *skb = alloc_skb(sizeof(*req), gfp_any()); if (!skb) @@ -1348,11 +1322,11 @@ req = (struct cpl_get_tcb *)__skb_put(skb, sizeof(*req)); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_GET_TCB, TID(tp))); - req->cpuno = htons(qset(tcp_sk(sk))); + req->cpuno = htons(qset(sototcpcb(so))); if (sk->sk_state == TCP_SYN_SENT) __skb_queue_tail(&tp->out_of_order_queue, skb); // defer else - cxgb3_ofld_send(T3C_DEV(sk), skb); + cxgb_ofld_send(TOE_DEV(sk), skb); return 0; } @@ -1362,8 +1336,8 @@ * permitted to return without sending the message in case we cannot allocate * an mbuf. Returns the number of credits sent. */ -u32 -t3_send_rx_credits(struct socket *so, u32 credits, u32 dack, int nofail) +uint32_t +t3_send_rx_credits(struct socket *so, uint32_t credits, uint32_t dack, int nofail) { struct cpl_rx_data_ack *req; struct mbuf *skb; @@ -1380,11 +1354,11 @@ req = (struct cpl_rx_data_ack *)__skb_put(skb, sizeof(*req)); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, - TID(tcp_sk(sk)))); + TID(sototcpcb(so)))); req->credit_dack = htonl(dack | V_RX_CREDITS(credits) | V_RX_FORCE_ACK(nofail)); skb->priority = mkprio(CPL_PRIORITY_ACK, sk); - cxgb3_ofld_send(T3C_DEV(sk), skb); + cxgb_ofld_send(TOE_DEV(sk), skb); return credits; } @@ -1398,7 +1372,7 @@ { struct mbuf *skb; struct cpl_rx_data_ack *req; - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); skb = alloc_ctrl_skb(tp, sizeof(*req)); @@ -1409,7 +1383,7 @@ V_RX_DACK_MODE(1) | V_RX_CREDITS(tp->copied_seq - tp->rcv_wup)); skb->priority = mkprio(CPL_PRIORITY_CONTROL, sk); - cxgb3_ofld_send(T3C_DEV(sk), skb); + cxgb_ofld_send(TOE_DEV(sk), skb); tp->rcv_wup = tp->copied_seq; } @@ -1417,9 +1391,9 @@ * Handle receipt of an urgent pointer. */ static void -handle_urg_ptr(struct socket *so, u32 urg_seq) +handle_urg_ptr(struct socket *so, uint32_t urg_seq) { - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); urg_seq--; /* initially points past the urgent data, per BSD */ @@ -1524,15 +1498,15 @@ static void tcb_rpl_as_ddp_complete(struct socket *so, struct mbuf *m) { - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); struct ddp_state *q = DDP_STATE(tp); struct ddp_buf_state *bsp; struct cpl_get_tcb_rpl *hdr; unsigned int ddp_offset; - u64 t; + uint64_t t; __be64 *tcb; - if (unlikely(!(tp = tcp_sk(sk)) || !(q = DDP_STATE(tp)))) { + if (__predict_false(!(tp = sototcpcb(so)) || !(q = DDP_STATE(tp)))) { kfree_skb(skb); return; } @@ -1609,7 +1583,7 @@ bsp->cur_offset = ddp_offset; skb->len = ddp_offset - TCP_SKB_CB(skb)->when; - if (unlikely(sk_no_receive(sk) && skb->len)) { + if (__predict_false(sk_no_receive(sk) && skb->len)) { handle_excess_rx(sk, skb); return; } @@ -1687,7 +1661,7 @@ static int do_get_tcb_rpl(struct toedev *cdev, struct mbuf *m, void *ctx) { - struct socket *so = (struct sock *)ctx; + struct socket *so = (struct socket *)ctx; /* OK if socket doesn't exist */ if (!sk) @@ -1700,7 +1674,7 @@ static void handle_ddp_data(struct socket *so, struct mbuf *m) { - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); struct ddp_state *q; struct ddp_buf_state *bsp; struct cpl_rx_data *hdr = cplhdr(m); @@ -1746,9 +1720,9 @@ new_rx_data(struct socket *so, struct mbuf *m) { struct cpl_rx_data *hdr = cplhdr(skb); - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); - if (unlikely(sk_no_receive(sk))) { + if (__predict_false(sk_no_receive(sk))) { handle_excess_rx(sk, skb); return; } @@ -1761,7 +1735,7 @@ skb_ulp_mode(skb) = 0; /* for iSCSI */ #if VALIDATE_SEQ - if (unlikely(TCP_SKB_CB(skb)->seq != tp->rcv_nxt)) { + if (__predict_false(TCP_SKB_CB(skb)->seq != tp->rcv_nxt)) { printk(KERN_ERR "%s: TID %u: Bad sequence number %u, expected %u\n", TOE_DEV(sk)->name, TID(tp), TCP_SKB_CB(skb)->seq, @@ -1774,14 +1748,14 @@ if (!skb->data_len) __skb_trim(skb, ntohs(hdr->len)); - if (unlikely(hdr->urg)) + if (__predict_false(hdr->urg)) handle_urg_ptr(sk, tp->rcv_nxt + ntohs(hdr->urg)); - if (unlikely(tp->urg_data == TCP_URG_NOTYET && + if (__predict_false(tp->urg_data == TCP_URG_NOTYET && tp->urg_seq - tp->rcv_nxt < skb->len)) tp->urg_data = TCP_URG_VALID | skb->data[tp->urg_seq - tp->rcv_nxt]; - if (unlikely(hdr->dack_mode != DELACK_MODE(sk))) { + if (__predict_false(hdr->dack_mode != DELACK_MODE(sk))) { DELACK_MODE(sk) = hdr->dack_mode; DELACK_SEQ(tp) = tp->rcv_nxt; } @@ -1804,9 +1778,9 @@ * Handler for RX_DATA CPL messages. */ static int -do_rx_data(struct t3cdev *cdev, struct mbuf *skb, void *ctx) +do_rx_data(struct toedev *cdev, struct mbuf *skb, void *ctx) { - struct socket *so = (struct sock *)ctx; + struct socket *so = (struct socket *)ctx; VALIDATE_SOCK(sk); @@ -1820,18 +1794,18 @@ static void new_rx_data_ddp(struct socket *so, struct mbuf *skb) { - struct tcp_sock *tp; + struct tcpcb *tp; struct ddp_state *q; struct ddp_buf_state *bsp; struct cpl_rx_data_ddp *hdr; unsigned int ddp_len, rcv_nxt, ddp_report, end_offset, buf_idx; - if (unlikely(sk_no_receive(sk))) { + if (__predict_false(sk_no_receive(sk))) { handle_excess_rx(sk, skb); return; } - tp = tcp_sk(sk); + tp = sototcpcb(so); q = DDP_STATE(tp); hdr = cplhdr(skb); ddp_report = ntohl(hdr->ddp_report); @@ -1913,14 +1887,14 @@ * Handler for RX_DATA_DDP CPL messages. */ static int -do_rx_data_ddp(struct t3cdev *cdev, struct mbuf *m, void *ctx) +do_rx_data_ddp(struct toedev *cdev, struct mbuf *m, void *ctx) { struct socket *so = ctx; const struct cpl_rx_data_ddp *hdr = cplhdr(m); VALIDATE_SOCK(sk); - if (unlikely(ntohl(hdr->ddpvld_status) & DDP_ERR)) { + if (__predict_false(ntohl(hdr->ddpvld_status) & DDP_ERR)) { printk(KERN_ERR "RX_DATA_DDP for TID %u reported error 0x%x\n", GET_TID(hdr), G_DDP_VALID(ntohl(hdr->ddpvld_status))); return CPL_RET_BUF_DONE; @@ -1934,18 +1908,18 @@ static void process_ddp_complete(struct socket *so, struct mbuf *m) { - struct tcp_sock *tp = tcp_sk(sk); + struct tcpcb *tp = sototcpcb(so); struct ddp_state *q; struct ddp_buf_state *bsp; struct cpl_rx_ddp_complete *hdr; unsigned int ddp_report, buf_idx; - if (unlikely(sk_no_receive(sk))) { + if (__predict_false(sk_no_receive(sk))) { handle_excess_rx(sk, skb); return; } - tp = tcp_sk(sk); + tp = sototcpcb(so); q = DDP_STATE(tp); hdr = cplhdr(skb); ddp_report = ntohl(hdr->ddp_report); @@ -2011,7 +1985,7 @@ static void enter_timewait(struct socket *so) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Apr 29 07:36: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 5562616A404; Sun, 29 Apr 2007 07:36: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 13CCB16A400 for ; Sun, 29 Apr 2007 07:36:01 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 057E513C480 for ; Sun, 29 Apr 2007 07:36:01 +0000 (UTC) (envelope-from kmacy@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 l3T7a02Q068384 for ; Sun, 29 Apr 2007 07:36:00 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3T7a0Kq068381 for perforce@freebsd.org; Sun, 29 Apr 2007 07:36:00 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 29 Apr 2007 07:36:00 GMT Message-Id: <200704290736.l3T7a0Kq068381@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 118931 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, 29 Apr 2007 07:36:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=118931 Change 118931 by kmacy@kmacy_vt-x:opentoe_init on 2007/04/29 07:35:08 more BSD conversion Affected files ... .. //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toe_offload.c#2 edit .. //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toe_offload.h#3 edit .. //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toedev.c#4 edit .. //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toedev.h#3 edit Differences ... ==== //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toe_offload.c#2 (text+ko) ==== @@ -1,24 +1,34 @@ -/* - * TCP offload support. - * - * Copyright (C) 2003-2006 Chelsio Communications. All rights reserved. - * - * Written by Dimitris Michailidis (dm@chelsio.com) - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 59 - * Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ +/************************************************************************** + +Copyright (c) 2007, Chelsio Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Neither the name of the Chelsio Corporation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +***************************************************************************/ + +#include +__FBSDID("$FreeBSD$"); #include #include @@ -38,27 +48,27 @@ static DECLARE_MUTEX(notify_mutex); static RAW_NOTIFIER_HEAD(listen_offload_notify_list); -int register_listen_offload_notifier(struct notifier_block *nb) +int +register_listen_offload_notifier(struct notifier_block *nb) { int err; - down(¬ify_mutex); + mtx_lock(¬ify_mutex); err = raw_notifier_chain_register(&listen_offload_notify_list, nb); - up(¬ify_mutex); + mtx_unlock¬ify_mutex); return err; } -EXPORT_SYMBOL(register_listen_offload_notifier); -int unregister_listen_offload_notifier(struct notifier_block *nb) +int +unregister_listen_offload_notifier(struct notifier_block *nb) { int err; - down(¬ify_mutex); + mtx_lock(¬ify_mutex); err = raw_notifier_chain_unregister(&listen_offload_notify_list, nb); - up(¬ify_mutex); + mtx_unlock¬ify_mutex); return err; } -EXPORT_SYMBOL(unregister_listen_offload_notifier); #if defined(CONFIG_TCP_OFFLOAD) || \ (defined(CONFIG_TCP_OFFLOAD_MODULE) && defined(MODULE)) @@ -69,7 +79,8 @@ * * Returns 1 if the connection is offloaded and 0 otherwise. */ -int tcp_connect_offload(struct sock *sk) +int +tcp_connect_offload(struct socket *so) { if (sk->sk_route_caps & NETIF_F_TCPIP_OFFLOAD) { struct net_device *netdev = __sk_dst_get(sk)->dev; @@ -83,7 +94,6 @@ } return 0; } -EXPORT_SYMBOL(tcp_connect_offload); /* * TOE capable backlog handler. This is used for offloaded listening sockets @@ -91,7 +101,8 @@ * distinguish TOE from IP packets easily as the former lack network headers. * Such TOE packets are fed to a TOE-specific backlog handler. */ -static int listen_backlog_rcv(struct sock *sk, struct sk_buff *skb) +static int +listen_backlog_rcv(struct socket *so, struct mbuf *m) { if (likely(skb->h.raw != skb->nh.raw)) return tcp_v4_do_rcv(sk, skb); @@ -104,41 +115,42 @@ * We check if the socket should be offloaded according to the current * offloading policies, and if so, publish an OFFLOAD_LISTEN_START event. */ -int start_listen_offload(struct sock *sk) +int +start_listen_offload(struct socket *so) { // IPv4 TCP only for now - if (sk->sk_family != PF_INET || sk->sk_protocol != IPPROTO_TCP) - return -EPROTONOSUPPORT; + if (so->pr_domain->dom_family != AF_INET || + so->so_proto->pr_protocol != IPPROTO_TCP) + return (EPROTONOSUPPORT); // filter out loopback listens if (LOOPBACK(inet_sk(sk)->rcv_saddr)) - return -EADDRNOTAVAIL; + return (EADDRNOTAVAIL); // Install a TOE capable backlog handler sk->sk_backlog_rcv = listen_backlog_rcv; - down(¬ify_mutex); + mtx_lock(¬ify_mutex); raw_notifier_call_chain(&listen_offload_notify_list, OFFLOAD_LISTEN_START, sk); - up(¬ify_mutex); + mtx_unlock¬ify_mutex); return 0; } -EXPORT_SYMBOL(start_listen_offload); /* * Called when the SW stack is preparing to close an existing listening socket. * We publish an OFFLOAD_LISTEN_STOP event. */ -int stop_listen_offload(struct sock *sk) +int +stop_listen_offload(struct socket *so) { if (sk->sk_family != PF_INET || sk->sk_protocol != IPPROTO_TCP) - return -EPROTONOSUPPORT; + return (EPROTONOSUPPORT); - down(¬ify_mutex); + mtx_lock(¬ify_mutex); raw_notifier_call_chain(&listen_offload_notify_list, OFFLOAD_LISTEN_STOP, sk); - up(¬ify_mutex); + mtx_unlock¬ify_mutex); return 0; } -EXPORT_SYMBOL(stop_listen_offload); #endif ==== //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toe_offload.h#3 (text+ko) ==== @@ -1,3 +1,35 @@ + +/************************************************************************** + +Copyright (c) 2007, Chelsio Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Neither the name of the Chelsio Corporation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +$FreeBSD$ + +***************************************************************************/ + #ifndef _NET_OFFLOAD_H #define _NET_OFFLOAD_H @@ -16,7 +48,7 @@ #if 0 /* Per-skb backlog handler. Run when a socket's backlog is processed. */ struct blog_skb_cb { - void (*backlog_rcv) (struct sock *sk, struct sk_buff *skb); + void (*backlog_rcv) (struct sock *sk, struct mbuf *m); struct toedev *dev; }; ==== //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toedev.c#4 (text+ko) ==== @@ -10,11 +10,7 @@ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Chelsio Corporation nor the names of its + 2. Neither the name of the Chelsio Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -30,8 +26,10 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +***************************************************************************/ -***************************************************************************/ +#include +__FBSDID("$FreeBSD$"); #include #include @@ -85,7 +83,7 @@ { struct tom_info *t; - list_for_each_entry(t, &offload_module_list, list_node) { + TAILQ_FOREACH(&offload_module_list, t, entry) { const struct offload_id *entry; entry = id_find(dev->ttid, t->id_table); @@ -226,11 +224,6 @@ return len; } -#else -#define offload_proc_init() 0 -#define offload_proc_cleanup() -#define create_offload_proc_dir(name) NULL -#define delete_offload_proc_dir(dev) #endif /** @@ -270,7 +263,7 @@ goto out; dev->offload_mod = NULL; - list_add_tail(&dev->toe_list, &offload_dev_list); + TAILQ_INSERT_TAIL(&offload_dev_list, dev, entry); out: mtx_unlock(&offload_db_lock); return ret; @@ -297,7 +290,7 @@ ret = EBUSY; goto out; } - TAILQ_REMOVE(&offload_dev_list ,dev, entry); + TAILQ_REMOVE(&offload_dev_list, dev, entry); out: mtx_unlock(&offload_db_lock); return ret; @@ -332,28 +325,25 @@ /** * toe_send - send a packet to a TOE device * @dev: the device - * @skb: the packet + * @m: the packet * * Sends an mbuf to a TOE driver after dealing with any active network taps. */ -int toe_send(struct toedev *dev, struct mbuf *skb) +int +toe_send(struct toedev *dev, struct mbuf *m) { int r; - local_bh_disable(); - if (unlikely(netdev_nit)) { /* deal with active taps */ - skb->nh.raw = skb->data; - if (!skb->dev) - skb->dev = dev->lldev; - dev_queue_xmit_nit(skb, skb->dev); - } - r = dev->send(dev, skb); - local_bh_enable(); + critical_enter(); /* XXX neccessary? */ + r = dev->send(dev, m); + critical_exit(); + if (r) + BPF_MTAP(dev->lldev, m); return r; } /** - * toe_receive_skb - process n received TOE packets + * toe_receive_mbuf - process n received TOE packets * @dev: the toe device * @m: an array of offload packets * @n: the number of offload packets @@ -364,15 +354,14 @@ * it the whole array at once except when there are active taps. */ int -toe_receive_skb(struct toedev *dev, struct mbuf **m, int n) +toe_receive_mbuf(struct toedev *dev, struct mbuf **m, int n) { - if (likely(!netdev_nit)) + if (likely(!bpf_peers_present(dev->lldev->if_bpf))) return dev->recv(dev, m, n); for ( ; n; n--, m++) { - m[0]->dev = dev->lldev; - dev_queue_xmit_nit(m[0], dev->lldev); - m[0]->dev = NULL; + m[0]->m_pkthdr.rcvif = dev->lldev; + BPF_MTAP(dev->lldev, m[0]); dev->recv(dev, m, 1); } return 0; @@ -385,15 +374,15 @@ } void -toe_neigh_update(struct rtentry *neigh) +toe_arp_update(struct rtentry *rt) { - struct ifnet *dev = neigh->dev; + struct ifnet *ifp = rt->rt_ifp; - if (dev && netdev_is_offload(dev)) { - struct toedev *tdev = TOEDEV(dev); + if (ifp && netdev_is_offload(ifp)) { + struct toedev *tdev = TOEDEV(ifp); - if (tdev && tdev->neigh_update) - tdev->neigh_update(tdev, neigh); + if (tdev && tdev->arp_update) + tdev->arp_update(tdev, rt); } } @@ -473,27 +462,27 @@ } static void -virtual_neigh_update(struct toedev *dev, struct rtentry *neigh) +virtual_arp_update(struct toedev *dev, struct rtentry *rt) { - struct ifnet *child = neigh->dev; - - if (neigh->dev->priv_flags & IFF_802_1Q_VLAN) + struct ifnet *child = rt->rt_ifp; +#ifdef notyet + if (rt->rt_ifp->if_flags & IFF_802_1Q_VLAN) child = VLAN_DEV_INFO(child)->real_dev; - +#endif if (netdev_is_offload(child)) { struct toedev *tdev = TOEDEV(child); if (child->flags & IFF_MASTER) - toe_bond_neigh_propagate(child, neigh); + toe_bond_arp_propagate(child, neigh); else - tdev->neigh_update(tdev, neigh); + tdev->arp_update(tdev, rt); } } static struct toedev virtual_offload_dev = { .can_offload = virtual_can_offload, .connect = virtual_connect, - .neigh_update = virtual_neigh_update + .arp_update = virtual_arp_update }; /* @@ -517,8 +506,8 @@ /** * toe_enslave - check the enslaving procedure * for TOE enabled devices - * @bond_dev: bonding master net device - * @slave_dev: device to be enslaved + * @bond_ifp: bonding master ifnet + * @slave_ifp: ifnet to be enslaved * * Bonding in TOE context currently has these limitations: * - all slaves must be TOE enabled, @@ -527,34 +516,34 @@ * */ int -toe_enslave(struct ifnet *bond_dev, struct ifnet *slave_dev) +toe_enslave(struct ifnet *bond_ifp, struct ifnet *slave_ifp) { struct toedev *tdev; int slave_count; int ret = 0; - if (!netdev_is_offload(bond_dev)) + if (!netdev_is_offload(bond_ifp)) return 0; - if (!is_bmode_supported(bond_dev)) + if (!is_bmode_supported(bond_ifp)) return EOPNOTSUPP; - tdev = toe_bond_slave_toedev(bond_dev); - slave_count = toe_bond_slavecnt(bond_dev); + tdev = toe_bond_slave_toedev(bond_ifp); + slave_count = toe_bond_slavecnt(bond_ifp); /* First slave */ if ((slave_count == 1) && (netdev_is_offload(slave_dev))) { /* Device is TOE enabled, bonding mode is supported */ - TOEDEV(bond_dev) = &virtual_offload_dev; + TOEDEV(bond_ifp) = &virtual_offload_dev; bond_dev->hard_header_len = slave_dev->hard_header_len; } /* Mix of TOE enabled and regular devices not supported */ - else if (netdev_is_offload(bond_dev) ^ netdev_is_offload(slave_dev)) + else if (netdev_is_offload(bond_ifp) ^ netdev_is_offload(slave_ifp)) ret = EOPNOTSUPP; /* TOE enabled device belongs to another adapter */ - else if (tdev != TOEDEV(slave_dev)) + else if (tdev != TOEDEV(slave_ifp)) ret = EOPNOTSUPP; return ret; @@ -562,21 +551,21 @@ /** * toe_failover - executes failover for offloaded connections - * @bond_dev: bonding master net device - * @dev: slave device triggering the failover event + * @bond_ifp: bonding master net device + * @ifp: slave device triggering the failover event * @event: change of active slave, or 802.3ad port down|up * * Called under bond driver locks. */ void -toe_failover(struct ifnet *bond_dev, struct ifnet *dev, int event) +toe_failover(struct ifnet *bond_ifp, struct ifnet *ifp, int event) { - if (netdev_is_offload(bond_dev)) { - struct toedev *tdev = toe_bond_slave_toedev(bond_dev); - - if (tdev) - tdev->failover(tdev, bond_dev, dev, event); + if (netdev_is_offload(bond_ifp)) { + struct toedev *tdev = toe_bond_slave_toedev(bond_ifp); + + if (tdev) + tdev->failover(tdev, bond_ifp, dev, event); } } @@ -587,10 +576,6 @@ static int offload_init(void) { - /* We tolerate proc failures */ - if (offload_proc_init()) - printk(KERN_WARNING "Unable to create /proc/net/offload\n"); - /* We tolerate notifier registration failures */ if (register_netdevice_notifier(&virt_dev_notifier) < 0) printk(KERN_WARNING ==== //depot/projects/opentoe/sys/dev/cxgb/ulp/toecore/toedev.h#3 (text+ko) ==== @@ -10,11 +10,7 @@ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Chelsio Corporation nor the names of its + 2. Neither the name of the Chelsio Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -33,6 +29,7 @@ $FreeBSD$ ***************************************************************************/ + #ifndef _OFFLOAD_DEV_H_ #define _OFFLOAD_DEV_H_ @@ -103,12 +100,12 @@ int (*close)(struct toedev *dev); int (*can_offload)(struct toedev *dev, struct socket *so); int (*connect)(struct toedev *dev, struct socket *so, - struct ifnet *egress_dev); - int (*send)(struct toedev *dev, struct mbuf *skb); - int (*recv)(struct toedev *dev, struct mbuf **skb, int n); + struct ifnet *egress_ifp); + int (*send)(struct toedev *dev, struct mbuf *m); + int (*recv)(struct toedev *dev, struct mbuf **m, int n); int (*ctl)(struct toedev *dev, unsigned int req, void *data); void (*neigh_update)(struct toedev *dev, struct rtentry *neigh); - void (*failover)(struct toedev *dev, struct ifnet *bond_dev, + void (*failover)(struct toedev *dev, struct ifnet *bond_ifp, struct ifnet *ndev, int event); void *priv; /* driver private data */ void *l2opt; /* optional layer 2 data */ @@ -135,38 +132,38 @@ extern int register_toedev(struct toedev *dev, const char *name); extern int unregister_toedev(struct toedev *dev); extern int activate_offload(struct toedev *dev); -extern int toe_send(struct toedev *dev, struct mbuf *skb); +extern int toe_send(struct toedev *dev, struct mbuf *m); extern struct ifnet *offload_get_phys_egress(struct ifnet *dev, struct socket *so, int context); #if defined(CONFIG_TCP_OFFLOAD_MODULE) -static inline int toe_receive_skb(struct toedev *dev, struct mbuf **skb, +static inline int toe_receive_mbuf(struct toedev *dev, struct mbuf **m, int n) { - return dev->recv(dev, skb, n); + return dev->recv(dev, m, n); } extern int prepare_tcp_for_offload(void); extern void restore_tcp_to_nonoffload(void); #elif defined(CONFIG_TCP_OFFLOAD) -extern int toe_receive_skb(struct toedev *dev, struct mbuf **skb, int n); +extern int toe_receive_mbuf(struct toedev *dev, struct mbuf **m, int n); #endif #if defined(CONFIG_TCP_OFFLOAD) || \ (defined(CONFIG_TCP_OFFLOAD_MODULE) && defined(MODULE)) extern void toe_neigh_update(struct rtentry *neigh); -extern void toe_failover(struct ifnet *bond_dev, - struct ifnet *fail_dev, int event); -extern int toe_enslave(struct ifnet *bond_dev, - struct ifnet *slave_dev); +extern void toe_failover(struct ifnet *bond_ifp, + struct ifnet *fail_ifp, int event); +extern int toe_enslave(struct ifnet *bond_ifp, + struct ifnet *slave_ifp); #else static inline void toe_neigh_update(struct ifnet *neigh) {} -static inline void toe_failover(struct ifnet *bond_dev, - struct ifnet *fail_dev, int event) +static inline void toe_failover(struct ifnet *bond_ifp, + struct ifnet *fail_ifp, int event) {} -static inline int toe_enslave(struct ifnet *bond_dev, - struct ifnet *slave_dev) +static inline int toe_enslave(struct ifnet *bond_ifp, + struct ifnet *slave_ifp) { return 0; } From owner-p4-projects@FreeBSD.ORG Sun Apr 29 08:32: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 1992616A404; Sun, 29 Apr 2007 08:32: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 CA7F316A402 for ; Sun, 29 Apr 2007 08:32:14 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id BBA9113C487 for ; Sun, 29 Apr 2007 08:32:14 +0000 (UTC) (envelope-from imp@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 l3T8WEcI079034 for ; Sun, 29 Apr 2007 08:32:14 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3T8WAP4079006 for perforce@freebsd.org; Sun, 29 Apr 2007 08:32:10 GMT (envelope-from imp@freebsd.org) Date: Sun, 29 Apr 2007 08:32:10 GMT Message-Id: <200704290832.l3T8WAP4079006@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 118932 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, 29 Apr 2007 08:32:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=118932 Change 118932 by imp@imp_paco-paco on 2007/04/29 08:31:47 IFC @118931 Affected files ... .. //depot/projects/arm/src/MAINTAINERS#6 integrate .. //depot/projects/arm/src/ObsoleteFiles.inc#19 integrate .. //depot/projects/arm/src/UPDATING#14 integrate .. //depot/projects/arm/src/compat/opensolaris/misc/fsshare.c#2 integrate .. //depot/projects/arm/src/contrib/opensolaris/cmd/zdb/zdb.c#2 integrate .. //depot/projects/arm/src/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c#2 integrate .. //depot/projects/arm/src/contrib/opensolaris/lib/libzfs/common/libzfs_config.c#2 integrate .. //depot/projects/arm/src/contrib/opensolaris/lib/libzfs/common/libzfs_import.c#2 integrate .. //depot/projects/arm/src/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#3 integrate .. //depot/projects/arm/src/contrib/sendmail/libmilter/engine.c#3 integrate .. //depot/projects/arm/src/contrib/sendmail/libmilter/listener.c#3 integrate .. //depot/projects/arm/src/contrib/sendmail/libmilter/main.c#3 integrate .. //depot/projects/arm/src/contrib/top/top.c#3 integrate .. //depot/projects/arm/src/etc/mtree/BSD.include.dist#7 integrate .. //depot/projects/arm/src/etc/rc.d/zfs#3 integrate .. //depot/projects/arm/src/etc/sendmail/freebsd.mc#3 integrate .. //depot/projects/arm/src/etc/sendmail/freebsd.submit.mc#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_disk_set_standard_lookup.c#2 integrate .. //depot/projects/arm/src/lib/libbsm/Makefile#4 integrate .. //depot/projects/arm/src/lib/libc/net/rthdr.c#2 integrate .. //depot/projects/arm/src/lib/libc/stdio/fputs.3#3 integrate .. //depot/projects/arm/src/lib/libc/sys/send.2#4 integrate .. //depot/projects/arm/src/lib/libexpat/expat_config.h#2 integrate .. //depot/projects/arm/src/lib/libfetch/fetch.3#2 integrate .. //depot/projects/arm/src/lib/libfetch/ftp.c#2 integrate .. //depot/projects/arm/src/lib/libpthread/thread/thr_info.c#3 integrate .. //depot/projects/arm/src/libexec/ftpd/ftpcmd.y#2 integrate .. //depot/projects/arm/src/libexec/ftpd/ftpd.8#2 integrate .. //depot/projects/arm/src/libexec/ftpd/ftpd.c#3 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#9 integrate .. //depot/projects/arm/src/sbin/fdisk_pc98/fdisk.8#3 integrate .. //depot/projects/arm/src/sbin/fdisk_pc98/fdisk.c#2 integrate .. //depot/projects/arm/src/sbin/ping6/ping6.c#2 integrate .. //depot/projects/arm/src/share/examples/Makefile#2 integrate .. //depot/projects/arm/src/share/examples/netgraph/bluetooth/rc.bluetooth#2 delete .. //depot/projects/arm/src/share/man/man4/Makefile#11 integrate .. //depot/projects/arm/src/share/man/man4/led.4#2 integrate .. //depot/projects/arm/src/share/man/man4/sbsh.4#2 integrate .. //depot/projects/arm/src/share/man/man4/vlan.4#5 integrate .. //depot/projects/arm/src/share/man/man4/worm.4#2 delete .. //depot/projects/arm/src/share/man/man7/hier.7#8 integrate .. //depot/projects/arm/src/share/man/man8/nanobsd.8#3 integrate .. //depot/projects/arm/src/share/man/man9/pseudofs.9#2 integrate .. //depot/projects/arm/src/share/misc/committers-ports.dot#4 integrate .. //depot/projects/arm/src/share/misc/committers-src.dot#4 integrate .. //depot/projects/arm/src/share/misc/organization.dot#2 integrate .. //depot/projects/arm/src/share/mk/version_gen.awk#2 integrate .. //depot/projects/arm/src/sys/amd64/amd64/busdma_machdep.c#12 integrate .. //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#19 integrate .. //depot/projects/arm/src/sys/amd64/amd64/pmap.c#32 integrate .. //depot/projects/arm/src/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/arm/src/sys/amd64/include/vmparam.h#2 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_dummy.c#9 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_machdep.c#15 integrate .. //depot/projects/arm/src/sys/bsm/audit.h#9 integrate .. //depot/projects/arm/src/sys/bsm/audit_internal.h#8 integrate .. //depot/projects/arm/src/sys/bsm/audit_kevents.h#10 integrate .. //depot/projects/arm/src/sys/bsm/audit_record.h#9 integrate .. //depot/projects/arm/src/sys/cam/cam_periph.c#9 integrate .. //depot/projects/arm/src/sys/cam/cam_periph.h#3 integrate .. //depot/projects/arm/src/sys/cam/cam_sim.c#4 integrate .. //depot/projects/arm/src/sys/cam/cam_sim.h#3 integrate .. //depot/projects/arm/src/sys/cam/cam_xpt.c#18 integrate .. //depot/projects/arm/src/sys/cam/cam_xpt_periph.h#4 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_da.c#18 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_low.c#5 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_pass.c#5 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_pt.c#4 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_sa.c#6 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_sg.c#4 integrate .. //depot/projects/arm/src/sys/compat/linprocfs/linprocfs.c#19 integrate .. //depot/projects/arm/src/sys/compat/opensolaris/kern/opensolaris_misc.c#2 integrate .. //depot/projects/arm/src/sys/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/arm/src/sys/compat/opensolaris/sys/misc.h#2 integrate .. //depot/projects/arm/src/sys/compat/opensolaris/sys/sunddi.h#1 branch .. //depot/projects/arm/src/sys/compat/opensolaris/sys/types.h#2 integrate .. //depot/projects/arm/src/sys/compat/opensolaris/sys/vnode.h#2 integrate .. //depot/projects/arm/src/sys/conf/files#69 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/dnlc.c#3 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c#3 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#3 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zap.c#3 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#3 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zil.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zio.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#2 integrate .. //depot/projects/arm/src/sys/dev/acpi_support/acpi_ibm.c#7 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi.c#18 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aic79xx.c#5 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aic79xx.h#4 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aic7xxx.c#4 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aic7xxx.h#3 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aic7xxx_inline.h#2 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-disk.c#12 integrate .. //depot/projects/arm/src/sys/dev/ath/if_ath.c#25 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_main.c#4 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/sys/uipc_mvec.c#4 integrate .. //depot/projects/arm/src/sys/dev/firewire/firewire.h#2 integrate .. //depot/projects/arm/src/sys/dev/firewire/fwdev.c#5 integrate .. //depot/projects/arm/src/sys/dev/hwpmc/hwpmc_logging.c#5 integrate .. //depot/projects/arm/src/sys/dev/hwpmc/hwpmc_mod.c#13 integrate .. //depot/projects/arm/src/sys/dev/hwpmc/hwpmc_piv.c#5 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_freebsd.c#26 integrate .. //depot/projects/arm/src/sys/dev/led/led.c#3 integrate .. //depot/projects/arm/src/sys/dev/led/led.h#2 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#37 integrate .. //depot/projects/arm/src/sys/dev/msk/if_msk.c#6 integrate .. //depot/projects/arm/src/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/arm/src/sys/dev/mxge/if_mxge.c#14 integrate .. //depot/projects/arm/src/sys/dev/pci/pci.c#25 integrate .. //depot/projects/arm/src/sys/dev/pci/pcireg.h#11 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2560.c#10 integrate .. //depot/projects/arm/src/sys/dev/re/if_re.c#24 integrate .. //depot/projects/arm/src/sys/dev/sound/isa/ad1816.c#8 integrate .. //depot/projects/arm/src/sys/dev/sound/isa/ess.c#6 integrate .. //depot/projects/arm/src/sys/dev/sound/isa/mss.c#8 integrate .. //depot/projects/arm/src/sys/dev/sound/isa/sb16.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/isa/sb8.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/als4000.c#6 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/atiixp.c#12 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/au88x0.c#4 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/aureal.c#4 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/cmi.c#12 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/cs4281.c#4 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/csapcm.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/ds1.c#6 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/emu10k1.c#10 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/emu10kx-pcm.c#6 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/envy24.c#7 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/envy24ht.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/es137x.c#9 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/fm801.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/hda/hdac.c#11 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/ich.c#18 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/maestro3.c#6 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/solo.c#8 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/t4dwave.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/via8233.c#11 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/via82c686.c#7 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/vibes.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/ac97.c#11 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/ac97.h#4 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/ac97_patch.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/ac97_patch.h#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/buffer.c#9 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/buffer.h#6 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/sound.h#11 integrate .. //depot/projects/arm/src/sys/dev/sound/sbus/cs4231.c#6 integrate .. //depot/projects/arm/src/sys/dev/usb/if_ural.c#19 integrate .. //depot/projects/arm/src/sys/dev/wi/if_wi.c#12 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_devs.c#9 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_vnops.c#16 integrate .. //depot/projects/arm/src/sys/fs/procfs/procfs_map.c#4 integrate .. //depot/projects/arm/src/sys/fs/pseudofs/pseudofs_vncache.c#8 integrate .. //depot/projects/arm/src/sys/geom/part/g_part.c#2 integrate .. //depot/projects/arm/src/sys/geom/uzip/g_uzip.c#6 integrate .. //depot/projects/arm/src/sys/i386/i386/bios.c#3 integrate .. //depot/projects/arm/src/sys/i386/i386/busdma_machdep.c#13 integrate .. //depot/projects/arm/src/sys/i386/i386/identcpu.c#22 integrate .. //depot/projects/arm/src/sys/i386/i386/local_apic.c#18 integrate .. //depot/projects/arm/src/sys/i386/i386/pmap.c#32 integrate .. //depot/projects/arm/src/sys/i386/i386/sys_machdep.c#7 integrate .. //depot/projects/arm/src/sys/i386/i386/vm_machdep.c#8 integrate .. //depot/projects/arm/src/sys/i386/include/vmparam.h#3 integrate .. //depot/projects/arm/src/sys/ia64/include/vmparam.h#4 integrate .. //depot/projects/arm/src/sys/kern/kern_descrip.c#20 integrate .. //depot/projects/arm/src/sys/kern/kern_intr.c#12 integrate .. //depot/projects/arm/src/sys/kern/kern_linker.c#11 integrate .. //depot/projects/arm/src/sys/kern/kern_malloc.c#9 integrate .. //depot/projects/arm/src/sys/kern/kern_time.c#15 integrate .. //depot/projects/arm/src/sys/kern/kern_uuid.c#5 integrate .. //depot/projects/arm/src/sys/kern/sched_ule.c#17 integrate .. //depot/projects/arm/src/sys/kern/subr_rman.c#14 integrate .. //depot/projects/arm/src/sys/kern/subr_witness.c#18 integrate .. //depot/projects/arm/src/sys/kern/uipc_syscalls.c#22 integrate .. //depot/projects/arm/src/sys/kern/vfs_bio.c#19 integrate .. //depot/projects/arm/src/sys/kern/vfs_mount.c#29 integrate .. //depot/projects/arm/src/sys/modules/zfs/Makefile#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_l2tp.c#3 integrate .. //depot/projects/arm/src/sys/netgraph/ng_ppp.c#5 integrate .. //depot/projects/arm/src/sys/netinet/sctp.h#3 integrate .. //depot/projects/arm/src/sys/netinet/sctp_indata.c#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_indata.h#3 integrate .. //depot/projects/arm/src/sys/netinet/sctp_input.c#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_lock_bsd.h#4 integrate .. //depot/projects/arm/src/sys/netinet/sctp_output.c#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.c#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.h#6 integrate .. //depot/projects/arm/src/sys/netinet/sctp_structs.h#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_uio.h#10 integrate .. //depot/projects/arm/src/sys/netinet/sctp_usrreq.c#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_var.h#7 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.c#11 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.h#9 integrate .. //depot/projects/arm/src/sys/netinet/tcp.h#7 integrate .. //depot/projects/arm/src/sys/netinet/tcp_input.c#27 integrate .. //depot/projects/arm/src/sys/netinet/tcp_output.c#15 integrate .. //depot/projects/arm/src/sys/netinet/tcp_subr.c#22 integrate .. //depot/projects/arm/src/sys/netinet/tcp_syncache.c#19 integrate .. //depot/projects/arm/src/sys/netinet/tcp_var.h#16 integrate .. //depot/projects/arm/src/sys/netinet6/in6_pcb.c#11 integrate .. //depot/projects/arm/src/sys/netinet6/route6.c#3 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_bio.c#9 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_lock.c#5 integrate .. //depot/projects/arm/src/sys/nfsclient/nfs_vnops.c#17 integrate .. //depot/projects/arm/src/sys/nfsserver/nfs_syscalls.c#10 integrate .. //depot/projects/arm/src/sys/pci/if_rlreg.h#11 integrate .. //depot/projects/arm/src/sys/pci/if_vr.c#8 integrate .. //depot/projects/arm/src/sys/pci/if_vrreg.h#6 integrate .. //depot/projects/arm/src/sys/pci/intpm.c#8 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/nexus.c#3 integrate .. //depot/projects/arm/src/sys/security/audit/audit_syscalls.c#11 integrate .. //depot/projects/arm/src/sys/security/mac/mac_audit.c#1 branch .. //depot/projects/arm/src/sys/security/mac/mac_framework.h#7 integrate .. //depot/projects/arm/src/sys/security/mac/mac_inet.c#7 integrate .. //depot/projects/arm/src/sys/security/mac/mac_net.c#7 integrate .. //depot/projects/arm/src/sys/security/mac/mac_pipe.c#6 integrate .. //depot/projects/arm/src/sys/security/mac/mac_policy.h#3 integrate .. //depot/projects/arm/src/sys/security/mac/mac_process.c#7 integrate .. //depot/projects/arm/src/sys/security/mac/mac_socket.c#6 integrate .. //depot/projects/arm/src/sys/security/mac/mac_system.c#7 integrate .. //depot/projects/arm/src/sys/security/mac/mac_vfs.c#9 integrate .. //depot/projects/arm/src/sys/security/mac_biba/mac_biba.c#10 integrate .. //depot/projects/arm/src/sys/security/mac_bsdextended/mac_bsdextended.c#9 integrate .. //depot/projects/arm/src/sys/security/mac_ifoff/mac_ifoff.c#4 integrate .. //depot/projects/arm/src/sys/security/mac_lomac/mac_lomac.c#8 integrate .. //depot/projects/arm/src/sys/security/mac_mls/mac_mls.c#8 integrate .. //depot/projects/arm/src/sys/security/mac_partition/mac_partition.c#6 integrate .. //depot/projects/arm/src/sys/security/mac_portacl/mac_portacl.c#7 integrate .. //depot/projects/arm/src/sys/security/mac_seeotheruids/mac_seeotheruids.c#6 integrate .. //depot/projects/arm/src/sys/security/mac_stub/mac_stub.c#7 integrate .. //depot/projects/arm/src/sys/security/mac_test/mac_test.c#6 integrate .. //depot/projects/arm/src/sys/sparc64/include/vmparam.h#2 integrate .. //depot/projects/arm/src/sys/sun4v/include/vmparam.h#2 integrate .. //depot/projects/arm/src/sys/sys/interrupt.h#5 integrate .. //depot/projects/arm/src/sys/sys/ioctl_compat.h#3 integrate .. //depot/projects/arm/src/sys/sys/mount.h#19 integrate .. //depot/projects/arm/src/sys/sys/priv.h#5 integrate .. //depot/projects/arm/src/sys/sys/proc.h#24 integrate .. //depot/projects/arm/src/sys/sys/socket.h#6 integrate .. //depot/projects/arm/src/sys/vm/swap_pager.c#12 integrate .. //depot/projects/arm/src/sys/vm/vm_contig.c#13 integrate .. //depot/projects/arm/src/sys/vm/vm_map.c#14 integrate .. //depot/projects/arm/src/sys/vm/vm_param.h#2 integrate .. //depot/projects/arm/src/tools/regression/netinet6/inet6_rth/Makefile#1 branch .. //depot/projects/arm/src/tools/regression/netinet6/inet6_rth/inet6_rth-segments.c#1 branch .. //depot/projects/arm/src/tools/regression/netinet6/inet6_rth/test_subr.c#1 branch .. //depot/projects/arm/src/tools/regression/netinet6/inet6_rth/test_subr.h#1 branch .. //depot/projects/arm/src/tools/regression/sockets/sendfile/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/sockets/sendfile/sendfile.c#2 integrate .. //depot/projects/arm/src/tools/regression/usr.bin/sed/regress.sh#4 integrate .. //depot/projects/arm/src/tools/sched/schedgraph.py#4 integrate .. //depot/projects/arm/src/tools/tools/nanobsd/nanobsd.sh#6 integrate .. //depot/projects/arm/src/tools/tools/net80211/wesside/wesside/wesside.c#3 integrate .. //depot/projects/arm/src/tools/tools/recoverdisk/recoverdisk.c#2 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.freebsd#12 integrate .. //depot/projects/arm/src/usr.bin/lastcomm/lastcomm.1#3 integrate .. //depot/projects/arm/src/usr.bin/lastcomm/lastcomm.c#3 integrate .. //depot/projects/arm/src/usr.bin/make/GNode.h#2 integrate .. //depot/projects/arm/src/usr.bin/make/main.c#3 integrate .. //depot/projects/arm/src/usr.bin/make/make.c#2 integrate .. //depot/projects/arm/src/usr.bin/make/targ.c#2 integrate .. //depot/projects/arm/src/usr.bin/quota/quota.c#6 integrate .. //depot/projects/arm/src/usr.bin/sed/extern.h#2 integrate .. //depot/projects/arm/src/usr.bin/sed/main.c#2 integrate .. //depot/projects/arm/src/usr.bin/sed/process.c#3 integrate .. //depot/projects/arm/src/usr.bin/sed/sed.1#2 integrate .. //depot/projects/arm/src/usr.bin/tar/test/test-basic.sh#3 integrate .. //depot/projects/arm/src/usr.bin/tar/util.c#4 integrate .. //depot/projects/arm/src/usr.sbin/daemon/daemon.c#4 integrate .. //depot/projects/arm/src/usr.sbin/pciconf/cap.c#2 integrate .. //depot/projects/arm/src/usr.sbin/pmcstat/Makefile#2 integrate .. //depot/projects/arm/src/usr.sbin/pmcstat/pmcstat.8#3 integrate .. //depot/projects/arm/src/usr.sbin/pmcstat/pmcstat.c#3 integrate .. //depot/projects/arm/src/usr.sbin/pmcstat/pmcstat.h#2 integrate .. //depot/projects/arm/src/usr.sbin/rpcbind/rpcbind.8#3 integrate .. //depot/projects/arm/src/usr.sbin/rpcbind/rpcbind.c#2 integrate .. //depot/projects/arm/src/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#2 integrate Differences ... ==== //depot/projects/arm/src/MAINTAINERS#6 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.143 2007/04/06 10:57:15 pjd Exp $ +$FreeBSD: src/MAINTAINERS,v 1.144 2007/04/26 21:30:16 imp Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -128,6 +128,7 @@ usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports. +usb core Please contact core@ before any major changes Following are the entries from the Makefiles, and a few other sources. Please remove stale entries from both their origin, and this file. ==== //depot/projects/arm/src/ObsoleteFiles.inc#19 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.79 2007/04/17 01:02:55 thompsa Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.81 2007/04/24 16:58:54 emax Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,10 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070423: rc.bluetooth (examples) removed +OLD_FILES+=usr/share/examples/netgraph/bluetooth/rc.bluetooth +# 20070421: worm.4 removed +OLD_FILES+=usr/share/man/man4/worm.4.gz # 20070417: trunk(4) renamed to lagg(4) OLD_FILES+=usr/include/net/if_trunk.h # 20070409: uuidgen moved to /bin/ ==== //depot/projects/arm/src/UPDATING#14 (text+ko) ==== @@ -21,6 +21,12 @@ developers choose to disable these features on build machines to maximize performance. +20070423: + The ABI breakage in sendmail(8)'s libmilter has been repaired + so it is no longer necessary to recompile mail filters (aka, + milters). If you recompiled mail filters after the 20070408 + note, it is not necessary to recompile them again. + 20070417: The new trunk(4) driver has been renamed to lagg(4) as it better reflects its purpose. ifconfig will need to be recompiled. @@ -767,4 +773,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.486 2007/04/17 00:41:59 thompsa Exp $ +$FreeBSD: src/UPDATING,v 1.489 2007/04/23 22:15:07 gshapiro Exp $ ==== //depot/projects/arm/src/compat/opensolaris/misc/fsshare.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/compat/opensolaris/misc/fsshare.c,v 1.1 2007/04/06 01:08:59 pjd Exp $"); +__FBSDID("$FreeBSD: src/compat/opensolaris/misc/fsshare.c,v 1.2 2007/04/21 13:17:23 pjd Exp $"); #include #include @@ -99,21 +99,30 @@ /* * Function translate options to a format acceptable by exports(5), eg. * - * -ro -network=192.168.0.0 -mask=255.255.255.0 -maproot=0 + * -ro -network=192.168.0.0 -mask=255.255.255.0 -maproot=0 freefall.freebsd.org 69.147.83.54 * * Accepted input formats: * - * ro,network=192.168.0.0,mask=255.255.255.0,maproot=0 - * ro network=192.168.0.0 mask=255.255.255.0 maproot=0 - * -ro,-network=192.168.0.0,-mask=255.255.255.0,-maproot=0 - * -ro -network=192.168.0.0 -mask=255.255.255.0 -maproot=0 + * ro,network=192.168.0.0,mask=255.255.255.0,maproot=0,freefall.freebsd.org + * ro network=192.168.0.0 mask=255.255.255.0 maproot=0 freefall.freebsd.org + * -ro,-network=192.168.0.0,-mask=255.255.255.0,-maproot=0,freefall.freebsd.org + * -ro -network=192.168.0.0 -mask=255.255.255.0 -maproot=0 freefall.freebsd.org + * + * Recognized keywords: + * + * ro, maproot, mapall, mask, network, alldirs, public, webnfs, index, quiet + * */ +static const char *known_opts[] = { "ro", "maproot", "mapall", "mask", + "network", "alldirs", "public", "webnfs", "index", "quiet", NULL }; static char * translate_opts(const char *shareopts) { static char newopts[OPTSSIZE]; - char oldopts[OPTSSIZE], opt[64]; + char oldopts[OPTSSIZE]; char *o, *s = NULL; + unsigned int i; + size_t len; strlcpy(oldopts, shareopts, sizeof(oldopts)); newopts[0] = '\0'; @@ -121,8 +130,16 @@ while ((o = strsep(&s, "-, ")) != NULL) { if (o[0] == '\0') continue; - snprintf(opt, sizeof(opt), "-%s ", o); - strlcat(newopts, opt, sizeof(newopts)); + for (i = 0; known_opts[i] != NULL; i++) { + len = strlen(known_opts[i]); + if (strncmp(known_opts[i], o, len) == 0 && + (o[len] == '\0' || o[len] == '=')) { + strlcat(newopts, "-", sizeof(newopts)); + break; + } + } + strlcat(newopts, o, sizeof(newopts)); + strlcat(newopts, " ", sizeof(newopts)); } return (newopts); } ==== //depot/projects/arm/src/contrib/opensolaris/cmd/zdb/zdb.c#2 (text+ko) ==== @@ -932,11 +932,11 @@ if (doi.doi_checksum != ZIO_CHECKSUM_INHERIT || verbosity >= 6) (void) snprintf(aux + strlen(aux), sizeof (aux), " (K=%s)", - zio_checksum_table[doi.doi_checksum].ci_name); + zio_checksum_table[doi.doi_checksum].ci_name); if (doi.doi_compress != ZIO_COMPRESS_INHERIT || verbosity >= 6) (void) snprintf(aux + strlen(aux), sizeof (aux), " (Z=%s)", - zio_compress_table[doi.doi_compress].ci_name); + zio_compress_table[doi.doi_compress].ci_name); (void) printf("%10lld %3u %5s %5s %5s %5s %s%s\n", (u_longlong_t)object, doi.doi_indirection, iblk, dblk, lsize, @@ -1441,7 +1441,7 @@ (u_longlong_t)zb->zb_objset, (u_longlong_t)zb->zb_object, (u_longlong_t)blkid2offset(bc->bc_dnode, - zb->zb_level, zb->zb_blkid), + zb->zb_level, zb->zb_blkid), blkbuf); } @@ -1951,8 +1951,8 @@ spa_close(spa, (void *)zdb_read_block); error = spa_open(spa_name, spap, (void *)zdb_read_block); if (error) - fatal("Failed to open pool '%s': errno = %d\n", - spa_name, error); + fatal("Failed to open pool '%s': %s", + spa_name, strerror(error)); spa = *spap; } @@ -2156,7 +2156,7 @@ } if (error) - fatal("can't open %s: error %d", argv[0], error); + fatal("can't open %s: %s", argv[0], strerror(error)); argv++; if (--argc > 0) { ==== //depot/projects/arm/src/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c#2 (text+ko) ==== @@ -339,22 +339,15 @@ changelist_free(prop_changelist_t *clp) { prop_changenode_t *cn; - uu_list_walk_t *walk; + void *cookie; if (clp->cl_list) { - verify((walk = uu_list_walk_start(clp->cl_list, - UU_WALK_ROBUST)) != NULL); - - while ((cn = uu_list_walk_next(walk)) != NULL) { - - uu_list_remove(clp->cl_list, cn); - + cookie = NULL; + while ((cn = uu_list_teardown(clp->cl_list, &cookie)) != NULL) { zfs_close(cn->cn_handle); free(cn); } - uu_list_walk_end(walk); - uu_list_destroy(clp->cl_list); } if (clp->cl_pool) @@ -418,7 +411,7 @@ } else { ASSERT(!clp->cl_alldependents); verify(uu_list_insert_before(clp->cl_list, - uu_list_first(clp->cl_list), cn) == 0); + uu_list_first(clp->cl_list), cn) == 0); } if (!clp->cl_alldependents) ==== //depot/projects/arm/src/contrib/opensolaris/lib/libzfs/common/libzfs_config.c#2 (text+ko) ==== @@ -74,22 +74,16 @@ namespace_clear(libzfs_handle_t *hdl) { if (hdl->libzfs_ns_avl) { - uu_avl_walk_t *walk; config_node_t *cn; + void *cookie = NULL; - if ((walk = uu_avl_walk_start(hdl->libzfs_ns_avl, - UU_WALK_ROBUST)) == NULL) - return; - - while ((cn = uu_avl_walk_next(walk)) != NULL) { - uu_avl_remove(hdl->libzfs_ns_avl, cn); + while ((cn = uu_avl_teardown(hdl->libzfs_ns_avl, + &cookie)) != NULL) { nvlist_free(cn->cn_config); free(cn->cn_name); free(cn); } - uu_avl_walk_end(walk); - uu_avl_destroy(hdl->libzfs_ns_avl); hdl->libzfs_ns_avl = NULL; } @@ -110,7 +104,7 @@ config_node_t *cn; nvpair_t *elem; zfs_cmd_t zc = { 0 }; - uu_avl_walk_t *walk; + void *cookie; if (hdl->libzfs_ns_gen == 0) { /* @@ -172,21 +166,13 @@ /* * Clear out any existing configuration information. */ - if ((walk = uu_avl_walk_start(hdl->libzfs_ns_avl, - UU_WALK_ROBUST)) == NULL) { - nvlist_free(config); - return (no_memory(hdl)); - } - - while ((cn = uu_avl_walk_next(walk)) != NULL) { - uu_avl_remove(hdl->libzfs_ns_avl, cn); + cookie = NULL; + while ((cn = uu_avl_teardown(hdl->libzfs_ns_avl, &cookie)) != NULL) { nvlist_free(cn->cn_config); free(cn->cn_name); free(cn); } - uu_avl_walk_end(walk); - elem = NULL; while ((elem = nvlist_next_nvpair(config, elem)) != NULL) { nvlist_t *child; @@ -222,7 +208,7 @@ } /* - * Retrive the configuration for the given pool. The configuration is a nvlist + * Retrieve the configuration for the given pool. The configuration is a nvlist * describing the vdevs, as well as the statistics associated with each one. */ nvlist_t * ==== //depot/projects/arm/src/contrib/opensolaris/lib/libzfs/common/libzfs_import.c#2 (text+ko) ==== @@ -220,7 +220,7 @@ &state) == 0 && state == POOL_STATE_SPARE && nvlist_lookup_uint64(config, ZPOOL_CONFIG_GUID, &vdev_guid) == 0) { if ((ne = zfs_alloc(hdl, sizeof (name_entry_t))) == NULL) - return (-1); + return (-1); if ((ne->ne_name = zfs_strdup(hdl, path)) == NULL) { free(ne); @@ -748,7 +748,6 @@ zpool_find_import(libzfs_handle_t *hdl, int argc, char **argv) { int i; - DIR *dirp; char path[MAXPATHLEN]; nvlist_t *ret = NULL, *config; int fd; @@ -824,7 +823,6 @@ free(ne); } - return (ret); } ==== //depot/projects/arm/src/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#3 (text+ko) ==== @@ -480,6 +480,7 @@ #define readdir64(d) readdir(d) #define SIGPENDING(td) (0) #define root_mount_wait() do { } while (0) +#define root_mounted() (1) struct file { void *dummy; ==== //depot/projects/arm/src/contrib/sendmail/libmilter/engine.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999-2004, 2006 Sendmail, Inc. and its suppliers. + * Copyright (c) 1999-2004, 2006, 2007 Sendmail, Inc. and its suppliers. * All rights reserved. * * By using this file, you agree to the terms and conditions set @@ -855,6 +855,7 @@ ; if (g->a_ctx->ctx_smfi != NULL && + g->a_ctx->ctx_smfi->xxfi_version > 4 && (fi_negotiate = g->a_ctx->ctx_smfi->xxfi_negotiate) != NULL) { int r; @@ -1177,6 +1178,7 @@ if (g == NULL) return _SMFIS_ABORT; if (g->a_ctx->ctx_smfi != NULL && + g->a_ctx->ctx_smfi->xxfi_version > 3 && (fi_data = g->a_ctx->ctx_smfi->xxfi_data) != NULL) return (*fi_data)(g->a_ctx); return SMFIS_CONTINUE; @@ -1310,6 +1312,7 @@ if (g == NULL) return _SMFIS_ABORT; if (g->a_ctx->ctx_smfi != NULL && + g->a_ctx->ctx_smfi->xxfi_version > 2 && (fi_unknown = g->a_ctx->ctx_smfi->xxfi_unknown) != NULL) return (*fi_unknown)(g->a_ctx, (const char *) g->a_buf); return SMFIS_CONTINUE; ==== //depot/projects/arm/src/contrib/sendmail/libmilter/listener.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999-2006 Sendmail, Inc. and its suppliers. + * Copyright (c) 1999-2007 Sendmail, Inc. and its suppliers. * All rights reserved. * * By using this file, you agree to the terms and conditions set @@ -927,9 +927,9 @@ ctx->ctx_pflags |= SMFIP_NOEOH; if (smfi->xxfi_body == NULL) ctx->ctx_pflags |= SMFIP_NOBODY; - if (smfi->xxfi_data == NULL) + if (smfi->xxfi_version <= 3 || smfi->xxfi_data == NULL) ctx->ctx_pflags |= SMFIP_NODATA; - if (smfi->xxfi_unknown == NULL) + if (smfi->xxfi_version <= 2 || smfi->xxfi_unknown == NULL) ctx->ctx_pflags |= SMFIP_NOUNKNOWN; #if _FFR_WORKERS_POOL ==== //depot/projects/arm/src/contrib/sendmail/libmilter/main.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999-2003, 2006 Sendmail, Inc. and its suppliers. + * Copyright (c) 1999-2003, 2006, 2007 Sendmail, Inc. and its suppliers. * All rights reserved. * * By using this file, you agree to the terms and conditions set @@ -52,7 +52,10 @@ (void) sm_strlcpy(smfi->xxfi_name, smfilter.xxfi_name, len); /* compare milter version with hard coded version */ - if (smfi->xxfi_version != SMFI_VERSION) + if (smfi->xxfi_version != SMFI_VERSION && + smfi->xxfi_version != 2 && + smfi->xxfi_version != 3 && + smfi->xxfi_version != 4) { /* hard failure for now! */ smi_log(SMI_LOG_ERR, ==== //depot/projects/arm/src/contrib/top/top.c#3 (text+ko) ==== @@ -13,7 +13,7 @@ * Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory * Copyright (c) 1996, William LeFebvre, Group sys Consulting * - * $FreeBSD: src/contrib/top/top.c,v 1.21 2007/04/17 03:12:39 rafan Exp $ + * $FreeBSD: src/contrib/top/top.c,v 1.22 2007/04/19 14:24:54 rafan Exp $ */ /* @@ -410,7 +410,7 @@ default: fprintf(stderr, "Top version %s\n" -"Usage: %s [-bCHIinqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n" +"Usage: %s [-abCHIijnqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n" " [-U username] [number]\n", version_string(), myname); exit(1); ==== //depot/projects/arm/src/etc/mtree/BSD.include.dist#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.111 2007/02/27 04:01:57 mjacob Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.112 2007/04/18 10:16:42 trhodes Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -209,8 +209,6 @@ .. pccard .. - posix4 - .. protocols .. readline ==== //depot/projects/arm/src/etc/rc.d/zfs#3 (text+ko) ==== @@ -1,11 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/zfs,v 1.4 2007/04/15 18:07:14 pjd Exp $ +# $FreeBSD: src/etc/rc.d/zfs,v 1.5 2007/04/22 20:55:08 pjd Exp $ # # PROVIDE: zfs # REQUIRE: mountcritlocal -# KEYWORD: nojail . /etc/rc.subr @@ -15,7 +14,14 @@ stop_cmd="zfs_stop" required_modules="zfs" -zfs_start() +zfs_start_jail() +{ + if [ `$SYSCTL_N security.jail.mount_allowed` -eq 1 ]; then + zfs mount -a + fi +} + +zfs_start_main() { zfs volinit zfs mount -a @@ -34,7 +40,23 @@ done } -zfs_stop() +zfs_start() +{ + if [ `$SYSCTL_N security.jail.jailed` -eq 1 ]; then + zfs_start_jail + else + zfs_start_main + fi +} + +zfs_stop_jail() +{ + if [ `$SYSCTL_N security.jail.mount_allowed` -eq 1 ]; then + zfs unmount -a + fi +} + +zfs_stop_main() { # Disable swap on ZVOLs with property org.freebsd:swap=on. zfs list -H -o org.freebsd:swap,name -t volume | \ @@ -50,5 +72,14 @@ zfs volfini } +zfs_stop() +{ + if [ `$SYSCTL_N security.jail.jailed` -eq 1 ]; then + zfs_stop_jail + else + zfs_stop_main + fi +} + load_rc_config $name run_rc_command "$1" ==== //depot/projects/arm/src/etc/sendmail/freebsd.mc#3 (text+ko) ==== @@ -44,7 +44,7 @@ # divert(0) -VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.33 2006/08/17 05:12:07 gshapiro Exp $') +VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.34 2007/04/23 22:23:54 gshapiro Exp $') OSTYPE(freebsd6) DOMAIN(generic) ==== //depot/projects/arm/src/etc/sendmail/freebsd.submit.mc#3 (text+ko) ==== @@ -16,7 +16,7 @@ # divert(0)dnl -VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.submit.mc,v 1.4 2006/08/17 05:12:07 gshapiro Exp $') +VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.submit.mc,v 1.5 2007/04/23 22:23:54 gshapiro Exp $') define(`confCF_VERSION', `Submit')dnl define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet ==== //depot/projects/arm/src/lib/libarchive/archive_write_disk_set_standard_lookup.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk_set_standard_lookup.c,v 1.1 2007/03/03 07:37:36 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk_set_standard_lookup.c,v 1.2 2007/04/20 15:32:13 kientzle Exp $"); #ifdef HAVE_SYS_TYPES_H #include @@ -72,6 +72,7 @@ id_t id; }; +static const size_t cache_size = 127; static unsigned int hash(const char *); static gid_t lookup_gid(void *, const char *uname, gid_t); static uid_t lookup_uid(void *, const char *uname, uid_t); @@ -99,10 +100,10 @@ int archive_write_disk_set_standard_lookup(struct archive *a) { - struct bucket *ucache = malloc(sizeof(struct bucket[127])); - struct bucket *gcache = malloc(sizeof(struct bucket[127])); - memset(ucache, 0, sizeof(struct bucket[127])); - memset(gcache, 0, sizeof(struct bucket[127])); + struct bucket *ucache = malloc(sizeof(struct bucket[cache_size])); + struct bucket *gcache = malloc(sizeof(struct bucket[cache_size])); + memset(ucache, 0, sizeof(struct bucket[cache_size])); + memset(gcache, 0, sizeof(struct bucket[cache_size])); archive_write_disk_set_group_lookup(a, gcache, lookup_gid, cleanup); archive_write_disk_set_user_lookup(a, ucache, lookup_uid, cleanup); return (ARCHIVE_OK); @@ -113,11 +114,8 @@ { int h; struct bucket *b; - int cache_size; struct bucket *gcache = (struct bucket *)private_data; - cache_size = 127; - /* If no gname, just use the gid provided. */ if (gname == NULL || *gname == '\0') return (gid); @@ -153,11 +151,8 @@ { int h; struct bucket *b; - int cache_size; struct bucket *ucache = (struct bucket *)private_data; - cache_size = 127; - /* If no uname, just use the uid provided. */ if (uname == NULL || *uname == '\0') return (uid); @@ -191,7 +186,12 @@ static void cleanup(void *private) { - free(private); + size_t i; + struct bucket *cache = (struct bucket *)private; + + for (i = 0; i < cache_size; i++) + free(cache[i].name); + free(cache); } ==== //depot/projects/arm/src/lib/libbsm/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/lib/libbsm/Makefile,v 1.5 2006/09/25 11:53:58 rwatson Exp $ +# $FreeBSD: src/lib/libbsm/Makefile,v 1.6 2007/04/23 14:46:59 rwatson Exp $ # OPENBSMDIR= ${.CURDIR}/../../contrib/openbsm @@ -143,6 +143,7 @@ au_token.3 au_to_header32.3 \ au_token.3 au_to_header64.3 \ au_token.3 au_to_trailer.3 \ + au_token.3 au_to_zonename.3 \ au_user.3 setauuser.3 \ au_user.3 endauuser.3 \ au_user.3 getauuserent.3 \ ==== //depot/projects/arm/src/lib/libc/net/rthdr.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/rthdr.c,v 1.8 2005/07/19 18:13:58 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/rthdr.c,v 1.9 2007/04/19 15:48:16 mtm Exp $"); #include #include @@ -292,7 +292,9 @@ { switch (type) { case IPV6_RTHDR_TYPE_0: - return (((segments * 2) + 1) << 3); + if ((segments >= 0) && (segments <= 127)) + return (((segments * 2) + 1) << 3); + /* FALLTHROUGH */ default: return (0); /* type not suppported */ } @@ -309,6 +311,9 @@ /* length validation */ if (bp_len < inet6_rth_space(IPV6_RTHDR_TYPE_0, segments)) return (NULL); + /* segment validation */ + if ((segments < 0) || (segments > 127)) + return (NULL); memset(bp, 0, bp_len); rth0 = (struct ip6_rthdr0 *)rth; @@ -334,6 +339,9 @@ switch (rth->ip6r_type) { case IPV6_RTHDR_TYPE_0: rth0 = (struct ip6_rthdr0 *)rth; + /* Don't exceed the number of stated segments */ + if (rth0->ip6r0_segleft == (rth0->ip6r0_len / 2)) + return (-1); nextaddr = (struct in6_addr *)(rth0 + 1) + rth0->ip6r0_segleft; *nextaddr = *addr; rth0->ip6r0_segleft++; ==== //depot/projects/arm/src/lib/libc/stdio/fputs.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fputs.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/stdio/fputs.3,v 1.12 2007/01/09 00:28:06 imp Exp $ +.\" $FreeBSD: src/lib/libc/stdio/fputs.3,v 1.14 2007/04/19 14:01:04 phk Exp $ .\" .Dd June 4, 1993 .Dt FPUTS 3 @@ -66,14 +66,11 @@ to the stream .Dv stdout . .Sh RETURN VALUES -The +The functions .Fn fputs -function -returns 0 on success and -.Dv EOF -on error; +and .Fn puts -returns a nonnegative integer on success and +return a nonnegative integer on success and .Dv EOF on error. .Sh ERRORS ==== //depot/projects/arm/src/lib/libc/sys/send.2#4 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Apr 29 15:07:45 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 CC7BE16A404; Sun, 29 Apr 2007 15:07:44 +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 9C57516A401 for ; Sun, 29 Apr 2007 15:07:44 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8AC2313C455 for ; Sun, 29 Apr 2007 15:07:44 +0000 (UTC) (envelope-from piso@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 l3TF7i07067617 for ; Sun, 29 Apr 2007 15:07:44 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3TF7PNf067606 for perforce@freebsd.org; Sun, 29 Apr 2007 15:07:25 GMT (envelope-from piso@freebsd.org) Date: Sun, 29 Apr 2007 15:07:25 GMT Message-Id: <200704291507.l3TF7PNf067606@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 118940 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, 29 Apr 2007 15:07:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=118940 Change 118940 by piso@piso_newluxor on 2007/04/29 15:06:47 IFC@118933 Affected files ... .. //depot/projects/soc2005/libalias/MAINTAINERS#7 integrate .. //depot/projects/soc2005/libalias/Makefile.inc1#12 integrate .. //depot/projects/soc2005/libalias/ObsoleteFiles.inc#21 integrate .. //depot/projects/soc2005/libalias/UPDATING#18 integrate .. //depot/projects/soc2005/libalias/cddl/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/Makefile.inc#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/Makefile.inc#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/libavl/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/libnvpair/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/libumem/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/libuutil/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/libzfs/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/libzpool/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/sbin/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/sbin/zfs/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/sbin/zpool/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/usr.bin/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/usr.bin/ztest/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/usr.sbin/Makefile#2 integrate .. //depot/projects/soc2005/libalias/cddl/usr.sbin/zdb/Makefile#2 integrate .. //depot/projects/soc2005/libalias/compat/opensolaris/misc/fsshare.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/HISTORY#6 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/README#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/TODO#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/VERSION#5 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/audit/audit.8#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditd/auditd.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditd/auditd.c#5 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditfilterd/auditfilterd.8#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditfilterd/auditfilterd.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/auditreduce/auditreduce.1#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/praudit/praudit.1#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bin/praudit/praudit.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/bsm/libbsm.h#5 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/compat/clock_gettime.h#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/config/config.h#4 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/configure#6 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/configure.ac#6 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/etc/audit_event#5 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_class.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_control.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_event.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_free_token.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_io.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_mask.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_open.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_token.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/au_user.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/audit_submit.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_io.c#4 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_notify.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_token.c#7 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/bsm_wrappers.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/libbsm/libbsm.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/audit.2#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/audit.log.5#4 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/audit_class.5#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/audit_control.5#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/audit_event.5#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/audit_user.5#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/audit_warn.5#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/auditctl.2#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/auditon.2#3 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/getaudit.2#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/getauid.2#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/setaudit.2#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/man/setauid.2#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/bsm/generate.c#4 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/arg32_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/data_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/file_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/in_addr_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/ip_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/ipc_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/iport_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/opaque_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/path_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process32_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process32ex_record#2 delete .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process32ex_record-IPv4#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process32ex_record-IPv6#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process32ex_token#2 delete .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process32ex_token-IPv4#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process32ex_token-IPv6#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process64_record#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process64_token#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process64ex_record-IPv4#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process64ex_record-IPv6#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process64ex_token-IPv4#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/process64ex_token-IPv6#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/return32_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/seq_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/subject32_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/subject32ex_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/subject32ex_token-IPv4#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/subject32ex_token-IPv6#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/text_record#2 integrate .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/zonename_record#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/test/reference/zonename_token#1 branch .. //depot/projects/soc2005/libalias/contrib/openbsm/tools/audump.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/opensolaris/cmd/zdb/zdb.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/opensolaris/lib/libzfs/common/libzfs_config.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/opensolaris/lib/libzfs/common/libzfs_import.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/opensolaris/lib/libzpool/common/kernel.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#4 integrate .. //depot/projects/soc2005/libalias/contrib/sendmail/libmilter/engine.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/sendmail/libmilter/listener.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/sendmail/libmilter/main.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/top/commands.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/top/machine.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/top/top.X#2 integrate .. //depot/projects/soc2005/libalias/contrib/top/top.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/top/top.h#2 integrate .. //depot/projects/soc2005/libalias/etc/mtree/BSD.include.dist#7 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/zfs#3 integrate .. //depot/projects/soc2005/libalias/etc/sendmail/freebsd.mc#3 integrate .. //depot/projects/soc2005/libalias/etc/sendmail/freebsd.submit.mc#3 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/Makefile#7 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive.h.in#9 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_entry.c#5 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_platform.h#6 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_read_extract.c#7 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_read_support_format_ar.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_read_support_format_cpio.c#7 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_read_support_format_tar.c#9 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_read_support_format_zip.c#5 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_write_disk.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_write_disk_set_standard_lookup.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_write_set_compression_none.c#5 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_write_set_format_ar.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_write_set_format_by_name.c#4 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_write_set_format_pax.c#5 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_write_set_format_ustar.c#5 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/config_freebsd.h#3 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/Makefile#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/main.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_acl_basic.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_acl_pax.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_read_data_large.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_read_extract.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_read_format_ar.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_read_large.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_read_position.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_read_truncated.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_tar_filenames.c#1 branch .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_write_disk_perms.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_write_disk_secure.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_write_format_ar.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_write_format_tar.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_write_open_memory.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libbsm/Makefile#5 integrate .. //depot/projects/soc2005/libalias/lib/libc/gen/sysconf.c#4 integrate .. //depot/projects/soc2005/libalias/lib/libc/net/rthdr.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libc/stdio/fputs.3#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/send.2#4 integrate .. //depot/projects/soc2005/libalias/lib/libexpat/expat_config.h#2 integrate .. //depot/projects/soc2005/libalias/lib/libfetch/fetch.3#2 integrate .. //depot/projects/soc2005/libalias/lib/libfetch/ftp.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libpthread/thread/thr_info.c#3 integrate .. //depot/projects/soc2005/libalias/lib/ncurses/ncurses/Makefile#4 integrate .. //depot/projects/soc2005/libalias/libexec/ftpd/ftpcmd.y#2 integrate .. //depot/projects/soc2005/libalias/libexec/ftpd/ftpd.8#2 integrate .. //depot/projects/soc2005/libalias/libexec/ftpd/ftpd.c#3 integrate .. //depot/projects/soc2005/libalias/release/doc/en_US.ISO8859-1/relnotes/article.sgml#7 integrate .. //depot/projects/soc2005/libalias/sbin/atm/atmconfig/diag.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/dhclient/dhclient-script#3 integrate .. //depot/projects/soc2005/libalias/sbin/fdisk_pc98/fdisk.8#3 integrate .. //depot/projects/soc2005/libalias/sbin/fdisk_pc98/fdisk.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifconfig.8#13 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/iflagg.c#1 branch .. //depot/projects/soc2005/libalias/sbin/ifconfig/iftrunk.c#2 delete .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#19 integrate .. //depot/projects/soc2005/libalias/sbin/mount/mount.c#7 integrate .. //depot/projects/soc2005/libalias/sbin/ping6/ping6.c#2 integrate .. //depot/projects/soc2005/libalias/share/examples/Makefile#2 integrate .. //depot/projects/soc2005/libalias/share/examples/cvsup/cvs-supfile#2 integrate .. //depot/projects/soc2005/libalias/share/examples/cvsup/stable-supfile#2 integrate .. //depot/projects/soc2005/libalias/share/examples/cvsup/standard-supfile#2 integrate .. //depot/projects/soc2005/libalias/share/examples/netgraph/bluetooth/rc.bluetooth#2 delete .. //depot/projects/soc2005/libalias/share/man/man4/Makefile#12 integrate .. //depot/projects/soc2005/libalias/share/man/man4/lagg.4#1 branch .. //depot/projects/soc2005/libalias/share/man/man4/led.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/sbsh.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/trunk.4#2 delete .. //depot/projects/soc2005/libalias/share/man/man4/uftdi.4#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/vlan.4#5 integrate .. //depot/projects/soc2005/libalias/share/man/man4/worm.4#2 delete .. //depot/projects/soc2005/libalias/share/man/man7/hier.7#7 integrate .. //depot/projects/soc2005/libalias/share/man/man8/nanobsd.8#3 integrate .. //depot/projects/soc2005/libalias/share/man/man9/pseudofs.9#2 integrate .. //depot/projects/soc2005/libalias/share/misc/committers-ports.dot#3 integrate .. //depot/projects/soc2005/libalias/share/misc/committers-src.dot#3 integrate .. //depot/projects/soc2005/libalias/share/misc/organization.dot#1 branch .. //depot/projects/soc2005/libalias/share/mk/version_gen.awk#2 integrate .. //depot/projects/soc2005/libalias/sys/Makefile#6 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/local_apic.c#9 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/vm_machdep.c#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/include/vmparam.h#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_dummy.c#7 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_machdep.c#12 integrate .. //depot/projects/soc2005/libalias/sys/bsm/audit.h#5 integrate .. //depot/projects/soc2005/libalias/sys/bsm/audit_internal.h#6 integrate .. //depot/projects/soc2005/libalias/sys/bsm/audit_kevents.h#6 integrate .. //depot/projects/soc2005/libalias/sys/bsm/audit_record.h#7 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_ccb.h#4 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_periph.c#4 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_periph.h#2 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_sim.c#2 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_sim.h#2 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_xpt.c#9 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_xpt.h#4 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_xpt_periph.h#2 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_cd.c#4 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_ch.c#3 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_da.c#10 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_low.c#4 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_pass.c#4 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_pt.c#3 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_sa.c#3 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_ses.c#3 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_sg.c#4 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_targ_bh.c#3 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_target.c#4 integrate .. //depot/projects/soc2005/libalias/sys/compat/linprocfs/linprocfs.c#9 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_socket.c#5 integrate .. //depot/projects/soc2005/libalias/sys/compat/opensolaris/kern/opensolaris_misc.c#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/opensolaris/sys/misc.h#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/opensolaris/sys/sunddi.h#1 branch .. //depot/projects/soc2005/libalias/sys/compat/opensolaris/sys/types.h#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/opensolaris/sys/vnode.h#2 integrate .. //depot/projects/soc2005/libalias/sys/conf/NOTES#22 integrate .. //depot/projects/soc2005/libalias/sys/conf/files#27 integrate .. //depot/projects/soc2005/libalias/sys/conf/options#20 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/dnlc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c#3 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#3 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zap.c#3 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#3 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zil.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zio.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#2 integrate .. //depot/projects/soc2005/libalias/sys/contrib/pf/net/if_pfsync.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/aac/aac_cam.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/acpi_support/acpi_ibm.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/acpica/acpi.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/advansys/advansys.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/advansys/adwcam.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/aha/aha.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/ahb/ahb.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic/aic.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7770.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic79xx.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic79xx.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic79xx_osm.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic79xx_osm.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic79xx_pci.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx_inline.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx_osm.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx_osm.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx_pci.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic_osm_lib.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/amd/amd.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/amr/amr_cam.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/arcmsr/arcmsr.c#8 integrate .. //depot/projects/soc2005/libalias/sys/dev/asr/asr.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/ata-disk.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/atapi-cam.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/ath/if_ath.c#11 integrate .. //depot/projects/soc2005/libalias/sys/dev/buslogic/bt.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/ciss/ciss.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/cxgb/cxgb_sge.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/cxgb/sys/mvec.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/cxgb/sys/uipc_mvec.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/dpt/dpt_scsi.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/esp/ncr53c9x.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/ex/if_exvar.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/firewire/firewire.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/firewire/fwdev.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/firewire/fwdma.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/firewire/sbp.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/firewire/sbp_targ.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/hptmv/entry.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/hwpmc/hwpmc_mod.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/hwpmc/hwpmc_piv.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/iicbus/icee.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/iir/iir.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_freebsd.c#13 integrate .. //depot/projects/soc2005/libalias/sys/dev/led/led.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/led/led.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/mly/mly.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/mpt/mpt_cam.c#13 integrate .. //depot/projects/soc2005/libalias/sys/dev/msk/if_msk.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/mxge/if_mxge.c#9 integrate .. //depot/projects/soc2005/libalias/sys/dev/pci/pci.c#14 integrate .. //depot/projects/soc2005/libalias/sys/dev/pci/pcireg.h#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/ppbus/vpo.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ral/rt2560.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/re/if_re.c#12 integrate .. //depot/projects/soc2005/libalias/sys/dev/rr232x/osm_bsd.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/ad1816.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/ess.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/mss.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/sb16.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/sb8.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/als4000.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/atiixp.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/au88x0.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/aureal.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/cmi.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/cs4281.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/csapcm.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/ds1.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/emu10k1.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/emu10kx-pcm.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/envy24.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/envy24ht.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/es137x.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/fm801.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/hda/hdac.c#11 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/ich.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/maestro3.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/solo.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/t4dwave.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/via8233.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/via82c686.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/vibes.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/ac97.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/ac97.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/ac97_patch.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/ac97_patch.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/buffer.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/buffer.h#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/sound.h#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/sbus/cs4231.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sym/sym_hipd.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/trm/trm.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/twa/tw_osl_cam.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_ural.c#9 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/umass.c#8 integrate .. //depot/projects/soc2005/libalias/sys/dev/wds/wd7000.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/soc2005/libalias/sys/fs/devfs/devfs_devs.c#5 integrate .. //depot/projects/soc2005/libalias/sys/fs/devfs/devfs_vnops.c#7 integrate .. //depot/projects/soc2005/libalias/sys/fs/procfs/procfs_dbregs.c#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/procfs/procfs_fpregs.c#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/procfs/procfs_map.c#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/procfs/procfs_regs.c#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/pseudofs/pseudofs.c#4 integrate .. //depot/projects/soc2005/libalias/sys/fs/pseudofs/pseudofs.h#4 integrate .. //depot/projects/soc2005/libalias/sys/fs/pseudofs/pseudofs_fileno.c#3 integrate .. //depot/projects/soc2005/libalias/sys/fs/pseudofs/pseudofs_internal.h#3 integrate .. //depot/projects/soc2005/libalias/sys/fs/pseudofs/pseudofs_vncache.c#5 integrate .. //depot/projects/soc2005/libalias/sys/fs/pseudofs/pseudofs_vnops.c#3 integrate .. //depot/projects/soc2005/libalias/sys/geom/part/g_part.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/uzip/g_uzip.c#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/bios.c#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/busdma_machdep.c#6 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/identcpu.c#7 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/local_apic.c#9 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/pmap.c#9 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/sys_machdep.c#5 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/vm_machdep.c#4 integrate .. //depot/projects/soc2005/libalias/sys/i386/include/vmparam.h#3 integrate .. //depot/projects/soc2005/libalias/sys/ia64/include/vmparam.h#3 integrate .. //depot/projects/soc2005/libalias/sys/isa/isa_common.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_descrip.c#8 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_intr.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_jail.c#8 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_linker.c#6 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_malloc.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_time.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_uuid.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_ule.c#10 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_rman.c#6 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_witness.c#8 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_mbuf.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_syscalls.c#10 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_bio.c#9 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_mount.c#14 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_subr.c#12 integrate .. //depot/projects/soc2005/libalias/sys/modules/Makefile#15 integrate .. //depot/projects/soc2005/libalias/sys/modules/if_lagg/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/if_trunk/Makefile#2 delete .. //depot/projects/soc2005/libalias/sys/modules/zfs/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/soc2005/libalias/sys/net/ieee8023ad_lacp.h#2 integrate .. //depot/projects/soc2005/libalias/sys/net/if.c#8 integrate .. //depot/projects/soc2005/libalias/sys/net/if_ethersubr.c#11 integrate .. //depot/projects/soc2005/libalias/sys/net/if_lagg.c#1 branch .. //depot/projects/soc2005/libalias/sys/net/if_lagg.h#1 branch .. //depot/projects/soc2005/libalias/sys/net/if_trunk.c#2 delete .. //depot/projects/soc2005/libalias/sys/net/if_trunk.h#2 delete .. //depot/projects/soc2005/libalias/sys/net/if_var.h#6 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_ppp.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#49 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp.h#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_constants.h#6 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_crc32.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_indata.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_indata.h#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_input.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_lock_bsd.h#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_output.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_pcb.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_pcb.h#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_peeloff.c#5 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_structs.h#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_timer.c#6 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_uio.h#6 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_usrreq.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_var.h#6 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctputil.c#8 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctputil.h#6 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp.h#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_input.c#12 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_output.c#8 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_subr.c#12 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_syncache.c#9 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_var.h#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet6/in6_pcb.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet6/route6.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet6/sctp6_usrreq.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netnatm/natm.h#3 integrate .. //depot/projects/soc2005/libalias/sys/nfsclient/nfs_bio.c#3 integrate .. //depot/projects/soc2005/libalias/sys/nfsclient/nfs_lock.c#3 integrate .. //depot/projects/soc2005/libalias/sys/nfsclient/nfs_vnops.c#9 integrate .. //depot/projects/soc2005/libalias/sys/nfsserver/nfs_srvsock.c#5 integrate .. //depot/projects/soc2005/libalias/sys/nfsserver/nfs_syscalls.c#7 integrate .. //depot/projects/soc2005/libalias/sys/pci/if_rlreg.h#8 integrate .. //depot/projects/soc2005/libalias/sys/pci/if_vr.c#4 integrate .. //depot/projects/soc2005/libalias/sys/pci/if_vrreg.h#3 integrate .. //depot/projects/soc2005/libalias/sys/pci/intpm.c#6 integrate .. //depot/projects/soc2005/libalias/sys/pci/ncr.c#6 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/nexus.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm_token.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_syscalls.c#10 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_audit.c#1 branch .. //depot/projects/soc2005/libalias/sys/security/mac/mac_framework.h#7 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_inet.c#10 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_net.c#8 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_pipe.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_policy.h#5 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_process.c#6 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_socket.c#6 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_system.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_vfs.c#9 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_biba/mac_biba.c#10 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_bsdextended/mac_bsdextended.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_ifoff/mac_ifoff.c#5 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_lomac/mac_lomac.c#8 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_mls/mac_mls.c#8 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_partition/mac_partition.c#6 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_portacl/mac_portacl.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_seeotheruids/mac_seeotheruids.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_stub/mac_stub.c#6 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_test/mac_test.c#6 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/include/vmparam.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/include/vmparam.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/interrupt.h#4 integrate .. //depot/projects/soc2005/libalias/sys/sys/ioctl_compat.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/mbuf.h#11 integrate .. //depot/projects/soc2005/libalias/sys/sys/mount.h#9 integrate .. //depot/projects/soc2005/libalias/sys/sys/priv.h#5 integrate .. //depot/projects/soc2005/libalias/sys/sys/proc.h#12 integrate .. //depot/projects/soc2005/libalias/sys/sys/socket.h#5 integrate .. //depot/projects/soc2005/libalias/sys/vm/swap_pager.c#8 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_contig.c#8 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_map.c#5 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_param.h#2 integrate .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/Makefile#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/README#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/mach#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getaddr.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getaddr.t#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getgr.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getgr.t#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-gethostby.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-gethostby.t#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getproto.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getproto.t#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getpw.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getpw.t#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getrpc.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getrpc.t#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getserv.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getserv.t#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getusershell.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/test-getusershell.t#1 branch .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/nss/testutil.h#1 branch .. //depot/projects/soc2005/libalias/tools/regression/netinet6/inet6_rth/Makefile#1 branch .. //depot/projects/soc2005/libalias/tools/regression/netinet6/inet6_rth/inet6_rth-segments.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/netinet6/inet6_rth/test_subr.c#1 branch .. //depot/projects/soc2005/libalias/tools/regression/netinet6/inet6_rth/test_subr.h#1 branch .. //depot/projects/soc2005/libalias/tools/regression/sockets/sendfile/Makefile#3 integrate .. //depot/projects/soc2005/libalias/tools/regression/sockets/sendfile/sendfile.c#2 integrate .. //depot/projects/soc2005/libalias/tools/regression/usr.bin/sed/regress.sh#3 integrate .. //depot/projects/soc2005/libalias/tools/sched/schedgraph.py#4 integrate .. //depot/projects/soc2005/libalias/tools/tools/nanobsd/nanobsd.sh#6 integrate .. //depot/projects/soc2005/libalias/tools/tools/net80211/wesside/wesside/wesside.c#3 integrate .. //depot/projects/soc2005/libalias/tools/tools/recoverdisk/recoverdisk.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/calendar.freebsd#11 integrate .. //depot/projects/soc2005/libalias/usr.bin/lastcomm/lastcomm.1#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/lastcomm/lastcomm.c#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/GNode.h#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/main.c#4 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/make.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/targ.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/quota/quota.c#4 integrate .. //depot/projects/soc2005/libalias/usr.bin/sed/extern.h#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/sed/main.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/sed/process.c#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/sed/sed.1#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tar/read.c#5 integrate .. //depot/projects/soc2005/libalias/usr.bin/tar/test/test-basic.sh#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/tar/util.c#4 integrate .. //depot/projects/soc2005/libalias/usr.bin/top/machine.c#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/whois/whois.c#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/daemon/daemon.c#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/pciconf/cap.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/pmcstat/Makefile#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/pmcstat/pmcstat.8#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/pmcstat/pmcstat.c#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/pmcstat/pmcstat.h#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/rpcbind/rpcbind.8#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/rpcbind/rpcbind.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#2 integrate .. //depot/projects/soc2006/intr_filter/Makefile#6 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/genassym.c#5 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/identcpu.c#5 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/local_apic.c#10 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/machdep.c#10 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/pmap.c#14 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/prof_machdep.c#3 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/support.S#5 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/trap.c#9 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/tsc.c#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/vm_machdep.c#4 integrate .. //depot/projects/soc2006/intr_filter/amd64/conf/GENERIC#12 integrate .. //depot/projects/soc2006/intr_filter/amd64/include/pcb.h#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/include/segments.h#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/include/vmparam.h#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux.h#8 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_dummy.c#7 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_locore.s#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_machdep.c#11 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_proto.h#13 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_syscall.h#13 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_sysent.c#13 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_sysvec.c#6 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/syscalls.master#12 integrate .. //depot/projects/soc2006/intr_filter/arm/at91/at91_st.c#11 integrate .. //depot/projects/soc2006/intr_filter/arm/at91/kb920x_machdep.c#10 integrate .. //depot/projects/soc2006/intr_filter/arm/at91/uart_cpu_at91rm9200usart.c#2 integrate .. //depot/projects/soc2006/intr_filter/arm/at91/uart_dev_at91usart.c#6 integrate .. //depot/projects/soc2006/intr_filter/arm/sa11x0/uart_cpu_sa1110.c#3 integrate .. //depot/projects/soc2006/intr_filter/arm/sa11x0/uart_dev_sa1110.c#3 integrate .. //depot/projects/soc2006/intr_filter/arm/xscale/i80321/i80321_wdog.c#3 integrate .. //depot/projects/soc2006/intr_filter/arm/xscale/i80321/uart_cpu_i80321.c#2 integrate .. //depot/projects/soc2006/intr_filter/arm/xscale/ixp425/ixp425_wdog.c#2 integrate .. //depot/projects/soc2006/intr_filter/arm/xscale/ixp425/uart_cpu_ixp425.c#2 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/boot2/boot2.c#3 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/at91rm9200_lowlevel.c#4 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/at91rm9200_lowlevel.h#5 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/emac.c#6 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/getc.c#2 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/memcmp.c#3 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/sd-card.c#4 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/spi_flash.c#4 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/strlen.c#3 integrate .. //depot/projects/soc2006/intr_filter/boot/forth/loader.conf#8 integrate .. //depot/projects/soc2006/intr_filter/boot/i386/boot0/boot0.S#2 integrate .. //depot/projects/soc2006/intr_filter/boot/pc98/boot0.5/Makefile#2 integrate .. //depot/projects/soc2006/intr_filter/boot/pc98/boot0.5/boot0.5.s#3 integrate .. //depot/projects/soc2006/intr_filter/boot/pc98/boot0.5/ldscript#1 branch .. //depot/projects/soc2006/intr_filter/boot/pc98/boot0.5/putssjis.s#1 branch .. //depot/projects/soc2006/intr_filter/boot/pc98/boot0.5/selector.s#2 integrate .. //depot/projects/soc2006/intr_filter/boot/pc98/boot0.5/start.s#2 integrate .. //depot/projects/soc2006/intr_filter/boot/pc98/boot2/boot.c#3 integrate .. //depot/projects/soc2006/intr_filter/bsm/audit.h#4 integrate .. //depot/projects/soc2006/intr_filter/bsm/audit_internal.h#4 integrate .. //depot/projects/soc2006/intr_filter/bsm/audit_kevents.h#5 integrate .. //depot/projects/soc2006/intr_filter/bsm/audit_record.h#5 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_ccb.h#4 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_periph.c#4 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_periph.h#2 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_sim.c#2 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_sim.h#2 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_xpt.c#10 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_xpt.h#4 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_xpt_periph.h#2 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_cd.c#4 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_ch.c#3 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_da.c#8 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_low.c#3 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_pass.c#4 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_pt.c#3 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_sa.c#3 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_ses.c#3 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_sg.c#1 branch .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_sg.h#1 branch .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_targ_bh.c#3 integrate .. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_target.c#4 integrate .. //depot/projects/soc2006/intr_filter/compat/linprocfs/linprocfs.c#11 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_emul.c#10 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_emul.h#5 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_file.c#7 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_futex.c#4 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_ioctl.c#3 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_socket.c#6 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_util.h#3 integrate .. //depot/projects/soc2006/intr_filter/compat/ndis/kern_ndis.c#5 integrate .. //depot/projects/soc2006/intr_filter/compat/ndis/ndis_var.h#2 integrate .. //depot/projects/soc2006/intr_filter/compat/ndis/subr_ndis.c#3 integrate .. //depot/projects/soc2006/intr_filter/compat/ndis/subr_pe.c#2 integrate .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_kmem.c#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_kobj.c#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_kstat.c#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_misc.c#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_policy.c#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_string.c#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_vfs.c#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_zone.c#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/machine/endian.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/rpc/xdr.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/acl.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/byteorder.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/callb.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/cmn_err.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/cred.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/debug.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/dirent.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/dkio.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/kcondvar.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/kmem.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/kobj.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/kstat.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/lock.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/misc.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/mntent.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/mnttab.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/mount.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/mutex.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/policy.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/proc.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/random.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/rwlock.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/sdt.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/string.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/sunddi.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/sysmacros.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/systm.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/taskq.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/taskq_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/time.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/types.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/uio.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/varargs.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/vfs.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/vnode.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/zone.h#1 branch .. //depot/projects/soc2006/intr_filter/compat/svr4/svr4_filio.c#2 integrate .. //depot/projects/soc2006/intr_filter/conf/NOTES#17 integrate .. //depot/projects/soc2006/intr_filter/conf/files#17 integrate .. //depot/projects/soc2006/intr_filter/conf/files.amd64#9 integrate .. //depot/projects/soc2006/intr_filter/conf/files.i386#9 integrate .. //depot/projects/soc2006/intr_filter/conf/files.ia64#5 integrate .. //depot/projects/soc2006/intr_filter/conf/files.pc98#7 integrate .. //depot/projects/soc2006/intr_filter/conf/files.powerpc#7 integrate .. //depot/projects/soc2006/intr_filter/conf/options#16 integrate .. //depot/projects/soc2006/intr_filter/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/soc2006/intr_filter/contrib/dev/acpica/utmisc.c#3 integrate .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/acl/acl_common.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/acl/acl_common.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/atomic/amd64/atomic.S#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/atomic/i386/atomic.S#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/avl/avl.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/nvpair/nvpair.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/nvpair/nvpair_alloc_fixed.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/zfs/zfs_namecheck.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/zfs/zfs_namecheck.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/zfs/zfs_prop.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/common/zfs/zfs_prop.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/Makefile.files#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/dnlc.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/gfs.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/arc.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/bplist.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dmu.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dnode.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/fletcher.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/gzip.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/lzjb.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/metaslab.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/refcount.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sha256.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/spa.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/space_map.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/bplist.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_traverse.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_tx.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_zfetch.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_prop.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_synctask.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/refcount.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/unique.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_disk.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_file.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ctldir.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_dir.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_rlock.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zio_checksum.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/sys/zvol.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/txg.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/uberblock.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/unique.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zap.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs.conf#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zil.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zio.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zvol.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/os/callb.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/os/list.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/os/taskq.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/rpc/xdr.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/rpc/xdr.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/rpc/xdr_array.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/rpc/xdr_mem.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/asm_linkage.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/atomic.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/avl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/avl_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/bitmap.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/byteorder.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/callb.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/ccompile.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/compress.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/cred.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/debug.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/dkio.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/dklabel.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/dnlc.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/errorq.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/feature_tests.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/fm/fs/zfs.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/fm/protocol.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/fm/util.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/fs/zfs.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/gfs.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/isa_defs.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/list.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/list_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/note.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/nvpair.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/nvpair_impl.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/processor.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/procset.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/sdt.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/synch.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/sysevent.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/sysmacros.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/vfs.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/vmem.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/sys/zmod.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/adler32.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/crc32.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/crc32.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/deflate.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/deflate.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/inffast.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/inffast.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/inffixed.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/inflate.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/inflate.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/inftrees.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/inftrees.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/trees.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/zconf.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/zlib.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/zmod.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/zmod_subr.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/zutil.c#1 branch .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/zmod/zutil.h#1 branch .. //depot/projects/soc2006/intr_filter/contrib/pf/net/if_pfsync.c#7 integrate .. //depot/projects/soc2006/intr_filter/dev/aac/aac_cam.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/acpi_support/acpi_ibm.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/acpica/Osd/OsdSynch.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/acpica/acpi.c#8 integrate .. //depot/projects/soc2006/intr_filter/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/acpica/acpi_hpet.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/advansys/advansys.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/advansys/adwcam.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/aha/aha.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/ahb/ahb.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/aic/aic.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7770.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic79xx.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic79xx.h#3 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic79xx_osm.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic79xx_osm.h#3 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic79xx_pci.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx_inline.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx_osm.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx_osm.h#3 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx_pci.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic_osm_lib.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/amd/amd.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/amr/amr_cam.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/arcmsr/arcmsr.c#10 integrate .. //depot/projects/soc2006/intr_filter/dev/asr/asr.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-all.h#5 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-chipset.c#15 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-disk.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-dma.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-lowlevel.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata_if.m#2 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/atapi-cam.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/ath/ah_osdep.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/ath/if_ath.c#14 integrate .. //depot/projects/soc2006/intr_filter/dev/bge/if_bge.c#16 integrate .. //depot/projects/soc2006/intr_filter/dev/buslogic/bt.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/ciss/ciss.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/cxgb/cxgb_lro.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/cxgb/sys/mvec.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/cxgb/sys/uipc_mvec.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/dpt/dpt_scsi.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/ed/if_ed_pccard.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/esp/ncr53c9x.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ex/if_exvar.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/firewire.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/firewire.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/fwdev.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/fwdma.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/fwohci_pci.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/sbp.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/sbp_targ.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/fxp/if_fxp.c#9 integrate .. //depot/projects/soc2006/intr_filter/dev/hptmv/entry.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/hwpmc/hwpmc_mod.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/hwpmc/hwpmc_piv.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/ichwd/ichwd.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/if_ndis/if_ndis_pccard.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/iicbus/icee.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/iir/iir.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ipmi/ipmi.c#8 integrate .. //depot/projects/soc2006/intr_filter/dev/ipmi/ipmi_pci.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp.c#15 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_freebsd.c#12 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_freebsd.h#10 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_library.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_library.h#5 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_pci.c#15 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_sbus.c#11 integrate .. //depot/projects/soc2006/intr_filter/dev/led/led.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/led/led.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/mii/brgphy.c#9 integrate .. //depot/projects/soc2006/intr_filter/dev/mii/miidevs#8 integrate .. //depot/projects/soc2006/intr_filter/dev/mk48txx/mk48txx.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/mly/mly.c#7 integrate .. //depot/projects/soc2006/intr_filter/dev/mpt/mpt_cam.c#13 integrate .. //depot/projects/soc2006/intr_filter/dev/msk/if_msk.c#8 integrate .. //depot/projects/soc2006/intr_filter/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/soc2006/intr_filter/dev/mxge/if_mxge.c#9 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pci.c#12 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pci_pci.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pcireg.h#8 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pcivar.h#8 integrate .. //depot/projects/soc2006/intr_filter/dev/ppbus/vpo.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ral/rt2560.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/re/if_re.c#20 integrate .. //depot/projects/soc2006/intr_filter/dev/rr232x/osm_bsd.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/scc/scc_bfe.h#8 integrate .. //depot/projects/soc2006/intr_filter/dev/scc/scc_core.c#18 integrate .. //depot/projects/soc2006/intr_filter/dev/scc/scc_if.m#2 integrate .. //depot/projects/soc2006/intr_filter/dev/sio/sio_pci.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/sk/if_sk.c#9 integrate .. //depot/projects/soc2006/intr_filter/dev/sk/if_skreg.h#5 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/isa/ad1816.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/isa/ess.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/isa/mss.c#4 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Apr 29 16:17:26 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 774EA16A403; Sun, 29 Apr 2007 16:17:26 +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 2FEDE16A400 for ; Sun, 29 Apr 2007 16:17:26 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 07EA113C459 for ; Sun, 29 Apr 2007 16:17:25 +0000 (UTC) (envelope-from ivoras@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 l3TGHPL2082789 for ; Sun, 29 Apr 2007 16:17:25 GMT (envelope-from ivoras@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3TGHPaA082786 for perforce@freebsd.org; Sun, 29 Apr 2007 16:17:25 GMT (envelope-from ivoras@FreeBSD.org) Date: Sun, 29 Apr 2007 16:17:25 GMT Message-Id: <200704291617.l3TGHPaA082786@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ivoras@FreeBSD.org using -f From: Ivan Voras To: Perforce Change Reviews Cc: Subject: PERFORCE change 118943 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, 29 Apr 2007 16:17:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=118943 Change 118943 by ivoras@ivoras_finstall on 2007/04/29 16:17:24 Still testing Perforce Affected files ... .. //depot/projects/soc2007/ivoras_finstall/LICENSE.txt#1 add .. //depot/projects/soc2007/ivoras_finstall/README.txt#2 edit Differences ... ==== //depot/projects/soc2007/ivoras_finstall/README.txt#2 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Apr 29 16:21: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 3E47416A407; Sun, 29 Apr 2007 16:21:33 +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 1C87D16A401 for ; Sun, 29 Apr 2007 16:21:33 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0CBA413C45D for ; Sun, 29 Apr 2007 16:21:33 +0000 (UTC) (envelope-from ivoras@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 l3TGLW1l083777 for ; Sun, 29 Apr 2007 16:21:32 GMT (envelope-from ivoras@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3TGLWTH083774 for perforce@freebsd.org; Sun, 29 Apr 2007 16:21:32 GMT (envelope-from ivoras@FreeBSD.org) Date: Sun, 29 Apr 2007 16:21:32 GMT Message-Id: <200704291621.l3TGLWTH083774@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ivoras@FreeBSD.org using -f From: Ivan Voras To: Perforce Change Reviews Cc: Subject: PERFORCE change 118945 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, 29 Apr 2007 16:21:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=118945 Change 118945 by ivoras@ivoras_finstall on 2007/04/29 16:21:28 Testing Perforce changelists Affected files ... .. //depot/projects/soc2007/ivoras_finstall/LICENSE.txt#2 edit .. //depot/projects/soc2007/ivoras_finstall/README.txt#3 edit Differences ... ==== //depot/projects/soc2007/ivoras_finstall/LICENSE.txt#2 (text+ko) ==== @@ -1,0 +1,20 @@ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ==== //depot/projects/soc2007/ivoras_finstall/README.txt#3 (text+ko) ==== @@ -1,2 +1,1 @@ This is a starting entry for `finstall` project. More info to come. - From owner-p4-projects@FreeBSD.ORG Sun Apr 29 23:41:46 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 6C2F116A40B; Sun, 29 Apr 2007 23:41:46 +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 408B616A402 for ; Sun, 29 Apr 2007 23:41:46 +0000 (UTC) (envelope-from smilicic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 142E313C465 for ; Sun, 29 Apr 2007 23:41:46 +0000 (UTC) (envelope-from smilicic@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 l3TNfjRt097895 for ; Sun, 29 Apr 2007 23:41:45 GMT (envelope-from smilicic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3TNfjxP097892 for perforce@freebsd.org; Sun, 29 Apr 2007 23:41:45 GMT (envelope-from smilicic@FreeBSD.org) Date: Sun, 29 Apr 2007 23:41:45 GMT Message-Id: <200704292341.l3TNfjxP097892@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to smilicic@FreeBSD.org using -f From: Sonja Milicic To: Perforce Change Reviews Cc: Subject: PERFORCE change 118965 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, 29 Apr 2007 23:41:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=118965 Change 118965 by smilicic@tanarri_marilith on 2007/04/29 23:41:33 Just a test. Affected files ... .. //depot/projects/soc2007/smilicic_gsafetynet/README#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Apr 30 02:24:04 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 311A016A407; Mon, 30 Apr 2007 02:24:04 +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 E33F616A402 for ; Mon, 30 Apr 2007 02:24:03 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D1D0213C457 for ; Mon, 30 Apr 2007 02:24:03 +0000 (UTC) (envelope-from rpaulo@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 l3U2O3wT036144 for ; Mon, 30 Apr 2007 02:24:03 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3U2O3fC036141 for perforce@freebsd.org; Mon, 30 Apr 2007 02:24:03 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 30 Apr 2007 02:24:03 GMT Message-Id: <200704300224.l3U2O3fC036141@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 118967 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, 30 Apr 2007 02:24:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=118967 Change 118967 by rpaulo@rpaulo_epsilon on 2007/04/30 02:23:48 msrtemp: Driver for reading CPU temperature (on-die) on Intel Core CPUs. The sensor is located exactly in the center/middle of the CPU. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/conf/files#4 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#1 add .. //depot/projects/soc2007/rpaulo-macbook/modules/msrtemp/Makefile#1 add Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/conf/files#4 (text+ko) ==== @@ -774,6 +774,7 @@ dev/mpt/mpt_pci.c optional mpt pci dev/mpt/mpt_raid.c optional mpt dev/msk/if_msk.c optional msk +dev/msrtemp/msrtemp.c optional msrtemp dev/my/if_my.c optional my dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard From owner-p4-projects@FreeBSD.ORG Mon Apr 30 03:45:44 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 870D016A404; Mon, 30 Apr 2007 03:45:44 +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 3AAB716A401 for ; Mon, 30 Apr 2007 03:45:44 +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 1EBCA13C458 for ; Mon, 30 Apr 2007 03:45:44 +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 l3U3jiU6056889 for ; Mon, 30 Apr 2007 03:45:44 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3U3jhDu056886 for perforce@freebsd.org; Mon, 30 Apr 2007 03:45:43 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 30 Apr 2007 03:45:43 GMT Message-Id: <200704300345.l3U3jhDu056886@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 118968 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, 30 Apr 2007 03:45:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=118968 Change 118968 by mjacob@mjexp on 2007/04/30 03:45:13 IFC Affected files ... .. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#14 integrate .. //depot/projects/mjexp/share/man/man9/rman.9#2 integrate .. //depot/projects/mjexp/share/misc/committers-ports.dot#6 integrate .. //depot/projects/mjexp/sys/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate .. //depot/projects/mjexp/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 integrate .. //depot/projects/mjexp/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate .. //depot/projects/mjexp/sys/kern/subr_rman.c#5 integrate .. //depot/projects/mjexp/sys/security/audit/audit_ioctl.h#2 integrate .. //depot/projects/mjexp/usr.bin/calendar/calendars/calendar.freebsd#11 integrate .. //depot/projects/mjexp/usr.bin/stat/stat.1#2 integrate Differences ... ==== //depot/projects/mjexp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#14 (text+ko) ==== @@ -30,7 +30,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1023 2007/04/24 08:58:09 yar Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1026 2007/04/29 11:32:25 brueffer Exp $ 2000 @@ -276,6 +276,11 @@ information, see security advisory FreeBSD-SA-07:02.bind. &merged; + Processing of IPv6 type 0 Routing Headers is now + controlled by the net.inet6.ip6.rthdr0_allowed + sysctl variable, which defaults to 0 (off). + For more information, see security advisory + FreeBSD-SA-07:03.ipv6. &merged; @@ -341,9 +346,7 @@ &man.hwpmc.4; and &man.pmcstat.8; now support profiling of dynamically loaded kernel modules and - shared objects loaded with &man.dlopen.3;. - &man.pmcstat.8; can now log over a network socket - to a remote host. + shared objects loaded with &man.dlopen.3;. A new kern.hostuuid sysctl variable has been added to hold a host's Universally Unique Identifier @@ -356,8 +359,9 @@ It is enabled in the GENERIC kernel (thus there is no change in functionality) for all platforms except &arch.sun4v;. - Support for Message Signaled Interrupts (MSI) has been added to - the &man.pci.4; driver. &merged; + Support for Message Signaled Interrupts (MSI) and Extended + Message Signaled Interrupts (MSI-X) has been added to the kernel's + PCI support code. &merged; The &man.priv.9; kernel interface has been added. Its purpose is checking the availability of privilege for threads and credentials. @@ -734,6 +738,9 @@ The &man.ed.4; driver is now MPSAFE. + The &man.edsc.4; driver, which provides Ethernet discard network + interfaces, has been added. &merged; + The &man.el.4; driver has been removed due to lack of use. The &man.em.4; driver now supports big-endian @@ -1279,7 +1286,7 @@ option; the option is now used to specify the authentication algorithm. &merged; - The sg driver, which emulates a significant + The scsi_sg driver, which emulates a significant subset of the Linux SCSI SG passthrough device API, has been added. It is intended to allow programs running under Linux emulation @@ -1715,6 +1722,14 @@ scripts. Symbolic links from its former location have been created for backward compatibility. &merged; + The &man.pmcstat.8; program has seen several enhancements: + It can now log over a network socket to a remote host. The + now takes a comma-seperated list of CPUs + to configure for PMC allocation. The option + has been enhanced to take a regular expression for selecting + processes based on their command names. &man.pmcstat.8; now + allocates system PMCs on all CPUs by default, not just CPU 0. + The &man.powerd.8; program now supports a option, which specifies a pidfile to use. @@ -1741,9 +1756,18 @@ The supported names are: DUN (Dial-Up Networking), FAX (Fax), LAN (LAN Access Using PPP), and SP (Serial Port). &merged; + The &man.rpcbind.8; program can now bind its TCP listening + socket to an IP address other than INADDR_ANY using the + flag. The new flag allows + it to bind to IPv6 addresses only. + The &man.rpcgen.1; utility now generates headers and stub files that can be used with ANSI C compilers by default. + The &man.rpc.lockd.8; and &man.rpc.statd.8; programs now + accept options to indicate which port they + should bind to. &merged; + The &man.rtld.1; runtime linker now supports ELF symbol versioning using GNU semantics. This implementation aims to be compatible with symbol versioning support as implemented by GNU libc and @@ -1752,10 +1776,6 @@ function has been added to allow lookups for a specific version of a given symbol. - The &man.rpc.lockd.8; and &man.rpc.statd.8; programs now - accept options to indicate which port they - should bind to. &merged; - A bug in the &man.sed.1; utility which can cause incorrect calculation of pattern space length in some cases has been fixed. ==== //depot/projects/mjexp/share/man/man9/rman.9#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/rman.9,v 1.7 2006/02/13 21:34:19 joel Exp $ +.\" $FreeBSD: src/share/man/man9/rman.9,v 1.8 2007/04/28 07:37:48 jmg Exp $ .\" -.Dd March 15, 2005 +.Dd April 28, 2007 .Dt RMAN 9 .Os .Sh NAME @@ -140,6 +140,12 @@ .Fa rm argument, for use with the resource management functions. It also initializes any mutexes associated with the structure. +If +.Fn rman_init +fails to initalize the mutex, it will return +.Er ENOMEM ; otherwise it will return 0 and +.Fa rm +will be initalized. .Pp The .Fn rman_fini @@ -167,10 +173,15 @@ and .Fa end arguments specify the bounds of the region. -.Pp -.Em NOTE : -This interface is not robust against programming errors which -add multiple copies of the same region. +If successful, +.Fn rman_manage_region +will return 0. +If the region overlaps with an existing region, it will return +.Er EBUSY . +.Er ENOMEM +will be return when +.Fn rman_manage_region +failed to allocate memory for the region. .Pp The .Fn rman_reserve_resource_bound ==== //depot/projects/mjexp/share/misc/committers-ports.dot#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/misc/committers-ports.dot,v 1.53 2007/04/25 11:59:09 nemoliu Exp $ +# $FreeBSD: src/share/misc/committers-ports.dot,v 1.54 2007/04/27 18:19:59 araujo Exp $ # This file is meant to list all FreeBSD ports committers and describe the # mentor-mentee relationships between them. @@ -46,6 +46,7 @@ alepulver [label="Alejandro Pulver\nalepulver@FreeBSD.org\n2006/04/01"] alexbl [label="Alexander Botero-Lowry\nalexbl@FreeBSD.org\n2006/09/11"] anray [label="Andrey Slusar\nanray@FreeBSD.org\n2005/12/11"] +araujo [label="Marcelo Araujo\naraujo@FreeBSD.org\n2007/04/26"] arved [label="Tilman Linneweh\narved@FreeBSD.org\n2002/10/15"] az [label="Andrej Zverev\naz@FreeBSD.org\n2005/10/03"] bland [label="Alexander Nedotsukov\nbland@FreeBSD.org\n2003/08/14"] @@ -179,6 +180,7 @@ ijliao -> leeym +itetcu -> araujo itetcu -> dryice joerg -> netchild @@ -241,6 +243,8 @@ sobomax -> marcus +stas -> araujo + steve -> netchild tmclaugh -> itetcu ==== //depot/projects/mjexp/sys/contrib/opensolaris/uts/common/fs/gfs.c#2 (text+ko) ==== @@ -197,6 +197,7 @@ st->grd_dirent->d_reclen = (ushort_t)reclen; st->grd_dirent->d_namlen = namlen; + /* TODO: d_type */ if (uiomove((caddr_t)st->grd_dirent, reclen, UIO_READ, uiop)) return (EFAULT); @@ -231,6 +232,7 @@ st->grd_dirent->d_ino = ino; (void) strncpy(st->grd_dirent->d_name, name, st->grd_namlen); + /* TODO: d_type */ /* * Inter-entry offsets are invalid, so we assume a record size of ==== //depot/projects/mjexp/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 (text+ko) ==== @@ -84,13 +84,13 @@ ZFS_LOG(1, "Closing access to %s.", cp->provider->name); g_access(cp, -cp->acr, -cp->acw, -cp->ace); + ZFS_LOG(1, "Destroyed consumer to %s.", cp->provider->name); g_detach(cp); - ZFS_LOG(1, "Destroyed consumer to %s.", cp->provider->name); g_destroy_consumer(cp); /* Destroy geom if there are no consumers left. */ if (LIST_EMPTY(&gp->consumer)) { ZFS_LOG(1, "Destroyed geom %s.", gp->name); - g_wither_geom(cp->geom, error); + g_wither_geom(gp, error); } vdev_geom_release(vd); /* Both methods below work, but in a bit different way. */ ==== //depot/projects/mjexp/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 (text+ko) ==== @@ -1818,12 +1818,15 @@ if (offset == 0) { (void) strcpy(zap.za_name, "."); objnum = zp->z_id; + type = DT_DIR; } else if (offset == 1) { (void) strcpy(zap.za_name, ".."); objnum = zp->z_phys->zp_parent; + type = DT_DIR; } else if (offset == 2 && zfs_show_ctldir(zp)) { (void) strcpy(zap.za_name, ZFS_CTLDIR_NAME); objnum = ZFSCTL_INO_ROOT; + type = DT_DIR; } else { /* * Grab next entry. @@ -1929,7 +1932,7 @@ uio->uio_loffset = offset; ZFS_EXIT(zfsvfs); - if (error != 0) { + if (error != 0 && cookies != NULL) { free(*cookies, M_TEMP); *cookies = NULL; *ncookies = 0; ==== //depot/projects/mjexp/sys/kern/subr_rman.c#5 (text+ko) ==== @@ -58,7 +58,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/kern/subr_rman.c,v 1.56 2007/04/16 21:09:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_rman.c,v 1.57 2007/04/28 07:37:49 jmg Exp $"); #include #include @@ -155,10 +155,6 @@ return 0; } -/* - * NB: this interface is not robust against programming errors which - * add multiple copies of the same region. - */ int rman_manage_region(struct rman *rm, u_long start, u_long end) { ==== //depot/projects/mjexp/sys/security/audit/audit_ioctl.h#2 (text) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/security/audit/audit_ioctl.h,v 1.4 2006/08/26 17:59:31 rwatson Exp $ + * $FreeBSD: src/sys/security/audit/audit_ioctl.h,v 1.5 2007/04/29 16:20:32 rwatson Exp $ */ #ifndef _SECURITY_AUDIT_AUDIT_IOCTL_H_ @@ -48,9 +48,6 @@ */ #define AUDITPIPE_PRESELECT_MODE_TRAIL 1 /* Global audit trail. */ #define AUDITPIPE_PRESELECT_MODE_LOCAL 2 /* Local audit trail. */ -#ifdef NOTYET -#define AUDITPIPE_PRESELECT_MODE_PRIORITY 3 /* Prioritized trail. */ -#endif /* * Ioctls to read and control the behavior of individual audit pipe devices. ==== //depot/projects/mjexp/usr.bin/calendar/calendars/calendar.freebsd#11 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD * - * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.213 2007/04/25 11:59:10 nemoliu Exp $ + * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.214 2007/04/27 18:17:41 araujo Exp $ */ #ifndef _calendar_freebsd_ @@ -21,6 +21,7 @@ 01/16 Vanilla I. Shu born in Taipei, Taiwan, Republic of China, 1978 01/18 Dejan Lesjak born in Ljubljana, Slovenia, Yugoslavia, 1977 01/19 Marshall Kirk McKusick born in Wilmington, Delaware, United States, 1954 +01/19 Marcelo S. Araujo born in Joinville, Santa Catarina, Brazil, 1981 01/19 Ruslan Ermilov born in Simferopol, USSR, 1974 01/20 Poul-Henning Kamp born in Korsoer, Denmark, 1966 01/22 Johann Visagie born in Cape Town, South Africa, 1970 ==== //depot/projects/mjexp/usr.bin/stat/stat.1#2 (text+ko) ==== @@ -34,9 +34,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/usr.bin/stat/stat.1,v 1.8 2005/06/14 11:50:53 ru Exp $ +.\" $FreeBSD: src/usr.bin/stat/stat.1,v 1.9 2007/04/27 18:23:32 brian Exp $ .\" -.Dd May 8, 2003 +.Dd April 27, 2007 .Dt STAT 1 .Os .Sh NAME @@ -455,7 +455,7 @@ 1148 1015432481 .Ed .Pp -In order to get a list of the kind of files including files pointed to if the +In order to get a list of file types including files pointed to if the file is a symbolic link, you could use the following format: .Bd -literal -offset indent $ stat -f "%N: %HT%SY" /tmp/* @@ -497,6 +497,31 @@ Apr 25 10:36:34 2002 /tmp/bar Apr 24 16:47:35 2002 /tmp/foo .Ed +.Pp +To display a file's modification time: +.Bd -literal -offset indent +\*[Gt] stat -f %m /tmp/foo +1177697733 +.Ed +.Pp +To display the same modification time in a readable format: +.Bd -literal -offset indent +\*[Gt] stat -f %Sm /tmp/foo +Apr 27 11:15:33 2007 +.Ed +.Pp +To display the same modification time in a readable and sortable format: +.Bd -literal -offset indent +\*[Gt] stat -f %Sm -t %Y%m%d%H%M%S /tmp/foo +20070427111533 +.Ed +.Pp +To display the same in UTC: +.Bd -literal -offset indent +\*[Gt] sh +$ TZ= stat -f %Sm -t %Y%m%d%H%M%S /tmp/foo +20070427181533 +.Ed .Sh SEE ALSO .Xr file 1 , .Xr ls 1 , From owner-p4-projects@FreeBSD.ORG Mon Apr 30 04:43: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 846A916A403; Mon, 30 Apr 2007 04:43: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 1503016A406 for ; Mon, 30 Apr 2007 04:43:57 +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 04EC313C44C for ; Mon, 30 Apr 2007 04:43:57 +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 l3U4huMt067714 for ; Mon, 30 Apr 2007 04:43:56 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3U4huhw067704 for perforce@freebsd.org; Mon, 30 Apr 2007 04:43:56 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 30 Apr 2007 04:43:56 GMT Message-Id: <200704300443.l3U4huhw067704@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 118969 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, 30 Apr 2007 04:43:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=118969 Change 118969 by mjacob@mjexp on 2007/04/30 04:42:54 Borrow scott's graciously offered leg up on SMP for mpt. Affected files ... .. //depot/projects/mjexp/sys/dev/mpt/mpt.c#7 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt.h#11 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#19 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt_pci.c#11 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt_raid.c#5 integrate Differences ... ==== //depot/projects/mjexp/sys/dev/mpt/mpt.c#7 (text+ko) ==== @@ -704,6 +704,8 @@ mpt = (struct mpt_softc *)arg; mpt_lprt(mpt, MPT_PRT_DEBUG2, "enter mpt_intr\n"); + MPT_LOCK_ASSERT(mpt); + while ((reply_desc = mpt_pop_reply_queue(mpt)) != MPT_REPLY_EMPTY) { request_t *req; MSG_DEFAULT_REPLY *reply_frame; @@ -1171,6 +1173,7 @@ } KASSERT(req->state != REQ_STATE_FREE, ("freeing free request")); KASSERT(!(req->state & REQ_STATE_LOCKED), ("freeing locked request")); + MPT_LOCK_ASSERT(mpt); KASSERT(mpt_req_on_free_list(mpt, req) == 0, ("mpt_free_request: req %p:%u func %x already on freelist", req, req->serno, ((MSG_REQUEST_HEADER *)req->req_vbuf)->Function)); @@ -1219,6 +1222,7 @@ request_t *req; retry: + MPT_LOCK_ASSERT(mpt); req = TAILQ_FIRST(&mpt->request_free_list); if (req != NULL) { KASSERT(req == &mpt->request_pool[req->index], @@ -2105,18 +2109,20 @@ int mpt_core_attach(struct mpt_softc *mpt) { - int val; + int val, error; LIST_INIT(&mpt->ack_frames); /* Put all request buffers on the free list */ TAILQ_INIT(&mpt->request_pending_list); TAILQ_INIT(&mpt->request_free_list); TAILQ_INIT(&mpt->request_timeout_list); + MPT_LOCK(mpt); for (val = 0; val < MPT_MAX_REQUESTS(mpt); val++) { request_t *req = &mpt->request_pool[val]; req->state = REQ_STATE_ALLOCATED; mpt_free_request(mpt, req); } + MPT_UNLOCK(mpt); for (val = 0; val < MPT_MAX_LUNS; val++) { STAILQ_INIT(&mpt->trt[val].atios); STAILQ_INIT(&mpt->trt[val].inots); @@ -2130,7 +2136,12 @@ mpt_sysctl_attach(mpt); mpt_lprt(mpt, MPT_PRT_DEBUG, "doorbell req = %s\n", mpt_ioc_diag(mpt_read(mpt, MPT_OFFSET_DOORBELL))); - return (mpt_configure_ioc(mpt, 0, 0)); + + MPT_LOCK(mpt); + error = mpt_configure_ioc(mpt, 0, 0); + MPT_UNLOCK(mpt); + + return (error); } int @@ -2141,6 +2152,7 @@ * not enabled, ports not enabled and interrupts * not enabled. */ + MPT_LOCK(mpt); /* * Enable asynchronous event reporting- all personalities @@ -2175,8 +2187,10 @@ */ if (mpt_send_port_enable(mpt, 0) != MPT_OK) { mpt_prt(mpt, "failed to enable port 0\n"); + MPT_UNLOCK(mpt); return (ENXIO); } + MPT_UNLOCK(mpt); return (0); } ==== //depot/projects/mjexp/sys/dev/mpt/mpt.h#11 (text+ko) ==== @@ -241,7 +241,7 @@ bus_dma_tag_create(parent_tag, alignment, boundary, \ lowaddr, highaddr, filter, filterarg, \ maxsize, nsegments, maxsegsz, flags, \ - busdma_lock_mutex, &Giant, \ + busdma_lock_mutex, &(mpt)->mpt_lock, \ dma_tagp) #else #define mpt_dma_tag_create(mpt, parent_tag, alignment, boundary, \ @@ -280,7 +280,7 @@ /****************************** Timer Facilities ******************************/ #if __FreeBSD_version > 500000 -#define mpt_callout_init(c) callout_init(c, /*mpsafe*/0); +#define mpt_callout_init(c) callout_init(c, /*mpsafe*/1); #else #define mpt_callout_init(c) callout_init(c); #endif @@ -337,6 +337,7 @@ bus_addr_t sense_pbuf; /* Physical Address of sense data */ bus_dmamap_t dmap; /* DMA map for data buffers */ struct req_entry *chain; /* for SGE overallocations */ + struct callout callout; /* Timeout for the request */ }; /**************************** MPI Target State Info ***************************/ @@ -527,7 +528,7 @@ unit : 8, ready : 1, fw_uploaded : 1, - : 1, + msi_enable : 1, twildcard : 1, tenabled : 1, do_cfg_role : 1, @@ -740,6 +741,10 @@ #define MPT_IFLAGS INTR_TYPE_CAM #define MPT_LOCK(mpt) mpt_lockspl(mpt) #define MPT_UNLOCK(mpt) mpt_unlockspl(mpt) +#define MPT_OWNED(mpt) mpt->mpt_islocked +#define MPT_LOCK_ASSERT(mpt) +#define MPTLOCK_2_CAMLOCK MPT_UNLOCK +#define CAMLOCK_2_MPTLOCK MPT_LOCK #define MPT_LOCK_SETUP(mpt) #define MPT_LOCK_DESTROY(mpt) @@ -791,15 +796,55 @@ } #else +#if 1 +#define MPT_IFLAGS INTR_TYPE_CAM | INTR_ENTROPY | INTR_MPSAFE +#define MPT_LOCK_SETUP(mpt) \ + mtx_init(&mpt->mpt_lock, "mpt", NULL, MTX_DEF); \ + mpt->mpt_locksetup = 1 +#define MPT_LOCK_DESTROY(mpt) \ + if (mpt->mpt_locksetup) { \ + mtx_destroy(&mpt->mpt_lock); \ + mpt->mpt_locksetup = 0; \ + } + +#define MPT_LOCK(mpt) mtx_lock(&(mpt)->mpt_lock) +#define MPT_UNLOCK(mpt) mtx_unlock(&(mpt)->mpt_lock) +#define MPT_OWNED(mpt) mtx_owned(&(mpt)->mpt_lock) +#define MPT_LOCK_ASSERT(mpt) mtx_assert(&(mpt)->mpt_lock, MA_OWNED) +#define MPTLOCK_2_CAMLOCK(mpt) +#define CAMLOCK_2_MPTLOCK(mpt) +#define mpt_sleep(mpt, ident, priority, wmesg, timo) \ + msleep(ident, &(mpt)->mpt_lock, priority, wmesg, timo) +#define mpt_req_timeout(req, ticks, func, arg) \ + callout_reset(&(req)->callout, (ticks), (func), (arg)); +#define mpt_req_untimeout(req, func, arg) \ + callout_stop(&(req)->callout) +#define mpt_req_timeout_init(req) \ + callout_init(&(req)->callout, 1) + +#else + #define MPT_IFLAGS INTR_TYPE_CAM | INTR_ENTROPY #define MPT_LOCK_SETUP(mpt) do { } while (0) #define MPT_LOCK_DESTROY(mpt) do { } while (0) -#define MPT_LOCK(mpt) do { } while (0) -#define MPT_UNLOCK(mpt) do { } while (0) +#define MPT_LOCK_ASSERT(mpt) mtx_assert(&Giant, MA_OWNED) +#define MPT_LOCK(mpt) mtx_lock(&Giant) +#define MPT_UNLOCK(mpt) mtx_unlock(&Giant) +#define MPTLOCK_2_CAMLOCK(mpt) +#define CAMLOCK_2_MPTLOCK(mpt) static __inline int mpt_sleep(struct mpt_softc *, void *, int, const char *, int); +#define mpt_ccb_timeout(ccb, ticks, func, arg) \ + do { \ + (ccb)->ccb_h.timeout_ch = timeout((func), (arg), (ticks)); \ + } while (0) +#define mpt_ccb_untimeout(ccb, func, arg) \ + untimeout((func), (arg), (ccb)->ccb_h.timeout_ch) +#define mpt_ccb_timeout_init(ccb) \ + callout_handle_init(&(ccb)->ccb_h.timeout_ch) + static __inline int mpt_sleep(struct mpt_softc *mpt, void *i, int p, const char *w, int t) { @@ -808,6 +853,7 @@ return (r); } #endif +#endif /******************************* Register Access ******************************/ static __inline void mpt_write(struct mpt_softc *, size_t, uint32_t); ==== //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#19 (text+ko) ==== @@ -217,6 +217,7 @@ int maxq; int error; + MPT_LOCK(mpt); TAILQ_INIT(&mpt->request_timeout_list); maxq = (mpt->ioc_facts.GlobalCredits < MPT_MAX_REQUESTS(mpt))? mpt->ioc_facts.GlobalCredits : MPT_MAX_REQUESTS(mpt); @@ -225,14 +226,16 @@ error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &scsi_io_handler_id); if (error != 0) { - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } handler.reply_handler = mpt_scsi_tmf_reply_handler; error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &scsi_tmf_handler_id); if (error != 0) { - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } /* @@ -244,11 +247,13 @@ error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &fc_els_handler_id); if (error != 0) { - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } if (mpt_add_els_buffers(mpt) == FALSE) { error = ENOMEM; - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } maxq -= mpt->els_cmds_allocated; } @@ -263,7 +268,8 @@ error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &mpt->scsi_tgt_handler_id); if (error != 0) { - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } } @@ -274,7 +280,8 @@ if (mpt->tmf_req == NULL) { mpt_prt(mpt, "Unable to allocate dedicated TMF request!\n"); error = ENOMEM; - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } /* @@ -286,17 +293,18 @@ mpt->tmf_req->state = REQ_STATE_FREE; maxq--; + /* + * The rest of this is CAM foo, for which we need to drop our lock + */ + MPT_UNLOCK(mpt); + if (mpt_spawn_recovery_thread(mpt) != 0) { mpt_prt(mpt, "Unable to spawn recovery thread!\n"); error = ENOMEM; - goto cleanup0; + goto cleanup; } /* - * The rest of this is CAM foo, for which we need to drop our lock - */ - - /* * Create the device queue for our SIM(s). */ devq = cam_simq_alloc(maxq); @@ -310,7 +318,7 @@ * Construct our SIM entry. */ mpt->sim = cam_sim_alloc(mpt_action, mpt_poll, "mpt", mpt, - mpt->unit, &Giant, 1, maxq, devq); + mpt->unit, &mpt->mpt_lock, 1, maxq, devq); if (mpt->sim == NULL) { mpt_prt(mpt, "Unable to allocate CAM SIM!\n"); cam_simq_free(devq); @@ -321,9 +329,11 @@ /* * Register exactly this bus. */ + MPT_LOCK(mpt); if (xpt_bus_register(mpt->sim, 0) != CAM_SUCCESS) { mpt_prt(mpt, "Bus registration Failed!\n"); error = ENOMEM; + MPT_UNLOCK(mpt); goto cleanup; } @@ -331,8 +341,10 @@ CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { mpt_prt(mpt, "Unable to allocate Path!\n"); error = ENOMEM; + MPT_UNLOCK(mpt); goto cleanup; } + MPT_UNLOCK(mpt); /* * Only register a second bus for RAID physical @@ -346,7 +358,7 @@ * Create a "bus" to export all hidden disks to CAM. */ mpt->phydisk_sim = cam_sim_alloc(mpt_action, mpt_poll, "mpt", mpt, - mpt->unit, &Giant, 1, maxq, devq); + mpt->unit, &mpt->mpt_lock, 1, maxq, devq); if (mpt->phydisk_sim == NULL) { mpt_prt(mpt, "Unable to allocate Physical Disk CAM SIM!\n"); error = ENOMEM; @@ -356,9 +368,11 @@ /* * Register this bus. */ + MPT_LOCK(mpt); if (xpt_bus_register(mpt->phydisk_sim, 1) != CAM_SUCCESS) { mpt_prt(mpt, "Physical Disk Bus registration Failed!\n"); error = ENOMEM; + MPT_UNLOCK(mpt); goto cleanup; } @@ -367,13 +381,14 @@ CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { mpt_prt(mpt, "Unable to allocate Physical Disk Path!\n"); error = ENOMEM; + MPT_UNLOCK(mpt); goto cleanup; } + MPT_UNLOCK(mpt); mpt_lprt(mpt, MPT_PRT_DEBUG, "attached cam\n"); return (0); cleanup: -cleanup0: mpt_cam_detach(mpt); return (error); } @@ -796,29 +811,38 @@ int mpt_cam_enable(struct mpt_softc *mpt) { + int error; + + MPT_LOCK(mpt); + + error = EIO; if (mpt->is_fc) { if (mpt_read_config_info_fc(mpt)) { - return (EIO); + goto out; } if (mpt_set_initial_config_fc(mpt)) { - return (EIO); + goto out; } } else if (mpt->is_sas) { if (mpt_read_config_info_sas(mpt)) { - return (EIO); + goto out; } if (mpt_set_initial_config_sas(mpt)) { - return (EIO); + goto out; } } else if (mpt->is_spi) { if (mpt_read_config_info_spi(mpt)) { - return (EIO); + goto out; } if (mpt_set_initial_config_spi(mpt)) { - return (EIO); + goto out; } } - return (0); + error = 0; + +out: + MPT_UNLOCK(mpt); + return (error); } void @@ -832,9 +856,11 @@ /* * Try to add some target command resources */ + MPT_LOCK(mpt); if (mpt_add_target_commands(mpt) == FALSE) { mpt_prt(mpt, "failed to add target commands\n"); } + MPT_UNLOCK(mpt); } mpt->ready = 1; } @@ -844,6 +870,7 @@ { mpt_handler_t handler; + MPT_LOCK(mpt); mpt->ready = 0; mpt_terminate_recovery_thread(mpt); @@ -865,6 +892,7 @@ mpt_free_request(mpt, mpt->tmf_req); mpt->tmf_req = NULL; } + MPT_UNLOCK(mpt); if (mpt->sim != NULL) { xpt_free_path(mpt->path); @@ -905,6 +933,7 @@ ccb = (union ccb *)arg; mpt = ccb->ccb_h.ccb_mpt_ptr; + MPT_LOCK(mpt); req = ccb->ccb_h.ccb_req_ptr; mpt_prt(mpt, "request %p:%u timed out for ccb %p (req->ccb %p)\n", req, req->serno, ccb, req->ccb); @@ -915,6 +944,7 @@ req->state |= REQ_STATE_TIMEDOUT; mpt_wakeup_recovery_thread(mpt); } + MPT_UNLOCK(mpt); } /* @@ -1010,7 +1040,9 @@ ccb->ccb_h.status &= ~CAM_SIM_QUEUED; KASSERT(ccb->ccb_h.status, ("zero ccb sts at %d\n", __LINE__)); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); mpt_free_request(mpt, req); + MPTLOCK_2_CAMLOCK(mpt); return; } @@ -1233,7 +1265,9 @@ if (seg < nseg && nxt_off >= MPT_REQUEST_AREA) { request_t *nrq; + CAMLOCK_2_MPTLOCK(mpt); nrq = mpt_get_request(mpt, FALSE); + MPTLOCK_2_CAMLOCK(mpt); if (nrq == NULL) { error = ENOMEM; @@ -1281,17 +1315,18 @@ ccb->ccb_h.status &= ~CAM_SIM_QUEUED; KASSERT(ccb->ccb_h.status, ("zero ccb sts at %d\n", __LINE__)); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); mpt_free_request(mpt, req); + MPTLOCK_2_CAMLOCK(mpt); return; } ccb->ccb_h.status |= CAM_SIM_QUEUED; if (ccb->ccb_h.timeout != CAM_TIME_INFINITY) { - ccb->ccb_h.timeout_ch = - timeout(mpt_timeout, (caddr_t)ccb, - (ccb->ccb_h.timeout * hz) / 1000); + mpt_req_timeout(req, (ccb->ccb_h.timeout * hz) / 1000, + mpt_timeout, ccb); } else { - callout_handle_init(&ccb->ccb_h.timeout_ch); + mpt_req_timeout_init(req); } if (mpt->verbose > MPT_PRT_DEBUG) { int nc = 0; @@ -1316,7 +1351,9 @@ tgt->state = TGT_STATE_MOVING_DATA; #endif } + CAMLOCK_2_MPTLOCK(mpt); mpt_send_cmd(mpt, req); + MPTLOCK_2_CAMLOCK(mpt); } static void @@ -1405,7 +1442,9 @@ ccb->ccb_h.status &= ~CAM_SIM_QUEUED; KASSERT(ccb->ccb_h.status, ("zero ccb sts at %d\n", __LINE__)); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); mpt_free_request(mpt, req); + MPTLOCK_2_CAMLOCK(mpt); return; } @@ -1627,7 +1666,9 @@ if (seg < nseg && nxt_off >= MPT_REQUEST_AREA) { request_t *nrq; + CAMLOCK_2_MPTLOCK(mpt); nrq = mpt_get_request(mpt, FALSE); + MPTLOCK_2_CAMLOCK(mpt); if (nrq == NULL) { error = ENOMEM; @@ -1675,17 +1716,18 @@ ccb->ccb_h.status &= ~CAM_SIM_QUEUED; KASSERT(ccb->ccb_h.status, ("zero ccb sts at %d\n", __LINE__)); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); mpt_free_request(mpt, req); + MPTLOCK_2_CAMLOCK(mpt); return; } ccb->ccb_h.status |= CAM_SIM_QUEUED; if (ccb->ccb_h.timeout != CAM_TIME_INFINITY) { - ccb->ccb_h.timeout_ch = - timeout(mpt_timeout, (caddr_t)ccb, - (ccb->ccb_h.timeout * hz) / 1000); + mpt_req_timeout(req, (ccb->ccb_h.timeout * hz) / 1000, + mpt_timeout, ccb); } else { - callout_handle_init(&ccb->ccb_h.timeout_ch); + mpt_req_timeout_init(req); } if (mpt->verbose > MPT_PRT_DEBUG) { int nc = 0; @@ -1710,7 +1752,9 @@ tgt->state = TGT_STATE_MOVING_DATA; #endif } + CAMLOCK_2_MPTLOCK(mpt); mpt_send_cmd(mpt, req); + MPTLOCK_2_CAMLOCK(mpt); } static void @@ -1729,6 +1773,7 @@ mpt = ccb->ccb_h.ccb_mpt_ptr; raid_passthru = (sim == mpt->phydisk_sim); + CAMLOCK_2_MPTLOCK(mpt); if ((req = mpt_get_request(mpt, FALSE)) == NULL) { if (mpt->outofbeer == 0) { mpt->outofbeer = 1; @@ -1737,12 +1782,14 @@ } ccb->ccb_h.status &= ~CAM_SIM_QUEUED; mpt_set_ccb_status(ccb, CAM_REQUEUE_REQ); + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); return; } #ifdef INVARIANTS mpt_req_not_spcl(mpt, req, "mpt_start", __LINE__); #endif + MPTLOCK_2_CAMLOCK(mpt); if (sizeof (bus_addr_t) > 4) { cb = mpt_execute_req_a64; @@ -1764,12 +1811,15 @@ mpt_req->Function = MPI_FUNCTION_SCSI_IO_REQUEST; if (raid_passthru) { mpt_req->Function = MPI_FUNCTION_RAID_SCSI_IO_PASSTHROUGH; + CAMLOCK_2_MPTLOCK(mpt); if (mpt_map_physdisk(mpt, ccb, &tgt) != 0) { + MPTLOCK_2_CAMLOCK(mpt); ccb->ccb_h.status &= ~CAM_SIM_QUEUED; mpt_set_ccb_status(ccb, CAM_DEV_NOT_THERE); xpt_done(ccb); return; } + MPTLOCK_2_CAMLOCK(mpt); mpt_req->Bus = 0; /* we never set bus here */ } else { tgt = ccb->ccb_h.target_id; @@ -2063,6 +2113,7 @@ } else { pathid = cam_sim_path(mpt->sim); } + MPTLOCK_2_CAMLOCK(mpt); /* * Allocate a CCB, create a wildcard path for this bus, * and schedule a rescan. @@ -2070,16 +2121,19 @@ ccb = xpt_alloc_ccb_nowait(); if (ccb == NULL) { mpt_prt(mpt, "unable to alloc CCB for rescan\n"); + CAMLOCK_2_MPTLOCK(mpt); break; } if (xpt_create_path(&ccb->ccb_h.path, xpt_periph, pathid, CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { + CAMLOCK_2_MPTLOCK(mpt); mpt_prt(mpt, "unable to create path for rescan\n"); xpt_free_ccb(ccb); break; } xpt_rescan(ccb); + CAMLOCK_2_MPTLOCK(mpt); break; } #else @@ -2174,11 +2228,13 @@ } else { sim = mpt->sim; } + MPTLOCK_2_CAMLOCK(mpt); for (lun_id = 0; lun_id < MPT_MAX_LUNS; lun_id++) { if (xpt_create_path(&tmppath, NULL, cam_sim_path(sim), pqf->TargetID, lun_id) != CAM_REQ_CMP) { mpt_prt(mpt, "unable to create a path to send " "XPT_REL_SIMQ"); + CAMLOCK_2_MPTLOCK(mpt); break; } xpt_setup_ccb(&crs.ccb_h, tmppath, 5); @@ -2191,6 +2247,7 @@ } xpt_free_path(tmppath); } + CAMLOCK_2_MPTLOCK(mpt); break; } case MPI_EVENT_EVENT_CHANGE: @@ -2238,7 +2295,7 @@ } tgt = scsi_req->TargetID; - untimeout(mpt_timeout, ccb, ccb->ccb_h.timeout_ch); + mpt_req_untimeout(req, mpt_timeout, ccb); ccb->ccb_h.status &= ~CAM_SIM_QUEUED; if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { @@ -2286,7 +2343,9 @@ req, req->serno); } KASSERT(ccb->ccb_h.status, ("zero ccb sts at %d\n", __LINE__)); + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); if ((req->state & REQ_STATE_TIMEDOUT) == 0) { TAILQ_REMOVE(&mpt->request_pending_list, req, links); } else { @@ -2860,6 +2919,7 @@ mpt = (struct mpt_softc *)cam_sim_softc(sim); raid_passthru = (sim == mpt->phydisk_sim); + MPT_LOCK_ASSERT(mpt); tgt = ccb->ccb_h.target_id; lun = ccb->ccb_h.target_lun; @@ -2867,12 +2927,15 @@ ccb->ccb_h.func_code != XPT_PATH_INQ && ccb->ccb_h.func_code != XPT_RESET_BUS && ccb->ccb_h.func_code != XPT_RESET_DEV) { + CAMLOCK_2_MPTLOCK(mpt); if (mpt_map_physdisk(mpt, ccb, &tgt) != 0) { + MPTLOCK_2_CAMLOCK(mpt); ccb->ccb_h.status &= ~CAM_SIM_QUEUED; mpt_set_ccb_status(ccb, CAM_DEV_NOT_THERE); xpt_done(ccb); return; } + MPTLOCK_2_CAMLOCK(mpt); } ccb->ccb_h.ccb_mpt_ptr = mpt; @@ -2921,7 +2984,9 @@ } else { xpt_print(ccb->ccb_h.path, "reset device\n"); } + CAMLOCK_2_MPTLOCK(mpt); (void) mpt_bus_reset(mpt, tgt, lun, FALSE); + MPTLOCK_2_CAMLOCK(mpt); /* * mpt_bus_reset is always successful in that it @@ -2935,6 +3000,7 @@ case XPT_ABORT: { union ccb *accb = ccb->cab.abort_ccb; + CAMLOCK_2_MPTLOCK(mpt); switch (accb->ccb_h.func_code) { case XPT_ACCEPT_TARGET_IO: case XPT_IMMED_NOTIFY: @@ -2951,6 +3017,7 @@ ccb->ccb_h.status = CAM_REQ_INVALID; break; } + MPTLOCK_2_CAMLOCK(mpt); break; } @@ -3090,6 +3157,7 @@ period >>= MPI_SCSIDEVPAGE1_RP_SHIFT_MIN_SYNC_PERIOD; } #endif + CAMLOCK_2_MPTLOCK(mpt); if (dval & DP_DISC_ENABLE) { mpt->mpt_disc_enable |= (1 << tgt); } else if (dval & DP_DISC_DISABL) { @@ -3107,6 +3175,7 @@ mpt_setsync(mpt, tgt, period, offset); } if (dval == 0) { + MPTLOCK_2_CAMLOCK(mpt); mpt_set_ccb_status(ccb, CAM_REQ_CMP); break; } @@ -3118,6 +3187,7 @@ } else { mpt_set_ccb_status(ccb, CAM_REQ_CMP); } + MPTLOCK_2_CAMLOCK(mpt); break; } case XPT_GET_TRAN_SETTINGS: @@ -3288,12 +3358,14 @@ { int result; + CAMLOCK_2_MPTLOCK(mpt); if (ccb->cel.enable) result = mpt_enable_lun(mpt, ccb->ccb_h.target_id, ccb->ccb_h.target_lun); else result = mpt_disable_lun(mpt, ccb->ccb_h.target_id, ccb->ccb_h.target_lun); + MPTLOCK_2_CAMLOCK(mpt); if (result == 0) { mpt_set_ccb_status(ccb, CAM_REQ_CMP); } else { @@ -3323,6 +3395,7 @@ } else { trtp = &mpt->trt[lun]; } + CAMLOCK_2_MPTLOCK(mpt); if (ccb->ccb_h.func_code == XPT_ACCEPT_TARGET_IO) { mpt_lprt(mpt, MPT_PRT_DEBUG1, "Put FREE ATIO %p lun %d\n", ccb, lun); @@ -3337,10 +3410,13 @@ mpt_lprt(mpt, MPT_PRT_ALWAYS, "Got Notify ACK\n"); } mpt_set_ccb_status(ccb, CAM_REQ_INPROG); + MPTLOCK_2_CAMLOCK(mpt); return; } case XPT_CONT_TARGET_IO: + CAMLOCK_2_MPTLOCK(mpt); mpt_target_start_io(mpt, ccb); + MPTLOCK_2_CAMLOCK(mpt); return; default: @@ -3384,13 +3460,16 @@ CONFIG_PAGE_SCSI_DEVICE_0 tmp; dval = 0; + CAMLOCK_2_MPTLOCK(mpt); tmp = mpt->mpt_dev_page0[tgt]; rv = mpt_read_cur_cfg_page(mpt, tgt, &tmp.Header, sizeof(tmp), FALSE, 5000); if (rv) { + MPTLOCK_2_CAMLOCK(mpt); mpt_prt(mpt, "can't get tgt %d config page 0\n", tgt); return (rv); } + MPTLOCK_2_CAMLOCK(mpt); mpt_lprt(mpt, MPT_PRT_DEBUG, "mpt_get_spi_settings[%d]: current NP %x Info %x\n", tgt, tmp.NegotiatedParameters, tmp.Information); @@ -3587,10 +3666,8 @@ { struct mpt_softc *mpt; -#if __FreeBSD_version >= 500000 - mtx_lock(&Giant); -#endif mpt = (struct mpt_softc *)arg; + MPT_LOCK(mpt); for (;;) { if (TAILQ_EMPTY(&mpt->request_timeout_list) != 0) { if (mpt->shutdwn_recovery == 0) { @@ -3604,9 +3681,7 @@ } mpt->recovery_thread = NULL; wakeup(&mpt->recovery_thread); -#if __FreeBSD_version >= 500000 - mtx_unlock(&Giant); -#endif + MPT_UNLOCK(mpt); kthread_exit(0); } @@ -4051,14 +4126,18 @@ xpt_freeze_simq(mpt->sim, 1); ccb->ccb_h.status &= ~CAM_SIM_QUEUED; tgt->ccb->ccb_h.status |= CAM_RELEASE_SIMQ; + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); return; default: mpt_prt(mpt, "ccb %p flags 0x%x tag 0x%08x had bad request " "starting I/O\n", ccb, csio->ccb_h.flags, csio->tag_id); mpt_tgt_dump_req_state(mpt, cmd_req); mpt_set_ccb_status(ccb, CAM_REQ_CMP_ERR); + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); return; } @@ -4078,7 +4157,9 @@ } ccb->ccb_h.status &= ~CAM_SIM_QUEUED; mpt_set_ccb_status(ccb, CAM_REQUEUE_REQ); + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); return; } ccb->ccb_h.status = CAM_SIM_QUEUED | CAM_REQ_INPROG; @@ -4152,6 +4233,7 @@ "nxtstate=%d\n", csio, csio->tag_id, csio->dxfer_len, tgt->resid, ccb->ccb_h.flags, req, req->serno, tgt->state); + MPTLOCK_2_CAMLOCK(mpt); if ((ccb->ccb_h.flags & CAM_SCATTER_VALID) == 0) { if ((ccb->ccb_h.flags & CAM_DATA_PHYS) == 0) { int error; @@ -4191,6 +4273,7 @@ (*cb)(req, sgs, csio->sglist_cnt, 0); } } + CAMLOCK_2_MPTLOCK(mpt); } else { uint8_t *sp = NULL, sense[MPT_SENSE_SIZE]; @@ -4207,7 +4290,9 @@ ccb->ccb_h.status, tgt->resid, tgt->bytes_xfered); mpt_set_ccb_status(ccb, CAM_REQ_CMP); ccb->ccb_h.status &= ~CAM_SIM_QUEUED; + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); return; } if (ccb->ccb_h.flags & CAM_SEND_SENSE) { @@ -4413,7 +4498,9 @@ if (ccb) { ccb->ccb_h.status &= ~CAM_SIM_QUEUED; mpt_set_ccb_status(ccb, CAM_REQUEUE_REQ); + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); } else { mpt_prt(mpt, "could not allocate status request- dropping\n"); @@ -4534,7 +4621,7 @@ req->serno, tgt->resid); if (ccb) { ccb->ccb_h.status = CAM_SIM_QUEUED | CAM_REQ_INPROG; - ccb->ccb_h.timeout_ch = timeout(mpt_timeout, ccb, 60 * hz); + mpt_req_timeout(req, 60 * hz, mpt_timeout, ccb); } mpt_send_cmd(mpt, req); } @@ -4588,7 +4675,9 @@ } tgt->ccb = (union ccb *) inot; inot->ccb_h.status = CAM_MESSAGE_RECV|CAM_DEV_QFRZN; + MPTLOCK_2_CAMLOCK(mpt); xpt_done((union ccb *)inot); + CAMLOCK_2_MPTLOCK(mpt); } static void @@ -4867,7 +4956,9 @@ itag, atiop->tag_id, tgt->reply_desc, tgt->resid); } + MPTLOCK_2_CAMLOCK(mpt); xpt_done((union ccb *)atiop); + CAMLOCK_2_MPTLOCK(mpt); } static void @@ -4945,7 +5036,7 @@ } tgt->ccb = NULL; tgt->nxfers++; - untimeout(mpt_timeout, ccb, ccb->ccb_h.timeout_ch); + mpt_req_untimeout(req, mpt_timeout, ccb); mpt_lprt(mpt, MPT_PRT_DEBUG, "TARGET_ASSIST %p (req %p:%u) done tag 0x%x\n", ccb, tgt->req, tgt->req->serno, ccb->csio.tag_id); @@ -4975,7 +5066,9 @@ mpt->outofbeer = 0; mpt_lprt(mpt, MPT_PRT_DEBUG, "THAWQ\n"); } + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); break; } /* @@ -5008,8 +5101,7 @@ TGT_STATE_MOVING_DATA_AND_STATUS) { tgt->nxfers++; } - untimeout(mpt_timeout, ccb, - ccb->ccb_h.timeout_ch); + mpt_req_untimeout(req, mpt_timeout, ccb); if (ccb->ccb_h.flags & CAM_SEND_SENSE) { ccb->ccb_h.status |= CAM_SENT_SENSE; } @@ -5059,7 +5151,9 @@ mpt->outofbeer = 0; mpt_lprt(mpt, MPT_PRT_DEBUG, "THAWQ\n"); } + MPTLOCK_2_CAMLOCK(mpt); xpt_done(ccb); + CAMLOCK_2_MPTLOCK(mpt); } break; } ==== //depot/projects/mjexp/sys/dev/mpt/mpt_pci.c#11 (text+ko) ==== @@ -334,6 +334,7 @@ } mpt->do_cfg_role = 1; } + mpt->msi_enable = 0; } #else static void @@ -360,6 +361,11 @@ } tval = 0; + mpt->msi_enable = 0; + if (resource_int_value(device_get_name(mpt->dev), + device_get_unit(mpt->dev), "msi_enable", &tval) == 0 && tval == 1) { + mpt->msi_enable = 1; + } } #endif @@ -522,26 +528,26 @@ /* Get a handle to the interrupt */ iqd = 0; - - /* - * First try to alloc an MSI-X message. If that - * fails, then try to alloc an MSI message instead. - * Don't do this for U320 chips. - */ - if (mpt->is_spi == 0 && pci_msix_count(dev) == 1) { - mpt->pci_msi_count = 1; - if (pci_alloc_msix(dev, &mpt->pci_msi_count) == 0) { - iqd = 1; - } else { - mpt->pci_msi_count = 0; + if (mpt->msi_enable) { + /* + * First try to alloc an MSI-X message. If that >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Apr 30 05:40:06 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 AD54D16A403; Mon, 30 Apr 2007 05:40:06 +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 83D6D16A401 for ; Mon, 30 Apr 2007 05:40:06 +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 7584113C448 for ; Mon, 30 Apr 2007 05:40:06 +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 l3U5e6M8085296 for ; Mon, 30 Apr 2007 05:40:06 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3U5e60v085293 for perforce@freebsd.org; Mon, 30 Apr 2007 05:40:06 GMT (envelope-from sam@freebsd.org) Date: Mon, 30 Apr 2007 05:40:06 GMT Message-Id: <200704300540.l3U5e60v085293@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 118971 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, 30 Apr 2007 05:40:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=118971 Change 118971 by sam@sam_ebb on 2007/04/30 05:39:49 fix building w/o IEEE80211_DEBUG Affected files ... .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#91 edit .. //depot/projects/wifi/sys/net80211/ieee80211_power.c#6 edit .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#55 edit Differences ... ==== //depot/projects/wifi/sys/net80211/ieee80211_node.c#91 (text+ko) ==== @@ -1194,7 +1194,6 @@ #define MATCH_SSID(ni, ssid, ssidlen) \ (ni->ni_esslen == ssidlen && memcmp(ni->ni_essid, ssid, ssidlen) == 0) static const u_int8_t zeromac[IEEE80211_ADDR_LEN]; - struct ieee80211com *ic = nt->nt_ic; struct ieee80211_node *ni; int hash; @@ -1218,7 +1217,7 @@ } if (ni != NULL) { ieee80211_ref_node(ni); /* mark referenced */ - IEEE80211_DPRINTF(ic, IEEE80211_MSG_NODE, + IEEE80211_DPRINTF(nt->nt_ic, IEEE80211_MSG_NODE, REFCNT_LOC, ni, ether_sprintf(ni->ni_macaddr), ieee80211_node_refcnt(ni)); } ==== //depot/projects/wifi/sys/net80211/ieee80211_power.c#6 (text+ko) ==== @@ -119,7 +119,6 @@ int ieee80211_node_saveq_age(struct ieee80211_node *ni) { - struct ieee80211com *ic = ni->ni_ic; int discard = 0; if (IEEE80211_NODE_SAVEQ_QLEN(ni) != 0) { @@ -128,7 +127,7 @@ IEEE80211_NODE_SAVEQ_LOCK(ni); while (IF_POLL(&ni->ni_savedq, m) != NULL && M_AGE_GET(m) < IEEE80211_INACT_WAIT) { -IEEE80211_DPRINTF(ic, IEEE80211_MSG_POWER, "[%s] discard frame, age %u\n", ether_sprintf(ni->ni_macaddr), M_AGE_GET(m));/*XXX*/ +IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_POWER, "[%s] discard frame, age %u\n", ether_sprintf(ni->ni_macaddr), M_AGE_GET(m));/*XXX*/ _IEEE80211_NODE_SAVEQ_DEQUEUE_HEAD(ni, m); m_freem(m); discard++; @@ -137,7 +136,7 @@ M_AGE_SUB(m, IEEE80211_INACT_WAIT); IEEE80211_NODE_SAVEQ_UNLOCK(ni); - IEEE80211_NOTE(ic, IEEE80211_MSG_POWER, ni, + IEEE80211_NOTE(ni->ni_ic, IEEE80211_MSG_POWER, ni, "discard %u frames for age", discard); IEEE80211_NODE_STAT_ADD(ni, ps_discard, discard); } ==== //depot/projects/wifi/sys/net80211/ieee80211_var.h#55 (text+ko) ==== @@ -513,6 +513,7 @@ const char *fmt, ...); #else #define IEEE80211_DPRINTF(_ic, _m, _fmt, ...) +#define IEEE80211_NOTE(_ic, _m, _ni, _fmt, ...) #define IEEE80211_NOTE_FRAME(_ic, _m, _wh, _fmt, ...) #define IEEE80211_NOTE_MAC(_ic, _m, _mac, _fmt, ...) #define ieee80211_msg_dumppkts(_ic) 0 From owner-p4-projects@FreeBSD.ORG Mon Apr 30 07:54:54 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 9EDD816A409; Mon, 30 Apr 2007 07:54:54 +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 2E80016A400 for ; Mon, 30 Apr 2007 07:54:54 +0000 (UTC) (envelope-from dongmei@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0444C13C46E for ; Mon, 30 Apr 2007 07:54:54 +0000 (UTC) (envelope-from dongmei@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 l3U7srSt013037 for ; Mon, 30 Apr 2007 07:54:53 GMT (envelope-from dongmei@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3U7srY2013034 for perforce@freebsd.org; Mon, 30 Apr 2007 07:54:53 GMT (envelope-from dongmei@FreeBSD.org) Date: Mon, 30 Apr 2007 07:54:53 GMT Message-Id: <200704300754.l3U7srY2013034@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dongmei@FreeBSD.org using -f From: dongmei To: Perforce Change Reviews Cc: Subject: PERFORCE change 118974 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, 30 Apr 2007 07:54:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=118974 Change 118974 by dongmei@soc2007 on 2007/04/30 07:54:08 Start the work. Affected files ... .. //depot/projects/soc2007/dongmei-auditanalyzer/README#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/TODO#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Apr 30 08:01: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 F29BD16A404; Mon, 30 Apr 2007 08:01:02 +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 C46E616A402 for ; Mon, 30 Apr 2007 08:01:02 +0000 (UTC) (envelope-from dongmei@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B6BFE13C43E for ; Mon, 30 Apr 2007 08:01:02 +0000 (UTC) (envelope-from dongmei@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 l3U812s8013393 for ; Mon, 30 Apr 2007 08:01:02 GMT (envelope-from dongmei@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3U812lL013390 for perforce@freebsd.org; Mon, 30 Apr 2007 08:01:02 GMT (envelope-from dongmei@FreeBSD.org) Date: Mon, 30 Apr 2007 08:01:02 GMT Message-Id: <200704300801.l3U812lL013390@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dongmei@FreeBSD.org using -f From: dongmei To: Perforce Change Reviews Cc: Subject: PERFORCE change 118975 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, 30 Apr 2007 08:01:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=118975 Change 118975 by dongmei@soc2007 on 2007/04/30 08:00:31 add some basic program for GUI MDI Affected files ... .. //depot/projects/soc2007/dongmei-auditanalyzer/Makefile#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/colors.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/compat_macros.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/config.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/dlg_utils.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/color.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/column_info.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/epan.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/epan.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/except.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/except.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/filesystem.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/frame_data.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/frame_data.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/prefs-int.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/prefs.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/prefs.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/range.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/timestamp.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/epan/timestamp.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file_dlg.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file_dlg.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/file_util.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/globals.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtkglobals.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gui_utils.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gui_utils.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/image/wsicon16.xpm#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/main.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/main.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/recent.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/recent.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/simple_dialog.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/ui_util.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Apr 30 14:36:20 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 A2D3616A403; Mon, 30 Apr 2007 14:36:20 +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 6582B16A400 for ; Mon, 30 Apr 2007 14:36:20 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3DE6613C468 for ; Mon, 30 Apr 2007 14:36:20 +0000 (UTC) (envelope-from taleks@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 l3UEaKlt011665 for ; Mon, 30 Apr 2007 14:36:20 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UEaJNj011662 for perforce@freebsd.org; Mon, 30 Apr 2007 14:36:19 GMT (envelope-from taleks@FreeBSD.org) Date: Mon, 30 Apr 2007 14:36:19 GMT Message-Id: <200704301436.l3UEaJNj011662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 118991 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, 30 Apr 2007 14:36:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=118991 Change 118991 by taleks@taleks_th on 2007/04/30 14:36:17 Integrated some BTX related files. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/Makefile#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btxcsu.s#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btxsys.s#1 add .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btxv86.h#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btxv86.s#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Mon Apr 30 14:53:43 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 5B9FB16A403; Mon, 30 Apr 2007 14:53:43 +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 1883416A401 for ; Mon, 30 Apr 2007 14:53:43 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 089F313C448 for ; Mon, 30 Apr 2007 14:53:43 +0000 (UTC) (envelope-from taleks@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 l3UErg0x014529 for ; Mon, 30 Apr 2007 14:53:42 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UErgWs014525 for perforce@freebsd.org; Mon, 30 Apr 2007 14:53:42 GMT (envelope-from taleks@FreeBSD.org) Date: Mon, 30 Apr 2007 14:53:42 GMT Message-Id: <200704301453.l3UErgWs014525@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 118993 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, 30 Apr 2007 14:53:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=118993 Change 118993 by taleks@taleks_th on 2007/04/30 14:52:47 Integrated more. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/Makefile.inc#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btx/Makefile#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btx/btx.S#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btxldr/Makefile#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btxldr/btxldr.S#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btxv86.h#2 edit .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/Makefile#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxcsu.s#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxsys.s#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxv86.h#1 branch .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxv86.s#1 branch Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/btxv86.h#2 (text+ko) ==== @@ -59,5 +59,10 @@ void __exit(int) __attribute__((__noreturn__)); void __exec(caddr_t, ...); +/* + * Installs interrupt handler function for interrupt int_num. + * caddr_t - in userspace. + */ +void __isr_install(uint8_t int_num, caddr_t isr); #endif /* !_BTXV86_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Apr 30 15:18: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 A44D716A412; Mon, 30 Apr 2007 15:18:13 +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 621FA16A410 for ; Mon, 30 Apr 2007 15:18:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 51D0013C448 for ; Mon, 30 Apr 2007 15:18:13 +0000 (UTC) (envelope-from hselasky@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 l3UFIDNo019244 for ; Mon, 30 Apr 2007 15:18:13 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UFIC7U019241 for perforce@freebsd.org; Mon, 30 Apr 2007 15:18:12 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Apr 2007 15:18:12 GMT Message-Id: <200704301518.l3UFIC7U019241@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 118994 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, 30 Apr 2007 15:18:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=118994 Change 118994 by hselasky@hselasky_mini_itx on 2007/04/30 15:17:27 Add support for "if_rum.c". Ported from OpenBSD. Affected files ... .. //depot/projects/usb/src/sys/amd64/conf/GENERIC#5 edit .. //depot/projects/usb/src/sys/amd64/conf/NOTES#5 edit .. //depot/projects/usb/src/sys/conf/NOTES#7 edit .. //depot/projects/usb/src/sys/conf/files#15 edit .. //depot/projects/usb/src/sys/dev/usb/if_rum.c#1 add .. //depot/projects/usb/src/sys/dev/usb/if_rumfw.h#1 add .. //depot/projects/usb/src/sys/dev/usb/if_rumreg.h#1 add .. //depot/projects/usb/src/sys/dev/usb/if_rumvar.h#1 add .. //depot/projects/usb/src/sys/dev/usb/usbdevs#11 edit .. //depot/projects/usb/src/sys/i386/conf/GENERIC#4 edit .. //depot/projects/usb/src/sys/modules/Makefile#5 edit .. //depot/projects/usb/src/sys/modules/rum/Makefile#1 add .. //depot/projects/usb/src/sys/pc98/conf/GENERIC#5 edit .. //depot/projects/usb/src/sys/pc98/conf/NOTES#4 edit Differences ... ==== //depot/projects/usb/src/sys/amd64/conf/GENERIC#5 (text+ko) ==== @@ -230,6 +230,7 @@ device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support +device wlan_amrr # 802.11 AMRR support device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) @@ -269,6 +270,7 @@ device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device ural # Ralink Technology RT2500USB wireless NICs +device rum # Ralink Technology RT2501USB wireless NICs device urio # Diamond Rio 500 MP3 player device uscanner # Scanners # USB Ethernet, requires miibus ==== //depot/projects/usb/src/sys/amd64/conf/NOTES#5 (text+ko) ==== @@ -311,7 +311,6 @@ # nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # nve: nVidia nForce MCP on-board Ethernet Networking # ral: Ralink Technology IEEE 802.11 wireless adapter -# ural: Ralink Technology RT2500USB IEEE 802.11 wireless adapter device ed options ED_3C503 ==== //depot/projects/usb/src/sys/conf/NOTES#7 (text+ko) ==== @@ -2496,6 +2496,13 @@ # Davicom DM9601E USB to fast ethernet. Supports the Corega FEther USB-TXC. device udav +# +# Ralink Technology RT2500USB chipset driver +device ural + +# +# Ralink Technology RT2501USB/RT2601USB chipset driver +device rum # debugging options for the USB subsystem # ==== //depot/projects/usb/src/sys/conf/files#15 (text+ko) ==== @@ -1044,6 +1044,7 @@ dev/usb/if_kue.c optional kue dev/usb/if_ural.c optional ural dev/usb/if_rue.c optional rue +dev/usb/if_rum.c optional rum dev/usb/if_udav.c optional udav dev/usb/if_zyd.c optional zyd dev/usb/ohci.c optional ohci ==== //depot/projects/usb/src/sys/dev/usb/usbdevs#11 (text+ko) ==== @@ -63,6 +63,7 @@ */ vendor EGALAX2 0x0123 eGalax +vendor DICKSMITH 0x1371 Dick Smith Electronics vendor NETGEAR3 0x1385 Netgear vendor WISTRONNEWEB 0x1435 Wistron NeWeb vendor OQO 0x1557 OQO @@ -358,6 +359,7 @@ vendor DIGITALSTREAM 0x074e Digital Stream vendor AUREAL 0x0755 Aureal vendor MIDIMAN 0x0763 Midiman +vendor SURECOM 0x0769 Surecom Technology vendor LINKSYS2 0x077b Linksys vendor GRIFFIN 0x077d Griffin vendor SANDISK 0x0781 SanDisk @@ -387,6 +389,7 @@ vendor AVERMEDIA 0x07ca AVerMedia vendor SIIG 0x07cc SIIG vendor CASIO 0x07cf CASIO +vendor DLINK2 0x07d1 D-Link vendor APTIO 0x07d2 Aptio vendor ARASAN 0x07da Arasan vendor ALLIEDCABLE 0x07e6 Allied Cable @@ -534,6 +537,7 @@ vendor NOVATEL2 0x1410 Novatel vendor WISTRONNEWEB 0x1435 Wistron NeWeb vendor RADIOSHACK 0x1453 Radio Shack +vendor HUAWEI3COM 0x1472 Huawei 3Com vendor SILICOM 0x1485 Silicom vendor RALINK 0x148f Ralink Technology vendor IMAGINATION 0x149a Imagination Technologies @@ -554,6 +558,8 @@ vendor GLOBALSUN 0x16ab Global Sun Technology vendor CMOTECH 0x16d8 CMOTECH CO., LTD. vendor LINKSYS4 0x1737 Linksys +vendor AMIT 0x18c5 AMIT +vendor QCOM 0x18e8 Qcom vendor LINKSYS3 0x1915 Linksys vendor DLINK 0x2001 D-Link vendor PLANEX2 0x2019 Planex Communications @@ -619,6 +625,11 @@ product ABOCOM UF200 0x420a UF200 Ethernet product ABOCOM WL54 0x6001 WL54 product ABOCOM XX10 0xabc1 XX10 +product ABOCOM HWU54DM 0xb21b HWU54DM +product ABOCOM RT2573_2 0xb21c RT2573 +product ABOCOM RT2573_3 0xb21d RT2573 +product ABOCOM RT2573_4 0xb21e RT2573 +product ABOCOM WUG2700 0xb21f WUG2700 /* Accton products */ product ACCTON USB320_EC 0x1046 USB320-EC Ethernet @@ -637,6 +648,9 @@ product ACERP AWL300 0x9000 AWL300 Wireless adapter product ACERP AWL400 0x9001 AWL400 Wireless adapter +/* Acer Communications & Multimedia */ +product ACERCM EP1427X2 0x0893 EP-1427X-2 Ethernet + /* ActiveWire, Inc. products */ product ACTIVEWIRE IOBOARD 0x0100 I/O Board product ACTIVEWIRE IOBOARD_FW1 0x0101 I/O Board, rev. 1 firmware @@ -698,6 +712,9 @@ /* American Power Conversion products */ product APC UPS 0x0002 Uninterruptible Power Supply +/* AMIT products */ +product AMIT CGWLUSB2GO 0x0002 CG-WLUSB2GO + /* Anchor products */ product ANCHOR EZUSB 0x2131 EZUSB product ANCHOR EZLINK 0x2720 EZLINK @@ -734,6 +751,8 @@ /* ASUS products */ product ASUS WL167G 0x1707 WL-167g wireless adapter product ASUS WL159G 0x170c WL-159g +product ASUS RT2573_1 0x1723 RT2573 +product ASUS RT2573_2 0x1724 RT2573 /* ATen products */ product ATEN UC1284 0x2001 Parallel printer @@ -779,6 +798,8 @@ product BELKIN F5D7050C 0x705c F5D705C 54g USB Network Adapter product BELKIN F5D7051 0x7051 F5D7051 54g USB Network Adapter product BELKIN F5D705A 0x705a F5D705A 54g USB Network Adapter +product BELKIN F5D7050A 0x705a F5D705A wireless adapter +product BELKIN F5D9050V3 0x905b F5D9050 ver 3 wireless adapter /* Billionton products */ product BILLIONTON USB100 0x0986 USB100N 10/100 FastEthernet @@ -834,6 +855,9 @@ product CISCOLINKSYS WUSB54GP 0x0011 WUSB54GP wireless adapter product CISCOLINKSYS USB200MV2 0x0018 USB 2.0 10/100 ethernet v2.0 product CISCOLINKSYS HU200TS 0x001a HU200TS wireless adapter +product CISCOLINKSYS WUSB54GC 0x0020 WUSB54GC +product CISCOLINKSYS WUSB54GR 0x0023 WUSB54GR + /* CMOTECH products */ product CMOTECH CNU510 0x5141 CMOTECH CDMA Technologies USB modem @@ -914,6 +938,10 @@ /* Diamond products */ product DIAMOND RIO500USB 0x0001 Rio 500 USB +/* Dick Smith Electronics (really C-Net) products */ +product DICKSMITH RT2573 0x9022 RT2573 +product DICKSMITH CWD854F 0x9032 C-Net CWD-854 rev F + /* Digi International products */ product DIGI ACCELEPORT2 0x0002 AccelePort USB 2 product DIGI ACCELEPORT4 0x0004 AccelePort USB 4 @@ -940,6 +968,8 @@ product DLINK DSB650TX3 0x400b 10/100 ethernet product DLINK DSB650TX2 0x4102 10/100 ethernet product DLINK DSB650 0xabc1 10/100 ethernet +product DLINK2 DWLG122C1 0x3c03 DWL-G122 c1 +product DLINK2 WUA1340 0x3c04 WUA-1340 /* DrayTek products */ product DRAYTEK VIGOR550 0x0550 Vigor550 @@ -1053,6 +1083,8 @@ product GIGABYTE GNBR402W 0x8002 GN-BR402W product GIGABYTE GNWLBM101 0x8003 GN-WLBM101 product GIGABYTE GNWBKG 0x8007 GN-WBKG +product GIGABYTE GNWB01GS 0x8008 GN-WB01GS +product GIGABYTE GNWI05GS 0x800a GN-WI05GS /* Gigaset products */ product GIGASET WLAN 0x0701 WLAN @@ -1073,11 +1105,14 @@ /* Good Way Technology products */ product GOODWAY GWUSB2E 0x6200 GWUSB2E +product GOODWAY RT2573 0xc019 RT2573 /* Guillemot Corporation */ product GUILLEMOT HW54G 0xe000 54g USB Network Adapter product GUILLEMOT DALEADER 0xa300 DA Leader product GUILLEMOT HWGUSB254 0xe000 HWGUSB2-54 WLAN +product GUILLEMOT HWGUSB254LB 0xe010 HWGUSB2-54-LB +product GUILLEMOT HWGUSB254V2AP 0xe020 HWGUSB2-54V2-AP /* HAL Corporation products */ product HAL IMR001 0x0011 Crossam2+USB IR commander @@ -1149,6 +1184,7 @@ /* HUAWEI products */ product HUAWEI MOBILE 0x1001 Huawei Mobile +product HUAWEI3COM WUB320G 0x0009 Aolynk WUB320g /* IBM Corporation */ product IBM USBCDROMDRIVE 0x4427 USB CD-ROM Drive @@ -1354,6 +1390,8 @@ product MELCO KG54 0x0066 WLI-U2-KG54 WLAN product MELCO KG54AI 0x0067 WLI-U2-KG54-AI WLAN product MELCO NINWIFI 0x008b Nintendo Wi-Fi +product MELCO SG54HP 0x00d8 WLI-U2-SG54HP +product MELCO G54HP 0x00d9 WLI-U2-G54HP /* Metricom products */ product METRICOM RICOCHET_GS 0x0001 Ricochet GS @@ -1364,9 +1402,14 @@ /* Micro Star International products */ product MSI BT_DONGLE 0x1967 Bluetooth USB dongle +product MSI UB11B 0x6823 UB11B product MSI RT2570 0x6861 RT2570 product MSI RT2570_2 0x6865 RT2570 product MSI RT2570_3 0x6869 RT2570 +product MSI RT2573_1 0x6874 RT2573 +product MSI RT2573_2 0x6877 RT2573 +product MSI RT2573_3 0xa861 RT2573 +product MSI RT2573_4 0xa874 RT2573 /* Microsoft products */ product MICROSOFT SIDEPREC 0x0008 SideWinder Precision Pro @@ -1472,6 +1515,7 @@ /* NovaTech Products */ product NOVATECH NV902 0x9020 NovaTech NV-902W +product NOVATECH RT2573 0x9021 RT2573 /* NovAtel products */ product NOVATEL FLEXPACKGPS 0x0100 NovAtel FlexPack GPS receiver @@ -1538,6 +1582,9 @@ product PLANEX3 GU1000T 0xab11 GU-1000T product PLANEX3 GWUS54MINI 0xab13 GW-US54Mini product PLANEX2 GWUS54GZL 0xc007 GW-US54GZL +product PLANEX2 GWUS54HP 0xab01 GW-US54HP +product PLANEX2 GWUS54MINI2 0xab50 GW-US54Mini2 +product PLANEX2 GWUSMM 0xed02 GW-USMM /* Plextor Corp. */ product PLEXTOR 40_12_40U 0x0011 PlexWriter 40/12/40U @@ -1581,6 +1628,10 @@ /* Putercom products */ product PUTERCOM UPA100 0x047e USB-1284 BRIDGE +/* Qcom products */ +product QCOM RT2573 0x6196 RT2573 +product QCOM RT2573_2 0x6229 RT2573 + /* Qualcomm products */ product QUALCOMM RWT_FCT 0x3100 RWT FCT-CDMA 2000 1xRTT modem product QUALCOMM CDMA_MSM 0x3196 CDMA Technologies MSM modem @@ -1604,6 +1655,9 @@ product RALINK RT2570_2 0x2570 RT2500USB wireless adapter product RALINK RT2573 0x2573 RT2573USB wireless adapter product RALINK RT2570_3 0x9020 RT2500USB wireless adapter +product RALINK RT2573 0x2573 RT2501USB wireless adapter +product RALINK RT2671 0x2671 RT2601USB wireless adapter +product RALINK RT2573_2 0x9021 RT2501USB wireless adapter /* ReakTek products */ product REALTEK USBKR100 0x8150 USBKR100 USB Ethernet (GREEN HOUSE) @@ -1699,6 +1753,8 @@ /* Sitecom Europe products */ product SITECOMEU LN028 0x061c LN-028 product SITECOMEU WL113 0x9071 WL-113 +product SITECOMEU WL172 0x90ac WL-172 +product SITECOMEU WL113R2 0x9712 WL-113 rev 2 /* SmartBridges products */ product SMARTBRIDGES SMARTLINK 0x0001 SmartLink USB ethernet @@ -1772,7 +1828,7 @@ product SWEEX ZD1211 0x1809 ZD1211 /* Surecom products */ -product ACERCM EP1427X2 0x0893 EP-1427X-2 Ethernet +product SURECOM RT2573 0x31f3 RT2573 /* System TALKS, Inc. */ product SYSTEMTALKS SGCX2UL 0x1920 SGC-X2UL ==== //depot/projects/usb/src/sys/i386/conf/GENERIC#4 (text+ko) ==== @@ -243,6 +243,7 @@ device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support +device wlan_amrr # 802.11 AMRR support device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) @@ -283,6 +284,7 @@ device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device ural # Ralink Technology RT2500USB wireless NICs +device rum # Ralink Technology RT2501USB wireless NICs device urio # Diamond Rio 500 MP3 player device uscanner # Scanners # USB Ethernet, requires miibus ==== //depot/projects/usb/src/sys/modules/Makefile#5 (text+ko) ==== @@ -218,6 +218,7 @@ rp \ ${_rr232x} \ rue \ + rum \ ${_s3} \ ${_safe} \ ${_sbni} \ ==== //depot/projects/usb/src/sys/pc98/conf/GENERIC#5 (text+ko) ==== @@ -249,6 +249,7 @@ #device umass # Disks/Mass storage - Requires scbus and da #device ums # Mouse #device ural # Ralink Technology RT2500USB wireless NICs +#device rum # Ralink Technology RT2501USB wireless NICs #device urio # Diamond Rio 500 MP3 player #device uscanner # Scanners # USB Ethernet, requires miibus ==== //depot/projects/usb/src/sys/pc98/conf/NOTES#4 (text+ko) ==== @@ -398,7 +398,6 @@ # ral: Ralink Technology IEEE 802.11 wireless adapter # sbni: Granch SBNI12-xx ISA and PCI adapters # sr: RISCom/N2 hdlc sync 1/2 port V.35/X.21 serial driver (requires sppp) -# ural: Ralink Technology RT2500USB IEEE 802.11 wireless adapter # Order for ISA/EISA devices is important here From owner-p4-projects@FreeBSD.ORG Mon Apr 30 15:19: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 9932F16A406; Mon, 30 Apr 2007 15:19: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 2C71016A418 for ; Mon, 30 Apr 2007 15:19:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1C10E13C483 for ; Mon, 30 Apr 2007 15:19:15 +0000 (UTC) (envelope-from hselasky@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 l3UFJFt7019312 for ; Mon, 30 Apr 2007 15:19:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UFJEXZ019309 for perforce@freebsd.org; Mon, 30 Apr 2007 15:19:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Apr 2007 15:19:14 GMT Message-Id: <200704301519.l3UFJEXZ019309@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 118995 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, 30 Apr 2007 15:19:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=118995 Change 118995 by hselasky@hselasky_mini_itx on 2007/04/30 15:19:01 Some minor nits and improvements to "if_ural". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_ural.c#24 edit .. //depot/projects/usb/src/sys/dev/usb/if_uralreg.h#11 edit .. //depot/projects/usb/src/sys/dev/usb/if_uralvar.h#15 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_ural.c#24 (text+ko) ==== @@ -52,6 +52,7 @@ #include #include +#include #include #include @@ -111,7 +112,6 @@ static usbd_config_td_command_t ural_cfg_init; static usbd_config_td_command_t ural_cfg_pre_stop; static usbd_config_td_command_t ural_cfg_stop; -static usbd_config_td_command_t ural_cfg_pre_amrr_timeout; static usbd_config_td_command_t ural_cfg_amrr_timeout; static void @@ -188,9 +188,6 @@ ural_newstate_cb(struct ieee80211com *ic, enum ieee80211_state nstate, int arg); static void -ural_tx_bcn_complete(struct ural_softc *sc); - -static void ural_cfg_tx_bcn(struct ural_softc *sc); static void @@ -217,9 +214,6 @@ static void ural_cfg_amrr_start(struct ural_softc *sc); -static void -ural_ratectl(struct ural_amrr *amrr, struct ieee80211_node *ni); - /* various supported device vendors/products */ static const struct usb_devno ural_devs[] = { { USB_VENDOR_ASUS, USB_PRODUCT_ASUS_WL167G }, @@ -475,6 +469,7 @@ DRIVER_MODULE(ural, uhub, ural_driver, ural_devclass, usbd_driver_load, 0); MODULE_DEPEND(ural, usb, 1, 1, 1); MODULE_DEPEND(ural, wlan, 1, 1, 1); +MODULE_DEPEND(ural, wlan_amrr, 1, 1, 1); static int ural_probe(device_t dev) @@ -854,6 +849,9 @@ sc->sc_txtap.h.wt_ihdr.it_len = htole16(sc->sc_txtap_len); sc->sc_txtap.h.wt_ihdr.it_present = htole32(RAL_TX_RADIOTAP_PRESENT); + /* setup AMRR */ + ieee80211_amrr_init(&(sc->sc_amrr), ic, 1, 10); + /* retrieve RT2570 rev. no */ sc->sc_asic_rev = ural_cfg_read(sc, RAL_MAC_CSR0); @@ -892,7 +890,6 @@ ic->ic_phytype = IEEE80211_T_OFDM; /* not only, but not used */ ic->ic_opmode = IEEE80211_M_STA; /* default to BSS mode */ ic->ic_state = IEEE80211_S_INIT; - ic->ic_reset = &ural_reset_cb; /* set device capabilities */ ic->ic_caps = @@ -946,7 +943,11 @@ /* override state transition machine */ sc->sc_newstate = ic->ic_newstate; - ic->ic_newstate = ural_newstate_cb; + ic->ic_newstate = &ural_newstate_cb; +#if 0 + ic->ic_raw_xmit = &ural_raw_xmit_cb; +#endif + ic->ic_reset = &ural_reset_cb; mtx_unlock(&(sc->sc_mtx)); @@ -1157,7 +1158,9 @@ goto tr_setup; } - if (sc->sc_drvbpf != NULL) { + DPRINTF(sc, 0, "real length=%d bytes\n", m->m_len); + + if (bpf_peers_present(sc->sc_drvbpf)) { struct ural_rx_radiotap_header *tap = &(sc->sc_rxtap.h); tap->wr_flags = IEEE80211_RADIOTAP_F_FCS; @@ -1390,20 +1393,20 @@ * ural_bulk_write_callback - data write "thread" *------------------------------------------------------------------------*/ static void -ural_bulk_write_callback_sub(struct usbd_xfer *xfer, struct mbuf *m0, +ural_bulk_write_callback_sub(struct usbd_xfer *xfer, struct mbuf *m, struct ieee80211_node *ni, uint32_t flags, uint16_t rate) { struct ural_softc *sc = xfer->priv_sc; struct ieee80211com *ic = &(sc->sc_ic); - if (m0->m_pkthdr.len > MCLBYTES) { + if (m->m_pkthdr.len > MCLBYTES) { DPRINTF(sc, 0, "data overflow, %u bytes\n", - m0->m_pkthdr.len); - m0->m_pkthdr.len = MCLBYTES; + m->m_pkthdr.len); + m->m_pkthdr.len = MCLBYTES; } - if (sc->sc_drvbpf != NULL) { + if (bpf_peers_present(sc->sc_drvbpf)) { struct ural_tx_radiotap_header *tap = &(sc->sc_txtap.h); tap->wt_flags = 0; @@ -1412,19 +1415,19 @@ tap->wt_chan_flags = htole16(ic->ic_curchan->ic_flags); tap->wt_antenna = sc->sc_tx_ant; - bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_txtap_len, m0); + bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_txtap_len, m); } - ural_setup_tx_desc(sc, flags, m0->m_pkthdr.len, rate); + ural_setup_tx_desc(sc, flags, m->m_pkthdr.len, rate); usbd_copy_in(&(xfer->buf_data), 0, &(sc->sc_tx_desc), RAL_TX_DESC_SIZE); usbd_m_copy_in(&(xfer->buf_data), RAL_TX_DESC_SIZE, - m0, 0, m0->m_pkthdr.len); + m, 0, m->m_pkthdr.len); /* compute transfer length */ - xfer->length = (RAL_TX_DESC_SIZE + m0->m_pkthdr.len + 2); + xfer->length = (RAL_TX_DESC_SIZE + m->m_pkthdr.len); /* make transfer length 16-bit aligned */ if (xfer->length & 1) { @@ -1440,10 +1443,10 @@ xfer->length += 2; } - DPRINTF(sc, 10, "sending frame len=%u rate=%u xfer len=%u\n", - m0->m_pkthdr.len, rate, xfer->length); + DPRINTF(sc, 10, "sending frame len=%u rate=%u xferlen=%u\n", + m->m_pkthdr.len, rate, xfer->length); - m_freem(m0); + m_freem(m); if (ni) { ieee80211_free_node(ni); @@ -1463,7 +1466,7 @@ struct ieee80211_node *ni = NULL; struct ieee80211_key *k; struct ether_header *eh; - struct mbuf *m0 = NULL; + struct mbuf *m = NULL; u_int32_t flags; u_int16_t dur; u_int16_t rate; @@ -1516,30 +1519,30 @@ if (sc->sc_flags & URAL_FLAG_SEND_BCN_FRAME) { sc->sc_flags &= ~URAL_FLAG_SEND_BCN_FRAME; - m0 = sc->sc_bcn_mbuf; + m = sc->sc_bcn_mbuf; sc->sc_bcn_mbuf = NULL; ural_bulk_write_callback_sub - (xfer, m0, NULL, sc->sc_bcn_flags, sc->sc_bcn_rate); + (xfer, m, NULL, sc->sc_bcn_flags, sc->sc_bcn_rate); goto done; } flags = 0; - IF_DEQUEUE(&(ic->ic_mgtq), m0); + IF_DEQUEUE(&(ic->ic_mgtq), m); - if (m0) { + if (m) { - ni = (struct ieee80211_node *)(m0->m_pkthdr.rcvif); - m0->m_pkthdr.rcvif = NULL; + ni = (struct ieee80211_node *)(m->m_pkthdr.rcvif); + m->m_pkthdr.rcvif = NULL; - if (ic->ic_rawbpf != NULL) { - bpf_mtap(ic->ic_rawbpf, m0); + if (bpf_peers_present(ic->ic_rawbpf)) { + bpf_mtap(ic->ic_rawbpf, m); } rate = (IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan) ? 12 : 2); - wh = mtod(m0, struct ieee80211_frame *); + wh = mtod(m, struct ieee80211_frame *); if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { @@ -1549,15 +1552,16 @@ *(u_int16_t *)(wh->i_dur) = htole16(dur); /* tell hardware to add timestamp for probe responses */ - if (((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) == - IEEE80211_FC0_TYPE_MGT) && - ((wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) == + if ((wh->i_fc[0] & + (IEEE80211_FC0_TYPE_MASK| + IEEE80211_FC0_SUBTYPE_MASK)) == + (IEEE80211_FC0_TYPE_MGT| IEEE80211_FC0_SUBTYPE_PROBE_RESP)) { flags |= RAL_TX_TIMESTAMP; } } - ural_bulk_write_callback_sub(xfer, m0, ni, flags, rate); + ural_bulk_write_callback_sub(xfer, m, ni, flags, rate); goto done; } @@ -1565,52 +1569,53 @@ goto done; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); + IFQ_DRV_DEQUEUE(&ifp->if_snd, m); - if (m0) { + if (m) { - if (m0->m_len < sizeof(struct ether_header)) { - m0 = m_pullup(m0, sizeof(struct ether_header)); + if (m->m_len < sizeof(struct ether_header)) { + m = m_pullup(m, sizeof(struct ether_header)); - if (m0 == NULL) { + if (m == NULL) { goto error; } } - eh = mtod(m0, struct ether_header *); + eh = mtod(m, struct ether_header *); ni = ieee80211_find_txnode(ic, eh->ether_dhost); if (ni == NULL) { goto error; } - BPF_MTAP(ifp, m0); + BPF_MTAP(ifp, m); - m0 = ieee80211_encap(ic, m0, ni); + m = ieee80211_encap(ic, m, ni); - if (m0 == NULL) { + if (m == NULL) { goto error; } - if (ic->ic_rawbpf != NULL) { - bpf_mtap(ic->ic_rawbpf, m0); + if (bpf_peers_present(ic->ic_rawbpf)) { + bpf_mtap(ic->ic_rawbpf, m); } - wh = mtod(m0, struct ieee80211_frame *); + wh = mtod(m, struct ieee80211_frame *); - rate = ((ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE) ? - ic->ic_bss->ni_rates.rs_rates[ic->ic_fixed_rate] : - ni->ni_rates.rs_rates[ni->ni_txrate]); + if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE) + rate = ic->ic_bss->ni_rates.rs_rates[ic->ic_fixed_rate]; + else + rate = ni->ni_rates.rs_rates[ni->ni_txrate]; rate &= IEEE80211_RATE_VAL; if (wh->i_fc[1] & IEEE80211_FC1_WEP) { - k = ieee80211_crypto_encap(ic, ni, m0); + k = ieee80211_crypto_encap(ic, ni, m); if (k == NULL) { goto error; } /* packet header may have moved, reset our local pointer */ - wh = mtod(m0, struct ieee80211_frame *); + wh = mtod(m, struct ieee80211_frame *); } if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { @@ -1622,16 +1627,16 @@ *(u_int16_t *)(wh->i_dur) = htole16(dur); } - ural_bulk_write_callback_sub(xfer, m0, ni, flags, rate); + ural_bulk_write_callback_sub(xfer, m, ni, flags, rate); goto done; } done: return; error: - if (m0) { - m_freem(m0); - m0 = NULL; + if (m) { + m_freem(m); + m = NULL; } if (ni) { @@ -1680,15 +1685,18 @@ mtx_assert(&(sc->sc_mtx), MA_OWNED); if ((sc->sc_amrr_timer) && - (--sc->sc_amrr_timer == 0)) { + (--(sc->sc_amrr_timer) == 0)) { + + /* restart timeout */ + sc->sc_amrr_timer = (1*8); usbd_config_td_queue_command - (&(sc->sc_config_td), &ural_cfg_pre_amrr_timeout, + (&(sc->sc_config_td), NULL, &ural_cfg_amrr_timeout, 0, 0); } if ((sc->sc_if_timer) && - (--sc->sc_if_timer == 0)) { + (--(sc->sc_if_timer) == 0)) { DPRINTF(sc, 0, "watchdog timeout\n"); @@ -1699,7 +1707,7 @@ } if ((sc->sc_scan_timer) && - (--sc->sc_scan_timer == 0)) { + (--(sc->sc_scan_timer) == 0)) { ieee80211_next_scan(ic); } @@ -1931,19 +1939,6 @@ *========================================================================*/ static void -ural_tx_bcn_complete(struct ural_softc *sc) -{ - if (sc->sc_bcn_mbuf) { - m_freem(sc->sc_bcn_mbuf); - sc->sc_bcn_mbuf = NULL; - - sc->sc_flags &= ~(URAL_FLAG_SEND_BYTE_FRAME| - URAL_FLAG_SEND_BCN_FRAME); - } - return; -} - -static void ural_cfg_tx_bcn(struct ural_softc *sc) { if ((sc->sc_flags & URAL_FLAG_LL_READY) && @@ -1984,6 +1979,7 @@ ural_cfg_set_chan(struct ural_softc *sc, struct ural_config_copy *cc, u_int16_t refcount) { + enum { N_RF5222 = (sizeof(ural_rf5222)/sizeof(ural_rf5222[0])) }; u_int32_t i; u_int32_t chan; u_int8_t power; @@ -2060,8 +2056,7 @@ /* dual-band RF */ case RAL_RF_5222: - for (i = 0; i < (sizeof(ural_rf5222)/ - sizeof(ural_rf5222[0])); i++) { + for (i = 0; i < N_RF5222; i++) { if (ural_rf5222[i].chan == chan) { ural_cfg_rf_write(sc, RAL_RF1, ural_rf5222[i].r1); ural_cfg_rf_write(sc, RAL_RF2, ural_rf5222[i].r2); @@ -2421,6 +2416,7 @@ static u_int8_t ural_cfg_bbp_init(struct ural_softc *sc) { + enum { N_DEF_BBP = (sizeof(ural_def_bbp)/sizeof(ural_def_bbp[0])) }; u_int16_t i; u_int8_t to; @@ -2431,7 +2427,7 @@ break; } if (usbd_config_td_sleep(&(sc->sc_config_td), hz/100)) { - break; + return 1; /* failure */ } } else { DPRINTF(sc, 0, "timeout waiting for BBP\n"); @@ -2440,7 +2436,7 @@ } /* initialize BBP registers to default values */ - for (i = 0; i < (sizeof(ural_def_bbp)/sizeof(ural_def_bbp[0])); i++) { + for (i = 0; i < N_DEF_BBP; i++) { ural_cfg_bbp_write(sc, ural_def_bbp[i].reg, ural_def_bbp[i].val); } @@ -2489,6 +2485,7 @@ ural_cfg_init(struct ural_softc *sc, struct ural_config_copy *cc, u_int16_t refcount) { + enum { N_DEF_MAC = (sizeof(ural_def_mac)/sizeof(ural_def_mac[0])) }; u_int16_t tmp; u_int16_t i; u_int8_t to; @@ -2502,8 +2499,7 @@ ural_cfg_stop(sc, cc, 0); /* initialize MAC registers to default values */ - for (i = 0; i < (sizeof(ural_def_mac)/ - sizeof(ural_def_mac[0])); i++) { + for (i = 0; i < N_DEF_MAC; i++) { ural_cfg_write(sc, ural_def_mac[i].reg, ural_def_mac[i].val); } @@ -2511,13 +2507,13 @@ /* wait for BBP and RF to wake up (this can take a long time!) */ for (to = 0; ; to++) { if (to < 100) { - tmp = ural_cfg_read(sc, RAL_MAC_CSR17); + tmp = ural_cfg_read(sc, RAL_MAC_CSR17); if ((tmp & (RAL_BBP_AWAKE | RAL_RF_AWAKE)) == (RAL_BBP_AWAKE | RAL_RF_AWAKE)) { break; } if (usbd_config_td_sleep(&(sc->sc_config_td), hz/100)) { - break; + goto fail; } } else { DPRINTF(sc, 0, "timeout waiting for " @@ -2633,11 +2629,14 @@ usbd_transfer_stop(sc->sc_xfer[2]); usbd_transfer_stop(sc->sc_xfer[3]); - /* stop transmission of - * beacon frame, if any: - */ - ural_tx_bcn_complete(sc); + /* clean up beacon transmission */ + if (sc->sc_bcn_mbuf) { + m_freem(sc->sc_bcn_mbuf); + sc->sc_bcn_mbuf = NULL; + sc->sc_flags &= ~(URAL_FLAG_SEND_BYTE_FRAME| + URAL_FLAG_SEND_BCN_FRAME); + } return; } @@ -2663,20 +2662,15 @@ return; } -#define URAL_AMRR_MIN_SUCCESS_THRESHOLD 1 -#define URAL_AMRR_MAX_SUCCESS_THRESHOLD 10 - static void ural_cfg_amrr_start(struct ural_softc *sc) { struct ieee80211_node *ni = sc->sc_ic.ic_bss; - struct ural_amrr *amrr = &sc->sc_amrr; u_int16_t i; - amrr->success = 0; - amrr->recovery = 0; - amrr->txcnt = amrr->retrycnt = 0; - amrr->success_threshold = URAL_AMRR_MIN_SUCCESS_THRESHOLD; + /* init AMRR */ + + ieee80211_amrr_node_init(&(sc->sc_amrr), &(sc->sc_amn)); /* set rate to some reasonable initial value */ @@ -2692,19 +2686,9 @@ } static void -ural_cfg_pre_amrr_timeout(struct ural_softc *sc, - struct ural_config_copy *cc, u_int16_t refcount) -{ - /* restart timeout */ - sc->sc_amrr_timer = (1*8); - return; -} - -static void ural_cfg_amrr_timeout(struct ural_softc *sc, struct ural_config_copy *cc, u_int16_t refcount) { - struct ural_amrr *amrr = &sc->sc_amrr; struct ifnet *ifp = sc->sc_ic.ic_ifp; /* read and clear statistic registers (STA_CSR0 to STA_CSR10) */ @@ -2716,88 +2700,16 @@ /* count TX retry-fail as Tx errors */ ifp->if_oerrors += sc->sc_sta[9]; - amrr->retrycnt = + sc->sc_amn.amn_retrycnt = sc->sc_sta[7] + /* TX one-retry ok count */ sc->sc_sta[8] + /* TX more-retry ok count */ sc->sc_sta[9]; /* TX retry-fail count */ - amrr->txcnt = - amrr->retrycnt + + sc->sc_amn.amn_txcnt = + sc->sc_amn.amn_retrycnt + sc->sc_sta[6]; /* TX no-retry ok count */ - - ural_ratectl(amrr, sc->sc_ic.ic_bss); - } - return; -} -/*- - * Naive implementation of the Adaptive Multi Rate Retry algorithm: - * "IEEE 802.11 Rate Adaptation: A Practical Approach" - * Mathieu Lacage, Hossein Manshaei, Thierry Turletti - * INRIA Sophia - Projet Planete - * http://www-sop.inria.fr/rapports/sophia/RR-5208.html - * - * This algorithm is particularly well suited for ural since it does not - * require per-frame retry statistics. Note however that since h/w does - * not provide per-frame stats, we can't do per-node rate adaptation and - * thus automatic rate adaptation is only enabled in STA operating mode. - */ -#define is_success(amrr) \ - ((amrr)->retrycnt < ((amrr)->txcnt / 10)) -#define is_failure(amrr) \ - ((amrr)->retrycnt > ((amrr)->txcnt / 3)) -#define is_enough(amrr) \ - ((amrr)->txcnt > 10) -#define is_min_rate(ni) \ - ((ni)->ni_txrate == 0) -#define is_max_rate(ni) \ - ((ni)->ni_rates.rs_nrates <= 0) || \ - ((ni)->ni_txrate == ((ni)->ni_rates.rs_nrates - 1)) -#define increase_rate(ni) \ - ((ni)->ni_txrate++) -#define decrease_rate(ni) \ - ((ni)->ni_txrate--) -#define reset_cnt(amrr) \ - do { (amrr)->txcnt = (amrr)->retrycnt = 0; } while (0) - -static void -ural_ratectl(struct ural_amrr *amrr, struct ieee80211_node *ni) -{ - u_int8_t need_change = 0; - - if (is_success(amrr) && is_enough(amrr)) { - amrr->success++; - if ((amrr->success >= amrr->success_threshold) && - (!is_max_rate(ni))) { - amrr->recovery = 1; - amrr->success = 0; - increase_rate(ni); - need_change = 1; - } else { - amrr->recovery = 0; - } - } else if (is_failure(amrr)) { - amrr->success = 0; - if (!is_min_rate(ni)) { - if (amrr->recovery) { - amrr->success_threshold *= 2; - if (amrr->success_threshold > - URAL_AMRR_MAX_SUCCESS_THRESHOLD) { - amrr->success_threshold = - URAL_AMRR_MAX_SUCCESS_THRESHOLD; - } - } else { - amrr->success_threshold = - URAL_AMRR_MIN_SUCCESS_THRESHOLD; - } - decrease_rate(ni); - need_change = 1; - } - amrr->recovery = 0; /* original paper was incorrect */ - } - - if (is_enough(amrr) || need_change) { - reset_cnt(amrr); + ieee80211_amrr_choose(&(sc->sc_amrr), sc->sc_ic.ic_bss, &(sc->sc_amn)); } return; } ==== //depot/projects/usb/src/sys/dev/usb/if_uralreg.h#11 (text+ko) ==== ==== //depot/projects/usb/src/sys/dev/usb/if_uralvar.h#15 (text+ko) ==== @@ -77,14 +77,6 @@ (1 << IEEE80211_RADIOTAP_CHANNEL) | \ (1 << IEEE80211_RADIOTAP_ANTENNA)) -struct ural_amrr { - int txcnt; - int retrycnt; - int success; - int success_threshold; - int recovery; -}; - union ural_rxtap { struct ural_rx_radiotap_header h; uint8_t pad[64]; @@ -107,7 +99,8 @@ struct ural_tx_desc sc_tx_desc; struct ural_rx_desc sc_rx_desc; struct ieee80211com sc_ic; - struct ural_amrr sc_amrr; + struct ieee80211_amrr sc_amrr; + struct ieee80211_amrr_node sc_amn; struct ieee80211_beacon_offsets sc_bo; struct mtx sc_mtx; struct __callout sc_watchdog; From owner-p4-projects@FreeBSD.ORG Mon Apr 30 17:24:54 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 60CF516A409; Mon, 30 Apr 2007 17:24:54 +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 0B07216A401 for ; Mon, 30 Apr 2007 17:24:54 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B9EB713C45B for ; Mon, 30 Apr 2007 17:24:53 +0000 (UTC) (envelope-from taleks@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 l3UHOrdY053929 for ; Mon, 30 Apr 2007 17:24:53 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UHOrtc053926 for perforce@freebsd.org; Mon, 30 Apr 2007 17:24:53 GMT (envelope-from taleks@FreeBSD.org) Date: Mon, 30 Apr 2007 17:24:53 GMT Message-Id: <200704301724.l3UHOrtc053926@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 119002 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, 30 Apr 2007 17:24:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=119002 Change 119002 by taleks@taleks_th on 2007/04/30 17:24:19 Started adding of isr_install sys call. and call gate selector (from ring 0 to ring 3) to BTX . Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btx/btx.S#2 edit .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxsys.s#2 edit .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxv86.h#2 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/btx/btx.S#2 (text+ko) ==== @@ -44,6 +44,7 @@ .set SEL_UCODE,0x28|3 # User code .set SEL_UDATA,0x30|3 # User data .set SEL_TSS,0x38 # TSS + .set SEL_CALLGATE,0x40 # super2user callgate /* * Task state segment fields. */ @@ -56,6 +57,7 @@ */ .set SYS_EXIT,0x0 # Exit .set SYS_EXEC,0x1 # Exec + .set SYS_ISR_INSTALL,0x2 # ISR_install /* * V86 constants. */ @@ -620,7 +622,7 @@ * reads count of words from saved %cx * returns success by setting %ah to 0 */ -int15_87: pushl %esi # Save +int15_87: pushl %esi # Save pushl %edi # registers movl 0x3C(%ebp),%edi # Load ES movzwl 0x4(%ebp),%eax # Load user's SI @@ -841,7 +843,9 @@ /* * System Call. */ -intx30: cmpl $SYS_EXEC,%eax # Exec system call? +intx30: cmpl $SYS_ISR_INSTALL, %eax # is isr_install? + je intx30.2 # yes + cmpl $SYS_EXEC,%eax # Exec system call? jne intx30.1 # No pushl %ss # Set up popl %es # all @@ -866,6 +870,56 @@ intx30.1: orb $0x1,%ss:btx_hdr+0x7 # Flag reboot jmp exit # Exit /* + * Here we need to modify IDT in such way, that at interrupt handle + * will be run isr_trump, which role is to run provided function in user space. + */ +intx30.2: xorl %eax,%eax # clear eax + +/* + * updating call gate + */ + mov gdtdesc,%edi # calculating descriptors entry + add $SEL_CALLGATE, %edi # pointing callgate selector + + popl %eax # got 32bit offset to handler + + mov %ax, (%di) # +0: store offset + shr $0x10, %eax # getting high word + mov %ax, 0x6(%di) # +6: handler offset 16..31 +/* + * installing handler + */ + xor %ax,%ax # clear eax + pop %ah # getting interrupt number + mul $0x08,%ax # + + mov $MEM_IDT, %di # point to IDT. + add %ax,%di # calculate entry + + mov $SEL_SCODE,%dh # supervisor code selector + mov user_isr_call, %ax # tramp address + + mov $0x8e, %dl # i386+ interrupt gate, DPL=0 + + mov %ax,(%di) # 0: handler offset 0..15 + mov %dh,0x2(%di) # +2: dest selector + # +4: 000:word_count + mov %dl,0x5(%di) # +5: P:DPL:type + # +6: handler offset 16..31 +/* + * NOTE: do we need flush caches? + */ + iret # return from syscall + +user_isr_call: +/* + * NOTE: do we need update CS,DS & etc before and restore after? +*/ + # far call via callgate selector + lcall $SEL_S2U_CALL # NOTE: find how it must be. + iret # return from interrupt handler + +/* * Dump structure [EBX] to [EDI], using format string [ESI]. */ dump.0: stosb # Save char @@ -1098,6 +1152,7 @@ .word 0xffff,MEM_USR,0xfa00,0xcf# SEL_UCODE .word 0xffff,MEM_USR,0xf200,0xcf# SEL_UDATA .word _TSSLM,MEM_TSS,0x8900,0x0 # SEL_TSS + .word 0x5, 0x0, 0xec00,0x0 # SEL_CALLGATE gdt.1: /* * Pseudo-descriptors. @@ -1165,6 +1220,7 @@ .ascii "ss:esp" # "ss:esp=" .byte 0x80|DMP_MEM|DMP_EOL,0x0 # "00 00 ... 00 00\n" .asciz "BTX halted\n" # End + /* * End of BTX memory. */ ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxsys.s#2 (text+ko) ==== @@ -24,6 +24,7 @@ # .global __exit .global __exec + .global __isr_install # # Constants. # @@ -38,3 +39,8 @@ # __exec: movl $0x1,%eax # BTX system int $INT_SYS # call 0x1 +# +# System call: isr_install +# +__isr_install: movl $0x2,%eax # BTX system + int $INT_SYS # call 0x2 ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxv86.h#2 (text+ko) ==== @@ -59,5 +59,10 @@ void __exit(int) __attribute__((__noreturn__)); void __exec(caddr_t, ...); +/* + * Installs interrupt handler function for interrupt int_num. + * caddr_t - in userspace. + */ +void __isr_install(caddr_t isr, uint8_t int_num); #endif /* !_BTXV86_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Apr 30 17:37: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 BB28616A409; Mon, 30 Apr 2007 17:37:09 +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 8F8F116A406 for ; Mon, 30 Apr 2007 17:37:09 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 682B313C448 for ; Mon, 30 Apr 2007 17:37:09 +0000 (UTC) (envelope-from rpaulo@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 l3UHb9iJ055642 for ; Mon, 30 Apr 2007 17:37:09 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UHb9EW055639 for perforce@freebsd.org; Mon, 30 Apr 2007 17:37:09 GMT (envelope-from rpaulo@FreeBSD.org) Date: Mon, 30 Apr 2007 17:37:09 GMT Message-Id: <200704301737.l3UHb9EW055639@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 119003 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, 30 Apr 2007 17:37:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=119003 Change 119003 by rpaulo@rpaulo_epsilon on 2007/04/30 17:36:11 Add backlight and msrtemp modules. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/modules/Makefile#2 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/modules/Makefile#2 (text+ko) ==== @@ -34,6 +34,7 @@ ${_auxio} \ ${_awi} \ axe \ + backlight \ bce \ bfe \ bge \ @@ -169,6 +170,7 @@ msdosfs_iconv \ ${_mse} \ msk \ + msrtemp \ ${_mxge} \ my \ ${_ncp} \ From owner-p4-projects@FreeBSD.ORG Mon Apr 30 18:34: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 434CE16A408; Mon, 30 Apr 2007 18:34: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 DEC8916A403 for ; Mon, 30 Apr 2007 18:34:07 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 5C61713C455 for ; Mon, 30 Apr 2007 18:34:07 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l3UIXsJC015709; Mon, 30 Apr 2007 14:34:05 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Alexey Tarasov Date: Mon, 30 Apr 2007 14:32:39 -0400 User-Agent: KMail/1.9.6 References: <200704301724.l3UHOrtc053926@repoman.freebsd.org> In-Reply-To: <200704301724.l3UHOrtc053926@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200704301432.40011.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Mon, 30 Apr 2007 14:34:05 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/3184/Mon Apr 30 09:51:57 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 119002 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, 30 Apr 2007 18:34:08 -0000 On Monday 30 April 2007 01:24:53 pm Alexey Tarasov wrote: > http://perforce.freebsd.org/chv.cgi?CH=119002 > > Change 119002 by taleks@taleks_th on 2007/04/30 17:24:19 > > Started adding of isr_install sys call. and call gate selector (from ring 0 to ring 3) to BTX . You don't really need to run the ISR in protected mode. If you check the PXE docs, all you need to do is set a global variable and make a !PXE call. You can write a real-mode ISR to do that and just chain that into the appropriate IRQ. Will be a lot simpler I think. > Affected files ... > > .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btx/btx.S#2 edit > .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxsys.s#2 edit > .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxv86.h#2 edit > > Differences ... > > ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/btx/btx.S#2 (text+ko) ==== > > @@ -44,6 +44,7 @@ > .set SEL_UCODE,0x28|3 # User code > .set SEL_UDATA,0x30|3 # User data > .set SEL_TSS,0x38 # TSS > + .set SEL_CALLGATE,0x40 # super2user callgate > /* > * Task state segment fields. > */ > @@ -56,6 +57,7 @@ > */ > .set SYS_EXIT,0x0 # Exit > .set SYS_EXEC,0x1 # Exec > + .set SYS_ISR_INSTALL,0x2 # ISR_install > /* > * V86 constants. > */ > @@ -620,7 +622,7 @@ > * reads count of words from saved %cx > * returns success by setting %ah to 0 > */ > -int15_87: pushl %esi # Save > +int15_87: pushl %esi # Save > pushl %edi # registers > movl 0x3C(%ebp),%edi # Load ES > movzwl 0x4(%ebp),%eax # Load user's SI > @@ -841,7 +843,9 @@ > /* > * System Call. > */ > -intx30: cmpl $SYS_EXEC,%eax # Exec system call? > +intx30: cmpl $SYS_ISR_INSTALL, %eax # is isr_install? > + je intx30.2 # yes > + cmpl $SYS_EXEC,%eax # Exec system call? > jne intx30.1 # No > pushl %ss # Set up > popl %es # all > @@ -866,6 +870,56 @@ > intx30.1: orb $0x1,%ss:btx_hdr+0x7 # Flag reboot > jmp exit # Exit > /* > + * Here we need to modify IDT in such way, that at interrupt handle > + * will be run isr_trump, which role is to run provided function in user space. > + */ > +intx30.2: xorl %eax,%eax # clear eax > + > +/* > + * updating call gate > + */ > + mov gdtdesc,%edi # calculating descriptors entry > + add $SEL_CALLGATE, %edi # pointing callgate selector > + > + popl %eax # got 32bit offset to handler > + > + mov %ax, (%di) # +0: store offset > + shr $0x10, %eax # getting high word > + mov %ax, 0x6(%di) # +6: handler offset 16..31 > +/* > + * installing handler > + */ > + xor %ax,%ax # clear eax > + pop %ah # getting interrupt number > + mul $0x08,%ax # > + > + mov $MEM_IDT, %di # point to IDT. > + add %ax,%di # calculate entry > + > + mov $SEL_SCODE,%dh # supervisor code selector > + mov user_isr_call, %ax # tramp address > + > + mov $0x8e, %dl # i386+ interrupt gate, DPL=0 > + > + mov %ax,(%di) # 0: handler offset 0..15 > + mov %dh,0x2(%di) # +2: dest selector > + # +4: 000:word_count > + mov %dl,0x5(%di) # +5: P:DPL:type > + # +6: handler offset 16..31 > +/* > + * NOTE: do we need flush caches? > + */ > + iret # return from syscall > + > +user_isr_call: > +/* > + * NOTE: do we need update CS,DS & etc before and restore after? > +*/ > + # far call via callgate selector > + lcall $SEL_S2U_CALL # NOTE: find how it must be. > + iret # return from interrupt handler > + > +/* > * Dump structure [EBX] to [EDI], using format string [ESI]. > */ > dump.0: stosb # Save char > @@ -1098,6 +1152,7 @@ > .word 0xffff,MEM_USR,0xfa00,0xcf# SEL_UCODE > .word 0xffff,MEM_USR,0xf200,0xcf# SEL_UDATA > .word _TSSLM,MEM_TSS,0x8900,0x0 # SEL_TSS > + .word 0x5, 0x0, 0xec00,0x0 # SEL_CALLGATE > gdt.1: > /* > * Pseudo-descriptors. > @@ -1165,6 +1220,7 @@ > .ascii "ss:esp" # "ss:esp=" > .byte 0x80|DMP_MEM|DMP_EOL,0x0 # "00 00 ... 00 00\n" > .asciz "BTX halted\n" # End > + > /* > * End of BTX memory. > */ > > ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxsys.s#2 (text+ko) ==== > > @@ -24,6 +24,7 @@ > # > .global __exit > .global __exec > + .global __isr_install > # > # Constants. > # > @@ -38,3 +39,8 @@ > # > __exec: movl $0x1,%eax # BTX system > int $INT_SYS # call 0x1 > +# > +# System call: isr_install > +# > +__isr_install: movl $0x2,%eax # BTX system > + int $INT_SYS # call 0x2 > > ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxv86.h#2 (text+ko) ==== > > @@ -59,5 +59,10 @@ > > void __exit(int) __attribute__((__noreturn__)); > void __exec(caddr_t, ...); > +/* > + * Installs interrupt handler function for interrupt int_num. > + * caddr_t - in userspace. > + */ > +void __isr_install(caddr_t isr, uint8_t int_num); > > #endif /* !_BTXV86_H_ */ > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Mon Apr 30 19:11:11 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 A1A1916A401; Mon, 30 Apr 2007 19:11: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 3B3D416A403 for ; Mon, 30 Apr 2007 19:11:11 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 13E1613C45B for ; Mon, 30 Apr 2007 19:11:11 +0000 (UTC) (envelope-from hselasky@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 l3UJBAGA073282 for ; Mon, 30 Apr 2007 19:11:10 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UJBA0P073267 for perforce@freebsd.org; Mon, 30 Apr 2007 19:11:10 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Apr 2007 19:11:10 GMT Message-Id: <200704301911.l3UJBA0P073267@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 119013 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, 30 Apr 2007 19:11:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=119013 Change 119013 by hselasky@hselasky_mini_itx on 2007/04/30 19:11:08 The OpenBSD people mixed around setting and clearing of a bit. Got this confirmed by "Ivo van Doorn". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_rum.c#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_rum.c#2 (text+ko) ==== @@ -1952,9 +1952,9 @@ if ((sc->sc_rf_rev == RT2573_RF_5225) || (sc->sc_rf_rev == RT2573_RF_2527)) + bbp3 &= ~RT2573_SMART_MODE; + else bbp3 |= RT2573_SMART_MODE; - else - bbp3 &= ~RT2573_SMART_MODE; rum_cfg_bbp_write(sc, 3, bbp3); From owner-p4-projects@FreeBSD.ORG Mon Apr 30 19:48: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 211F416A408; Mon, 30 Apr 2007 19:48: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 E7CC616A406 for ; Mon, 30 Apr 2007 19:48:58 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D8A6D13C469 for ; Mon, 30 Apr 2007 19:48:58 +0000 (UTC) (envelope-from hselasky@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 l3UJmwVa079295 for ; Mon, 30 Apr 2007 19:48:58 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UJmwQj079292 for perforce@freebsd.org; Mon, 30 Apr 2007 19:48:58 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Apr 2007 19:48:58 GMT Message-Id: <200704301948.l3UJmwQj079292@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 119015 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, 30 Apr 2007 19:48:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=119015 Change 119015 by hselasky@hselasky_mini_itx on 2007/04/30 19:48:47 Change code so that we don't recurse the private mutex of various USB device drivers. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#20 edit .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#16 edit .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#18 edit .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/if_ural.c#25 edit .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#8 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_aue.c#21 (text+ko) ==== @@ -948,10 +948,10 @@ struct aue_softc * sc = device_get_softc(dev); struct ifnet * ifp; + usbd_config_td_stop(&(sc->sc_config_td)); + mtx_lock(&(sc->sc_mtx)); - usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&(sc->sc_watchdog)); aue_cfg_pre_stop(sc, NULL, 0); ==== //depot/projects/usb/src/sys/dev/usb/if_axe.c#20 (text+ko) ==== @@ -935,10 +935,10 @@ struct axe_softc * sc = device_get_softc(dev); struct ifnet * ifp; + usbd_config_td_stop(&(sc->sc_config_td)); + mtx_lock(&(sc->sc_mtx)); - usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&sc->sc_watchdog); axe_cfg_pre_stop(sc, NULL, 0); ==== //depot/projects/usb/src/sys/dev/usb/if_cue.c#16 (text+ko) ==== @@ -587,10 +587,10 @@ struct cue_softc * sc = device_get_softc(dev); struct ifnet * ifp; + usbd_config_td_stop(&(sc->sc_config_td)); + mtx_lock(&(sc->sc_mtx)); - usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&(sc->sc_watchdog)); cue_cfg_pre_stop(sc, NULL, 0); ==== //depot/projects/usb/src/sys/dev/usb/if_kue.c#18 (text+ko) ==== @@ -623,10 +623,10 @@ struct kue_softc * sc = device_get_softc(dev); struct ifnet * ifp; + usbd_config_td_stop(&(sc->sc_config_td)); + mtx_lock(&(sc->sc_mtx)); - usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&(sc->sc_watchdog)); kue_cfg_pre_stop(sc, NULL, 0); ==== //depot/projects/usb/src/sys/dev/usb/if_rue.c#17 (text+ko) ==== @@ -841,10 +841,10 @@ struct rue_softc * sc = device_get_softc(dev); struct ifnet * ifp; + usbd_config_td_stop(&(sc->sc_config_td)); + mtx_lock(&(sc->sc_mtx)); - usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&sc->sc_watchdog); rue_cfg_pre_stop(sc, NULL, 0); ==== //depot/projects/usb/src/sys/dev/usb/if_udav.c#17 (text+ko) ==== @@ -453,10 +453,10 @@ struct udav_softc * sc = device_get_softc(dev); struct ifnet * ifp; + usbd_config_td_stop(&(sc->sc_config_td)); + mtx_lock(&(sc->sc_mtx)); - usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&sc->sc_watchdog); udav_cfg_pre_stop(sc, NULL, 0); ==== //depot/projects/usb/src/sys/dev/usb/if_ural.c#25 (text+ko) ==== @@ -560,10 +560,10 @@ struct ieee80211com *ic; struct ifnet *ifp; + usbd_config_td_stop(&(sc->sc_config_td)); + mtx_lock(&(sc->sc_mtx)); - usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&sc->sc_watchdog); ural_cfg_pre_stop(sc, NULL, 0); ==== //depot/projects/usb/src/sys/dev/usb/if_zyd.c#8 (text+ko) ==== @@ -2143,10 +2143,10 @@ struct ieee80211com *ic; struct ifnet *ifp; + usbd_config_td_stop(&(sc->sc_config_td)); + mtx_lock(&(sc->sc_mtx)); - usbd_config_td_stop(&(sc->sc_config_td)); - __callout_stop(&(sc->sc_watchdog)); __callout_stop(&(sc->sc_scan_callout)); From owner-p4-projects@FreeBSD.ORG Mon Apr 30 20:06:22 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 9437E16A407; Mon, 30 Apr 2007 20:06:22 +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 5900716A400 for ; Mon, 30 Apr 2007 20:06:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 49B0313C457 for ; Mon, 30 Apr 2007 20:06:22 +0000 (UTC) (envelope-from hselasky@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 l3UK6MjJ083564 for ; Mon, 30 Apr 2007 20:06:22 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UK6LH8083561 for perforce@freebsd.org; Mon, 30 Apr 2007 20:06:21 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Apr 2007 20:06:21 GMT Message-Id: <200704302006.l3UK6LH8083561@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 119019 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, 30 Apr 2007 20:06:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=119019 Change 119019 by hselasky@hselasky_mini_itx on 2007/04/30 20:05:35 usbd_transfer_stop() is NULL safe now. Take advantage of this to reduce amount of code. Affected files ... .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdce.c#14 edit .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#18 edit .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#18 edit .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/ubser.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/ugen.c#14 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#10 edit Differences ... ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#10 (text+ko) ==== @@ -1555,14 +1555,8 @@ #if (UAUDIO_NCHANBUFS != 2) #error "please update code" #endif - - if (ch->xfer[0]) { - usbd_transfer_stop(ch->xfer[0]); - } - - if (ch->xfer[1]) { - usbd_transfer_stop(ch->xfer[1]); - } + usbd_transfer_stop(ch->xfer[0]); + usbd_transfer_stop(ch->xfer[1]); return 0; } @@ -3860,12 +3854,8 @@ mtx_lock(&(chan->mtx)); - if (chan->xfer[3]) { - usbd_transfer_stop(chan->xfer[3]); - } - if (chan->xfer[1]) { - usbd_transfer_stop(chan->xfer[1]); - } + usbd_transfer_stop(chan->xfer[3]); + usbd_transfer_stop(chan->xfer[1]); mtx_unlock(&(chan->mtx)); ==== //depot/projects/usb/src/sys/dev/usb/if_aue.c#22 (text+ko) ==== @@ -1633,24 +1633,12 @@ /* stop all the transfers, * if not already stopped: */ - if (sc->sc_xfer[0]) { - usbd_transfer_stop(sc->sc_xfer[0]); - } - if (sc->sc_xfer[1]) { - usbd_transfer_stop(sc->sc_xfer[1]); - } - if (sc->sc_xfer[2]) { - usbd_transfer_stop(sc->sc_xfer[2]); - } - if (sc->sc_xfer[3]) { - usbd_transfer_stop(sc->sc_xfer[3]); - } - if (sc->sc_xfer[4]) { - usbd_transfer_stop(sc->sc_xfer[4]); - } - if (sc->sc_xfer[5]) { - usbd_transfer_stop(sc->sc_xfer[5]); - } + usbd_transfer_stop(sc->sc_xfer[0]); + usbd_transfer_stop(sc->sc_xfer[1]); + usbd_transfer_stop(sc->sc_xfer[2]); + usbd_transfer_stop(sc->sc_xfer[3]); + usbd_transfer_stop(sc->sc_xfer[4]); + usbd_transfer_stop(sc->sc_xfer[5]); return; } ==== //depot/projects/usb/src/sys/dev/usb/if_axe.c#21 (text+ko) ==== @@ -1588,24 +1588,12 @@ /* stop all the transfers, * if not already stopped: */ - if (sc->sc_xfer[0]) { - usbd_transfer_stop(sc->sc_xfer[0]); - } - if (sc->sc_xfer[1]) { - usbd_transfer_stop(sc->sc_xfer[1]); - } - if (sc->sc_xfer[2]) { - usbd_transfer_stop(sc->sc_xfer[2]); - } - if (sc->sc_xfer[3]) { - usbd_transfer_stop(sc->sc_xfer[3]); - } - if (sc->sc_xfer[4]) { - usbd_transfer_stop(sc->sc_xfer[4]); - } - if (sc->sc_xfer[5]) { - usbd_transfer_stop(sc->sc_xfer[5]); - } + usbd_transfer_stop(sc->sc_xfer[0]); + usbd_transfer_stop(sc->sc_xfer[1]); + usbd_transfer_stop(sc->sc_xfer[2]); + usbd_transfer_stop(sc->sc_xfer[3]); + usbd_transfer_stop(sc->sc_xfer[4]); + usbd_transfer_stop(sc->sc_xfer[5]); return; } ==== //depot/projects/usb/src/sys/dev/usb/if_cdce.c#14 (text+ko) ==== @@ -605,19 +605,10 @@ /* stop all the transfers, * if not already stopped: */ - if (sc->sc_xfer[0]) { - usbd_transfer_stop(sc->sc_xfer[0]); - } - if (sc->sc_xfer[1]) { - usbd_transfer_stop(sc->sc_xfer[1]); - } - if (sc->sc_xfer[2]) { - usbd_transfer_stop(sc->sc_xfer[2]); - } - if (sc->sc_xfer[3]) { - usbd_transfer_stop(sc->sc_xfer[3]); - } - + usbd_transfer_stop(sc->sc_xfer[0]); + usbd_transfer_stop(sc->sc_xfer[1]); + usbd_transfer_stop(sc->sc_xfer[2]); + usbd_transfer_stop(sc->sc_xfer[3]); return; } ==== //depot/projects/usb/src/sys/dev/usb/if_cue.c#17 (text+ko) ==== @@ -1034,18 +1034,10 @@ /* stop all the transfers, * if not already stopped: */ - if (sc->sc_xfer[0]) { - usbd_transfer_stop(sc->sc_xfer[0]); - } - if (sc->sc_xfer[1]) { - usbd_transfer_stop(sc->sc_xfer[1]); - } - if (sc->sc_xfer[2]) { - usbd_transfer_stop(sc->sc_xfer[2]); - } - if (sc->sc_xfer[3]) { - usbd_transfer_stop(sc->sc_xfer[3]); - } + usbd_transfer_stop(sc->sc_xfer[0]); + usbd_transfer_stop(sc->sc_xfer[1]); + usbd_transfer_stop(sc->sc_xfer[2]); + usbd_transfer_stop(sc->sc_xfer[3]); return; } ==== //depot/projects/usb/src/sys/dev/usb/if_kue.c#19 (text+ko) ==== @@ -1053,18 +1053,10 @@ /* stop all the transfers, * if not already stopped: */ - if (sc->sc_xfer[0]) { - usbd_transfer_stop(sc->sc_xfer[0]); - } - if (sc->sc_xfer[1]) { - usbd_transfer_stop(sc->sc_xfer[1]); - } - if (sc->sc_xfer[2]) { - usbd_transfer_stop(sc->sc_xfer[2]); - } - if (sc->sc_xfer[3]) { - usbd_transfer_stop(sc->sc_xfer[3]); - } + usbd_transfer_stop(sc->sc_xfer[0]); + usbd_transfer_stop(sc->sc_xfer[1]); + usbd_transfer_stop(sc->sc_xfer[2]); + usbd_transfer_stop(sc->sc_xfer[3]); return; } ==== //depot/projects/usb/src/sys/dev/usb/if_rue.c#18 (text+ko) ==== @@ -1458,24 +1458,12 @@ /* stop all the transfers, * if not already stopped: */ - if (sc->sc_xfer[0]) { - usbd_transfer_stop(sc->sc_xfer[0]); - } - if (sc->sc_xfer[1]) { - usbd_transfer_stop(sc->sc_xfer[1]); - } - if (sc->sc_xfer[2]) { - usbd_transfer_stop(sc->sc_xfer[2]); - } - if (sc->sc_xfer[3]) { - usbd_transfer_stop(sc->sc_xfer[3]); - } - if (sc->sc_xfer[4]) { - usbd_transfer_stop(sc->sc_xfer[4]); - } - if (sc->sc_xfer[5]) { - usbd_transfer_stop(sc->sc_xfer[5]); - } + usbd_transfer_stop(sc->sc_xfer[0]); + usbd_transfer_stop(sc->sc_xfer[1]); + usbd_transfer_stop(sc->sc_xfer[2]); + usbd_transfer_stop(sc->sc_xfer[3]); + usbd_transfer_stop(sc->sc_xfer[4]); + usbd_transfer_stop(sc->sc_xfer[5]); return; } ==== //depot/projects/usb/src/sys/dev/usb/if_udav.c#18 (text+ko) ==== @@ -1249,24 +1249,12 @@ /* stop all the transfers, * if not already stopped: */ - if (sc->sc_xfer[0]) { - usbd_transfer_stop(sc->sc_xfer[0]); - } - if (sc->sc_xfer[1]) { - usbd_transfer_stop(sc->sc_xfer[1]); - } - if (sc->sc_xfer[2]) { - usbd_transfer_stop(sc->sc_xfer[2]); - } - if (sc->sc_xfer[3]) { - usbd_transfer_stop(sc->sc_xfer[3]); - } - if (sc->sc_xfer[4]) { - usbd_transfer_stop(sc->sc_xfer[4]); - } - if (sc->sc_xfer[5]) { - usbd_transfer_stop(sc->sc_xfer[5]); - } + usbd_transfer_stop(sc->sc_xfer[0]); + usbd_transfer_stop(sc->sc_xfer[1]); + usbd_transfer_stop(sc->sc_xfer[2]); + usbd_transfer_stop(sc->sc_xfer[3]); + usbd_transfer_stop(sc->sc_xfer[4]); + usbd_transfer_stop(sc->sc_xfer[5]); return; } ==== //depot/projects/usb/src/sys/dev/usb/if_zyd.c#9 (text+ko) ==== @@ -2826,19 +2826,10 @@ /* stop all the transfers, * if not already stopped: */ - if (sc->sc_xfer[ZYD_TR_BULK_DT_WR]) { - usbd_transfer_stop(sc->sc_xfer[ZYD_TR_BULK_DT_WR]); - } - if (sc->sc_xfer[ZYD_TR_BULK_DT_RD]) { - usbd_transfer_stop(sc->sc_xfer[ZYD_TR_BULK_DT_RD]); - } - if (sc->sc_xfer[ZYD_TR_BULK_CS_WR]) { - usbd_transfer_stop(sc->sc_xfer[ZYD_TR_BULK_CS_WR]); - } - if (sc->sc_xfer[ZYD_TR_BULK_CS_RD]) { - usbd_transfer_stop(sc->sc_xfer[ZYD_TR_BULK_CS_RD]); - } - + usbd_transfer_stop(sc->sc_xfer[ZYD_TR_BULK_DT_WR]); + usbd_transfer_stop(sc->sc_xfer[ZYD_TR_BULK_DT_RD]); + usbd_transfer_stop(sc->sc_xfer[ZYD_TR_BULK_CS_WR]); + usbd_transfer_stop(sc->sc_xfer[ZYD_TR_BULK_CS_RD]); return; } ==== //depot/projects/usb/src/sys/dev/usb/ubser.c#12 (text+ko) ==== @@ -365,9 +365,7 @@ */ mtx_lock(&Giant); for (n = 0; n < UBSER_TR_MAX; n++) { - if (sc->sc_xfer[n]) { - usbd_transfer_stop(sc->sc_xfer[n]); - } + usbd_transfer_stop(sc->sc_xfer[n]); } mtx_unlock(&Giant); ==== //depot/projects/usb/src/sys/dev/usb/ugen.c#14 (text+ko) ==== @@ -530,23 +530,11 @@ sce->state |= UGEN_CLOSING; - if(sce->xfer_in[0]) - { - usbd_transfer_stop(sce->xfer_in[0]); - } - if(sce->xfer_in[1]) - { - usbd_transfer_stop(sce->xfer_in[1]); - } - if(sce->xfer_out[0]) - { - usbd_transfer_stop(sce->xfer_out[0]); - } - if(sce->xfer_out[1]) - { - usbd_transfer_stop(sce->xfer_out[1]); - } - + usbd_transfer_stop(sce->xfer_in[0]); + usbd_transfer_stop(sce->xfer_in[1]); + usbd_transfer_stop(sce->xfer_out[0]); + usbd_transfer_stop(sce->xfer_out[1]); + while(sce->state & (UGEN_RD_CFG|UGEN_RD_SLP|UGEN_RD_WUP|UGEN_RD_UIO| UGEN_WR_CFG|UGEN_WR_SLP|UGEN_WR_WUP|UGEN_WR_UIO| ==== //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#10 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Apr 30 20:47:16 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 D722816A404; Mon, 30 Apr 2007 20:47: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 A0A3B16A400 for ; Mon, 30 Apr 2007 20:47:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9183113C465 for ; Mon, 30 Apr 2007 20:47:15 +0000 (UTC) (envelope-from hselasky@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 l3UKlFXb004723 for ; Mon, 30 Apr 2007 20:47:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3UKlFYR004720 for perforce@freebsd.org; Mon, 30 Apr 2007 20:47:15 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Apr 2007 20:47:15 GMT Message-Id: <200704302047.l3UKlFYR004720@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 119023 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, 30 Apr 2007 20:47:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=119023 Change 119023 by hselasky@hselasky_mini_itx on 2007/04/30 20:46:29 Try to fix some issues with Scott's new Giant-free CAM layer. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/umass.c#14 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/umass.c#14 (text+ko) ==== @@ -1274,15 +1274,13 @@ sc->sc_last_xfer_index = UMASS_T_MAX; for (i = 0; i < UMASS_T_MAX; i++) { - if (sc->sc_xfer[i]) { - usbd_transfer_stop(sc->sc_xfer[i]); - } + usbd_transfer_stop(sc->sc_xfer[i]); } + umass_cam_detach_sim(sc); + mtx_unlock(&(sc->sc_mtx)); - umass_cam_detach_sim(sc); - usbd_transfer_unsetup(sc->sc_xfer, UMASS_T_MAX); mtx_destroy(&(sc->sc_mtx)); @@ -2286,10 +2284,15 @@ return ENOMEM; } + mtx_lock(&(sc->sc_mtx)); + if(xpt_bus_register(sc->sc_sim, sc->sc_unit) != CAM_SUCCESS) { + mtx_unlock(&(sc->sc_mtx)); return ENOMEM; } + mtx_unlock(&(sc->sc_mtx)); + return(0); } @@ -2331,9 +2334,12 @@ return; } + mtx_lock(&(sc->sc_mtx)); + if (xpt_create_path(&path, xpt_periph, cam_sim_path(sc->sc_sim), CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { + mtx_unlock(&(sc->sc_mtx)); free(ccb, M_USBDEV); return; } @@ -2344,6 +2350,8 @@ ccb->crcn.flags = CAM_FLAG_NONE; xpt_action(ccb); + mtx_unlock(&(sc->sc_mtx)); + /* The scan is in progress now. */ return; From owner-p4-projects@FreeBSD.ORG Mon Apr 30 21:30: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 47E3A16A402; Mon, 30 Apr 2007 21:30: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 D92F516A404 for ; Mon, 30 Apr 2007 21:30:09 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C896713C458 for ; Mon, 30 Apr 2007 21:30:09 +0000 (UTC) (envelope-from lulf@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 l3ULU9gr013166 for ; Mon, 30 Apr 2007 21:30:09 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3ULU9PR013161 for perforce@freebsd.org; Mon, 30 Apr 2007 21:30:09 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 30 Apr 2007 21:30:09 GMT Message-Id: <200704302130.l3ULU9PR013161@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 119026 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, 30 Apr 2007 21:30:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=119026 Change 119026 by lulf@lulf_vimes on 2007/04/30 21:29:55 - Add gv_set_vol_state. - Use the event-system when saving the state. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/uzip/g_uzip.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#5 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/sys_machdep.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/vm_machdep.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_descrip.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_linker.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_time.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_uuid.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_rman.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_mount.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/ioctl_compat.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mount.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/priv.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/proc.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/swap_pager.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_map.c#2 integrate Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1196 2007/04/17 00:35:10 thompsa Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1198 2007/04/25 15:30:17 mav Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1550,8 +1550,8 @@ net/if_mib.c standard net/if_ppp.c optional ppp net/if_sl.c optional sl -net/if_spppfr.c optional i4bisppp | sppp -net/if_spppsubr.c optional i4bisppp | sppp +net/if_spppfr.c optional i4bisppp | sppp | netgraph_sppp +net/if_spppsubr.c optional i4bisppp | sppp | netgraph_sppp net/if_stf.c optional stf net/if_tun.c optional tun net/if_tap.c optional tap @@ -1565,9 +1565,10 @@ net/raw_usrreq.c standard net/route.c standard net/rtsock.c standard -net/slcompress.c optional netgraph_vjc | ppp | sl | sppp +net/slcompress.c optional netgraph_vjc | ppp | sl | sppp | \ + netgraph_sppp net/zlib.c optional crypto | geom_uzip | ipsec | \ - ppp_deflate + ppp_deflate | netgraph_deflate net80211/ieee80211.c optional wlan net80211/ieee80211_acl.c optional wlan_acl net80211/ieee80211_amrr.c optional wlan_amrr @@ -1800,11 +1801,11 @@ netinet/tcp_timer.c optional inet netinet/tcp_usrreq.c optional inet netinet/udp_usrreq.c optional inet -netinet/libalias/alias.c optional libalias -netinet/libalias/alias_db.c optional libalias -netinet/libalias/alias_mod.c optional libalias -netinet/libalias/alias_proxy.c optional libalias -netinet/libalias/alias_util.c optional libalias +netinet/libalias/alias.c optional libalias | netgraph_nat +netinet/libalias/alias_db.c optional libalias | netgraph_nat +netinet/libalias/alias_mod.c optional libalias | netgraph_nat +netinet/libalias/alias_proxy.c optional libalias | netgraph_nat +netinet/libalias/alias_util.c optional libalias | netgraph_nat netinet6/ah_aesxcbcmac.c optional ipsec netinet6/ah_core.c optional ipsec netinet6/ah_input.c optional ipsec @@ -1957,6 +1958,7 @@ security/audit/audit_syscalls.c standard security/audit/audit_trigger.c optional audit security/audit/audit_worker.c optional audit +security/mac/mac_audit.c optional mac audit security/mac/mac_framework.c optional mac security/mac/mac_inet.c optional mac inet security/mac/mac_label.c optional mac ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/part/g_part.c,v 1.1 2007/02/07 18:55:30 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/part/g_part.c,v 1.2 2007/04/27 05:58:10 marcel Exp $"); #include #include @@ -52,7 +52,7 @@ }; static struct g_part_scheme g_part_null_scheme = { - NULL, + "n/a", g_part_null_methods, sizeof(struct g_part_table), }; @@ -1249,6 +1249,8 @@ (uintmax_t)pp->mediasize); G_PART_DUMPCONF(table, entry, sb, indent); } else { /* Geom configuration. */ + sbuf_printf(sb, "%s%s\n", indent, + table->gpt_scheme->name); sbuf_printf(sb, "%s%u\n", indent, table->gpt_entries); sbuf_printf(sb, "%s%ju\n", indent, ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/uzip/g_uzip.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/uzip/g_uzip.c,v 1.11 2007/04/07 02:52:13 simokawa Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/uzip/g_uzip.c,v 1.12 2007/04/24 06:30:06 simokawa Exp $"); #include #include @@ -162,6 +162,13 @@ ulen = MIN(sc->blksz - uoff, bp2->bio_length - upos); len = sc->offsets[i + 1] - sc->offsets[i]; + if (len == 0) { + /* All zero block: no cache update */ + bzero(bp2->bio_data + upos, ulen); + upos += ulen; + bp2->bio_completed += ulen; + continue; + } zs.next_in = bp->bio_data + pos; zs.avail_in = len; zs.next_out = sc->last_buf; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#5 (text+ko) ==== @@ -72,8 +72,21 @@ type = gv_object_type(sc, obj); switch (type) { case GV_TYPE_VOL: + if (gv_volstatei(state) < 0) { + gctl_error(req, "invalid volume state '%s'", state); + break; + } + v = gv_find_vol(sc, obj); + + newstatep = g_malloc(sizeof(int), M_WAITOK | M_ZERO); + *newstatep = gv_volstatei(state); + flagp = g_malloc(sizeof(int), M_WAITOK | M_ZERO); + *flagp = f; + gv_post_event(sc, GV_EVENT_SET_VOL_STATE, v, newstatep, flagp); + break; + case GV_TYPE_PLEX: - gctl_error(req, "volume or plex state cannot be set currently"); + gctl_error(req, "plex state cannot be set currently"); break; case GV_TYPE_SD: @@ -142,7 +155,7 @@ /* Save the config back to disk. */ if (flags & GV_SETSTATE_CONFIG) - gv_save_config(d->vinumconf); + gv_post_event(sc, GV_EVENT_SAVE_CONFIG, v->vinumconf, NULL, NULL); return (0); } @@ -257,11 +270,45 @@ /* Save the config back to disk. */ if (flags & GV_SETSTATE_CONFIG) - gv_save_config(s->vinumconf); + gv_post_event(sc, GV_EVENT_SAVE_CONFIG, v->vinumconf, NULL, NULL); return (status); } +int +gv_set_vol_state(struct gv_volume *v, int newstate, int flags) +{ + int oldstate; + + KASSERT(v != NULL, ("gv_set_vol_state: NULL v")); + + oldstate = v->state; + + if (newstate == oldstate) + return (0); + + switch (newstate) { + case GV_VOL_UP: + /* Let update handle if the volume can come up. */ + gv_update_vol_state(v); + if (v->state != GV_VOL_UP && flags & GV_SETSTATE_FORCE) + v->state = newstate; + break; + case GV_VOL_DOWN: + /* + * Set state to GV_VOL_DOWN only if noone is using the volume, + * or if the state should be forced. + */ + if ((gv_is_open(v->geom) != 0) && + !(flags & GV_SETSTATE_FORCE)) + return (-1); /* XXX: ERROR CODES. */ + v->state = newstate; + break; + } + /* Save config */ + if (flags & GV_SETSTATE_CONFIG) + gv_post_event(sc, GV_EVENT_SAVE_CONFIG, v->vinumconf, NULL, NULL); +} /* Update the state of a subdisk based on its environment. */ void ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/local_apic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.39 2007/03/20 21:53:31 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.40 2007/04/25 19:58:42 ariff Exp $"); #include "opt_hwpmc_hooks.h" @@ -328,6 +328,29 @@ /* XXX: Error and thermal LVTs */ + if (strcmp(cpu_vendor, "AuthenticAMD") == 0) { + /* + * Detect the presence of C1E capability mostly on latest + * dual-cores (or future) k8 family. This feature renders + * the local APIC timer dead, so we disable it by reading + * the Interrupt Pending Message register and clearing both + * C1eOnCmpHalt (bit 28) and SmiOnCmpHalt (bit 27). + * + * Reference: + * "BIOS and Kernel Developer's Guide for AMD NPT + * Family 0Fh Processors" + * #32559 revision 3.00 + */ + if ((cpu_id & 0x00000f00) == 0x00000f00 && + (cpu_id & 0x0fff0000) >= 0x00040000) { + uint64_t msr; + + msr = rdmsr(0xc0010055); + if (msr & 0x18000000) + wrmsr(0xc0010055, msr & ~0x18000000ULL); + } + } + intr_restore(eflags); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/pmap.c#2 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.587 2007/04/13 16:07:29 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.589 2007/04/25 18:10:44 ups Exp $"); /* * Manages physical address maps. @@ -269,7 +269,8 @@ static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, vm_page_t mpte); -static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva); +static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, + vm_page_t *free); static void pmap_remove_page(struct pmap *pmap, vm_offset_t va); static void pmap_remove_entry(struct pmap *pmap, vm_page_t m, vm_offset_t va); @@ -280,10 +281,10 @@ static vm_page_t pmap_allocpte(pmap_t pmap, vm_offset_t va, int flags); static vm_page_t _pmap_allocpte(pmap_t pmap, unsigned ptepindex, int flags); -static int _pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m); +static int _pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m, vm_page_t *free); static pt_entry_t *pmap_pte_quick(pmap_t pmap, vm_offset_t va); static void pmap_pte_release(pt_entry_t *pte); -static int pmap_unuse_pt(pmap_t, vm_offset_t); +static int pmap_unuse_pt(pmap_t, vm_offset_t, vm_page_t *); static vm_offset_t pmap_kmem_choose(vm_offset_t addr); #ifdef PAE static void *pmap_pdpt_allocf(uma_zone_t zone, int bytes, u_int8_t *flags, int wait); @@ -1129,24 +1130,35 @@ /*************************************************** * Page table page management routines..... ***************************************************/ +static PMAP_INLINE void +pmap_free_zero_pages(vm_page_t free) +{ + vm_page_t m; + while (free != NULL) { + m = free; + free = m->right; + vm_page_free_zero(m); + } +} + /* * This routine unholds page table pages, and if the hold count * drops to zero, then it decrements the wire count. */ static PMAP_INLINE int -pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m) +pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m, vm_page_t *free) { --m->wire_count; if (m->wire_count == 0) - return _pmap_unwire_pte_hold(pmap, m); + return _pmap_unwire_pte_hold(pmap, m, free); else return 0; } static int -_pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m) +_pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m, vm_page_t *free) { vm_offset_t pteva; @@ -1156,6 +1168,8 @@ pmap->pm_pdir[m->pindex] = 0; --pmap->pm_stats.resident_count; + atomic_subtract_int(&cnt.v_wire_count, 1); + /* * Do an invltlb to make the invalidated mapping * take effect immediately. @@ -1163,8 +1177,13 @@ pteva = VM_MAXUSER_ADDRESS + i386_ptob(m->pindex); pmap_invalidate_page(pmap, pteva); - vm_page_free_zero(m); - atomic_subtract_int(&cnt.v_wire_count, 1); + /* + * Put page on a list so that it is released after + * *ALL* TLB shootdown is done + */ + m->right = *free; + *free = m; + return 1; } @@ -1173,7 +1192,7 @@ * conditionally free the page, and manage the hold/wire counts. */ static int -pmap_unuse_pt(pmap_t pmap, vm_offset_t va) +pmap_unuse_pt(pmap_t pmap, vm_offset_t va, vm_page_t *free) { pd_entry_t ptepde; vm_page_t mpte; @@ -1182,7 +1201,7 @@ return 0; ptepde = *pmap_pde(pmap, va); mpte = PHYS_TO_VM_PAGE(ptepde & PG_FRAME); - return pmap_unwire_pte_hold(pmap, mpte); + return pmap_unwire_pte_hold(pmap, mpte, free); } void @@ -1683,7 +1702,7 @@ pt_entry_t *pte, tpte; pv_entry_t next_pv, pv; vm_offset_t va; - vm_page_t m; + vm_page_t m, free; sched_pin(); TAILQ_FOREACH(m, &vpq->pl, pageq) { @@ -1710,12 +1729,14 @@ va, (uintmax_t)tpte)); vm_page_dirty(m); } + free = NULL; + pmap_unuse_pt(pmap, va, &free); pmap_invalidate_page(pmap, va); + pmap_free_zero_pages(free); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); m->md.pv_list_count--; - pmap_unuse_pt(pmap, va); free_pv_entry(pmap, pv); if (pmap != locked_pmap) PMAP_UNLOCK(pmap); @@ -1930,7 +1951,7 @@ * pmap_remove_pte: do the things to unmap a page in a process */ static int -pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t va) +pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t va, vm_page_t *free) { pt_entry_t oldpte; vm_page_t m; @@ -1959,7 +1980,7 @@ vm_page_flag_set(m, PG_REFERENCED); pmap_remove_entry(pmap, m, va); } - return (pmap_unuse_pt(pmap, va)); + return (pmap_unuse_pt(pmap, va, free)); } /* @@ -1969,14 +1990,16 @@ pmap_remove_page(pmap_t pmap, vm_offset_t va) { pt_entry_t *pte; + vm_page_t free = NULL; mtx_assert(&vm_page_queue_mtx, MA_OWNED); KASSERT(curthread->td_pinned > 0, ("curthread not pinned")); PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((pte = pmap_pte_quick(pmap, va)) == NULL || *pte == 0) return; - pmap_remove_pte(pmap, pte, va); + pmap_remove_pte(pmap, pte, va, &free); pmap_invalidate_page(pmap, va); + pmap_free_zero_pages(free); } /* @@ -1991,6 +2014,7 @@ vm_offset_t pdnxt; pd_entry_t ptpaddr; pt_entry_t *pte; + vm_page_t free = NULL; int anyvalid; /* @@ -2065,15 +2089,17 @@ */ if ((*pte & PG_G) == 0) anyvalid = 1; - if (pmap_remove_pte(pmap, pte, sva)) + if (pmap_remove_pte(pmap, pte, sva, &free)) break; } } out: sched_unpin(); + if (anyvalid) { + pmap_invalidate_all(pmap); + pmap_free_zero_pages(free); + } vm_page_unlock_queues(); - if (anyvalid) - pmap_invalidate_all(pmap); PMAP_UNLOCK(pmap); } @@ -2096,6 +2122,7 @@ pv_entry_t pv; pmap_t pmap; pt_entry_t *pte, tpte; + vm_page_t free; #if defined(PMAP_DIAGNOSTIC) /* @@ -2128,10 +2155,12 @@ pv->pv_va, (uintmax_t)tpte)); vm_page_dirty(m); } + free = NULL; + pmap_unuse_pt(pmap, pv->pv_va, &free); pmap_invalidate_page(pmap, pv->pv_va); + pmap_free_zero_pages(free); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; - pmap_unuse_pt(pmap, pv->pv_va); free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); } @@ -2254,9 +2283,9 @@ } } sched_unpin(); - vm_page_unlock_queues(); if (anychanged) pmap_invalidate_all(pmap); + vm_page_unlock_queues(); PMAP_UNLOCK(pmap); } @@ -2515,6 +2544,7 @@ { pt_entry_t *pte; vm_paddr_t pa; + vm_page_t free; KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva || (m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) != 0, @@ -2571,7 +2601,7 @@ pte = vtopte(va); if (*pte) { if (mpte != NULL) { - pmap_unwire_pte_hold(pmap, mpte); + mpte->wire_count--; mpte = NULL; } return (mpte); @@ -2583,7 +2613,12 @@ if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0 && !pmap_try_insert_pv_entry(pmap, va, m)) { if (mpte != NULL) { - pmap_unwire_pte_hold(pmap, mpte); + free = NULL; + if (pmap_unwire_pte_hold(pmap, mpte, &free)) { + pmap_invalidate_page(pmap, va); + pmap_free_zero_pages(free); + } + mpte = NULL; } return (mpte); @@ -2740,6 +2775,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len, vm_offset_t src_addr) { + vm_page_t free; vm_offset_t addr; vm_offset_t end_addr = src_addr + len; vm_offset_t pdnxt; @@ -2816,8 +2852,15 @@ *dst_pte = ptetemp & ~(PG_W | PG_M | PG_A); dst_pmap->pm_stats.resident_count++; - } else - pmap_unwire_pte_hold(dst_pmap, dstmpte); + } else { + free = NULL; + if (pmap_unwire_pte_hold( dst_pmap, + dstmpte, &free)) { + pmap_invalidate_page(dst_pmap, + addr); + pmap_free_zero_pages(free); + } + } if (dstmpte->wire_count >= srcmpte->wire_count) break; } @@ -2985,7 +3028,7 @@ pmap_remove_pages(pmap_t pmap) { pt_entry_t *pte, tpte; - vm_page_t m; + vm_page_t m, free = NULL; pv_entry_t pv; struct pv_chunk *pc, *npc; int field, idx; @@ -3059,7 +3102,7 @@ if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); - pmap_unuse_pt(pmap, pv->pv_va); + pmap_unuse_pt(pmap, pv->pv_va, &free); } } if (allfree) { @@ -3075,8 +3118,9 @@ } } sched_unpin(); + pmap_invalidate_all(pmap); + pmap_free_zero_pages(free); vm_page_unlock_queues(); - pmap_invalidate_all(pmap); PMAP_UNLOCK(pmap); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/sys_machdep.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/sys_machdep.c,v 1.107 2006/11/06 13:41:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/sys_machdep.c,v 1.108 2007/04/22 15:31:21 rwatson Exp $"); #include "opt_kstack_pages.h" #include "opt_mac.h" @@ -57,7 +57,6 @@ #include #include -#include #include /* for kernel_map */ @@ -289,10 +288,6 @@ int i, error; char *iomap; -#ifdef MAC - if ((error = mac_check_sysarch_ioperm(td->td_ucred)) != 0) - return (error); -#endif if ((error = priv_check(td, PRIV_IO)) != 0) return (error); if ((error = securelevel_gt(td->td_ucred, 0)) != 0) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/vm_machdep.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.276 2007/03/05 21:40:10 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.279 2007/04/24 21:17:45 jhb Exp $"); #include "opt_isa.h" #include "opt_npx.h" @@ -590,6 +590,7 @@ static void cpu_reset_real() { + struct region_descriptor null_idt; #ifndef PC98 int b; #endif @@ -625,14 +626,26 @@ outb(IO_KBD + 4, 0xFE); DELAY(500000); /* wait 0.5 sec to see if that did it */ #endif - /* Try the PCI reset */ + + /* + * Attempt to force a reset via the Reset Control register at + * I/O port 0xcf9. Bit 2 forces a system reset when it is + * written as 1. Bit 1 selects the type of reset to attempt: + * 0 selects a "soft" reset, and 1 selects a "hard" reset. We + * try to do a "soft" reset first, and then a "hard" reset. + */ outb(0xcf9, 0x2); outb(0xcf9, 0x6); DELAY(500000); /* wait 0.5 sec to see if that did it */ - /* Try port 0x92 fast reset */ + /* + * Attempt to force a reset via the Fast A20 and Init register + * at I/O port 0x92. Bit 1 serves as an alternate A20 gate. + * Bit 0 asserts INIT# when set to 1. We are careful to only + * preserve bit 1 while setting bit 0. We also must clear bit + * 0 before setting it if it isn't already clear. + */ b = inb(0x92); - /* Check the the hardware actually has the port in question */ if (b != 0xff) { if ((b & 0x1) != 0) outb(0x92, b & 0xfe); @@ -641,14 +654,17 @@ } #endif /* PC98 */ - printf("No known reset method did work, attempting CPU shutdown\n"); + printf("No known reset method worked, attempting CPU shutdown\n"); DELAY(1000000); /* wait 1 sec for printf to complete */ - /* Force a shutdown by unmapping entire address space. */ - bzero((caddr_t)PTD, NBPTD); + /* Wipe the IDT. */ + null_idt.rd_limit = 0; + null_idt.rd_base = 0; + lidt(&null_idt); /* "good night, sweet prince .... " */ - invltlb(); + breakpoint(); + /* NOTREACHED */ while(1); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_descrip.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.307 2007/04/04 09:11:32 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.308 2007/04/26 18:01:19 jhb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -1813,11 +1813,9 @@ int fdcheckstd(struct thread *td) { - struct nameidata nd; struct filedesc *fdp; - struct file *fp; - register_t retval; - int fd, i, error, flags, devnull; + register_t retval, save; + int i, error, devnull; fdp = td->td_proc->p_fd; if (fdp == NULL) @@ -1829,48 +1827,14 @@ if (fdp->fd_ofiles[i] != NULL) continue; if (devnull < 0) { - int vfslocked; - error = falloc(td, &fp, &fd); - if (error != 0) - break; - /* Note extra ref on `fp' held for us by falloc(). */ - KASSERT(fd == i, ("oof, we didn't get our fd")); - NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, - "/dev/null", td); - flags = FREAD | FWRITE; - error = vn_open(&nd, &flags, 0, fd); - if (error != 0) { - /* - * Someone may have closed the entry in the - * file descriptor table, so check it hasn't - * changed before dropping the reference - * count. - */ - FILEDESC_XLOCK(fdp); - KASSERT(fdp->fd_ofiles[fd] == fp, - ("table not shared, how did it change?")); - fdp->fd_ofiles[fd] = NULL; - fdunused(fdp, fd); - FILEDESC_XUNLOCK(fdp); - fdrop(fp, td); - fdrop(fp, td); + save = td->td_retval[0]; + error = kern_open(td, "/dev/null", UIO_SYSSPACE, + O_RDWR, 0); + devnull = td->td_retval[0]; + KASSERT(devnull == i, ("oof, we didn't get our fd")); + td->td_retval[0] = save; + if (error) break; - } - vfslocked = NDHASGIANT(&nd); - NDFREE(&nd, NDF_ONLY_PNBUF); - FILE_LOCK(fp); - fp->f_flag = flags; - fp->f_vnode = nd.ni_vp; - if (fp->f_data == NULL) - fp->f_data = nd.ni_vp; - fp->f_type = DTYPE_VNODE; - if (fp->f_ops == &badfileops) - fp->f_ops = &vnops; - FILE_UNLOCK(fp); - VOP_UNLOCK(nd.ni_vp, 0, td); - VFS_UNLOCK_GIANT(vfslocked); - devnull = fd; - fdrop(fp, td); } else { error = do_dup(td, DUP_FIXED, devnull, i, &retval); if (error != 0) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_linker.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.147 2007/03/04 22:36:46 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.148 2007/04/22 15:31:21 rwatson Exp $"); #include "opt_ddb.h" #include "opt_hwpmc_hooks.h" @@ -562,11 +562,6 @@ /* Refuse to unload modules if securelevel raised. */ if (securelevel > 0) return (EPERM); -#ifdef MAC - error = mac_check_kld_unload(curthread->td_ucred); - if (error) - return (error); -#endif KLD_LOCK_ASSERT(); KLD_DPF(FILE, ("linker_file_unload: lf->refs=%d\n", file->refs)); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_time.c#2 (text+ko) ==== @@ -30,9 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_time.c,v 1.139 2007/03/05 13:10:57 rwatson Exp $"); - -#include "opt_mac.h" +__FBSDID("$FreeBSD: src/sys/kern/kern_time.c,v 1.140 2007/04/22 15:31:21 rwatson Exp $"); #include #include @@ -56,8 +54,6 @@ #include #include -#include - #include #include @@ -272,11 +268,6 @@ struct timeval atv; int error; -#ifdef MAC - error = mac_check_system_settime(td->td_ucred); - if (error) - return (error); -#endif if ((error = priv_check(td, PRIV_CLOCK_SETTIME)) != 0) return (error); if (clock_id != CLOCK_REALTIME) @@ -479,11 +470,6 @@ { int error; -#ifdef MAC - error = mac_check_system_settime(td->td_ucred); - if (error) - return (error); -#endif error = priv_check(td, PRIV_SETTIMEOFDAY); if (error) return (error); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_uuid.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_uuid.c,v 1.12 2007/03/05 13:10:57 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_uuid.c,v 1.13 2007/04/23 12:53:00 pjd Exp $"); #include #include @@ -116,7 +116,7 @@ /* * Get the current time as a 60 bit count of 100-nanosecond intervals * since 00:00:00.00, October 15,1582. We apply a magic offset to convert - * the Unix time since 00:00:00.00, Januari 1, 1970 to the date of the + * the Unix time since 00:00:00.00, January 1, 1970 to the date of the * Gregorian reform to the Christian calendar. */ static uint64_t ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_rman.c#3 (text+ko) ==== @@ -58,7 +58,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/kern/subr_rman.c,v 1.56 2007/04/16 21:09:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_rman.c,v 1.57 2007/04/28 07:37:49 jmg Exp $"); #include #include @@ -155,10 +155,6 @@ return 0; } -/* - * NB: this interface is not robust against programming errors which - * add multiple copies of the same region. - */ int rman_manage_region(struct rman *rm, u_long start, u_long end) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_bio.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.520 2007/03/29 13:26:13 wkoszek Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.521 2007/04/24 10:59:21 kib Exp $"); #include #include @@ -961,9 +961,11 @@ */ vp = bp->b_vp; bo = bp->b_bufobj; - if ((td->td_pflags & TDP_COWINPROGRESS) == 0) + if ((td->td_pflags & (TDP_COWINPROGRESS|TDP_INBDFLUSH)) == 0) { + td->td_pflags |= TDP_INBDFLUSH; BO_BDFLUSH(bo, bp); - else + td->td_pflags &= ~TDP_INBDFLUSH; + } else recursiveflushes++; bdirty(bp); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_mount.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.258 2007/04/17 21:14:06 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.259 2007/04/26 08:56:56 kib Exp $"); #include #include @@ -1168,14 +1168,12 @@ mnt_gen_r = mp->mnt_gen; VI_LOCK(coveredvp); vholdl(coveredvp); - error = vn_lock(coveredvp, LK_EXCLUSIVE | LK_INTERLOCK, td); + vn_lock(coveredvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_RETRY, td); vdrop(coveredvp); /* * Check for mp being unmounted while waiting for the * covered vnode lock. */ - if (error) - return (error); if (coveredvp->v_mountedhere != mp || coveredvp->v_mountedhere->mnt_gen != mnt_gen_r) { VOP_UNLOCK(coveredvp, 0, td); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/ioctl_compat.h#2 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)ioctl_compat.h 8.4 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/sys/ioctl_compat.h,v 1.9 2006/01/10 09:19:10 phk Exp $ + * $FreeBSD: src/sys/sys/ioctl_compat.h,v 1.10 2007/04/27 11:19:05 benjsc Exp $ */ #ifndef _SYS_IOCTL_COMPAT_H_ @@ -42,7 +42,7 @@ #include #ifdef USE_OLD_TTY -#warning "Old BSD tty API used, please upgrade" +#warning "Old BSD tty API used and depends on COMPAT_43TTY. Use termios.h instead" #endif struct tchars { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mount.h#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)mount.h 8.21 (Berkeley) 5/20/95 - * $FreeBSD: src/sys/sys/mount.h,v 1.225 2007/04/17 21:14:05 pjd Exp $ + * $FreeBSD: src/sys/sys/mount.h,v 1.226 2007/04/22 16:18:10 rwatson Exp $ */ #ifndef _SYS_MOUNT_H_ @@ -168,8 +168,7 @@ time_t mnt_time; /* last time written*/ int mnt_iosize_max; /* max size for clusters, etc */ struct netexport *mnt_export; /* export list */ - struct label *mnt_mntlabel; /* MAC label for the mount */ - struct label *mnt_fslabel; /* MAC label for the fs */ + struct label *mnt_label; /* MAC label for the fs */ u_int mnt_hashseed; /* Random seed for vfs_hash */ int mnt_markercnt; /* marker vnodes in use */ int mnt_holdcnt; /* hold count */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/priv.h#3 (text+ko) ==== @@ -26,7 +26,7 @@ * 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/sys/priv.h,v 1.11 2007/04/17 00:35:10 thompsa Exp $ + * $FreeBSD: src/sys/sys/priv.h,v 1.12 2007/04/21 18:11:19 rwatson Exp $ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue May 1 08:50: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 1BA9D16A409; Tue, 1 May 2007 08:50:13 +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 CDC7C16A407 for ; Tue, 1 May 2007 08:50:12 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A86EF13C458 for ; Tue, 1 May 2007 08:50:12 +0000 (UTC) (envelope-from hselasky@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 l418oCid010673 for ; Tue, 1 May 2007 08:50:12 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l418oC1o010670 for perforce@freebsd.org; Tue, 1 May 2007 08:50:12 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 May 2007 08:50:12 GMT Message-Id: <200705010850.l418oC1o010670@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 119056 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 08:50:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=119056 Change 119056 by hselasky@hselasky_mini_itx on 2007/05/01 08:50:02 Fix some locking issues in "umass.c". Make locking changes in change 119023 conditional. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/umass.c#15 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/umass.c#15 (text+ko) ==== @@ -1277,9 +1277,14 @@ usbd_transfer_stop(sc->sc_xfer[i]); } +#if (__FreeBSD_version < 700037) + mtx_unlock(&(sc->sc_mtx)); +#endif umass_cam_detach_sim(sc); +#if (__FreeBSD_version >= 700037) mtx_unlock(&(sc->sc_mtx)); +#endif usbd_transfer_unsetup(sc->sc_xfer, UMASS_T_MAX); @@ -2284,15 +2289,20 @@ return ENOMEM; } +#if (__FreeBSD_version >= 700037) mtx_lock(&(sc->sc_mtx)); +#endif if(xpt_bus_register(sc->sc_sim, sc->sc_unit) != CAM_SUCCESS) { +#if (__FreeBSD_version >= 700037) mtx_unlock(&(sc->sc_mtx)); +#endif return ENOMEM; } +#if (__FreeBSD_version >= 700037) mtx_unlock(&(sc->sc_mtx)); - +#endif return(0); } @@ -2334,12 +2344,16 @@ return; } +#if (__FreeBSD_version >= 700037) mtx_lock(&(sc->sc_mtx)); +#endif if (xpt_create_path(&path, xpt_periph, cam_sim_path(sc->sc_sim), CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { +#if (__FreeBSD_version >= 700037) mtx_unlock(&(sc->sc_mtx)); +#endif free(ccb, M_USBDEV); return; } @@ -2350,7 +2364,9 @@ ccb->crcn.flags = CAM_FLAG_NONE; xpt_action(ccb); +#if (__FreeBSD_version >= 700037) mtx_unlock(&(sc->sc_mtx)); +#endif /* The scan is in progress now. */ @@ -2411,7 +2427,9 @@ struct umass_softc *sc = (struct umass_softc *)sim->softc; if (sc) { +#if (__FreeBSD_version < 700037) mtx_lock(&(sc->sc_mtx)); +#endif /* The softc is still there, but marked as going away. umass_cam_detach * has not yet notified CAM of the lost device however. @@ -2699,9 +2717,11 @@ } done: +#if (__FreeBSD_version < 700037) if (sc) { mtx_unlock(&(sc->sc_mtx)); } +#endif return; } From owner-p4-projects@FreeBSD.ORG Tue May 1 09:16: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 671B516A403; Tue, 1 May 2007 09:16: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 307A816A401 for ; Tue, 1 May 2007 09:16:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1812A13C448 for ; Tue, 1 May 2007 09:16:47 +0000 (UTC) (envelope-from hselasky@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 l419Gkxv016262 for ; Tue, 1 May 2007 09:16:46 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l419GkiQ016259 for perforce@freebsd.org; Tue, 1 May 2007 09:16:46 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 1 May 2007 09:16:46 GMT Message-Id: <200705010916.l419GkiQ016259@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 119059 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 09:16:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=119059 Change 119059 by hselasky@hselasky_mini_itx on 2007/05/01 09:16:22 Remove IFF_DRV_OACTIVE from all ethernet drivers. This bit is already handled by the new USB stack. See the USBD_DEV_TRANSFERRING flag. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#23 edit .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdce.c#15 edit .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#18 edit .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#20 edit .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#10 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_aue.c#23 (text+ko) ==== @@ -1202,14 +1202,12 @@ } ifp->if_oerrors++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; tr_transferred: DPRINTF(sc, 10, "transfer of %d bytes complete\n", xfer->actlen); ifp->if_opackets++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; tr_setup: @@ -1271,8 +1269,6 @@ usbd_start_hardware(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - done: return; } @@ -1404,7 +1400,6 @@ aue_cfg_pre_stop(sc, cc, 0); ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_flags |= AUE_FLAG_HL_READY; return; @@ -1621,8 +1616,7 @@ if (ifp) { /* clear flags */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } sc->sc_flags &= ~(AUE_FLAG_HL_READY| ==== //depot/projects/usb/src/sys/dev/usb/if_axe.c#22 (text+ko) ==== @@ -1215,14 +1215,12 @@ } ifp->if_oerrors++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; tr_transferred: DPRINTF(sc, 10, "transfer complete\n"); ifp->if_opackets++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; tr_setup: @@ -1300,7 +1298,6 @@ usbd_start_hardware(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; done: return; } @@ -1392,7 +1389,6 @@ axe_cfg_pre_stop(sc, cc, 0); ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_flags |= AXE_FLAG_HL_READY; return; @@ -1576,8 +1572,7 @@ if (ifp) { /* clear flags */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } sc->sc_flags &= ~(AXE_FLAG_HL_READY| ==== //depot/projects/usb/src/sys/dev/usb/if_cdce.c#15 (text+ko) ==== @@ -507,14 +507,12 @@ } ifp->if_oerrors++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; tr_transferred: DPRINTF(sc, 10, "transfer complete\n"); ifp->if_opackets++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; tr_setup: @@ -559,8 +557,6 @@ usbd_start_hardware(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - done: return; } @@ -595,8 +591,7 @@ if (ifp) { /* clear flags */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } sc->sc_flags &= ~(CDCE_FLAG_HL_READY| @@ -677,7 +672,6 @@ cdce_stop(sc); ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_flags |= (CDCE_FLAG_READ_STALL| CDCE_FLAG_WRITE_STALL| ==== //depot/projects/usb/src/sys/dev/usb/if_cue.c#18 (text+ko) ==== @@ -810,14 +810,12 @@ } ifp->if_oerrors++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; tr_transferred: DPRINTF(sc, 10, "transfer complete\n"); ifp->if_opackets++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; tr_setup: @@ -858,7 +856,6 @@ usbd_start_hardware(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; done: return; } @@ -888,7 +885,6 @@ cue_cfg_pre_stop(sc, cc, 0); ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_flags |= CUE_FLAG_HL_READY; @@ -1024,8 +1020,7 @@ if (ifp) { /* clear flags */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } sc->sc_flags &= ~(CUE_FLAG_HL_READY| ==== //depot/projects/usb/src/sys/dev/usb/if_kue.c#20 (text+ko) ==== @@ -796,14 +796,12 @@ } ifp->if_oerrors++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; tr_transferred: DPRINTF(sc, 10, "transfer complete\n"); ifp->if_opackets++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; tr_setup: @@ -850,7 +848,6 @@ usbd_start_hardware(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; done: return; } @@ -909,7 +906,6 @@ kue_cfg_pre_stop(sc, cc, 0); ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_flags |= KUE_FLAG_HL_READY; @@ -1043,8 +1039,7 @@ if (ifp) { /* clear flags */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } sc->sc_flags &= ~(KUE_FLAG_HL_READY| ==== //depot/projects/usb/src/sys/dev/usb/if_rue.c#19 (text+ko) ==== @@ -1082,14 +1082,12 @@ } ifp->if_oerrors++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; tr_transferred: DPRINTF(sc, 10, "transfer complete\n"); ifp->if_opackets++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; tr_setup: @@ -1141,8 +1139,6 @@ usbd_start_hardware(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - done: return; } @@ -1235,7 +1231,6 @@ rue_cfg_pre_stop(sc, cc, 0); ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_flags |= RUE_FLAG_HL_READY; @@ -1446,8 +1441,7 @@ if (ifp) { /* clear flags */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } sc->sc_flags &= ~(RUE_FLAG_HL_READY| ==== //depot/projects/usb/src/sys/dev/usb/if_udav.c#19 (text+ko) ==== @@ -655,7 +655,6 @@ udav_cfg_pre_stop(sc, cc, 0); ifp->if_drv_flags |= IFF_DRV_RUNNING; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; sc->sc_flags |= UDAV_FLAG_HL_READY; @@ -904,14 +903,12 @@ } ifp->if_oerrors++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; tr_transferred: DPRINTF(sc, 10, "transfer complete\n"); ifp->if_opackets++; - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; tr_setup: @@ -974,8 +971,6 @@ usbd_start_hardware(xfer); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - done: return; } @@ -1237,8 +1232,7 @@ if (ifp) { /* clear flags */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } sc->sc_flags &= ~(UDAV_FLAG_HL_READY| ==== //depot/projects/usb/src/sys/dev/usb/if_zyd.c#10 (text+ko) ==== @@ -2733,7 +2733,6 @@ zyd_cfg_pre_stop(sc, cc, 0); - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; ifp->if_drv_flags |= IFF_DRV_RUNNING; sc->sc_flags |= ZYD_FLAG_HL_READY; @@ -2815,8 +2814,7 @@ ieee80211_new_state(ic, IEEE80211_S_INIT, -1); /* clear flags */ - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | - IFF_DRV_OACTIVE); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } sc->sc_flags &= ~(ZYD_FLAG_HL_READY| From owner-p4-projects@FreeBSD.ORG Tue May 1 13:40: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 6291A16A477; Tue, 1 May 2007 13:40: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 283B016A473 for ; Tue, 1 May 2007 13:40:10 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1988113C458 for ; Tue, 1 May 2007 13:40:10 +0000 (UTC) (envelope-from taleks@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 l41De94a074243 for ; Tue, 1 May 2007 13:40:09 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l41De97I074238 for perforce@freebsd.org; Tue, 1 May 2007 13:40:09 GMT (envelope-from taleks@FreeBSD.org) Date: Tue, 1 May 2007 13:40:09 GMT Message-Id: <200705011340.l41De97I074238@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 119083 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 13:40:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=119083 Change 119083 by taleks@taleks_th on 2007/05/01 13:39:58 made first version of compilable assembler code. Updated isr_install definition, int_num now is 16bit to simplify popping it from stack. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/btx/btx.S#3 edit .. //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxv86.h#3 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/btx/btx.S#3 (text+ko) ==== @@ -871,7 +871,8 @@ jmp exit # Exit /* * Here we need to modify IDT in such way, that at interrupt handle - * will be run isr_trump, which role is to run provided function in user space. + * will be run user_isr_call, which role is to run provided function + * in user space. */ intx30.2: xorl %eax,%eax # clear eax @@ -879,44 +880,51 @@ * updating call gate */ mov gdtdesc,%edi # calculating descriptors entry - add $SEL_CALLGATE, %edi # pointing callgate selector + add $SEL_CALLGATE,%edi # pointing callgate selector popl %eax # got 32bit offset to handler - mov %ax, (%di) # +0: store offset - shr $0x10, %eax # getting high word - mov %ax, 0x6(%di) # +6: handler offset 16..31 + movw %ax,(%edi) # +0: store offset 00..15 + shr $0x10,%eax # getting high word + add $0x06,%edi # +6: + mov %ax,(%edi) # handler offset 16..31 /* * installing handler */ - xor %ax,%ax # clear eax - pop %ah # getting interrupt number - mul $0x08,%ax # + xor %ax,%ax # clear ax + pop %ax # getting interrupt number + mov $0x08, %bl # + mulb %bl # - mov $MEM_IDT, %di # point to IDT. + mov $MEM_IDT,%di # point to IDT. add %ax,%di # calculate entry mov $SEL_SCODE,%dh # supervisor code selector - mov user_isr_call, %ax # tramp address + mov user_isr_call,%ax # tramp address - mov $0x8e, %dl # i386+ interrupt gate, DPL=0 + mov $0x8e,%dl # i386+ interrupt gate, DPL=0 - mov %ax,(%di) # 0: handler offset 0..15 - mov %dh,0x2(%di) # +2: dest selector - # +4: 000:word_count - mov %dl,0x5(%di) # +5: P:DPL:type + mov %ax,(%edi) # 0: handler offset 0..15 + mov %dh,0x2(%edi) # +2: dest selector + # +4: 000:word_count=0 + mov %dl,0x5(%edi) # +5: P:DPL:type # +6: handler offset 16..31 /* - * NOTE: do we need flush caches? + * NOTE: it seems nothing else must be done */ iret # return from syscall user_isr_call: /* - * NOTE: do we need update CS,DS & etc before and restore after? + * NOTE: isr must use lret to return and restore SS, ESP, CS, EIP. */ - # far call via callgate selector - lcall $SEL_S2U_CALL # NOTE: find how it must be. + push %ds # saving ds + mov $SEL_UDATA,%ax # + mov %ax,%ds # setting it to userspace data + # cs is updated from selector + lcall $SEL_CALLGATE,$0x00000000 # far call via callgate selector + # offset is ignored + pop %ds # restore data segment iret # return from interrupt handler /* ==== //depot/projects/soc2007/taleks-pxe_http/btx_mod/lib/btxv86.h#3 (text+ko) ==== @@ -63,6 +63,6 @@ * Installs interrupt handler function for interrupt int_num. * caddr_t - in userspace. */ -void __isr_install(caddr_t isr, uint8_t int_num); +void __isr_install(caddr_t isr, uint16_t int_num); #endif /* !_BTXV86_H_ */ From owner-p4-projects@FreeBSD.ORG Tue May 1 18:14:34 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 CBD8D16A406; Tue, 1 May 2007 18:14:33 +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 73A0A16A403 for ; Tue, 1 May 2007 18:14:33 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 63BF613C4B7 for ; Tue, 1 May 2007 18:14:33 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l41IEXlE040512 for ; Tue, 1 May 2007 18:14:33 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l41IEWx1040509 for perforce@freebsd.org; Tue, 1 May 2007 18:14:32 GMT (envelope-from bms@incunabulum.net) Date: Tue, 1 May 2007 18:14:32 GMT Message-Id: <200705011814.l41IEWx1040509@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119108 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 18:14:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=119108 Change 119108 by bms@bms_anglepoise on 2007/05/01 18:14:18 whitespace Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/tick.c#6 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/tick.c#6 (text+ko) ==== @@ -1,6 +1,6 @@ /*- - * Copyright (c) 2006 Bruce M. Simpson - * Copyright (c) 2003-2004 Juli Mallett. + * Copyright (c) 2006-2007 Bruce M. Simpson. + * Copyright (c) 2003-2004 Juli Mallett. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -60,13 +60,10 @@ /* * Device methods */ -static int clock_probe(device_t); -static void clock_identify(driver_t *, device_t); -static int clock_attach(device_t); - - - -static unsigned counter_get_timecount(struct timecounter *tc); +static int clock_probe(device_t); +static void clock_identify(driver_t *, device_t); +static int clock_attach(device_t); +static unsigned counter_get_timecount(struct timecounter *tc); static struct timecounter counter_timecounter = { counter_get_timecount, /* get_timecount */ From owner-p4-projects@FreeBSD.ORG Tue May 1 18:38:45 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 CB75B16A408; Tue, 1 May 2007 18:38:44 +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 9F08F16A406 for ; Tue, 1 May 2007 18:38:44 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.224]) by mx1.freebsd.org (Postfix) with ESMTP id 48AC913C484 for ; Tue, 1 May 2007 18:38:44 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: by wr-out-0506.google.com with SMTP id 70so1838377wra for ; Tue, 01 May 2007 11:38:43 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=JgPUHJAcehHXphrNgcyRufr3mnydjhwwnLTtYsSUlWwF/wH/PzYHoVvIy90EB81Pwn0rTV4xd4kwAmiJyj0EqnRjkdEno2da9KkhdKcH0i2AP8W9vFIaTEykZSp+lxPDzD/iLMbnBsE/B9qpG0dGpDpHK7lMDgUPljGyVqDxRMQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=CVEGvSziAWsnOfZWojEPcamGs+vU4XqXs5avgU7uZt0/TBkRLbsv2G0qBIjNClkj0MQsXbrhDGYa8nOpCe6auTd/H+xSnLvgZJc+bWnZ26KFZuOlM42zHrkWNz+iDtLs8CFKWei8tjYwG/hIid8nXMiCE3+0CBQ9YsYySJBt1Uk= Received: by 10.78.204.20 with SMTP id b20mr2417105hug.1178044721602; Tue, 01 May 2007 11:38:41 -0700 (PDT) Received: by 10.78.97.12 with HTTP; Tue, 1 May 2007 11:38:41 -0700 (PDT) Message-ID: <3bbf2fe10705011138v46ef8d66ka8b9e232cd757025@mail.gmail.com> Date: Tue, 1 May 2007 20:38:41 +0200 From: "Attilio Rao" Sender: asmrookie@gmail.com To: "Garrett Cooper" In-Reply-To: <4633C67D.8010703@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200704271246.l3RCkoMJ051651@repoman.freebsd.org> <46326366.50907@FreeBSD.org> <4633C67D.8010703@gmail.com> X-Google-Sender-Auth: 38aa7117d4424f3b Cc: Perforce Change Reviews Subject: Re: PERFORCE change 118874 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 18:38:45 -0000 2007/4/29, Garrett Cooper : > Attilio Rao wrote: > > Alexey Tarasov wrote: > >> http://perforce.freebsd.org/chv.cgi?CH=118874 > >> > >> Change 118874 by taleks@taleks_th on 2007/04/27 12:46:48 > >> > >> added code from pxe.c. Now need to find way to install NIC irq > >> handler. > >> > >> Affected files ... > >> > >> .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#3 edit > >> .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.h#3 edit > >> > >> Differences ... > >> > >> ==== //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#3 (text+ko) ==== > >> > >> @@ -1,8 +1,38 @@ > >> +#include > >> +#include > >> #include "pxe_core.h" > >> #include "pxe_mem.h" > >> #include "pxe_ip.h" > >> #include "pxe_mutex.h" > >> > >> +#include "btxv86.h" > >> +#include "pxe.h" > >> + > >> + > >> +/* PXE API calls here will be made in same way as in pxeboot. > >> + the only difference - installation of isr, that was not needed in > >> pxe.c. > >> + main problem is that, v86 monitors reflects interrupts, > >> + we need to change IDT, for correct irq and call pxe_core_isr() > >> from it. > >> +*/ > >> + > >> +/* NOTE: to think about using of this buffers */ > >> +#define PXE_BUFFER_SIZE 0x2000 > >> +#define PXE_TFTP_BUFFER_SIZE 512 > >> +static char scratch_buffer[PXE_BUFFER_SIZE]; > >> +static char data_buffer[PXE_BUFFER_SIZE]; > >> +static pxenv_t *pxenv_p = NULL; /* PXENV+ */ > >> +static pxe_t *pxe_p = NULL; /* !PXE */ > >> +static BOOTPLAYER bootplayer; /* PXE Cached information. */ > >> + > >> +/* defined in pxetramp.s */ > >> +extern u_int16_t __bangpxeseg; > >> +extern u_int16_t __bangpxeoff; > >> +extern void __bangpxeentry(void); > >> +extern u_int16_t __pxenvseg; > >> +extern u_int16_t __pxenvoff; > >> +extern void __pxenventry(void); > >> + > >> +/**/ > > > > Could you, please, use here uint16_t instead than u_int16_t as style(9) > > suggests? > > > > Attilio > > Just checking, but is this the same for other data types, i.e. > u_int_32_t => uint32_t? > > I'm asking because I'm working with the BDB code, and I think it's using > C99 or older format data elements / types. Following style(9), you should only use uintXX_t (where XX is a number of 8, 16, 32, etc.) since it follows ANSI C. Attilio -- Peace can only be achieved by understanding - A. Einstein From owner-p4-projects@FreeBSD.ORG Tue May 1 19:33:34 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 E154416A40E; Tue, 1 May 2007 19:33:33 +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 6F10D16A408 for ; Tue, 1 May 2007 19:33:33 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4154E13C4DD for ; Tue, 1 May 2007 19:33:33 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l41JXXWg056653 for ; Tue, 1 May 2007 19:33:33 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l41JXX2a056647 for perforce@freebsd.org; Tue, 1 May 2007 19:33:33 GMT (envelope-from bms@incunabulum.net) Date: Tue, 1 May 2007 19:33:33 GMT Message-Id: <200705011933.l41JXX2a056647@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119115 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 19:33:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=119115 Change 119115 by bms@bms_anglepoise on 2007/05/01 19:32:39 Move the hack which sets a default clock frequency under a compile-time kernel option. Create a separate include file for things relating to the YAMON boot monitor API. Affected files ... .. //depot/projects/mips2/src/sys/conf/options.mips#3 edit .. //depot/projects/mips2/src/sys/mips/conf/MALTA#12 edit .. //depot/projects/mips2/src/sys/mips/mips/tick.c#7 edit .. //depot/projects/mips2/src/sys/mips/mips4k/malta/yamon.c#2 edit .. //depot/projects/mips2/src/sys/mips/mips4k/malta/yamon.h#1 add Differences ... ==== //depot/projects/mips2/src/sys/conf/options.mips#3 (text+ko) ==== @@ -6,3 +6,4 @@ KERNPHYSADDR opt_global.h KERNVIRTADDR opt_global.h PHYSADDR opt_global.h +TICK_USE_YAMON_FREQ opt_global.h ==== //depot/projects/mips2/src/sys/mips/conf/MALTA#12 (text+ko) ==== @@ -28,6 +28,7 @@ makeoptions MODULES_OVERRIDE="" options KERNVIRTADDR=0x80100000 +options TICK_USE_YAMON_FREQ=defined include "../mips4k/malta/std.malta" hints "MALTA.hints" #Default places to look for devices. ==== //depot/projects/mips2/src/sys/mips/mips/tick.c#7 (text+ko) ==== @@ -28,8 +28,6 @@ /* * Simple driver for the 32-bit interval counter built in to all * MIPS32 CPUs. - * XXX: For calibration this either needs an external clock, or - * to be explicitly told what the frequency is. */ #include @@ -51,6 +49,10 @@ #include #include +#ifdef TICK_USE_YAMON_FREQ +#include +#endif + uint64_t counter_freq; uint64_t counts_per_hz; uint32_t counts_per_usec; @@ -77,40 +79,45 @@ static uint64_t tick_ticker(void) { + return ((uint64_t)mips_rd_count()); } -#if 1 -extern char *yamon_getenv(char *); -#endif - void tick_init_params(void) { -#ifdef notyet - u_int64_t counterval[2]; -#endif if (bootverbose) printf("Calibrating MIPS32 clock ... "); -#ifdef notyet - counterval[0] = mips_rd_count(); - DELAY(1000000); - counterval[1] = mips_rd_count(); - counter_freq = counterval[1] - counterval[0]; -#else - /* XXX: The boot monitor told us the CPU frequency. */ - { + do { +#ifdef TICK_USE_YAMON_FREQ + /* + * Use the clock frequency specified in the environment + * variables providied to us by the YAMON monitor. + */ char *cp = yamon_getenv("khz"); - printf("cp: %s\n", cp); + if (cp == NULL) { - printf("cannot determine clock frequency, defaulting to 10MHz\n"); + printf("cannot determine clock frequency, " + "defaulting to 10MHz\n"); counter_freq = 10000000; - } else + } else { counter_freq = strtol(cp, (char **)NULL, 10) * 1000 ; - } + } +#else + /* + * Determine clock frequency from hardware. + * XXX: Requires a working DELAY() macro. + */ + u_int64_t counterval[2]; + + counterval[0] = mips_rd_count(); + DELAY(1000000); + counterval[1] = mips_rd_count(); + counter_freq = counterval[1] - counterval[0]; #endif + } while (0); counts_per_hz = counter_freq / hz; counts_per_usec = counter_freq / 1000000; @@ -190,7 +197,7 @@ /* * Device section of file below - */ + */ static int clock_intr(void *arg) { ==== //depot/projects/mips2/src/sys/mips/mips4k/malta/yamon.c#2 (text+ko) ==== @@ -31,14 +31,7 @@ #include #include -char* yamon_getenv(char *name); - -typedef struct { - char *name; - char *value; -} yamon_env_t; - -extern yamon_env_t *fenvp[]; +#include char * yamon_getenv(char *name) From owner-p4-projects@FreeBSD.ORG Tue May 1 20:15: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 D782716A402; Tue, 1 May 2007 20:15: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 7551E16A404 for ; Tue, 1 May 2007 20:15:40 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 630F013C45E for ; Tue, 1 May 2007 20:15:40 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l41KFeQY066156 for ; Tue, 1 May 2007 20:15:40 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l41KFeMS066153 for perforce@freebsd.org; Tue, 1 May 2007 20:15:40 GMT (envelope-from bms@incunabulum.net) Date: Tue, 1 May 2007 20:15:40 GMT Message-Id: <200705012015.l41KFeMS066153@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119119 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 20:15:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=119119 Change 119119 by bms@bms_anglepoise on 2007/05/01 20:14:54 more style fixes Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/tick.c#8 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/tick.c#8 (text+ko) ==== @@ -130,6 +130,7 @@ void tick_init(void) { + if (counter_freq != 0 && !counter_is_broken) { counter_timecounter.tc_frequency = counter_freq; tc_init(&counter_timecounter); @@ -216,17 +217,17 @@ usermode = tf->tf_regs[TF_SR] & MIPS_SR_KSU_USER; pc = tf->tf_regs[TF_EPC]; - if (clocks_running) - { + if (clocks_running) { hardclock(usermode, pc); } - return FILTER_HANDLED; + return (FILTER_HANDLED); } static int clock_probe(device_t dev) { + if (device_get_unit(dev) != 0) panic("can't attach more clocks"); @@ -237,6 +238,7 @@ static void clock_identify(driver_t *drv, device_t parent) { + BUS_ADD_CHILD(parent, 0, "clock", 0); } From owner-p4-projects@FreeBSD.ORG Tue May 1 21:23:06 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 2EDBE16A406; Tue, 1 May 2007 21:23:06 +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 E86FC16A403 for ; Tue, 1 May 2007 21:23:05 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D427F13C448 for ; Tue, 1 May 2007 21:23:05 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l41LN5UT087162 for ; Tue, 1 May 2007 21:23:05 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l41LN5Js087155 for perforce@freebsd.org; Tue, 1 May 2007 21:23:05 GMT (envelope-from bms@incunabulum.net) Date: Tue, 1 May 2007 21:23:05 GMT Message-Id: <200705012123.l41LN5Js087155@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119124 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 21:23:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=119124 Change 119124 by bms@bms_anglepoise on 2007/05/01 21:22:36 Teach tick how to grope around in the Malta virtual rtc hardware to estimate CPU clock frequency. This should hopefully help when booting on real hardware. Affected files ... .. //depot/projects/mips2/src/sys/conf/options.mips#4 edit .. //depot/projects/mips2/src/sys/mips/mips/tick.c#9 edit Differences ... ==== //depot/projects/mips2/src/sys/conf/options.mips#4 (text+ko) ==== @@ -7,3 +7,4 @@ KERNVIRTADDR opt_global.h PHYSADDR opt_global.h TICK_USE_YAMON_FREQ opt_global.h +TICK_USE_MALTA_RTC opt_global.h ==== //depot/projects/mips2/src/sys/mips/mips/tick.c#9 (text+ko) ==== @@ -52,6 +52,11 @@ #ifdef TICK_USE_YAMON_FREQ #include #endif +#ifdef TICK_USE_MALTA_RTC +#include +#include +#include +#endif uint64_t counter_freq; uint64_t counts_per_hz; @@ -76,6 +81,28 @@ 800, /* quality (adjusted in code) */ }; +#ifdef TICK_USE_MALTA_RTC +static __inline uint8_t +rtcin(uint8_t addr) +{ + + *((volatile uint8_t *) + MIPS_PHYS_TO_KSEG1(MALTA_PCI0_ADDR(MALTA_RTCADR))) = addr; + return (*((volatile uint8_t *) + MIPS_PHYS_TO_KSEG1(MALTA_PCI0_ADDR(MALTA_RTCDAT)))); +} + +static __inline void +writertc(uint8_t addr, uint8_t val) +{ + + *((volatile uint8_t *) + MIPS_PHYS_TO_KSEG1(MALTA_PCI0_ADDR(MALTA_RTCADR))) = addr; + *((volatile uint8_t *) + MIPS_PHYS_TO_KSEG1(MALTA_PCI0_ADDR(MALTA_RTCDAT))) = val; +} +#endif + static uint64_t tick_ticker(void) { @@ -87,8 +114,7 @@ tick_init_params(void) { - if (bootverbose) - printf("Calibrating MIPS32 clock ... "); + printf("Calibrating MIPS32 clock ... "); do { #ifdef TICK_USE_YAMON_FREQ @@ -106,14 +132,24 @@ counter_freq = strtol(cp, (char **)NULL, 10) * 1000 ; } #else + u_int64_t counterval[2]; + /* * Determine clock frequency from hardware. - * XXX: Requires a working DELAY() macro. */ - u_int64_t counterval[2]; + counterval[0] = mips_rd_count(); + +#ifdef TICK_USE_MALTA_RTC + /* Set RTC to binary mode. */ + writertc(RTC_STATUSB, (rtcin(RTC_STATUSB) | RTCSB_BCD)); + + /* Busy-wait for falling edge of RTC update. */ + while (((rtcin(RTC_STATUSA) & RTCSA_TUP) == 0)) + ; + while (((rtcin(RTC_STATUSA)& RTCSA_TUP) != 0)) + ; +#endif - counterval[0] = mips_rd_count(); - DELAY(1000000); counterval[1] = mips_rd_count(); counter_freq = counterval[1] - counterval[0]; #endif @@ -122,8 +158,7 @@ counts_per_hz = counter_freq / hz; counts_per_usec = counter_freq / 1000000; - if (bootverbose) - printf("MIPS32 clock: %ju Hz\n", (intmax_t)counter_freq); + printf("MIPS32 clock: %ju Hz\n", (intmax_t)counter_freq); set_cputicker(tick_ticker, counter_freq, 1); } From owner-p4-projects@FreeBSD.ORG Tue May 1 21:36:23 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 8CAF216A403; Tue, 1 May 2007 21:36: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 2432D16A401 for ; Tue, 1 May 2007 21:36:23 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1041713C4C5 for ; Tue, 1 May 2007 21:36:23 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l41LaMab089208 for ; Tue, 1 May 2007 21:36:22 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l41LaMHb089205 for perforce@freebsd.org; Tue, 1 May 2007 21:36:22 GMT (envelope-from bms@incunabulum.net) Date: Tue, 1 May 2007 21:36:22 GMT Message-Id: <200705012136.l41LaMHb089205@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119125 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2007 21:36:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=119125 Change 119125 by bms@bms_anglepoise on 2007/05/01 21:35:29 align both reads of cop0 timer with falling edge of rtc Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/tick.c#10 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/tick.c#10 (text+ko) ==== @@ -137,8 +137,6 @@ /* * Determine clock frequency from hardware. */ - counterval[0] = mips_rd_count(); - #ifdef TICK_USE_MALTA_RTC /* Set RTC to binary mode. */ writertc(RTC_STATUSB, (rtcin(RTC_STATUSB) | RTCSB_BCD)); @@ -149,6 +147,15 @@ while (((rtcin(RTC_STATUSA)& RTCSA_TUP) != 0)) ; #endif + counterval[0] = mips_rd_count(); + +#ifdef TICK_USE_MALTA_RTC + /* Busy-wait for falling edge of RTC update. */ + while (((rtcin(RTC_STATUSA) & RTCSA_TUP) == 0)) + ; + while (((rtcin(RTC_STATUSA)& RTCSA_TUP) != 0)) + ; +#endif counterval[1] = mips_rd_count(); counter_freq = counterval[1] - counterval[0]; From owner-p4-projects@FreeBSD.ORG Wed May 2 11:42:07 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 462C016A408; Wed, 2 May 2007 11:42:07 +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 15E4E16A400 for ; Wed, 2 May 2007 11:42:07 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 07AED13C457 for ; Wed, 2 May 2007 11:42:07 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l42Bg6AK081987 for ; Wed, 2 May 2007 11:42:06 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42Bg6wS081983 for perforce@freebsd.org; Wed, 2 May 2007 11:42:06 GMT (envelope-from bms@incunabulum.net) Date: Wed, 2 May 2007 11:42:06 GMT Message-Id: <200705021142.l42Bg6wS081983@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119146 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, 02 May 2007 11:42:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=119146 Change 119146 by bms@bms_anglepoise on 2007/05/02 11:41:29 add PCI ID for Sentry5 onboard NIC Affected files ... .. //depot/projects/mips2/src/sys/dev/bfe/if_bfe.c#3 edit .. //depot/projects/mips2/src/sys/dev/bfe/if_bfereg.h#2 edit Differences ... ==== //depot/projects/mips2/src/sys/dev/bfe/if_bfe.c#3 (text+ko) ==== @@ -81,7 +81,9 @@ "Broadcom BCM4401 Fast Ethernet" }, { BCOM_VENDORID, BCOM_DEVICEID_BCM4401B0, "Broadcom BCM4401-B0 Fast Ethernet" }, - { 0, 0, NULL } + { BCOM_VENDORID, BCOM_DEVICEID_BCM4713, + "Broadcom BCM4713 Fast Ethernet" }, + { 0, 0, NULL } }; static int bfe_probe (device_t); ==== //depot/projects/mips2/src/sys/dev/bfe/if_bfereg.h#2 (text+ko) ==== @@ -417,6 +417,7 @@ #define BCOM_VENDORID 0x14E4 #define BCOM_DEVICEID_BCM4401 0x4401 +#define BCOM_DEVICEID_BCM4713 0x4713 #define BCOM_DEVICEID_BCM4401B0 0x170c #define PCI_SETBIT(dev, reg, x, s) \ From owner-p4-projects@FreeBSD.ORG Wed May 2 11:43: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 3A9AC16A403; Wed, 2 May 2007 11:43:09 +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 18E2116A401 for ; Wed, 2 May 2007 11:43:09 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0AA7913C45A for ; Wed, 2 May 2007 11:43:09 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l42Bh8Rt082277 for ; Wed, 2 May 2007 11:43:08 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42Bh8cw082270 for perforce@freebsd.org; Wed, 2 May 2007 11:43:08 GMT (envelope-from bms@incunabulum.net) Date: Wed, 2 May 2007 11:43:08 GMT Message-Id: <200705021143.l42Bh8cw082270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119147 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, 02 May 2007 11:43:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=119147 Change 119147 by bms@bms_anglepoise on 2007/05/02 11:42:20 Bring back plain old hardcoded clock value. The Sentry5 doesn't have YAMON or the Motorola RTC. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/tick.c#11 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/tick.c#11 (text+ko) ==== @@ -117,7 +117,7 @@ printf("Calibrating MIPS32 clock ... "); do { -#ifdef TICK_USE_YAMON_FREQ +#if defined(TICK_USE_YAMON_FREQ) /* * Use the clock frequency specified in the environment * variables providied to us by the YAMON monitor. @@ -131,13 +131,12 @@ } else { counter_freq = strtol(cp, (char **)NULL, 10) * 1000 ; } -#else +#elif defined(TICK_USE_MALTA_RTC) u_int64_t counterval[2]; /* * Determine clock frequency from hardware. */ -#ifdef TICK_USE_MALTA_RTC /* Set RTC to binary mode. */ writertc(RTC_STATUSB, (rtcin(RTC_STATUSB) | RTCSB_BCD)); @@ -146,19 +145,19 @@ ; while (((rtcin(RTC_STATUSA)& RTCSA_TUP) != 0)) ; -#endif counterval[0] = mips_rd_count(); -#ifdef TICK_USE_MALTA_RTC /* Busy-wait for falling edge of RTC update. */ while (((rtcin(RTC_STATUSA) & RTCSA_TUP) == 0)) ; while (((rtcin(RTC_STATUSA)& RTCSA_TUP) != 0)) ; -#endif + counterval[1] = mips_rd_count(); - counterval[1] = mips_rd_count(); counter_freq = counterval[1] - counterval[0]; +#else + printf("using hard-coded default clock of 10MHz\n"); + counter_freq = 10000000; #endif } while (0); From owner-p4-projects@FreeBSD.ORG Wed May 2 13:17: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 AF1B216A407; Wed, 2 May 2007 13:17: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 70A2D16A400 for ; Wed, 2 May 2007 13:17:05 +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 62C1513C455 for ; Wed, 2 May 2007 13:17:05 +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 l42DH5jH011234 for ; Wed, 2 May 2007 13:17:05 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42DH59b011231 for perforce@freebsd.org; Wed, 2 May 2007 13:17:05 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 2 May 2007 13:17:05 GMT Message-Id: <200705021317.l42DH59b011231@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 119150 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, 02 May 2007 13:17:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=119150 Change 119150 by gonzo@gonzo_jeeves on 2007/05/02 13:16:59 o Fill .bss and .sbss segments with zeroes. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#29 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/machdep.c#29 (text+ko) ==== @@ -79,6 +79,7 @@ int clocks_running = 0; long realmem = 0; +extern int *edata; extern int *end; static struct pcpu pcpu0; @@ -471,6 +472,12 @@ void platform_start(int argc, char **argv) { + vm_offset_t kernend; + + /* clear the BSS and SBSS segments */ + kernend = round_page((vm_offset_t)&end); + memset(&edata, 0, kernend - (vm_offset_t)(&edata)); + cninit(); mips_init(); tick_init_params(); From owner-p4-projects@FreeBSD.ORG Wed May 2 13:57: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 585BD16A406; Wed, 2 May 2007 13:57: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 2D39616A403 for ; Wed, 2 May 2007 13:57:56 +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 077AD13C4BE for ; Wed, 2 May 2007 13:57:56 +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 l42DvtOY017663 for ; Wed, 2 May 2007 13:57:55 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42DvtK0017658 for perforce@freebsd.org; Wed, 2 May 2007 13:57:55 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 2 May 2007 13:57:55 GMT Message-Id: <200705021357.l42DvtK0017658@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 119153 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, 02 May 2007 13:57:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=119153 Change 119153 by gonzo@gonzo_jeeves on 2007/05/02 13:57:19 o Clean out debug printf. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/cache.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/cache.c#3 (text+ko) ==== @@ -120,7 +120,6 @@ } mipsNN_cache_init(cpuinfo); - printf("mips_cache_ops.mco_pdcache_wbinv_all == %p\n", mips_cache_ops.mco_pdcache_wbinv_all ); #if 0 if (mips_cpu_flags & From owner-p4-projects@FreeBSD.ORG Wed May 2 14:07: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 700B416A409; Wed, 2 May 2007 14:07:09 +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 2D30616A404 for ; Wed, 2 May 2007 14:07:09 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1076D13C4AD for ; Wed, 2 May 2007 14:07:09 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l42E78wU020325 for ; Wed, 2 May 2007 14:07:08 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42E78rt020322 for perforce@freebsd.org; Wed, 2 May 2007 14:07:08 GMT (envelope-from bms@incunabulum.net) Date: Wed, 2 May 2007 14:07:08 GMT Message-Id: <200705021407.l42E78rt020322@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119155 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, 02 May 2007 14:07:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=119155 Change 119155 by bms@bms_anglepoise on 2007/05/02 14:07:06 Merge Sentry5 changes with MALTA changes. Make YAMON optional. Don't try to detect an FPU if CPU_NOFPU is defined; the Sentry5 throws an exception even though the Cop1 enabled bit stays set in the status register after locore tries to enable it. Add custom ld script for CFE firmware targets; it needs to see the first PT_LOAD at an offset > 0. Affected files ... .. //depot/projects/mips2/src/sys/conf/ldscript.mips.cfe#1 add .. //depot/projects/mips2/src/sys/conf/options.mips#5 edit .. //depot/projects/mips2/src/sys/mips/conf/MALTA#13 edit .. //depot/projects/mips2/src/sys/mips/mips/locore.S#16 edit .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#30 edit .. //depot/projects/mips2/src/sys/mips/mips/tick.c#12 edit Differences ... ==== //depot/projects/mips2/src/sys/conf/options.mips#5 (text+ko) ==== @@ -3,8 +3,15 @@ CPU_MIPS4KC opt_global.h CPU_MIPS32 opt_global.h CPU_MIPS64 opt_global.h +CPU_NOFPU opt_global.h +CPU_SENTRY5 opt_global.h + +YAMON opt_global.h +CFE opt_global.h + KERNPHYSADDR opt_global.h KERNVIRTADDR opt_global.h PHYSADDR opt_global.h + TICK_USE_YAMON_FREQ opt_global.h TICK_USE_MALTA_RTC opt_global.h ==== //depot/projects/mips2/src/sys/mips/conf/MALTA#13 (text+ko) ==== @@ -24,11 +24,15 @@ #makeoptions ARCH_FLAGS=-march=mips32 makeoptions MIPS_LITTLE_ENDIAN=defined +options YAMON + # Don't build any modules yet. makeoptions MODULES_OVERRIDE="" options KERNVIRTADDR=0x80100000 -options TICK_USE_YAMON_FREQ=defined +#options TICK_USE_YAMON_FREQ=defined +options TICK_USE_MALTA_RTC=defined + include "../mips4k/malta/std.malta" hints "MALTA.hints" #Default places to look for devices. ==== //depot/projects/mips2/src/sys/mips/mips/locore.S#16 (text+ko) ==== @@ -80,7 +80,15 @@ /* Read and store the PrID FPU ID for CPU identification. */ mfc0 t0, MIPS_COP_0_PRID +#ifndef CPU_NOFPU cfc1 t1, MIPS_FPU_ID +#else + /* + * This platform has no FPU, and attempting to detect one + * using the official method causes an exception. + */ + li t1, 0x0 +#endif sw t0, cpu_id sw t1, fpu_id @@ -94,9 +102,9 @@ */ la sp, topstack -#if 1 +#ifdef YAMON /* - * XXX: Save the YAMON environment pointer. + * Save the YAMON environment pointer. */ sw a2, fenvp #endif ==== //depot/projects/mips2/src/sys/mips/mips/machdep.c#30 (text+ko) ==== @@ -70,6 +70,10 @@ #include #include +#ifdef CPU_SENTRY5 +/* XXX */ +void sentry5_reset(void); +#endif #ifdef DDB #include @@ -455,6 +459,10 @@ platform_reset(void) { +#ifdef CPU_SENTRY5 + /* Yes yes I know this is a mess. */ + sentry5_reset(); +#endif } void ==== //depot/projects/mips2/src/sys/mips/mips/tick.c#12 (text+ko) ==== @@ -114,7 +114,8 @@ tick_init_params(void) { - printf("Calibrating MIPS32 clock ... "); + if (bootverbose) + printf("Calibrating MIPS32 clock ... "); do { #if defined(TICK_USE_YAMON_FREQ) @@ -156,7 +157,14 @@ counter_freq = counterval[1] - counterval[0]; #else + /* + * Don't cause a call to DELAY() to happen when we haven't + * initialized the very things which DELAY() depends upon; + * it will cause a divide-by-zero trap. + */ + #if 0 printf("using hard-coded default clock of 10MHz\n"); + #endif counter_freq = 10000000; #endif } while (0); @@ -211,6 +219,7 @@ void DELAY(int n) { +#ifndef CPU_SENTRY5 /* TODO: Fix clock calibration for this board */ uint32_t cur, last, delta, usecs; /* * This works by polling the timer and counting the @@ -235,6 +244,7 @@ delta %= counts_per_usec; } } +#endif } /* From owner-p4-projects@FreeBSD.ORG Wed May 2 14:12:16 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 0AF4E16A409; Wed, 2 May 2007 14:12:16 +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 D2F1E16A400 for ; Wed, 2 May 2007 14:12:15 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C3AC713C48C for ; Wed, 2 May 2007 14:12:15 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l42ECFR7021403 for ; Wed, 2 May 2007 14:12:15 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42ECFqH021398 for perforce@freebsd.org; Wed, 2 May 2007 14:12:15 GMT (envelope-from bms@incunabulum.net) Date: Wed, 2 May 2007 14:12:15 GMT Message-Id: <200705021412.l42ECFqH021398@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119156 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, 02 May 2007 14:12:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=119156 Change 119156 by bms@bms_anglepoise on 2007/05/02 14:11:54 checkin fake/kludged sentry5 board support. note that the real Broadcom support code lives here, however it wants to be ported to NEWBUS and FreeBSD. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/files.sentry5#1 add .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/obio.c#1 add .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/obiovar.h#1 add .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/sentry5_machdep.c#1 add .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/sentry5reg.h#1 add .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/uart_bus_sbusart.c#1 add .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/uart_cpu_sbusart.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed May 2 14:13:18 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 E804616A407; Wed, 2 May 2007 14:13:17 +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 C603816A404 for ; Wed, 2 May 2007 14:13:17 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9E33A13C448 for ; Wed, 2 May 2007 14:13:17 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l42EDHfF021725 for ; Wed, 2 May 2007 14:13:17 GMT (envelope-from bms@incunabulum.net) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42EDHuV021722 for perforce@freebsd.org; Wed, 2 May 2007 14:13:17 GMT (envelope-from bms@incunabulum.net) Date: Wed, 2 May 2007 14:13:17 GMT Message-Id: <200705021413.l42EDHuV021722@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bms@incunabulum.net using -f From: Bruce M Simpson To: Perforce Change Reviews Cc: Subject: PERFORCE change 119157 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, 02 May 2007 14:13:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=119157 Change 119157 by bms@bms_anglepoise on 2007/05/02 14:13:02 checkin Sentry5 kernel config tested on Netgear WGT634U Affected files ... .. //depot/projects/mips2/src/sys/mips/conf/SENTRY5#1 add .. //depot/projects/mips2/src/sys/mips/conf/SENTRY5.hints#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed May 2 14:38:55 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 C295616A404; Wed, 2 May 2007 14:38:54 +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 97CDD16A400 for ; Wed, 2 May 2007 14:38:54 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 878B513C455 for ; Wed, 2 May 2007 14:38:54 +0000 (UTC) (envelope-from bushman@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 l42Ecsch024974 for ; Wed, 2 May 2007 14:38:54 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42Ecn1H024971 for perforce@freebsd.org; Wed, 2 May 2007 14:38:49 GMT (envelope-from bushman@freebsd.org) Date: Wed, 2 May 2007 14:38:49 GMT Message-Id: <200705021438.l42Ecn1H024971@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 119158 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, 02 May 2007 14:38:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=119158 Change 119158 by bushman@bushman_sh on 2007/05/02 14:38:04 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/Makefile.inc1#8 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/periodic.conf#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/rc.conf#14 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/devd.conf#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.include.dist#6 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.root.dist#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.usr.dist#7 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/network.subr#7 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/periodic/daily/404.status-zfs#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/etc/periodic/daily/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/FILESYSTEMS#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/Makefile#7 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/NETWORKING#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/addswap#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/adjkerntz#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/bgfsck#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/bootconf.sh#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/cleanvar#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/dhclient#7 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/geli2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/hostid#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/hostname#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ip6addrctl#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ip6fw#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ipfilter#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ipfw#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ipmon#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ipsec#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/isdnd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/kldxref#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/mountcritremote#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/mountd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/netif#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/netoptions#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/nfslocking#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/pf#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/pflog#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/pfsync#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/power_profile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/ppp#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/random#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/syscons#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/var#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/zfs#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.firewall#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.subr#9 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/sendmail/freebsd.mc#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/sendmail/freebsd.submit.mc#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/services#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/Makefile#9 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/protocols/dumprestore.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/rpc/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/rpc/types.h#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/include/stdio.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/stdlib.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/Makefile#8 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/Versions.def#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/stdlib/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/stdlib/div.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/stdlib/ldiv.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/amd64/stdlib/lldiv.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/arm/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/compat-43/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/db/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gdtoa/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/Symbol.map#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/dlfcn.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/getvfsbyname.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/sysconf.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/sysctl.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/valloc.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gmon/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/i386/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/ia64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/inet/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/locale/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/nameser/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/Makefile.inc#10 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/addr2ascii.3#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/addr2ascii.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/ascii2addr.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getnameinfo.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/getnameinfo.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/inet.3#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/linkaddr.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/rthdr.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_bindx.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_connectx.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_freepaddrs.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_getaddrlen.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_getassocid.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_getpaddrs.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_opt_info.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_recvmsg.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_send.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_sendmsg.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/sctp_sys_calls.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/nls/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/posix1e/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/posix1e/acl_support.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/posix1e/acl_support.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/powerpc/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/quad/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/regex/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/regex/engine.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/regex/grot/tests#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/resolv/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/resolv/res_debug.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/resolv/res_send.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/rpc/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/softfloat/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sparc64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdio/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdio/fputs.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdio/tmpnam.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/getenv.3#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/getenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/malloc.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/malloc.c#10 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/posix_memalign.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/putenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/setenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdlib/strtol.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/stdtime/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/string/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/Makefile.inc#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/Symbol.map#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/getsockopt.2#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/lseek.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/pathconf.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/ptrace.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/sctp_generic_recvmsg.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/sctp_generic_sendmsg.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/sctp_peeloff.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/send.2#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/sys/shutdown.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/uuid/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/uuid/uuid_compare.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/xdr/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/yp/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/yp/yplib.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_class.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.lib.mk#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.libnames.mk#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.man.mk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#9 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.symver.mk#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/version_gen.awk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/brandelf/brandelf.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bzip2/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bzip2/doc/Makefile#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/c89/c89.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/c99/c99.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.freebsd#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.usholiday#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cut/cut.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/du/du.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/env/env.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file2c/file2c.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file2c/file2c.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/find.1#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/finger.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/finger.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/net.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fstat/fstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gcore/elfcore.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gzip/gzip.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ipcrm/ipcrm.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/kdump.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/kdump_subr.h#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/mksubr#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lastcomm/lastcomm.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lastcomm/lastcomm.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/limits/limits.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/login.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lsvfs/lsvfs.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/mail.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/GNode.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/globals.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/job.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/job.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/make.1#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/make.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/make.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/parse.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/targ.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkstr/mkstr.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkuzip/mkuzip.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/bpf.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/if.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/inet.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/mcast.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nl/nl.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/passwd/passwd.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/quota/quota.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rup/rup.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/POSIX#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/TEST/hanoi.sed#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/TEST/math.sed#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/TEST/sed.test#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/process.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/sed.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sockstat/sockstat.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/stat/stat.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/su/su.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/bsdtar.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/bsdtar.h#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/bsdtar_platform.h#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/config_freebsd.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/getdate.y#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/matching.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/read.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/test/config.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/test/test-acl.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/test/test-basic.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/test/test-deep-dir.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/test/test-flags.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/test/test-nodump.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/test/test-overwrite.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/test/test-utf8.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/tree.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/util.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/write.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/top/machine.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/touch/touch.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/touch/touch.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/amd64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/i386-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/i386-linux.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/ia64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/powerpc-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/setup.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/sparc64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/syscall.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/syscalls.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/truss.1#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/truss/truss.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ul/ul.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/uuidgen/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/whois/whois.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/acpi/acpidb/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/acpi/acpidb/acpidb.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/acpi/acpidump/acpi_user.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/acpi/acpidump/acpidump.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/acpi/acpidump/acpidump.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/acpi/acpidump/acpidump.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/acpi/iasl/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/adduser/adduser.conf.5#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/adduser/adduser.sh#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/arp/arp.4#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/arp/arp.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cron/lib/entry.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/crunch/crunchide/crunchide.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cxgbtool/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cxgbtool/cxgbtool.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cxgbtool/reg_defs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cxgbtool/reg_defs_t3.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cxgbtool/reg_defs_t3b.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/cxgbtool/version.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/daemon/daemon.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/daemon/daemon.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fdformat/fdformat.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/freebsd-update/freebsd-update.sh#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/gstat/gstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ifmcstat/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ifmcstat/ifmcstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ifmcstat/ifmcstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/inetd/inetd.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/jail/jail.8#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/kbdmap/kbdmap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/lpr/lpd/recvjob.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mountd/mountd.c#9 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/moused/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/moused/moused.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/moused/moused.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mtest/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mtest/mtest.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/mtest/mtest.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ndp/ndp.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ngctl/Makefile#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ntp/doc/ntpd.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pciconf/cap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pkg_install/info/pkg_info.1#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pkg_install/lib/exec.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pkg_install/lib/lib.h#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pkg_install/lib/plist.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pkg_install/lib/url.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pmcstat/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pmcstat/pmcstat.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pmcstat/pmcstat.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pmcstat/pmcstat.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ppp/radius.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pppd/auth.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pstat/pstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pstat/pstat.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pw/cpdir.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pw/pw.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pw/pw.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pw/pw.conf.5#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pw/pw.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pw/pw_conf.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pw/pw_user.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpc.lockd/lockd.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpc.lockd/lockd_lock.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpc.lockd/rpc.lockd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpc.statd/procs.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpc.statd/rpc.statd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpc.statd/statd.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpcbind/rpcbind.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/rpcbind/rpcbind.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sa/pdb.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sade/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sade/termcap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sade/variable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sendmail/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/snapinfo/snapinfo.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/biosmptable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/config.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/devices.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/dist.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/index.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/main.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/termcap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/sysinstall/variable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/traceroute6/traceroute6.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/ypset/ypset.c#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/Makefile.inc1#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.566 2007/01/20 07:48:09 rafan Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.572 2007/04/17 15:52:36 pjd Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -40,6 +40,9 @@ .if ${MK_GAMES} != "no" SUBDIR+=games .endif +.if ${MK_CDDL} != "no" +SUBDIR+=cddl +.endif SUBDIR+=gnu include .if ${MK_KERBEROS} != "no" SUBDIR+=kerberos5 @@ -235,36 +238,30 @@ .else LIB32CPUTYPE= ${TARGET_CPUTYPE} .endif -LIB32PREFLAGS= -m32 -march=${LIB32CPUTYPE} -mfancy-math-387 -DCOMPAT_32BIT -LIB32POSTFLAGS= -I${LIB32TMP}/usr/include \ +LIB32FLAGS= -m32 -march=${LIB32CPUTYPE} -mfancy-math-387 -DCOMPAT_32BIT \ + -iprefix ${LIB32TMP}/usr/ \ -L${LIB32TMP}/usr/lib32 \ -B${LIB32TMP}/usr/lib32 -LIB32CC= ${LIB32PREFLAGS} \ - ${LIB32POSTFLAGS} -LIB32CXX= ${LIB32PREFLAGS} -I${LIB32TMP}/usr/include/c++/3.4 \ - ${LIB32POSTFLAGS} -LIB32OBJC= ${LIB32PREFLAGS} -I${LIB32TMP}/usr/include/objc \ - ${LIB32POSTFLAGS} # Yes, the flags are redundant. -LIB32MAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ +LIB32WMAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ _SHLIBDIRPREFIX=${LIB32TMP} \ MACHINE=i386 \ MACHINE_ARCH=i386 \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - CC="${CC} ${LIB32CC}" \ - CXX="${CXX} ${LIB32CXX}" \ - OBJC="${OBJC} ${LIB32OBJC}" \ + CC="${CC} ${LIB32FLAGS}" \ + CXX="${CXX} ${LIB32FLAGS}" \ + OBJC="${OBJC} ${LIB32FLAGS}" \ LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ AS="${AS} --32" \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 -LIB32MAKE= ${LIB32MAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ +LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_NLS -DWITHOUT_INFO \ - -DWITHOUT_HTML -LIB32IMAKE= ${LIB32MAKE:NINSTALL=*} -DNO_INCS + -DWITHOUT_HTML DESTDIR=${LIB32TMP} +LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*} -DNO_INCS .endif # install stage @@ -364,7 +361,7 @@ @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR:S/^/par-/} .if ${TARGET_ARCH} == "amd64" - rm -rf ${OBJTREE}/lib32 + ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} .endif .endif _obj: @@ -434,34 +431,31 @@ .endfor .endif .for _t in obj includes - cd ${.CURDIR}/include; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} - cd ${.CURDIR}/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} - cd ${.CURDIR}/gnu/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/include; ${LIB32WMAKE} ${_t} + cd ${.CURDIR}/lib; ${LIB32WMAKE} ${_t} +.if ${MK_CDDL} != "no" + cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} ${_t} +.endif + cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} ${_t} .if ${MK_CRYPT} != "no" - cd ${.CURDIR}/secure/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} ${_t} .endif .if ${MK_KERBEROS} != "no" - cd ${.CURDIR}/kerberos5/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} ${_t} .endif .endfor .for _dir in usr.bin/lex/lib - cd ${.CURDIR}/${_dir}; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} obj + cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} obj .endfor -.for _dir in lib/ncurses/ncurses lib/libmagic +.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} DESTDIR= build-tools .endfor cd ${.CURDIR}; \ - ${LIB32MAKE} -f Makefile.inc1 DESTDIR=${LIB32TMP} libraries + ${LIB32WMAKE} -f Makefile.inc1 libraries .for _t in obj depend all cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + PROG=ld-elf32.so.1 ${LIB32WMAKE} ${_t} .endfor distribute32 install32: @@ -869,7 +863,7 @@ _mklocale= usr.bin/mklocale .endif -.if ${BOOTSTRAPPING} < 700015 +.if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -933,6 +927,7 @@ bin/sh \ ${_rescue} \ lib/ncurses/ncurses \ + lib/ncurses/ncursesw \ ${_share} \ ${_aicasm} \ usr.bin/awk \ @@ -1020,17 +1015,22 @@ lib/libbz2 lib/libcom_err lib/libcrypt lib/libexpat \ ${_lib_libgssapi} ${_lib_libipx} \ lib/libkiconv lib/libkvm lib/libmd \ - lib/ncurses/ncurses lib/libnssutil lib/libopie lib/libpam \ + lib/ncurses/ncurses lib/ncurses/ncursesw lib/libnssutil \ + lib/libopie lib/libpam lib/libpthread \ lib/libradius lib/libsbuf lib/libtacplus lib/libutil \ ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_secure_lib_libssh} \ ${_secure_lib_libssl} -_generic_libs= gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib +_generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib lib/libopie__L lib/libtacplus__L: lib/libmd__L lib/libutil__L: lib/libnssutil__L +.if ${MK_CDDL} != "no" +_cddl_lib= cddl/lib +.endif + .if ${MK_CRYPT} != "no" .if ${MK_OPENSSL} != "no" _secure_lib_libcrypto= secure/lib/libcrypto ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/periodic.conf#3 (text+ko) ==== @@ -13,7 +13,7 @@ # For a more detailed explanation of all the periodic.conf variables, please # refer to the periodic.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/periodic.conf,v 1.41 2006/08/29 08:49:57 ru Exp $ +# $FreeBSD: src/etc/defaults/periodic.conf,v 1.42 2007/04/06 02:33:06 pjd Exp $ # # What files override these defaults ? @@ -88,6 +88,9 @@ daily_status_disks_enable="YES" # Check disk status daily_status_disks_df_flags="-l -h" # df(1) flags for check +# 404.status-zfs +daily_status_zfs_enable="NO" # Check ZFS + # 405.status-ata_raid daily_status_ata_raid_enable="NO" # Check ATA raid status ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/rc.conf#14 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.304 2007/02/09 12:11:27 flz Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.314 2007/04/10 16:42:13 keramida Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -24,7 +24,7 @@ rc_debug="NO" # Set to YES to enable debugging output from rc.d rc_info="NO" # Enables display of informational messages at boot. rcshutdown_timeout="30" # Seconds to wait before terminating rc.shutdown -early_late_divider="mountcritlocal" # Script that separates early/late +early_late_divider="FILESYSTEMS" # Script that separates early/late # stages of the boot process. Make sure you know # the ramifications if you change this. # See rc.conf(5) for more details. @@ -42,16 +42,19 @@ powerd_flags="" # Flags to powerd (if enabled). tmpmfs="AUTO" # Set to YES to always create an mfs /tmp, NO to never tmpsize="20m" # Size of mfs /tmp if created -tmpmfs_flags="-S -M" # Extra mdmfs options for the mfs /tmp +tmpmfs_flags="-S" # Extra mdmfs options for the mfs /tmp varmfs="AUTO" # Set to YES to always create an mfs /var, NO to never varsize="32m" # Size of mfs /var if created -varmfs_flags="-S -M" # Extra mount options for the mfs /var +varmfs_flags="-S" # Extra mount options for the mfs /var populate_var="AUTO" # Set to YES to always (re)populate /var, NO to never cleanvar_enable="YES" # Clean the /var directory local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs. script_name_sep=" " # Change if your startup scripts' names contain spaces rc_conf_files="/etc/rc.conf /etc/rc.conf.local" +# ZFS support +zfs_enable="NO" # Set to YES to automatically mount ZFS file systems + # Experimental - test before enabling gbde_autoattach_all="NO" # YES automatically mounts gbde devices from fstab gbde_devices="NO" # Devices to automatically attach (list, or AUTO) @@ -90,12 +93,14 @@ ### Basic network and firewall/security options: ### hostname="" # Set this! +hostid_enable="YES" # Set host UUID. +hostid_file="/etc/hostid" # File with hostuuid. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. -dhclient_flags_fxp0="" # Extra dhclient flags for fxp0 only +#dhclient_flags_fxp0="" # Extra dhclient flags for fxp0 only background_dhclient="NO" # Start dhcp client in the background. -background_dhclient_fxp0="" # Start dhcp client on fxp0 in the background. +#background_dhclient_fxp0="YES" # Start dhcp client on fxp0 in the background. synchronous_dhclient="YES" # Start dhclient directly on configured # interfaces during startup. firewall_enable="NO" # Set to YES to enable firewall functionality @@ -151,6 +156,7 @@ pflog_flags="" # additional flags for pflogd pfsync_enable="NO" # Expose pf state to other hosts for syncing pfsync_syncdev="" # Interface for pfsync to work through +pfsync_syncpeer="" # IP address of pfsync peer host pfsync_ifconfig="" # Additional options to ifconfig(8) for pfsync tcp_extensions="YES" # Set to NO to turn off RFC1323 extensions. log_in_vain="0" # >=1 to log connects to ports w/o listeners. @@ -264,7 +270,9 @@ nfs_reserved_port_only="NO" # Provide NFS only on secure port (or NO). nfs_bufpackets="" # bufspace (in packets) for client rpc_lockd_enable="NO" # Run NFS rpc.lockd needed for client/server. +rpc_lockd_flags="" # Flags to rpc.lockd (if enabled). rpc_statd_enable="NO" # Run NFS rpc.statd needed for client/server. +rpc_statd_flags="" # Flags to rpc.statd (if enabled). rpcbind_enable="NO" # Run the portmapper service (YES/NO). rpcbind_program="/usr/sbin/rpcbind" # path to rpcbind, if you want a different one. rpcbind_flags="" # Flags to rpcbind (if enabled). @@ -425,7 +433,7 @@ ipv6_ipfilter_rules="/etc/ipf6.rules" # rules definition file for ipfilter, # see /usr/src/contrib/ipfilter/rules # for examples -ip6addrctl_enable="NO" # Set to YES to enable default address selection +ip6addrctl_enable="YES" # Set to YES to enable default address selection ip6addrctl_verbose="NO" # Set to YES to enable verbose configuration messages ############################################################## ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/devd.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.35 2007/02/15 16:38:10 imp Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.37 2007/04/08 16:05:23 pjd Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -208,6 +208,37 @@ action "logger -p kern.emerg 'WARNING: system temperature too high, shutting down soon!'"; }; +# Sample ZFS problem reports handling. +notify 10 { + match "system" "ZFS"; + match "type" "zpool"; + action "logger -p kern.err 'ZFS: failed to load zpool $pool'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "vdev"; + action "logger -p kern.err 'ZFS: vdev failure, zpool=$pool type=$type'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "data"; + action "logger -p kern.warn 'ZFS: zpool I/O failure, zpool=$pool error=$zio_err'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "io"; + action "logger -p kern.warn 'ZFS: vdev I/O failure, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size error=$zio_err'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "checksum"; + action "logger -p kern.warn 'ZFS: checksum mismatch, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size'"; +}; + /* EXAMPLES TO END OF FILE # The following might be an example of something that a vendor might ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.include.dist#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.110 2006/10/31 22:22:29 pjd Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.112 2007/04/18 10:16:42 trhodes Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -114,6 +114,8 @@ .. mirror .. + multipath + .. nop .. raid3 @@ -207,8 +209,6 @@ .. pccard .. - posix4 - .. protocols .. readline ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.root.dist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.77 2006/05/10 18:53:15 marcus Exp $ +# $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.79 2007/04/08 23:59:39 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -16,6 +16,8 @@ .. modules .. + zfs + .. .. dev mode=0555 .. @@ -62,6 +64,8 @@ .. ssl .. + zfs + .. .. lib geom ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.usr.dist#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.324 2006/12/05 16:57:10 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.326 2007/03/02 14:56:14 flz Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -75,6 +75,12 @@ misc .. .. + legal + intel_ipw + .. + intel_iwi + .. + .. ncurses .. ntp ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/network.subr#7 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.177 2007/02/09 12:11:26 flz Exp $ +# $FreeBSD: src/etc/network.subr,v 1.179 2007/03/29 21:42:19 ache Exp $ # # ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/periodic/daily/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/periodic/daily/Makefile,v 1.14 2006/03/02 14:44:19 brueffer Exp $ +# $FreeBSD: src/etc/periodic/daily/Makefile,v 1.15 2007/04/06 02:33:06 pjd Exp $ FILES= 100.clean-disks \ 110.clean-tmps \ @@ -12,6 +12,7 @@ 310.accounting \ 330.news \ 400.status-disks \ + 404.status-zfs \ 405.status-ata-raid \ 406.status-gmirror \ 407.status-graid3 \ ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc#2 (text+ko) ==== @@ -25,7 +25,7 @@ # SUCH DAMAGE. # # @(#)rc 5.27 (Berkeley) 6/5/91 -# $FreeBSD: src/etc/rc,v 1.339 2006/02/20 21:54:30 dougb Exp $ +# $FreeBSD: src/etc/rc,v 1.340 2007/04/02 22:53:06 des Exp $ # # System startup script run by init on autoboot @@ -75,7 +75,7 @@ skip="-s nostart" if [ `/sbin/sysctl -n security.jail.jailed` -eq 1 ]; then skip="$skip -s nojail" - if [ "$early_late_divider" = "mountcritlocal" ]; then + if [ "$early_late_divider" = "FILESYSTEMS" ]; then early_late_divider=NETWORKING fi fi ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/Makefile#7 (text+ko) ==== @@ -1,9 +1,9 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.78 2006/10/15 14:19:06 ceri Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.81 2007/04/09 19:21:27 pjd Exp $ .include -FILES= DAEMON LOGIN NETWORKING SERVERS \ +FILES= DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \ abi accounting addswap adjkerntz amd \ apm apmd archdep atm1 atm2 atm3 auditd auto_linklocal \ bgfsck bluetooth bootparams bridge bsnmpd bthidd \ @@ -14,7 +14,7 @@ fsck ftpd \ gbde geli geli2 \ hcsecd \ - hostapd hostname \ + hostapd hostid hostname \ idmapd inetd initrandom \ ip6addrctl ip6fw ipfilter ipfs ipfw ipmon \ ipnat ipsec ipxrouted isdnd \ @@ -40,7 +40,8 @@ var virecover \ watchdogd wpa_supplicant \ ypbind yppasswdd ypserv \ - ypset ypupdated ypxfrd + ypset ypupdated ypxfrd \ + zfs .if ${MK_OPENSSH} != "no" FILES+= sshd ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/NETWORKING#2 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # # $NetBSD: NETWORKING,v 1.2 2002/03/22 04:33:57 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/NETWORKING,v 1.11 2005/12/03 01:33:06 brooks Exp $ +# $FreeBSD: src/etc/rc.d/NETWORKING,v 1.12 2007/04/09 10:09:40 des Exp $ # # PROVIDE: NETWORKING NETWORK -# REQUIRE: netif routing network_ipv6 isdnd ppp +# REQUIRE: netif netoptions routing network_ipv6 isdnd ppp # REQUIRE: routed mrouted route6d mroute6d # This is a dummy dependency, for services which require networking ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/addswap#2 (text+ko) ==== @@ -2,11 +2,11 @@ # # Add additional swap files # -# $FreeBSD: src/etc/rc.d/addswap,v 1.6 2006/01/17 19:29:31 philip Exp $ +# $FreeBSD: src/etc/rc.d/addswap,v 1.7 2007/04/02 22:53:07 des Exp $ # # PROVIDE: addswap -# REQUIRE: mountcritlocal +# REQUIRE: FILESYSTEMS # BEFORE: sysctl # KEYWORD: nojail ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/adjkerntz#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/adjkerntz,v 1.5 2004/10/07 13:55:25 mtm Exp $ +# $FreeBSD: src/etc/rc.d/adjkerntz,v 1.6 2007/04/02 22:53:07 des Exp $ # # PROVIDE: adjkerntz -# REQUIRE: mountcritlocal random +# REQUIRE: FILESYSTEMS random # BEFORE: netif # KEYWORD: nojail ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/bgfsck#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/bgfsck,v 1.7 2005/07/22 00:57:37 obrien Exp $ +# $FreeBSD: src/etc/rc.d/bgfsck,v 1.8 2007/03/11 06:53:06 brooks Exp $ # # PROVIDE: bgfsck @@ -16,11 +16,23 @@ bgfsck_start () { + if [ -z "${rc_force}" ]; then + background_fsck_delay=${background_fsck_delay:=0} + else + background_fsck_delay=0 + fi + if [ ${background_fsck_delay} -lt 0 ]; then + echo "Background file system checks delayed indefinitly" + return 0 + fi + bgfsck_msg='Starting background file system checks' - if [ ${background_fsck_delay:=0} -gt 0 ]; then + if [ "${background_fsck_delay}" -gt 0 ]; then bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" fi - echo "${bgfsck_msg}." + if [ -z "${rc_force}" ]; then + echo "${bgfsck_msg}." + fi (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \ logger -p daemon.notice -t fsck & ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/bootconf.sh#3 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # # $NetBSD: bootconf.sh,v 1.5 2002/03/25 03:22:10 wiz Exp $ -# $FreeBSD: src/etc/rc.d/bootconf.sh,v 1.5 2006/12/30 22:53:20 yar Exp $ +# $FreeBSD: src/etc/rc.d/bootconf.sh,v 1.6 2007/04/02 22:53:07 des Exp $ # # PROVIDE: bootconf -# REQUIRE: mountcritlocal +# REQUIRE: FILESYSTEMS bootconf_start() { ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/cleanvar#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/cleanvar,v 1.11 2005/12/19 10:57:00 dougb Exp $ +# $FreeBSD: src/etc/rc.d/cleanvar,v 1.12 2007/04/02 22:53:07 des Exp $ # # PROVIDE: cleanvar -# REQUIRE: mountcritlocal var +# REQUIRE: FILESYSTEMS var . /etc/rc.subr ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/dhclient#7 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/dhclient,v 1.26 2007/02/15 06:51:31 yar Exp $ +# $FreeBSD: src/etc/rc.d/dhclient,v 1.28 2007/03/25 19:45:20 mtm Exp $ # # PROVIDE: dhclient @@ -28,17 +28,13 @@ fi # Override for $ifn specific flags (see rc.subr for $flags setting) - eval specific=\$dhclient_flags_$ifn + specific=`get_if_var $ifn dhclient_flags_IF` if [ -z "$flags" -a -n "$specific" ]; then rc_flags=$specific fi - eval specific=\$background_dhclient_$ifn - if [ -n "$specific" ]; then - if checkyesno background_dhclient_$ifn; then - rc_flags="${rc_flags} -b" - fi - elif checkyesno background_dhclient; then + background_dhclient=`get_if_var $ifn background_dhclient_IF $background_dhclient` + if checkyesno background_dhclient; then rc_flags="${rc_flags} -b" fi ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.d/geli2#2 (text+ko) ==== @@ -24,11 +24,11 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/geli2,v 1.1 2005/08/14 18:02:21 pjd Exp $ +# $FreeBSD: src/etc/rc.d/geli2,v 1.2 2007/04/02 22:53:07 des Exp $ # # PROVIDE: geli2 -# REQUIRE: mountcritlocal >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 2 15:06:30 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 21BFC16A403; Wed, 2 May 2007 15:06:30 +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 EC30916A400 for ; Wed, 2 May 2007 15:06:29 +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 DBDDA13C4B7 for ; Wed, 2 May 2007 15:06:29 +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 l42F6Tft030684 for ; Wed, 2 May 2007 15:06:29 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42F6SNJ030681 for perforce@freebsd.org; Wed, 2 May 2007 15:06:28 GMT (envelope-from jhb@freebsd.org) Date: Wed, 2 May 2007 15:06:28 GMT Message-Id: <200705021506.l42F6SNJ030681@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 119160 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, 02 May 2007 15:06:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=119160 Change 119160 by jhb@jhb_mutex on 2007/05/02 15:06:19 IFC @119149. Affected files ... .. //depot/projects/smpng/sys/cam/cam_xpt.c#44 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#45 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#59 integrate .. //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_vfs.c#3 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#2 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#33 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#93 integrate .. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#54 integrate .. //depot/projects/smpng/sys/dev/ciss/ciss.c#52 integrate .. //depot/projects/smpng/sys/dev/ciss/cissvar.h#10 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.c#41 integrate .. //depot/projects/smpng/sys/dev/firewire/firewirereg.h#21 integrate .. //depot/projects/smpng/sys/dev/firewire/fwdev.c#25 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohci.c#38 integrate .. //depot/projects/smpng/sys/dev/firewire/fwohcireg.h#19 integrate .. //depot/projects/smpng/sys/dev/firewire/if_fwip.c#11 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#43 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp_targ.c#10 integrate .. //depot/projects/smpng/sys/dev/hme/if_hme.c#34 integrate .. //depot/projects/smpng/sys/dev/mii/brgphy.c#42 integrate .. //depot/projects/smpng/sys/dev/mii/mii.c#17 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#16 integrate .. //depot/projects/smpng/sys/dev/stge/if_stge.c#7 integrate .. //depot/projects/smpng/sys/dev/stge/if_stgereg.h#2 integrate .. //depot/projects/smpng/sys/dev/uart/uart_kbd_sun.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/if_axe.c#30 integrate .. //depot/projects/smpng/sys/dev/usb/if_axereg.h#9 integrate .. //depot/projects/smpng/sys/dev/usb/uftdi.c#19 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#104 integrate .. //depot/projects/smpng/sys/fs/procfs/procfs_ioctl.c#17 integrate .. //depot/projects/smpng/sys/geom/part/g_part.c#2 integrate .. //depot/projects/smpng/sys/kern/subr_rman.c#35 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#50 integrate .. //depot/projects/smpng/sys/net/ieee8023ad_lacp.c#3 integrate .. //depot/projects/smpng/sys/net/if.h#33 integrate .. //depot/projects/smpng/sys/net/if_lagg.c#2 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#74 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.h#46 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#53 integrate .. //depot/projects/smpng/sys/netinet/libalias/alias_proxy.c#6 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#65 integrate .. //depot/projects/smpng/sys/netinet/sctp.h#4 integrate .. //depot/projects/smpng/sys/netinet/sctp_auth.c#7 integrate .. //depot/projects/smpng/sys/netinet/sctp_bsd_addr.c#5 integrate .. //depot/projects/smpng/sys/netinet/sctp_constants.h#10 integrate .. //depot/projects/smpng/sys/netinet/sctp_header.h#3 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.c#11 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.h#4 integrate .. //depot/projects/smpng/sys/netinet/sctp_input.c#11 integrate .. //depot/projects/smpng/sys/netinet/sctp_os_bsd.h#9 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.c#11 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.h#5 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.c#10 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.h#9 integrate .. //depot/projects/smpng/sys/netinet/sctp_peeloff.c#7 integrate .. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#11 integrate .. //depot/projects/smpng/sys/netinet/sctputil.c#12 integrate .. //depot/projects/smpng/sys/netinet/sctputil.h#8 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#92 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#61 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#76 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.c#48 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#30 integrate .. //depot/projects/smpng/sys/netinet6/sctp6_usrreq.c#10 integrate .. //depot/projects/smpng/sys/security/audit/audit_ioctl.h#4 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#85 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/upa.c#7 integrate .. //depot/projects/smpng/sys/sys/ioctl_compat.h#6 integrate .. //depot/projects/smpng/sys/sys/param.h#116 integrate Differences ... ==== //depot/projects/smpng/sys/cam/cam_xpt.c#44 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.182 2007/04/19 23:34:51 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.183 2007/04/27 14:23:05 scottl Exp $"); #include #include @@ -7017,10 +7017,12 @@ } } - task = malloc(sizeof(struct xpt_task), M_CAMXPT, M_NOWAIT); - if (task != NULL) { - TASK_INIT(&task->task, 0, xpt_finishconfig_task, task); - taskqueue_enqueue(taskqueue_thread, &task->task); + if (busses_to_config == 0) { + task = malloc(sizeof(struct xpt_task), M_CAMXPT, M_NOWAIT); + if (task != NULL) { + TASK_INIT(&task->task, 0, xpt_finishconfig_task, task); + taskqueue_enqueue(taskqueue_thread, &task->task); + } } if (done_ccb != NULL) ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#45 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.62 2006/12/20 19:36:03 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.63 2007/05/01 17:10:01 alc Exp $"); #include "opt_compat.h" @@ -407,7 +407,6 @@ start = addr; end = addr + len; - mtx_lock(&Giant); if (start != trunc_page(start)) { error = freebsd32_mmap_partial(td, start, round_page(start), prot, @@ -438,14 +437,11 @@ prot |= VM_PROT_WRITE; map = &td->td_proc->p_vmspace->vm_map; rv = vm_map_remove(map, start, end); - if (rv != KERN_SUCCESS) { - mtx_unlock(&Giant); + if (rv != KERN_SUCCESS) return (EINVAL); - } rv = vm_map_find(map, 0, 0, &start, end - start, FALSE, prot, VM_PROT_ALL, 0); - mtx_unlock(&Giant); if (rv != KERN_SUCCESS) return (EINVAL); r.fd = fd; @@ -459,7 +455,6 @@ td->td_retval[0] = addr; return (0); } - mtx_unlock(&Giant); if (end == start) { /* * After dealing with the ragged ends, there ==== //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#59 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.111 2007/04/22 08:41:52 des Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.112 2007/05/01 03:09:57 alc Exp $"); #include #include @@ -860,12 +860,14 @@ { char mebuffer[512]; vm_map_t map = &p->p_vmspace->vm_map; - vm_map_entry_t entry; + vm_map_entry_t entry, tmp_entry; vm_object_t obj, tobj, lobj; + vm_offset_t saved_end; vm_ooffset_t off = 0; char *name = "", *freename = NULL; size_t len; ino_t ino; + unsigned int last_timestamp; int ref_count, shadow_count, flags; int error; struct vnode *vp; @@ -885,8 +887,7 @@ return (0); error = 0; - if (map != &curthread->td_proc->p_vmspace->vm_map) - vm_map_lock_read(map); + vm_map_lock_read(map); for (entry = map->header.next; ((uio->uio_resid > 0) && (entry != &map->header)); entry = entry->next) { @@ -894,12 +895,16 @@ freename = NULL; if (entry->eflags & MAP_ENTRY_IS_SUB_MAP) continue; + saved_end = entry->end; obj = entry->object.vm_object; - for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) + for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) { + VM_OBJECT_LOCK(tobj); + if (lobj != obj) + VM_OBJECT_UNLOCK(lobj); lobj = tobj; + } ino = 0; if (lobj) { - VM_OBJECT_LOCK(lobj); off = IDX_TO_OFF(lobj->size); if (lobj->type == OBJT_VNODE) { vp = lobj->handle; @@ -908,10 +913,12 @@ } else vp = NULL; + if (lobj != obj) + VM_OBJECT_UNLOCK(lobj); flags = obj->flags; ref_count = obj->ref_count; shadow_count = obj->shadow_count; - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_UNLOCK(obj); if (vp) { vn_fullpath(td, vp, &name, &freename); locked = VFS_LOCK_GIANT(vp->v_mount); @@ -953,12 +960,23 @@ * XXX We should probably return * EFBIG here, as in procfs. */ + last_timestamp = map->timestamp; + vm_map_unlock_read(map); error = uiomove(mebuffer, len, uio); + vm_map_lock_read(map); if (error) break; + if (last_timestamp + 1 != map->timestamp) { + /* + * Look again for the entry because the map was + * modified while it was unlocked. Specifically, + * the entry may have been clipped, merged, or deleted. + */ + vm_map_lookup_entry(map, saved_end - 1, &tmp_entry); + entry = tmp_entry; + } } - if (map != &curthread->td_proc->p_vmspace->vm_map) - vm_map_unlock_read(map); + vm_map_unlock_read(map); return (error); } ==== //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_kobj.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.2 2007/04/08 23:57:08 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.3 2007/05/02 01:03:10 pjd Exp $"); #include #include @@ -123,7 +123,7 @@ struct vattr va; int error; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); error = VOP_GETATTR(vp, &va, td->td_ucred, td); VOP_UNLOCK(vp, 0, td); if (error == 0) @@ -176,7 +176,7 @@ auio.uio_resid = size; auio.uio_td = td; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); error = VOP_READ(vp, &auio, IO_UNIT | IO_SYNC, td->td_ucred); VOP_UNLOCK(vp, 0, td); return (error != 0 ? -1 : size - auio.uio_resid); ==== //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_vfs.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.4 2007/04/21 12:02:57 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.5 2007/05/02 01:03:10 pjd Exp $"); #include #include @@ -187,7 +187,7 @@ /* * Allocate and initialize the filesystem. */ - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); mp = vfs_mount_alloc(vp, vfsp, fspath, td); VOP_UNLOCK(vp, 0, td); ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/gfs.c#2 (text+ko) ==== @@ -197,6 +197,7 @@ st->grd_dirent->d_reclen = (ushort_t)reclen; st->grd_dirent->d_namlen = namlen; + /* TODO: d_type */ if (uiomove((caddr_t)st->grd_dirent, reclen, UIO_READ, uiop)) return (EFAULT); @@ -231,6 +232,7 @@ st->grd_dirent->d_ino = ino; (void) strncpy(st->grd_dirent->d_name, name, st->grd_namlen); + /* TODO: d_type */ /* * Inter-entry offsets are invalid, so we assume a record size of ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#2 (text+ko) ==== @@ -65,7 +65,7 @@ auio.uio_iov = &aiov; auio.uio_iovcnt = 1; auio.uio_resid = len; - auio.uio_segflg = UIO_SYSSPACE; + auio.uio_segflg = UIO_SYSSPACE; auio.uio_rw = UIO_WRITE; auio.uio_offset = (off_t)-1; auio.uio_td = ba->td; @@ -473,7 +473,7 @@ auio.uio_iov = &aiov; auio.uio_iovcnt = 1; auio.uio_resid = len; - auio.uio_segflg = UIO_SYSSPACE; + auio.uio_segflg = UIO_SYSSPACE; auio.uio_rw = UIO_READ; auio.uio_offset = off; auio.uio_td = ra->td; ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 (text+ko) ==== @@ -84,13 +84,13 @@ ZFS_LOG(1, "Closing access to %s.", cp->provider->name); g_access(cp, -cp->acr, -cp->acw, -cp->ace); + ZFS_LOG(1, "Destroyed consumer to %s.", cp->provider->name); g_detach(cp); - ZFS_LOG(1, "Destroyed consumer to %s.", cp->provider->name); g_destroy_consumer(cp); /* Destroy geom if there are no consumers left. */ if (LIST_EMPTY(&gp->consumer)) { ZFS_LOG(1, "Destroyed geom %s.", gp->name); - g_wither_geom(cp->geom, error); + g_wither_geom(gp, error); } vdev_geom_release(vd); /* Both methods below work, but in a bit different way. */ ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 (text+ko) ==== @@ -605,30 +605,30 @@ static int zfsctl_snapdir_remove(vnode_t *dvp, char *name, vnode_t *cwd, cred_t *cr) { - zfsctl_snapdir_t *sdp = dvp->v_data; - char snapname[MAXNAMELEN]; - int err; + zfsctl_snapdir_t *sdp = dvp->v_data; + char snapname[MAXNAMELEN]; + int err; - err = zfsctl_snapshot_zname(dvp, name, MAXNAMELEN, snapname); - if (err) - return (err); - err = zfs_secpolicy_write(snapname, cr); - if (err) - return (err); + err = zfsctl_snapshot_zname(dvp, name, MAXNAMELEN, snapname); + if (err) + return (err); + err = zfs_secpolicy_write(snapname, cr); + if (err) + return (err); - mutex_enter(&sdp->sd_lock); + mutex_enter(&sdp->sd_lock); - err = zfsctl_unmount_snap(dvp, name, 0, cr); - if (err) { - mutex_exit(&sdp->sd_lock); - return (err); - } + err = zfsctl_unmount_snap(dvp, name, 0, cr); + if (err) { + mutex_exit(&sdp->sd_lock); + return (err); + } - err = dmu_objset_destroy(snapname); + err = dmu_objset_destroy(snapname); - mutex_exit(&sdp->sd_lock); + mutex_exit(&sdp->sd_lock); - return (err); + return (err); } #endif @@ -934,7 +934,7 @@ return (ENOENT); err = traverse(vpp); if (err == 0) - vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(*vpp, LK_SHARED | LK_RETRY, td); return (err); } ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 (text+ko) ==== @@ -598,7 +598,7 @@ static int zfs_statfs(vfs_t *vfsp, struct statfs *statp, kthread_t *td) -{ +{ zfsvfs_t *zfsvfs = vfsp->vfs_data; uint64_t refdbytes, availbytes, usedobjs, availobjs; @@ -666,7 +666,7 @@ error = zfs_zget(zfsvfs, zfsvfs->z_root, &rootzp); if (error == 0) { *vpp = ZTOV(rootzp); - error = vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, td); + error = vn_lock(*vpp, flags, td); (*vpp)->v_vflag |= VV_ROOT; } @@ -691,7 +691,7 @@ * Unmount any snapshots mounted under .zfs before unmounting the * dataset itself. */ - if (zfsvfs->z_ctldir != NULL) { + if (zfsvfs->z_ctldir != NULL) { if ((ret = zfsctl_umount_snapshots(vfsp, fflag, cr)) != 0) return (ret); ret = vflush(vfsp, 0, 0, td); @@ -766,7 +766,7 @@ *vpp = NULL; else { *vpp = ZTOV(zp); - vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, curthread); + vn_lock(*vpp, flags, curthread); } ZFS_EXIT(zfsvfs); return (0); @@ -832,6 +832,7 @@ VN_HOLD(*vpp); } ZFS_EXIT(zfsvfs); + /* XXX: LK_RETRY? */ vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, td); return (0); } @@ -854,6 +855,7 @@ } *vpp = ZTOV(zp); + /* XXX: LK_RETRY? */ vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, td); vnode_create_vobject(*vpp, zp->z_phys->zp_size, td); ZFS_EXIT(zfsvfs); ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 (text+ko) ==== @@ -23,6 +23,8 @@ * Use is subject to license terms. */ +/* Portions Copyright 2007 Jeremy Teo */ + #pragma ident "%Z%%M% %I% %E% SMI" #include @@ -327,6 +329,15 @@ va = (caddr_t)sf_buf_kva(sf); woff = uio->uio_loffset - off; error = uiomove(va + off, bytes, UIO_WRITE, uio); + /* + * The uiomove() above could have been partially + * successful, that's why we call dmu_write() + * below unconditionally. The page was marked + * non-dirty above and we would lose the changes + * without doing so. If the uiomove() failed + * entirely, well, we just write what we got + * before one more time. + */ dmu_write(os, zp->z_id, woff, MIN(PAGESIZE, fsize - woff), va, tx); sf_buf_free(sf); @@ -999,7 +1010,7 @@ /* ARGSUSED */ static int zfs_lookup(vnode_t *dvp, char *nm, vnode_t **vpp, struct componentname *cnp, - int nameiop, cred_t *cr, kthread_t *td) + int nameiop, cred_t *cr, kthread_t *td) { znode_t *zdp = VTOZ(dvp); @@ -1098,11 +1109,20 @@ } } if (error == 0 && (nm[0] != '.' || nm[1] != '\0')) { - if (cnp->cn_flags & ISDOTDOT) + int ltype = 0; + + if (cnp->cn_flags & ISDOTDOT) { + ltype = VOP_ISLOCKED(dvp, td); VOP_UNLOCK(dvp, 0, td); - vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, td); + } + error = vn_lock(*vpp, cnp->cn_lkflags, td); if (cnp->cn_flags & ISDOTDOT) - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dvp, ltype | LK_RETRY, td); + if (error != 0) { + VN_RELE(*vpp); + *vpp = NULL; + return (error); + } } #ifdef FREEBSD_NAMECACHE @@ -1111,9 +1131,9 @@ */ if (error == ENOENT && (cnp->cn_flags & MAKEENTRY) && nameiop != CREATE) cache_enter(dvp, *vpp, cnp); - /* - * Insert name into cache if appropriate. - */ + /* + * Insert name into cache if appropriate. + */ if (error == 0 && (cnp->cn_flags & MAKEENTRY)) { if (!(cnp->cn_flags & ISLASTCN) || (nameiop != DELETE && nameiop != RENAME)) { @@ -1266,7 +1286,6 @@ * Truncate regular files if requested. */ if ((ZTOV(zp)->v_type == VREG) && - (zp->z_phys->zp_size != 0) && (vap->va_mask & AT_SIZE) && (vap->va_size == 0)) { error = zfs_freesp(zp, 0, 0, mode, TRUE); if (error == ERESTART && @@ -1794,13 +1813,13 @@ odp = (struct dirent64 *)iovp->iov_base; } - if (ncookies != NULL) { + if (ncookies != NULL) { /* * Minimum entry size is dirent size and 1 byte for a file name. */ ncooks = uio->uio_resid / (sizeof(struct dirent) - sizeof(((struct dirent *)NULL)->d_name) + 1); cooks = malloc(ncooks * sizeof(u_long), M_TEMP, M_WAITOK); - *cookies = cooks; + *cookies = cooks; *ncookies = ncooks; } @@ -1818,12 +1837,15 @@ if (offset == 0) { (void) strcpy(zap.za_name, "."); objnum = zp->z_id; + type = DT_DIR; } else if (offset == 1) { (void) strcpy(zap.za_name, ".."); objnum = zp->z_phys->zp_parent; + type = DT_DIR; } else if (offset == 2 && zfs_show_ctldir(zp)) { (void) strcpy(zap.za_name, ZFS_CTLDIR_NAME); objnum = ZFSCTL_INO_ROOT; + type = DT_DIR; } else { /* * Grab next entry. @@ -1929,7 +1951,7 @@ uio->uio_loffset = offset; ZFS_EXIT(zfsvfs); - if (error != 0) { + if (error != 0 && cookies != NULL) { free(*cookies, M_TEMP); *cookies = NULL; *ncookies = 0; @@ -3422,10 +3444,10 @@ static int zfs_freebsd_inactive(ap) - struct vop_inactive_args /* { - struct vnode *a_vp; - struct thread *a_td; - } */ *ap; + struct vop_inactive_args /* { + struct vnode *a_vp; + struct thread *a_td; + } */ *ap; { vnode_t *vp = ap->a_vp; @@ -3440,7 +3462,7 @@ struct thread *a_td; } */ *ap; { - vnode_t *vp = ap->a_vp; + vnode_t *vp = ap->a_vp; znode_t *zp = VTOZ(vp); zfsvfs_t *zfsvfs; int rele = 1; @@ -3561,7 +3583,7 @@ .vop_fid = zfs_freebsd_fid, }; -struct vop_vector zfs_fifoops = { +struct vop_vector zfs_fifoops = { .vop_default = &fifo_specops, .vop_fsync = VOP_PANIC, .vop_access = zfs_freebsd_access, ==== //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 (text+ko) ==== @@ -23,6 +23,8 @@ * Use is subject to license terms. */ +/* Portions Copyright 2007 Jeremy Teo */ + #pragma ident "%Z%%M% %I% %E% SMI" #ifdef _KERNEL @@ -104,14 +106,18 @@ zfs_znode_cache_constructor(void *buf, void *cdrarg, int kmflags) { znode_t *zp = buf; + vnode_t *vp; vfs_t *vfsp = cdrarg; int error; if (cdrarg != NULL) { - error = getnewvnode("zfs", vfsp, &zfs_vnodeops, &zp->z_vnode); + error = getnewvnode("zfs", vfsp, &zfs_vnodeops, &vp); ASSERT(error == 0); - zp->z_vnode->v_data = (caddr_t)zp; - vhold(zp->z_vnode); + zp->z_vnode = vp; + vp->v_data = (caddr_t)zp; + vhold(vp); + vp->v_vnlock->lk_flags |= LK_CANRECURSE; + vp->v_vnlock->lk_flags &= ~LK_NOSHARE; } else { zp->z_vnode = NULL; } @@ -596,6 +602,8 @@ vp = ZTOV(zp); vp->v_data = (caddr_t)zp; vhold(vp); + vp->v_vnlock->lk_flags |= LK_CANRECURSE; + vp->v_vnlock->lk_flags &= ~LK_NOSHARE; vp->v_type = IFTOVT((mode_t)zp->z_phys->zp_mode); if (vp->v_type == VDIR) zp->z_zn_prefetch = B_TRUE; /* z_prefetch default is enabled */ @@ -830,7 +838,7 @@ * Nothing to do if file already at desired length. */ size = zp->z_phys->zp_size; - if (len == 0 && size == off) { + if (len == 0 && size == off && off != 0) { zfs_range_unlock(rl); return (0); } ==== //depot/projects/smpng/sys/dev/ata/atapi-cam.c#33 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.51 2007/04/15 08:49:14 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.53 2007/04/30 09:33:57 thomas Exp $"); #include #include @@ -516,10 +516,10 @@ switch (ccb_h->flags & CAM_DIR_MASK) { case CAM_DIR_IN: - request_flags |= ATA_R_READ|ATA_R_DMA; + request_flags |= ATA_R_READ; break; case CAM_DIR_OUT: - request_flags |= ATA_R_WRITE|ATA_R_DMA; + request_flags |= ATA_R_WRITE; break; case CAM_DIR_NONE: /* No flags need to be set */ @@ -528,8 +528,6 @@ device_printf(softc->dev, "unknown IO operation\n"); goto action_invalid; } - if (softc->atadev[tid]->mode < ATA_DMA) - request_flags &= ~ATA_R_DMA; if ((hcb = allocate_hcb(softc, unit, bus, ccb)) == NULL) { printf("cannot allocate ATAPI/CAM hcb\n"); @@ -594,7 +592,24 @@ request->u.atapi.ccb[3] = request->u.atapi.ccb[1] & 0x1f; request->u.atapi.ccb[2] = 0; request->u.atapi.ccb[1] = 0; + /* FALLTHROUGH */ + + case READ_10: + /* FALLTHROUGH */ + case WRITE_10: + /* FALLTHROUGH */ + case READ_12: + /* FALLTHROUGH */ + case WRITE_12: + /* + * Enable DMA (if target supports it) for READ and WRITE commands + * only, as some combinations of drive, controller and chipset do + * not behave correctly when DMA is enabled for other commands. + */ + if (softc->atadev[tid]->mode >= ATA_DMA) + request_flags |= ATA_R_DMA; break; + } if ((ccb_h->flags & CAM_DIR_MASK) == CAM_DIR_IN && (len & 1)) { @@ -616,7 +631,7 @@ /* * no retries are to be performed at the ATA level; any retries - * will be done by CAM . + * will be done by CAM. */ request->retries = 0; @@ -729,7 +744,7 @@ * issued a REQUEST SENSE automatically and that operation * returned without error. */ - if (request->u.atapi.saved_cmd != 0 && request->error == 0) { + if (request->u.atapi.sense.key != 0 && request->error == 0) { bcopy (&request->u.atapi.sense, &csio->sense_data, sizeof(struct atapi_sense)); csio->ccb_h.status |= CAM_AUTOSNS_VALID; } ==== //depot/projects/smpng/sys/dev/bge/if_bge.c#93 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.187 2007/04/02 19:09:06 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.189 2007/05/01 19:18:12 jkim Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -106,6 +106,13 @@ #include "miidevs.h" #include +#ifdef __sparc64__ +#include +#include +#include +#include +#endif + #include #include @@ -348,6 +355,7 @@ static int bge_chipinit(struct bge_softc *); static int bge_blockinit(struct bge_softc *); +static int bge_has_eeprom(struct bge_softc *); static uint32_t bge_readmem_ind(struct bge_softc *, int); static void bge_writemem_ind(struct bge_softc *, int, int); #ifdef notdef @@ -428,6 +436,50 @@ SYSCTL_INT(_hw_bge, OID_AUTO, allow_asf, CTLFLAG_RD, &bge_allow_asf, 0, "Allow ASF mode if available"); +#define SPARC64_BLADE_1500_MODEL "SUNW,Sun-Blade-1500" +#define SPARC64_BLADE_1500_PATH_BGE "/pci@1f,700000/network@2" +#define SPARC64_BLADE_2500_MODEL "SUNW,Sun-Blade-2500" +#define SPARC64_BLADE_2500_PATH_BGE "/pci@1c,600000/network@3" +#define SPARC64_OFW_SUBVENDOR "subsystem-vendor-id" + +static int +bge_has_eeprom(struct bge_softc *sc) +{ +#ifdef __sparc64__ + char buf[sizeof(SPARC64_BLADE_1500_PATH_BGE)]; + device_t dev; + uint32_t subvendor; + + dev = sc->bge_dev; + + /* + * The on-board BGEs found in sun4u machines aren't fitted with + * an EEPROM which means that we have to obtain the MAC address + * via OFW and that some tests will always fail. We distinguish + * such BGEs by the subvendor ID, which also has to be obtained + * from OFW instead of the PCI configuration space as the latter + * indicates Broadcom as the subvendor of the netboot interface. + * For early Blade 1500 and 2500 we even have to check the OFW + * device path as the subvendor ID always defaults to Broadcom + * there. + */ + if (OF_getprop(ofw_bus_get_node(dev), SPARC64_OFW_SUBVENDOR, + &subvendor, sizeof(subvendor)) == sizeof(subvendor) && + subvendor == SUN_VENDORID) + return (0); + memset(buf, 0, sizeof(buf)); + if (OF_package_to_path(ofw_bus_get_node(dev), buf, sizeof(buf)) > 0) { + if (strcmp(sparc64_model, SPARC64_BLADE_1500_MODEL) == 0 && + strcmp(buf, SPARC64_BLADE_1500_PATH_BGE) == 0) + return (0); + if (strcmp(sparc64_model, SPARC64_BLADE_2500_MODEL) == 0 && + strcmp(buf, SPARC64_BLADE_2500_PATH_BGE) == 0) + return (0); + } +#endif + return (1); +} + static uint32_t bge_readmem_ind(struct bge_softc *sc, int off) { @@ -1100,9 +1152,12 @@ /* * Check the 'ROM failed' bit on the RX CPU to see if - * self-tests passed. + * self-tests passed. Skip this check when there's no + * EEPROM fitted, since in that case it will always + * fail. */ - if (CSR_READ_4(sc, BGE_RXCPU_MODE) & BGE_RXCPUMODE_ROMFAIL) { + if ((sc->bge_flags & BGE_FLAG_EEPROM) && + CSR_READ_4(sc, BGE_RXCPU_MODE) & BGE_RXCPUMODE_ROMFAIL) { device_printf(sc->bge_dev, "RX CPU self-diagnostics failed!\n"); return (ENODEV); } @@ -2171,8 +2226,8 @@ struct bge_softc *sc; uint32_t hwcfg = 0; uint32_t mac_tmp = 0; - u_char eaddr[6]; - int error = 0, rid, trys, reg; + u_char eaddr[ETHER_ADDR_LEN]; + int error, reg, rid, trys; sc = device_get_softc(dev); sc->bge_dev = dev; @@ -2203,6 +2258,9 @@ sc->bge_asicrev = BGE_ASICREV(sc->bge_chipid); sc->bge_chiprev = BGE_CHIPREV(sc->bge_chipid); + if (bge_has_eeprom(sc)) + sc->bge_flags |= BGE_FLAG_EEPROM; + /* Save chipset family. */ switch (sc->bge_asicrev) { case BGE_ASICREV_BCM5700: @@ -2248,7 +2306,7 @@ /* * Check if this is a PCI-X or PCI Express device. */ -#if __FreeBSD_version > 700010 +#if __FreeBSD_version > 602101 if (pci_find_extcap(dev, PCIY_EXPRESS, ®) == 0) { /* * Found a PCI Express capabilities register, this @@ -2316,7 +2374,6 @@ /* Try to reset the chip. */ if (bge_reset(sc)) { device_printf(sc->bge_dev, "chip reset failed\n"); - bge_release_resources(sc); error = ENXIO; goto fail; } @@ -2339,7 +2396,6 @@ bge_sig_pre_reset(sc, BGE_RESET_STOP); if (bge_reset(sc)) { device_printf(sc->bge_dev, "chip reset failed\n"); - bge_release_resources(sc); error = ENXIO; goto fail; } @@ -2349,29 +2405,32 @@ if (bge_chipinit(sc)) { device_printf(sc->bge_dev, "chip initialization failed\n"); - bge_release_resources(sc); error = ENXIO; goto fail; } - /* - * Get station address from the EEPROM. - */ - mac_tmp = bge_readmem_ind(sc, 0x0C14); - if ((mac_tmp >> 16) == 0x484B) { - eaddr[0] = (u_char)(mac_tmp >> 8); - eaddr[1] = (u_char)mac_tmp; - mac_tmp = bge_readmem_ind(sc, 0x0C18); - eaddr[2] = (u_char)(mac_tmp >> 24); - eaddr[3] = (u_char)(mac_tmp >> 16); - eaddr[4] = (u_char)(mac_tmp >> 8); - eaddr[5] = (u_char)mac_tmp; - } else if (bge_read_eeprom(sc, eaddr, - BGE_EE_MAC_OFFSET + 2, ETHER_ADDR_LEN)) { - device_printf(sc->bge_dev, "failed to read station address\n"); - bge_release_resources(sc); - error = ENXIO; - goto fail; +#ifdef __sparc64__ + if ((sc->bge_flags & BGE_FLAG_EEPROM) == 0) + OF_getetheraddr(dev, eaddr); + else +#endif + { + mac_tmp = bge_readmem_ind(sc, 0x0C14); + if ((mac_tmp >> 16) == 0x484B) { + eaddr[0] = (u_char)(mac_tmp >> 8); + eaddr[1] = (u_char)mac_tmp; + mac_tmp = bge_readmem_ind(sc, 0x0C18); + eaddr[2] = (u_char)(mac_tmp >> 24); + eaddr[3] = (u_char)(mac_tmp >> 16); + eaddr[4] = (u_char)(mac_tmp >> 8); + eaddr[5] = (u_char)mac_tmp; + } else if (bge_read_eeprom(sc, eaddr, + BGE_EE_MAC_OFFSET + 2, ETHER_ADDR_LEN)) { + device_printf(sc->bge_dev, + "failed to read station address\n"); + error = ENXIO; + goto fail; + } } /* 5705 limits RX return ring to 512 entries. */ @@ -2383,7 +2442,6 @@ if (bge_dma_alloc(dev)) { device_printf(sc->bge_dev, "failed to allocate DMA resources\n"); - bge_release_resources(sc); error = ENXIO; goto fail; } @@ -2399,7 +2457,6 @@ ifp = sc->bge_ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { device_printf(sc->bge_dev, "failed to if_alloc()\n"); - bge_release_resources(sc); error = ENXIO; goto fail; } @@ -2445,11 +2502,10 @@ */ if (bge_readmem_ind(sc, BGE_SOFTWARE_GENCOMM_SIG) == BGE_MAGIC_NUMBER) hwcfg = bge_readmem_ind(sc, BGE_SOFTWARE_GENCOMM_NICCFG); - else { + else if (sc->bge_flags & BGE_FLAG_EEPROM) { if (bge_read_eeprom(sc, (caddr_t)&hwcfg, BGE_EE_HWCFG_OFFSET, sizeof(hwcfg))) { device_printf(sc->bge_dev, "failed to read EEPROM\n"); - bge_release_resources(sc); error = ENXIO; goto fail; } @@ -2495,7 +2551,6 @@ } device_printf(sc->bge_dev, "MII without any PHY!\n"); - bge_release_resources(sc); error = ENXIO; goto fail; } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 2 15:16:49 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 82C8D16A409; Wed, 2 May 2007 15:16:49 +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 F263B16A400 for ; Wed, 2 May 2007 15:16:48 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E1F5A13C43E for ; Wed, 2 May 2007 15:16:48 +0000 (UTC) (envelope-from bushman@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 l42FGm84032273 for ; Wed, 2 May 2007 15:16:48 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42FGh4o032270 for perforce@freebsd.org; Wed, 2 May 2007 15:16:43 GMT (envelope-from bushman@freebsd.org) Date: Wed, 2 May 2007 15:16:43 GMT Message-Id: <200705021516.l42FGh4o032270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 119161 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, 02 May 2007 15:16:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=119161 Change 119161 by bushman@bushman_sh on 2007/05/02 15:15:56 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/Makefile.inc1#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/defaults/periodic.conf#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/defaults/rc.conf#6 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/devd.conf#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/mtree/BSD.include.dist#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/mtree/BSD.root.dist#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/mtree/BSD.usr.dist#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/network.subr#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/periodic/daily/404.status-zfs#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/periodic/daily/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/FILESYSTEMS#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/NETWORKING#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/addswap#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/adjkerntz#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/bgfsck#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/bootconf.sh#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/cleanvar#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/dhclient#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/geli2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/hostid#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/hostname#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ip6addrctl#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ip6fw#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ipfilter#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ipfw#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ipmon#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ipsec#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/isdnd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/kldxref#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/mountcritremote#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/mountd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/netif#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/netoptions#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/nfslocking#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/pf#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/pflog#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/pfsync#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/power_profile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ppp#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/random#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/syscons#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/var#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/zfs#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.firewall#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.subr#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/sendmail/freebsd.mc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/sendmail/freebsd.submit.mc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/services#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/include/Makefile#5 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/include/protocols/dumprestore.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/include/rpc/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/include/rpc/types.h#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/include/stdio.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/include/stdlib.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/Versions.def#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/amd64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/amd64/stdlib/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/amd64/stdlib/div.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/amd64/stdlib/ldiv.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/amd64/stdlib/lldiv.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/arm/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/compat-43/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/db/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gdtoa/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gen/Symbol.map#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gen/dlfcn.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gen/getvfsbyname.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gen/sysconf.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gen/sysctl.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gen/valloc.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gmon/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/i386/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/ia64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/inet/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/locale/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/nameser/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/Makefile.inc#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/addr2ascii.3#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/addr2ascii.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/ascii2addr.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/getnameinfo.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/getnameinfo.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/inet.3#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/linkaddr.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/rthdr.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_bindx.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_connectx.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_freepaddrs.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_getaddrlen.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_getassocid.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_getpaddrs.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_opt_info.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_recvmsg.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_send.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_sendmsg.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/sctp_sys_calls.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/nls/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/posix1e/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/posix1e/acl_support.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/posix1e/acl_support.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/powerpc/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/quad/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/regex/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/regex/engine.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/regex/grot/tests#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/resolv/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/resolv/res_debug.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/resolv/res_send.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/rpc/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/softfloat/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sparc64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdio/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdio/fputs.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdio/tmpnam.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/getenv.3#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/getenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/malloc.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/malloc.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/posix_memalign.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/putenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/setenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdlib/strtol.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdtime/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/string/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/Makefile.inc#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/getsockopt.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/lseek.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/pathconf.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/ptrace.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/sctp_generic_recvmsg.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/sctp_generic_sendmsg.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/sctp_peeloff.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/send.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/sys/shutdown.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/uuid/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/uuid/uuid_compare.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/xdr/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/yp/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/yp/yplib.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_class.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/bsd.lib.mk#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/bsd.libnames.mk#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/bsd.man.mk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/bsd.own.mk#5 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/bsd.symver.mk#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/version_gen.awk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getaddr.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getaddr.t#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getgr.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-gethostby.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getproto.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getpw.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getrpc.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getserv.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getusershell.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/tools/regression/lib/libc/nss/test-getusershell.t#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/brandelf/brandelf.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/bzip2/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/bzip2/doc/Makefile#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/c89/c89.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/c99/c99.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/calendar/calendars/calendar.freebsd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/calendar/calendars/calendar.usholiday#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/cut/cut.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/du/du.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/env/env.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/file2c/file2c.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/file2c/file2c.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/find/find.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/finger/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/finger/finger.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/finger/finger.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/finger/net.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/fstat/fstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/gcore/elfcore.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/gzip/gzip.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/ipcrm/ipcrm.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/kdump/kdump.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/kdump/kdump_subr.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/kdump/mksubr#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/lastcomm/lastcomm.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/lastcomm/lastcomm.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/limits/limits.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/login/login.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/lsvfs/lsvfs.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/mail/mail.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/GNode.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/globals.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/job.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/job.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/make.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/make.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/make.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/parse.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/make/targ.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/mkstr/mkstr.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/mkuzip/mkuzip.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/netstat/bpf.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/netstat/if.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/netstat/inet.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/netstat/mcast.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/nl/nl.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/passwd/passwd.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/quota/quota.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/rup/rup.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sed/POSIX#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sed/TEST/hanoi.sed#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sed/TEST/math.sed#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sed/TEST/sed.test#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sed/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sed/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sed/process.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sed/sed.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/sockstat/sockstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/stat/stat.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/su/su.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/bsdtar.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/bsdtar.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/bsdtar_platform.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/config_freebsd.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/getdate.y#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/matching.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/read.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/test/config.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/test/test-acl.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/test/test-basic.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/test/test-deep-dir.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/test/test-flags.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/test/test-nodump.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/test/test-overwrite.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/test/test-utf8.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/tree.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/util.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/tar/write.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/top/machine.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/touch/touch.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/touch/touch.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/amd64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/i386-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/i386-linux.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/ia64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/powerpc-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/setup.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/sparc64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/syscall.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/syscalls.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/truss.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/truss/truss.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/ul/ul.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/uuidgen/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.bin/whois/whois.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/acpi/acpidb/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/acpi/acpidb/acpidb.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/acpi/acpidump/acpi_user.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/acpi/acpidump/acpidump.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/acpi/acpidump/acpidump.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/acpi/acpidump/acpidump.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/acpi/iasl/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/adduser/adduser.conf.5#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/adduser/adduser.sh#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/arp/arp.4#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/arp/arp.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/cron/lib/entry.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/crunch/crunchide/crunchide.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/cxgbtool/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/cxgbtool/cxgbtool.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/cxgbtool/reg_defs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/cxgbtool/reg_defs_t3.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/cxgbtool/reg_defs_t3b.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/cxgbtool/version.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/daemon/daemon.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/daemon/daemon.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/fdformat/fdformat.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/freebsd-update/freebsd-update.sh#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/gstat/gstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/ifmcstat/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/ifmcstat/ifmcstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/ifmcstat/ifmcstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/inetd/inetd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/jail/jail.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/kbdmap/kbdmap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/lpr/lpd/recvjob.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/mountd/mountd.c#6 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/moused/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/moused/moused.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/moused/moused.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/mtest/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/mtest/mtest.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/mtest/mtest.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/ndp/ndp.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/ngctl/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/ntp/doc/ntpd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pciconf/cap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pkg_install/info/pkg_info.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pkg_install/lib/exec.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pkg_install/lib/lib.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pkg_install/lib/plist.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pkg_install/lib/url.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pmcstat/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pmcstat/pmcstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pmcstat/pmcstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pmcstat/pmcstat.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/ppp/radius.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pppd/auth.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pstat/pstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pstat/pstat.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pw/cpdir.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pw/pw.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pw/pw.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pw/pw.conf.5#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pw/pw.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pw/pw_conf.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/pw/pw_user.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/rpc.lockd/lockd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/rpc.lockd/lockd_lock.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/rpc.lockd/rpc.lockd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/rpc.statd/procs.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/rpc.statd/rpc.statd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/rpc.statd/statd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/rpcbind/rpcbind.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/rpcbind/rpcbind.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sa/pdb.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sade/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sade/termcap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sade/variable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sendmail/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/snapinfo/snapinfo.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/biosmptable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/config.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/devices.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/dist.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/index.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/termcap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/variable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/traceroute6/traceroute6.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/ypset/ypset.c#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/Makefile.inc1#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.566 2007/01/20 07:48:09 rafan Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.572 2007/04/17 15:52:36 pjd Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -40,6 +40,9 @@ .if ${MK_GAMES} != "no" SUBDIR+=games .endif +.if ${MK_CDDL} != "no" +SUBDIR+=cddl +.endif SUBDIR+=gnu include .if ${MK_KERBEROS} != "no" SUBDIR+=kerberos5 @@ -235,36 +238,30 @@ .else LIB32CPUTYPE= ${TARGET_CPUTYPE} .endif -LIB32PREFLAGS= -m32 -march=${LIB32CPUTYPE} -mfancy-math-387 -DCOMPAT_32BIT -LIB32POSTFLAGS= -I${LIB32TMP}/usr/include \ +LIB32FLAGS= -m32 -march=${LIB32CPUTYPE} -mfancy-math-387 -DCOMPAT_32BIT \ + -iprefix ${LIB32TMP}/usr/ \ -L${LIB32TMP}/usr/lib32 \ -B${LIB32TMP}/usr/lib32 -LIB32CC= ${LIB32PREFLAGS} \ - ${LIB32POSTFLAGS} -LIB32CXX= ${LIB32PREFLAGS} -I${LIB32TMP}/usr/include/c++/3.4 \ - ${LIB32POSTFLAGS} -LIB32OBJC= ${LIB32PREFLAGS} -I${LIB32TMP}/usr/include/objc \ - ${LIB32POSTFLAGS} # Yes, the flags are redundant. -LIB32MAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ +LIB32WMAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ _SHLIBDIRPREFIX=${LIB32TMP} \ MACHINE=i386 \ MACHINE_ARCH=i386 \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - CC="${CC} ${LIB32CC}" \ - CXX="${CXX} ${LIB32CXX}" \ - OBJC="${OBJC} ${LIB32OBJC}" \ + CC="${CC} ${LIB32FLAGS}" \ + CXX="${CXX} ${LIB32FLAGS}" \ + OBJC="${OBJC} ${LIB32FLAGS}" \ LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ AS="${AS} --32" \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 -LIB32MAKE= ${LIB32MAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ +LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_NLS -DWITHOUT_INFO \ - -DWITHOUT_HTML -LIB32IMAKE= ${LIB32MAKE:NINSTALL=*} -DNO_INCS + -DWITHOUT_HTML DESTDIR=${LIB32TMP} +LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*} -DNO_INCS .endif # install stage @@ -364,7 +361,7 @@ @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR:S/^/par-/} .if ${TARGET_ARCH} == "amd64" - rm -rf ${OBJTREE}/lib32 + ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} .endif .endif _obj: @@ -434,34 +431,31 @@ .endfor .endif .for _t in obj includes - cd ${.CURDIR}/include; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} - cd ${.CURDIR}/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} - cd ${.CURDIR}/gnu/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/include; ${LIB32WMAKE} ${_t} + cd ${.CURDIR}/lib; ${LIB32WMAKE} ${_t} +.if ${MK_CDDL} != "no" + cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} ${_t} +.endif + cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} ${_t} .if ${MK_CRYPT} != "no" - cd ${.CURDIR}/secure/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} ${_t} .endif .if ${MK_KERBEROS} != "no" - cd ${.CURDIR}/kerberos5/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} ${_t} .endif .endfor .for _dir in usr.bin/lex/lib - cd ${.CURDIR}/${_dir}; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} obj + cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} obj .endfor -.for _dir in lib/ncurses/ncurses lib/libmagic +.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} DESTDIR= build-tools .endfor cd ${.CURDIR}; \ - ${LIB32MAKE} -f Makefile.inc1 DESTDIR=${LIB32TMP} libraries + ${LIB32WMAKE} -f Makefile.inc1 libraries .for _t in obj depend all cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + PROG=ld-elf32.so.1 ${LIB32WMAKE} ${_t} .endfor distribute32 install32: @@ -869,7 +863,7 @@ _mklocale= usr.bin/mklocale .endif -.if ${BOOTSTRAPPING} < 700015 +.if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -933,6 +927,7 @@ bin/sh \ ${_rescue} \ lib/ncurses/ncurses \ + lib/ncurses/ncursesw \ ${_share} \ ${_aicasm} \ usr.bin/awk \ @@ -1020,17 +1015,22 @@ lib/libbz2 lib/libcom_err lib/libcrypt lib/libexpat \ ${_lib_libgssapi} ${_lib_libipx} \ lib/libkiconv lib/libkvm lib/libmd \ - lib/ncurses/ncurses lib/libnssutil lib/libopie lib/libpam \ + lib/ncurses/ncurses lib/ncurses/ncursesw lib/libnssutil \ + lib/libopie lib/libpam lib/libpthread \ lib/libradius lib/libsbuf lib/libtacplus lib/libutil \ ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_secure_lib_libssh} \ ${_secure_lib_libssl} -_generic_libs= gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib +_generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib lib/libopie__L lib/libtacplus__L: lib/libmd__L lib/libutil__L: lib/libnssutil__L +.if ${MK_CDDL} != "no" +_cddl_lib= cddl/lib +.endif + .if ${MK_CRYPT} != "no" .if ${MK_OPENSSL} != "no" _secure_lib_libcrypto= secure/lib/libcrypto ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/defaults/periodic.conf#2 (text+ko) ==== @@ -13,7 +13,7 @@ # For a more detailed explanation of all the periodic.conf variables, please # refer to the periodic.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/periodic.conf,v 1.41 2006/08/29 08:49:57 ru Exp $ +# $FreeBSD: src/etc/defaults/periodic.conf,v 1.42 2007/04/06 02:33:06 pjd Exp $ # # What files override these defaults ? @@ -88,6 +88,9 @@ daily_status_disks_enable="YES" # Check disk status daily_status_disks_df_flags="-l -h" # df(1) flags for check +# 404.status-zfs +daily_status_zfs_enable="NO" # Check ZFS + # 405.status-ata_raid daily_status_ata_raid_enable="NO" # Check ATA raid status ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/defaults/rc.conf#6 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.304 2007/02/09 12:11:27 flz Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.314 2007/04/10 16:42:13 keramida Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -24,7 +24,7 @@ rc_debug="NO" # Set to YES to enable debugging output from rc.d rc_info="NO" # Enables display of informational messages at boot. rcshutdown_timeout="30" # Seconds to wait before terminating rc.shutdown -early_late_divider="mountcritlocal" # Script that separates early/late +early_late_divider="FILESYSTEMS" # Script that separates early/late # stages of the boot process. Make sure you know # the ramifications if you change this. # See rc.conf(5) for more details. @@ -42,16 +42,19 @@ powerd_flags="" # Flags to powerd (if enabled). tmpmfs="AUTO" # Set to YES to always create an mfs /tmp, NO to never tmpsize="20m" # Size of mfs /tmp if created -tmpmfs_flags="-S -M" # Extra mdmfs options for the mfs /tmp +tmpmfs_flags="-S" # Extra mdmfs options for the mfs /tmp varmfs="AUTO" # Set to YES to always create an mfs /var, NO to never varsize="32m" # Size of mfs /var if created -varmfs_flags="-S -M" # Extra mount options for the mfs /var +varmfs_flags="-S" # Extra mount options for the mfs /var populate_var="AUTO" # Set to YES to always (re)populate /var, NO to never cleanvar_enable="YES" # Clean the /var directory local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs. script_name_sep=" " # Change if your startup scripts' names contain spaces rc_conf_files="/etc/rc.conf /etc/rc.conf.local" +# ZFS support +zfs_enable="NO" # Set to YES to automatically mount ZFS file systems + # Experimental - test before enabling gbde_autoattach_all="NO" # YES automatically mounts gbde devices from fstab gbde_devices="NO" # Devices to automatically attach (list, or AUTO) @@ -90,12 +93,14 @@ ### Basic network and firewall/security options: ### hostname="" # Set this! +hostid_enable="YES" # Set host UUID. +hostid_file="/etc/hostid" # File with hostuuid. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. -dhclient_flags_fxp0="" # Extra dhclient flags for fxp0 only +#dhclient_flags_fxp0="" # Extra dhclient flags for fxp0 only background_dhclient="NO" # Start dhcp client in the background. -background_dhclient_fxp0="" # Start dhcp client on fxp0 in the background. +#background_dhclient_fxp0="YES" # Start dhcp client on fxp0 in the background. synchronous_dhclient="YES" # Start dhclient directly on configured # interfaces during startup. firewall_enable="NO" # Set to YES to enable firewall functionality @@ -151,6 +156,7 @@ pflog_flags="" # additional flags for pflogd pfsync_enable="NO" # Expose pf state to other hosts for syncing pfsync_syncdev="" # Interface for pfsync to work through +pfsync_syncpeer="" # IP address of pfsync peer host pfsync_ifconfig="" # Additional options to ifconfig(8) for pfsync tcp_extensions="YES" # Set to NO to turn off RFC1323 extensions. log_in_vain="0" # >=1 to log connects to ports w/o listeners. @@ -264,7 +270,9 @@ nfs_reserved_port_only="NO" # Provide NFS only on secure port (or NO). nfs_bufpackets="" # bufspace (in packets) for client rpc_lockd_enable="NO" # Run NFS rpc.lockd needed for client/server. +rpc_lockd_flags="" # Flags to rpc.lockd (if enabled). rpc_statd_enable="NO" # Run NFS rpc.statd needed for client/server. +rpc_statd_flags="" # Flags to rpc.statd (if enabled). rpcbind_enable="NO" # Run the portmapper service (YES/NO). rpcbind_program="/usr/sbin/rpcbind" # path to rpcbind, if you want a different one. rpcbind_flags="" # Flags to rpcbind (if enabled). @@ -425,7 +433,7 @@ ipv6_ipfilter_rules="/etc/ipf6.rules" # rules definition file for ipfilter, # see /usr/src/contrib/ipfilter/rules # for examples -ip6addrctl_enable="NO" # Set to YES to enable default address selection +ip6addrctl_enable="YES" # Set to YES to enable default address selection ip6addrctl_verbose="NO" # Set to YES to enable verbose configuration messages ############################################################## ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/devd.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.35 2007/02/15 16:38:10 imp Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.37 2007/04/08 16:05:23 pjd Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -208,6 +208,37 @@ action "logger -p kern.emerg 'WARNING: system temperature too high, shutting down soon!'"; }; +# Sample ZFS problem reports handling. +notify 10 { + match "system" "ZFS"; + match "type" "zpool"; + action "logger -p kern.err 'ZFS: failed to load zpool $pool'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "vdev"; + action "logger -p kern.err 'ZFS: vdev failure, zpool=$pool type=$type'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "data"; + action "logger -p kern.warn 'ZFS: zpool I/O failure, zpool=$pool error=$zio_err'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "io"; + action "logger -p kern.warn 'ZFS: vdev I/O failure, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size error=$zio_err'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "checksum"; + action "logger -p kern.warn 'ZFS: checksum mismatch, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size'"; +}; + /* EXAMPLES TO END OF FILE # The following might be an example of something that a vendor might ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/mtree/BSD.include.dist#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.110 2006/10/31 22:22:29 pjd Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.112 2007/04/18 10:16:42 trhodes Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -114,6 +114,8 @@ .. mirror .. + multipath + .. nop .. raid3 @@ -207,8 +209,6 @@ .. pccard .. - posix4 - .. protocols .. readline ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/mtree/BSD.root.dist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.77 2006/05/10 18:53:15 marcus Exp $ +# $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.79 2007/04/08 23:59:39 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -16,6 +16,8 @@ .. modules .. + zfs + .. .. dev mode=0555 .. @@ -62,6 +64,8 @@ .. ssl .. + zfs + .. .. lib geom ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/mtree/BSD.usr.dist#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.324 2006/12/05 16:57:10 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.326 2007/03/02 14:56:14 flz Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -75,6 +75,12 @@ misc .. .. + legal + intel_ipw + .. + intel_iwi + .. + .. ncurses .. ntp ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/network.subr#4 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.177 2007/02/09 12:11:26 flz Exp $ +# $FreeBSD: src/etc/network.subr,v 1.179 2007/03/29 21:42:19 ache Exp $ # # ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/periodic/daily/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/periodic/daily/Makefile,v 1.14 2006/03/02 14:44:19 brueffer Exp $ +# $FreeBSD: src/etc/periodic/daily/Makefile,v 1.15 2007/04/06 02:33:06 pjd Exp $ FILES= 100.clean-disks \ 110.clean-tmps \ @@ -12,6 +12,7 @@ 310.accounting \ 330.news \ 400.status-disks \ + 404.status-zfs \ 405.status-ata-raid \ 406.status-gmirror \ 407.status-graid3 \ ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc#2 (text+ko) ==== @@ -25,7 +25,7 @@ # SUCH DAMAGE. # # @(#)rc 5.27 (Berkeley) 6/5/91 -# $FreeBSD: src/etc/rc,v 1.339 2006/02/20 21:54:30 dougb Exp $ +# $FreeBSD: src/etc/rc,v 1.340 2007/04/02 22:53:06 des Exp $ # # System startup script run by init on autoboot @@ -75,7 +75,7 @@ skip="-s nostart" if [ `/sbin/sysctl -n security.jail.jailed` -eq 1 ]; then skip="$skip -s nojail" - if [ "$early_late_divider" = "mountcritlocal" ]; then + if [ "$early_late_divider" = "FILESYSTEMS" ]; then early_late_divider=NETWORKING fi fi ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/Makefile#3 (text+ko) ==== @@ -1,9 +1,9 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.78 2006/10/15 14:19:06 ceri Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.81 2007/04/09 19:21:27 pjd Exp $ .include -FILES= DAEMON LOGIN NETWORKING SERVERS \ +FILES= DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \ abi accounting addswap adjkerntz amd \ apm apmd archdep atm1 atm2 atm3 auditd auto_linklocal \ bgfsck bluetooth bootparams bridge bsnmpd bthidd \ @@ -14,7 +14,7 @@ fsck ftpd \ gbde geli geli2 \ hcsecd \ - hostapd hostname \ + hostapd hostid hostname \ idmapd inetd initrandom \ ip6addrctl ip6fw ipfilter ipfs ipfw ipmon \ ipnat ipsec ipxrouted isdnd \ @@ -40,7 +40,8 @@ var virecover \ watchdogd wpa_supplicant \ ypbind yppasswdd ypserv \ - ypset ypupdated ypxfrd + ypset ypupdated ypxfrd \ + zfs .if ${MK_OPENSSH} != "no" FILES+= sshd ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/NETWORKING#2 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # # $NetBSD: NETWORKING,v 1.2 2002/03/22 04:33:57 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/NETWORKING,v 1.11 2005/12/03 01:33:06 brooks Exp $ +# $FreeBSD: src/etc/rc.d/NETWORKING,v 1.12 2007/04/09 10:09:40 des Exp $ # # PROVIDE: NETWORKING NETWORK -# REQUIRE: netif routing network_ipv6 isdnd ppp +# REQUIRE: netif netoptions routing network_ipv6 isdnd ppp # REQUIRE: routed mrouted route6d mroute6d # This is a dummy dependency, for services which require networking ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/addswap#2 (text+ko) ==== @@ -2,11 +2,11 @@ # # Add additional swap files # -# $FreeBSD: src/etc/rc.d/addswap,v 1.6 2006/01/17 19:29:31 philip Exp $ +# $FreeBSD: src/etc/rc.d/addswap,v 1.7 2007/04/02 22:53:07 des Exp $ # # PROVIDE: addswap -# REQUIRE: mountcritlocal +# REQUIRE: FILESYSTEMS # BEFORE: sysctl # KEYWORD: nojail ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/adjkerntz#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/adjkerntz,v 1.5 2004/10/07 13:55:25 mtm Exp $ +# $FreeBSD: src/etc/rc.d/adjkerntz,v 1.6 2007/04/02 22:53:07 des Exp $ # # PROVIDE: adjkerntz -# REQUIRE: mountcritlocal random +# REQUIRE: FILESYSTEMS random # BEFORE: netif # KEYWORD: nojail ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/bgfsck#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/bgfsck,v 1.7 2005/07/22 00:57:37 obrien Exp $ +# $FreeBSD: src/etc/rc.d/bgfsck,v 1.8 2007/03/11 06:53:06 brooks Exp $ # # PROVIDE: bgfsck @@ -16,11 +16,23 @@ bgfsck_start () { + if [ -z "${rc_force}" ]; then + background_fsck_delay=${background_fsck_delay:=0} + else + background_fsck_delay=0 + fi + if [ ${background_fsck_delay} -lt 0 ]; then + echo "Background file system checks delayed indefinitly" + return 0 + fi + bgfsck_msg='Starting background file system checks' - if [ ${background_fsck_delay:=0} -gt 0 ]; then + if [ "${background_fsck_delay}" -gt 0 ]; then bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" fi - echo "${bgfsck_msg}." + if [ -z "${rc_force}" ]; then + echo "${bgfsck_msg}." + fi (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \ logger -p daemon.notice -t fsck & ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/bootconf.sh#3 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # # $NetBSD: bootconf.sh,v 1.5 2002/03/25 03:22:10 wiz Exp $ -# $FreeBSD: src/etc/rc.d/bootconf.sh,v 1.5 2006/12/30 22:53:20 yar Exp $ +# $FreeBSD: src/etc/rc.d/bootconf.sh,v 1.6 2007/04/02 22:53:07 des Exp $ # # PROVIDE: bootconf -# REQUIRE: mountcritlocal +# REQUIRE: FILESYSTEMS bootconf_start() { ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/cleanvar#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/cleanvar,v 1.11 2005/12/19 10:57:00 dougb Exp $ +# $FreeBSD: src/etc/rc.d/cleanvar,v 1.12 2007/04/02 22:53:07 des Exp $ # # PROVIDE: cleanvar -# REQUIRE: mountcritlocal var +# REQUIRE: FILESYSTEMS var . /etc/rc.subr ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/dhclient#3 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/dhclient,v 1.26 2007/02/15 06:51:31 yar Exp $ +# $FreeBSD: src/etc/rc.d/dhclient,v 1.28 2007/03/25 19:45:20 mtm Exp $ # # PROVIDE: dhclient @@ -28,17 +28,13 @@ fi # Override for $ifn specific flags (see rc.subr for $flags setting) - eval specific=\$dhclient_flags_$ifn + specific=`get_if_var $ifn dhclient_flags_IF` if [ -z "$flags" -a -n "$specific" ]; then rc_flags=$specific fi - eval specific=\$background_dhclient_$ifn - if [ -n "$specific" ]; then - if checkyesno background_dhclient_$ifn; then - rc_flags="${rc_flags} -b" - fi - elif checkyesno background_dhclient; then + background_dhclient=`get_if_var $ifn background_dhclient_IF $background_dhclient` + if checkyesno background_dhclient; then rc_flags="${rc_flags} -b" fi ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/geli2#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 2 15:36:20 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 3DD1B16A409; Wed, 2 May 2007 15:36:20 +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 C68BE16A407 for ; Wed, 2 May 2007 15:36:19 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B5AA513C469 for ; Wed, 2 May 2007 15:36:19 +0000 (UTC) (envelope-from bushman@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 l42FaJpr035586 for ; Wed, 2 May 2007 15:36:19 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42FaEV8035583 for perforce@freebsd.org; Wed, 2 May 2007 15:36:14 GMT (envelope-from bushman@freebsd.org) Date: Wed, 2 May 2007 15:36:14 GMT Message-Id: <200705021536.l42FaEV8035583@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 119163 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, 02 May 2007 15:36:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=119163 Change 119163 by bushman@bushman_sh on 2007/05/02 15:36:04 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/Makefile.inc1#6 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/defaults/periodic.conf#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/defaults/rc.conf#9 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/devd.conf#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/mtree/BSD.include.dist#5 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/mtree/BSD.root.dist#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/mtree/BSD.usr.dist#5 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/network.subr#7 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/periodic/daily/404.status-zfs#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/periodic/daily/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/FILESYSTEMS#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/Makefile#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/NETWORKING#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/addswap#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/adjkerntz#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/bgfsck#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/bootconf.sh#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/cleanvar#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/dhclient#6 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/geli2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/hostid#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/hostname#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/ip6addrctl#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/ip6fw#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/ipfilter#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/ipfw#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/ipmon#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/ipsec#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/isdnd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/kldxref#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/mountcritremote#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/mountd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/netif#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/netoptions#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/nfslocking#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/pf#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/pflog#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/pfsync#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/power_profile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/ppp#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/random#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/syscons#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/var#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/zfs#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.firewall#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.subr#7 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/sendmail/freebsd.mc#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/sendmail/freebsd.submit.mc#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/services#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/include/Makefile#7 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/include/protocols/dumprestore.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/include/rpc/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/include/rpc/types.h#2 delete .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/include/stdio.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/include/stdlib.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/Versions.def#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/amd64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/amd64/stdlib/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/amd64/stdlib/div.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/amd64/stdlib/ldiv.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/amd64/stdlib/lldiv.S#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/arm/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/compat-43/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/db/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/gdtoa/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/gen/Symbol.map#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/gen/dlfcn.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/gen/getvfsbyname.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/gen/sysconf.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/gen/sysctl.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/gen/valloc.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/gmon/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/i386/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/ia64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/inet/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/locale/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/nameser/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/Makefile.inc#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/addr2ascii.3#2 delete .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/addr2ascii.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/ascii2addr.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/getnameinfo.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/getnameinfo.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/inet.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/linkaddr.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/rthdr.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_bindx.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_connectx.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_freepaddrs.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_getaddrlen.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_getassocid.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_getpaddrs.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_opt_info.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_recvmsg.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_send.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_sendmsg.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/net/sctp_sys_calls.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/nls/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/posix1e/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/posix1e/acl_support.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/posix1e/acl_support.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/powerpc/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/quad/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/regex/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/regex/engine.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/regex/grot/tests#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/resolv/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/resolv/res_debug.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/resolv/res_send.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/rpc/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/softfloat/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sparc64/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdio/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdio/fputs.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdio/tmpnam.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/getenv.3#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/getenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/malloc.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/malloc.c#7 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/posix_memalign.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/putenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/setenv.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdlib/strtol.3#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/stdtime/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/string/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/Makefile.inc#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/Symbol.map#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/getsockopt.2#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/lseek.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/pathconf.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/ptrace.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/sctp_generic_recvmsg.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/sctp_generic_sendmsg.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/sctp_peeloff.2#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/send.2#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/sys/shutdown.2#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/uuid/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/uuid/uuid_compare.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/xdr/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/yp/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libc/yp/yplib.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/lib/libutil/login_class.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/share/mk/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/share/mk/bsd.lib.mk#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/share/mk/bsd.libnames.mk#7 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/share/mk/bsd.man.mk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/share/mk/bsd.own.mk#7 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/share/mk/bsd.symver.mk#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/share/mk/version_gen.awk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getaddr.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getaddr.t#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getgr.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-gethostby.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getproto.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getpw.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getrpc.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getserv.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getusershell.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/tools/regression/lib/libc/nss/test-getusershell.t#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/brandelf/brandelf.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/bzip2/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/bzip2/doc/Makefile#2 delete .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/c89/c89.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/c99/c99.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/calendar/calendars/calendar.freebsd#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/calendar/calendars/calendar.usholiday#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/cut/cut.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/du/du.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/env/env.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/file2c/file2c.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/file2c/file2c.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/find/find.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/finger/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/finger/finger.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/finger/finger.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/finger/net.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/fstat/fstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/gcore/elfcore.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/gzip/gzip.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/ipcrm/ipcrm.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/kdump/kdump.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/kdump/kdump_subr.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/kdump/mksubr#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/lastcomm/lastcomm.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/lastcomm/lastcomm.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/limits/limits.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/login/login.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/lsvfs/lsvfs.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/mail/mail.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/GNode.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/globals.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/job.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/job.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/make.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/make.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/make.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/parse.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/make/targ.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/mkstr/mkstr.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/mkuzip/mkuzip.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/netstat/bpf.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/netstat/if.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/netstat/inet.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/netstat/mcast.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/nl/nl.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/passwd/passwd.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/quota/quota.c#5 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/rup/rup.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sed/POSIX#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sed/TEST/hanoi.sed#2 delete .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sed/TEST/math.sed#2 delete .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sed/TEST/sed.test#2 delete .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sed/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sed/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sed/process.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sed/sed.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/sockstat/sockstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/stat/stat.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/su/su.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/bsdtar.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/bsdtar.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/bsdtar_platform.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/config_freebsd.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/getdate.y#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/matching.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/read.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/test/config.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/test/test-acl.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/test/test-basic.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/test/test-deep-dir.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/test/test-flags.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/test/test-nodump.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/test/test-overwrite.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/test/test-utf8.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/tree.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/util.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/tar/write.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/top/machine.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/touch/touch.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/touch/touch.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/amd64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/extern.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/i386-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/i386-linux.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/ia64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/powerpc-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/setup.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/sparc64-fbsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/syscall.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/syscalls.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/truss.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/truss/truss.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/ul/ul.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/uuidgen/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.bin/whois/whois.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/acpi/acpidb/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/acpi/acpidb/acpidb.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/acpi/acpidump/acpi.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/acpi/acpidump/acpi_user.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/acpi/acpidump/acpidump.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/acpi/acpidump/acpidump.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/acpi/acpidump/acpidump.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/acpi/iasl/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/adduser/adduser.conf.5#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/adduser/adduser.sh#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/arp/arp.4#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/arp/arp.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/cron/lib/entry.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/crunch/crunchide/crunchide.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/cxgbtool/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/cxgbtool/cxgbtool.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/cxgbtool/reg_defs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/cxgbtool/reg_defs_t3.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/cxgbtool/reg_defs_t3b.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/cxgbtool/version.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/daemon/daemon.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/daemon/daemon.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/fdformat/fdformat.1#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/freebsd-update/freebsd-update.sh#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/gstat/gstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/ifmcstat/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/ifmcstat/ifmcstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/ifmcstat/ifmcstat.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/inetd/inetd.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/jail/jail.8#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/kbdmap/kbdmap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/lpr/lpd/recvjob.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/mountd/mountd.c#6 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/moused/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/moused/moused.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/moused/moused.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/mtest/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/mtest/mtest.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/mtest/mtest.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/ndp/ndp.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/ngctl/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/ntp/doc/ntpd.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pciconf/cap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pkg_install/info/pkg_info.1#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pkg_install/lib/exec.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pkg_install/lib/lib.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pkg_install/lib/plist.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pkg_install/lib/url.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pmcstat/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pmcstat/pmcstat.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pmcstat/pmcstat.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pmcstat/pmcstat.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/ppp/radius.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pppd/auth.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pstat/pstat.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pstat/pstat.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pw/cpdir.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pw/pw.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pw/pw.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pw/pw.conf.5#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pw/pw.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pw/pw_conf.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/pw/pw_user.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/rpc.lockd/lockd.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/rpc.lockd/lockd_lock.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/rpc.lockd/rpc.lockd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/rpc.statd/procs.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/rpc.statd/rpc.statd.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/rpc.statd/statd.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/rpcbind/rpcbind.8#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/rpcbind/rpcbind.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sa/pdb.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sade/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sade/termcap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sade/variable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sendmail/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/snapinfo/snapinfo.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/biosmptable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/config.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/devices.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/dist.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/index.c#4 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/termcap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/sysinstall/variable.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/traceroute6/traceroute6.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_openldap/src/usr.sbin/ypset/ypset.c#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/Makefile.inc1#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.566 2007/01/20 07:48:09 rafan Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.572 2007/04/17 15:52:36 pjd Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -40,6 +40,9 @@ .if ${MK_GAMES} != "no" SUBDIR+=games .endif +.if ${MK_CDDL} != "no" +SUBDIR+=cddl +.endif SUBDIR+=gnu include .if ${MK_KERBEROS} != "no" SUBDIR+=kerberos5 @@ -235,36 +238,30 @@ .else LIB32CPUTYPE= ${TARGET_CPUTYPE} .endif -LIB32PREFLAGS= -m32 -march=${LIB32CPUTYPE} -mfancy-math-387 -DCOMPAT_32BIT -LIB32POSTFLAGS= -I${LIB32TMP}/usr/include \ +LIB32FLAGS= -m32 -march=${LIB32CPUTYPE} -mfancy-math-387 -DCOMPAT_32BIT \ + -iprefix ${LIB32TMP}/usr/ \ -L${LIB32TMP}/usr/lib32 \ -B${LIB32TMP}/usr/lib32 -LIB32CC= ${LIB32PREFLAGS} \ - ${LIB32POSTFLAGS} -LIB32CXX= ${LIB32PREFLAGS} -I${LIB32TMP}/usr/include/c++/3.4 \ - ${LIB32POSTFLAGS} -LIB32OBJC= ${LIB32PREFLAGS} -I${LIB32TMP}/usr/include/objc \ - ${LIB32POSTFLAGS} # Yes, the flags are redundant. -LIB32MAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ +LIB32WMAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ _SHLIBDIRPREFIX=${LIB32TMP} \ MACHINE=i386 \ MACHINE_ARCH=i386 \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ - CC="${CC} ${LIB32CC}" \ - CXX="${CXX} ${LIB32CXX}" \ - OBJC="${OBJC} ${LIB32OBJC}" \ + CC="${CC} ${LIB32FLAGS}" \ + CXX="${CXX} ${LIB32FLAGS}" \ + OBJC="${OBJC} ${LIB32FLAGS}" \ LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ AS="${AS} --32" \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 -LIB32MAKE= ${LIB32MAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ +LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_NLS -DWITHOUT_INFO \ - -DWITHOUT_HTML -LIB32IMAKE= ${LIB32MAKE:NINSTALL=*} -DNO_INCS + -DWITHOUT_HTML DESTDIR=${LIB32TMP} +LIB32IMAKE= ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*} -DNO_INCS .endif # install stage @@ -364,7 +361,7 @@ @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR:S/^/par-/} .if ${TARGET_ARCH} == "amd64" - rm -rf ${OBJTREE}/lib32 + ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} .endif .endif _obj: @@ -434,34 +431,31 @@ .endfor .endif .for _t in obj includes - cd ${.CURDIR}/include; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} - cd ${.CURDIR}/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} - cd ${.CURDIR}/gnu/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/include; ${LIB32WMAKE} ${_t} + cd ${.CURDIR}/lib; ${LIB32WMAKE} ${_t} +.if ${MK_CDDL} != "no" + cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} ${_t} +.endif + cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} ${_t} .if ${MK_CRYPT} != "no" - cd ${.CURDIR}/secure/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} ${_t} .endif .if ${MK_KERBEROS} != "no" - cd ${.CURDIR}/kerberos5/lib; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} ${_t} .endif .endfor .for _dir in usr.bin/lex/lib - cd ${.CURDIR}/${_dir}; \ - ${LIB32MAKE} DESTDIR=${LIB32TMP} obj + cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} obj .endfor -.for _dir in lib/ncurses/ncurses lib/libmagic +.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} DESTDIR= build-tools .endfor cd ${.CURDIR}; \ - ${LIB32MAKE} -f Makefile.inc1 DESTDIR=${LIB32TMP} libraries + ${LIB32WMAKE} -f Makefile.inc1 libraries .for _t in obj depend all cd ${.CURDIR}/libexec/rtld-elf; \ - PROG=ld-elf32.so.1 ${LIB32MAKE} DESTDIR=${LIB32TMP} ${_t} + PROG=ld-elf32.so.1 ${LIB32WMAKE} ${_t} .endfor distribute32 install32: @@ -869,7 +863,7 @@ _mklocale= usr.bin/mklocale .endif -.if ${BOOTSTRAPPING} < 700015 +.if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -933,6 +927,7 @@ bin/sh \ ${_rescue} \ lib/ncurses/ncurses \ + lib/ncurses/ncursesw \ ${_share} \ ${_aicasm} \ usr.bin/awk \ @@ -1020,17 +1015,22 @@ lib/libbz2 lib/libcom_err lib/libcrypt lib/libexpat \ ${_lib_libgssapi} ${_lib_libipx} \ lib/libkiconv lib/libkvm lib/libmd \ - lib/ncurses/ncurses lib/libnssutil lib/libopie lib/libpam \ + lib/ncurses/ncurses lib/ncurses/ncursesw lib/libnssutil \ + lib/libopie lib/libpam lib/libpthread \ lib/libradius lib/libsbuf lib/libtacplus lib/libutil \ ${_lib_libypclnt} lib/libz lib/msun \ ${_secure_lib_libcrypto} ${_secure_lib_libssh} \ ${_secure_lib_libssl} -_generic_libs= gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib +_generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} lib ${_secure_lib} usr.bin/lex/lib lib/libopie__L lib/libtacplus__L: lib/libmd__L lib/libutil__L: lib/libnssutil__L +.if ${MK_CDDL} != "no" +_cddl_lib= cddl/lib +.endif + .if ${MK_CRYPT} != "no" .if ${MK_OPENSSL} != "no" _secure_lib_libcrypto= secure/lib/libcrypto ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/defaults/periodic.conf#3 (text+ko) ==== @@ -13,7 +13,7 @@ # For a more detailed explanation of all the periodic.conf variables, please # refer to the periodic.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/periodic.conf,v 1.41 2006/08/29 08:49:57 ru Exp $ +# $FreeBSD: src/etc/defaults/periodic.conf,v 1.42 2007/04/06 02:33:06 pjd Exp $ # # What files override these defaults ? @@ -88,6 +88,9 @@ daily_status_disks_enable="YES" # Check disk status daily_status_disks_df_flags="-l -h" # df(1) flags for check +# 404.status-zfs +daily_status_zfs_enable="NO" # Check ZFS + # 405.status-ata_raid daily_status_ata_raid_enable="NO" # Check ATA raid status ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/defaults/rc.conf#9 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.304 2007/02/09 12:11:27 flz Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.314 2007/04/10 16:42:13 keramida Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -24,7 +24,7 @@ rc_debug="NO" # Set to YES to enable debugging output from rc.d rc_info="NO" # Enables display of informational messages at boot. rcshutdown_timeout="30" # Seconds to wait before terminating rc.shutdown -early_late_divider="mountcritlocal" # Script that separates early/late +early_late_divider="FILESYSTEMS" # Script that separates early/late # stages of the boot process. Make sure you know # the ramifications if you change this. # See rc.conf(5) for more details. @@ -42,16 +42,19 @@ powerd_flags="" # Flags to powerd (if enabled). tmpmfs="AUTO" # Set to YES to always create an mfs /tmp, NO to never tmpsize="20m" # Size of mfs /tmp if created -tmpmfs_flags="-S -M" # Extra mdmfs options for the mfs /tmp +tmpmfs_flags="-S" # Extra mdmfs options for the mfs /tmp varmfs="AUTO" # Set to YES to always create an mfs /var, NO to never varsize="32m" # Size of mfs /var if created -varmfs_flags="-S -M" # Extra mount options for the mfs /var +varmfs_flags="-S" # Extra mount options for the mfs /var populate_var="AUTO" # Set to YES to always (re)populate /var, NO to never cleanvar_enable="YES" # Clean the /var directory local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs. script_name_sep=" " # Change if your startup scripts' names contain spaces rc_conf_files="/etc/rc.conf /etc/rc.conf.local" +# ZFS support +zfs_enable="NO" # Set to YES to automatically mount ZFS file systems + # Experimental - test before enabling gbde_autoattach_all="NO" # YES automatically mounts gbde devices from fstab gbde_devices="NO" # Devices to automatically attach (list, or AUTO) @@ -90,12 +93,14 @@ ### Basic network and firewall/security options: ### hostname="" # Set this! +hostid_enable="YES" # Set host UUID. +hostid_file="/etc/hostid" # File with hostuuid. nisdomainname="NO" # Set to NIS domain if using NIS (or NO). dhclient_program="/sbin/dhclient" # Path to dhcp client program. dhclient_flags="" # Extra flags to pass to dhcp client. -dhclient_flags_fxp0="" # Extra dhclient flags for fxp0 only +#dhclient_flags_fxp0="" # Extra dhclient flags for fxp0 only background_dhclient="NO" # Start dhcp client in the background. -background_dhclient_fxp0="" # Start dhcp client on fxp0 in the background. +#background_dhclient_fxp0="YES" # Start dhcp client on fxp0 in the background. synchronous_dhclient="YES" # Start dhclient directly on configured # interfaces during startup. firewall_enable="NO" # Set to YES to enable firewall functionality @@ -151,6 +156,7 @@ pflog_flags="" # additional flags for pflogd pfsync_enable="NO" # Expose pf state to other hosts for syncing pfsync_syncdev="" # Interface for pfsync to work through +pfsync_syncpeer="" # IP address of pfsync peer host pfsync_ifconfig="" # Additional options to ifconfig(8) for pfsync tcp_extensions="YES" # Set to NO to turn off RFC1323 extensions. log_in_vain="0" # >=1 to log connects to ports w/o listeners. @@ -264,7 +270,9 @@ nfs_reserved_port_only="NO" # Provide NFS only on secure port (or NO). nfs_bufpackets="" # bufspace (in packets) for client rpc_lockd_enable="NO" # Run NFS rpc.lockd needed for client/server. +rpc_lockd_flags="" # Flags to rpc.lockd (if enabled). rpc_statd_enable="NO" # Run NFS rpc.statd needed for client/server. +rpc_statd_flags="" # Flags to rpc.statd (if enabled). rpcbind_enable="NO" # Run the portmapper service (YES/NO). rpcbind_program="/usr/sbin/rpcbind" # path to rpcbind, if you want a different one. rpcbind_flags="" # Flags to rpcbind (if enabled). @@ -425,7 +433,7 @@ ipv6_ipfilter_rules="/etc/ipf6.rules" # rules definition file for ipfilter, # see /usr/src/contrib/ipfilter/rules # for examples -ip6addrctl_enable="NO" # Set to YES to enable default address selection +ip6addrctl_enable="YES" # Set to YES to enable default address selection ip6addrctl_verbose="NO" # Set to YES to enable verbose configuration messages ############################################################## ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/devd.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.35 2007/02/15 16:38:10 imp Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.37 2007/04/08 16:05:23 pjd Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -208,6 +208,37 @@ action "logger -p kern.emerg 'WARNING: system temperature too high, shutting down soon!'"; }; +# Sample ZFS problem reports handling. +notify 10 { + match "system" "ZFS"; + match "type" "zpool"; + action "logger -p kern.err 'ZFS: failed to load zpool $pool'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "vdev"; + action "logger -p kern.err 'ZFS: vdev failure, zpool=$pool type=$type'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "data"; + action "logger -p kern.warn 'ZFS: zpool I/O failure, zpool=$pool error=$zio_err'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "io"; + action "logger -p kern.warn 'ZFS: vdev I/O failure, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size error=$zio_err'"; +}; + +notify 10 { + match "system" "ZFS"; + match "type" "checksum"; + action "logger -p kern.warn 'ZFS: checksum mismatch, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size'"; +}; + /* EXAMPLES TO END OF FILE # The following might be an example of something that a vendor might ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/mtree/BSD.include.dist#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.110 2006/10/31 22:22:29 pjd Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.112 2007/04/18 10:16:42 trhodes Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -114,6 +114,8 @@ .. mirror .. + multipath + .. nop .. raid3 @@ -207,8 +209,6 @@ .. pccard .. - posix4 - .. protocols .. readline ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/mtree/BSD.root.dist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.77 2006/05/10 18:53:15 marcus Exp $ +# $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.79 2007/04/08 23:59:39 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -16,6 +16,8 @@ .. modules .. + zfs + .. .. dev mode=0555 .. @@ -62,6 +64,8 @@ .. ssl .. + zfs + .. .. lib geom ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/mtree/BSD.usr.dist#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.324 2006/12/05 16:57:10 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.326 2007/03/02 14:56:14 flz Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -75,6 +75,12 @@ misc .. .. + legal + intel_ipw + .. + intel_iwi + .. + .. ncurses .. ntp ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/network.subr#7 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.177 2007/02/09 12:11:26 flz Exp $ +# $FreeBSD: src/etc/network.subr,v 1.179 2007/03/29 21:42:19 ache Exp $ # # ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/periodic/daily/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/periodic/daily/Makefile,v 1.14 2006/03/02 14:44:19 brueffer Exp $ +# $FreeBSD: src/etc/periodic/daily/Makefile,v 1.15 2007/04/06 02:33:06 pjd Exp $ FILES= 100.clean-disks \ 110.clean-tmps \ @@ -12,6 +12,7 @@ 310.accounting \ 330.news \ 400.status-disks \ + 404.status-zfs \ 405.status-ata-raid \ 406.status-gmirror \ 407.status-graid3 \ ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc#2 (text+ko) ==== @@ -25,7 +25,7 @@ # SUCH DAMAGE. # # @(#)rc 5.27 (Berkeley) 6/5/91 -# $FreeBSD: src/etc/rc,v 1.339 2006/02/20 21:54:30 dougb Exp $ +# $FreeBSD: src/etc/rc,v 1.340 2007/04/02 22:53:06 des Exp $ # # System startup script run by init on autoboot @@ -75,7 +75,7 @@ skip="-s nostart" if [ `/sbin/sysctl -n security.jail.jailed` -eq 1 ]; then skip="$skip -s nojail" - if [ "$early_late_divider" = "mountcritlocal" ]; then + if [ "$early_late_divider" = "FILESYSTEMS" ]; then early_late_divider=NETWORKING fi fi ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/Makefile#4 (text+ko) ==== @@ -1,9 +1,9 @@ # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ -# $FreeBSD: src/etc/rc.d/Makefile,v 1.78 2006/10/15 14:19:06 ceri Exp $ +# $FreeBSD: src/etc/rc.d/Makefile,v 1.81 2007/04/09 19:21:27 pjd Exp $ .include -FILES= DAEMON LOGIN NETWORKING SERVERS \ +FILES= DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \ abi accounting addswap adjkerntz amd \ apm apmd archdep atm1 atm2 atm3 auditd auto_linklocal \ bgfsck bluetooth bootparams bridge bsnmpd bthidd \ @@ -14,7 +14,7 @@ fsck ftpd \ gbde geli geli2 \ hcsecd \ - hostapd hostname \ + hostapd hostid hostname \ idmapd inetd initrandom \ ip6addrctl ip6fw ipfilter ipfs ipfw ipmon \ ipnat ipsec ipxrouted isdnd \ @@ -40,7 +40,8 @@ var virecover \ watchdogd wpa_supplicant \ ypbind yppasswdd ypserv \ - ypset ypupdated ypxfrd + ypset ypupdated ypxfrd \ + zfs .if ${MK_OPENSSH} != "no" FILES+= sshd ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/NETWORKING#2 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # # $NetBSD: NETWORKING,v 1.2 2002/03/22 04:33:57 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/NETWORKING,v 1.11 2005/12/03 01:33:06 brooks Exp $ +# $FreeBSD: src/etc/rc.d/NETWORKING,v 1.12 2007/04/09 10:09:40 des Exp $ # # PROVIDE: NETWORKING NETWORK -# REQUIRE: netif routing network_ipv6 isdnd ppp +# REQUIRE: netif netoptions routing network_ipv6 isdnd ppp # REQUIRE: routed mrouted route6d mroute6d # This is a dummy dependency, for services which require networking ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/addswap#2 (text+ko) ==== @@ -2,11 +2,11 @@ # # Add additional swap files # -# $FreeBSD: src/etc/rc.d/addswap,v 1.6 2006/01/17 19:29:31 philip Exp $ +# $FreeBSD: src/etc/rc.d/addswap,v 1.7 2007/04/02 22:53:07 des Exp $ # # PROVIDE: addswap -# REQUIRE: mountcritlocal +# REQUIRE: FILESYSTEMS # BEFORE: sysctl # KEYWORD: nojail ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/adjkerntz#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/adjkerntz,v 1.5 2004/10/07 13:55:25 mtm Exp $ +# $FreeBSD: src/etc/rc.d/adjkerntz,v 1.6 2007/04/02 22:53:07 des Exp $ # # PROVIDE: adjkerntz -# REQUIRE: mountcritlocal random +# REQUIRE: FILESYSTEMS random # BEFORE: netif # KEYWORD: nojail ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/bgfsck#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/bgfsck,v 1.7 2005/07/22 00:57:37 obrien Exp $ +# $FreeBSD: src/etc/rc.d/bgfsck,v 1.8 2007/03/11 06:53:06 brooks Exp $ # # PROVIDE: bgfsck @@ -16,11 +16,23 @@ bgfsck_start () { + if [ -z "${rc_force}" ]; then + background_fsck_delay=${background_fsck_delay:=0} + else + background_fsck_delay=0 + fi + if [ ${background_fsck_delay} -lt 0 ]; then + echo "Background file system checks delayed indefinitly" + return 0 + fi + bgfsck_msg='Starting background file system checks' - if [ ${background_fsck_delay:=0} -gt 0 ]; then + if [ "${background_fsck_delay}" -gt 0 ]; then bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" fi - echo "${bgfsck_msg}." + if [ -z "${rc_force}" ]; then + echo "${bgfsck_msg}." + fi (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \ logger -p daemon.notice -t fsck & ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/bootconf.sh#3 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # # $NetBSD: bootconf.sh,v 1.5 2002/03/25 03:22:10 wiz Exp $ -# $FreeBSD: src/etc/rc.d/bootconf.sh,v 1.5 2006/12/30 22:53:20 yar Exp $ +# $FreeBSD: src/etc/rc.d/bootconf.sh,v 1.6 2007/04/02 22:53:07 des Exp $ # # PROVIDE: bootconf -# REQUIRE: mountcritlocal +# REQUIRE: FILESYSTEMS bootconf_start() { ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/cleanvar#2 (text+ko) ==== @@ -1,10 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/cleanvar,v 1.11 2005/12/19 10:57:00 dougb Exp $ +# $FreeBSD: src/etc/rc.d/cleanvar,v 1.12 2007/04/02 22:53:07 des Exp $ # # PROVIDE: cleanvar -# REQUIRE: mountcritlocal var +# REQUIRE: FILESYSTEMS var . /etc/rc.subr ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/dhclient#6 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/dhclient,v 1.26 2007/02/15 06:51:31 yar Exp $ +# $FreeBSD: src/etc/rc.d/dhclient,v 1.28 2007/03/25 19:45:20 mtm Exp $ # # PROVIDE: dhclient @@ -28,17 +28,13 @@ fi # Override for $ifn specific flags (see rc.subr for $flags setting) - eval specific=\$dhclient_flags_$ifn + specific=`get_if_var $ifn dhclient_flags_IF` if [ -z "$flags" -a -n "$specific" ]; then rc_flags=$specific fi - eval specific=\$background_dhclient_$ifn - if [ -n "$specific" ]; then - if checkyesno background_dhclient_$ifn; then - rc_flags="${rc_flags} -b" - fi - elif checkyesno background_dhclient; then + background_dhclient=`get_if_var $ifn background_dhclient_IF $background_dhclient` + if checkyesno background_dhclient; then rc_flags="${rc_flags} -b" fi ==== //depot/projects/soc2006/nss_ldap_cached_openldap/src/etc/rc.d/geli2#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 2 16:12:21 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 ECE5216A406; Wed, 2 May 2007 16:12:20 +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 A799816A401 for ; Wed, 2 May 2007 16:12:20 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 97AF013C483 for ; Wed, 2 May 2007 16:12:20 +0000 (UTC) (envelope-from zec@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 l42GCKjb042588 for ; Wed, 2 May 2007 16:12:20 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42GCI2f042583 for perforce@freebsd.org; Wed, 2 May 2007 16:12:18 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 2 May 2007 16:12:18 GMT Message-Id: <200705021612.l42GCI2f042583@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 119169 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, 02 May 2007 16:12:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=119169 Change 119169 by zec@zec_tpx32 on 2007/05/02 16:12:02 Coalesce multiple offline changes in a single commit: - Struct ucred now holds vimage affinity for a process / thread, instead of storing vimage * in struct thread; - With vimage affinity now stored in ucreds, teach prison_check() to hide processes attached to different vproc groups one from another; - Introduce the notion of effective and real vimage. Once this will be properly implemented a thread should be able to switch its effective affinity back and forth bellow its current "real" position in the vimage hierarchy, but not escape to any ancestor or paralel vimage branch. The best analogy is probably the cwd / chroot concept in fs namespace; - Add sysctl machinery for accessing virtualized char * strings; - Initial attempt to count processes belonging to each vimage / process group; not working quite accurately yet; - Virtualize cp_time. This allows us to monitor CPU usage on a per vprocg basis. Ticks in interrupt context are charged to all vprocgs. In all other cases a tick is charged to the current vprocg, while incrementing CP_IDLE counter in all other vprocgs; - Virtualize hostname and domainname (placed in vprocg). This is both an experiment to see how well the generalized virtualization infrastructure can be applied to kernel subsystems other than the network stack, and also provides a degree of compatibility with vimages from 4.11 days. I need this to be able to run IMUNES on 7.0-CURRENT. XXX This introduces churn in random parts of the tree, including the machine dependent code. So far only i386 bits are updated to happily compile with this change. - Move ether_ipfw from struct vnet_ipfw to struct vnet_net, given that in case ipfw is not loaded an attempt to access ether_ipfw (in a non-existing structure) will most likely lead to a crash; Affected files ... .. //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#7 edit .. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#5 edit .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#6 edit .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#7 edit .. //depot/projects/vimage/src/sys/fs/cd9660/cd9660_rrip.c#2 edit .. //depot/projects/vimage/src/sys/i386/i386/dump_machdep.c#2 edit .. //depot/projects/vimage/src/sys/i386/i386/minidump_machdep.c#3 edit .. //depot/projects/vimage/src/sys/kern/init_main.c#7 edit .. //depot/projects/vimage/src/sys/kern/kern_clock.c#5 edit .. //depot/projects/vimage/src/sys/kern/kern_exit.c#3 edit .. //depot/projects/vimage/src/sys/kern/kern_fork.c#7 edit .. //depot/projects/vimage/src/sys/kern/kern_jail.c#4 edit .. //depot/projects/vimage/src/sys/kern/kern_kse.c#6 edit .. //depot/projects/vimage/src/sys/kern/kern_linker.c#6 edit .. //depot/projects/vimage/src/sys/kern/kern_mib.c#3 edit .. //depot/projects/vimage/src/sys/kern/kern_resource.c#5 edit .. //depot/projects/vimage/src/sys/kern/kern_synch.c#7 edit .. //depot/projects/vimage/src/sys/kern/kern_sysctl.c#6 edit .. //depot/projects/vimage/src/sys/kern/kern_thr.c#5 edit .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#19 edit .. //depot/projects/vimage/src/sys/kern/kern_xxx.c#3 edit .. //depot/projects/vimage/src/sys/kern/tty.c#6 edit .. //depot/projects/vimage/src/sys/kern/uipc_socket.c#9 edit .. //depot/projects/vimage/src/sys/kern/vfs_export.c#7 edit .. //depot/projects/vimage/src/sys/net/bpf.c#8 edit .. //depot/projects/vimage/src/sys/net/if.c#12 edit .. //depot/projects/vimage/src/sys/net/if_ethersubr.c#10 edit .. //depot/projects/vimage/src/sys/net/vnet.h#5 edit .. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.c#3 edit .. //depot/projects/vimage/src/sys/netinet/ip_fw.h#5 edit .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#8 edit .. //depot/projects/vimage/src/sys/netinet6/in6.c#7 edit .. //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#8 edit .. //depot/projects/vimage/src/sys/sys/kernel.h#5 edit .. //depot/projects/vimage/src/sys/sys/proc.h#9 edit .. //depot/projects/vimage/src/sys/sys/resource.h#2 edit .. //depot/projects/vimage/src/sys/sys/sysctl.h#6 edit .. //depot/projects/vimage/src/sys/sys/ucred.h#3 edit .. //depot/projects/vimage/src/sys/sys/vimage.h#17 edit Differences ... ==== //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#7 (text+ko) ==== @@ -376,19 +376,20 @@ static int linprocfs_dostat(PFS_FILL_ARGS) { + INIT_VPROCG(curthread->td_ucred->cr_vimage->v_procg); int i; sbuf_printf(sb, "cpu %ld %ld %ld %ld\n", - T2J(cp_time[CP_USER]), - T2J(cp_time[CP_NICE]), - T2J(cp_time[CP_SYS] /*+ cp_time[CP_INTR]*/), - T2J(cp_time[CP_IDLE])); + T2J(V_cp_time[CP_USER]), + T2J(V_cp_time[CP_NICE]), + T2J(V_cp_time[CP_SYS] /*+ V_cp_time[CP_INTR]*/), + T2J(V_cp_time[CP_IDLE])); for (i = 0; i < mp_ncpus; ++i) sbuf_printf(sb, "cpu%d %ld %ld %ld %ld\n", i, - T2J(cp_time[CP_USER]) / mp_ncpus, - T2J(cp_time[CP_NICE]) / mp_ncpus, - T2J(cp_time[CP_SYS]) / mp_ncpus, - T2J(cp_time[CP_IDLE]) / mp_ncpus); + T2J(V_cp_time[CP_USER]) / mp_ncpus, + T2J(V_cp_time[CP_NICE]) / mp_ncpus, + T2J(V_cp_time[CP_SYS]) / mp_ncpus, + T2J(V_cp_time[CP_IDLE]) / mp_ncpus); sbuf_printf(sb, "disk 0 0 0 0\n" "page %u %u\n" @@ -412,12 +413,13 @@ static int linprocfs_douptime(PFS_FILL_ARGS) { + INIT_VPROCG(curthread->td_ucred->cr_vimage->v_procg); struct timeval tv; getmicrouptime(&tv); sbuf_printf(sb, "%lld.%02ld %ld.%02ld\n", (long long)tv.tv_sec, tv.tv_usec / 10000, - T2S(cp_time[CP_IDLE]), T2J(cp_time[CP_IDLE]) % 100); + T2S(V_cp_time[CP_IDLE]), T2J(V_cp_time[CP_IDLE]) % 100); return (0); } @@ -971,7 +973,7 @@ static int linprocfs_donetdev(PFS_FILL_ARGS) { - INIT_VNET_NET(curthread->td_vimage->v_vnet); + INIT_VNET_NET(curthread->td_ucred->cr_vimage->v_vnet); char ifname[16]; /* XXX LINUX_IFNAMSIZ */ struct ifnet *ifp; ==== //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#5 (text+ko) ==== @@ -2075,7 +2075,7 @@ static struct ifnet * ifname_linux_to_bsd(const char *lxname, char *bsdname) { - INIT_VNET_NET(curthread->td_vimage->v_vnet); + INIT_VNET_NET(curthread->td_ucred->cr_vimage->v_vnet); struct ifnet *ifp; int len, unit; char *ep; @@ -2116,7 +2116,7 @@ static int linux_ifconf(struct thread *td, struct ifconf *uifc) { - INIT_VNET_NET(td->td_vimage->v_vnet); + INIT_VNET_NET(td->td_ucred->cr_vimage->v_vnet); #ifdef COMPAT_LINUX32 struct l_ifconf ifc; #else ==== //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#6 (text+ko) ==== @@ -32,6 +32,7 @@ #include "opt_compat.h" #include "opt_mac.h" +#include "opt_vimage.h" #include #include @@ -63,6 +64,7 @@ #include #include #include +#include #include @@ -692,6 +694,7 @@ int linux_newuname(struct thread *td, struct linux_newuname_args *args) { + INIT_VPROCG(td->td_ucred->cr_vimage->v_procg); struct l_new_utsname utsname; char osname[LINUX_MAX_UTSNAME]; char osrelease[LINUX_MAX_UTSNAME]; @@ -743,7 +746,7 @@ #else /* something other than i386 or amd64 - assume we and Linux agree */ strlcpy(utsname.machine, machine, LINUX_MAX_UTSNAME); #endif /* __i386__ */ - strlcpy(utsname.domainname, domainname, LINUX_MAX_UTSNAME); + strlcpy(utsname.domainname, V_domainname, LINUX_MAX_UTSNAME); return (copyout(&utsname, args->buf, sizeof(utsname))); } ==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#7 (text+ko) ==== @@ -1457,7 +1457,7 @@ } #ifdef __FreeBSD__ - CURVNET_SET(td->td_vimage->v_vnet); + CURVNET_SET(td->td_ucred->cr_vimage->v_vnet); INIT_VNET_PF(curvnet); PF_LOCK(); #else ==== //depot/projects/vimage/src/sys/fs/cd9660/cd9660_rrip.c#2 (text+ko) ==== @@ -34,6 +34,8 @@ * @(#)cd9660_rrip.c 8.6 (Berkeley) 12/5/94 */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/fs/cd9660/cd9660_rrip.c,v 1.30 2007/02/11 13:54:25 rodrigc Exp $"); @@ -44,6 +46,7 @@ #include #include #include +#include #include #include @@ -113,6 +116,7 @@ ISO_RRIP_SLINK *p; ISO_RRIP_ANALYZE *ana; { + INIT_VPROCG(curthread->td_ucred->cr_vimage->v_procg); ISO_RRIP_SLINK_COMPONENT *pcomp; ISO_RRIP_SLINK_COMPONENT *pcompe; int len, wlen, cont; @@ -171,8 +175,8 @@ case ISO_SUSP_CFLAG_HOST: /* Inserting hostname i.e. "kurt.tools.de" */ - inbuf = hostname; - wlen = strlen(hostname); + inbuf = V_hostname; + wlen = strlen(V_hostname); break; case ISO_SUSP_CFLAG_CONTINUE: @@ -222,6 +226,7 @@ ISO_RRIP_ALTNAME *p; ISO_RRIP_ANALYZE *ana; { + INIT_VPROCG(curthread->td_ucred->cr_vimage->v_procg); char *inbuf; int wlen; int cont; @@ -243,8 +248,8 @@ case ISO_SUSP_CFLAG_HOST: /* Inserting hostname i.e. "kurt.tools.de" */ - inbuf = hostname; - wlen = strlen(hostname); + inbuf = V_hostname; + wlen = strlen(V_hostname); break; case ISO_SUSP_CFLAG_CONTINUE: ==== //depot/projects/vimage/src/sys/i386/i386/dump_machdep.c#2 (text+ko) ==== @@ -24,6 +24,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/i386/i386/dump_machdep.c,v 1.12 2006/04/21 04:28:43 peter Exp $"); @@ -34,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -109,6 +112,7 @@ mkdumpheader(struct kerneldumpheader *kdh, uint32_t archver, uint64_t dumplen, uint32_t blksz) { + INIT_VPROCG(vimage_0.v_procg); bzero(kdh, sizeof(*kdh)); strncpy(kdh->magic, KERNELDUMPMAGIC, sizeof(kdh->magic)); @@ -118,7 +122,7 @@ kdh->dumplength = htod64(dumplen); kdh->dumptime = htod64(time_second); kdh->blocksize = htod32(blksz); - strncpy(kdh->hostname, hostname, sizeof(kdh->hostname)); + strncpy(kdh->hostname, V_hostname, sizeof(kdh->hostname)); strncpy(kdh->versionstring, version, sizeof(kdh->versionstring)); if (panicstr != NULL) strncpy(kdh->panicstring, panicstr, sizeof(kdh->panicstring)); ==== //depot/projects/vimage/src/sys/i386/i386/minidump_machdep.c#3 (text) ==== @@ -24,6 +24,8 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "opt_vimage.h" + #include __FBSDID("$FreeBSD: src/sys/i386/i386/minidump_machdep.c,v 1.3 2007/04/06 18:15:02 ru Exp $"); @@ -34,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -83,6 +86,7 @@ mkdumpheader(struct kerneldumpheader *kdh, uint32_t archver, uint64_t dumplen, uint32_t blksz) { + INIT_VPROCG(vimage_0.v_procg); bzero(kdh, sizeof(*kdh)); strncpy(kdh->magic, KERNELDUMPMAGIC, sizeof(kdh->magic)); @@ -92,7 +96,7 @@ kdh->dumplength = htod64(dumplen); kdh->dumptime = htod64(time_second); kdh->blocksize = htod32(blksz); - strncpy(kdh->hostname, hostname, sizeof(kdh->hostname)); + strncpy(kdh->hostname, V_hostname, sizeof(kdh->hostname)); strncpy(kdh->versionstring, version, sizeof(kdh->versionstring)); if (panicstr != NULL) strncpy(kdh->panicstring, panicstr, sizeof(kdh->panicstring)); ==== //depot/projects/vimage/src/sys/kern/init_main.c#7 (text+ko) ==== @@ -441,6 +441,10 @@ p->p_ucred->cr_uidinfo = uifind(0); p->p_ucred->cr_ruidinfo = uifind(0); p->p_ucred->cr_prison = NULL; /* Don't jail it. */ +#ifdef VIMAGE + p->p_ucred->cr_vimage = p->p_ucred->cr_rvimage = &vimage_0; + vimage_0.v_procg->nprocs = 1; +#endif #ifdef AUDIT audit_proc_alloc(p); audit_proc_kproc0(p); @@ -450,11 +454,6 @@ #endif td->td_ucred = crhold(p->p_ucred); -#ifdef VIMAGE - /* Init lives in the default vimage */ - td->td_vimage = &vimage_0; -#endif - /* Create sigacts. */ p->p_sigacts = sigacts_alloc(); ==== //depot/projects/vimage/src/sys/kern/kern_clock.c#5 (text+ko) ==== @@ -41,6 +41,7 @@ #include "opt_hwpmc_hooks.h" #include "opt_ntp.h" #include "opt_watchdog.h" +#include "opt_vimage.h" #include #include @@ -64,6 +65,7 @@ #include #include #include +#include #ifdef GPROF #include @@ -81,11 +83,15 @@ SYSINIT(clocks, SI_SUB_CLOCKS, SI_ORDER_FIRST, initclocks, NULL) /* Some of these don't belong here, but it's easiest to concentrate them. */ +#ifndef VIMAGE long cp_time[CPUSTATES]; +#endif static int sysctl_kern_cp_time(SYSCTL_HANDLER_ARGS) { + INIT_VPROCG(curthread->td_ucred->cr_vimage->v_procg); + int error; #ifdef SCTL_MASK32 int i; @@ -95,14 +101,14 @@ if (!req->oldptr) return SYSCTL_OUT(req, 0, sizeof(cp_time32)); for (i = 0; i < CPUSTATES; i++) - cp_time32[i] = (unsigned int)cp_time[i]; + cp_time32[i] = (unsigned int)V_cp_time[i]; error = SYSCTL_OUT(req, cp_time32, sizeof(cp_time32)); } else #endif { if (!req->oldptr) - return SYSCTL_OUT(req, 0, sizeof(cp_time)); - error = SYSCTL_OUT(req, cp_time, sizeof(cp_time)); + return SYSCTL_OUT(req, 0, sizeof(V_cp_time)); + error = SYSCTL_OUT(req, V_cp_time, sizeof(V_cp_time)); } return error; } @@ -408,9 +414,14 @@ struct thread *td; struct proc *p; long rss; + int sel; td = curthread; p = td->td_proc; +#ifdef VIMAGE + INIT_VPROCG(p->p_ucred->cr_rvimage->v_procg); + struct vprocg *vprocg_iter; +#endif mtx_lock_spin_flags(&sched_lock, MTX_QUIET); if (usermode) { @@ -423,9 +434,9 @@ #endif td->td_uticks++; if (p->p_nice > NZERO) - cp_time[CP_NICE]++; + sel = CP_NICE; else - cp_time[CP_USER]++; + sel = CP_USER; } else { /* * Came from kernel mode, so we were: @@ -442,7 +453,7 @@ if ((td->td_pflags & TDP_ITHREAD) || td->td_intr_nesting_level >= 2) { td->td_iticks++; - cp_time[CP_INTR]++; + sel = CP_INTR; } else { #ifdef KSE if (p->p_flag & P_SA) @@ -451,11 +462,20 @@ td->td_pticks++; td->td_sticks++; if (!TD_IS_IDLETHREAD(td)) - cp_time[CP_SYS]++; + sel = CP_SYS; else - cp_time[CP_IDLE]++; + sel = CP_IDLE; } } + V_cp_time[sel]++; +#ifdef VIMAGE + if (sel != CP_INTR) + sel = CP_IDLE; + /* XXX list locking? sched_lock is held here... */ + LIST_FOREACH(vprocg_iter, &vprocg_head, vprocg_le) + if (vprocg != vprocg_iter) + vprocg_iter->_cp_time[sel]++; +#endif CTR4(KTR_SCHED, "statclock: %p(%s) prio %d stathz %d", td, td->td_proc->p_comm, td->td_priority, (stathz)?stathz:hz); ==== //depot/projects/vimage/src/sys/kern/kern_exit.c#3 (text+ko) ==== @@ -40,6 +40,7 @@ #include "opt_compat.h" #include "opt_ktrace.h" #include "opt_mac.h" +#include "opt_vimage.h" #include #include @@ -67,6 +68,7 @@ #include #include #include +#include #ifdef KTRACE #include #endif @@ -170,6 +172,25 @@ */ } +#ifdef VIMAGE + /* + * Switch back to vprocg of our parent so we can deliver + * signals, otherwise we won't die - why?!? XXX + * + * XXX real or effective vimage? + * XXX nprocs counting in vprocg? + */ + if (p->p_pptr && p->p_ucred->cr_vimage->v_procg != + p->p_pptr->p_ucred->cr_vimage->v_procg) { + struct ucred *oldcred = p->p_ucred; + + setsugid(p); + p->p_ucred = p->p_pptr->p_ucred; + crhold(p->p_ucred); + crfree(oldcred); + } +#endif + /* * Wakeup anyone in procfs' PIOCWAIT. They should have a hold * on our vmspace, so we should block below until they have @@ -666,6 +687,7 @@ AUDIT_ARG(pid, pid); q = td->td_proc; + if (pid == 0) { PROC_LOCK(q); pid = -q->p_pgid; @@ -709,6 +731,9 @@ nfound++; if (p->p_state == PRS_ZOMBIE) { +#ifdef VIMAGE + struct vimage *rvp = p->p_ucred->cr_rvimage; +#endif /* * It is possible that the last thread of this @@ -815,6 +840,9 @@ uma_zfree(proc_zone, p); sx_xlock(&allproc_lock); nprocs--; +#ifdef VIMAGE + rvp->v_procg->nprocs--; +#endif sx_xunlock(&allproc_lock); return (0); } ==== //depot/projects/vimage/src/sys/kern/kern_fork.c#7 (text+ko) ==== @@ -198,16 +198,6 @@ struct sigacts *newsigacts; int error; -#ifdef VIMAGE - /* XXX this should never happen! */ - if (td->td_vimage == NULL) { - if (td->td_proc->p_pid == 0) - td->td_vimage = &vimage_0; - else - panic("td_vimage not set"); - } -#endif - /* Can't copy and clear. */ if ((flags & (RFFDG|RFCFDG)) == (RFFDG|RFCFDG)) return (EINVAL); @@ -340,6 +330,9 @@ * are hard-limits as to the number of processes that can run. */ nprocs++; +#ifdef VIMAGE + p1->p_ucred->cr_rvimage->v_procg->nprocs++; +#endif /* * Find an unused process ID. We remember a range of unused IDs @@ -505,7 +498,6 @@ td2->td_sigstk = td->td_sigstk; td2->td_sigmask = td->td_sigmask; - td2->td_vimage = td->td_vimage; td2->td_vnet = NULL; /* XXX */ td2->td_vnet_lpush = NULL; /* XXX */ ==== //depot/projects/vimage/src/sys/kern/kern_jail.c#4 (text+ko) ==== @@ -11,6 +11,7 @@ __FBSDID("$FreeBSD: src/sys/kern/kern_jail.c,v 1.70 2007/04/13 23:54:22 pjd Exp $"); #include "opt_mac.h" +#include "opt_vimage.h" #include #include @@ -33,6 +34,8 @@ #include #include #include +#include + #include #include @@ -449,6 +452,10 @@ if (cred2->cr_prison != cred1->cr_prison) return (ESRCH); } +#ifdef VIMAGE + if (cred2->cr_vimage->v_procg != cred1->cr_vimage->v_procg) + return (ESRCH); +#endif return (0); } @@ -469,13 +476,14 @@ void getcredhostname(struct ucred *cred, char *buf, size_t size) { + INIT_VPROCG(cred->cr_vimage->v_procg); if (jailed(cred)) { mtx_lock(&cred->cr_prison->pr_mtx); strlcpy(buf, cred->cr_prison->pr_host, size); mtx_unlock(&cred->cr_prison->pr_mtx); } else - strlcpy(buf, hostname, size); + strlcpy(buf, V_hostname, size); } /* ==== //depot/projects/vimage/src/sys/kern/kern_kse.c#6 (text+ko) ==== @@ -1019,10 +1019,8 @@ bcopy(&td->td_startcopy, &td2->td_startcopy, __rangeof(struct thread, td_startcopy, td_endcopy)); - /* XXX don't forget refcounting in vimage */ - td2->td_vimage = td->td_vimage; - td2->td_vnet = NULL; /* XXX */ - td2->td_vnet_lpush = NULL; /* XXX */ + td2->td_vnet = NULL; + td2->td_vnet_lpush = NULL; thread_link(td2, ku->ku_proc); /* inherit parts of blocked thread's context as a good template */ ==== //depot/projects/vimage/src/sys/kern/kern_linker.c#6 (text+ko) ==== @@ -862,11 +862,11 @@ return (error); #ifdef VIMAGE - if (td->td_vimage != &vimage_0) + if (td->td_ucred->cr_vimage != &vimage_0) return (EPERM); #endif - CURVNET_SET(td->td_vimage->v_vnet); + CURVNET_SET(td->td_ucred->cr_vimage->v_vnet); /* * If file does not contain a qualified name or any dot in it @@ -934,10 +934,10 @@ return (error); /* XXX should suser catch this for us? */ - VNET_ASSERT(td->td_vimage == &vimage_0); + VNET_ASSERT(td->td_ucred->cr_vimage == &vimage_0); /* XXX is this necessary at all? */ VNET_ASSERT(td == curthread); - CURVNET_SET(td->td_vimage->v_vnet); + CURVNET_SET(td->td_ucred->cr_vimage->v_vnet); KLD_LOCK(); lf = linker_find_file_by_id(fileid); @@ -1182,7 +1182,7 @@ } #ifdef VIMAGE if (lf == NULL) { - CURVNET_SET(td->td_vimage->v_vnet); + CURVNET_SET(td->td_ucred->cr_vimage->v_vnet); error = vi_symlookup(&lookup, symstr); CURVNET_RESTORE(); if (error == 0) { ==== //depot/projects/vimage/src/sys/kern/kern_mib.c#3 (text+ko) ==== @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD: src/sys/kern/kern_mib.c,v 1.77 2007/04/09 19:18:09 pjd Exp $"); #include "opt_posix.h" +#include "opt_vimage.h" #include #include @@ -50,6 +51,7 @@ #include #include #include +#include SYSCTL_NODE(, 0, sysctl, CTLFLAG_RW, 0, "Sysctl internal magic"); @@ -188,11 +190,14 @@ SYSCTL_STRING(_hw, HW_MACHINE_ARCH, machine_arch, CTLFLAG_RD, machine_arch, 0, "System architecture"); +#ifndef VIMAGE char hostname[MAXHOSTNAMELEN]; +#endif static int sysctl_hostname(SYSCTL_HANDLER_ARGS) { + INIT_VPROCG(req->td->td_ucred->cr_vimage->v_procg); struct prison *pr; char tmphostname[MAXHOSTNAMELEN]; int error; @@ -224,7 +229,7 @@ } } else error = sysctl_handle_string(oidp, - hostname, sizeof hostname, req); + V_hostname, sizeof V_hostname, req); return (error); } @@ -295,9 +300,12 @@ CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_PRISON, 0, 0, sysctl_kern_securelvl, "I", "Current secure level"); +#ifndef VIMAGE char domainname[MAXHOSTNAMELEN]; -SYSCTL_STRING(_kern, KERN_NISDOMAINNAME, domainname, CTLFLAG_RW, - &domainname, sizeof(domainname), "Name of the current YP/NIS domain"); +#endif +SYSCTL_V_STRING(V_PROCG, vprocg, _kern, KERN_NISDOMAINNAME, domainname, + CTLFLAG_RW, domainname, MAXHOSTNAMELEN, + "Name of the current YP/NIS domain"); u_long hostid; SYSCTL_ULONG(_kern, KERN_HOSTID, hostid, CTLFLAG_RW, &hostid, 0, "Host ID"); ==== //depot/projects/vimage/src/sys/kern/kern_resource.c#5 (text+ko) ==== ==== //depot/projects/vimage/src/sys/kern/kern_synch.c#7 (text+ko) ==== @@ -375,7 +375,6 @@ mtx_assert(&sched_lock, MA_OWNED | MA_NOTRECURSED); td = curthread; /* XXX */ p = td->td_proc; /* XXX */ - VNET_ASSERT(td->td_vimage); /* XXX */ KASSERT(!TD_ON_RUNQ(td), ("mi_switch: called by old code")); #ifdef INVARIANTS if (!TD_ON_LOCK(td) && !TD_IS_RUNNING(td)) ==== //depot/projects/vimage/src/sys/kern/kern_sysctl.c#6 (text+ko) ==== @@ -832,16 +832,16 @@ int sysctl_handle_v_int(SYSCTL_HANDLER_V_ARGS) { - int error = 0; + int tmpout, error = 0; SYSCTL_RESOLVE_V_ARG1(); /* * Attempt to get a coherent snapshot by making a copy of the data. */ + tmpout = *(int *)arg1; + error = SYSCTL_OUT(req, &tmpout, sizeof(int)); - error = SYSCTL_OUT(req, arg1, sizeof(int)); - if (error || !req->newptr) return (error); @@ -963,6 +963,48 @@ return (error); } +#ifdef VIMAGE +int +sysctl_handle_v_string(SYSCTL_HANDLER_V_ARGS) +{ + int error=0; + char *tmparg; + size_t outlen; + + SYSCTL_RESOLVE_V_ARG1(); + + /* + * Attempt to get a coherent snapshot by copying to a + * temporary kernel buffer. + */ +retry: + outlen = strlen((char *)arg1)+1; + tmparg = malloc(outlen, M_SYSCTLTMP, M_WAITOK); + + if (strlcpy(tmparg, (char *)arg1, outlen) >= outlen) { + free(tmparg, M_SYSCTLTMP); + goto retry; + } + + error = SYSCTL_OUT(req, tmparg, outlen); + free(tmparg, M_SYSCTLTMP); + + if (error || !req->newptr) + return (error); + + if ((req->newlen - req->newidx) >= arg2) { + error = EINVAL; + } else { + arg2 = (req->newlen - req->newidx); + error = SYSCTL_IN(req, arg1, arg2); + ((char *)arg1)[arg2] = '\0'; + } + + return (error); +} +#endif + + /* * Handle any kind of opaque data. * arg1 points to it, arg2 is the size. @@ -1437,7 +1479,7 @@ req.lock = REQ_LOCKED; SYSCTL_LOCK(); - CURVNET_SET(curthread->td_vimage->v_vnet); + CURVNET_SET(curthread->td_ucred->cr_vimage->v_vnet); VNET_ASSERT(td == curthread); do { ==== //depot/projects/vimage/src/sys/kern/kern_thr.c#5 (text+ko) ==== @@ -199,8 +199,6 @@ newtd->td_proc = td->td_proc; newtd->td_ucred = crhold(td->td_ucred); - newtd->td_vimage = td->td_vimage; - cpu_set_upcall(newtd, td); if (ctx != NULL) { /* old way to set user context */ ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#19 (text+ko) ==== @@ -271,7 +271,7 @@ struct thread *td; { int error; - struct vimage *vip = td->td_vimage; + struct vimage *vip = td->td_ucred->cr_vimage; struct vimage *vip_r = NULL; struct vimage *tvip; @@ -321,6 +321,7 @@ sizeof (vi_req->vi_parent_name)); else vi_req->vi_parent_name[0] = 0; + vi_req->vi_proc_count = vip_r->v_procg->nprocs; vi_req->vi_if_count = vip_r->v_vnet->ifccnt; vi_req->vi_sock_count = vip_r->v_vnet->sockcnt; break; @@ -332,7 +333,24 @@ } if (vi_req->req_action == VI_SWITCHTO) { - td->td_vimage = vip_r; + struct proc *p = td->td_proc; + struct ucred *oldcred, *newcred; + + /* + * XXX priv_check()? + * XXX refcounting ucred -> vimage ? + * XXX change ucred for proc or thread, or both? + */ + newcred = crget(); + PROC_LOCK(p); + oldcred = p->p_ucred; + setsugid(p); + crcopy(newcred, oldcred); + newcred->cr_vimage = vip_r; + newcred->cr_rvimage = vip_r; /* XXX */ + p->p_ucred = newcred; + PROC_UNLOCK(p); + crfree(oldcred); break; } ==== //depot/projects/vimage/src/sys/kern/kern_xxx.c#3 (text+ko) ==== @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD: src/sys/kern/kern_xxx.c,v 1.49 2007/03/05 13:10:57 rwatson Exp $"); #include "opt_compat.h" +#include "opt_vimage.h" #include #include @@ -44,6 +45,7 @@ #include #include #include +#include #if defined(COMPAT_43) @@ -245,14 +247,15 @@ struct thread *td; struct getdomainname_args *uap; { + INIT_VPROCG(td->td_ucred->cr_vimage->v_procg); int domainnamelen; int error; mtx_lock(&Giant); - domainnamelen = strlen(domainname) + 1; + domainnamelen = strlen(V_domainname) + 1; if ((u_int)uap->len > domainnamelen) uap->len = domainnamelen; - error = copyout(domainname, uap->domainname, uap->len); + error = copyout(V_domainname, uap->domainname, uap->len); mtx_unlock(&Giant); return (error); } @@ -269,19 +272,21 @@ struct thread *td; struct setdomainname_args *uap; { + INIT_VPROCG(td->td_ucred->cr_vimage->v_procg); int error, domainnamelen; error = priv_check(td, PRIV_SETDOMAINNAME); +printf("setdomainname error=%d\n", error); if (error) return (error); mtx_lock(&Giant); - if ((u_int)uap->len > sizeof (domainname) - 1) { + if ((u_int)uap->len > sizeof (V_domainname) - 1) { error = EINVAL; goto done2; } domainnamelen = uap->len; - error = copyin(uap->domainname, domainname, uap->len); - domainname[domainnamelen] = 0; + error = copyin(uap->domainname, V_domainname, uap->len); + V_domainname[domainnamelen] = 0; done2: mtx_unlock(&Giant); return (error); ==== //depot/projects/vimage/src/sys/kern/tty.c#6 (text+ko) ==== @@ -1141,7 +1141,7 @@ if (t == tp->t_line) return (0); s = spltty(); - CURVNET_SET(curthread->td_vimage->v_vnet); /* XXX */ + CURVNET_SET(curthread->td_ucred->cr_vimage->v_vnet); ttyld_close(tp, flag); tp->t_line = t; /* XXX: we should use the correct cdev here */ @@ -3131,7 +3131,7 @@ goto out; goto open_top; } - CURVNET_SET(curthread->td_vimage->v_vnet); /* XXX */ + CURVNET_SET(curthread->td_ucred->cr_vimage->v_vnet); error = ttyld_open(tp, dev); CURVNET_RESTORE(); ttyldoptim(tp); @@ -3150,7 +3150,7 @@ struct tty *tp; tp = dev->si_tty; - CURVNET_SET(curthread->td_vimage->v_vnet); /* XXX */ + CURVNET_SET(curthread->td_ucred->cr_vimage->v_vnet); ttyld_close(tp, flag); CURVNET_RESTORE(); ttyldoptim(tp); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 2 16:32: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 294EF16A406; Wed, 2 May 2007 16:32: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 D74F316A402 for ; Wed, 2 May 2007 16:32:46 +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 C7BF813C465 for ; Wed, 2 May 2007 16:32:46 +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 l42GWkGZ046456 for ; Wed, 2 May 2007 16:32:46 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42GWkp8046453 for perforce@freebsd.org; Wed, 2 May 2007 16:32:46 GMT (envelope-from jhb@freebsd.org) Date: Wed, 2 May 2007 16:32:46 GMT Message-Id: <200705021632.l42GWkp8046453@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 119171 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, 02 May 2007 16:32:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=119171 Change 119171 by jhb@jhb_mutex on 2007/05/02 16:32:12 IFC @119170. Affected files ... .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#34 integrate .. //depot/projects/smpng/sys/dev/pci/pci.c#91 integrate Differences ... ==== //depot/projects/smpng/sys/dev/ata/atapi-cam.c#34 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.53 2007/04/30 09:33:57 thomas Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.54 2007/05/02 15:30:24 scottl Exp $"); #include #include @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -210,14 +211,16 @@ } if ((sim = cam_sim_alloc(atapi_action, atapi_poll, "ata", - (void *)scp, unit, &Giant, 1, 1, devq)) == NULL) { + (void *)scp, unit, &scp->state_lock, 1, 1, devq)) == NULL) { error = ENOMEM; goto out; } scp->sim = sim; + mtx_lock(&scp->state_lock); if (xpt_bus_register(sim, 0) != CAM_SUCCESS) { error = EINVAL; + mtx_unlock(&scp->state_lock); goto out; } scp->flags |= BUS_REGISTERED; @@ -226,6 +229,7 @@ cam_sim_path(sim), CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { error = ENOMEM; + mtx_unlock(&scp->state_lock); goto out; } scp->path = path; @@ -235,6 +239,7 @@ setup_async_cb(scp, AC_LOST_DEVICE); reinit_bus(scp, cold ? BOOT_ATTACH : ATTACH); error = 0; + mtx_unlock(&scp->state_lock); out: if (error != 0) @@ -248,10 +253,8 @@ { struct atapi_xpt_softc *scp = device_get_softc(dev); - mtx_lock(&Giant); + mtx_lock(&scp->state_lock); xpt_freeze_simq(scp->sim, 1 /*count*/); - mtx_unlock(&Giant); - mtx_lock(&scp->state_lock); scp->flags |= DETACHING; mtx_unlock(&scp->state_lock); free_softc(scp); @@ -268,7 +271,9 @@ */ if (scp != NULL) { + mtx_lock(&scp->state_lock); reinit_bus(scp, RESET); + mtx_unlock(&scp->state_lock); } return (0); } @@ -283,7 +288,6 @@ return; } - mtx_lock(&scp->state_lock); old_atadev[0] = scp->atadev[0]; old_atadev[1] = scp->atadev[1]; scp->atadev[0] = NULL; @@ -303,7 +307,6 @@ } dev_changed = (old_atadev[0] != scp->atadev[0]) || (old_atadev[1] != scp->atadev[1]); - mtx_unlock(&scp->state_lock); free(children, M_TEMP); switch (reason) { @@ -327,14 +330,12 @@ { struct ccb_setasync csa; - mtx_lock(&Giant); xpt_setup_ccb(&csa.ccb_h, scp->path, /*priority*/ 5); csa.ccb_h.func_code = XPT_SASYNC_CB; csa.event_enable = events; csa.callback = &atapi_async; csa.callback_arg = scp->sim; xpt_action((union ccb *) &csa); - mtx_unlock(&Giant); } static void @@ -377,11 +378,9 @@ cpi->protocol_version = SCSI_REV_2; if (softc->ata_ch && tid != CAM_TARGET_WILDCARD) { - mtx_lock(&softc->state_lock); if (softc->atadev[tid] == NULL) { ccb->ccb_h.status = CAM_DEV_NOT_THERE; xpt_done(ccb); - mtx_unlock(&softc->state_lock); return; } switch (softc->atadev[ccb_h->target_id]->mode) { @@ -414,7 +413,6 @@ default: break; } - mtx_unlock(&softc->state_lock); } ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); @@ -425,7 +423,9 @@ int tid = ccb_h->target_id; CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_SUBTRACE, ("dev reset\n")); + mtx_unlock(&softc->state_lock); ata_controlcmd(softc->atadev[tid]->dev, ATA_DEVICE_RESET, 0, 0, 0); + mtx_lock(&softc->state_lock); ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); return; @@ -433,7 +433,9 @@ case XPT_RESET_BUS: CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_SUBTRACE, ("bus reset\n")); + mtx_unlock(&softc->state_lock); ata_reinit(softc->parent); + mtx_lock(&softc->state_lock); ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); return; @@ -475,18 +477,15 @@ CAM_DEBUG(ccb_h->path, CAM_DEBUG_SUBTRACE, ("XPT_SCSI_IO\n")); - mtx_lock(&softc->state_lock); if (softc->flags & DETACHING) { ccb->ccb_h.status = CAM_REQ_ABORTED; xpt_done(ccb); - mtx_unlock(&softc->state_lock); return; } if (softc->atadev[tid] == NULL) { ccb->ccb_h.status = CAM_DEV_NOT_THERE; xpt_done(ccb); - mtx_unlock(&softc->state_lock); return; } @@ -494,7 +493,6 @@ if ((ccb_h->status & CAM_STATUS_MASK) != CAM_REQ_INPROG) { printf("XPT_SCSI_IO received but already in progress?\n"); xpt_done(ccb); - mtx_unlock(&softc->state_lock); return; } if (lid > 0) { @@ -641,6 +639,7 @@ mtx_unlock(&softc->state_lock); ata_queue_request(request); + mtx_lock(&softc->state_lock); return; } @@ -657,21 +656,19 @@ ata_free_request(request); if (hcb != NULL) free_hcb(hcb); - mtx_unlock(&softc->state_lock); - mtx_lock(&Giant); xpt_print_path(ccb_h->path); printf("out of memory, freezing queue.\n"); softc->flags |= RESOURCE_SHORTAGE; xpt_freeze_simq(sim, /*count*/ 1); - mtx_unlock(&Giant); ccb_h->status = CAM_REQUEUE_REQ; xpt_done(ccb); + mtx_unlock(&softc->state_lock); return; action_invalid: - mtx_unlock(&softc->state_lock); ccb_h->status = CAM_REQ_INVALID; xpt_done(ccb); + mtx_unlock(&softc->state_lock); return; } @@ -829,20 +826,22 @@ ("Rescan succeeded\n")); } xpt_free_path(ccb->ccb_h.path); - free(ccb, M_ATACAM); + xpt_free_ccb(ccb); } static void cam_rescan(struct cam_sim *sim) { struct cam_path *path; - union ccb *ccb = malloc(sizeof(union ccb), M_ATACAM, M_WAITOK | M_ZERO); + union ccb *ccb; + + ccb = xpt_alloc_ccb_nowait(); + if (ccb == NULL) + return; - mtx_lock(&Giant); if (xpt_create_path(&path, xpt_periph, cam_sim_path(sim), CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { - mtx_unlock(&Giant); - free(ccb, M_ATACAM); + xpt_free_ccb(ccb); return; } @@ -853,7 +852,6 @@ ccb->crcn.flags = CAM_FLAG_NONE; xpt_action(ccb); /* scan is in progress now */ - mtx_unlock(&Giant); } static struct atapi_hcb * @@ -891,8 +889,6 @@ TAILQ_FOREACH(hcb, &scp->pending_hcbs, chain) { free_hcb_and_ccb_done(hcb, CAM_UNREC_HBA_ERROR); } - mtx_unlock(&scp->state_lock); - mtx_lock(&Giant); if (scp->path != NULL) { setup_async_cb(scp, 0); xpt_free_path(scp->path); @@ -908,7 +904,6 @@ printf("Can't free %s SIM (still registered)\n", cam_sim_name(scp->sim)); } - mtx_unlock(&Giant); mtx_destroy(&scp->state_lock); } } ==== //depot/projects/smpng/sys/dev/pci/pci.c#91 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.349 2007/04/25 14:45:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.350 2007/05/02 16:21:18 jhb Exp $"); #include "opt_bus.h" @@ -1013,29 +1013,29 @@ pci_enable_msix(device_t dev, u_int index, uint64_t address, uint32_t data) { struct pci_devinfo *dinfo = device_get_ivars(dev); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msix *msix = &dinfo->cfg.msix; uint32_t offset; - KASSERT(cfg->msix.msix_alloc > index, ("bogus index")); - offset = cfg->msix.msix_table_offset + index * 16; - bus_write_4(cfg->msix.msix_table_res, offset, address & 0xffffffff); - bus_write_4(cfg->msix.msix_table_res, offset + 4, address >> 32); - bus_write_4(cfg->msix.msix_table_res, offset + 8, data); + KASSERT(msix->msix_alloc > index, ("bogus index")); + offset = msix->msix_table_offset + index * 16; + bus_write_4(msix->msix_table_res, offset, address & 0xffffffff); + bus_write_4(msix->msix_table_res, offset + 4, address >> 32); + bus_write_4(msix->msix_table_res, offset + 8, data); } void pci_mask_msix(device_t dev, u_int index) { struct pci_devinfo *dinfo = device_get_ivars(dev); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msix *msix = &dinfo->cfg.msix; uint32_t offset, val; - KASSERT(cfg->msix.msix_msgnum > index, ("bogus index")); - offset = cfg->msix.msix_table_offset + index * 16 + 12; - val = bus_read_4(cfg->msix.msix_table_res, offset); + KASSERT(msix->msix_msgnum > index, ("bogus index")); + offset = msix->msix_table_offset + index * 16 + 12; + val = bus_read_4(msix->msix_table_res, offset); if (!(val & PCIM_MSIX_VCTRL_MASK)) { val |= PCIM_MSIX_VCTRL_MASK; - bus_write_4(cfg->msix.msix_table_res, offset, val); + bus_write_4(msix->msix_table_res, offset, val); } } @@ -1043,15 +1043,15 @@ pci_unmask_msix(device_t dev, u_int index) { struct pci_devinfo *dinfo = device_get_ivars(dev); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msix *msix = &dinfo->cfg.msix; uint32_t offset, val; - KASSERT(cfg->msix.msix_alloc > index, ("bogus index")); - offset = cfg->msix.msix_table_offset + index * 16 + 12; - val = bus_read_4(cfg->msix.msix_table_res, offset); + KASSERT(msix->msix_alloc > index, ("bogus index")); + offset = msix->msix_table_offset + index * 16 + 12; + val = bus_read_4(msix->msix_table_res, offset); if (val & PCIM_MSIX_VCTRL_MASK) { val &= ~PCIM_MSIX_VCTRL_MASK; - bus_write_4(cfg->msix.msix_table_res, offset, val); + bus_write_4(msix->msix_table_res, offset, val); } } @@ -1059,13 +1059,13 @@ pci_pending_msix(device_t dev, u_int index) { struct pci_devinfo *dinfo = device_get_ivars(dev); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msix *msix = &dinfo->cfg.msix; uint32_t offset, bit; - KASSERT(cfg->msix.msix_alloc > index, ("bogus index")); - offset = cfg->msix.msix_pba_offset + (index / 32) * 4; + KASSERT(msix->msix_alloc > index, ("bogus index")); + offset = msix->msix_pba_offset + (index / 32) * 4; bit = 1 << index % 32; - return (bus_read_4(cfg->msix.msix_pba_res, offset) & bit); + return (bus_read_4(msix->msix_pba_res, offset) & bit); } /* @@ -1285,16 +1285,16 @@ pci_release_msix(device_t dev, device_t child) { struct pci_devinfo *dinfo = device_get_ivars(child); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msix *msix = &dinfo->cfg.msix; struct resource_list_entry *rle; int count, i; /* Do we have any messages to release? */ - if (cfg->msix.msix_alloc == 0) + if (msix->msix_alloc == 0) return (ENODEV); /* Make sure none of the resources are allocated. */ - for (i = 1, count = 0; count < cfg->msix.msix_alloc; i++) { + for (i = 1, count = 0; count < msix->msix_alloc; i++) { rle = resource_list_find(&dinfo->resources, SYS_RES_IRQ, i); if (rle == NULL) continue; @@ -1303,13 +1303,13 @@ count++; } - /* Update control register with to disable MSI-X. */ - cfg->msix.msix_ctrl &= ~PCIM_MSIXCTRL_MSIX_ENABLE; - pci_write_config(child, cfg->msix.msix_location + PCIR_MSIX_CTRL, - cfg->msix.msix_ctrl, 2); + /* Update control register to disable MSI-X. */ + msix->msix_ctrl &= ~PCIM_MSIXCTRL_MSIX_ENABLE; + pci_write_config(child, msix->msix_location + PCIR_MSIX_CTRL, + msix->msix_ctrl, 2); /* Release the messages. */ - for (i = 1, count = 0; count < cfg->msix.msix_alloc; i++) { + for (i = 1, count = 0; count < msix->msix_alloc; i++) { rle = resource_list_find(&dinfo->resources, SYS_RES_IRQ, i); if (rle == NULL) continue; @@ -1320,7 +1320,7 @@ } /* Update alloc count. */ - cfg->msix.msix_alloc = 0; + msix->msix_alloc = 0; return (0); } @@ -1334,10 +1334,10 @@ pci_msix_count_method(device_t dev, device_t child) { struct pci_devinfo *dinfo = device_get_ivars(child); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msix *msix = &dinfo->cfg.msix; - if (pci_do_msix && cfg->msix.msix_location != 0) - return (cfg->msix.msix_msgnum); + if (pci_do_msix && msix->msix_location != 0) + return (msix->msix_msgnum); return (0); } @@ -1348,26 +1348,26 @@ pci_enable_msi(device_t dev, uint64_t address, uint16_t data) { struct pci_devinfo *dinfo = device_get_ivars(dev); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msi *msi = &dinfo->cfg.msi; /* Write data and address values. */ - cfg->msi.msi_addr = address; - cfg->msi.msi_data = data; - pci_write_config(dev, cfg->msi.msi_location + PCIR_MSI_ADDR, + msi->msi_addr = address; + msi->msi_data = data; + pci_write_config(dev, msi->msi_location + PCIR_MSI_ADDR, address & 0xffffffff, 4); - if (cfg->msi.msi_ctrl & PCIM_MSICTRL_64BIT) { - pci_write_config(dev, cfg->msi.msi_location + - PCIR_MSI_ADDR_HIGH, address >> 32, 4); - pci_write_config(dev, cfg->msi.msi_location + - PCIR_MSI_DATA_64BIT, data, 2); + if (msi->msi_ctrl & PCIM_MSICTRL_64BIT) { + pci_write_config(dev, msi->msi_location + PCIR_MSI_ADDR_HIGH, + address >> 32, 4); + pci_write_config(dev, msi->msi_location + PCIR_MSI_DATA_64BIT, + data, 2); } else - pci_write_config(dev, cfg->msi.msi_location + - PCIR_MSI_DATA, data, 2); + pci_write_config(dev, msi->msi_location + PCIR_MSI_DATA, data, + 2); /* Enable MSI in the control register. */ - cfg->msi.msi_ctrl |= PCIM_MSICTRL_MSI_ENABLE; - pci_write_config(dev, cfg->msi.msi_location + PCIR_MSI_CTRL, - cfg->msi.msi_ctrl, 2); + msi->msi_ctrl |= PCIM_MSICTRL_MSI_ENABLE; + pci_write_config(dev, msi->msi_location + PCIR_MSI_CTRL, msi->msi_ctrl, + 2); } /* @@ -1379,26 +1379,26 @@ pci_resume_msi(device_t dev) { struct pci_devinfo *dinfo = device_get_ivars(dev); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msi *msi = &dinfo->cfg.msi; uint64_t address; uint16_t data; - if (cfg->msi.msi_ctrl & PCIM_MSICTRL_MSI_ENABLE) { - address = cfg->msi.msi_addr; - data = cfg->msi.msi_data; - pci_write_config(dev, cfg->msi.msi_location + PCIR_MSI_ADDR, + if (msi->msi_ctrl & PCIM_MSICTRL_MSI_ENABLE) { + address = msi->msi_addr; + data = msi->msi_data; + pci_write_config(dev, msi->msi_location + PCIR_MSI_ADDR, address & 0xffffffff, 4); - if (cfg->msi.msi_ctrl & PCIM_MSICTRL_64BIT) { - pci_write_config(dev, cfg->msi.msi_location + + if (msi->msi_ctrl & PCIM_MSICTRL_64BIT) { + pci_write_config(dev, msi->msi_location + PCIR_MSI_ADDR_HIGH, address >> 32, 4); - pci_write_config(dev, cfg->msi.msi_location + + pci_write_config(dev, msi->msi_location + PCIR_MSI_DATA_64BIT, data, 2); } else - pci_write_config(dev, cfg->msi.msi_location + - PCIR_MSI_DATA, data, 2); + pci_write_config(dev, msi->msi_location + PCIR_MSI_DATA, + data, 2); } - pci_write_config(dev, cfg->msi.msi_location + PCIR_MSI_CTRL, - cfg->msi.msi_ctrl, 2); + pci_write_config(dev, msi->msi_location + PCIR_MSI_CTRL, msi->msi_ctrl, + 2); } /* @@ -1556,7 +1556,7 @@ } } - /* Update control register with actual count and enable MSI. */ + /* Update control register with actual count. */ ctrl = cfg->msi.msi_ctrl; ctrl &= ~PCIM_MSICTRL_MME_MASK; ctrl |= (ffs(actual) - 1) << 4; @@ -1574,7 +1574,7 @@ pci_release_msi_method(device_t dev, device_t child) { struct pci_devinfo *dinfo = device_get_ivars(child); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msi *msi = &dinfo->cfg.msi; struct resource_list_entry *rle; int error, i, irqs[32]; @@ -1584,12 +1584,12 @@ return (error); /* Do we have any messages to release? */ - if (cfg->msi.msi_alloc == 0) + if (msi->msi_alloc == 0) return (ENODEV); - KASSERT(cfg->msi.msi_alloc <= 32, ("more than 32 alloc'd messages")); + KASSERT(msi->msi_alloc <= 32, ("more than 32 alloc'd messages")); /* Make sure none of the resources are allocated. */ - for (i = 0; i < cfg->msi.msi_alloc; i++) { + for (i = 0; i < msi->msi_alloc; i++) { rle = resource_list_find(&dinfo->resources, SYS_RES_IRQ, i + 1); KASSERT(rle != NULL, ("missing MSI resource")); if (rle->res != NULL) @@ -1598,18 +1598,17 @@ } /* Update control register with 0 count and disable MSI. */ - cfg->msi.msi_ctrl &= ~(PCIM_MSICTRL_MME_MASK | PCIM_MSICTRL_MSI_ENABLE); - pci_write_config(child, cfg->msi.msi_location + PCIR_MSI_CTRL, - cfg->msi.msi_ctrl, 2); + msi->msi_ctrl &= ~(PCIM_MSICTRL_MME_MASK | PCIM_MSICTRL_MSI_ENABLE); + pci_write_config(child, msi->msi_location + PCIR_MSI_CTRL, + msi->msi_ctrl, 2); /* Release the messages. */ - PCIB_RELEASE_MSI(device_get_parent(dev), child, cfg->msi.msi_alloc, - irqs); - for (i = 0; i < cfg->msi.msi_alloc; i++) + PCIB_RELEASE_MSI(device_get_parent(dev), child, msi->msi_alloc, irqs); + for (i = 0; i < msi->msi_alloc; i++) resource_list_delete(&dinfo->resources, SYS_RES_IRQ, i + 1); /* Update alloc count. */ - cfg->msi.msi_alloc = 0; + msi->msi_alloc = 0; return (0); } @@ -1623,10 +1622,10 @@ pci_msi_count_method(device_t dev, device_t child) { struct pci_devinfo *dinfo = device_get_ivars(child); - pcicfgregs *cfg = &dinfo->cfg; + struct pcicfg_msi *msi = &dinfo->cfg.msi; - if (pci_do_msi && cfg->msi.msi_location != 0) - return (cfg->msi.msi_msgnum); + if (pci_do_msi && msi->msi_location != 0) + return (msi->msi_msgnum); return (0); } From owner-p4-projects@FreeBSD.ORG Wed May 2 19:40:49 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 065A816A406; Wed, 2 May 2007 19:40:49 +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 B837A16A400 for ; Wed, 2 May 2007 19:40:48 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A895413C448 for ; Wed, 2 May 2007 19:40:48 +0000 (UTC) (envelope-from zec@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 l42Jemhv087846 for ; Wed, 2 May 2007 19:40:48 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42JemRA087843 for perforce@freebsd.org; Wed, 2 May 2007 19:40:48 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 2 May 2007 19:40:48 GMT Message-Id: <200705021940.l42JemRA087843@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 119182 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, 02 May 2007 19:40:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=119182 Change 119182 by zec@zec_tpx32 on 2007/05/02 19:40:41 When a ng_eiface node is created, automatically assign it a name in the current netgraph namespace, just as we do for ng_iface nodes. The name defaults to ngethXX. When an arpcom ifnet is attached via ether_ifattach(), and ng_ether module is present, do not create / attach an ether node to this ifnet if a netgraph node with the same name already exists. This should prevent ether nodes to be attached to eiface nodes in the same vnet, which is pointless for all practical purposes. However, if a ng_eiface ifnet is reassigned to another vnet, a ng_ether node will be attached to such an ifnet there (in the other netgraph namespace), allowing for netgraph processing elements to be inserted in the data path in both the original and the target vnet. I.e. in such case one netgraph node of eiface type will be attached to the ifnet in the original vnet, and another node of type ether will be attached in the target vnet. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/netgraph.h#2 edit .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#7 edit .. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#3 edit .. //depot/projects/vimage/src/sys/netgraph/ng_ether.c#7 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/netgraph.h#2 (text+ko) ==== @@ -1080,6 +1080,7 @@ struct ng_type *ng_findtype(const char *type); int ng_make_node_common(struct ng_type *typep, node_p *nodep); int ng_name_node(node_p node, const char *name); +node_p ng_name2noderef(node_p node, const char *name); int ng_newtype(struct ng_type *tp); ng_ID_t ng_node2ID(node_p node); item_p ng_package_data(struct mbuf *m, int flags); ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#7 (text+ko) ==== @@ -213,7 +213,6 @@ /* Imported, these used to be externally visible, some may go back. */ void ng_destroy_hook(hook_p hook); -node_p ng_name2noderef(node_p node, const char *name); int ng_path2noderef(node_p here, const char *path, node_p *dest, hook_p *lasthook); int ng_make_node(const char *type, node_p *nodepp); ==== //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#3 (text+ko) ==== @@ -361,12 +361,10 @@ ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; ifp->if_flags = (IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST); -#if 0 - /* Give this node name */ - bzero(ifname, sizeof(ifname)); - sprintf(ifname, "if%s", ifp->if_xname); - (void)ng_name_node(node, ifname); -#endif + /* Give this node the same name as the interface (if possible) */ + if (ng_name_node(node, ifp->if_xname) != 0) + log(LOG_WARNING, "%s: can't acquire netgraph name\n", + ifp->if_xname); /* Attach the interface */ ether_ifattach(ifp, eaddr); ==== //depot/projects/vimage/src/sys/netgraph/ng_ether.c#7 (text+ko) ==== @@ -286,6 +286,15 @@ priv_p priv; node_p node; + /* + * Do not create / attach an ether node to this ifnet if + * a netgraph node with the same name already exists. + * This should prevent ether nodes to be attached to + * eiface nodes in the same vnet, which is pointless. + */ + if (ng_name2noderef(node, ifp->if_xname) != NULL) + return; + /* Create node */ KASSERT(!IFP2NG(ifp), ("%s: node already exists?", __func__)); if (ng_make_node_common(&ng_ether_typestruct, &node) != 0) { From owner-p4-projects@FreeBSD.ORG Wed May 2 21:40:16 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 634A816A407; Wed, 2 May 2007 21:40:16 +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 302E616A402 for ; Wed, 2 May 2007 21:40:16 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2043E13C457 for ; Wed, 2 May 2007 21:40:16 +0000 (UTC) (envelope-from zec@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 l42LeGgQ017107 for ; Wed, 2 May 2007 21:40:16 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l42LeF5J017095 for perforce@freebsd.org; Wed, 2 May 2007 21:40:15 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 2 May 2007 21:40:15 GMT Message-Id: <200705022140.l42LeF5J017095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 119185 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, 02 May 2007 21:40:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=119185 Change 119185 by zec@zec_tpx32 on 2007/05/02 21:39:29 It is possible that an ifnet and a netgraph node it is associated to are attached to different vnets. In netgraph node destructor for such a node/ifnet (ng_iface or ng_eiface) pair, before calling if_detach() we must set the current vnet context to the vnet that our ifnet is associated to. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#4 edit .. //depot/projects/vimage/src/sys/netgraph/ng_iface.c#2 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#4 (text+ko) ==== @@ -28,6 +28,8 @@ * $FreeBSD: src/sys/netgraph/ng_eiface.c,v 1.38 2007/03/08 21:10:53 ru Exp $ */ +#include "opt_vimage.h" + #include #include #include @@ -38,6 +40,7 @@ #include #include #include +#include #include #include @@ -539,8 +542,10 @@ const priv_p priv = NG_NODE_PRIVATE(node); struct ifnet *const ifp = priv->ifp; + CURVNET_SET_QUIET(ifp->if_vnet); ether_ifdetach(ifp); if_free(ifp); + CURVNET_RESTORE(); free_unr(ng_eiface_unit, priv->unit); FREE(priv, M_NETGRAPH); NG_NODE_SET_PRIVATE(node, NULL); ==== //depot/projects/vimage/src/sys/netgraph/ng_iface.c#2 (text+ko) ==== @@ -56,6 +56,7 @@ #include "opt_inet.h" #include "opt_inet6.h" #include "opt_ipx.h" +#include "opt_vimage.h" #include #include @@ -69,6 +70,7 @@ #include #include #include +#include #include #include @@ -766,9 +768,11 @@ { const priv_p priv = NG_NODE_PRIVATE(node); + CURVNET_SET_QUIET(priv->ifp->if_vnet); bpfdetach(priv->ifp); if_detach(priv->ifp); if_free(priv->ifp); + CURVNET_RESTORE(); priv->ifp = NULL; free_unr(ng_iface_unit, priv->unit); FREE(priv, M_NETGRAPH_IFACE); From owner-p4-projects@FreeBSD.ORG Thu May 3 15:41: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 39CE216A40B; Thu, 3 May 2007 15:41: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 087FD16A409 for ; Thu, 3 May 2007 15:41:42 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D52D013C465 for ; Thu, 3 May 2007 15:41:41 +0000 (UTC) (envelope-from taleks@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 l43FffQR074354 for ; Thu, 3 May 2007 15:41:41 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l43Fff0R074348 for perforce@freebsd.org; Thu, 3 May 2007 15:41:41 GMT (envelope-from taleks@FreeBSD.org) Date: Thu, 3 May 2007 15:41:41 GMT Message-Id: <200705031541.l43Fff0R074348@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 119198 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, 03 May 2007 15:41:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=119198 Change 119198 by taleks@taleks_th on 2007/05/03 15:41:26 Added two files for ISR install/remove/handle for working in real/v86 mode. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/pxe_isr.S#1 add .. //depot/projects/soc2007/taleks-pxe_http/pxe_isr.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu May 3 18:53: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 304ED16A406; Thu, 3 May 2007 18:53: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 A43DF16A402 for ; Thu, 3 May 2007 18:53:41 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 92E1613C465 for ; Thu, 3 May 2007 18:53:41 +0000 (UTC) (envelope-from scottl@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 l43Irf77025788 for ; Thu, 3 May 2007 18:53:41 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l43IrcSK025777 for perforce@freebsd.org; Thu, 3 May 2007 18:53:38 GMT (envelope-from scottl@freebsd.org) Date: Thu, 3 May 2007 18:53:38 GMT Message-Id: <200705031853.l43IrcSK025777@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 119203 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, 03 May 2007 18:53:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=119203 Change 119203 by scottl@scottl-x64 on 2007/05/03 18:53:13 IFC Affected files ... .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/local_apic.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/mptable_pci.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/nexus.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/intr_machdep.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/pci/pci_bus.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/i80321/ep80219_machdep.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/i80321/iq31244_machdep.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#65 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_misc.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linprocfs/linprocfs.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/opensolaris/kern/opensolaris_vfs.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#24 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_ibm.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi_pcib_acpi.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi_pcib_pci.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bge.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bgereg.h#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ciss/ciss.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ciss/cissvar.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/firewire.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/firewirereg.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/fwdev.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/fwohci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/fwohcireg.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/if_fwip.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/sbp.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/sbp_targ.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/hme/if_hme.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_smbios.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mii/brgphy.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mii/mii.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/msk/if_msk.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/if_mxge.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci_if.m#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci_pci.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci_private.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pcib_if.m#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pcib_private.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pcireg.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pcivar.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/stge/if_stge.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/stge/if_stgereg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/uart/uart_kbd_sun.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/if_axe.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/if_axereg.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/uftdi.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdevs#18 integrate .. //depot/projects/scottl-camlock/src/sys/fs/procfs/procfs_ioctl.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/part/g_part.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/local_apic.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/mptable_pci.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/msi.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/nexus.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/pmap.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/intr_machdep.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/i386/pci/pci_bus.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_descrip.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_rman.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_generic.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_debug.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_sockbuf.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_socket.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_syscalls.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_mount.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/net/ieee8023ad_lacp.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/net/if.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_lagg.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_lagg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_pcb.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_pcb.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_divert.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_proxy.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/raw_ip.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_auth.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_bsd_addr.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_constants.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_header.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_indata.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_indata.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_input.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_os_bsd.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_output.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_output.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_pcb.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_pcb.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_peeloff.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_usrreq.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctputil.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/sctputil.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_subr.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_usrreq.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/udp_usrreq.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_pcb.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_src.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/sctp6_usrreq.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_bio.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vnops.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_ioctl.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/machdep.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/upa.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ioctl_compat.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/sys/param.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/socketvar.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_map.c#13 integrate Differences ... ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/local_apic.c#13 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.37 2007/03/20 21:53:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.38 2007/04/25 19:58:41 ariff Exp $"); #include "opt_hwpmc_hooks.h" @@ -326,6 +326,29 @@ /* XXX: Error and thermal LVTs */ + if (strcmp(cpu_vendor, "AuthenticAMD") == 0) { + /* + * Detect the presence of C1E capability mostly on latest + * dual-cores (or future) k8 family. This feature renders + * the local APIC timer dead, so we disable it by reading + * the Interrupt Pending Message register and clearing both + * C1eOnCmpHalt (bit 28) and SmiOnCmpHalt (bit 27). + * + * Reference: + * "BIOS and Kernel Developer's Guide for AMD NPT + * Family 0Fh Processors" + * #32559 revision 3.00 + */ + if ((cpu_id & 0x00000f00) == 0x00000f00 && + (cpu_id & 0x0fff0000) >= 0x00040000) { + uint64_t msr; + + msr = rdmsr(0xc0010055); + if (msr & 0x18000000) + wrmsr(0xc0010055, msr & ~0x18000000ULL); + } + } + intr_restore(eflags); } ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/mptable_pci.c#7 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.7 2007/01/22 21:48:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.8 2007/05/02 17:50:34 jhb Exp $"); #include #include @@ -72,7 +72,7 @@ return (bus_generic_attach(dev)); } -/* Pass MSI alloc requests up to the nexus. */ +/* Pass MSI requests up to the nexus. */ static int mptable_hostb_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs) @@ -85,12 +85,22 @@ } static int -mptable_hostb_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +mptable_hostb_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +mptable_hostb_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static device_method_t mptable_hostb_methods[] = { @@ -120,8 +130,8 @@ DEVMETHOD(pcib_alloc_msi, mptable_hostb_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, mptable_hostb_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, mptable_hostb_map_msi), { 0, 0 } }; @@ -177,8 +187,8 @@ DEVMETHOD(pcib_alloc_msi, pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, pcib_map_msi), {0, 0} }; ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#4 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.4 2007/02/15 22:22:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.5 2007/05/02 17:50:34 jhb Exp $"); #include #include @@ -99,21 +99,20 @@ * assigned an ID by the system; however, a group will use the ID from * the first message. * - * For MSI-X, each message is isolated, and msi_index indicates the - * index of this message in the device's MSI-X table. + * For MSI-X, each message is isolated. */ struct msi_intsrc { struct intsrc msi_intsrc; device_t msi_dev; /* Owning device. (g) */ struct msi_intsrc *msi_first; /* First source in group. */ u_int msi_irq; /* IRQ cookie. */ - u_int msi_index; /* Index of this message. */ u_int msi_msix; /* MSI-X message. */ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ }; +static struct msi_intsrc *msi_create_source(u_int irq); static void msi_enable_source(struct intsrc *isrc); static void msi_disable_source(struct intsrc *isrc, int eoi); static void msi_eoi_source(struct intsrc *isrc); @@ -123,16 +122,10 @@ static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); -static void msix_enable_intr(struct intsrc *isrc); -static int msix_source_pending(struct intsrc *isrc); -static void msix_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_vector, msi_source_pending, NULL, NULL, msi_config_intr, msi_assign_cpu }; -struct pic msix_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, - msix_enable_intr, msi_vector, msix_source_pending, - NULL, NULL, msi_config_intr, msix_assign_cpu }; static int msi_enabled; static struct sx msi_sx; @@ -162,17 +155,6 @@ { struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - /* - * Since we can only enable the entire group at once, go ahead and - * enable the messages when the first message is given a handler. - * Note that we assume all devices will register a handler for the - * first message. - */ - if (msi->msi_index == 0) { - mtx_lock_spin(&icu_lock); - pci_enable_msi(msi->msi_dev, INTEL_ADDR(msi), INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); - } apic_enable_vector(msi->msi_vector); } @@ -206,51 +188,13 @@ msi->msi_cpu = apic_id; if (bootverbose) - printf("msi: Assigning MSI IRQ %d to local APIC %u\n", - msi->msi_irq, msi->msi_cpu); - mtx_lock_spin(&icu_lock); + printf("msi: Assigning %s IRQ %d to local APIC %u\n", + msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, + msi->msi_cpu); if (isrc->is_enabled) - pci_enable_msi(msi->msi_dev, INTEL_ADDR(msi), INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); + pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); } -static void -msix_enable_intr(struct intsrc *isrc) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - mtx_lock_spin(&icu_lock); - pci_enable_msix(msi->msi_dev, msi->msi_index, INTEL_ADDR(msi), - INTEL_DATA(msi)); - pci_unmask_msix(msi->msi_dev, msi->msi_index); - mtx_unlock_spin(&icu_lock); - apic_enable_vector(msi->msi_vector); -} - -static int -msix_source_pending(struct intsrc *isrc) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - return (pci_pending_msix(msi->msi_dev, msi->msi_index)); -} - -static void -msix_assign_cpu(struct intsrc *isrc, u_int apic_id) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - msi->msi_cpu = apic_id; - if (bootverbose) - printf("msi: Assigning MSI-X IRQ %d to local APIC %u\n", - msi->msi_irq, msi->msi_cpu); - mtx_lock_spin(&icu_lock); - if (isrc->is_enabled) - pci_enable_msix(msi->msi_dev, msi->msi_index, INTEL_ADDR(msi), - INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); -} - void msi_init(void) { @@ -262,10 +206,21 @@ msi_enabled = 1; intr_register_pic(&msi_pic); - intr_register_pic(&msix_pic); sx_init(&msi_sx, "msi"); } +struct msi_intsrc * +msi_create_source(u_int irq) +{ + struct msi_intsrc *msi; + + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi->msi_intsrc.is_pic = &msi_pic; + msi->msi_irq = irq; + intr_register_source(&msi->msi_intsrc); + return (msi); +} + /* * Try to allocate 'count' interrupt sources with contiguous IDT values. If * we allocate any new sources, then their IRQ values will be at the end of @@ -317,14 +272,8 @@ *newcount = count - cnt; for (j = 0; j < *newcount; j++) { - /* Create a new MSI source. */ - msi = malloc(sizeof(struct msi_intsrc), M_MSI, - M_WAITOK | M_ZERO); - msi->msi_intsrc.is_pic = &msi_pic; - msi->msi_irq = i + j; - intr_register_source(&msi->msi_intsrc); - - /* Add it to our array. */ + /* Create a new MSI source and add it to our array. */ + msi_create_source(i + j); irqs[cnt] = i + j; cnt++; } @@ -344,13 +293,11 @@ fsrc = (struct msi_intsrc *)intr_lookup_source(irqs[0]); for (i = 0; i < count; i++) { msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]); - msi->msi_intsrc.is_pic = &msi_pic; msi->msi_dev = dev; msi->msi_vector = vector + i; if (bootverbose) printf("msi: routing MSI IRQ %d to vector %u\n", msi->msi_irq, msi->msi_vector); - msi->msi_index = i; msi->msi_first = fsrc; /* XXX: Somewhat gross. */ @@ -395,8 +342,6 @@ sx_xunlock(&msi_sx); return (EINVAL); } - KASSERT(first->msi_index == 0, ("index mismatch")); - KASSERT(first->msi_dev != NULL, ("unowned group")); /* Clear all the extra messages in the group. */ @@ -408,7 +353,6 @@ msi->msi_dev = NULL; apic_free_vector(msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; - msi->msi_index = 0; } /* Clear out the first message. */ @@ -423,7 +367,44 @@ } int -msix_alloc(device_t dev, int index, int *irq, int *new) +msi_map(int irq, uint64_t *addr, uint32_t *data) +{ + struct msi_intsrc *msi; + + sx_slock(&msi_sx); + msi = (struct msi_intsrc *)intr_lookup_source(irq); + if (msi == NULL) { + sx_sunlock(&msi_sx); + return (ENOENT); + } + + /* Make sure this message is allocated to a device. */ + if (msi->msi_dev == NULL) { + sx_sunlock(&msi_sx); + return (ENXIO); + } + + /* + * If this message isn't an MSI-X message, make sure it's part + * of a gruop, and switch to the first message in the + * group. + */ + if (!msi->msi_msix) { + if (msi->msi_first == NULL) { + sx_sunlock(&msi_sx); + return (ENXIO); + } + msi = msi->msi_first; + } + + *addr = INTEL_ADDR(msi); + *data = INTEL_DATA(msi); + sx_sunlock(&msi_sx); + return (0); +} + +int +msix_alloc(device_t dev, int *irq, int *new) { struct msi_intsrc *msi; int i, vector; @@ -457,11 +438,7 @@ /* Create a new source. */ *new = 1; - msi = malloc(sizeof(struct msi_intsrc), M_MSI, - M_WAITOK | M_ZERO); - msi->msi_intsrc.is_pic = &msix_pic; - msi->msi_irq = i; - intr_register_source(&msi->msi_intsrc); + msi = msi_create_source(i); } /* Allocate an IDT vector. */ @@ -471,10 +448,8 @@ vector); /* Setup source. */ - msi->msi_intsrc.is_pic = &msix_pic; msi->msi_dev = dev; msi->msi_vector = vector; - msi->msi_index = index; msi->msi_msix = 1; /* XXX: Somewhat gross. */ @@ -486,30 +461,6 @@ } int -msix_remap(int index, int irq) -{ - struct msi_intsrc *msi; - - sx_xlock(&msi_sx); - msi = (struct msi_intsrc *)intr_lookup_source(irq); - if (msi == NULL) { - sx_xunlock(&msi_sx); - return (ENOENT); - } - - /* Make sure this is an MSI-X message. */ - if (!msi->msi_msix) { - sx_xunlock(&msi_sx); - return (EINVAL); - } - - KASSERT(msi->msi_dev != NULL, ("unowned message")); - msi->msi_index = index; - sx_xunlock(&msi_sx); - return (0); -} - -int msix_release(int irq) { struct msi_intsrc *msi; @@ -533,7 +484,6 @@ msi->msi_dev = NULL; apic_free_vector(msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; - msi->msi_index = 0; msi->msi_msix = 0; sx_xunlock(&msi_sx); ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/nexus.c#13 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.75 2007/03/21 15:36:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.76 2007/05/02 17:50:34 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -108,9 +108,9 @@ static void nexus_delete_resource(device_t, device_t, int, int); static int nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs); static int nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs); -static int nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq); -static int nexus_remap_msix(device_t pcib, device_t dev, int index, int irq); +static int nexus_alloc_msix(device_t pcib, device_t dev, int *irq); static int nexus_release_msix(device_t pcib, device_t dev, int irq); +static int nexus_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data); static device_method_t nexus_methods[] = { /* Device interface */ @@ -140,8 +140,8 @@ DEVMETHOD(pcib_alloc_msi, nexus_alloc_msi), DEVMETHOD(pcib_release_msi, nexus_release_msi), DEVMETHOD(pcib_alloc_msix, nexus_alloc_msix), - DEVMETHOD(pcib_remap_msix, nexus_remap_msix), DEVMETHOD(pcib_release_msix, nexus_release_msix), + DEVMETHOD(pcib_map_msi, nexus_map_msi), { 0, 0 } }; @@ -504,24 +504,17 @@ } static int -nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +nexus_alloc_msix(device_t pcib, device_t dev, int *irq) { int error, new; - error = msix_alloc(dev, index, irq, &new); + error = msix_alloc(dev, irq, &new); if (new) rman_manage_region(&irq_rman, *irq, *irq); return (error); } static int -nexus_remap_msix(device_t pcib, device_t dev, int index, int irq) -{ - - return (msix_remap(index, irq)); -} - -static int nexus_release_msix(device_t pcib, device_t dev, int irq) { @@ -551,6 +544,13 @@ return (msi_release(irqs, count)); } +static int +nexus_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) +{ + + return (msi_map(irq, addr, data)); +} + /* Placeholder for system RAM. */ static void ram_identify(driver_t *driver, device_t parent) ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#20 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.583 2007/04/21 14:17:29 ups Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.584 2007/04/25 18:10:43 ups Exp $"); /* * Manages physical address maps. ==== //depot/projects/scottl-camlock/src/sys/amd64/include/intr_machdep.h#11 (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.16 2007/03/06 17:16:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.17 2007/05/02 17:50:34 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -149,9 +149,9 @@ int msi_alloc(device_t dev, int count, int maxcount, int *irqs, int *newirq, int *newcount); void msi_init(void); +int msi_map(int irq, uint64_t *addr, uint32_t *data); int msi_release(int *irqs, int count); -int msix_alloc(device_t dev, int index, int *irq, int *new); -int msix_remap(int index, int irq); +int msix_alloc(device_t dev, int *irq, int *new); int msix_release(int irq); #endif /* !LOCORE */ ==== //depot/projects/scottl-camlock/src/sys/amd64/pci/pci_bus.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.120 2007/01/22 21:48:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.121 2007/05/02 17:50:34 jhb Exp $"); #include "opt_cpu.h" @@ -81,7 +81,7 @@ return (PCI_INVALID_IRQ); } -/* Pass MSI alloc requests up to the nexus. */ +/* Pass MSI requests up to the nexus. */ static int legacy_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, @@ -95,12 +95,22 @@ } static int -legacy_pcib_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +legacy_pcib_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static const char * @@ -347,8 +357,8 @@ DEVMETHOD(pcib_alloc_msi, legacy_pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, legacy_pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, legacy_pcib_map_msi), { 0, 0 } }; ==== //depot/projects/scottl-camlock/src/sys/arm/xscale/i80321/ep80219_machdep.c#5 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.5 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.6 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,8 +125,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/scottl-camlock/src/sys/arm/xscale/i80321/iq31244_machdep.c#10 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.26 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.27 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,8 +125,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/scottl-camlock/src/sys/arm/xscale/ixp425/avila_machdep.c#4 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.3 2007/02/02 05:14:21 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.4 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -124,8 +124,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#65 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.182 2007/04/19 23:34:51 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.183 2007/04/27 14:23:05 scottl Exp $"); #include #include @@ -5306,10 +5306,12 @@ } } - task = malloc(sizeof(struct xpt_task), M_CAMXPT, M_NOWAIT); - if (task != NULL) { - TASK_INIT(&task->task, 0, xpt_finishconfig_task, task); - taskqueue_enqueue(taskqueue_thread, &task->task); + if (busses_to_config == 0) { + task = malloc(sizeof(struct xpt_task), M_CAMXPT, M_NOWAIT); + if (task != NULL) { + TASK_INIT(&task->task, 0, xpt_finishconfig_task, task); + taskqueue_enqueue(taskqueue_thread, &task->task); + } } if (done_ccb != NULL) ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_misc.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.62 2006/12/20 19:36:03 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.63 2007/05/01 17:10:01 alc Exp $"); #include "opt_compat.h" @@ -407,7 +407,6 @@ start = addr; end = addr + len; - mtx_lock(&Giant); if (start != trunc_page(start)) { error = freebsd32_mmap_partial(td, start, round_page(start), prot, @@ -438,14 +437,11 @@ prot |= VM_PROT_WRITE; map = &td->td_proc->p_vmspace->vm_map; rv = vm_map_remove(map, start, end); - if (rv != KERN_SUCCESS) { - mtx_unlock(&Giant); + if (rv != KERN_SUCCESS) return (EINVAL); - } rv = vm_map_find(map, 0, 0, &start, end - start, FALSE, prot, VM_PROT_ALL, 0); - mtx_unlock(&Giant); if (rv != KERN_SUCCESS) return (EINVAL); r.fd = fd; @@ -459,7 +455,6 @@ td->td_retval[0] = addr; return (0); } - mtx_unlock(&Giant); if (end == start) { /* * After dealing with the ragged ends, there ==== //depot/projects/scottl-camlock/src/sys/compat/linprocfs/linprocfs.c#18 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.111 2007/04/22 08:41:52 des Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.112 2007/05/01 03:09:57 alc Exp $"); #include #include @@ -860,12 +860,14 @@ { char mebuffer[512]; vm_map_t map = &p->p_vmspace->vm_map; - vm_map_entry_t entry; + vm_map_entry_t entry, tmp_entry; vm_object_t obj, tobj, lobj; + vm_offset_t saved_end; vm_ooffset_t off = 0; char *name = "", *freename = NULL; size_t len; ino_t ino; + unsigned int last_timestamp; int ref_count, shadow_count, flags; int error; struct vnode *vp; @@ -885,8 +887,7 @@ return (0); error = 0; - if (map != &curthread->td_proc->p_vmspace->vm_map) - vm_map_lock_read(map); + vm_map_lock_read(map); for (entry = map->header.next; ((uio->uio_resid > 0) && (entry != &map->header)); entry = entry->next) { @@ -894,12 +895,16 @@ freename = NULL; if (entry->eflags & MAP_ENTRY_IS_SUB_MAP) continue; + saved_end = entry->end; obj = entry->object.vm_object; - for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) + for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) { + VM_OBJECT_LOCK(tobj); + if (lobj != obj) + VM_OBJECT_UNLOCK(lobj); lobj = tobj; + } ino = 0; if (lobj) { - VM_OBJECT_LOCK(lobj); off = IDX_TO_OFF(lobj->size); if (lobj->type == OBJT_VNODE) { vp = lobj->handle; @@ -908,10 +913,12 @@ } else vp = NULL; + if (lobj != obj) + VM_OBJECT_UNLOCK(lobj); flags = obj->flags; ref_count = obj->ref_count; shadow_count = obj->shadow_count; - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_UNLOCK(obj); if (vp) { vn_fullpath(td, vp, &name, &freename); locked = VFS_LOCK_GIANT(vp->v_mount); @@ -953,12 +960,23 @@ * XXX We should probably return * EFBIG here, as in procfs. */ + last_timestamp = map->timestamp; + vm_map_unlock_read(map); error = uiomove(mebuffer, len, uio); + vm_map_lock_read(map); if (error) break; + if (last_timestamp + 1 != map->timestamp) { + /* + * Look again for the entry because the map was + * modified while it was unlocked. Specifically, + * the entry may have been clipped, merged, or deleted. + */ + vm_map_lookup_entry(map, saved_end - 1, &tmp_entry); + entry = tmp_entry; + } } - if (map != &curthread->td_proc->p_vmspace->vm_map) - vm_map_unlock_read(map); + vm_map_unlock_read(map); return (error); } ==== //depot/projects/scottl-camlock/src/sys/compat/opensolaris/kern/opensolaris_kobj.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.2 2007/04/08 23:57:08 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.3 2007/05/02 01:03:10 pjd Exp $"); #include #include @@ -123,7 +123,7 @@ struct vattr va; int error; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); error = VOP_GETATTR(vp, &va, td->td_ucred, td); VOP_UNLOCK(vp, 0, td); if (error == 0) @@ -176,7 +176,7 @@ auio.uio_resid = size; auio.uio_td = td; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); error = VOP_READ(vp, &auio, IO_UNIT | IO_SYNC, td->td_ucred); VOP_UNLOCK(vp, 0, td); return (error != 0 ? -1 : size - auio.uio_resid); ==== //depot/projects/scottl-camlock/src/sys/compat/opensolaris/kern/opensolaris_vfs.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.4 2007/04/21 12:02:57 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.5 2007/05/02 01:03:10 pjd Exp $"); #include #include @@ -187,7 +187,7 @@ /* * Allocate and initialize the filesystem. */ - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); mp = vfs_mount_alloc(vp, vfsp, fspath, td); VOP_UNLOCK(vp, 0, td); ==== //depot/projects/scottl-camlock/src/sys/conf/files#24 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu May 3 20:21:30 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 9494316A407; Thu, 3 May 2007 20:21:30 +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 5EF0616A401 for ; Thu, 3 May 2007 20:21:30 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4F05C13C465 for ; Thu, 3 May 2007 20:21:30 +0000 (UTC) (envelope-from lulf@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 l43KLU5d041924 for ; Thu, 3 May 2007 20:21:30 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l43KLTwK041921 for perforce@freebsd.org; Thu, 3 May 2007 20:21:29 GMT (envelope-from lulf@FreeBSD.org) Date: Thu, 3 May 2007 20:21:29 GMT Message-Id: <200705032021.l43KLTwK041921@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 119204 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, 03 May 2007 20:21:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=119204 Change 119204 by lulf@lulf_vimes on 2007/05/03 20:21:17 - Change gv_is_open to gv_consumer_is_open and add a similar function for checking if a provider is open. - Fix compilation issues from last commit. The setstate of subdisk, plex and drive should work properly and seems to work after some tests. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#5 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#4 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#2 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#3 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#6 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#2 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#3 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#5 (text+ko) ==== @@ -529,7 +529,20 @@ * ERROR CODES.*/ if (err) printf("VINUM: error setting drive " - "state"); + "state\n"); + g_free(ev->arg2); + g_free(ev->arg3); + break; + + case GV_EVENT_SET_VOL_STATE: + printf("VINUM: event 'setstate volume'\n"); + v = ev->arg1; + newstate = *(int *)ev->arg2; + flags = *(int *)ev->arg3; + err = gv_set_vol_state(v, newstate, flags); + if (err) + printf("VINUM: error setting volume " + "state\n"); g_free(ev->arg2); g_free(ev->arg3); break; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#4 (text+ko) ==== @@ -63,6 +63,7 @@ void gv_setstate(struct g_geom *, struct gctl_req *); int gv_set_drive_state(struct gv_drive *, int, int); int gv_set_sd_state(struct gv_sd *, int, int); +int gv_set_vol_state(struct gv_volume *, int, int); void gv_update_sd_state(struct gv_sd *); void gv_update_plex_state(struct gv_plex *); void gv_update_vol_state(struct gv_volume *); @@ -76,7 +77,8 @@ struct gv_volume *gv_find_vol(struct gv_softc *, char *); void gv_format_config(struct gv_softc *, struct sbuf *, int, char *); int gv_is_striped(struct gv_plex *); -int gv_is_open(struct g_consumer *); +int gv_consumer_is_open(struct g_consumer *); +int gv_provider_is_open(struct g_provider *); int gv_object_type(struct gv_softc *, char *); void gv_parse_config(struct gv_softc *, u_char *); int gv_sd_to_drive(struct gv_sd *, struct gv_drive *); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#2 (text+ko) ==== @@ -361,7 +361,7 @@ { struct gv_sync_args *sync; - if (gv_is_open(p->geom)) + if (gv_consumer_is_open(p->geom)) return (EBUSY); if (p->flags & GV_PLEX_SYNCING) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#3 (text+ko) ==== @@ -127,7 +127,7 @@ case GV_TYPE_DRIVE: d = gv_find_drive(sc, argv); /* We don't allow to remove open drives. */ - if (gv_is_open(d->consumer)) { + if (gv_consumer_is_open(d->consumer)) { gctl_error(req, "drive '%s' is open", d->name); return; } @@ -163,7 +163,7 @@ /* First make sure nothing is open. */ LIST_FOREACH_SAFE(d, &sc->drives, drive, d2) { - if (gv_is_open(d->consumer)) { + if (gv_consumer_is_open(d->consumer)) { gctl_error(req, "drive '%s' is busy", d->name); return (-1); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#6 (text+ko) ==== @@ -43,6 +43,7 @@ struct gv_softc *sc; struct gv_sd *s; struct gv_drive *d; + struct gv_volume *v; char *obj, *state; int f, *flags, *newstatep, *flagp, type; @@ -142,7 +143,7 @@ return (0); /* We allow to take down an open drive only with force. */ - if ((newstate == GV_DRIVE_DOWN) && gv_is_open(d->consumer) && + if ((newstate == GV_DRIVE_DOWN) && gv_consumer_is_open(d->consumer) && (!(flags & GV_SETSTATE_FORCE))) return (-1); @@ -155,7 +156,7 @@ /* Save the config back to disk. */ if (flags & GV_SETSTATE_CONFIG) - gv_post_event(sc, GV_EVENT_SAVE_CONFIG, v->vinumconf, NULL, NULL); + gv_save_config(d->vinumconf); return (0); } @@ -270,7 +271,7 @@ /* Save the config back to disk. */ if (flags & GV_SETSTATE_CONFIG) - gv_post_event(sc, GV_EVENT_SAVE_CONFIG, v->vinumconf, NULL, NULL); + gv_save_config(s->vinumconf); return (status); } @@ -291,15 +292,16 @@ case GV_VOL_UP: /* Let update handle if the volume can come up. */ gv_update_vol_state(v); - if (v->state != GV_VOL_UP && flags & GV_SETSTATE_FORCE) - v->state = newstate; + if (v->state != GV_VOL_UP && !(flags & GV_SETSTATE_FORCE)) + return (-1); /* XXX: ERROR CODES. */ + v->state = newstate; break; case GV_VOL_DOWN: /* * Set state to GV_VOL_DOWN only if noone is using the volume, * or if the state should be forced. */ - if ((gv_is_open(v->geom) != 0) && + if (!gv_provider_is_open(v->provider) && !(flags & GV_SETSTATE_FORCE)) return (-1); /* XXX: ERROR CODES. */ v->state = newstate; @@ -307,7 +309,8 @@ } /* Save config */ if (flags & GV_SETSTATE_CONFIG) - gv_post_event(sc, GV_EVENT_SAVE_CONFIG, v->vinumconf, NULL, NULL); + gv_save_config(v->vinumconf); + return (0); } /* Update the state of a subdisk based on its environment. */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#2 (text+ko) ==== @@ -853,7 +853,7 @@ /* Check if any consumer of the given geom is open. */ int -gv_is_open(struct g_consumer *cp) +gv_consumer_is_open(struct g_consumer *cp) { if (cp == NULL) return (0); @@ -864,6 +864,17 @@ return (0); } +int +gv_provider_is_open(struct g_provider *pp) { + if (pp == NULL) + return (0); + + if (pp->acr || pp->acw || pp->ace) + return (1); + + return (0); +} + /* * Compare the modification dates of the drives. * Return 1 if a > b, 0 otherwise. ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#3 (text+ko) ==== @@ -174,6 +174,7 @@ #define GV_EVENT_RM_DRIVE 12 #define GV_EVENT_SET_SD_STATE 13 #define GV_EVENT_SET_DRIVE_STATE 14 +#define GV_EVENT_SET_VOL_STATE 15 struct gv_event { int type; From owner-p4-projects@FreeBSD.ORG Thu May 3 22:13: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 6CC5B16A403; Thu, 3 May 2007 22:13: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 0D8AE16A408 for ; Thu, 3 May 2007 22:13:52 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id F21B013C4BF for ; Thu, 3 May 2007 22:13:51 +0000 (UTC) (envelope-from rpaulo@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 l43MDpxh070504 for ; Thu, 3 May 2007 22:13:51 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l43MDprh070501 for perforce@freebsd.org; Thu, 3 May 2007 22:13:51 GMT (envelope-from rpaulo@FreeBSD.org) Date: Thu, 3 May 2007 22:13:51 GMT Message-Id: <200705032213.l43MDprh070501@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 119207 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, 03 May 2007 22:13:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=119207 Change 119207 by rpaulo@rpaulo_epsilon on 2007/05/03 22:13:26 Fix a debugging printf introduced with Mighty Mouse's changes. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ums.c#4 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/ums.c#4 (text+ko) ==== @@ -516,7 +516,7 @@ if (dx || dy || dz || dt || dw || (sc->flags & UMS_Z) || buttons != sc->status.button) { - DPRINTFN(5, ("ums_intr: x:%d y:%d z:%d t:%d w:%w buttons:0x%x\n", + DPRINTFN(5, ("ums_intr: x:%d y:%d z:%d t:%d w:%d buttons:0x%x\n", dx, dy, dz, dt, dw, buttons)); sc->status.button = buttons; From owner-p4-projects@FreeBSD.ORG Fri May 4 02:39: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 84DC516A408; Fri, 4 May 2007 02:39: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 401AB16A404 for ; Fri, 4 May 2007 02:39:24 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 30F2E13C44C for ; Fri, 4 May 2007 02:39:24 +0000 (UTC) (envelope-from rpaulo@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 l442dOxA037294 for ; Fri, 4 May 2007 02:39:24 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l442dO40037288 for perforce@freebsd.org; Fri, 4 May 2007 02:39:24 GMT (envelope-from rpaulo@FreeBSD.org) Date: Fri, 4 May 2007 02:39:24 GMT Message-Id: <200705040239.l442dO40037288@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 119216 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, 04 May 2007 02:39:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=119216 Change 119216 by rpaulo@rpaulo_epsilon on 2007/05/04 02:38:27 Use resource_disabled() in probe routine. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#2 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#1 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#2 $ * */ @@ -113,6 +113,9 @@ static int msrtemp_probe(device_t dev) { + if (resource_disabled("msrtemp", 0)) + return ENXIO; + device_set_desc(dev, "CPU On-Die Thermal Sensors"); return BUS_PROBE_GENERIC; From owner-p4-projects@FreeBSD.ORG Fri May 4 02:41:28 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 AB63F16A404; Fri, 4 May 2007 02:41: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 3995916A402 for ; Fri, 4 May 2007 02:41:28 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2AAFC13C45D for ; Fri, 4 May 2007 02:41:28 +0000 (UTC) (envelope-from rpaulo@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 l442fSBW038878 for ; Fri, 4 May 2007 02:41:28 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l442fR36038875 for perforce@freebsd.org; Fri, 4 May 2007 02:41:27 GMT (envelope-from rpaulo@FreeBSD.org) Date: Fri, 4 May 2007 02:41:27 GMT Message-Id: <200705040241.l442fR36038875@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 119217 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, 04 May 2007 02:41:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=119217 Change 119217 by rpaulo@rpaulo_epsilon on 2007/05/04 02:41:01 Use resource_disabled() in probe routine. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#4 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#3 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#4 $ * */ @@ -149,6 +149,9 @@ { struct backlight_model *model; + if (resource_disabled("backlight", 0)) + return ENXIO; + model = backlight_match(dev); if (!model) From owner-p4-projects@FreeBSD.ORG Fri May 4 07:42: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 EF5CB16A408; Fri, 4 May 2007 07:42: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 C12D716A401 for ; Fri, 4 May 2007 07:42:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B1C5313C459 for ; Fri, 4 May 2007 07:42:40 +0000 (UTC) (envelope-from zec@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 l447gepX093551 for ; Fri, 4 May 2007 07:42:40 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l447geIj093548 for perforce@freebsd.org; Fri, 4 May 2007 07:42:40 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 4 May 2007 07:42:40 GMT Message-Id: <200705040742.l447geIj093548@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 119220 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, 04 May 2007 07:42:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=119220 Change 119220 by zec@zec_tpx32 on 2007/05/04 07:42:26 Fix a few missing references to virtualized "hostname" symbol. Affected files ... .. //depot/projects/vimage/src/sys/dev/firewire/firewire.c#3 edit .. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#4 edit Differences ... ==== //depot/projects/vimage/src/sys/dev/firewire/firewire.c#3 (text+ko) ==== @@ -35,6 +35,8 @@ * */ +#include "opt_vimage.h" + #include #include #include @@ -44,6 +46,7 @@ #include #include #include +#include #if defined(__DragonFly__) || __FreeBSD_version < 500000 #include /* for DELAY() */ @@ -612,6 +615,7 @@ static void fw_reset_crom(struct firewire_comm *fc) { + INIT_VPROCG(&vprocg_0); struct crom_src_buf *buf; struct crom_src *src; struct crom_chunk *root; @@ -637,7 +641,7 @@ crom_add_simple_text(src, root, &buf->vendor, "FreeBSD Project"); crom_add_entry(root, CSRKEY_HW, __FreeBSD_version); #endif - crom_add_simple_text(src, root, &buf->hw, hostname); + crom_add_simple_text(src, root, &buf->hw, V_hostname); } /* ==== //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#4 (text+ko) ==== @@ -38,6 +38,7 @@ #include "opt_bootp.h" #include "opt_nfsroot.h" +#include "opt_vimage.h" #include #include @@ -57,6 +58,7 @@ #include #include #include +#include #include #include @@ -399,6 +401,7 @@ int nfs_mountroot(struct mount *mp, struct thread *td) { + INIT_VPROCG(&vprocg_0); struct nfsv3_diskless *nd = &nfsv3_diskless; struct socket *so; struct vnode *vp; @@ -507,10 +510,10 @@ * set hostname here and then let the "/etc/rc.xxx" files * mount the right /var based upon its preset value. */ - bcopy(nd->my_hostnam, hostname, MAXHOSTNAMELEN); - hostname[MAXHOSTNAMELEN - 1] = '\0'; + bcopy(nd->my_hostnam, V_hostname, MAXHOSTNAMELEN); + V_hostname[MAXHOSTNAMELEN - 1] = '\0'; for (i = 0; i < MAXHOSTNAMELEN; i++) - if (hostname[i] == '\0') + if (V_hostname[i] == '\0') break; inittodr(ntohl(nd->root_time)); return (0); From owner-p4-projects@FreeBSD.ORG Fri May 4 11:18:40 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 2718616A40B; Fri, 4 May 2007 11:18: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 C0D3F16A408 for ; Fri, 4 May 2007 11:18:39 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id ABB7313C4AE for ; Fri, 4 May 2007 11:18:39 +0000 (UTC) (envelope-from zec@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 l44BIdJT039421 for ; Fri, 4 May 2007 11:18:39 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l44BIdN0039418 for perforce@freebsd.org; Fri, 4 May 2007 11:18:39 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 4 May 2007 11:18:39 GMT Message-Id: <200705041118.l44BIdN0039418@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 119231 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, 04 May 2007 11:18:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=119231 Change 119231 by zec@zec_zoo on 2007/05/04 11:18:33 proc0_init() is called before vi_init() during kernel autoconfiguratino / booting, so pointers inside vimage_0 are not yet populated at that time. Hence, access vprocg_0 directly at that point, not through vimage_0. Affected files ... .. //depot/projects/vimage/src/sys/kern/init_main.c#8 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/init_main.c#8 (text+ko) ==== @@ -443,7 +443,7 @@ p->p_ucred->cr_prison = NULL; /* Don't jail it. */ #ifdef VIMAGE p->p_ucred->cr_vimage = p->p_ucred->cr_rvimage = &vimage_0; - vimage_0.v_procg->nprocs = 1; + vprocg_0.nprocs = 1; #endif #ifdef AUDIT audit_proc_alloc(p); From owner-p4-projects@FreeBSD.ORG Fri May 4 13:38:38 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 776D116A404; Fri, 4 May 2007 13:38:38 +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 3AB4216A400 for ; Fri, 4 May 2007 13:38:38 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2957C13C44C for ; Fri, 4 May 2007 13:38:38 +0000 (UTC) (envelope-from rpaulo@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 l44DccVp020260 for ; Fri, 4 May 2007 13:38:38 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l44DcZPi020239 for perforce@freebsd.org; Fri, 4 May 2007 13:38:35 GMT (envelope-from rpaulo@FreeBSD.org) Date: Fri, 4 May 2007 13:38:35 GMT Message-Id: <200705041338.l44DcZPi020239@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 119238 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, 04 May 2007 13:38:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=119238 Change 119238 by rpaulo@rpaulo_epsilon on 2007/05/04 13:37:58 IFC Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/msi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/nexus.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/pci/pci_bus.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/kern/opensolaris_vfs.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/kern.pre.mk#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_cpu.c#2 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/bge/if_bge.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ciss/ciss.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ciss/cissvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/em/LICENSE#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/em/README#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_80003es2lan.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_80003es2lan.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82540.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82541.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82541.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82542.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82543.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82543.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82571.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82571.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82575.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_82575.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_api.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_api.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_defines.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_hw.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_ich8lan.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_ich8lan.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_mac.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_mac.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_manage.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_manage.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_nvm.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_nvm.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_osdep.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_phy.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_phy.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/e1000_regs.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/em/if_em.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/em/if_em.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/em/if_em_hw.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/dev/em/if_em_hw.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/dev/em/if_em_osdep.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/firewire.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/firewirereg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/fwdev.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/fwohci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/fwohcireg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/if_fwip.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/sbp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/sbp_targ.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipmi/ipmi_smbios.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/brgphy.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/mii.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci_if.m#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci_private.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pcib_if.m#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pcib_private.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pcivar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/stge/if_stge.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/stge/if_stgereg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/uart/uart_kbd_sun.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axe.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axereg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uftdi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/procfs/procfs_ioctl.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/mptable_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/msi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/nexus.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/intr_machdep.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/pci/pci_bus.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_rman.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sys_generic.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_debug.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_sockbuf.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_socket.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_syscalls.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/em/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_pcb.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_pcb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_divert.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_fw.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_fw2.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/libalias/alias_proxy.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/raw_ip.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_auth.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_constants.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_header.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_indata.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_indata.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_input.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_os_bsd.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_peeloff.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_usrreq.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_subr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/udp_usrreq.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6_pcb.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6_src.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/nd6.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/sctp6_usrreq.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_ioctl.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/upa.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/param.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/socketvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_softdep.c#2 integrate Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/mptable_pci.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.7 2007/01/22 21:48:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.8 2007/05/02 17:50:34 jhb Exp $"); #include #include @@ -72,7 +72,7 @@ return (bus_generic_attach(dev)); } -/* Pass MSI alloc requests up to the nexus. */ +/* Pass MSI requests up to the nexus. */ static int mptable_hostb_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs) @@ -85,12 +85,22 @@ } static int -mptable_hostb_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +mptable_hostb_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +mptable_hostb_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static device_method_t mptable_hostb_methods[] = { @@ -120,8 +130,8 @@ DEVMETHOD(pcib_alloc_msi, mptable_hostb_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, mptable_hostb_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, mptable_hostb_map_msi), { 0, 0 } }; @@ -177,8 +187,8 @@ DEVMETHOD(pcib_alloc_msi, pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, pcib_map_msi), {0, 0} }; ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/msi.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.4 2007/02/15 22:22:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.5 2007/05/02 17:50:34 jhb Exp $"); #include #include @@ -99,21 +99,20 @@ * assigned an ID by the system; however, a group will use the ID from * the first message. * - * For MSI-X, each message is isolated, and msi_index indicates the - * index of this message in the device's MSI-X table. + * For MSI-X, each message is isolated. */ struct msi_intsrc { struct intsrc msi_intsrc; device_t msi_dev; /* Owning device. (g) */ struct msi_intsrc *msi_first; /* First source in group. */ u_int msi_irq; /* IRQ cookie. */ - u_int msi_index; /* Index of this message. */ u_int msi_msix; /* MSI-X message. */ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ }; +static struct msi_intsrc *msi_create_source(u_int irq); static void msi_enable_source(struct intsrc *isrc); static void msi_disable_source(struct intsrc *isrc, int eoi); static void msi_eoi_source(struct intsrc *isrc); @@ -123,16 +122,10 @@ static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); -static void msix_enable_intr(struct intsrc *isrc); -static int msix_source_pending(struct intsrc *isrc); -static void msix_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_vector, msi_source_pending, NULL, NULL, msi_config_intr, msi_assign_cpu }; -struct pic msix_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, - msix_enable_intr, msi_vector, msix_source_pending, - NULL, NULL, msi_config_intr, msix_assign_cpu }; static int msi_enabled; static struct sx msi_sx; @@ -162,17 +155,6 @@ { struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - /* - * Since we can only enable the entire group at once, go ahead and - * enable the messages when the first message is given a handler. - * Note that we assume all devices will register a handler for the - * first message. - */ - if (msi->msi_index == 0) { - mtx_lock_spin(&icu_lock); - pci_enable_msi(msi->msi_dev, INTEL_ADDR(msi), INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); - } apic_enable_vector(msi->msi_vector); } @@ -206,51 +188,13 @@ msi->msi_cpu = apic_id; if (bootverbose) - printf("msi: Assigning MSI IRQ %d to local APIC %u\n", - msi->msi_irq, msi->msi_cpu); - mtx_lock_spin(&icu_lock); + printf("msi: Assigning %s IRQ %d to local APIC %u\n", + msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, + msi->msi_cpu); if (isrc->is_enabled) - pci_enable_msi(msi->msi_dev, INTEL_ADDR(msi), INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); + pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); } -static void -msix_enable_intr(struct intsrc *isrc) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - mtx_lock_spin(&icu_lock); - pci_enable_msix(msi->msi_dev, msi->msi_index, INTEL_ADDR(msi), - INTEL_DATA(msi)); - pci_unmask_msix(msi->msi_dev, msi->msi_index); - mtx_unlock_spin(&icu_lock); - apic_enable_vector(msi->msi_vector); -} - -static int -msix_source_pending(struct intsrc *isrc) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - return (pci_pending_msix(msi->msi_dev, msi->msi_index)); -} - -static void -msix_assign_cpu(struct intsrc *isrc, u_int apic_id) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - msi->msi_cpu = apic_id; - if (bootverbose) - printf("msi: Assigning MSI-X IRQ %d to local APIC %u\n", - msi->msi_irq, msi->msi_cpu); - mtx_lock_spin(&icu_lock); - if (isrc->is_enabled) - pci_enable_msix(msi->msi_dev, msi->msi_index, INTEL_ADDR(msi), - INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); -} - void msi_init(void) { @@ -262,10 +206,21 @@ msi_enabled = 1; intr_register_pic(&msi_pic); - intr_register_pic(&msix_pic); sx_init(&msi_sx, "msi"); } +struct msi_intsrc * +msi_create_source(u_int irq) +{ + struct msi_intsrc *msi; + + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi->msi_intsrc.is_pic = &msi_pic; + msi->msi_irq = irq; + intr_register_source(&msi->msi_intsrc); + return (msi); +} + /* * Try to allocate 'count' interrupt sources with contiguous IDT values. If * we allocate any new sources, then their IRQ values will be at the end of @@ -317,14 +272,8 @@ *newcount = count - cnt; for (j = 0; j < *newcount; j++) { - /* Create a new MSI source. */ - msi = malloc(sizeof(struct msi_intsrc), M_MSI, - M_WAITOK | M_ZERO); - msi->msi_intsrc.is_pic = &msi_pic; - msi->msi_irq = i + j; - intr_register_source(&msi->msi_intsrc); - - /* Add it to our array. */ + /* Create a new MSI source and add it to our array. */ + msi_create_source(i + j); irqs[cnt] = i + j; cnt++; } @@ -344,13 +293,11 @@ fsrc = (struct msi_intsrc *)intr_lookup_source(irqs[0]); for (i = 0; i < count; i++) { msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]); - msi->msi_intsrc.is_pic = &msi_pic; msi->msi_dev = dev; msi->msi_vector = vector + i; if (bootverbose) printf("msi: routing MSI IRQ %d to vector %u\n", msi->msi_irq, msi->msi_vector); - msi->msi_index = i; msi->msi_first = fsrc; /* XXX: Somewhat gross. */ @@ -395,8 +342,6 @@ sx_xunlock(&msi_sx); return (EINVAL); } - KASSERT(first->msi_index == 0, ("index mismatch")); - KASSERT(first->msi_dev != NULL, ("unowned group")); /* Clear all the extra messages in the group. */ @@ -408,7 +353,6 @@ msi->msi_dev = NULL; apic_free_vector(msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; - msi->msi_index = 0; } /* Clear out the first message. */ @@ -423,7 +367,44 @@ } int -msix_alloc(device_t dev, int index, int *irq, int *new) +msi_map(int irq, uint64_t *addr, uint32_t *data) +{ + struct msi_intsrc *msi; + + sx_slock(&msi_sx); + msi = (struct msi_intsrc *)intr_lookup_source(irq); + if (msi == NULL) { + sx_sunlock(&msi_sx); + return (ENOENT); + } + + /* Make sure this message is allocated to a device. */ + if (msi->msi_dev == NULL) { + sx_sunlock(&msi_sx); + return (ENXIO); + } + + /* + * If this message isn't an MSI-X message, make sure it's part + * of a gruop, and switch to the first message in the + * group. + */ + if (!msi->msi_msix) { + if (msi->msi_first == NULL) { + sx_sunlock(&msi_sx); + return (ENXIO); + } + msi = msi->msi_first; + } + + *addr = INTEL_ADDR(msi); + *data = INTEL_DATA(msi); + sx_sunlock(&msi_sx); + return (0); +} + +int +msix_alloc(device_t dev, int *irq, int *new) { struct msi_intsrc *msi; int i, vector; @@ -457,11 +438,7 @@ /* Create a new source. */ *new = 1; - msi = malloc(sizeof(struct msi_intsrc), M_MSI, - M_WAITOK | M_ZERO); - msi->msi_intsrc.is_pic = &msix_pic; - msi->msi_irq = i; - intr_register_source(&msi->msi_intsrc); + msi = msi_create_source(i); } /* Allocate an IDT vector. */ @@ -471,10 +448,8 @@ vector); /* Setup source. */ - msi->msi_intsrc.is_pic = &msix_pic; msi->msi_dev = dev; msi->msi_vector = vector; - msi->msi_index = index; msi->msi_msix = 1; /* XXX: Somewhat gross. */ @@ -486,30 +461,6 @@ } int -msix_remap(int index, int irq) -{ - struct msi_intsrc *msi; - - sx_xlock(&msi_sx); - msi = (struct msi_intsrc *)intr_lookup_source(irq); - if (msi == NULL) { - sx_xunlock(&msi_sx); - return (ENOENT); - } - - /* Make sure this is an MSI-X message. */ - if (!msi->msi_msix) { - sx_xunlock(&msi_sx); - return (EINVAL); - } - - KASSERT(msi->msi_dev != NULL, ("unowned message")); - msi->msi_index = index; - sx_xunlock(&msi_sx); - return (0); -} - -int msix_release(int irq) { struct msi_intsrc *msi; @@ -533,7 +484,6 @@ msi->msi_dev = NULL; apic_free_vector(msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; - msi->msi_index = 0; msi->msi_msix = 0; sx_xunlock(&msi_sx); ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/nexus.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.75 2007/03/21 15:36:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.76 2007/05/02 17:50:34 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -108,9 +108,9 @@ static void nexus_delete_resource(device_t, device_t, int, int); static int nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs); static int nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs); -static int nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq); -static int nexus_remap_msix(device_t pcib, device_t dev, int index, int irq); +static int nexus_alloc_msix(device_t pcib, device_t dev, int *irq); static int nexus_release_msix(device_t pcib, device_t dev, int irq); +static int nexus_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data); static device_method_t nexus_methods[] = { /* Device interface */ @@ -140,8 +140,8 @@ DEVMETHOD(pcib_alloc_msi, nexus_alloc_msi), DEVMETHOD(pcib_release_msi, nexus_release_msi), DEVMETHOD(pcib_alloc_msix, nexus_alloc_msix), - DEVMETHOD(pcib_remap_msix, nexus_remap_msix), DEVMETHOD(pcib_release_msix, nexus_release_msix), + DEVMETHOD(pcib_map_msi, nexus_map_msi), { 0, 0 } }; @@ -504,24 +504,17 @@ } static int -nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +nexus_alloc_msix(device_t pcib, device_t dev, int *irq) { int error, new; - error = msix_alloc(dev, index, irq, &new); + error = msix_alloc(dev, irq, &new); if (new) rman_manage_region(&irq_rman, *irq, *irq); return (error); } static int -nexus_remap_msix(device_t pcib, device_t dev, int index, int irq) -{ - - return (msix_remap(index, irq)); -} - -static int nexus_release_msix(device_t pcib, device_t dev, int irq) { @@ -551,6 +544,13 @@ return (msi_release(irqs, count)); } +static int +nexus_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) +{ + + return (msi_map(irq, addr, data)); +} + /* Placeholder for system RAM. */ static void ram_identify(driver_t *driver, device_t parent) ==== //depot/projects/soc2007/rpaulo-macbook/amd64/include/intr_machdep.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.16 2007/03/06 17:16:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.17 2007/05/02 17:50:34 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -149,9 +149,9 @@ int msi_alloc(device_t dev, int count, int maxcount, int *irqs, int *newirq, int *newcount); void msi_init(void); +int msi_map(int irq, uint64_t *addr, uint32_t *data); int msi_release(int *irqs, int count); -int msix_alloc(device_t dev, int index, int *irq, int *new); -int msix_remap(int index, int irq); +int msix_alloc(device_t dev, int *irq, int *new); int msix_release(int irq); #endif /* !LOCORE */ ==== //depot/projects/soc2007/rpaulo-macbook/amd64/pci/pci_bus.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.120 2007/01/22 21:48:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.121 2007/05/02 17:50:34 jhb Exp $"); #include "opt_cpu.h" @@ -81,7 +81,7 @@ return (PCI_INVALID_IRQ); } -/* Pass MSI alloc requests up to the nexus. */ +/* Pass MSI requests up to the nexus. */ static int legacy_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, @@ -95,12 +95,22 @@ } static int -legacy_pcib_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +legacy_pcib_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static const char * @@ -347,8 +357,8 @@ DEVMETHOD(pcib_alloc_msi, legacy_pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, legacy_pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, legacy_pcib_map_msi), { 0, 0 } }; ==== //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/ep80219_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.5 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.6 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,8 +125,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/iq31244_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.26 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.27 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,8 +125,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/avila_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.3 2007/02/02 05:14:21 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.4 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -124,8 +124,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_misc.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.62 2006/12/20 19:36:03 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.63 2007/05/01 17:10:01 alc Exp $"); #include "opt_compat.h" @@ -407,7 +407,6 @@ start = addr; end = addr + len; - mtx_lock(&Giant); if (start != trunc_page(start)) { error = freebsd32_mmap_partial(td, start, round_page(start), prot, @@ -438,14 +437,11 @@ prot |= VM_PROT_WRITE; map = &td->td_proc->p_vmspace->vm_map; rv = vm_map_remove(map, start, end); - if (rv != KERN_SUCCESS) { - mtx_unlock(&Giant); + if (rv != KERN_SUCCESS) return (EINVAL); - } rv = vm_map_find(map, 0, 0, &start, end - start, FALSE, prot, VM_PROT_ALL, 0); - mtx_unlock(&Giant); if (rv != KERN_SUCCESS) return (EINVAL); r.fd = fd; @@ -459,7 +455,6 @@ td->td_retval[0] = addr; return (0); } - mtx_unlock(&Giant); if (end == start) { /* * After dealing with the ragged ends, there ==== //depot/projects/soc2007/rpaulo-macbook/compat/linprocfs/linprocfs.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.111 2007/04/22 08:41:52 des Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.112 2007/05/01 03:09:57 alc Exp $"); #include #include @@ -860,12 +860,14 @@ { char mebuffer[512]; vm_map_t map = &p->p_vmspace->vm_map; - vm_map_entry_t entry; + vm_map_entry_t entry, tmp_entry; vm_object_t obj, tobj, lobj; + vm_offset_t saved_end; vm_ooffset_t off = 0; char *name = "", *freename = NULL; size_t len; ino_t ino; + unsigned int last_timestamp; int ref_count, shadow_count, flags; int error; struct vnode *vp; @@ -885,8 +887,7 @@ return (0); error = 0; - if (map != &curthread->td_proc->p_vmspace->vm_map) - vm_map_lock_read(map); + vm_map_lock_read(map); for (entry = map->header.next; ((uio->uio_resid > 0) && (entry != &map->header)); entry = entry->next) { @@ -894,12 +895,16 @@ freename = NULL; if (entry->eflags & MAP_ENTRY_IS_SUB_MAP) continue; + saved_end = entry->end; obj = entry->object.vm_object; - for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) + for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) { + VM_OBJECT_LOCK(tobj); + if (lobj != obj) + VM_OBJECT_UNLOCK(lobj); lobj = tobj; + } ino = 0; if (lobj) { - VM_OBJECT_LOCK(lobj); off = IDX_TO_OFF(lobj->size); if (lobj->type == OBJT_VNODE) { vp = lobj->handle; @@ -908,10 +913,12 @@ } else vp = NULL; + if (lobj != obj) + VM_OBJECT_UNLOCK(lobj); flags = obj->flags; ref_count = obj->ref_count; shadow_count = obj->shadow_count; - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_UNLOCK(obj); if (vp) { vn_fullpath(td, vp, &name, &freename); locked = VFS_LOCK_GIANT(vp->v_mount); @@ -953,12 +960,23 @@ * XXX We should probably return * EFBIG here, as in procfs. */ + last_timestamp = map->timestamp; + vm_map_unlock_read(map); error = uiomove(mebuffer, len, uio); + vm_map_lock_read(map); if (error) break; + if (last_timestamp + 1 != map->timestamp) { + /* + * Look again for the entry because the map was + * modified while it was unlocked. Specifically, + * the entry may have been clipped, merged, or deleted. + */ + vm_map_lookup_entry(map, saved_end - 1, &tmp_entry); + entry = tmp_entry; + } } - if (map != &curthread->td_proc->p_vmspace->vm_map) - vm_map_unlock_read(map); + vm_map_unlock_read(map); return (error); } ==== //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/kern/opensolaris_kobj.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.2 2007/04/08 23:57:08 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.3 2007/05/02 01:03:10 pjd Exp $"); #include #include @@ -123,7 +123,7 @@ struct vattr va; int error; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); error = VOP_GETATTR(vp, &va, td->td_ucred, td); VOP_UNLOCK(vp, 0, td); if (error == 0) @@ -176,7 +176,7 @@ auio.uio_resid = size; auio.uio_td = td; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); error = VOP_READ(vp, &auio, IO_UNIT | IO_SYNC, td->td_ucred); VOP_UNLOCK(vp, 0, td); return (error != 0 ? -1 : size - auio.uio_resid); ==== //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/kern/opensolaris_vfs.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.4 2007/04/21 12:02:57 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.5 2007/05/02 01:03:10 pjd Exp $"); #include #include @@ -187,7 +187,7 @@ /* * Allocate and initialize the filesystem. */ - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); mp = vfs_mount_alloc(vp, vfsp, fspath, td); VOP_UNLOCK(vp, 0, td); ==== //depot/projects/soc2007/rpaulo-macbook/conf/files#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1198 2007/04/25 15:30:17 mav Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1201 2007/05/04 13:29:45 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -601,8 +601,34 @@ dev/ed/if_ed_pci.c optional ed pci dev/eisa/eisa_if.m standard dev/eisa/eisaconf.c optional eisa -dev/em/if_em.c optional em -dev/em/if_em_hw.c optional em +dev/em/if_em.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_80003es2lan.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82540.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82541.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82542.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82543.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82571.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82575.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_api.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_ich8lan.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_mac.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_manage.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_nvm.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_phy.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" dev/en/if_en_pci.c optional en pci dev/en/midway.c optional en dev/ep/if_ep.c optional ep ==== //depot/projects/soc2007/rpaulo-macbook/conf/kern.pre.mk#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.81 2006/10/26 15:16:43 bde Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.82 2007/05/04 00:00:10 jfv Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -76,6 +76,9 @@ # .. and the same for twa INCLUDES+= -I$S/dev/twa +# .. and the same for em +INCLUDES+= -I$S/dev/em + # ... and XFS >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri May 4 18:00: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 91B1316A406; Fri, 4 May 2007 18:00: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 5154E16A401 for ; Fri, 4 May 2007 18:00:08 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3327A13C44B for ; Fri, 4 May 2007 18:00:08 +0000 (UTC) (envelope-from zec@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 l44I08G6051523 for ; Fri, 4 May 2007 18:00:08 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l44I07UI051520 for perforce@freebsd.org; Fri, 4 May 2007 18:00:07 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 4 May 2007 18:00:07 GMT Message-Id: <200705041800.l44I07UI051520@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 119250 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, 04 May 2007 18:00:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=119250 Change 119250 by zec@zec_zoo on 2007/05/04 17:59:15 A set of kludges which allow for NFS netbooting. Basically the key is to properly set / restore curvnet whenever necessary... Affected files ... .. //depot/projects/vimage/src/sys/nfsclient/nfs_diskless.c#5 edit .. //depot/projects/vimage/src/sys/nfsclient/nfs_socket.c#4 edit .. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#5 edit .. //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#5 edit Differences ... ==== //depot/projects/vimage/src/sys/nfsclient/nfs_diskless.c#5 (text+ko) ==== @@ -151,7 +151,7 @@ void nfs_setup_diskless(void) { - INIT_VNET_NET(&vnet_0); + INIT_VNET_NET(curvnet); struct nfs_diskless *nd = &nfs_diskless; struct ifnet *ifp; struct ifaddr *ifa; ==== //depot/projects/vimage/src/sys/nfsclient/nfs_socket.c#4 (text+ko) ==== @@ -40,6 +40,7 @@ */ #include "opt_inet6.h" +#include "opt_vimage.h" #include #include @@ -58,6 +59,7 @@ #include #include #include +#include #include #include @@ -1454,6 +1456,7 @@ mtx_unlock(&nmp->nm_mtx); continue; } + CURVNET_SET(so->so_vnet); /* * If there is enough space and the window allows.. * Resend it @@ -1521,6 +1524,7 @@ mtx_unlock(&rep->r_mtx); mtx_unlock(&nmp->nm_mtx); } + CURVNET_RESTORE(); } mtx_unlock(&nfs_reqq_mtx); callout_reset(&nfs_callout, nfs_ticks, nfs_timer, NULL); ==== //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#5 (text+ko) ==== @@ -401,7 +401,7 @@ int nfs_mountroot(struct mount *mp, struct thread *td) { - INIT_VPROCG(&vprocg_0); + INIT_VPROCG(td->td_ucred->cr_vimage->v_procg); struct nfsv3_diskless *nd = &nfsv3_diskless; struct socket *so; struct vnode *vp; @@ -413,14 +413,17 @@ NET_ASSERT_GIANT(); + CURVNET_SET(td->td_ucred->cr_vimage->v_vnet); #if defined(BOOTP_NFSROOT) && defined(BOOTP) bootpc_init(); /* use bootp to get nfs_diskless filled in */ #elif defined(NFS_ROOT) nfs_setup_diskless(); #endif - if (nfs_diskless_valid == 0) + if (nfs_diskless_valid == 0) { + CURVNET_RESTORE(); return (-1); + } if (nfs_diskless_valid == 1) nfs_convert_diskless(); @@ -502,6 +505,7 @@ printf("NFS ROOT: %s\n", buf); if ((error = nfs_mountdiskless(buf, MNT_RDONLY, &nd->root_saddr, &nd->root_args, td, &vp, mp)) != 0) { + CURVNET_RESTORE(); return (error); } @@ -516,6 +520,8 @@ if (V_hostname[i] == '\0') break; inittodr(ntohl(nd->root_time)); + + CURVNET_RESTORE(); return (0); } ==== //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#5 (text+ko) ==== @@ -1351,7 +1351,6 @@ static int nfs_create(struct vop_create_args *ap) { - INIT_VNET_INET(curvnet); struct vnode *dvp = ap->a_dvp; struct vattr *vap = ap->a_vap; struct componentname *cnp = ap->a_cnp; @@ -1390,6 +1389,7 @@ *tl = txdr_unsigned(NFSV3CREATE_EXCLUSIVE); tl = nfsm_build(u_int32_t *, NFSX_V3CREATEVERF); #ifdef INET + INIT_VNET_INET(VFSTONFS(dvp->v_mount)->nm_so->so_vnet); if (!TAILQ_EMPTY(&V_in_ifaddrhead)) *tl++ = IA_SIN(TAILQ_FIRST(&V_in_ifaddrhead))->sin_addr.s_addr; else From owner-p4-projects@FreeBSD.ORG Fri May 4 18:06:37 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 84D0816A404; Fri, 4 May 2007 18:06:37 +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 5B2F916A401 for ; Fri, 4 May 2007 18:06:37 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outN.internet-mail-service.net (outN.internet-mail-service.net [216.240.47.237]) by mx1.freebsd.org (Postfix) with ESMTP id 489AB13C44C for ; Fri, 4 May 2007 18:06:37 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id AA4D215461; Fri, 4 May 2007 10:32:43 -0700 (PDT) Received: from julian-mac.elischer.org (nat.ironport.com [63.251.108.100]) by idiom.com (Postfix) with ESMTP id 7AD27125B2F; Fri, 4 May 2007 11:06:36 -0700 (PDT) Message-ID: <463B762B.1090005@elischer.org> Date: Fri, 04 May 2007 11:06:35 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.0 (Macintosh/20070326) MIME-Version: 1.0 To: Marko Zec References: <200705041118.l44BIdN0039418@repoman.freebsd.org> In-Reply-To: <200705041118.l44BIdN0039418@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 119231 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, 04 May 2007 18:06:37 -0000 Marko Zec wrote: > http://perforce.freebsd.org/chv.cgi?CH=119231 > > Change 119231 by zec@zec_zoo on 2007/05/04 11:18:33 > > proc0_init() is called before vi_init() during kernel > autoconfiguratino / booting, so pointers inside vimage_0 are > not yet populated at that time. Hence, access vprocg_0 > directly at that point, not through vimage_0. > > Affected files ... > > .. //depot/projects/vimage/src/sys/kern/init_main.c#8 edit > > Differences ... > > ==== //depot/projects/vimage/src/sys/kern/init_main.c#8 (text+ko) ==== > > @@ -443,7 +443,7 @@ > p->p_ucred->cr_prison = NULL; /* Don't jail it. */ > #ifdef VIMAGE > p->p_ucred->cr_vimage = p->p_ucred->cr_rvimage = &vimage_0; > - vimage_0.v_procg->nprocs = 1; > + vprocg_0.nprocs = 1; > #endif > #ifdef AUDIT > audit_proc_alloc(p); or change the order? From owner-p4-projects@FreeBSD.ORG Fri May 4 18:28:54 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 F321616A401; Fri, 4 May 2007 18:28:53 +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 94FFA16A402; Fri, 4 May 2007 18:28:53 +0000 (UTC) (envelope-from zec@icir.org) Received: from xaqua.tel.fer.hr (xaqua.tel.fer.hr [161.53.19.25]) by mx1.freebsd.org (Postfix) with ESMTP id 5162513C448; Fri, 4 May 2007 18:28:53 +0000 (UTC) (envelope-from zec@icir.org) Received: by xaqua.tel.fer.hr (Postfix, from userid 20006) id 3F0EC9B651; Fri, 4 May 2007 20:28:52 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on xaqua.tel.fer.hr X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.7 Received: from [192.168.200.106] (zec2.tel.fer.hr [161.53.19.79]) by xaqua.tel.fer.hr (Postfix) with ESMTP id 69AB29B644; Fri, 4 May 2007 20:28:51 +0200 (CEST) From: Marko Zec To: Julian Elischer Date: Fri, 4 May 2007 20:28:46 +0200 User-Agent: KMail/1.9.6 References: <200705041118.l44BIdN0039418@repoman.freebsd.org> <463B762B.1090005@elischer.org> In-Reply-To: <463B762B.1090005@elischer.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200705042028.47360.zec@icir.org> Cc: Perforce Change Reviews , Marko Zec Subject: Re: PERFORCE change 119231 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, 04 May 2007 18:28:54 -0000 On Friday 04 May 2007 20:06:35 Julian Elischer wrote: > Marko Zec wrote: > > http://perforce.freebsd.org/chv.cgi?CH=119231 > > > > Change 119231 by zec@zec_zoo on 2007/05/04 11:18:33 > > > > proc0_init() is called before vi_init() during kernel > > autoconfiguratino / booting, so pointers inside vimage_0 are > > not yet populated at that time. Hence, access vprocg_0 > > directly at that point, not through vimage_0. > > > > Affected files ... > > > > .. //depot/projects/vimage/src/sys/kern/init_main.c#8 edit > > > > Differences ... > > > > ==== //depot/projects/vimage/src/sys/kern/init_main.c#8 (text+ko) > > ==== > > > > @@ -443,7 +443,7 @@ > > p->p_ucred->cr_prison = NULL; /* Don't jail it. */ > > #ifdef VIMAGE > > p->p_ucred->cr_vimage = p->p_ucred->cr_rvimage = &vimage_0; > > - vimage_0.v_procg->nprocs = 1; > > + vprocg_0.nprocs = 1; > > #endif > > #ifdef AUDIT > > audit_proc_alloc(p); > > or change the order? Yup... In general I'm always more nervous about changing initialization order than introducing simple changes as above, but vi_init() doesn't (yet) depend on anything particular so yes this should work... Marko From owner-p4-projects@FreeBSD.ORG Fri May 4 18: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 86A5216A404; Fri, 4 May 2007 18:39:09 +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 2BD4816A401 for ; Fri, 4 May 2007 18:39:09 +0000 (UTC) (envelope-from zec@icir.org) Received: from xaqua.tel.fer.hr (xaqua.tel.fer.hr [161.53.19.25]) by mx1.freebsd.org (Postfix) with ESMTP id AF0D013C4B8 for ; Fri, 4 May 2007 18:39:08 +0000 (UTC) (envelope-from zec@icir.org) Received: by xaqua.tel.fer.hr (Postfix, from userid 20006) id 0E2A09B651; Fri, 4 May 2007 20:39:08 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on xaqua.tel.fer.hr X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.7 Received: from [192.168.200.106] (zec2.tel.fer.hr [161.53.19.79]) by xaqua.tel.fer.hr (Postfix) with ESMTP id A72B19B644 for ; Fri, 4 May 2007 20:39:06 +0200 (CEST) From: Marko Zec To: perforce@freebsd.org Date: Fri, 4 May 2007 20:39:02 +0200 User-Agent: KMail/1.9.6 References: <200705041800.l44I07UI051520@repoman.freebsd.org> <463B7A95.3010009@elischer.org> In-Reply-To: <463B7A95.3010009@elischer.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200705042039.02884.zec@icir.org> Cc: Subject: Re: PERFORCE change 119250 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, 04 May 2007 18:39:09 -0000 On Friday 04 May 2007 20:25:25 Julian Elischer wrote: > Marko Zec wrote: > > http://perforce.freebsd.org/chv.cgi?CH=3D119250 > > > > Change 119250 by zec@zec_zoo on 2007/05/04 17:59:15 > > > > A set of kludges which allow for NFS netbooting. Basically > > the key is to properly set / restore curvnet whenever necessary... > > so whenever the filesystem uses the network, we need to drop back to > the base vimage, right? Ideally, we shouln't be limited to vnet0, no. =A0I haven't done much=20 testing doing NFS mounts from non-default / base vnet though -> TODO=20 list expanded... > How about storing the vimage-at-mount-time in the mountpoint? We already store a socket ptr in the nfs_mountsomething struct, and then=20 it's only one step away to resolving so->so_vnet... =A0As a rule a socket=20 MUST always be permanently bound to some vnet during its entire=20 lifetime... > May not be useful yet but migh tbecome useful if you allowed virtual > machines to mount their own filesystems.. A real VM would have its > own mount table I guess :-) Yes we should be able to do this (one day). Marko > > Affected files ... > > > > .. //depot/projects/vimage/src/sys/nfsclient/nfs_diskless.c#5 edit > > .. //depot/projects/vimage/src/sys/nfsclient/nfs_socket.c#4 edit > > .. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#5 edit > > .. //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#5 edit > > > > Differences ... > > > > =3D=3D=3D=3D //depot/projects/vimage/src/sys/nfsclient/nfs_diskless.c#5 > > (text+ko) =3D=3D=3D=3D > > > > @@ -151,7 +151,7 @@ > > void > > nfs_setup_diskless(void) > > { > > - INIT_VNET_NET(&vnet_0); > > + INIT_VNET_NET(curvnet); > > struct nfs_diskless *nd =3D &nfs_diskless; > > struct ifnet *ifp; > > struct ifaddr *ifa; > > > > =3D=3D=3D=3D //depot/projects/vimage/src/sys/nfsclient/nfs_socket.c#4 > > (text+ko) =3D=3D=3D=3D > > > > @@ -40,6 +40,7 @@ > > */ > > > > #include "opt_inet6.h" > > +#include "opt_vimage.h" > > > > #include > > #include > > @@ -58,6 +59,7 @@ > > #include > > #include > > #include > > +#include > > > > #include > > #include > > @@ -1454,6 +1456,7 @@ > > mtx_unlock(&nmp->nm_mtx); > > continue; > > } > > + CURVNET_SET(so->so_vnet); > > /* > > * If there is enough space and the window allows.. > > * Resend it > > @@ -1521,6 +1524,7 @@ > > mtx_unlock(&rep->r_mtx); > > mtx_unlock(&nmp->nm_mtx); > > } > > + CURVNET_RESTORE(); > > } > > mtx_unlock(&nfs_reqq_mtx); > > callout_reset(&nfs_callout, nfs_ticks, nfs_timer, NULL); > > > > =3D=3D=3D=3D //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#5 > > (text+ko) =3D=3D=3D=3D > > > > @@ -401,7 +401,7 @@ > > int > > nfs_mountroot(struct mount *mp, struct thread *td) > > { > > - INIT_VPROCG(&vprocg_0); > > + INIT_VPROCG(td->td_ucred->cr_vimage->v_procg); > > struct nfsv3_diskless *nd =3D &nfsv3_diskless; > > struct socket *so; > > struct vnode *vp; > > @@ -413,14 +413,17 @@ > > > > NET_ASSERT_GIANT(); > > > > + CURVNET_SET(td->td_ucred->cr_vimage->v_vnet); > > #if defined(BOOTP_NFSROOT) && defined(BOOTP) > > bootpc_init(); /* use bootp to get nfs_diskless filled in */ > > #elif defined(NFS_ROOT) > > nfs_setup_diskless(); > > #endif > > > > - if (nfs_diskless_valid =3D=3D 0) > > + if (nfs_diskless_valid =3D=3D 0) { > > + CURVNET_RESTORE(); > > return (-1); > > + } > > if (nfs_diskless_valid =3D=3D 1) > > nfs_convert_diskless(); > > > > @@ -502,6 +505,7 @@ > > printf("NFS ROOT: %s\n", buf); > > if ((error =3D nfs_mountdiskless(buf, MNT_RDONLY, > > &nd->root_saddr, &nd->root_args, td, &vp, mp)) !=3D 0) { > > + CURVNET_RESTORE(); > > return (error); > > } > > > > @@ -516,6 +520,8 @@ > > if (V_hostname[i] =3D=3D '\0') > > break; > > inittodr(ntohl(nd->root_time)); > > + > > + CURVNET_RESTORE(); > > return (0); > > } > > > > > > =3D=3D=3D=3D //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#5 > > (text+ko) =3D=3D=3D=3D > > > > @@ -1351,7 +1351,6 @@ > > static int > > nfs_create(struct vop_create_args *ap) > > { > > - INIT_VNET_INET(curvnet); > > struct vnode *dvp =3D ap->a_dvp; > > struct vattr *vap =3D ap->a_vap; > > struct componentname *cnp =3D ap->a_cnp; > > @@ -1390,6 +1389,7 @@ > > *tl =3D txdr_unsigned(NFSV3CREATE_EXCLUSIVE); > > tl =3D nfsm_build(u_int32_t *, NFSX_V3CREATEVERF); > > #ifdef INET > > + INIT_VNET_INET(VFSTONFS(dvp->v_mount)->nm_so->so_vnet); > > if (!TAILQ_EMPTY(&V_in_ifaddrhead)) > > *tl++ =3D > > IA_SIN(TAILQ_FIRST(&V_in_ifaddrhead))->sin_addr.s_addr; else From owner-p4-projects@FreeBSD.ORG Fri May 4 20:15:28 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 E8EA816A408; Fri, 4 May 2007 20:15:27 +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 B593016A403 for ; Fri, 4 May 2007 20:15:27 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (arm132.internetdsl.tpnet.pl [83.17.198.132]) by mx1.freebsd.org (Postfix) with ESMTP id 5C6D113C4B0 for ; Fri, 4 May 2007 20:15:27 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 75297487F2; Fri, 4 May 2007 22:15:25 +0200 (CEST) Received: from localhost (154.81.datacomsa.pl [195.34.81.154]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 17119456AB; Fri, 4 May 2007 22:15:20 +0200 (CEST) Date: Fri, 4 May 2007 22:14:51 +0200 From: Pawel Jakub Dawidek To: Marko Zec Message-ID: <20070504201451.GA14320@garage.freebsd.pl> References: <200705041800.l44I07UI051520@repoman.freebsd.org> <463B7A95.3010009@elischer.org> <200705042039.02884.zec@icir.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="zYM0uCDKw75PZbzx" Content-Disposition: inline In-Reply-To: <200705042039.02884.zec@icir.org> X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 7.0-CURRENT i386 User-Agent: mutt-ng/devel-r804 (FreeBSD) X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham version=3.0.4 Cc: perforce@freebsd.org Subject: Re: PERFORCE change 119250 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, 04 May 2007 20:15:28 -0000 --zYM0uCDKw75PZbzx Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, May 04, 2007 at 08:39:02PM +0200, Marko Zec wrote: > On Friday 04 May 2007 20:25:25 Julian Elischer wrote: > > May not be useful yet but migh tbecome useful if you allowed virtual > > machines to mount their own filesystems.. A real VM would have its > > own mount table I guess :-) >=20 > Yes we should be able to do this (one day). It is supported already. A file system may declare itself as jail-friendly by passing VFCF_JAIL flag to VFS_SET(9). Currently the only jail-friendly file system is ZFS, but we may want to add other file systems in the future, like nullfs, unionfs and NFS. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --zYM0uCDKw75PZbzx Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFGO5Q7ForvXbEpPzQRAscNAKDVbjzkT4xJT8YEHZWp7Wfhmvx+1wCbBJQK Zk++NxOmj21/h7dVKZeJxl4= =FpQ7 -----END PGP SIGNATURE----- --zYM0uCDKw75PZbzx-- From owner-p4-projects@FreeBSD.ORG Fri May 4 21:56: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 72ED016A407; Fri, 4 May 2007 21:56: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 17E4716A406 for ; Fri, 4 May 2007 21:56:01 +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 025FF13C45E for ; Fri, 4 May 2007 21:56:01 +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 l44Lu0Rc005878 for ; Fri, 4 May 2007 21:56:00 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l44LtwGo005863 for perforce@freebsd.org; Fri, 4 May 2007 21:55:58 GMT (envelope-from jhb@freebsd.org) Date: Fri, 4 May 2007 21:55:58 GMT Message-Id: <200705042155.l44LtwGo005863@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 119254 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, 04 May 2007 21:56:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=119254 Change 119254 by jhb@jhb_mutex on 2007/05/04 21:55:16 IFC @119253. Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/mptable_pci.c#8 integrate .. //depot/projects/smpng/sys/amd64/amd64/msi.c#5 integrate .. //depot/projects/smpng/sys/amd64/amd64/nexus.c#25 integrate .. //depot/projects/smpng/sys/amd64/include/intr_machdep.h#15 integrate .. //depot/projects/smpng/sys/amd64/pci/pci_bus.c#20 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/ep80219_machdep.c#5 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq31244_machdep.c#24 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_machdep.c#3 integrate .. //depot/projects/smpng/sys/conf/files#205 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#55 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_acpi.c#25 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_pci.c#14 integrate .. //depot/projects/smpng/sys/dev/em/LICENSE#5 integrate .. //depot/projects/smpng/sys/dev/em/README#14 integrate .. //depot/projects/smpng/sys/dev/em/e1000_80003es2lan.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_80003es2lan.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82540.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82541.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82541.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82542.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82543.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82543.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82571.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82571.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82575.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_82575.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_api.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_api.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_defines.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_hw.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_ich8lan.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_ich8lan.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_mac.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_mac.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_manage.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_manage.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_nvm.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_nvm.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_osdep.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_phy.c#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_phy.h#1 branch .. //depot/projects/smpng/sys/dev/em/e1000_regs.h#1 branch .. //depot/projects/smpng/sys/dev/em/if_em.c#81 integrate .. //depot/projects/smpng/sys/dev/em/if_em.h#40 integrate .. //depot/projects/smpng/sys/dev/em/if_em_hw.c#21 delete .. //depot/projects/smpng/sys/dev/em/if_em_hw.h#21 delete .. //depot/projects/smpng/sys/dev/em/if_em_osdep.h#20 delete .. //depot/projects/smpng/sys/dev/gem/if_gem.c#31 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem_pci.c#21 integrate .. //depot/projects/smpng/sys/dev/gem/if_gemvar.h#13 integrate .. //depot/projects/smpng/sys/dev/ipmi/ipmi_smbios.c#3 integrate .. //depot/projects/smpng/sys/dev/pci/pci.c#92 integrate .. //depot/projects/smpng/sys/dev/pci/pci_if.m#9 integrate .. //depot/projects/smpng/sys/dev/pci/pci_pci.c#34 integrate .. //depot/projects/smpng/sys/dev/pci/pci_private.h#21 integrate .. //depot/projects/smpng/sys/dev/pci/pcib_if.m#7 integrate .. //depot/projects/smpng/sys/dev/pci/pcib_private.h#12 integrate .. //depot/projects/smpng/sys/dev/pci/pcivar.h#27 integrate .. //depot/projects/smpng/sys/dev/sound/pci/emu10kx.c#6 integrate .. //depot/projects/smpng/sys/i386/i386/mptable_pci.c#8 integrate .. //depot/projects/smpng/sys/i386/i386/msi.c#5 integrate .. //depot/projects/smpng/sys/i386/i386/nexus.c#27 integrate .. //depot/projects/smpng/sys/i386/include/intr_machdep.h#17 integrate .. //depot/projects/smpng/sys/i386/pci/pci_bus.c#33 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#107 integrate .. //depot/projects/smpng/sys/kern/uipc_debug.c#2 integrate .. //depot/projects/smpng/sys/kern/uipc_sockbuf.c#7 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#104 integrate .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#104 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#129 integrate .. //depot/projects/smpng/sys/modules/em/Makefile#6 integrate .. //depot/projects/smpng/sys/net/ieee8023ad_lacp.c#4 integrate .. //depot/projects/smpng/sys/net/if_lagg.c#3 integrate .. //depot/projects/smpng/sys/net/if_lagg.h#2 integrate .. //depot/projects/smpng/sys/netgraph/ng_mppc.c#13 integrate .. //depot/projects/smpng/sys/netinet/ip_fw.h#37 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#86 integrate .. //depot/projects/smpng/sys/netinet/sctp_pcb.c#11 integrate .. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#12 integrate .. //depot/projects/smpng/sys/netinet/sctputil.c#13 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#104 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#40 integrate .. //depot/projects/smpng/sys/netinet6/nd6_nbr.c#24 integrate .. //depot/projects/smpng/sys/sys/filedesc.h#31 integrate .. //depot/projects/smpng/sys/sys/socketvar.h#57 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#64 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/mptable_pci.c#8 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.7 2007/01/22 21:48:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.8 2007/05/02 17:50:34 jhb Exp $"); #include #include @@ -72,7 +72,7 @@ return (bus_generic_attach(dev)); } -/* Pass MSI alloc requests up to the nexus. */ +/* Pass MSI requests up to the nexus. */ static int mptable_hostb_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs) @@ -85,12 +85,22 @@ } static int -mptable_hostb_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +mptable_hostb_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +mptable_hostb_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static device_method_t mptable_hostb_methods[] = { @@ -120,8 +130,8 @@ DEVMETHOD(pcib_alloc_msi, mptable_hostb_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, mptable_hostb_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, mptable_hostb_map_msi), { 0, 0 } }; @@ -177,8 +187,8 @@ DEVMETHOD(pcib_alloc_msi, pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, pcib_map_msi), {0, 0} }; ==== //depot/projects/smpng/sys/amd64/amd64/msi.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.4 2007/02/15 22:22:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.5 2007/05/02 17:50:34 jhb Exp $"); #include #include @@ -99,21 +99,20 @@ * assigned an ID by the system; however, a group will use the ID from * the first message. * - * For MSI-X, each message is isolated, and msi_index indicates the - * index of this message in the device's MSI-X table. + * For MSI-X, each message is isolated. */ struct msi_intsrc { struct intsrc msi_intsrc; device_t msi_dev; /* Owning device. (g) */ struct msi_intsrc *msi_first; /* First source in group. */ u_int msi_irq; /* IRQ cookie. */ - u_int msi_index; /* Index of this message. */ u_int msi_msix; /* MSI-X message. */ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ }; +static struct msi_intsrc *msi_create_source(u_int irq); static void msi_enable_source(struct intsrc *isrc); static void msi_disable_source(struct intsrc *isrc, int eoi); static void msi_eoi_source(struct intsrc *isrc); @@ -123,16 +122,10 @@ static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); -static void msix_enable_intr(struct intsrc *isrc); -static int msix_source_pending(struct intsrc *isrc); -static void msix_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_vector, msi_source_pending, NULL, NULL, msi_config_intr, msi_assign_cpu }; -struct pic msix_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, - msix_enable_intr, msi_vector, msix_source_pending, - NULL, NULL, msi_config_intr, msix_assign_cpu }; static int msi_enabled; static struct sx msi_sx; @@ -162,17 +155,6 @@ { struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - /* - * Since we can only enable the entire group at once, go ahead and - * enable the messages when the first message is given a handler. - * Note that we assume all devices will register a handler for the - * first message. - */ - if (msi->msi_index == 0) { - mtx_lock_spin(&icu_lock); - pci_enable_msi(msi->msi_dev, INTEL_ADDR(msi), INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); - } apic_enable_vector(msi->msi_vector); } @@ -206,51 +188,13 @@ msi->msi_cpu = apic_id; if (bootverbose) - printf("msi: Assigning MSI IRQ %d to local APIC %u\n", - msi->msi_irq, msi->msi_cpu); - mtx_lock_spin(&icu_lock); + printf("msi: Assigning %s IRQ %d to local APIC %u\n", + msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, + msi->msi_cpu); if (isrc->is_enabled) - pci_enable_msi(msi->msi_dev, INTEL_ADDR(msi), INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); + pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); } -static void -msix_enable_intr(struct intsrc *isrc) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - mtx_lock_spin(&icu_lock); - pci_enable_msix(msi->msi_dev, msi->msi_index, INTEL_ADDR(msi), - INTEL_DATA(msi)); - pci_unmask_msix(msi->msi_dev, msi->msi_index); - mtx_unlock_spin(&icu_lock); - apic_enable_vector(msi->msi_vector); -} - -static int -msix_source_pending(struct intsrc *isrc) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - return (pci_pending_msix(msi->msi_dev, msi->msi_index)); -} - -static void -msix_assign_cpu(struct intsrc *isrc, u_int apic_id) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - msi->msi_cpu = apic_id; - if (bootverbose) - printf("msi: Assigning MSI-X IRQ %d to local APIC %u\n", - msi->msi_irq, msi->msi_cpu); - mtx_lock_spin(&icu_lock); - if (isrc->is_enabled) - pci_enable_msix(msi->msi_dev, msi->msi_index, INTEL_ADDR(msi), - INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); -} - void msi_init(void) { @@ -262,10 +206,21 @@ msi_enabled = 1; intr_register_pic(&msi_pic); - intr_register_pic(&msix_pic); sx_init(&msi_sx, "msi"); } +struct msi_intsrc * +msi_create_source(u_int irq) +{ + struct msi_intsrc *msi; + + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi->msi_intsrc.is_pic = &msi_pic; + msi->msi_irq = irq; + intr_register_source(&msi->msi_intsrc); + return (msi); +} + /* * Try to allocate 'count' interrupt sources with contiguous IDT values. If * we allocate any new sources, then their IRQ values will be at the end of @@ -317,14 +272,8 @@ *newcount = count - cnt; for (j = 0; j < *newcount; j++) { - /* Create a new MSI source. */ - msi = malloc(sizeof(struct msi_intsrc), M_MSI, - M_WAITOK | M_ZERO); - msi->msi_intsrc.is_pic = &msi_pic; - msi->msi_irq = i + j; - intr_register_source(&msi->msi_intsrc); - - /* Add it to our array. */ + /* Create a new MSI source and add it to our array. */ + msi_create_source(i + j); irqs[cnt] = i + j; cnt++; } @@ -344,13 +293,11 @@ fsrc = (struct msi_intsrc *)intr_lookup_source(irqs[0]); for (i = 0; i < count; i++) { msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]); - msi->msi_intsrc.is_pic = &msi_pic; msi->msi_dev = dev; msi->msi_vector = vector + i; if (bootverbose) printf("msi: routing MSI IRQ %d to vector %u\n", msi->msi_irq, msi->msi_vector); - msi->msi_index = i; msi->msi_first = fsrc; /* XXX: Somewhat gross. */ @@ -395,8 +342,6 @@ sx_xunlock(&msi_sx); return (EINVAL); } - KASSERT(first->msi_index == 0, ("index mismatch")); - KASSERT(first->msi_dev != NULL, ("unowned group")); /* Clear all the extra messages in the group. */ @@ -408,7 +353,6 @@ msi->msi_dev = NULL; apic_free_vector(msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; - msi->msi_index = 0; } /* Clear out the first message. */ @@ -423,7 +367,44 @@ } int -msix_alloc(device_t dev, int index, int *irq, int *new) +msi_map(int irq, uint64_t *addr, uint32_t *data) +{ + struct msi_intsrc *msi; + + sx_slock(&msi_sx); + msi = (struct msi_intsrc *)intr_lookup_source(irq); + if (msi == NULL) { + sx_sunlock(&msi_sx); + return (ENOENT); + } + + /* Make sure this message is allocated to a device. */ + if (msi->msi_dev == NULL) { + sx_sunlock(&msi_sx); + return (ENXIO); + } + + /* + * If this message isn't an MSI-X message, make sure it's part + * of a gruop, and switch to the first message in the + * group. + */ + if (!msi->msi_msix) { + if (msi->msi_first == NULL) { + sx_sunlock(&msi_sx); + return (ENXIO); + } + msi = msi->msi_first; + } + + *addr = INTEL_ADDR(msi); + *data = INTEL_DATA(msi); + sx_sunlock(&msi_sx); + return (0); +} + +int +msix_alloc(device_t dev, int *irq, int *new) { struct msi_intsrc *msi; int i, vector; @@ -457,11 +438,7 @@ /* Create a new source. */ *new = 1; - msi = malloc(sizeof(struct msi_intsrc), M_MSI, - M_WAITOK | M_ZERO); - msi->msi_intsrc.is_pic = &msix_pic; - msi->msi_irq = i; - intr_register_source(&msi->msi_intsrc); + msi = msi_create_source(i); } /* Allocate an IDT vector. */ @@ -471,10 +448,8 @@ vector); /* Setup source. */ - msi->msi_intsrc.is_pic = &msix_pic; msi->msi_dev = dev; msi->msi_vector = vector; - msi->msi_index = index; msi->msi_msix = 1; /* XXX: Somewhat gross. */ @@ -486,30 +461,6 @@ } int -msix_remap(int index, int irq) -{ - struct msi_intsrc *msi; - - sx_xlock(&msi_sx); - msi = (struct msi_intsrc *)intr_lookup_source(irq); - if (msi == NULL) { - sx_xunlock(&msi_sx); - return (ENOENT); - } - - /* Make sure this is an MSI-X message. */ - if (!msi->msi_msix) { - sx_xunlock(&msi_sx); - return (EINVAL); - } - - KASSERT(msi->msi_dev != NULL, ("unowned message")); - msi->msi_index = index; - sx_xunlock(&msi_sx); - return (0); -} - -int msix_release(int irq) { struct msi_intsrc *msi; @@ -533,7 +484,6 @@ msi->msi_dev = NULL; apic_free_vector(msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; - msi->msi_index = 0; msi->msi_msix = 0; sx_xunlock(&msi_sx); ==== //depot/projects/smpng/sys/amd64/amd64/nexus.c#25 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.75 2007/03/21 15:36:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.76 2007/05/02 17:50:34 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -108,9 +108,9 @@ static void nexus_delete_resource(device_t, device_t, int, int); static int nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs); static int nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs); -static int nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq); -static int nexus_remap_msix(device_t pcib, device_t dev, int index, int irq); +static int nexus_alloc_msix(device_t pcib, device_t dev, int *irq); static int nexus_release_msix(device_t pcib, device_t dev, int irq); +static int nexus_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data); static device_method_t nexus_methods[] = { /* Device interface */ @@ -140,8 +140,8 @@ DEVMETHOD(pcib_alloc_msi, nexus_alloc_msi), DEVMETHOD(pcib_release_msi, nexus_release_msi), DEVMETHOD(pcib_alloc_msix, nexus_alloc_msix), - DEVMETHOD(pcib_remap_msix, nexus_remap_msix), DEVMETHOD(pcib_release_msix, nexus_release_msix), + DEVMETHOD(pcib_map_msi, nexus_map_msi), { 0, 0 } }; @@ -504,24 +504,17 @@ } static int -nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +nexus_alloc_msix(device_t pcib, device_t dev, int *irq) { int error, new; - error = msix_alloc(dev, index, irq, &new); + error = msix_alloc(dev, irq, &new); if (new) rman_manage_region(&irq_rman, *irq, *irq); return (error); } static int -nexus_remap_msix(device_t pcib, device_t dev, int index, int irq) -{ - - return (msix_remap(index, irq)); -} - -static int nexus_release_msix(device_t pcib, device_t dev, int irq) { @@ -551,6 +544,13 @@ return (msi_release(irqs, count)); } +static int +nexus_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) +{ + + return (msi_map(irq, addr, data)); +} + /* Placeholder for system RAM. */ static void ram_identify(driver_t *driver, device_t parent) ==== //depot/projects/smpng/sys/amd64/include/intr_machdep.h#15 (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.16 2007/03/06 17:16:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.17 2007/05/02 17:50:34 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -149,9 +149,9 @@ int msi_alloc(device_t dev, int count, int maxcount, int *irqs, int *newirq, int *newcount); void msi_init(void); +int msi_map(int irq, uint64_t *addr, uint32_t *data); int msi_release(int *irqs, int count); -int msix_alloc(device_t dev, int index, int *irq, int *new); -int msix_remap(int index, int irq); +int msix_alloc(device_t dev, int *irq, int *new); int msix_release(int irq); #endif /* !LOCORE */ ==== //depot/projects/smpng/sys/amd64/pci/pci_bus.c#20 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.120 2007/01/22 21:48:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.121 2007/05/02 17:50:34 jhb Exp $"); #include "opt_cpu.h" @@ -81,7 +81,7 @@ return (PCI_INVALID_IRQ); } -/* Pass MSI alloc requests up to the nexus. */ +/* Pass MSI requests up to the nexus. */ static int legacy_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, @@ -95,12 +95,22 @@ } static int -legacy_pcib_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +legacy_pcib_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static const char * @@ -347,8 +357,8 @@ DEVMETHOD(pcib_alloc_msi, legacy_pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, legacy_pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, legacy_pcib_map_msi), { 0, 0 } }; ==== //depot/projects/smpng/sys/arm/xscale/i80321/ep80219_machdep.c#5 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.5 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.6 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,8 +125,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/smpng/sys/arm/xscale/i80321/iq31244_machdep.c#24 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.26 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.27 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,8 +125,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/smpng/sys/arm/xscale/ixp425/avila_machdep.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.3 2007/02/02 05:14:21 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.4 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -124,8 +124,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/smpng/sys/conf/files#205 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1198 2007/04/25 15:30:17 mav Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1201 2007/05/04 13:29:45 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -600,8 +600,34 @@ dev/ed/if_ed_pci.c optional ed pci dev/eisa/eisa_if.m standard dev/eisa/eisaconf.c optional eisa -dev/em/if_em.c optional em -dev/em/if_em_hw.c optional em +dev/em/if_em.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_80003es2lan.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82540.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82541.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82542.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82543.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82571.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82575.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_api.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_ich8lan.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_mac.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_manage.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_nvm.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_phy.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" dev/en/if_en_pci.c optional en pci dev/en/midway.c optional en dev/ep/if_ep.c optional ep ==== //depot/projects/smpng/sys/conf/kern.pre.mk#55 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.81 2006/10/26 15:16:43 bde Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.82 2007/05/04 00:00:10 jfv Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -76,6 +76,9 @@ # .. and the same for twa INCLUDES+= -I$S/dev/twa +# .. and the same for em +INCLUDES+= -I$S/dev/em + # ... and XFS INCLUDES+= -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs ==== //depot/projects/smpng/sys/dev/acpica/acpi_pcib_acpi.c#25 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.53 2007/01/22 21:48:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.54 2007/05/02 17:50:35 jhb Exp $"); #include "opt_acpi.h" #include @@ -76,8 +76,10 @@ device_t dev, int pin); static int acpi_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs); +static int acpi_pcib_map_msi(device_t pcib, device_t dev, + int irq, uint64_t *addr, uint32_t *data); static int acpi_pcib_alloc_msix(device_t pcib, device_t dev, - int index, int *irq); + int *irq); static struct resource *acpi_pcib_acpi_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, @@ -110,8 +112,8 @@ DEVMETHOD(pcib_alloc_msi, acpi_pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, acpi_pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, acpi_pcib_map_msi), {0, 0} }; @@ -323,12 +325,22 @@ } static int -acpi_pcib_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +acpi_pcib_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +acpi_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static u_long acpi_host_mem_start = 0x80000000; ==== //depot/projects/smpng/sys/dev/acpica/acpi_pcib_pci.c#14 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_pci.c,v 1.16 2007/01/22 21:48:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_pci.c,v 1.17 2007/05/02 17:50:35 jhb Exp $"); #include "opt_acpi.h" @@ -96,8 +96,8 @@ DEVMETHOD(pcib_alloc_msi, pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, pcib_map_msi), {0, 0} }; ==== //depot/projects/smpng/sys/dev/em/LICENSE#5 (text+ko) ==== @@ -1,31 +1,31 @@ -$FreeBSD: src/sys/dev/em/LICENSE,v 1.5 2006/04/07 10:18:24 glebius Exp $ -/*- -Copyright (c) 2001-2005, Intel Corporation -All rights reserved. +$FreeBSD: src/sys/dev/em/LICENSE,v 1.6 2007/05/04 00:00:11 jfv Exp $ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + Copyright (c) 2001-2007, Intel Corporation + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -*/ ==== //depot/projects/smpng/sys/dev/em/README#14 (text+ko) ==== @@ -1,8 +1,8 @@ -$FreeBSD: src/sys/dev/em/README,v 1.13 2006/08/03 09:20:11 glebius Exp $ -FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters +$FreeBSD: src/sys/dev/em/README,v 1.14 2007/05/04 00:00:11 jfv Exp $ +FreeBSD Driver for the Gigabit Family of Adapters ============================================================ -May 2, 2006 +April 18, 2007 Contents @@ -21,11 +21,11 @@ Overview ======== -This file describes the FreeBSD* driver for the Intel(R) PRO/1000 Family of +This file describes the FreeBSD* driver for the Gigabit Family of Adapters. This driver has been developed for use with FreeBSD, Release 6.x. For questions related to hardware requirements, refer to the documentation -supplied with your Intel PRO/1000 adapter. All hardware requirements listed +supplied with your Gigabit adapter. All hardware requirements listed apply to use with FreeBSD. @@ -62,7 +62,7 @@ 2. Untar/unzip the archive: - tar xvfz em-x.x.x.tar.gz + tar xzvf em-x.x.x.tar.gz This will create an em-x.x.x directory. @@ -74,7 +74,7 @@ cd em-x.x.x make - b. To install the compiled module in system directory: + b. To install the compiled module to the system directory: make install @@ -84,35 +84,26 @@ if_em_load="YES" -4. To compile the driver into the kernel: +4. To compile the driver into the kernel, enter: cd em-x.x.x/src - - cp if_em* /usr/src/sys/dev/em - + cp *.[ch] /usr/src/sys/dev/em cp Makefile.kernel /usr/src/sys/modules/em/Makefile - Edit the /usr/src/sys/conf/files file, and add the following lines only if - they don't already exist: + NOTE: At this point you MUST install a patch, kernbuild.patch, which is + located in the patches directory. This is applied as shown below where + "$PATH_TO_KERNBUILD_PATCH" is the location of the kernbuild.patch: - dev/em/if_em.c optional em + cd /usr/src/sys; patch -p1 < $PATH_TO_KERNBUILD_PATCH - dev/em/if_em_hw.c optional em + Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in + /usr/src/sys/i386/conf, and ensure the following line is present: - Remove the following lines from the /usr/src/sys/conf/files file, - if they exist: - - dev/em/if_em_fxhw.c optional em - dev/em/if_em_phy.c optional em - - Edit the kernel configuration file (i.e., GENERIC or MYKERNEL) in - /usr/src/sys/i386/conf, and ensure the following line is present: - device em - Compile and install the kernel. The system must be rebooted for the kernel - updates to take effect. For additional information on compiling the - kernel, consult the FreeBSD operating system documentation. + Compile and install the kernel. The system must be rebooted for the + kernel updates to take effect. For additional information on compiling + the kernel, consult the FreeBSD operating system documentation. 5. To assign an IP address to the interface, enter the following: @@ -150,6 +141,12 @@ not specified and you are not running at gigabit speed, the driver defaults to half-duplex. +If the interface is currently forced to 100 full duplex, in order to change +to half duplex you must use this command: + + ifconfig em media 100baseTX -mediaopt + full-duplex + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri May 4 23:31:11 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 0C5E316A406; Fri, 4 May 2007 23:31: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 B1DEE16A403 for ; Fri, 4 May 2007 23:31:10 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8B26113C469 for ; Fri, 4 May 2007 23:31:10 +0000 (UTC) (envelope-from zec@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 l44NVAoP022821 for ; Fri, 4 May 2007 23:31:10 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l44NVAme022814 for perforce@freebsd.org; Fri, 4 May 2007 23:31:10 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 4 May 2007 23:31:10 GMT Message-Id: <200705042331.l44NVAme022814@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 119258 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, 04 May 2007 23:31:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=119258 Change 119258 by zec@zec_tca51 on 2007/05/04 23:30:18 A step towards being able to initiate NFS mounts from non-default vnets (and this actually works now). Affected files ... .. //depot/projects/vimage/src/sys/nfsclient/nfs_socket.c#5 edit Differences ... ==== //depot/projects/vimage/src/sys/nfsclient/nfs_socket.c#5 (text+ko) ==== @@ -265,7 +265,11 @@ int error, rcvreserve, sndreserve; int pktscale; struct sockaddr *saddr; +#ifdef VIMAGE + struct thread *td = curthread; /* XXX is this safe? */ +#else struct thread *td = &thread0; /* only used for socreate and sobind */ +#endif NET_LOCK_GIANT(); From owner-p4-projects@FreeBSD.ORG Sat May 5 00:11:02 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 A8D8A16A409; Sat, 5 May 2007 00:11: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 4760416A400 for ; Sat, 5 May 2007 00:11:01 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 29C2C13C48A for ; Sat, 5 May 2007 00:11:01 +0000 (UTC) (envelope-from lulf@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 l450B1IN029689 for ; Sat, 5 May 2007 00:11:01 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l450B0Ev029681 for perforce@freebsd.org; Sat, 5 May 2007 00:11:00 GMT (envelope-from lulf@FreeBSD.org) Date: Sat, 5 May 2007 00:11:00 GMT Message-Id: <200705050011.l450B0Ev029681@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 119260 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, 05 May 2007 00:11:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=119260 Change 119260 by lulf@lulf_carrot on 2007/05/05 00:10:12 - Add gv_set_plex_state to make it possible to set plex state. - Add gv_plexdown to count number of plexes down in a volume. - Hook this up in the event system. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#6 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#5 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#7 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#3 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#4 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#6 (text+ko) ==== @@ -547,6 +547,19 @@ g_free(ev->arg3); break; + case GV_EVENT_SET_PLEX_STATE: + printf("VINUM: event 'setstate plex'\n"); + p = ev->arg1; + newstate = *(int *)ev->arg2; + flags = *(int *)ev->arg3; + err = gv_set_plex_state(p, newstate, flags); + if (err) + printf("VINUM: error setting plex " + "state\n"); + g_free(ev->arg2); + g_free(ev->arg3); + break; + case GV_EVENT_THREAD_EXIT: printf("VINUM: event 'thread exit'\n"); g_free(ev); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#5 (text+ko) ==== @@ -64,6 +64,7 @@ int gv_set_drive_state(struct gv_drive *, int, int); int gv_set_sd_state(struct gv_sd *, int, int); int gv_set_vol_state(struct gv_volume *, int, int); +int gv_set_plex_state(struct gv_plex *, int, int); void gv_update_sd_state(struct gv_sd *); void gv_update_plex_state(struct gv_plex *); void gv_update_vol_state(struct gv_volume *); @@ -87,6 +88,7 @@ void gv_update_vol_size(struct gv_volume *, off_t); off_t gv_vol_size(struct gv_volume *); off_t gv_plex_size(struct gv_plex *); +int gv_plexdown(struct gv_volume *); void gv_worker(void *); void gv_post_event(struct gv_softc *, int, void *, void *, void *); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#7 (text+ko) ==== @@ -44,6 +44,7 @@ struct gv_sd *s; struct gv_drive *d; struct gv_volume *v; + struct gv_plex *p; char *obj, *state; int f, *flags, *newstatep, *flagp, type; @@ -79,6 +80,7 @@ } v = gv_find_vol(sc, obj); + /* XXX: Should try to avoid malloc. */ newstatep = g_malloc(sizeof(int), M_WAITOK | M_ZERO); *newstatep = gv_volstatei(state); flagp = g_malloc(sizeof(int), M_WAITOK | M_ZERO); @@ -87,7 +89,18 @@ break; case GV_TYPE_PLEX: - gctl_error(req, "plex state cannot be set currently"); + if (gv_plexstatei(state) < 0) { + gctl_error(req, "invalid plex state '%s'", state); + break; + } + p = gv_find_plex(sc, obj); + + /* XXX: Should try to avoid malloc. */ + newstatep = g_malloc(sizeof(int), M_WAITOK | M_ZERO); + *newstatep = gv_sdstatei(state); + flagp = g_malloc(sizeof(int), M_WAITOK | M_ZERO); + *flagp = f; + gv_post_event(sc, GV_EVENT_SET_PLEX_STATE, p, newstatep, flagp); break; case GV_TYPE_SD: @@ -277,6 +290,56 @@ } int +gv_set_plex_state(struct gv_plex *p, int newstate, int flags) +{ + struct gv_volume *v; + int oldstate, plexdown; + + KASSERT(p != NULL, ("gv_set_plex_state: NULL p")); + + oldstate = p->state; + v = p->vol_sc; + plexdown = 0; + + if (newstate == oldstate) + return (0); + + switch (newstate) { + case GV_PLEX_UP: + /* Let update_plex handle if the plex can come up */ + gv_update_plex_state(p); + if (p->state != GV_PLEX_UP && !(flags & GV_SETSTATE_FORCE)) + return (-1); /* XXX: ERROR CODES. */ + p->state = newstate; + break; + case GV_PLEX_DOWN: + /* + * Set state to GV_PLEX_DOWN only if no-one is using the plex, + * or if the state is forced. + */ + if (v != NULL) { + /* If the only one up, force is needed. */ + plexdown = gv_plexdown(v); + if ((v->plexcount == 1 || + (v->plexcount - plexdown == 1)) && + ((flags & GV_SETSTATE_FORCE) == 0)) + return (-1); /* XXX: ERROR CODES. */ + } + p->state = newstate; + break; + } + + /* Update our volume if we have one. */ + if (v != NULL) + gv_update_vol_state(v); + + /* Save config. */ + if (flags & GV_SETSTATE_CONFIG) + gv_save_config(p->vinumconf); + return (0); +} + +int gv_set_vol_state(struct gv_volume *v, int newstate, int flags) { int oldstate; @@ -298,7 +361,7 @@ break; case GV_VOL_DOWN: /* - * Set state to GV_VOL_DOWN only if noone is using the volume, + * Set state to GV_VOL_DOWN only if no-one is using the volume, * or if the state should be forced. */ if (!gv_provider_is_open(v->provider) && ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#3 (text+ko) ==== @@ -245,6 +245,24 @@ return (smallest); } +/* Walk over plexes in a volume and count how many are down. */ +int +gv_plexdown(struct gv_volume *v) +{ + int plexdown; + struct gv_plex *p; + + KASSERT(v != NULL, ("gv_plexdown: NULL v")); + + plexdown = 0; + + LIST_FOREACH(p, &v->plexes, plex) { + if (p->state == GV_PLEX_DOWN) + plexdown++; + } + return (plexdown); +} + int gv_sd_to_plex(struct gv_sd *s, struct gv_plex *p) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#4 (text+ko) ==== @@ -175,6 +175,7 @@ #define GV_EVENT_SET_SD_STATE 13 #define GV_EVENT_SET_DRIVE_STATE 14 #define GV_EVENT_SET_VOL_STATE 15 +#define GV_EVENT_SET_PLEX_STATE 16 struct gv_event { int type; From owner-p4-projects@FreeBSD.ORG Sat May 5 00:30:26 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 05B1016A402; Sat, 5 May 2007 00:30:26 +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 AC0D416A400 for ; Sat, 5 May 2007 00:30:25 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8527913C447 for ; Sat, 5 May 2007 00:30:25 +0000 (UTC) (envelope-from rpaulo@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 l450UP5v032637 for ; Sat, 5 May 2007 00:30:25 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l450UPfs032634 for perforce@freebsd.org; Sat, 5 May 2007 00:30:25 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 5 May 2007 00:30:25 GMT Message-Id: <200705050030.l450UPfs032634@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 119261 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, 05 May 2007 00:30:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=119261 Change 119261 by rpaulo@rpaulo_epsilon on 2007/05/05 00:29:49 On some machines we need to evaluate _OSC so that _PSS shows up. In this particular case, Apple's MacBook. Reviewed by: Nate Lawson Approved by: Nate Lawson Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_cpu.c#3 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_cpu.c#3 (text+ko) ==== @@ -369,7 +369,6 @@ arg[3].Buffer.Pointer = (uint8_t *)cap_set; cap_set[0] = 0; AcpiEvaluateObject(sc->cpu_handle, "_OSC", &arglist, NULL); - } /* Probe for Cx state support. */ From owner-p4-projects@FreeBSD.ORG Sat May 5 05:08: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 6719F16A402; Sat, 5 May 2007 05:08: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 0AFDC16A404 for ; Sat, 5 May 2007 05:08:12 +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 EEFEE13C447 for ; Sat, 5 May 2007 05:08:11 +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 l4558BeW097859 for ; Sat, 5 May 2007 05:08:11 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l4558Bsa097856 for perforce@freebsd.org; Sat, 5 May 2007 05:08:11 GMT (envelope-from mjacob@freebsd.org) Date: Sat, 5 May 2007 05:08:11 GMT Message-Id: <200705050508.l4558Bsa097856@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 119264 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, 05 May 2007 05:08:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=119264 Change 119264 by mjacob@mjexp on 2007/05/05 05:07:23 Fix LOR for sysctl. Affected files ... .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#20 edit Differences ... ==== //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#20 (text+ko) ==== @@ -456,6 +456,7 @@ mpt->mpt_fcport_page0.WWPN.Low, mpt->mpt_fcport_speed); #if __FreeBSD_version >= 500000 + MPT_UNLOCK(mpt); { struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(mpt->dev); struct sysctl_oid *tree = device_get_sysctl_tree(mpt->dev); @@ -479,6 +480,7 @@ "World Wide Port Name"); } + MPT_LOCK(mpt); #endif return (0); } From owner-p4-projects@FreeBSD.ORG Sat May 5 05:11:16 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 AB80816A403; Sat, 5 May 2007 05:11:16 +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 64BD016A401 for ; Sat, 5 May 2007 05:11:16 +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 549AD13C457 for ; Sat, 5 May 2007 05:11:16 +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 l455BG13098603 for ; Sat, 5 May 2007 05:11:16 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l455BGm8098600 for perforce@freebsd.org; Sat, 5 May 2007 05:11:16 GMT (envelope-from mjacob@freebsd.org) Date: Sat, 5 May 2007 05:11:16 GMT Message-Id: <200705050511.l455BGm8098600@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 119265 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, 05 May 2007 05:11:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=119265 Change 119265 by mjacob@mjexp on 2007/05/05 05:10:51 Add a GETDLIST operation (to get visible WWNs) Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp_tpublic.h#6 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp_tpublic.h#6 (text+ko) ==== @@ -54,6 +54,7 @@ QIN_HBA_REG=99, /* the argument is a pointer to a hba_register_t */ QIN_GETINFO, /* the argument is a pointer to a info_t */ QIN_SETINFO, /* the argument is a pointer to a info_t */ + QIN_GETDLIST, /* the argument is a pointer to a fc_dlist_t */ QIN_ENABLE, /* the argument is a pointer to a enadis_t */ QIN_DISABLE, /* the argument is a pointer to a enadis_t */ QIN_TMD_CONT, /* the argument is a pointer to a tmd_cmd_t */ @@ -72,7 +73,7 @@ * in, and the external module to call back with a QIN_HBA_REG that * passes back the corresponding information. */ -#define QR_VERSION 15 +#define QR_VERSION 16 typedef struct { /* NB: tags from here to r_version must never change */ void * r_identity; @@ -87,8 +88,7 @@ } hba_register_t; /* - * An information structure that is used to get or set per-channel - * transport layer parameters. + * An information structure that is used to get or set per-channel transport layer parameters. */ typedef struct { void * i_identity; @@ -109,6 +109,16 @@ } info_t; /* + * An information structure to return a list of logged in WWPNs. FC specific. + */ +typedef struct { + void * d_identity; + int d_channel; + int d_error; + int d_count; + uint64_t * d_wwpns; +} fc_dlist_t; +/* * Notify structure */ typedef enum { @@ -324,12 +334,14 @@ #define L0LUN_TO_FLATLUN(lptr) ((((lptr)[0] & 0x3f) << 8) | ((lptr)[1])) #define FLATLUN_TO_L0LUN(lptr, lun) \ - (lptr)[1] = lun; \ + (lptr)[1] = lun & 0xff; \ if (sizeof (lun) == 1) { \ (lptr)[0] = 0; \ } else { \ - int nl = (lun); \ - if (nl < 256) { \ + uint16_t nl = lun; \ + if (nl == LUN_ANY) { \ + (lptr)[0] = (nl >> 8) & 0xff; \ + } else if (nl < 256) { \ (lptr)[0] = 0; \ } else { \ (lptr)[0] = 0x40 | ((nl >> 8) & 0x3f); \ From owner-p4-projects@FreeBSD.ORG Sat May 5 05:12:18 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 4ED2E16A406; Sat, 5 May 2007 05:12:18 +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 2D49916A401 for ; Sat, 5 May 2007 05:12:18 +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 1D4EC13C457 for ; Sat, 5 May 2007 05:12:18 +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 l455CH3n098838 for ; Sat, 5 May 2007 05:12:17 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l455CHel098835 for perforce@freebsd.org; Sat, 5 May 2007 05:12:17 GMT (envelope-from mjacob@freebsd.org) Date: Sat, 5 May 2007 05:12:17 GMT Message-Id: <200705050512.l455CHel098835@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 119266 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, 05 May 2007 05:12:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=119266 Change 119266 by mjacob@mjexp on 2007/05/05 05:11:37 First part of this- don't call isp_reinit from interrupt context. Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp.c#20 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp.c#20 (text+ko) ==== @@ -5121,20 +5121,11 @@ isp->isp_mboxtmp[0] = MBOX_HOST_INTERFACE_ERROR; MBOX_NOTIFY_COMPLETE(isp); } -#ifdef ISP_FW_CRASH_DUMP /* - * If we have crash dumps enabled, it's up to the handler - * for isp_async to reinit stuff and restart the firmware - * after performing the crash dump. The reason we do things - * this way is that we may need to activate a kernel thread - * to do all the crash dump goop. + * It's up to the handler for isp_async to reinit stuff and + * restart the firmware */ isp_async(isp, ISPASYNC_FW_CRASH, NULL); -#else - isp_async(isp, ISPASYNC_FW_CRASH, NULL); - isp_reinit(isp); - isp_async(isp, ISPASYNC_FW_RESTARTED, NULL); -#endif rval = -1; break; @@ -5401,13 +5392,7 @@ break; case ISP_CONN_FATAL: isp_prt(isp, ISP_LOGERR, "FATAL CONNECTION ERROR"); -#ifdef ISP_FW_CRASH_DUMP isp_async(isp, ISPASYNC_FW_CRASH, NULL); -#else - isp_async(isp, ISPASYNC_FW_CRASH, NULL); - isp_reinit(isp); - isp_async(isp, ISPASYNC_FW_RESTARTED, NULL); -#endif return (-1); case ISP_CONN_LOOPBACK: isp_prt(isp, ISP_LOGWARN, From owner-p4-projects@FreeBSD.ORG Sat May 5 10:52:20 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 116E116A406; Sat, 5 May 2007 10:52:20 +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 BB78B16A403 for ; Sat, 5 May 2007 10:52:19 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id AB67613C447 for ; Sat, 5 May 2007 10:52:19 +0000 (UTC) (envelope-from piso@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 l45AqJIi064532 for ; Sat, 5 May 2007 10:52:19 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l45AqHT7064527 for perforce@freebsd.org; Sat, 5 May 2007 10:52:17 GMT (envelope-from piso@freebsd.org) Date: Sat, 5 May 2007 10:52:17 GMT Message-Id: <200705051052.l45AqHT7064527@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 119271 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, 05 May 2007 10:52:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=119271 Change 119271 by piso@piso_newluxor on 2007/05/05 10:51:55 IFC@119270 Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/amd64/mptable_pci.c#5 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/msi.c#3 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/nexus.c#8 integrate .. //depot/projects/soc2006/intr_filter/amd64/include/intr_machdep.h#9 integrate .. //depot/projects/soc2006/intr_filter/amd64/pci/pci_bus.c#5 integrate .. //depot/projects/soc2006/intr_filter/arm/xscale/i80321/ep80219_machdep.c#5 integrate .. //depot/projects/soc2006/intr_filter/arm/xscale/i80321/iq31244_machdep.c#7 integrate .. //depot/projects/soc2006/intr_filter/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/soc2006/intr_filter/compat/freebsd32/freebsd32_misc.c#6 integrate .. //depot/projects/soc2006/intr_filter/compat/linprocfs/linprocfs.c#12 integrate .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/soc2006/intr_filter/conf/files#18 integrate .. //depot/projects/soc2006/intr_filter/conf/kern.pre.mk#6 integrate .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#2 integrate .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#2 integrate .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/acpica/acpi_pcib_acpi.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/acpica/acpi_pcib_pci.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/atapi-cam.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/bce/if_bce.c#14 integrate .. //depot/projects/soc2006/intr_filter/dev/bce/if_bcefw.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/soc2006/intr_filter/dev/bge/if_bge.c#17 integrate .. //depot/projects/soc2006/intr_filter/dev/bge/if_bgereg.h#13 integrate .. //depot/projects/soc2006/intr_filter/dev/ciss/ciss.c#7 integrate .. //depot/projects/soc2006/intr_filter/dev/ciss/cissvar.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/em/LICENSE#2 integrate .. //depot/projects/soc2006/intr_filter/dev/em/README#3 integrate .. //depot/projects/soc2006/intr_filter/dev/em/e1000_80003es2lan.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_80003es2lan.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82540.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82541.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82541.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82542.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82543.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82543.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82571.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82571.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82575.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_82575.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_api.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_api.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_defines.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_hw.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_ich8lan.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_ich8lan.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_mac.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_mac.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_manage.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_manage.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_nvm.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_nvm.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_osdep.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_phy.c#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_phy.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/e1000_regs.h#1 branch .. //depot/projects/soc2006/intr_filter/dev/em/if_em.c#20 integrate .. //depot/projects/soc2006/intr_filter/dev/em/if_em.h#9 integrate .. //depot/projects/soc2006/intr_filter/dev/em/if_em_hw.c#5 delete .. //depot/projects/soc2006/intr_filter/dev/em/if_em_hw.h#5 delete .. //depot/projects/soc2006/intr_filter/dev/em/if_em_osdep.h#4 delete .. //depot/projects/soc2006/intr_filter/dev/firewire/firewire.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/firewirereg.h#3 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/fwdev.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/fwohci.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/fwohcireg.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/if_fwip.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/sbp.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/sbp_targ.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/gem/if_gem.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/gem/if_gem_pci.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/gem/if_gemvar.h#3 integrate .. //depot/projects/soc2006/intr_filter/dev/hme/if_hme.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/ipmi/ipmi_smbios.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/mii/brgphy.c#10 integrate .. //depot/projects/soc2006/intr_filter/dev/mii/mii.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pci.c#13 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pci_if.m#5 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pci_pci.c#7 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pci_private.h#6 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pcib_if.m#4 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pcib_private.h#6 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pcivar.h#9 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/emu10kx.c#7 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/hda/hdac.c#11 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/hda/hdac_private.h#5 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/ich.c#9 integrate .. //depot/projects/soc2006/intr_filter/dev/stge/if_stge.c#7 integrate .. //depot/projects/soc2006/intr_filter/dev/stge/if_stgereg.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/uart/uart_kbd_sun.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/usb/if_axe.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/usb/if_axereg.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/usb/uftdi.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/usb/usbdevs#13 integrate .. //depot/projects/soc2006/intr_filter/fs/procfs/procfs_ioctl.c#6 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/mptable_pci.c#5 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/msi.c#3 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/nexus.c#9 integrate .. //depot/projects/soc2006/intr_filter/i386/include/intr_machdep.h#9 integrate .. //depot/projects/soc2006/intr_filter/i386/pci/pci_bus.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_descrip.c#14 integrate .. //depot/projects/soc2006/intr_filter/kern/sys_generic.c#9 integrate .. //depot/projects/soc2006/intr_filter/kern/uipc_debug.c#2 integrate .. //depot/projects/soc2006/intr_filter/kern/uipc_sockbuf.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/uipc_socket.c#14 integrate .. //depot/projects/soc2006/intr_filter/kern/uipc_syscalls.c#12 integrate .. //depot/projects/soc2006/intr_filter/kern/vfs_syscalls.c#11 integrate .. //depot/projects/soc2006/intr_filter/modules/em/Makefile#2 integrate .. //depot/projects/soc2006/intr_filter/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/soc2006/intr_filter/net/if.h#4 integrate .. //depot/projects/soc2006/intr_filter/net/if_lagg.c#2 integrate .. //depot/projects/soc2006/intr_filter/net/if_lagg.h#2 integrate .. //depot/projects/soc2006/intr_filter/netgraph/ng_mppc.c#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/in_pcb.c#10 integrate .. //depot/projects/soc2006/intr_filter/netinet/in_pcb.h#5 integrate .. //depot/projects/soc2006/intr_filter/netinet/ip_divert.c#6 integrate .. //depot/projects/soc2006/intr_filter/netinet/ip_fw.h#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/ip_fw2.c#14 integrate .. //depot/projects/soc2006/intr_filter/netinet/libalias/alias_proxy.c#5 integrate .. //depot/projects/soc2006/intr_filter/netinet/raw_ip.c#7 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp.h#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_auth.c#7 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_bsd_addr.c#5 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_constants.h#8 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_header.h#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_indata.c#9 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_indata.h#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_input.c#9 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_os_bsd.h#8 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_output.c#9 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_output.h#5 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_pcb.c#9 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_pcb.h#7 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_peeloff.c#7 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_usrreq.c#9 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctputil.c#9 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctputil.h#8 integrate .. //depot/projects/soc2006/intr_filter/netinet/tcp_debug.c#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/tcp_input.c#13 integrate .. //depot/projects/soc2006/intr_filter/netinet/tcp_subr.c#10 integrate .. //depot/projects/soc2006/intr_filter/netinet/tcp_usrreq.c#10 integrate .. //depot/projects/soc2006/intr_filter/netinet/tcp_var.h#9 integrate .. //depot/projects/soc2006/intr_filter/netinet/udp_usrreq.c#9 integrate .. //depot/projects/soc2006/intr_filter/netinet6/in6_pcb.c#6 integrate .. //depot/projects/soc2006/intr_filter/netinet6/in6_src.c#6 integrate .. //depot/projects/soc2006/intr_filter/netinet6/nd6.c#8 integrate .. //depot/projects/soc2006/intr_filter/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet6/sctp6_usrreq.c#9 integrate .. //depot/projects/soc2006/intr_filter/security/audit/audit_ioctl.h#3 integrate .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/machdep.c#5 integrate .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/upa.c#8 integrate .. //depot/projects/soc2006/intr_filter/sys/filedesc.h#3 integrate .. //depot/projects/soc2006/intr_filter/sys/param.h#12 integrate .. //depot/projects/soc2006/intr_filter/sys/socketvar.h#7 integrate .. //depot/projects/soc2006/intr_filter/ufs/ffs/ffs_softdep.c#7 integrate Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/amd64/mptable_pci.c#5 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.7 2007/01/22 21:48:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.8 2007/05/02 17:50:34 jhb Exp $"); #include #include @@ -72,7 +72,7 @@ return (bus_generic_attach(dev)); } -/* Pass MSI alloc requests up to the nexus. */ +/* Pass MSI requests up to the nexus. */ static int mptable_hostb_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs) @@ -85,12 +85,22 @@ } static int -mptable_hostb_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +mptable_hostb_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +mptable_hostb_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static device_method_t mptable_hostb_methods[] = { @@ -120,8 +130,8 @@ DEVMETHOD(pcib_alloc_msi, mptable_hostb_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, mptable_hostb_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, mptable_hostb_map_msi), { 0, 0 } }; @@ -177,8 +187,8 @@ DEVMETHOD(pcib_alloc_msi, pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, pcib_map_msi), {0, 0} }; ==== //depot/projects/soc2006/intr_filter/amd64/amd64/msi.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.4 2007/02/15 22:22:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.5 2007/05/02 17:50:34 jhb Exp $"); #include #include @@ -99,21 +99,20 @@ * assigned an ID by the system; however, a group will use the ID from * the first message. * - * For MSI-X, each message is isolated, and msi_index indicates the - * index of this message in the device's MSI-X table. + * For MSI-X, each message is isolated. */ struct msi_intsrc { struct intsrc msi_intsrc; device_t msi_dev; /* Owning device. (g) */ struct msi_intsrc *msi_first; /* First source in group. */ u_int msi_irq; /* IRQ cookie. */ - u_int msi_index; /* Index of this message. */ u_int msi_msix; /* MSI-X message. */ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ }; +static struct msi_intsrc *msi_create_source(u_int irq); static void msi_enable_source(struct intsrc *isrc); static void msi_disable_source(struct intsrc *isrc, int eoi); static void msi_eoi_source(struct intsrc *isrc); @@ -123,16 +122,10 @@ static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); -static void msix_enable_intr(struct intsrc *isrc); -static int msix_source_pending(struct intsrc *isrc); -static void msix_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_vector, msi_source_pending, NULL, NULL, msi_config_intr, msi_assign_cpu }; -struct pic msix_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, - msix_enable_intr, msi_vector, msix_source_pending, - NULL, NULL, msi_config_intr, msix_assign_cpu }; static int msi_enabled; static struct sx msi_sx; @@ -162,17 +155,6 @@ { struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - /* - * Since we can only enable the entire group at once, go ahead and - * enable the messages when the first message is given a handler. - * Note that we assume all devices will register a handler for the - * first message. - */ - if (msi->msi_index == 0) { - mtx_lock_spin(&icu_lock); - pci_enable_msi(msi->msi_dev, INTEL_ADDR(msi), INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); - } apic_enable_vector(msi->msi_vector); } @@ -206,51 +188,13 @@ msi->msi_cpu = apic_id; if (bootverbose) - printf("msi: Assigning MSI IRQ %d to local APIC %u\n", - msi->msi_irq, msi->msi_cpu); - mtx_lock_spin(&icu_lock); + printf("msi: Assigning %s IRQ %d to local APIC %u\n", + msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, + msi->msi_cpu); if (isrc->is_enabled) - pci_enable_msi(msi->msi_dev, INTEL_ADDR(msi), INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); + pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); } -static void -msix_enable_intr(struct intsrc *isrc) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - mtx_lock_spin(&icu_lock); - pci_enable_msix(msi->msi_dev, msi->msi_index, INTEL_ADDR(msi), - INTEL_DATA(msi)); - pci_unmask_msix(msi->msi_dev, msi->msi_index); - mtx_unlock_spin(&icu_lock); - apic_enable_vector(msi->msi_vector); -} - -static int -msix_source_pending(struct intsrc *isrc) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - return (pci_pending_msix(msi->msi_dev, msi->msi_index)); -} - -static void -msix_assign_cpu(struct intsrc *isrc, u_int apic_id) -{ - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; - - msi->msi_cpu = apic_id; - if (bootverbose) - printf("msi: Assigning MSI-X IRQ %d to local APIC %u\n", - msi->msi_irq, msi->msi_cpu); - mtx_lock_spin(&icu_lock); - if (isrc->is_enabled) - pci_enable_msix(msi->msi_dev, msi->msi_index, INTEL_ADDR(msi), - INTEL_DATA(msi)); - mtx_unlock_spin(&icu_lock); -} - void msi_init(void) { @@ -262,10 +206,21 @@ msi_enabled = 1; intr_register_pic(&msi_pic); - intr_register_pic(&msix_pic); sx_init(&msi_sx, "msi"); } +struct msi_intsrc * +msi_create_source(u_int irq) +{ + struct msi_intsrc *msi; + + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi->msi_intsrc.is_pic = &msi_pic; + msi->msi_irq = irq; + intr_register_source(&msi->msi_intsrc); + return (msi); +} + /* * Try to allocate 'count' interrupt sources with contiguous IDT values. If * we allocate any new sources, then their IRQ values will be at the end of @@ -317,14 +272,8 @@ *newcount = count - cnt; for (j = 0; j < *newcount; j++) { - /* Create a new MSI source. */ - msi = malloc(sizeof(struct msi_intsrc), M_MSI, - M_WAITOK | M_ZERO); - msi->msi_intsrc.is_pic = &msi_pic; - msi->msi_irq = i + j; - intr_register_source(&msi->msi_intsrc); - - /* Add it to our array. */ + /* Create a new MSI source and add it to our array. */ + msi_create_source(i + j); irqs[cnt] = i + j; cnt++; } @@ -344,13 +293,11 @@ fsrc = (struct msi_intsrc *)intr_lookup_source(irqs[0]); for (i = 0; i < count; i++) { msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]); - msi->msi_intsrc.is_pic = &msi_pic; msi->msi_dev = dev; msi->msi_vector = vector + i; if (bootverbose) printf("msi: routing MSI IRQ %d to vector %u\n", msi->msi_irq, msi->msi_vector); - msi->msi_index = i; msi->msi_first = fsrc; /* XXX: Somewhat gross. */ @@ -395,8 +342,6 @@ sx_xunlock(&msi_sx); return (EINVAL); } - KASSERT(first->msi_index == 0, ("index mismatch")); - KASSERT(first->msi_dev != NULL, ("unowned group")); /* Clear all the extra messages in the group. */ @@ -408,7 +353,6 @@ msi->msi_dev = NULL; apic_free_vector(msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; - msi->msi_index = 0; } /* Clear out the first message. */ @@ -423,7 +367,44 @@ } int -msix_alloc(device_t dev, int index, int *irq, int *new) +msi_map(int irq, uint64_t *addr, uint32_t *data) +{ + struct msi_intsrc *msi; + + sx_slock(&msi_sx); + msi = (struct msi_intsrc *)intr_lookup_source(irq); + if (msi == NULL) { + sx_sunlock(&msi_sx); + return (ENOENT); + } + + /* Make sure this message is allocated to a device. */ + if (msi->msi_dev == NULL) { + sx_sunlock(&msi_sx); + return (ENXIO); + } + + /* + * If this message isn't an MSI-X message, make sure it's part + * of a gruop, and switch to the first message in the + * group. + */ + if (!msi->msi_msix) { + if (msi->msi_first == NULL) { + sx_sunlock(&msi_sx); + return (ENXIO); + } + msi = msi->msi_first; + } + + *addr = INTEL_ADDR(msi); + *data = INTEL_DATA(msi); + sx_sunlock(&msi_sx); + return (0); +} + +int +msix_alloc(device_t dev, int *irq, int *new) { struct msi_intsrc *msi; int i, vector; @@ -457,11 +438,7 @@ /* Create a new source. */ *new = 1; - msi = malloc(sizeof(struct msi_intsrc), M_MSI, - M_WAITOK | M_ZERO); - msi->msi_intsrc.is_pic = &msix_pic; - msi->msi_irq = i; - intr_register_source(&msi->msi_intsrc); + msi = msi_create_source(i); } /* Allocate an IDT vector. */ @@ -471,10 +448,8 @@ vector); /* Setup source. */ - msi->msi_intsrc.is_pic = &msix_pic; msi->msi_dev = dev; msi->msi_vector = vector; - msi->msi_index = index; msi->msi_msix = 1; /* XXX: Somewhat gross. */ @@ -486,30 +461,6 @@ } int -msix_remap(int index, int irq) -{ - struct msi_intsrc *msi; - - sx_xlock(&msi_sx); - msi = (struct msi_intsrc *)intr_lookup_source(irq); - if (msi == NULL) { - sx_xunlock(&msi_sx); - return (ENOENT); - } - - /* Make sure this is an MSI-X message. */ - if (!msi->msi_msix) { - sx_xunlock(&msi_sx); - return (EINVAL); - } - - KASSERT(msi->msi_dev != NULL, ("unowned message")); - msi->msi_index = index; - sx_xunlock(&msi_sx); - return (0); -} - -int msix_release(int irq) { struct msi_intsrc *msi; @@ -533,7 +484,6 @@ msi->msi_dev = NULL; apic_free_vector(msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; - msi->msi_index = 0; msi->msi_msix = 0; sx_xunlock(&msi_sx); ==== //depot/projects/soc2006/intr_filter/amd64/amd64/nexus.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.75 2007/03/21 15:36:38 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.76 2007/05/02 17:50:34 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -108,9 +108,9 @@ static void nexus_delete_resource(device_t, device_t, int, int); static int nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs); static int nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs); -static int nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq); -static int nexus_remap_msix(device_t pcib, device_t dev, int index, int irq); +static int nexus_alloc_msix(device_t pcib, device_t dev, int *irq); static int nexus_release_msix(device_t pcib, device_t dev, int irq); +static int nexus_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data); static device_method_t nexus_methods[] = { /* Device interface */ @@ -140,8 +140,8 @@ DEVMETHOD(pcib_alloc_msi, nexus_alloc_msi), DEVMETHOD(pcib_release_msi, nexus_release_msi), DEVMETHOD(pcib_alloc_msix, nexus_alloc_msix), - DEVMETHOD(pcib_remap_msix, nexus_remap_msix), DEVMETHOD(pcib_release_msix, nexus_release_msix), + DEVMETHOD(pcib_map_msi, nexus_map_msi), { 0, 0 } }; @@ -504,24 +504,17 @@ } static int -nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +nexus_alloc_msix(device_t pcib, device_t dev, int *irq) { int error, new; - error = msix_alloc(dev, index, irq, &new); + error = msix_alloc(dev, irq, &new); if (new) rman_manage_region(&irq_rman, *irq, *irq); return (error); } static int -nexus_remap_msix(device_t pcib, device_t dev, int index, int irq) -{ - - return (msix_remap(index, irq)); -} - -static int nexus_release_msix(device_t pcib, device_t dev, int irq) { @@ -551,6 +544,13 @@ return (msi_release(irqs, count)); } +static int +nexus_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) +{ + + return (msi_map(irq, addr, data)); +} + /* Placeholder for system RAM. */ static void ram_identify(driver_t *driver, device_t parent) ==== //depot/projects/soc2006/intr_filter/amd64/include/intr_machdep.h#9 (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.16 2007/03/06 17:16:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.17 2007/05/02 17:50:34 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -149,9 +149,9 @@ int msi_alloc(device_t dev, int count, int maxcount, int *irqs, int *newirq, int *newcount); void msi_init(void); +int msi_map(int irq, uint64_t *addr, uint32_t *data); int msi_release(int *irqs, int count); -int msix_alloc(device_t dev, int index, int *irq, int *new); -int msix_remap(int index, int irq); +int msix_alloc(device_t dev, int *irq, int *new); int msix_release(int irq); #endif /* !LOCORE */ ==== //depot/projects/soc2006/intr_filter/amd64/pci/pci_bus.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.120 2007/01/22 21:48:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.121 2007/05/02 17:50:34 jhb Exp $"); #include "opt_cpu.h" @@ -81,7 +81,7 @@ return (PCI_INVALID_IRQ); } -/* Pass MSI alloc requests up to the nexus. */ +/* Pass MSI requests up to the nexus. */ static int legacy_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, @@ -95,12 +95,22 @@ } static int -legacy_pcib_alloc_msix(device_t pcib, device_t dev, int index, int *irq) +legacy_pcib_alloc_msix(device_t pcib, device_t dev, int *irq) +{ + device_t bus; + + bus = device_get_parent(pcib); + return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, irq)); +} + +static int +legacy_pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, + uint32_t *data) { device_t bus; bus = device_get_parent(pcib); - return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq)); + return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data)); } static const char * @@ -347,8 +357,8 @@ DEVMETHOD(pcib_alloc_msi, legacy_pcib_alloc_msi), DEVMETHOD(pcib_release_msi, pcib_release_msi), DEVMETHOD(pcib_alloc_msix, legacy_pcib_alloc_msix), - DEVMETHOD(pcib_remap_msix, pcib_remap_msix), DEVMETHOD(pcib_release_msix, pcib_release_msix), + DEVMETHOD(pcib_map_msi, legacy_pcib_map_msi), { 0, 0 } }; ==== //depot/projects/soc2006/intr_filter/arm/xscale/i80321/ep80219_machdep.c#5 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.5 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.6 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,8 +125,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/soc2006/intr_filter/arm/xscale/i80321/iq31244_machdep.c#7 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.26 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.27 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -125,8 +125,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/soc2006/intr_filter/arm/xscale/ixp425/avila_machdep.c#4 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.3 2007/02/02 05:14:21 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.4 2007/05/03 09:51:12 kevlo Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -124,8 +124,6 @@ extern void *_end; -extern vm_offset_t sa1_cache_clean_addr; - extern int *end; struct pcpu __pcpu; ==== //depot/projects/soc2006/intr_filter/compat/freebsd32/freebsd32_misc.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.62 2006/12/20 19:36:03 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.63 2007/05/01 17:10:01 alc Exp $"); #include "opt_compat.h" @@ -407,7 +407,6 @@ start = addr; end = addr + len; - mtx_lock(&Giant); if (start != trunc_page(start)) { error = freebsd32_mmap_partial(td, start, round_page(start), prot, @@ -438,14 +437,11 @@ prot |= VM_PROT_WRITE; map = &td->td_proc->p_vmspace->vm_map; rv = vm_map_remove(map, start, end); - if (rv != KERN_SUCCESS) { - mtx_unlock(&Giant); + if (rv != KERN_SUCCESS) return (EINVAL); - } rv = vm_map_find(map, 0, 0, &start, end - start, FALSE, prot, VM_PROT_ALL, 0); - mtx_unlock(&Giant); if (rv != KERN_SUCCESS) return (EINVAL); r.fd = fd; @@ -459,7 +455,6 @@ td->td_retval[0] = addr; return (0); } - mtx_unlock(&Giant); if (end == start) { /* * After dealing with the ragged ends, there ==== //depot/projects/soc2006/intr_filter/compat/linprocfs/linprocfs.c#12 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.111 2007/04/22 08:41:52 des Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.112 2007/05/01 03:09:57 alc Exp $"); #include #include @@ -860,12 +860,14 @@ { char mebuffer[512]; vm_map_t map = &p->p_vmspace->vm_map; - vm_map_entry_t entry; + vm_map_entry_t entry, tmp_entry; vm_object_t obj, tobj, lobj; + vm_offset_t saved_end; vm_ooffset_t off = 0; char *name = "", *freename = NULL; size_t len; ino_t ino; + unsigned int last_timestamp; int ref_count, shadow_count, flags; int error; struct vnode *vp; @@ -885,8 +887,7 @@ return (0); error = 0; - if (map != &curthread->td_proc->p_vmspace->vm_map) - vm_map_lock_read(map); + vm_map_lock_read(map); for (entry = map->header.next; ((uio->uio_resid > 0) && (entry != &map->header)); entry = entry->next) { @@ -894,12 +895,16 @@ freename = NULL; if (entry->eflags & MAP_ENTRY_IS_SUB_MAP) continue; + saved_end = entry->end; obj = entry->object.vm_object; - for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) + for (lobj = tobj = obj; tobj; tobj = tobj->backing_object) { + VM_OBJECT_LOCK(tobj); + if (lobj != obj) + VM_OBJECT_UNLOCK(lobj); lobj = tobj; + } ino = 0; if (lobj) { - VM_OBJECT_LOCK(lobj); off = IDX_TO_OFF(lobj->size); if (lobj->type == OBJT_VNODE) { vp = lobj->handle; @@ -908,10 +913,12 @@ } else vp = NULL; + if (lobj != obj) + VM_OBJECT_UNLOCK(lobj); flags = obj->flags; ref_count = obj->ref_count; shadow_count = obj->shadow_count; - VM_OBJECT_UNLOCK(lobj); + VM_OBJECT_UNLOCK(obj); if (vp) { vn_fullpath(td, vp, &name, &freename); locked = VFS_LOCK_GIANT(vp->v_mount); @@ -953,12 +960,23 @@ * XXX We should probably return * EFBIG here, as in procfs. */ + last_timestamp = map->timestamp; + vm_map_unlock_read(map); error = uiomove(mebuffer, len, uio); + vm_map_lock_read(map); if (error) break; + if (last_timestamp + 1 != map->timestamp) { + /* + * Look again for the entry because the map was + * modified while it was unlocked. Specifically, + * the entry may have been clipped, merged, or deleted. + */ + vm_map_lookup_entry(map, saved_end - 1, &tmp_entry); + entry = tmp_entry; + } } - if (map != &curthread->td_proc->p_vmspace->vm_map) - vm_map_unlock_read(map); + vm_map_unlock_read(map); return (error); } ==== //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_kobj.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.2 2007/04/08 23:57:08 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kobj.c,v 1.3 2007/05/02 01:03:10 pjd Exp $"); #include #include @@ -123,7 +123,7 @@ struct vattr va; int error; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); error = VOP_GETATTR(vp, &va, td->td_ucred, td); VOP_UNLOCK(vp, 0, td); if (error == 0) @@ -176,7 +176,7 @@ auio.uio_resid = size; auio.uio_td = td; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); error = VOP_READ(vp, &auio, IO_UNIT | IO_SYNC, td->td_ucred); VOP_UNLOCK(vp, 0, td); return (error != 0 ? -1 : size - auio.uio_resid); ==== //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_vfs.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.4 2007/04/21 12:02:57 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.5 2007/05/02 01:03:10 pjd Exp $"); #include #include @@ -187,7 +187,7 @@ /* * Allocate and initialize the filesystem. */ - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY, td); mp = vfs_mount_alloc(vp, vfsp, fspath, td); VOP_UNLOCK(vp, 0, td); ==== //depot/projects/soc2006/intr_filter/conf/files#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1198 2007/04/25 15:30:17 mav Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1201 2007/05/04 13:29:45 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -600,8 +600,34 @@ dev/ed/if_ed_pci.c optional ed pci dev/eisa/eisa_if.m standard dev/eisa/eisaconf.c optional eisa -dev/em/if_em.c optional em -dev/em/if_em_hw.c optional em +dev/em/if_em.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_80003es2lan.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82540.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82541.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82542.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82543.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82571.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_82575.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_api.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_ich8lan.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_mac.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_manage.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_nvm.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" +dev/em/e1000_phy.c optional em \ + compile-with "${NORMAL_C} -I$S/dev/em" dev/en/if_en_pci.c optional en pci dev/en/midway.c optional en dev/ep/if_ep.c optional ep ==== //depot/projects/soc2006/intr_filter/conf/kern.pre.mk#6 (text+ko) ==== @@ -1,4 +1,4 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat May 5 11:33:36 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 9267316A402; Sat, 5 May 2007 11:33:36 +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 5DA0D16A407 for ; Sat, 5 May 2007 11:33:36 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by mx1.freebsd.org (Postfix) with ESMTP id CD8F313C480 for ; Sat, 5 May 2007 11:33:35 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by core.fnop.net (Postfix) with ESMTP id 6785B690169; Sat, 5 May 2007 12:08:16 +0100 (WEST) Received: by core.fnop.net (Postfix, from userid 1015) id 28F716904CD; Sat, 5 May 2007 12:08:16 +0100 (WEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on core.fnop.net X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=AWL,BAYES_00, RCVD_IN_SORBS_DUL autolearn=no version=3.1.7 Received: from epsilon.local.fnop.net (unknown [83.144.140.52]) by core.fnop.net (Postfix) with ESMTP id 82056690169; Sat, 5 May 2007 12:08:14 +0100 (WEST) Date: Sat, 05 May 2007 12:07:45 +0100 Message-ID: <861whvmsu6.wl%rpaulo@fnop.net> From: Rui Paulo To: Rui Paulo In-Reply-To: <200705050030.l450UPfs032634@repoman.freebsd.org> References: <200705050030.l450UPfs032634@repoman.freebsd.org> User-Agent: Wanderlust/2.14.0 (Africa) Emacs/21.3 Mule/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Virus-Scanned: ClamAV using ClamSMTP Cc: Perforce Change Reviews Subject: Re: PERFORCE change 119261 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, 05 May 2007 11:33:37 -0000 At Sat, 5 May 2007 00:30:25 GMT, Rui Paulo wrote: > > http://perforce.freebsd.org/chv.cgi?CH=119261 > > Change 119261 by rpaulo@rpaulo_epsilon on 2007/05/05 00:29:49 > > On some machines we need to evaluate _OSC so that _PSS shows > up. In this particular case, Apple's MacBook. > Reviewed by: Nate Lawson > Approved by: Nate Lawson > > Affected files ... > > .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_cpu.c#3 edit > > Differences ... > > ==== //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_cpu.c#3 (text+ko) ==== > > @@ -369,7 +369,6 @@ > arg[3].Buffer.Pointer = (uint8_t *)cap_set; > cap_set[0] = 0; > AcpiEvaluateObject(sc->cpu_handle, "_OSC", &arglist, NULL); > - > } > > /* Probe for Cx state support. */ > Wow, this was unexpected. I'll try to fix the logs ASAP. Sorry. From owner-p4-projects@FreeBSD.ORG Sat May 5 17:30:21 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 6183016A403; Sat, 5 May 2007 17:30:21 +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 375E216A401 for ; Sat, 5 May 2007 17:30:21 +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 28B1613C457 for ; Sat, 5 May 2007 17:30:21 +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 l45HULaf053173 for ; Sat, 5 May 2007 17:30:21 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l45HUKQT053170 for perforce@freebsd.org; Sat, 5 May 2007 17:30:20 GMT (envelope-from mjacob@freebsd.org) Date: Sat, 5 May 2007 17:30:20 GMT Message-Id: <200705051730.l45HUKQT053170@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 119290 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, 05 May 2007 17:30:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=119290 Change 119290 by mjacob@mjexp on 2007/05/05 17:30:20 Second part of fix- isp_reinit shouldn't be called where it could sleep. Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#23 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#23 (text+ko) ==== @@ -3478,9 +3478,8 @@ "Internal Firmware Error on bus %d @ RISC Address 0x%x", mbox6, mbox1); #ifdef ISP_FW_CRASH_DUMP - /* - * XXX: really need a thread to do this right. - */ + mbox1 = isp->isp_osinfo.mbox_sleep_ok; + isp->isp_osinfo.mbox_sleep_ok = 0; if (IS_FC(isp)) { FCPARAM(isp)->isp_fwstate = FW_CONFIG_WAIT; FCPARAM(isp)->isp_loopstate = LOOP_NIL; @@ -3488,8 +3487,14 @@ isp_fw_dump(isp); } isp_reinit(isp); + isp->isp_osinfo.mbox_sleep_ok = mbox1; +#else + mbox1 = isp->isp_osinfo.mbox_sleep_ok; + isp->isp_osinfo.mbox_sleep_ok = 0; + isp_reinit(isp); + isp->isp_osinfo.mbox_sleep_ok = mbox1; +#endif isp_async(isp, ISPASYNC_FW_RESTARTED, NULL); -#endif break; } case ISPASYNC_UNHANDLED_RESPONSE: From owner-p4-projects@FreeBSD.ORG Sat May 5 20:05:38 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 0A61B16A402; Sat, 5 May 2007 20:05:38 +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 AC98A16A400 for ; Sat, 5 May 2007 20:05:37 +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 851F013C447 for ; Sat, 5 May 2007 20:05:37 +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 l45K5bef081323 for ; Sat, 5 May 2007 20:05:37 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l45K5bDM081318 for perforce@freebsd.org; Sat, 5 May 2007 20:05:37 GMT (envelope-from mjacob@freebsd.org) Date: Sat, 5 May 2007 20:05:37 GMT Message-Id: <200705052005.l45K5bDM081318@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 119298 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, 05 May 2007 20:05:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=119298 Change 119298 by mjacob@mjexp on 2007/05/05 20:04:53 niggling whitespace Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#17 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#17 (text+ko) ==== @@ -548,7 +548,7 @@ #define isp_callout_init(x) callout_init(x) #elif __FreeBSD_version < 700037 #define isp_callout_init(x) callout_init(x, 0) -#define isp_sim_alloc cam_sim_alloc +#define isp_sim_alloc cam_sim_alloc #else #define isp_callout_init(x) callout_init(x, 1) #define isp_sim_alloc(a, b, c, d, e, f, g, h) \ From owner-p4-projects@FreeBSD.ORG Sat May 5 20:05:38 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 4788316A501; Sat, 5 May 2007 20:05:38 +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 E819F16A403 for ; Sat, 5 May 2007 20:05:37 +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 D95B713C45D for ; Sat, 5 May 2007 20:05:37 +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 l45K5bFR081330 for ; Sat, 5 May 2007 20:05:37 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l45K5bK1081326 for perforce@freebsd.org; Sat, 5 May 2007 20:05:37 GMT (envelope-from mjacob@freebsd.org) Date: Sat, 5 May 2007 20:05:37 GMT Message-Id: <200705052005.l45K5bK1081326@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 119299 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, 05 May 2007 20:05:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=119299 Change 119299 by mjacob@mjexp on 2007/05/05 20:05:20 misplaced isp_free_pcmd led to a panic at double free. Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#24 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#24 (text+ko) ==== @@ -2478,7 +2478,6 @@ isp_watchdog, ccb); break; case CMD_RQLATER: - isp_free_pcmd(isp, ccb); /* * Handle initial and subsequent loop down cases */ @@ -2495,6 +2494,7 @@ ccb->ccb_h.status = CAM_SEL_TIMEOUT|CAM_DEV_QFRZN; xpt_freeze_devq(ccb->ccb_h.path, 1); + isp_free_pcmd(isp, ccb); xpt_done(ccb); break; } From owner-p4-projects@FreeBSD.ORG Sat May 5 20:14: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 7D65116A46C; Sat, 5 May 2007 20:14: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 2C43716A4EE for ; Sat, 5 May 2007 20:14:51 +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 1C81713C447 for ; Sat, 5 May 2007 20:14:51 +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 l45KEofF082888 for ; Sat, 5 May 2007 20:14:51 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l45KEoMf082884 for perforce@freebsd.org; Sat, 5 May 2007 20:14:50 GMT (envelope-from mjacob@freebsd.org) Date: Sat, 5 May 2007 20:14:50 GMT Message-Id: <200705052014.l45KEoMf082884@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 119301 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, 05 May 2007 20:14:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=119301 Change 119301 by mjacob@mjexp on 2007/05/05 20:14:46 Make this a multi-release (RELENG_4 through -current) again. Affected files ... .. //depot/projects/mjexp/sys/dev/mpt/mpt.h#12 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#21 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.h#4 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt_raid.c#6 edit Differences ... ==== //depot/projects/mjexp/sys/dev/mpt/mpt.h#12 (text+ko) ==== @@ -109,6 +109,7 @@ #include #include #include +#include #else #include #include @@ -795,6 +796,13 @@ return (error); } +#define mpt_req_timeout(req, ticks, func, arg) \ + callout_reset(&(req)->callout, (ticks), (func), (arg)); +#define mpt_req_untimeout(req, func, arg) \ + callout_stop(&(req)->callout) +#define mpt_req_timeout_init(req) \ + callout_init(&(req)->callout) + #else #if 1 #define MPT_IFLAGS INTR_TYPE_CAM | INTR_ENTROPY | INTR_MPSAFE ==== //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#21 (text+ko) ==== @@ -317,8 +317,8 @@ /* * Construct our SIM entry. */ - mpt->sim = cam_sim_alloc(mpt_action, mpt_poll, "mpt", mpt, - mpt->unit, &mpt->mpt_lock, 1, maxq, devq); + mpt->sim = + mpt_sim_alloc(mpt_action, mpt_poll, "mpt", mpt, 1, maxq, devq); if (mpt->sim == NULL) { mpt_prt(mpt, "Unable to allocate CAM SIM!\n"); cam_simq_free(devq); @@ -357,8 +357,8 @@ /* * Create a "bus" to export all hidden disks to CAM. */ - mpt->phydisk_sim = cam_sim_alloc(mpt_action, mpt_poll, "mpt", mpt, - mpt->unit, &mpt->mpt_lock, 1, maxq, devq); + mpt->phydisk_sim = + mpt_sim_alloc(mpt_action, mpt_poll, "mpt", mpt, 1, maxq, devq); if (mpt->phydisk_sim == NULL) { mpt_prt(mpt, "Unable to allocate Physical Disk CAM SIM!\n"); error = ENOMEM; ==== //depot/projects/mjexp/sys/dev/mpt/mpt_cam.h#4 (text+ko) ==== @@ -143,4 +143,12 @@ wakeup(mpt); } +/************************** Version Compatibility *************************/ +#if __FreeBSD_version < 700031 +#define mpt_sim_alloc(a, b, c, mpt, e, f, g) \ + cam_sim_alloc(a, b, c, mpt, (mpt)->unit, e, f, g) +#else +#define mpt_sim_alloc(a, b, c, mpt, e, f, g) \ + cam_sim_alloc(a, b, c, mpt, (mpt)->unit, &(mpt)->mpt_lock, e, f, g) +#endif #endif /*_MPT_CAM_H_ */ ==== //depot/projects/mjexp/sys/dev/mpt/mpt_raid.c#6 (text+ko) ==== @@ -116,12 +116,14 @@ static void mpt_enable_vol(struct mpt_softc *mpt, struct mpt_raid_volume *mpt_vol, int enable); #endif -static void mpt_verify_mwce(struct mpt_softc *mpt, - struct mpt_raid_volume *mpt_vol); -static void mpt_adjust_queue_depth(struct mpt_softc *mpt, - struct mpt_raid_volume *mpt_vol, - struct cam_path *path); -static void mpt_raid_sysctl_attach(struct mpt_softc *mpt); +static void mpt_verify_mwce(struct mpt_softc *, struct mpt_raid_volume *); +static void mpt_adjust_queue_depth(struct mpt_softc *, struct mpt_raid_volume *, + struct cam_path *); +#if __FreeBSD_version < 500000 +#define mpt_raid_sysctl_attach(x) do { } while (0) +#else +static void mpt_raid_sysctl_attach(struct mpt_softc *); +#endif static uint32_t raid_handler_id = MPT_HANDLER_ID_NONE; @@ -1604,6 +1606,7 @@ mpt->raid_max_disks = 0; } +#if __FreeBSD_version >= 500000 static int mpt_raid_set_vol_resync_rate(struct mpt_softc *mpt, u_int rate) { @@ -1717,7 +1720,6 @@ MPT_UNLOCK(mpt); return (0); } - const char *mpt_vol_mwce_strs[] = { "On", @@ -1806,7 +1808,6 @@ static void mpt_raid_sysctl_attach(struct mpt_softc *mpt) { -#if __FreeBSD_version >= 500000 struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(mpt->dev); struct sysctl_oid *tree = device_get_sysctl_tree(mpt->dev); @@ -1828,5 +1829,5 @@ "nonoptimal_volumes", CTLFLAG_RD, &mpt->raid_nonopt_volumes, 0, "number of nonoptimal volumes"); +} #endif -}