From owner-p4-projects@FreeBSD.ORG Sun Nov 4 00:11:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80E5C16A47B; Sun, 4 Nov 2007 00:11:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 190C616A418 for ; Sun, 4 Nov 2007 00:11:35 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 09D4413C4BE for ; Sun, 4 Nov 2007 00:11:35 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA40BY7N005253 for ; Sun, 4 Nov 2007 00:11:34 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA40BYB9005250 for perforce@freebsd.org; Sun, 4 Nov 2007 00:11:34 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 4 Nov 2007 00:11:34 GMT Message-Id: <200711040011.lA40BYB9005250@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 128597 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, 04 Nov 2007 00:11:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=128597 Change 128597 by kmacy@kmacy:storage:toestack on 2007/11/04 00:11:32 add prototypes for functions returning credits to HW Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#3 (text+ko) ==== @@ -14,6 +14,9 @@ void t3_init_offload_ops(void); void t3_init_wr_tab(unsigned int wr_len); int t3_push_frames(struct socket *so, int req_completion); +uint32_t t3_send_rx_credits(struct tcpcb *tp, uint32_t credits, uint32_t dack, int nofail); +void t3_cleanup_rbuf(struct tcpcb *tp); + void toepcb_hold(struct toepcb *); void toepcb_release(struct toepcb *); From owner-p4-projects@FreeBSD.ORG Sun Nov 4 00:12:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D37616A419; Sun, 4 Nov 2007 00:12:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F1EA16A417 for ; Sun, 4 Nov 2007 00:12:36 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4FF5B13C491 for ; Sun, 4 Nov 2007 00:12:36 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA40Caof005303 for ; Sun, 4 Nov 2007 00:12:36 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA40Cant005295 for perforce@freebsd.org; Sun, 4 Nov 2007 00:12:36 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 4 Nov 2007 00:12:36 GMT Message-Id: <200711040012.lA40Cant005295@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 128598 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, 04 Nov 2007 00:12:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=128598 Change 128598 by kmacy@kmacy:storage:toestack on 2007/11/04 00:12:27 add new flags for shutdown, some extra accounting sequence numbers and purging of WR queue Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#4 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#4 (text+ko) ==== @@ -78,8 +78,10 @@ #define T3C_DEV(sk) ((TOM_DATA(TOE_DEV(sk)))->cdev) #define TOM_TUNABLE(dev, param) (TOM_DATA(dev)->conf.param) -#define TP_DATASENT (1 << 0) -#define TP_TX_WAIT_IDLE (1 << 1) +#define TP_DATASENT (1 << 0) +#define TP_TX_WAIT_IDLE (1 << 1) +#define TP_FIN_SENT (1 << 2) +#define TP_ABORT_RPL_PENDING (1 << 3) struct toepcb { struct toedev *tp_toedev; @@ -95,8 +97,11 @@ int tp_mss_clamp; int tp_qset; int tp_flags; + tcp_seq tp_delack_seq; + tcp_seq tp_rcv_wup; + tcp_seq tp_copied_seq; + uint64_t tp_write_seq; - volatile int tp_refcount; struct tcpcb *tp_tp; @@ -113,6 +118,15 @@ mbufq_init(&toep->wr_list); } +static inline void purge_wr_queue(struct tcpcb *tp) +{ + struct toepcb *toep = tp->t_toe; + struct mbuf *m; + + while ((m = mbufq_dequeue(&toep->wr_list)) != NULL) + m_freem(m); +} + static inline void enqueue_wr(struct tcpcb *tp, struct mbuf *m) { struct toepcb *toep = tp->t_toe; From owner-p4-projects@FreeBSD.ORG Sun Nov 4 00:13:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ACA4216A46C; Sun, 4 Nov 2007 00:13:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3057216A417 for ; Sun, 4 Nov 2007 00:13:38 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 08A6C13C4B9 for ; Sun, 4 Nov 2007 00:13:38 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA40DbAZ005338 for ; Sun, 4 Nov 2007 00:13:37 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA40Dboj005335 for perforce@freebsd.org; Sun, 4 Nov 2007 00:13:37 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 4 Nov 2007 00:13:37 GMT Message-Id: <200711040013.lA40Dboj005335@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 128599 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, 04 Nov 2007 00:13:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=128599 Change 128599 by kmacy@kmacy:storage:toestack on 2007/11/04 00:13:02 remove no longer needed kdb_backtrace Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/cxgb_sge.c#12 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/cxgb_sge.c#12 (text+ko) ==== @@ -1572,8 +1572,6 @@ m_freem(m); return 0; } - - kdb_backtrace(); wrp->wr_hi |= htonl(F_WR_SOP | F_WR_EOP); wrp->wr_lo = htonl(V_WR_TID(q->token)); From owner-p4-projects@FreeBSD.ORG Sun Nov 4 00:14:39 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C691116A421; Sun, 4 Nov 2007 00:14:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C61516A419 for ; Sun, 4 Nov 2007 00:14:39 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6524213C4B0 for ; Sun, 4 Nov 2007 00:14:39 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA40EdWf005388 for ; Sun, 4 Nov 2007 00:14:39 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA40Ednn005385 for perforce@freebsd.org; Sun, 4 Nov 2007 00:14:39 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 4 Nov 2007 00:14:39 GMT Message-Id: <200711040014.lA40Ednn005385@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 128600 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, 04 Nov 2007 00:14:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=128600 Change 128600 by kmacy@kmacy:storage:toestack on 2007/11/04 00:13:55 free toepcb when the refcount goes to zero Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#4 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#4 (text+ko) ==== @@ -130,6 +130,14 @@ void toepcb_release(struct toepcb *toep) { + if (toep->tp_refcount == 1) { + /* + * XXX clear our reference on the inpcb + */ + free(toep, M_DEVBUF); + return; + } + atomic_add_acq_int(&toep->tp_refcount, -1); } From owner-p4-projects@FreeBSD.ORG Sun Nov 4 00:17:43 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89B5716A41B; Sun, 4 Nov 2007 00:17:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2176B16A419 for ; Sun, 4 Nov 2007 00:17:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1186813C49D for ; Sun, 4 Nov 2007 00:17:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA40HgPq005499 for ; Sun, 4 Nov 2007 00:17:42 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA40HgRp005496 for perforce@freebsd.org; Sun, 4 Nov 2007 00:17:42 GMT (envelope-from kmacy@freebsd.org) Date: Sun, 4 Nov 2007 00:17:42 GMT Message-Id: <200711040017.lA40HgRp005496@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 128601 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, 04 Nov 2007 00:17:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=128601 Change 128601 by kmacy@kmacy:storage:toestack on 2007/11/04 00:16:43 - add support for rx - add support for returning rx credits (update receive window) - but credit calculation needs to be fixed (clearly marked) - add partial support for connection close (some shutdown states are not handled yet) Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#12 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#12 (text+ko) ==== @@ -172,9 +172,6 @@ req->param |= htonl(V_TX_SNDBUF(so->so_snd.sb_hiwat >> 15)); toep->tp_flags |= TP_DATASENT; } - - - } int @@ -200,7 +197,7 @@ cdev = d->cdev; last = tail = so->so_snd.sb_sndptr ? so->so_snd.sb_sndptr : so->so_snd.sb_mb; total_bytes = 0; - if (toep->tp_m_last == last) { + if (last && toep->tp_m_last == last) { KASSERT(tail, ("sbdrop error")); last = tail = tail->m_next; } @@ -233,6 +230,7 @@ so->so_snd.sb_sndptroff += bytes; total_bytes += bytes; + toep->tp_write_seq += bytes; /* @@ -266,14 +264,170 @@ l2t_send(cdev, m0, toep->tp_l2t); } + + + return (total_bytes); +} + + + +/* + * Close a connection by sending a CPL_CLOSE_CON_REQ message. Cannot fail + * under any circumstances. We take the easy way out and always queue the + * message to the write_queue. We can optimize the case where the queue is + * already empty though the optimization is probably not worth it. + */ +static void +close_conn(struct socket *so) +{ + struct mbuf *m; + struct cpl_close_con_req *req; + struct tom_data *d; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + unsigned int tid = toep->tp_tid; + + d = TOM_DATA(TOE_DEV(so)); + + if (tp->t_state != TCPS_SYN_SENT) + t3_push_frames(so, 1); + + if (toep->tp_flags & TP_FIN_SENT) + return; + + m = m_gethdr(M_NOWAIT, MT_DATA); + if (m == NULL) { + /* + * XXX + */ + printf("need to defer connection close to taskq thread!!!\n"); + return; + } + toep->tp_flags |= TP_FIN_SENT; + req = mtod(m, struct cpl_close_con_req *); + m->m_pkthdr.len = m->m_len = sizeof(*req); + + req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_CLOSE_CON)); + req->wr.wr_lo = htonl(V_WR_TID(tid)); + OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_CLOSE_CON_REQ, tid)); + req->rsvd = htonl(toep->tp_write_seq); + + /* + * XXX - need to defer shutdown while there is still data in the queue + * + */ + cxgb_ofld_send(d->cdev, m); + +} + + +/* + * Send RX credits through an RX_DATA_ACK CPL message. If nofail is 0 we are + * permitted to return without sending the message in case we cannot allocate + * an sk_buff. Returns the number of credits sent. + */ +uint32_t +t3_send_rx_credits(struct tcpcb *tp, uint32_t credits, uint32_t dack, int nofail) +{ + struct mbuf *m; + struct cpl_rx_data_ack *req; + struct toepcb *toep = tp->t_toe; + struct toedev *tdev = toep->tp_toedev; + + m = m_gethdr(M_NOWAIT, MT_DATA); + + if (m == NULL) { + /* + * XXX need to cache mbufs for nofail allocation + */ + if (nofail) + log(LOG_ERR, "failing nofail t3_send_rx_credits!!!\n"); + return (0); + } + + printf("returning %u credits to HW\n", credits); + + req = mtod(m, struct cpl_rx_data_ack *); + m->m_pkthdr.len = m->m_len = sizeof(*req); + req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); + OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, toep->tp_tid)); + req->credit_dack = htonl(dack | V_RX_CREDITS(credits)); + m_set_priority(m, mkprio(CPL_PRIORITY_ACK, toeptoso(toep))); + cxgb_ofld_send(TOM_DATA(tdev)->cdev, m); + return (credits); +} + + +/* + * Set of states for which we should return RX credits. + */ +#define CREDIT_RETURN_STATE (TCPF_ESTABLISHED | TCPF_FIN_WAIT1 | TCPF_FIN_WAIT2) + +/* + * Called after some received data has been read. It returns RX credits + * to the HW for the amount of data processed. + */ +void +t3_cleanup_rbuf(struct tcpcb *tp) +{ + struct toepcb *toep = tp->t_toe; + struct toedev *dev; + int dack_mode, must_send; + u32 thres, credits, dack = 0; + + if (!((tp->t_state == TCPS_ESTABLISHED) || (tp->t_state == TCPS_FIN_WAIT_1) || + (tp->t_state == TCPS_FIN_WAIT_2))) + return; + + printf("inaccurately calculating return credits - PLZ FIX\n"); + /* + * XXX this won't accurately reflect credit return - we need + * to look at the difference between the amount that has been + * put in the recv sockbuf and what is there now + */ + credits = toep->tp_copied_seq - toep->tp_rcv_wup; + if (__predict_false(!credits)) + return; + + dev = toep->tp_toedev; + thres = TOM_TUNABLE(dev, rx_credit_thres); + + if (__predict_false(thres == 0)) + return; + + if (toep->tp_ulp_mode) + dack = F_RX_DACK_CHANGE | V_RX_DACK_MODE(1); + else { + dack_mode = TOM_TUNABLE(dev, delack); + if (__predict_false(dack_mode != toep->tp_delack_mode)) { + u32 r = tp->rcv_nxt - toep->tp_delack_seq; + + if (r >= tp->rcv_wnd || r >= 16 * toep->tp_mss_clamp) + dack = F_RX_DACK_CHANGE | + V_RX_DACK_MODE(dack_mode); + } + } + + /* + * For coalescing to work effectively ensure the receive window has + * at least 16KB left. + */ + must_send = credits + 16384 >= tp->rcv_wnd; - return (total_bytes); + if (must_send || credits >= thres) + toep->tp_rcv_wup += t3_send_rx_credits(tp, credits, dack, must_send); } static int cxgb_toe_disconnect(struct tcpcb *tp) { - printf("%s UNIMPLEMENTED!!!!\n", __FUNCTION__); + struct socket *so; + + printf("cxgb_toe_disconnect\n"); + + so = tp->t_inpcb->inp_socket; + close_conn(so); + return (0); } @@ -313,7 +467,8 @@ static int cxgb_toe_rcvd(struct tcpcb *tp) { - printf("%s UNIMPLEMENTED!!!!\n", __FUNCTION__); + t3_cleanup_rbuf(tp); + return (0); } @@ -385,7 +540,82 @@ return (idx); } +void +t3_release_ddp_resources(struct socket *so) +{ + /* + * This is a no-op until we have DDP support + */ +} + +static inline void +free_atid(struct t3cdev *cdev, unsigned int tid) +{ + struct socket *so = cxgb_free_atid(cdev, tid); + if (so) { + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + + toepcb_release(toep); + } +} + +/* + * Release resources held by an offload connection (TID, L2T entry, etc.) + */ static void +t3_release_offload_resources(struct socket *so) +{ + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + struct toedev *tdev = TOE_DEV(so); + struct t3cdev *cdev; + unsigned int tid = toep->tp_tid; + + if (!tdev) + return; + + cdev = T3C_DEV(so); + if (!cdev) + return; + + toep->tp_qset = 0; + t3_release_ddp_resources(so); + +#ifdef CTRL_SKB_CACHE + kfree_skb(CTRL_SKB_CACHE(tp)); + CTRL_SKB_CACHE(tp) = NULL; +#endif + + if (toep->tp_wr_avail != toep->tp_wr_max) { + purge_wr_queue(tp); + reset_wr_list(tp); + } + + if (toep->tp_l2t) { + l2t_release(L2DATA(cdev), toep->tp_l2t); + toep->tp_l2t = NULL; + } + + if (tp->t_state == TCPS_SYN_SENT) { + free_atid(cdev, tid); +#ifdef notyet + __skb_queue_purge(&tp->out_of_order_queue); +#endif + } else { // we have TID + cxgb_remove_tid(cdev, (void *)so, tid); + toepcb_release(toep); + } +#ifdef notyet + t3_set_ca_ops(sk, &tcp_init_congestion_ops); +#endif + TOE_DEV(so) = NULL; +#if 0 + log(LOG_INFO, "closing TID %u, state %u\n", tid, tp->t_state); +#endif +} + +static void install_offload_ops(struct socket *so) { struct tcpcb *tp = sototcpcb(so); @@ -580,15 +810,14 @@ static void fail_act_open(struct socket *so, int errno) { + struct tcpcb *tp = sototcpcb(so); + + t3_release_offload_resources(so); + tcp_drop(tp, errno); + #ifdef notyet - sk->sk_err = errno; - sk->sk_error_report(sk); - t3_release_offload_resources(sk); - connection_done(sk); TCP_INC_STATS_BH(TCP_MIB_ATTEMPTFAILS); #endif - printf("%s:%s:%d implement me", __FUNCTION__, __FILE__, __LINE__); - } /* @@ -719,13 +948,287 @@ return (0); free_tid: - cxgb_free_atid(d->cdev, atid); + free_atid(d->cdev, atid); out_err: return (ENOMEM); } +/* + * Process new data received for a connection. + */ +static void +new_rx_data(struct socket *so, struct mbuf *m) +{ + struct cpl_rx_data *hdr = cplhdr(m); + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + int len = be16toh(hdr->len); + +#ifdef notyet + if (__predict_false(sk_no_receive(sk))) { + handle_excess_rx(sk, skb); + return; + } + if (ULP_MODE(tp) == ULP_MODE_TCPDDP) + handle_ddp_data(sk, skb); + + TCP_SKB_CB(skb)->seq = ntohl(hdr->seq); + TCP_SKB_CB(skb)->flags = 0; + skb_ulp_mode(skb) = 0; /* for iSCSI */ +#endif +#if VALIDATE_SEQ + 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, + tp->rcv_nxt); + __kfree_skb(skb); + return; + } +#endif + m_adj(m, sizeof(*hdr)); + +#ifdef notyet + /* + * We don't handle urgent data yet + */ + if (__predict_false(hdr->urg)) + handle_urg_ptr(sk, tp->rcv_nxt + ntohs(hdr->urg)); + 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]; +#endif + if (__predict_false(hdr->dack_mode != toep->tp_delack_mode)) { + toep->tp_delack_mode = hdr->dack_mode; + toep->tp_delack_seq = tp->rcv_nxt; + } + + printf("appending mbuf=%p pktlen=%d m_len=%d len=%d\n", m, m->m_pkthdr.len, m->m_len, len); + + if (len < m->m_pkthdr.len) + m->m_pkthdr.len = m->m_len = len; + + tp->rcv_nxt += m->m_pkthdr.len; + tp->t_rcvtime = ticks; + +#ifdef T3_TRACE + T3_TRACE2(TIDTB(sk), + "new_rx_data: seq 0x%x len %u", + TCP_SKB_CB(skb)->seq, skb->len); +#endif + + sbappend(&so->so_rcv, m); + if (__predict_true((so->so_state & SS_NOFDREF) == 0)) + sorwakeup(so); +} + /* + * Handler for RX_DATA CPL messages. + */ +static int +do_rx_data(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + struct socket *so = (struct socket *)ctx; + + VALIDATE_SOCK(so); + + new_rx_data(so, m); + + return (0); +} + +/* + * Move a socket to TIME_WAIT state. We need to make some adjustments to the + * socket state before calling tcp_time_wait to comply with its expectations. + */ +static void +enter_timewait(struct socket *so) +{ + struct tcpcb *tp = sototcpcb(so); + + /* + * Bump rcv_nxt for the peer FIN. We don't do this at the time we + * process peer_close because we don't want to carry the peer FIN in + * the socket's receive queue and if we increment rcv_nxt without + * having the FIN in the receive queue we'll confuse facilities such + * as SIOCINQ. + */ + tp->rcv_nxt++; + + tp->ts_recent_age = 0; /* defeat recycling */ + tp->t_srtt = 0; /* defeat tcp_update_metrics */ + tcp_twstart(tp); +} + + +/* + * Handle a peer FIN. + */ +static void +do_peer_fin(struct socket *so, struct mbuf *m) +{ + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + int keep = 0, dead = (so->so_state & SS_NOFDREF); + +#ifdef T3_TRACE + T3_TRACE0(TIDTB(sk),"do_peer_fin:"); +#endif +#ifdef notyet + if (!is_t3a(TOE_DEV(sk)) && sock_flag(sk, ABORT_RPL_PENDING)) + goto out; + + if (ULP_MODE(tp) == ULP_MODE_TCPDDP) { + keep = handle_peer_close_data(sk, skb); + if (keep < 0) + return; + } + sk->sk_shutdown |= RCV_SHUTDOWN; + sock_set_flag(sk, SOCK_DONE); +#endif + switch (tp->t_state) { + case TCPS_SYN_RECEIVED: + case TCPS_ESTABLISHED: + tp->t_state = TCPS_CLOSE_WAIT; + break; + case TCPS_FIN_WAIT_1: + tp->t_state = TCPS_CLOSING; + break; + case TCPS_FIN_WAIT_2: + /* + * If we've sent an abort_req we must have sent it too late, + * HW will send us a reply telling us so, and this peer_close + * is really the last message for this connection and needs to + * be treated as an abort_rpl, i.e., transition the connection + * to TCP_CLOSE (note that the host stack does this at the + * time of generating the RST but we must wait for HW). + * Otherwise we enter TIME_WAIT. + */ + t3_release_offload_resources(so); + if (toep->tp_flags & TP_ABORT_RPL_PENDING) + tcp_close(tp); + else + enter_timewait(so); + break; + default: + log(LOG_ERR, + "%s: TID %u received PEER_CLOSE in bad state %d\n", + TOE_DEV(so)->name, toep->tp_tid, tp->t_state); + } + + if (!dead) { +#ifdef notyet + sk->sk_state_change(sk); + + /* Do not send POLL_HUP for half duplex close. */ + if ((sk->sk_shutdown & SEND_SHUTDOWN) || + sk->sk_state == TCP_CLOSE) + sk_wake_async(sk, 1, POLL_HUP); + else + sk_wake_async(sk, 1, POLL_IN); +#endif + } +#ifdef notyet +out: +#endif + if (!keep) + m_free(m); +} + +/* + * Handler for PEER_CLOSE CPL messages. + */ +static int +do_peer_close(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + struct socket *so = (struct socket *)ctx; + + VALIDATE_SOCK(so); + + do_peer_fin(so, m); + return (0); +} + +static void +process_close_con_rpl(struct socket *so, struct mbuf *m) +{ + struct tcpcb *tp = sototcpcb(so); + struct cpl_close_con_rpl *rpl = cplhdr(m); + struct toepcb *toep = tp->t_toe; + + tp->snd_una = ntohl(rpl->snd_nxt) - 1; /* exclude FIN */ + +#if 0 + if (!is_t3a(TOE_DEV(so)) && (toep->tp_flags & TP_ABORT_RPL_PENDING)) + goto out; +#endif + + switch (tp->t_state) { + case TCPS_CLOSING: /* see FIN_WAIT2 case in do_peer_fin */ + t3_release_offload_resources(so); + if (toep->tp_flags & TP_ABORT_RPL_PENDING) + tcp_close(tp); + else + enter_timewait(so); + break; + case TCPS_LAST_ACK: + /* + * In this state we don't care about pending abort_rpl. + * If we've sent abort_req it was post-close and was sent too + * late, this close_con_rpl is the actual last message. + */ + t3_release_offload_resources(so); + tcp_close(tp); + break; + case TCPS_FIN_WAIT_1: +#ifdef notyet + dst_confirm(sk->sk_dst_cache); +#endif + if ((so->so_state & SS_NOFDREF) == 0) { + /* + * Wake up lingering close + */ + sowwakeup(so); + sorwakeup(so); + + } else + printf("FIN_WAIT1 shutdown handling incomplete\n"); + +#if 0 + else if (tcp_sk(sk)->linger2 < 0 && + !sock_flag(sk, ABORT_SHUTDOWN)) + abort_conn(sk, skb, LINUX_MIB_TCPABORTONLINGER); +#endif + break; + default: + log(LOG_ERR, + "%s: TID %u received CLOSE_CON_RPL in bad state %d\n", + TOE_DEV(so)->name, toep->tp_tid, + tp->t_state); + } +#if 0 +out: +#endif + m_free(m); +} + +/* + * Handler for CLOSE_CON_RPL CPL messages. + */ +static int do_close_con_rpl(struct t3cdev *cdev, struct mbuf *m, + void *ctx) +{ + struct socket *so = (struct socket *)ctx; + + VALIDATE_SOCK(so); + + process_close_con_rpl(so, m); + return (0); +} + +/* * Called when a connection is established to translate the TCP options * reported by HW to Linux's native format. */ @@ -750,17 +1253,19 @@ * * snd_isn here is the ISN after the SYN, i.e., the true ISN + 1. */ -static void make_established(struct socket *so, u32 snd_isn, unsigned int opt) +static void +make_established(struct socket *so, u32 snd_isn, unsigned int opt) { struct tcpcb *tp = sototcpcb(so); - - tp->iss = tp->snd_max = tp->snd_nxt = tp->snd_una = snd_isn; + struct toepcb *toep = tp->t_toe; + + toep->tp_write_seq = tp->iss = tp->snd_max = tp->snd_nxt = tp->snd_una = snd_isn; + assign_rxopt(so, opt); #if 0 inet_sk(sk)->id = tp->write_seq ^ jiffies; #endif - assign_rxopt(so, opt); + -#ifdef notyet /* * XXX not clear what rcv_wup maps to */ @@ -768,9 +1273,10 @@ * Causes the first RX_DATA_ACK to supply any Rx credits we couldn't * pass through opt0. */ - if (tp->rcv_wnd > (M_RCV_BUFSIZ << 102)) - tp->rcv_wup -= tp->rcv_wnd - (M_RCV_BUFSIZ << 10); + if (tp->rcv_wnd > (M_RCV_BUFSIZ << 10)) + toep->tp_rcv_wup -= tp->rcv_wnd - (M_RCV_BUFSIZ << 10); +#ifdef notyet /* * no clean interface for marking ARP up to date */ @@ -823,9 +1329,8 @@ tp->ts_recent_age = ticks; tp->irs = tp->rcv_wnd = tp->rcv_nxt = rcv_isn; -#if 0 - DELACK_SEQ(tp) = tp->copied_seq = tp->rcv_wup = tp->rcv_nxt = rcv_isn; -#endif + toep->tp_delack_seq = toep->tp_rcv_wup = toep->tp_copied_seq = tp->irs; + make_established(so, ntohl(req->snd_isn), ntohs(req->tcp_opt)); /* @@ -894,7 +1399,7 @@ */ toep->tp_tid = tid; so_insert_tid(d, so, tid); - cxgb_free_atid(cdev, atid); + free_atid(cdev, atid); toep->tp_qset = G_QNUM(ntohl(m->m_pkthdr.csum_data)); socket_act_establish(so, m); @@ -1037,7 +1542,7 @@ #ifdef notyet tcphdr_skb = alloc_skb(sizeof(struct tcphdr), GFP_KERNEL); if (!tcphdr_skb) { - printk(KERN_ERR + log(LOG_ERR, "Chelsio TCP offload: can't allocate sk_buff\n"); return -1; } @@ -1049,17 +1554,17 @@ t3tom_register_cpl_handler(CPL_ACT_ESTABLISH, do_act_establish); t3tom_register_cpl_handler(CPL_ACT_OPEN_RPL, do_act_open_rpl); t3tom_register_cpl_handler(CPL_TX_DMA_ACK, do_wr_ack); + t3tom_register_cpl_handler(CPL_RX_DATA, do_rx_data); + t3tom_register_cpl_handler(CPL_CLOSE_CON_RPL, do_close_con_rpl); + t3tom_register_cpl_handler(CPL_PEER_CLOSE, do_peer_close); #ifdef notyet t3tom_register_cpl_handler(CPL_PASS_ESTABLISH, do_pass_establish); t3tom_register_cpl_handler(CPL_PASS_ACCEPT_REQ, do_pass_accept_req); t3tom_register_cpl_handler(CPL_RX_URG_NOTIFY, do_rx_urg_notify); - t3tom_register_cpl_handler(CPL_RX_DATA, do_rx_data); t3tom_register_cpl_handler(CPL_RX_DATA_DDP, do_rx_data_ddp); t3tom_register_cpl_handler(CPL_RX_DDP_COMPLETE, do_rx_ddp_complete); - t3tom_register_cpl_handler(CPL_PEER_CLOSE, do_peer_close); t3tom_register_cpl_handler(CPL_ABORT_REQ_RSS, do_abort_req); t3tom_register_cpl_handler(CPL_ABORT_RPL_RSS, do_abort_rpl); - t3tom_register_cpl_handler(CPL_CLOSE_CON_RPL, do_close_con_rpl); t3tom_register_cpl_handler(CPL_TRACE_PKT, do_trace_pkt); t3tom_register_cpl_handler(CPL_GET_TCB_RPL, do_get_tcb_rpl); #endif From owner-p4-projects@FreeBSD.ORG Sun Nov 4 02:56:31 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B3B016A420; Sun, 4 Nov 2007 02:56:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B50F16A41A for ; Sun, 4 Nov 2007 02:56:31 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 241BE13C4B0 for ; Sun, 4 Nov 2007 02:56:31 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA42uVnV024861 for ; Sun, 4 Nov 2007 02:56:31 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA42uUiu024858 for perforce@freebsd.org; Sun, 4 Nov 2007 02:56:30 GMT (envelope-from andrew@freebsd.org) Date: Sun, 4 Nov 2007 02:56:30 GMT Message-Id: <200711040256.lA42uUiu024858@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 128605 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, 04 Nov 2007 02:56:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=128605 Change 128605 by andrew@andrew_hermies on 2007/11/04 02:55:54 Add the Neo1973 specific code and included configuration files Affected files ... .. //depot/projects/arm/src/sys/arm/s3c2xx0/files.neo1973#1 add .. //depot/projects/arm/src/sys/arm/s3c2xx0/neo1973_machdep.c#1 add .. //depot/projects/arm/src/sys/arm/s3c2xx0/std.neo1973#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Nov 4 03:32:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F9AF16A421; Sun, 4 Nov 2007 03:32:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0458116A417 for ; Sun, 4 Nov 2007 03:32:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E997B13C4A8 for ; Sun, 4 Nov 2007 03:32:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA43WAm6027923 for ; Sun, 4 Nov 2007 03:32:10 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA43WAIf027920 for perforce@freebsd.org; Sun, 4 Nov 2007 03:32:10 GMT (envelope-from jb@freebsd.org) Date: Sun, 4 Nov 2007 03:32:10 GMT Message-Id: <200711040332.lA43WAIf027920@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 128606 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, 04 Nov 2007 03:32:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=128606 Change 128606 by jb@jb_freebsd1 on 2007/11/04 03:31:54 Revise the extra memory allocation for DTrace struct proc and struct thread data based on advice from rwatson and jhb that adding an extra pointer to struct proc and struct thread won't break the kernel ABI. This adds event handlers to allocate and free proc/thread data for DTrace plus a memory allocation type for DTrace hooks. Note that adding the event handler definitions to proc.h tended to expose all the event handler junk everywhere in the kernel that references proc.h. It turned out to be cleaner to add proc_event.h and just include that where _really_ needed. Affected files ... .. //depot/projects/dtrace/src/sys/conf/files#49 edit .. //depot/projects/dtrace/src/sys/kern/init_main.c#19 edit .. //depot/projects/dtrace/src/sys/kern/kern_dtrace.c#1 add .. //depot/projects/dtrace/src/sys/kern/kern_thread.c#14 edit .. //depot/projects/dtrace/src/sys/sys/dtrace_bsd.h#2 edit .. //depot/projects/dtrace/src/sys/sys/proc.h#24 edit .. //depot/projects/dtrace/src/sys/sys/proc_event.h#1 add Differences ... ==== //depot/projects/dtrace/src/sys/conf/files#49 (text+ko) ==== @@ -1416,6 +1416,7 @@ kern/kern_cpu.c standard kern/kern_context.c standard kern/kern_descrip.c standard +kern/kern_dtrace.c standard kern/kern_environment.c standard kern/kern_event.c standard kern/kern_exec.c standard ==== //depot/projects/dtrace/src/sys/kern/init_main.c#19 (text+ko) ==== @@ -98,15 +98,6 @@ struct vmspace vmspace0; struct proc *initproc; -/* DTrace data for the primary thread in proc0. */ -char kdtrace_thread0[KDTRACE_THREAD_SIZE]; - -/* Offset from 'struct thread *' to the opaque DTrace fields. */ -int kdtrace_thread_offset; - -/* Overall per-thread allocation size. */ -int kdtrace_thread_size; - int boothowto = 0; /* initialized so that it can be patched */ SYSCTL_INT(_debug, OID_AUTO, boothowto, CTLFLAG_RD, &boothowto, 0, ""); int bootverbose; @@ -186,18 +177,6 @@ int verbose; #endif - /* Get the size of 'struct thread' plus 'struct td_sched' */ - kdtrace_thread_offset = sched_sizeof_thread(); - - /* - * Allow for the DTrace-specific thread data after - * struct td_sched. This space is allocated opaquely to - * avoid license issues. The value of KDTRACE_THREAD_SIZE - * set in sys/proc.h must be larger than that required by - * the DTrace kernel modules. - */ - kdtrace_thread_size = kdtrace_thread_offset + KDTRACE_THREAD_SIZE; - if (sysinit == NULL) { sysinit = SET_BEGIN(sysinit_set); sysinit_end = SET_LIMIT(sysinit_set); ==== //depot/projects/dtrace/src/sys/kern/kern_thread.c#14 (text+ko) ==== @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -186,6 +187,7 @@ td->td_sleepqueue = sleepq_alloc(); td->td_turnstile = turnstile_alloc(); td->td_sched = (struct td_sched *)&td[1]; + EVENTHANDLER_INVOKE(thread_ctor, td); sched_newthread(td); umtx_thread_init(td); return (0); @@ -200,6 +202,7 @@ struct thread *td; td = (struct thread *)mem; + EVENTHANDLER_INVOKE(thread_dtor, td); turnstile_free(td->td_turnstile); sleepq_free(td->td_sleepqueue); umtx_thread_fini(td); @@ -243,7 +246,7 @@ mtx_init(&tid_lock, "TID lock", NULL, MTX_DEF); tid_unrhdr = new_unrhdr(PID_MAX + 1, INT_MAX, &tid_lock); - thread_zone = uma_zcreate("THREAD", kdtrace_thread_size, + thread_zone = uma_zcreate("THREAD", sched_sizeof_thread(), thread_ctor, thread_dtor, thread_init, thread_fini, 16 - 1, 0); #ifdef KSE ==== //depot/projects/dtrace/src/sys/sys/dtrace_bsd.h#2 (text+ko) ==== @@ -37,4 +37,12 @@ /* Global variable in trap.c */ extern dtrace_invop_func_t dtrace_invop_func; +/* + * Functions which allow the dtrace module to check that the kernel + * hooks have been compiled with sufficient space for it's private + * structures. + */ +size_t kdtrace_proc_size(void); +size_t kdtrace_thread_size(void); + #endif /* _SYS_DTRACE_BSD_H */ ==== //depot/projects/dtrace/src/sys/sys/proc.h#24 (text+ko) ==== @@ -163,6 +163,8 @@ struct trapframe; struct turnstile; struct mqueue_notifier; +struct kdtrace_proc; +struct kdtrace_thread; /* * Here we define the two structures used for process information. @@ -298,6 +300,7 @@ struct td_sched *td_sched; /* (*) Scheduler-specific data. */ struct kaudit_record *td_ar; /* (k) Active audit record, if any. */ int td_syscalls; /* per-thread syscall count (used by NFS :)) */ + struct kdtrace_thread *td_dtrace; /* (*) DTrace-specific data. */ }; struct mtx *thread_lock_block(struct thread *); @@ -587,6 +590,7 @@ struct p_sched *p_sched; /* (*) Scheduler-specific data. */ STAILQ_HEAD(, ktr_request) p_ktr; /* (o) KTR event queue. */ LIST_HEAD(, mqueue_notifier) p_mqnotifier; /* (c) mqueue notifiers.*/ + struct kdtrace_proc *p_dtrace; /* (*) DTrace-specific data. */ }; #define p_session p_pgrp->pg_session @@ -804,21 +808,6 @@ extern int maxprocperuid; /* Max procs per uid. */ extern u_long ps_arg_cache_limit; -/* - * Space to append to struct thread for DTrace specific thread - * variables. This space is after the 'struct td_sched'. - */ -#define KDTRACE_THREAD_SIZE 128 - -/* Offset from 'struct thread *' to the opaque DTrace fields. */ -extern int kdtrace_thread_offset; - -/* Overall per-thread allocation size. */ -extern int kdtrace_thread_size; - -/* DTrace data for the primary thread in proc0. */ -extern char kdtrace_thread0[]; - LIST_HEAD(proclist, proc); TAILQ_HEAD(procqueue, proc); TAILQ_HEAD(threadqueue, thread); From owner-p4-projects@FreeBSD.ORG Sun Nov 4 14:51:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 11F3516A468; Sun, 4 Nov 2007 14:51:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7031416A417 for ; Sun, 4 Nov 2007 14:51:50 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5A9CE13C4BA for ; Sun, 4 Nov 2007 14:51:50 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4EpoZ8024099 for ; Sun, 4 Nov 2007 14:51:50 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4EphC0024096 for perforce@freebsd.org; Sun, 4 Nov 2007 14:51:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 4 Nov 2007 14:51:43 GMT Message-Id: <200711041451.lA4EphC0024096@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128618 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, 04 Nov 2007 14:51:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=128618 Change 128618 by rwatson@rwatson_zoo on 2007/11/04 14:51:40 Integrate TrustedBSD base from FreeBSD CVS: - Adaptive mutexes for user threads - rescue toolset grows geom support - if_bridge maximum segement address limit support - ipfilter fixed - 802.11n work - sctp bug fixes Affected files ... .. //depot/projects/trustedbsd/base/Makefile.inc1#89 integrate .. //depot/projects/trustedbsd/base/ObsoleteFiles.inc#31 integrate .. //depot/projects/trustedbsd/base/bin/mv/mv.1#11 integrate .. //depot/projects/trustedbsd/base/etc/namedb/named.root#5 integrate .. //depot/projects/trustedbsd/base/include/_ctype.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/valloc.3#6 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/ethers.3#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/minherit.2#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/sctp_generic_recvmsg.2#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/sctp_generic_sendmsg.2#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/sctp_peeloff.2#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_accept_sec_context.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_acquire_cred.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_add_cred.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_add_oid_set_member.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_canonicalize_name.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_compare_name.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_context_time.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_create_empty_oid_set.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_delete_sec_context.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_display_name.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_display_status.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_duplicate_name.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_export_name.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_export_sec_context.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_get_mic.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_import_name.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_import_sec_context.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_indicate_mechs.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_init_sec_context.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_inquire_context.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_inquire_cred.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_inquire_cred_by_mech.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_inquire_mechs_for_name.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_inquire_names_for_mech.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_process_context_token.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_release_buffer.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_release_cred.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_release_name.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_release_oid_set.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_test_oid_set_member.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_unwrap.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_verify_mic.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_wrap.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libgssapi/gss_wrap_size_limit.3#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_mutex.c#25 integrate .. //depot/projects/trustedbsd/base/libexec/Makefile#22 integrate .. //depot/projects/trustedbsd/base/rescue/rescue/Makefile#25 integrate .. //depot/projects/trustedbsd/base/sbin/geom/Makefile#2 integrate .. //depot/projects/trustedbsd/base/sbin/geom/class/part/geom_part.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/geom/core/geom.c#14 integrate .. //depot/projects/trustedbsd/base/sbin/gpt/boot.c#2 integrate .. //depot/projects/trustedbsd/base/sbin/gpt/gpt.c#14 integrate .. //depot/projects/trustedbsd/base/sbin/ifconfig/ifbridge.c#8 integrate .. //depot/projects/trustedbsd/base/sbin/ifconfig/ifconfig.8#52 integrate .. //depot/projects/trustedbsd/base/sbin/ifconfig/ifieee80211.c#27 integrate .. //depot/projects/trustedbsd/base/sbin/route/route.8#12 integrate .. //depot/projects/trustedbsd/base/sbin/route/route.c#17 integrate .. //depot/projects/trustedbsd/base/share/man/man3/queue.3#11 integrate .. //depot/projects/trustedbsd/base/share/man/man4/mac.4#9 integrate .. //depot/projects/trustedbsd/base/share/man/man4/md.4#6 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_car.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_netflow.4#9 integrate .. //depot/projects/trustedbsd/base/share/man/man5/bluetooth.device.conf.5#3 integrate .. //depot/projects/trustedbsd/base/share/man/man5/quota.user.5#4 integrate .. //depot/projects/trustedbsd/base/share/man/man5/xfs.5#2 integrate .. //depot/projects/trustedbsd/base/share/man/man9/uio.9#10 integrate .. //depot/projects/trustedbsd/base/share/misc/bsd-family-tree#36 integrate .. //depot/projects/trustedbsd/base/share/misc/committers-ports.dot#9 integrate .. //depot/projects/trustedbsd/base/share/zoneinfo/asia#15 integrate .. //depot/projects/trustedbsd/base/share/zoneinfo/northamerica#15 integrate .. //depot/projects/trustedbsd/base/share/zoneinfo/pacificnew#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/pmap.c#45 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/cpufunc.c#13 integrate .. //depot/projects/trustedbsd/base/sys/arm/include/cpuconf.h#9 integrate .. //depot/projects/trustedbsd/base/sys/compat/opensolaris/kern/opensolaris_vfs.c#7 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.arm#17 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/fil.c#22 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_auth.c#17 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_compat.h#18 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#8 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_log.c#16 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_nat.c#18 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/ip_state.c#18 integrate .. //depot/projects/trustedbsd/base/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 integrate .. //depot/projects/trustedbsd/base/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/aac/aac.c#44 integrate .. //depot/projects/trustedbsd/base/sys/dev/aac/aac_cam.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_cpu.c#30 integrate .. //depot/projects/trustedbsd/base/sys/dev/mpt/mpt.c#26 integrate .. //depot/projects/trustedbsd/base/sys/dev/safe/safe.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_zyd.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_zydfw.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/usbdevs#71 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/PAE#20 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/pmap.c#80 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_cpu.c#9 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_fork.c#70 integrate .. //depot/projects/trustedbsd/base/sys/modules/Makefile#95 integrate .. //depot/projects/trustedbsd/base/sys/net/if_bridge.c#26 integrate .. //depot/projects/trustedbsd/base/sys/net/if_bridgevar.h#11 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211.h#15 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_freebsd.c#11 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_freebsd.h#12 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ht.h#3 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_input.c#29 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ioctl.c#29 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ioctl.h#17 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_node.c#25 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_node.h#20 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_output.c#29 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_proto.c#24 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_proto.h#16 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_scan_ap.c#2 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_var.h#23 integrate .. //depot/projects/trustedbsd/base/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#22 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_constants.h#14 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_output.c#17 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_pcb.c#17 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_pcb.h#13 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_usrreq.c#16 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctputil.c#18 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctputil.h#16 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp.c#28 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_ali.c#14 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_amd.c#17 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_amd64.c#9 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_ati.c#4 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_i810.c#26 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_intel.c#23 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_nvidia.c#9 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_sis.c#15 integrate .. //depot/projects/trustedbsd/base/sys/pci/agp_via.c#16 integrate .. //depot/projects/trustedbsd/base/sys/pci/agppriv.h#4 integrate .. //depot/projects/trustedbsd/base/sys/vm/phys_pager.c#19 integrate .. //depot/projects/trustedbsd/base/sys/vm/swap_pager.c#59 integrate .. //depot/projects/trustedbsd/base/tools/tools/net80211/wlanstats/main.c#2 integrate .. //depot/projects/trustedbsd/base/tools/tools/net80211/wlanstats/statfoo.c#2 integrate .. //depot/projects/trustedbsd/base/tools/tools/net80211/wlanstats/wlanstats.c#4 integrate .. //depot/projects/trustedbsd/base/usr.bin/calendar/calendars/calendar.freebsd#61 integrate .. //depot/projects/trustedbsd/base/usr.bin/file2c/file2c.1#5 integrate .. //depot/projects/trustedbsd/base/usr.bin/file2c/file2c.c#6 integrate .. //depot/projects/trustedbsd/base/usr.bin/lockf/lockf.1#10 integrate .. //depot/projects/trustedbsd/base/usr.bin/make/make.1#28 integrate .. //depot/projects/trustedbsd/base/usr.bin/tail/read.c#6 integrate .. //depot/projects/trustedbsd/base/usr.bin/tail/reverse.c#7 integrate .. //depot/projects/trustedbsd/base/usr.bin/tail/tail.c#9 integrate .. //depot/projects/trustedbsd/base/usr.bin/xstr/xstr.1#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/faithd/faithd.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/faithd/tcp.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/fwcontrol/fwcontrol.8#15 integrate .. //depot/projects/trustedbsd/base/usr.sbin/ifmcstat/ifmcstat.8#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/mtree/mtree.c#9 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pciconf/cap.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pciconf/pciconf.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/Makefile#8 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/lib/match.c#9 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/updating/Makefile#1 branch .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/updating/main.c#1 branch .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/updating/pathnames.h#1 branch .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/updating/pkg_updating.1#1 branch .. //depot/projects/trustedbsd/base/usr.sbin/rpc.lockd/lockd.c#11 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpc.lockd/rpc.lockd.8#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpc.statd/rpc.statd.8#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpc.statd/statd.c#9 integrate .. //depot/projects/trustedbsd/base/usr.sbin/tcpdrop/tcpdrop.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/base/Makefile.inc1#89 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.589 2007/10/15 13:50:46 emaste Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.590 2007/10/31 09:26:42 yar Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -159,7 +159,14 @@ STRICTTMPPATH= ${BPATH}:${XPATH} TMPPATH= ${STRICTTMPPATH}:${PATH} +# +# Avoid running mktemp(1) unless actually needed. +# It may not be functional, e.g., due to new ABI +# when in the middle of installing over this system. +# +.if make(distributeworld) || make(installworld) INSTALLTMP!= /usr/bin/mktemp -d -u -t install +.endif # # Building a world goes through the following stages @@ -265,14 +272,16 @@ .endif # install stage +IMAKEENV= ${CROSSENV} +IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 .if empty(.MAKEFLAGS:M-n) -IMAKEENV= ${CROSSENV} \ - PATH=${STRICTTMPPATH}:${INSTALLTMP} +IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ + LD_LIBRARY_PATH=${INSTALLTMP} \ + PATH_LOCALE=${INSTALLTMP}/locale +IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh .else -IMAKEENV= ${CROSSENV} \ - PATH=${TMPPATH}:${INSTALLTMP} +IMAKEENV+= PATH=${TMPPATH}:${INSTALLTMP} .endif -IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 # kernel stage KMAKEENV= ${WMAKEENV} @@ -564,6 +573,14 @@ .endfor # +# Required install tools to be saved in a scratch dir for safety. +# +ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ + date echo egrep find grep install-info \ + ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ + test true uname wc zic + +# # distributeworld # # Distributes everything compiled by a `buildworld'. @@ -574,19 +591,20 @@ # distributeworld installworld: installcheck mkdir -p ${INSTALLTMP} - for prog in [ awk cap_mkdb cat chflags chmod chown \ - date echo egrep find grep install-info \ - ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ - test true uname wc zic; do \ + for prog in ${ITOOLS}; do \ if progpath=`which $$prog`; then \ - cp $$progpath ${INSTALLTMP}; \ + progs="$$progs $$progpath"; \ else \ - echo "Required install tool $$prog not found" >&2; \ + echo "Required tool $$prog not found in PATH." >&2; \ exit 1; \ fi; \ - done - ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//} - rm -rf ${INSTALLTMP} + done; \ + cp $$progs ${INSTALLTMP}; \ + cp `ldd -f "%p\n" -f "%p\n" $$progs 2>/dev/null | \ + sort -u` ${INSTALLTMP} + cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale + ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \ + ${IMAKEENV} rm -rf ${INSTALLTMP} # # reinstall ==== //depot/projects/trustedbsd/base/ObsoleteFiles.inc#31 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.115 2007/10/25 18:10:05 mtm Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.116 2007/10/30 11:37:37 bushman Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -17,6 +17,7 @@ # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd +OLD_FILES+=etc/cached.conf OLD_FILES+=etc/rc.d/cached OLD_FILES+=usr/sbin/cached OLD_FILES+=usr/share/man/man5/cached.conf.5.gz ==== //depot/projects/trustedbsd/base/bin/mv/mv.1#11 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)mv.1 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/bin/mv/mv.1,v 1.29 2007/05/12 22:18:27 pav Exp $ +.\" $FreeBSD: src/bin/mv/mv.1,v 1.30 2007/11/01 09:49:45 ru Exp $ .\" -.Dd July 9, 2002 +.Dd May 12, 2007 .Dt MV 1 .Os .Sh NAME ==== //depot/projects/trustedbsd/base/etc/namedb/named.root#5 (text+ko) ==== @@ -1,5 +1,5 @@ ; -; $FreeBSD: src/etc/namedb/named.root,v 1.12 2004/06/06 11:46:29 schweikh Exp $ +; $FreeBSD: src/etc/namedb/named.root,v 1.13 2007/11/02 22:37:15 dougb Exp $ ; ; This file holds the information on root name servers needed to @@ -13,8 +13,8 @@ ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: Jan 29, 2004 -; related version of root zone: 2004012900 +; last update: Nov 01, 2007 +; related version of root zone: 2007110100 ; ; ; formerly NS.INTERNIC.NET @@ -75,7 +75,7 @@ ; operated by ICANN ; . 3600000 NS L.ROOT-SERVERS.NET. -L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 +L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42 ; ; operated by WIDE ; ==== //depot/projects/trustedbsd/base/include/_ctype.h#4 (text+ko) ==== @@ -40,7 +40,7 @@ * * From @(#)ctype.h 8.4 (Berkeley) 1/21/94 * From FreeBSD: src/include/ctype.h,v 1.27 2004/06/23 07:11:39 tjr Exp - * $FreeBSD: src/include/_ctype.h,v 1.33 2007/10/27 22:32:27 ache Exp $ + * $FreeBSD: src/include/_ctype.h,v 1.34 2007/11/01 03:18:02 ache Exp $ */ #ifndef __CTYPE_H_ @@ -126,7 +126,7 @@ static __inline int __isctype(__ct_rune_t _c, unsigned long _f) { - return (_c & ~0x7F) ? 0 : + return (_c < 0 || _c >= 128) ? 0 : !!(_DefaultRuneLocale.__runetype[_c] & _f); } ==== //depot/projects/trustedbsd/base/lib/libc/gen/valloc.3#6 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)valloc.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/gen/valloc.3,v 1.14 2007/03/28 18:55:44 jasone Exp $ +.\" $FreeBSD: src/lib/libc/gen/valloc.3,v 1.15 2007/10/30 15:26:20 keramida Exp $ .\" -.Dd September 13, 2005 +.Dd October 30, 2007 .Dt VALLOC 3 .Os .Sh NAME @@ -46,7 +46,6 @@ function is obsoleted by .Xr posix_memalign 3 , which can be used to request page-aligned allocations. -.Ef .Pp The .Fn valloc ==== //depot/projects/trustedbsd/base/lib/libc/net/ethers.3#7 (text+ko) ==== @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/net/ethers.3,v 1.24 2007/05/13 13:57:45 rwatson Exp $ +.\" $FreeBSD: src/lib/libc/net/ethers.3,v 1.25 2007/10/30 15:31:41 keramida Exp $ .\" -.Dd May 13, 2007 +.Dd October 30, 2007 .Dt ETHERS 3 .Os .Sh NAME @@ -166,7 +166,6 @@ .Fn ether_ntoa_r stores the result in a user-passed buffer. .Pp - Likewise, .Fn ether_aton and ==== //depot/projects/trustedbsd/base/lib/libc/sys/minherit.2#7 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/lib/libc/sys/minherit.2,v 1.22 2007/09/21 14:05:26 obrien Exp $ +.\" $FreeBSD: src/lib/libc/sys/minherit.2,v 1.24 2007/10/30 15:28:43 keramida Exp $ .\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)minherit.2 8.1 (Berkeley) 6/9/93 .\" -.Dd February 17, 1996 +.Dd October 30, 2007 .Dt MINHERIT 2 .Os .Sh NAME @@ -129,7 +129,7 @@ system call first appeared in .Ox and then in -.Fx 2.2.0 . +.Fx 2.2 . .Sh BUGS Once you set inheritance to .Dv MAP_PRIVATE ==== //depot/projects/trustedbsd/base/lib/libc/sys/sctp_generic_recvmsg.2#2 (text+ko) ==== @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/sctp_generic_recvmsg.2,v 1.2 2007/02/26 12:23:31 rrs Exp $ +.\" $FreeBSD: src/lib/libc/sys/sctp_generic_recvmsg.2,v 1.3 2007/10/30 15:36:40 keramida Exp $ .\" -.Dd December 15, 2006 +.Dd October 30, 2007 .Dt SCTP_GENERIC_RECVMSG 2 .Os .Sh NAME @@ -73,4 +73,3 @@ .Sh SEE ALSO .Xr sctp 4 , .Xr sctp_recvmsg 3 , - ==== //depot/projects/trustedbsd/base/lib/libc/sys/sctp_generic_sendmsg.2#2 (text+ko) ==== @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/sctp_generic_sendmsg.2,v 1.2 2007/02/26 12:23:31 rrs Exp $ +.\" $FreeBSD: src/lib/libc/sys/sctp_generic_sendmsg.2,v 1.3 2007/10/30 15:36:40 keramida Exp $ .\" -.Dd December 15, 2006 +.Dd October 30, 2007 .Dt SCTP_GENERIC_SENDMSG 2 .Os .Sh NAME @@ -48,7 +48,6 @@ .Fn sctp_generic_sendmsg "int s" "void *msg" "int msglen" "struct sockaddr *to" "socklen_t len" "struct sctp_sndrcvinfo *sinfo" "int flags" .Ft int .Fn sctp_generic_sendmsg_iov "int s" "struct iovec *iov" "int iovlen" "struct sockaddr *to" "struct sctp_sndrcvinfo *sinfo" "int flags" - .Sh DESCRIPTION The .Fn sctp_generic_sendmsg @@ -85,4 +84,3 @@ .Xr sctp_sendx 3 , .Xr sctp_sendmsg 3 , .Xr sctp_sendmsgx 3 , - ==== //depot/projects/trustedbsd/base/lib/libc/sys/sctp_peeloff.2#2 (text+ko) ==== @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/sctp_peeloff.2,v 1.2 2007/02/26 12:23:31 rrs Exp $ +.\" $FreeBSD: src/lib/libc/sys/sctp_peeloff.2,v 1.3 2007/10/30 15:36:40 keramida Exp $ .\" -.Dd December 15, 2006 +.Dd October 30, 2007 .Dt SCTP_PEELOFF 2 .Os .Sh NAME @@ -79,4 +79,3 @@ .El .Sh SEE ALSO .Xr sctp 4 , - ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_accept_sec_context.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_accept_sec_context.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_accept_sec_context.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_ACCEPT_SEC_CONTEXT 3 PRM .Sh NAME @@ -448,7 +448,6 @@ .It RFC 2744 Generic Security Service API Version 2 : C-bindings .El -.\" .Sh HISTORY .Sh HISTORY The .Nm ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_acquire_cred.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_acquire_cred.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_acquire_cred.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_ACQUIRE_CRED 3 PRM .Sh NAME @@ -201,7 +201,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_add_cred.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_add_cred.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_add_cred.3,v 1.3 2007/10/30 15:55:04 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_ADD_CRED 3 PRM .Sh NAME @@ -86,7 +86,7 @@ .Dv GSS_C_ACCEPT or .Dv GSS_C_BOTH ). -.PP +.Pp This routine is expected to be used primarily by context acceptors, since implementations are likely to provide mechanism-specific ways of obtaining GSS-API initiator credentials from the system login process. @@ -301,7 +301,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_add_oid_set_member.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_add_oid_set_member.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_add_oid_set_member.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_ADD_OID_SET_MEMBER 3 PRM .Sh NAME @@ -93,7 +93,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_canonicalize_name.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_canonicalize_name.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_canonicalize_name.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_CANONICALIZE_NAME 3 PRM .Sh NAME @@ -100,7 +100,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_compare_name.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_compare_name.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_compare_name.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_COMPARE_NAME PRM .Sh NAME @@ -85,7 +85,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_context_time.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_context_time.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_context_time.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_CONTEXT_TIME 3 PRM .Sh NAME @@ -71,7 +71,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_create_empty_oid_set.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_create_empty_oid_set.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_create_empty_oid_set.3,v 1.3 2007/10/30 15:56:12 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_CREATE_EMPTY_OID_SET 3 PRM .Sh NAME @@ -55,7 +55,6 @@ .It minor_status Mechanism specific status code. .It oid_set - The empty object identifier set. The routine will allocate the gss_OID_set_desc object, which the application must free after use with a call to @@ -75,7 +74,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_delete_sec_context.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_delete_sec_context.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_delete_sec_context.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_DELETE_SEC_CONTEXT 3 PRM .Sh NAME @@ -126,7 +126,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_display_name.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_display_name.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_display_name.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_DISPLAY_NAME 3 PRM .Sh NAME @@ -114,7 +114,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_display_status.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_display_status.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_display_status.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_DISPLAY_STATUS 3 PRM .Sh NAME @@ -173,7 +173,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_duplicate_name.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_duplicate_name.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_duplicate_name.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_DUPLICATE_NAME 3 PRM .Sh NAME @@ -86,7 +86,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_export_name.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_export_name.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_export_name.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_EXPORT_NAME 3 PRM .Sh NAME @@ -91,7 +91,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_export_sec_context.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_export_sec_context.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_export_sec_context.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_EXPORT_SEC_CONTEXT 3 PRM .Sh NAME @@ -131,7 +131,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_get_mic.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_get_mic.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_get_mic.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_GET_MIC 3 PRM .Sh NAME @@ -128,7 +128,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_import_name.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_import_name.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_import_name.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_IMPORT_NAME 3 PRM .Sh NAME @@ -102,7 +102,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_import_sec_context.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_import_sec_context.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_import_sec_context.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_IMPORT_SEC_CONTEXT 3 PRM .Sh NAME @@ -83,7 +83,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_indicate_mechs.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_indicate_mechs.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_indicate_mechs.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_INDICATE_MECHS 3 PRM .Sh NAME @@ -70,7 +70,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_init_sec_context.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_init_sec_context.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_init_sec_context.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_INIT_SEC_CONTEXT 3 PRM .Sh NAME @@ -535,7 +535,6 @@ .It RFC 2744 Generic Security Service API Version 2 : C-bindings .El -.\" .Sh HISTORY .Sh HISTORY The .Nm ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_inquire_context.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_inquire_context.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_inquire_context.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_INQUIRE_CONTEXT 3 PRM .Sh NAME @@ -247,7 +247,6 @@ Generic Security Service Application Program Interface Version 2, Update 1 .It RFC 2744 Generic Security Service API Version 2 : C-bindings -.\" .Sh HISTORY .El .Sh HISTORY The ==== //depot/projects/trustedbsd/base/lib/libgssapi/gss_inquire_cred.3#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Nov 4 15:42:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D96D116A468; Sun, 4 Nov 2007 15:42:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7916B16A417 for ; Sun, 4 Nov 2007 15:42:55 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 630B513C49D for ; Sun, 4 Nov 2007 15:42:55 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4FgtHn027876 for ; Sun, 4 Nov 2007 15:42:55 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4FgjuW027873 for perforce@freebsd.org; Sun, 4 Nov 2007 15:42:45 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 4 Nov 2007 15:42:45 GMT Message-Id: <200711041542.lA4FgjuW027873@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128620 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, 04 Nov 2007 15:42:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=128620 Change 128620 by rwatson@rwatson_zoo on 2007/11/04 15:42:43 Integrate TrustedBSD audit3 branch through TrustedBSD base branch @128618. Affected files ... .. //depot/projects/trustedbsd/audit3/Makefile.inc1#24 integrate .. //depot/projects/trustedbsd/audit3/ObsoleteFiles.inc#22 integrate .. //depot/projects/trustedbsd/audit3/bin/mv/mv.1#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/HISTORY#23 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.in#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/VERSION#21 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/aclocal.m4#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.in#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/audit/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditd/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/auditreduce.c#14 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/praudit/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/praudit/praudit.c#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.in#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.h#8 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.h.in#10 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/ltmain.sh#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/configure#21 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/configure.ac#22 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_class#8 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_event#24 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/Makefile.in#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_event.c#13 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_io.c#27 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/man/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/auditfilter_noop/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/test/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/test/bsm/Makefile.in#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/tools/Makefile.in#6 integrate .. //depot/projects/trustedbsd/audit3/etc/namedb/named.root#3 integrate .. //depot/projects/trustedbsd/audit3/include/_ctype.h#4 integrate .. //depot/projects/trustedbsd/audit3/include/pthread.h#5 integrate .. //depot/projects/trustedbsd/audit3/lib/libc/gen/valloc.3#4 integrate .. //depot/projects/trustedbsd/audit3/lib/libc/net/ethers.3#4 integrate .. //depot/projects/trustedbsd/audit3/lib/libc/sys/minherit.2#5 integrate .. //depot/projects/trustedbsd/audit3/lib/libc/sys/sctp_generic_recvmsg.2#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libc/sys/sctp_generic_sendmsg.2#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libc/sys/sctp_peeloff.2#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_accept_sec_context.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_acquire_cred.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_add_cred.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_add_oid_set_member.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_canonicalize_name.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_compare_name.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_context_time.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_create_empty_oid_set.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_delete_sec_context.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_display_name.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_display_status.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_duplicate_name.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_export_name.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_export_sec_context.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_get_mic.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_import_name.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_import_sec_context.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_indicate_mechs.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_init_sec_context.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_inquire_context.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_inquire_cred.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_inquire_cred_by_mech.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_inquire_mechs_for_name.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_inquire_names_for_mech.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_process_context_token.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_release_buffer.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_release_cred.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_release_name.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_release_oid_set.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_test_oid_set_member.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_unwrap.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_verify_mic.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_wrap.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_wrap_size_limit.3#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libkse/thread/thr_mutex.c#2 integrate .. //depot/projects/trustedbsd/audit3/lib/libthr/thread/thr_init.c#15 integrate .. //depot/projects/trustedbsd/audit3/lib/libthr/thread/thr_mutex.c#15 integrate .. //depot/projects/trustedbsd/audit3/lib/libthr/thread/thr_private.h#17 integrate .. //depot/projects/trustedbsd/audit3/libexec/Makefile#7 integrate .. //depot/projects/trustedbsd/audit3/rescue/rescue/Makefile#14 integrate .. //depot/projects/trustedbsd/audit3/sbin/geom/Makefile#2 integrate .. //depot/projects/trustedbsd/audit3/sbin/geom/class/part/geom_part.c#3 integrate .. //depot/projects/trustedbsd/audit3/sbin/geom/core/geom.c#11 integrate .. //depot/projects/trustedbsd/audit3/sbin/gpt/boot.c#2 integrate .. //depot/projects/trustedbsd/audit3/sbin/gpt/gpt.c#9 integrate .. //depot/projects/trustedbsd/audit3/sbin/ifconfig/ifbridge.c#7 integrate .. //depot/projects/trustedbsd/audit3/sbin/ifconfig/ifconfig.8#22 integrate .. //depot/projects/trustedbsd/audit3/sbin/ifconfig/ifieee80211.c#14 integrate .. //depot/projects/trustedbsd/audit3/sbin/route/route.8#5 integrate .. //depot/projects/trustedbsd/audit3/sbin/route/route.c#7 integrate .. //depot/projects/trustedbsd/audit3/share/man/man3/queue.3#7 integrate .. //depot/projects/trustedbsd/audit3/share/man/man4/mac.4#4 integrate .. //depot/projects/trustedbsd/audit3/share/man/man4/md.4#4 integrate .. //depot/projects/trustedbsd/audit3/share/man/man4/ng_car.4#2 integrate .. //depot/projects/trustedbsd/audit3/share/man/man4/ng_netflow.4#7 integrate .. //depot/projects/trustedbsd/audit3/share/man/man4/nxge.4#2 integrate .. //depot/projects/trustedbsd/audit3/share/man/man5/bluetooth.device.conf.5#3 integrate .. //depot/projects/trustedbsd/audit3/share/man/man5/quota.user.5#3 integrate .. //depot/projects/trustedbsd/audit3/share/man/man5/xfs.5#2 integrate .. //depot/projects/trustedbsd/audit3/share/man/man9/uio.9#5 integrate .. //depot/projects/trustedbsd/audit3/share/misc/bsd-family-tree#16 integrate .. //depot/projects/trustedbsd/audit3/share/misc/committers-ports.dot#8 integrate .. //depot/projects/trustedbsd/audit3/share/zoneinfo/asia#9 integrate .. //depot/projects/trustedbsd/audit3/share/zoneinfo/northamerica#10 integrate .. //depot/projects/trustedbsd/audit3/share/zoneinfo/pacificnew#1 branch .. //depot/projects/trustedbsd/audit3/sys/amd64/amd64/pmap.c#22 integrate .. //depot/projects/trustedbsd/audit3/sys/amd64/conf/DEFAULTS#7 integrate .. //depot/projects/trustedbsd/audit3/sys/amd64/conf/NOTES#14 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/arm/cpufunc.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/at91/ohci_atmelarm.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/include/cpuconf.h#7 integrate .. //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#41 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/opensolaris/kern/opensolaris_vfs.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/conf/options.arm#14 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/ipfilter/netinet/fil.c#11 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/ipfilter/netinet/ip_auth.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/ipfilter/netinet/ip_compat.h#8 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/ipfilter/netinet/ip_log.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/ipfilter/netinet/ip_nat.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/ipfilter/netinet/ip_state.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/aac/aac.c#10 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/aac/aac_cam.c#11 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/acpica/acpi_cpu.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/mii/gentbi.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/mii/rgephy.c#11 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/mpt/mpt.c#18 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/if_nxge.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/build-version.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/version.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xge-debug.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xge-defs.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xge-list.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xge-os-pal.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xge-os-template.h#2 delete .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xge-queue.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-channel.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-config.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-device.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-driver.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-event.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-fifo.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-mgmt.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-mgmtaux.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-mm.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-regs.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-ring.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-stats.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal-types.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/include/xgehal.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xge-osdep.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xge-queue.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-channel-fp.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-channel.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-config.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-device-fp.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-device.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-driver.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-fifo.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-mgmt.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-mm.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-ring-fp.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-ring.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgehal/xgehal-stats.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nxge/xgell-version.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/safe/safe.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/usb/if_zyd.c#3 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/usb/if_zydfw.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/usb/usbdevs#25 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/conf/DEFAULTS#7 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/conf/NOTES#18 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/conf/PAE#12 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/i386/pmap.c#23 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_cpu.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_fork.c#29 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_intr.c#16 integrate .. //depot/projects/trustedbsd/audit3/sys/modules/Makefile#25 integrate .. //depot/projects/trustedbsd/audit3/sys/modules/nxge/Makefile#2 integrate .. //depot/projects/trustedbsd/audit3/sys/net/if_bridge.c#19 integrate .. //depot/projects/trustedbsd/audit3/sys/net/if_bridgevar.h#9 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211.h#9 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_freebsd.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_freebsd.h#8 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_ht.h#3 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_input.c#16 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_ioctl.c#15 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_ioctl.h#10 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_node.c#12 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_node.h#10 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_output.c#17 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_proto.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_proto.h#10 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_scan_ap.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_scan_sta.c#3 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_var.h#13 integrate .. //depot/projects/trustedbsd/audit3/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#11 integrate .. //depot/projects/trustedbsd/audit3/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#11 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctp_constants.h#11 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctp_output.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctp_pcb.c#14 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctp_pcb.h#11 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctp_usrreq.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctputil.c#14 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctputil.h#13 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_ali.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_amd.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_amd64.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_ati.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_i810.c#12 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_intel.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_nvidia.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_sis.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agp_via.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/pci/agppriv.h#4 integrate .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#52 integrate .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_klib.c#16 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_biba/mac_biba.c#16 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_bsdextended/mac_bsdextended.c#17 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_ifoff/mac_ifoff.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_lomac/mac_lomac.c#16 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_mls/mac_mls.c#14 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_partition/mac_partition.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_seeotheruids/mac_seeotheruids.c#11 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_stub/mac_stub.c#14 integrate .. //depot/projects/trustedbsd/audit3/sys/security/mac_test/mac_test.c#16 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/phys_pager.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/swap_pager.c#19 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/net80211/wlanstats/main.c#2 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/net80211/wlanstats/statfoo.c#2 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/net80211/wlanstats/wlanstats.c#4 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/nxge/Makefile#2 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/nxge/xge_cmn.h#2 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/nxge/xge_info.c#2 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/nxge/xge_info.h#2 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/nxge/xge_log.c#2 integrate .. //depot/projects/trustedbsd/audit3/tools/tools/nxge/xge_log.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/calendar/calendars/calendar.freebsd#22 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/calendar/io.c#4 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/file2c/file2c.1#5 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/file2c/file2c.c#4 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/lockf/lockf.1#7 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/make/make.1#10 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/msgs/msgs.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/tail/read.c#4 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/tail/reverse.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/tail/tail.c#5 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/xstr/xstr.1#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/faithd/faithd.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/faithd/tcp.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/fwcontrol/fwcontrol.8#7 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/ifmcstat/ifmcstat.8#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/mtree/mtree.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pciconf/cap.c#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pciconf/pciconf.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/Makefile#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/lib/match.c#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/updating/Makefile#1 branch .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/updating/main.c#1 branch .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/updating/pathnames.h#1 branch .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/updating/pkg_updating.1#1 branch .. //depot/projects/trustedbsd/audit3/usr.sbin/rpc.lockd/lockd.c#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpc.lockd/rpc.lockd.8#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpc.statd/rpc.statd.8#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpc.statd/statd.c#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/sysinstall/config.c#10 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/sysinstall/dmenu.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/tcpdrop/tcpdrop.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/audit3/Makefile.inc1#24 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.589 2007/10/15 13:50:46 emaste Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.590 2007/10/31 09:26:42 yar Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -159,7 +159,14 @@ STRICTTMPPATH= ${BPATH}:${XPATH} TMPPATH= ${STRICTTMPPATH}:${PATH} +# +# Avoid running mktemp(1) unless actually needed. +# It may not be functional, e.g., due to new ABI +# when in the middle of installing over this system. +# +.if make(distributeworld) || make(installworld) INSTALLTMP!= /usr/bin/mktemp -d -u -t install +.endif # # Building a world goes through the following stages @@ -265,14 +272,16 @@ .endif # install stage +IMAKEENV= ${CROSSENV} +IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 .if empty(.MAKEFLAGS:M-n) -IMAKEENV= ${CROSSENV} \ - PATH=${STRICTTMPPATH}:${INSTALLTMP} +IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ + LD_LIBRARY_PATH=${INSTALLTMP} \ + PATH_LOCALE=${INSTALLTMP}/locale +IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh .else -IMAKEENV= ${CROSSENV} \ - PATH=${TMPPATH}:${INSTALLTMP} +IMAKEENV+= PATH=${TMPPATH}:${INSTALLTMP} .endif -IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 # kernel stage KMAKEENV= ${WMAKEENV} @@ -564,6 +573,14 @@ .endfor # +# Required install tools to be saved in a scratch dir for safety. +# +ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ + date echo egrep find grep install-info \ + ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ + test true uname wc zic + +# # distributeworld # # Distributes everything compiled by a `buildworld'. @@ -574,19 +591,20 @@ # distributeworld installworld: installcheck mkdir -p ${INSTALLTMP} - for prog in [ awk cap_mkdb cat chflags chmod chown \ - date echo egrep find grep install-info \ - ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ - test true uname wc zic; do \ + for prog in ${ITOOLS}; do \ if progpath=`which $$prog`; then \ - cp $$progpath ${INSTALLTMP}; \ + progs="$$progs $$progpath"; \ else \ - echo "Required install tool $$prog not found" >&2; \ + echo "Required tool $$prog not found in PATH." >&2; \ exit 1; \ fi; \ - done - ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//} - rm -rf ${INSTALLTMP} + done; \ + cp $$progs ${INSTALLTMP}; \ + cp `ldd -f "%p\n" -f "%p\n" $$progs 2>/dev/null | \ + sort -u` ${INSTALLTMP} + cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale + ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \ + ${IMAKEENV} rm -rf ${INSTALLTMP} # # reinstall ==== //depot/projects/trustedbsd/audit3/ObsoleteFiles.inc#22 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.115 2007/10/25 18:10:05 mtm Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.116 2007/10/30 11:37:37 bushman Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -17,6 +17,7 @@ # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd +OLD_FILES+=etc/cached.conf OLD_FILES+=etc/rc.d/cached OLD_FILES+=usr/sbin/cached OLD_FILES+=usr/share/man/man5/cached.conf.5.gz ==== //depot/projects/trustedbsd/audit3/bin/mv/mv.1#4 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)mv.1 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/bin/mv/mv.1,v 1.29 2007/05/12 22:18:27 pav Exp $ +.\" $FreeBSD: src/bin/mv/mv.1,v 1.30 2007/11/01 09:49:45 ru Exp $ .\" -.Dd July 9, 2002 +.Dd May 12, 2007 .Dt MV 1 .Os .Sh NAME ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/HISTORY#23 (text+ko) ==== @@ -302,4 +302,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/HISTORY#22 $ +$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/HISTORY#23 $ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.in#6 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/VERSION#21 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/aclocal.m4#4 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.in#6 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/audit/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/audit/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/audit/Makefile.in#4 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditd/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditd/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditd/Makefile.in#4 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/Makefile.in#4 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/Makefile.in#4 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/auditreduce.c#14 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/auditreduce.c#13 $ + * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/auditreduce.c#14 $ */ /* ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/praudit/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/praudit/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/praudit/Makefile.in#4 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/praudit/praudit.c#9 (text+ko) ==== @@ -27,7 +27,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/praudit/praudit.c#8 $ + * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/praudit/praudit.c#9 $ */ /* ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.in#6 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.h#8 (text+ko) ==== @@ -1,6 +1,6 @@ -/* config/config.h. Generated by configure. */ +/* config/config.h. Generated from config.h.in by configure. */ /* config/config.h.in. Generated from configure.ac by autoheader. */ -/* $FreeBSD: src/contrib/openbsm/config/config.h,v 1.6 2007/07/22 12:22:25 rwatson Exp $ */ +/* $FreeBSD: src/contrib/openbsm/config/config.h,v 1.7 2007/10/29 18:45:40 rwatson Exp $ */ /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -150,13 +150,13 @@ #define PACKAGE_NAME "OpenBSM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "OpenBSM 1.0alpha15" +#define PACKAGE_STRING "OpenBSM 1.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "openbsm" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.0alpha15" +#define PACKAGE_VERSION "1.0" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -171,7 +171,7 @@ /* #undef TM_IN_SYS_TIME */ /* Version number of package */ -#define VERSION "1.0alpha15" +#define VERSION "1.0" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ @@ -185,7 +185,7 @@ /* Define to `int' if does not define. */ /* #undef pid_t */ -/* Define to `unsigned' if does not define. */ +/* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if doesn't define. */ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.h.in#10 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/ltmain.sh#7 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/configure#21 (xtext) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/configure.ac#22 (text+ko) ==== @@ -3,7 +3,7 @@ AC_PREREQ(2.59) AC_INIT([OpenBSM], [1.0], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) -AC_REVISION([$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/configure.ac#21 $]) +AC_REVISION([$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/configure.ac#22 $]) AC_CONFIG_SRCDIR([bin/auditreduce/auditreduce.c]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_HEADER([config/config.h]) ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_class#8 (text+ko) ==== @@ -1,6 +1,6 @@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_class#7 $ -# $FreeBSD: src/contrib/openbsm/etc/audit_class,v 1.2 2006/03/26 01:44:35 rwatson Exp $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_class#8 $ +# $FreeBSD: src/contrib/openbsm/etc/audit_class,v 1.3 2007/10/29 18:43:05 rwatson Exp $ # 0x00000000:no:invalid class 0x00000001:fr:file read ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_event#24 (text+ko) ==== @@ -1,6 +1,6 @@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_event#23 $ -# $FreeBSD: src/contrib/openbsm/etc/audit_event,v 1.8 2007/07/22 12:20:42 rwatson Exp $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_event#24 $ +# $FreeBSD: src/contrib/openbsm/etc/audit_event,v 1.9 2007/10/29 18:43:05 rwatson Exp $ # # The mapping between event identifiers and values is also hard-codedd in # audit_kevents.h and audit_uevents.h, so changes must occur in both places, ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/Makefile.in#6 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_event.c#13 (text+ko) ==== @@ -27,7 +27,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_event.c#12 $ + * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_event.c#13 $ */ #include ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_io.c#27 (text+ko) ==== @@ -32,7 +32,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_io.c#26 $ + * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_io.c#27 $ */ #include ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/man/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/man/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/man/Makefile.in#4 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/Makefile.in#4 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/auditfilter_noop/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/auditfilter_noop/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/auditfilter_noop/Makefile.in#4 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/test/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/test/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/test/Makefile.in#4 $ # VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/test/bsm/Makefile.in#4 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/test/bsm/Makefile.in#3 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/test/bsm/Makefile.in#4 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/tools/Makefile.in#6 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/tools/Makefile.in#5 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/tools/Makefile.in#6 $ # VPATH = @srcdir@ ==== //depot/projects/trustedbsd/audit3/etc/namedb/named.root#3 (text+ko) ==== @@ -1,5 +1,5 @@ ; -; $FreeBSD: src/etc/namedb/named.root,v 1.12 2004/06/06 11:46:29 schweikh Exp $ +; $FreeBSD: src/etc/namedb/named.root,v 1.13 2007/11/02 22:37:15 dougb Exp $ ; ; This file holds the information on root name servers needed to @@ -13,8 +13,8 @@ ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: Jan 29, 2004 -; related version of root zone: 2004012900 +; last update: Nov 01, 2007 +; related version of root zone: 2007110100 ; ; ; formerly NS.INTERNIC.NET @@ -75,7 +75,7 @@ ; operated by ICANN ; . 3600000 NS L.ROOT-SERVERS.NET. -L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 +L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42 ; ; operated by WIDE ; ==== //depot/projects/trustedbsd/audit3/include/_ctype.h#4 (text+ko) ==== @@ -40,7 +40,7 @@ * * From @(#)ctype.h 8.4 (Berkeley) 1/21/94 * From FreeBSD: src/include/ctype.h,v 1.27 2004/06/23 07:11:39 tjr Exp - * $FreeBSD: src/include/_ctype.h,v 1.33 2007/10/27 22:32:27 ache Exp $ + * $FreeBSD: src/include/_ctype.h,v 1.34 2007/11/01 03:18:02 ache Exp $ */ #ifndef __CTYPE_H_ @@ -126,7 +126,7 @@ static __inline int __isctype(__ct_rune_t _c, unsigned long _f) { - return (_c & ~0x7F) ? 0 : + return (_c < 0 || _c >= 128) ? 0 : !!(_DefaultRuneLocale.__runetype[_c] & _f); } ==== //depot/projects/trustedbsd/audit3/include/pthread.h#5 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/pthread.h,v 1.40 2005/10/24 05:53:54 davidxu Exp $ + * $FreeBSD: src/include/pthread.h,v 1.41 2007/10/29 21:01:47 kris Exp $ */ #ifndef _PTHREAD_H_ #define _PTHREAD_H_ @@ -98,6 +98,7 @@ * Static initialization values. */ #define PTHREAD_MUTEX_INITIALIZER NULL +#define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP NULL #define PTHREAD_COND_INITIALIZER NULL #define PTHREAD_RWLOCK_INITIALIZER NULL @@ -128,6 +129,7 @@ PTHREAD_MUTEX_ERRORCHECK = 1, /* Default POSIX mutex */ PTHREAD_MUTEX_RECURSIVE = 2, /* Recursive mutex */ PTHREAD_MUTEX_NORMAL = 3, /* No error checking */ + PTHREAD_MUTEX_ADAPTIVE_NP = 4, /* Adaptive mutex, spins briefly before blocking on lock */ PTHREAD_MUTEX_TYPE_MAX }; ==== //depot/projects/trustedbsd/audit3/lib/libc/gen/valloc.3#4 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)valloc.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/gen/valloc.3,v 1.14 2007/03/28 18:55:44 jasone Exp $ +.\" $FreeBSD: src/lib/libc/gen/valloc.3,v 1.15 2007/10/30 15:26:20 keramida Exp $ .\" -.Dd September 13, 2005 +.Dd October 30, 2007 .Dt VALLOC 3 .Os .Sh NAME @@ -46,7 +46,6 @@ function is obsoleted by .Xr posix_memalign 3 , which can be used to request page-aligned allocations. -.Ef .Pp The .Fn valloc ==== //depot/projects/trustedbsd/audit3/lib/libc/net/ethers.3#4 (text+ko) ==== @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/net/ethers.3,v 1.24 2007/05/13 13:57:45 rwatson Exp $ +.\" $FreeBSD: src/lib/libc/net/ethers.3,v 1.25 2007/10/30 15:31:41 keramida Exp $ .\" -.Dd May 13, 2007 +.Dd October 30, 2007 .Dt ETHERS 3 .Os .Sh NAME @@ -166,7 +166,6 @@ .Fn ether_ntoa_r stores the result in a user-passed buffer. .Pp - Likewise, .Fn ether_aton and ==== //depot/projects/trustedbsd/audit3/lib/libc/sys/minherit.2#5 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/lib/libc/sys/minherit.2,v 1.22 2007/09/21 14:05:26 obrien Exp $ +.\" $FreeBSD: src/lib/libc/sys/minherit.2,v 1.24 2007/10/30 15:28:43 keramida Exp $ .\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)minherit.2 8.1 (Berkeley) 6/9/93 .\" -.Dd February 17, 1996 +.Dd October 30, 2007 .Dt MINHERIT 2 .Os .Sh NAME @@ -129,7 +129,7 @@ system call first appeared in .Ox and then in -.Fx 2.2.0 . +.Fx 2.2 . .Sh BUGS Once you set inheritance to .Dv MAP_PRIVATE ==== //depot/projects/trustedbsd/audit3/lib/libc/sys/sctp_generic_recvmsg.2#2 (text+ko) ==== @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/sctp_generic_recvmsg.2,v 1.2 2007/02/26 12:23:31 rrs Exp $ +.\" $FreeBSD: src/lib/libc/sys/sctp_generic_recvmsg.2,v 1.3 2007/10/30 15:36:40 keramida Exp $ .\" -.Dd December 15, 2006 +.Dd October 30, 2007 .Dt SCTP_GENERIC_RECVMSG 2 .Os .Sh NAME @@ -73,4 +73,3 @@ .Sh SEE ALSO .Xr sctp 4 , .Xr sctp_recvmsg 3 , - ==== //depot/projects/trustedbsd/audit3/lib/libc/sys/sctp_generic_sendmsg.2#2 (text+ko) ==== @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/sctp_generic_sendmsg.2,v 1.2 2007/02/26 12:23:31 rrs Exp $ +.\" $FreeBSD: src/lib/libc/sys/sctp_generic_sendmsg.2,v 1.3 2007/10/30 15:36:40 keramida Exp $ .\" -.Dd December 15, 2006 +.Dd October 30, 2007 .Dt SCTP_GENERIC_SENDMSG 2 .Os .Sh NAME @@ -48,7 +48,6 @@ .Fn sctp_generic_sendmsg "int s" "void *msg" "int msglen" "struct sockaddr *to" "socklen_t len" "struct sctp_sndrcvinfo *sinfo" "int flags" .Ft int .Fn sctp_generic_sendmsg_iov "int s" "struct iovec *iov" "int iovlen" "struct sockaddr *to" "struct sctp_sndrcvinfo *sinfo" "int flags" - .Sh DESCRIPTION The .Fn sctp_generic_sendmsg @@ -85,4 +84,3 @@ .Xr sctp_sendx 3 , .Xr sctp_sendmsg 3 , .Xr sctp_sendmsgx 3 , - ==== //depot/projects/trustedbsd/audit3/lib/libc/sys/sctp_peeloff.2#2 (text+ko) ==== @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/sctp_peeloff.2,v 1.2 2007/02/26 12:23:31 rrs Exp $ +.\" $FreeBSD: src/lib/libc/sys/sctp_peeloff.2,v 1.3 2007/10/30 15:36:40 keramida Exp $ .\" -.Dd December 15, 2006 +.Dd October 30, 2007 .Dt SCTP_PEELOFF 2 .Os .Sh NAME @@ -79,4 +79,3 @@ .El .Sh SEE ALSO .Xr sctp 4 , - ==== //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_accept_sec_context.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_accept_sec_context.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_accept_sec_context.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 .Os .Dt GSS_ACCEPT_SEC_CONTEXT 3 PRM .Sh NAME @@ -448,7 +448,6 @@ .It RFC 2744 Generic Security Service API Version 2 : C-bindings .El -.\" .Sh HISTORY .Sh HISTORY The .Nm ==== //depot/projects/trustedbsd/audit3/lib/libgssapi/gss_acquire_cred.3#2 (text+ko) ==== @@ -24,10 +24,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libgssapi/gss_acquire_cred.3,v 1.2 2006/01/25 10:06:28 dfr Exp $ +.\" $FreeBSD: src/lib/libgssapi/gss_acquire_cred.3,v 1.3 2007/10/30 15:52:55 keramida Exp $ .\" .\" The following commands are required for all man pages. -.Dd November 12, 2005 +.Dd October 30, 2007 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Nov 4 16:08:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29BC516A419; Sun, 4 Nov 2007 16:08:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D6E7616A418 for ; Sun, 4 Nov 2007 16:08:22 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C4BBF13C48E for ; Sun, 4 Nov 2007 16:08:22 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4G8MBc030365 for ; Sun, 4 Nov 2007 16:08:22 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4G8MmP030362 for perforce@freebsd.org; Sun, 4 Nov 2007 16:08:22 GMT (envelope-from piso@freebsd.org) Date: Sun, 4 Nov 2007 16:08:22 GMT Message-Id: <200711041608.lA4G8MmP030362@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 128623 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, 04 Nov 2007 16:08:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=128623 Change 128623 by piso@piso_newluxor on 2007/11/04 16:07:28 Expand a macro used only in one place. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#27 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#27 (text+ko) ==== @@ -191,11 +191,9 @@ #ifdef _KERNEL typedef struct mbuf ** pkt_t; -#define MYMTOD(p, foo) (p != NULL) ? mtod(p, foo) : NULL - #define PULLUP_SIZE(pip, ptr, s) do { \ *ptr = m_pullup((*ptr), s); \ - (pip) = MYMTOD(*ptr, struct ip *); \ + (pip) = (*ptr != NULL) ? mtod(*ptr, struct ip *) : NULL; \ } while (0) #define PULLUP_IPHDR(pip, ptr) do { \ From owner-p4-projects@FreeBSD.ORG Sun Nov 4 22:08:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 021CA16A41A; Sun, 4 Nov 2007 22:08:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4DAA016A417 for ; Sun, 4 Nov 2007 22:08:27 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3FB7B13C4A3 for ; Sun, 4 Nov 2007 22:08:27 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4M8QBP082041 for ; Sun, 4 Nov 2007 22:08:26 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4M8Qcu082038 for perforce@freebsd.org; Sun, 4 Nov 2007 22:08:26 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 4 Nov 2007 22:08:26 GMT Message-Id: <200711042208.lA4M8Qcu082038@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 128634 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, 04 Nov 2007 22:08:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=128634 Change 128634 by gonzo@gonzo_jeeves on 2007/11/04 22:07:25 o Add 16 bytes to default stackframe of GenericException, Intr, UserGenericException, UserIntr. These functions are non-leaves, so sizeof(register) * MAX(max_args, 4) bytes should be reserved as a placeholders for arguments. max_args is the maximum number of arguments through all functions that are called from non-leaf routine. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/exception.S#26 edit .. //depot/projects/mips2/src/sys/mips/mips/locore.S#19 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/exception.S#26 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#25 $ + * $P4: //depot/projects/mips2/src/sys/mips/mips/exception.S#26 $ */ /* $NetBSD: mipsX_subr.S,v 1.19 2005/12/11 12:18:09 christos Exp $ */ @@ -283,14 +283,15 @@ /* fall through to GenericEception */ .set at -LEAF(GenericException) +NESTED(GenericException, TF_SIZE + 16, ra) .set noat + .set noreorder la k0, 1f j exception_save_registers subu k1, sp, TF_SIZE 1: - subu sp, sp, TF_SIZE + subu sp, sp, TF_SIZE + 16 /* * A generic exception may result in DDB being invoked. If we @@ -303,7 +304,6 @@ #endif /* DDB */ /* - * Call trap() with arguments: * trapframe, cause, badvaddr. * @@ -325,7 +325,7 @@ */ mtc0 zero, MIPS_COP_0_CAUSE - move k1, sp + addu k1, sp, 16 jal exception_restore_registers nop @@ -343,12 +343,13 @@ LEAF(KernIntr) .set noat + .set noreorder la k0, 1f j exception_save_registers subu k1, sp, TF_SIZE 1: - subu sp, sp, TF_SIZE + subu sp, sp, TF_SIZE + 16 /* * A generic exception may result in DDB being invoked. If we @@ -379,7 +380,7 @@ */ mtc0 zero, MIPS_COP_0_CAUSE - move k1, sp + addu k1, sp, 16 jal exception_restore_registers nop @@ -654,7 +655,7 @@ /* * Handle trap from userspace (VM-related, syscall, etc..) */ -NESTED(UserGenericException, TF_SIZE, ra) +NESTED(UserGenericException, 16, ra) .set noat .set noreorder .mask 0x80000000, -4 @@ -666,7 +667,9 @@ nop 1: move a0, k1 # For following trap call - addu sp, k1, -TF_SIZE # Switch to kernel's stack + subu sp, k1, 16 # Switch to kernel's stack, + # keep 16 bytes as + # placefholders for a0..a3 ### ### Fill out trap arcguments and call it @@ -702,7 +705,7 @@ ### ### Restore regiters and bail out ### - addu sp, sp, TF_SIZE ## Restore pointer to saved + addu sp, sp, 16 ## Restore pointer to saved ## registers move k1, sp jal exception_restore_registers @@ -717,7 +720,7 @@ /* * Handle interrupt from userspace */ -NESTED(UserIntr, TF_SIZE, ra) +NESTED(UserIntr, 16, ra) .set noat .set noreorder .mask 0x80000000, -4 @@ -729,7 +732,9 @@ nop 1: move a0, k1 # For following trap call - addu sp, k1, -TF_SIZE # Switch to kernel's stack + subu sp, k1, 16 # Switch to kernel's stack, + # keep 16 bytes as + # placefholders for a0..a3 mfc0 t0, MIPS_COP_0_STATUS .set at ==== //depot/projects/mips2/src/sys/mips/mips/locore.S#19 (text+ko) ==== @@ -50,9 +50,8 @@ GLOBAL(stackspace) .space PAGE_SIZE /* Smaller than it should be since it's temp. */ -.align 8 + .align 8 GLOBAL(topstack) - .set noreorder .text @@ -110,6 +109,7 @@ * Set up our temporary stack. */ la sp, topstack + subu sp, sp, 16 /* Placeholders for a0..a3 */ #ifdef YAMON /* @@ -149,9 +149,7 @@ li v0, SYS_sigreturn syscall break 0 +esigcode: -esigcode: - .data - .global szsigcode -szsigcode: - .long esigcode-sigcode +GLOBAL(szsigcode) + .long esigcode - sigcode From owner-p4-projects@FreeBSD.ORG Sun Nov 4 22:28:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A727116A468; Sun, 4 Nov 2007 22:28:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 584AC16A417 for ; Sun, 4 Nov 2007 22:28:50 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 49ED713C480 for ; Sun, 4 Nov 2007 22:28:50 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4MSoIV083090 for ; Sun, 4 Nov 2007 22:28:50 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4MSnj1083086 for perforce@freebsd.org; Sun, 4 Nov 2007 22:28:49 GMT (envelope-from jb@freebsd.org) Date: Sun, 4 Nov 2007 22:28:49 GMT Message-Id: <200711042228.lA4MSnj1083086@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 128638 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, 04 Nov 2007 22:28:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=128638 Change 128638 by jb@jb_freebsd1 on 2007/11/04 22:28:32 IFC Affected files ... .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/Makefile#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/virtualization/chapter.sgml#2 integrate .. //depot/projects/dtrace/ports/MOVED#51 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildenv#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dologs#4 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/dopackages#5 integrate .. //depot/projects/dtrace/ports/Tools/portbuild/scripts/reportload#4 integrate .. //depot/projects/dtrace/src/etc/namedb/named.root#4 integrate .. //depot/projects/dtrace/src/rescue/rescue/Makefile#9 integrate .. //depot/projects/dtrace/src/sbin/geom/Makefile#4 integrate .. //depot/projects/dtrace/src/sbin/geom/class/part/geom_part.c#3 integrate .. //depot/projects/dtrace/src/sbin/geom/core/geom.c#6 integrate .. //depot/projects/dtrace/src/sbin/ifconfig/ifbridge.c#9 integrate .. //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.8#15 integrate .. //depot/projects/dtrace/src/sbin/route/route.c#5 integrate .. //depot/projects/dtrace/src/share/zoneinfo/asia#8 integrate .. //depot/projects/dtrace/src/share/zoneinfo/northamerica#7 integrate .. //depot/projects/dtrace/src/share/zoneinfo/pacificnew#1 branch .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#21 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/if_npe.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt.c#20 integrate .. //depot/projects/dtrace/src/sys/dev/safe/safe.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pci/atiixp.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pci/atiixp.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_zyd.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_zydfw.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#17 integrate .. //depot/projects/dtrace/src/sys/i386/conf/PAE#8 integrate .. //depot/projects/dtrace/src/sys/i386/i386/pmap.c#17 integrate .. //depot/projects/dtrace/src/sys/net/if_bridge.c#25 integrate .. //depot/projects/dtrace/src/sys/net/if_bridgevar.h#12 integrate .. //depot/projects/dtrace/src/sys/nfsserver/nfs.h#7 integrate .. //depot/projects/dtrace/src/sys/nfsserver/nfs_srvsubs.c#8 integrate .. //depot/projects/dtrace/src/tools/tools/net80211/wlanstats/main.c#3 integrate .. //depot/projects/dtrace/src/tools/tools/net80211/wlanstats/statfoo.c#3 integrate .. //depot/projects/dtrace/src/tools/tools/net80211/wlanstats/wlanstats.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/sdpcontrol/search.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/faithd/faithd.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/faithd/tcp.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/Makefile#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/updating/Makefile#1 branch .. //depot/projects/dtrace/src/usr.sbin/pkg_install/updating/main.c#1 branch .. //depot/projects/dtrace/src/usr.sbin/pkg_install/updating/pathnames.h#1 branch .. //depot/projects/dtrace/src/usr.sbin/pkg_install/updating/pkg_updating.1#1 branch .. //depot/projects/dtrace/www/en/gnome/docs/gnome2_porting.sgml#7 integrate .. //depot/projects/dtrace/www/en/gnome/news.xml#18 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#26 integrate .. //depot/projects/dtrace/www/share/sgml/release.ent#12 integrate Differences ... ==== //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/Makefile#5 (text+ko) ==== @@ -1,8 +1,8 @@ # The FreeBSD Documentation Project # The FreeBSD French Documentation Project # -# $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/Makefile,v 1.32 2007/07/15 12:05:58 blackend Exp $ -# Original revision: 1.106 manque 1.91 +# $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/Makefile,v 1.33 2007/11/04 18:57:25 blackend Exp $ +# Original revision: 1.108 manque 1.91 # # Build the FreeBSD Handbook. # @@ -49,6 +49,7 @@ IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr +IMAGES_EN+= install/boot-loader-menu.scr IMAGES_EN+= install/boot-mgr.scr IMAGES_EN+= install/config-country.scr IMAGES_EN+= install/console-saver1.scr @@ -145,6 +146,19 @@ IMAGES_EN+= virtualization/parallels-freebsd11.png IMAGES_EN+= virtualization/parallels-freebsd12.png IMAGES_EN+= virtualization/parallels-freebsd13.png +IMAGES_EN+= virtualization/virtualpc-freebsd1.png +IMAGES_EN+= virtualization/virtualpc-freebsd2.png +IMAGES_EN+= virtualization/virtualpc-freebsd3.png +IMAGES_EN+= virtualization/virtualpc-freebsd4.png +IMAGES_EN+= virtualization/virtualpc-freebsd5.png +IMAGES_EN+= virtualization/virtualpc-freebsd6.png +IMAGES_EN+= virtualization/virtualpc-freebsd7.png +IMAGES_EN+= virtualization/virtualpc-freebsd8.png +IMAGES_EN+= virtualization/virtualpc-freebsd9.png +IMAGES_EN+= virtualization/virtualpc-freebsd10.png +IMAGES_EN+= virtualization/virtualpc-freebsd11.png +IMAGES_EN+= virtualization/virtualpc-freebsd12.png +IMAGES_EN+= virtualization/virtualpc-freebsd13.png # Images from the cross-document image library IMAGES_LIB= callouts/1.png ==== //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/virtualization/chapter.sgml#2 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD French Documentation Project - $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/virtualization/chapter.sgml,v 1.2 2007/04/30 18:15:45 blackend Exp $ - Original revision: 1.10 + $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/virtualization/chapter.sgml,v 1.3 2007/11/04 19:01:46 blackend Exp $ + Original revision: 1.13 --> @@ -43,13 +43,18 @@ + Comment installer &os; sur un ordinateur &apple; + &macintosh; à base &intel;. + + + Comment installer &os; sur &linux; avec &xen;. - Comment installer &os; sur un ordinateur &apple; - &macintosh; à base &intel;. + Comment installer &os; sur µsoft.windows; avec + Virtual PC. @@ -240,10 +245,10 @@ Après avoir installé avec succès &os; sur &macos; X avec - Parallels, il y a un certain - nombre d'opérations de configuration à - effectuer pour optimiser le système pour une - utilisation en tant que système virtuel. + Parallels, + il reste plusieurs points à + configurer pour optimiser le système + virtuel. @@ -612,6 +617,231 @@ + + Virtual PC sur &windows; + + Virtual PC pour &windows; est + un logiciel µsoft; librement + téléchargeable. Consultez la page concernant la + configuration + minimale requise. Une fois Virtual + PC installé sous µsoft.windows;, + l'utilisateur doit configurer une machine virtuelle puis + installer le système d'exploitation invité + désiré. + + + Installer &os; sous Virtual + PC/µsoft.windows; + + La première étape de l'installation de + &os; sous µsoft.windows;/Virtual + PC est la création d'une nouvelle + machine virtuelle pour permettre l'installation de &os;. + Sélectionnez Create a virtual + machine: + + + + + + + + + + + + + + Puis sélectionnez + Other pour + Operating system: + + + + + + + + Choisissez ensuite une quantité raisonnable + d'espace disque et de mémoire en fonction de vos + projets pour cette installation de &os;. 4Go d'espace de + disque et 512Mo de mémoire vive conviennent pour la + plupart des utilisateurs de &os; sous Virtual + PC: + + + + + + + + + + + + + + Sauvegardez et poursuivez la configuration: + + + + + + + + Sélectionnez votre machine virtuelle &os;, + cliquez sur Settings, puis + précisez le type de réseau et l'interface + réseau: + + + + + + + + + + + + + + Une fois votre machine virtuelle &os; + créée, vous devrez y installer &os;. La + meilleure manière étant d'utiliser un CDROM + &os; officiel ou une image ISO + téléchargée depuis un site FTP + officiel. Quand vous avez l'image ISO appropriée + sur votre système de fichiers &windows; ou sur un + CDROM dans votre lecteur de CD, double-cliquez sur votre + machine virtuelle &os; pour démarrer. Puis cliquez + sur CD et sélectionnez + Capture ISO Image... dans la + fenêtre Virtual PC. Une + fenêtre apparaîtra et vous permettra + d'associer le lecteur de CDROM de votre machine virtuelle + avec une image ISO ou votre lecteur de CDROM + réel. + + + + + + + + + + + + + + L'association avec votre CDROM source + effectuée, redémarrez votre machine + virtuelle &os; en cliquant sur Action + puis sur Reset. Virtual + PC redémarrera, son BIOS + vérifiera tout d'abord que vous disposez d'un CDROM + comme le ferait n'importe quel BIOS normal. + + + + + + + + Dans ce cas, le support d'installation &os; sera + trouvé et une installation classique basée + sur sysinstall débutera + comme décrit dans le . + Vous pouvez installez X11 mais ne tentez pas pour le + moment de le configurer. + + + + + + + + Quand vous avez achevé l'installation, pensez + à éjecter le CDROM ou l'image ISO. Enfin, + redémarrez dans votre machine virtuelle &os; + fraîchement installée. + + + + + + + + + + Configuration de &os; sous + µsoft.windows;/Virtual PC + + Après avoir installé avec succès + &os; sur µsoft.windows; avec Virtual + PC, il reste plusieurs points à + configurer pour optimiser le système + virtuel. + + + + Paramétrer les variables du + chargeur + + L'étape la plus importante est la + diminution du paramètre + afin de réduire + l'utilisation du CPU de &os; sous l'environnement + Virtual PC. Pour cela, il + faut ajouter la ligne suivante au fichier + /boot/loader.conf: + + kern.hz=100 + + Sans ce paramétrage, un système + d'exploitation invité &os; inactif sous + Virtual PC + utilisera environ 40% du CPU pour un + micro-ordinateur monoprocesseur. Après ce + changement l'utilisation du processeur sera plus + proche d'un petit 3%. + + + + Créer un nouveau fichier de configuration + du noyau + + Vous pouvez retirer tous les pilotes de + périphériques SCSI, FireWire, et USB. + Virtual PC fournit une + interface réseau virtuelle utilisant + le pilote &man.de.4;, aussi tous les autres pilotes + réseau en dehors de &man.de.4; et + &man.miibus.4; peuvent être supprimés du + noyau. + + + + Configuration du réseau + + La configuration réseau la plus simple + utilise DHCP pour connecter votre machine virtuelle + sur le même réseau local que votre + machine &mac; hôte. Cette configuration se fait + en ajoutant la ligne + ifconfig_de0="DHCP" au fichier + /etc/rc.conf. Des configurations + réseau plus avancées sont + présentées dans le . + + + + + VMware sur &windows;/&mac;/&linux; ==== //depot/projects/dtrace/ports/MOVED#51 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1511 2007/11/01 13:01:57 beech Exp $ +# $FreeBSD: ports/MOVED,v 1.1512 2007/11/03 23:36:39 gerald Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3324,3 +3324,4 @@ print/yatex-mule||2007-10-25|Has expired: emacs19 and related ports are obsolete devel/py-qt4-qct|devel/qct|2007-10-26|Since it's an application but not a Py/Qt library the port was renamed net-mgmt/wispy-tools|net-mgmt/spectools|2007-10-29|project renamed +lang/gcc40|lang/gcc42|2007-11-04|Superseded by gcc41 and later, gcc42 being the recommended update path ==== //depot/projects/dtrace/ports/Tools/portbuild/scripts/buildenv#4 (text+ko) ==== @@ -27,6 +27,12 @@ x7) export INDEXFILE=INDEX-7 ;; + x7-exp) + export INDEXFILE=INDEX-7 + ;; + x8) + export INDEXFILE=INDEX-8 + ;; *) echo "buildenv: invalid branch" exit 1 @@ -41,7 +47,8 @@ export PKGSUFFIX=.tbz export PKGZIPCMD=bzip2 export X_WINDOW_SYSTEM=xorg - export XORG_UPGRADE=1 + + #export USA_RESIDENT=yes # Have to use realpath because 'make index' doesn't deal with symlinks in PORTSDIR # - kk 020311 @@ -71,8 +78,6 @@ export BATCH=1 export PACKAGE_BUILDING=1 - export USA_RESIDENT=yes - export FTP_PASSIVE_MODE=yes #export FETCH_BEFORE_ARGS=-vvv } ==== //depot/projects/dtrace/ports/Tools/portbuild/scripts/dologs#4 (text+ko) ==== @@ -9,11 +9,11 @@ scripts=${pb}/scripts for ver in latest full; do - for num in 5 5-exp 6 6-exp 6-exp2 7; do + for num in 5 5-exp 6 6-exp 6-exp2 7 7-exp 8; do cd $home/$arch-$num-$ver && ${scripts}/processlogs ${arch} cd ${pb}/${arch}/${num} && ${scripts}/processfail ${arch} ${num} done - for num in 5 5-exp 6 6-exp 6-exp2 7; do + for num in 5 5-exp 6 6-exp 6-exp2 7 7-exp 8; do cd $home/$arch-$num-$ver-logs && ${scripts}/processlogs2 done # for num in 5 6 6-exp 7; do ==== //depot/projects/dtrace/ports/Tools/portbuild/scripts/dopackages#5 (text+ko) ==== @@ -253,7 +253,7 @@ branch=$1 date=$2 -if [ "x$branch" != x5 -a "x$branch" != x5-exp -a "x$branch" != x6 -a "x$branch" != x6-exp -a "x$branch" != "x6-exp2" -a "x$branch" != x7 ]; then +if [ "x$branch" != x5 -a "x$branch" != x5-exp -a "x$branch" != x6 -a "x$branch" != x6-exp -a "x$branch" != "x6-exp2" -a "x$branch" != x7 -a "x$branch" != x7-exp -a "x$branch" != x8 ]; then usage fi ==== //depot/projects/dtrace/ports/Tools/portbuild/scripts/reportload#4 (text+ko) ==== @@ -20,7 +20,7 @@ done if [ ${error} = 0 ]; then - num=$(echo $(ls -1d ${scratchdir}/*/chroot/*/used 2>/dev/null| wc -l)) + num=$(echo $(ls -1d ${scratchdir}/*/*/used ${scratchdir}/*/chroot/*/used 2>/dev/null| wc -l)) else num=ERR fi ==== //depot/projects/dtrace/src/etc/namedb/named.root#4 (text+ko) ==== @@ -1,5 +1,5 @@ ; -; $FreeBSD: src/etc/namedb/named.root,v 1.12 2004/06/06 11:46:29 schweikh Exp $ +; $FreeBSD: src/etc/namedb/named.root,v 1.13 2007/11/02 22:37:15 dougb Exp $ ; ; This file holds the information on root name servers needed to @@ -13,8 +13,8 @@ ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: Jan 29, 2004 -; related version of root zone: 2004012900 +; last update: Nov 01, 2007 +; related version of root zone: 2007110100 ; ; ; formerly NS.INTERNIC.NET @@ -75,7 +75,7 @@ ; operated by ICANN ; . 3600000 NS L.ROOT-SERVERS.NET. -L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 +L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42 ; ; operated by WIDE ; ==== //depot/projects/dtrace/src/rescue/rescue/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/rescue/rescue/Makefile,v 1.57 2007/10/27 18:18:58 yar Exp $ +#$FreeBSD: src/rescue/rescue/Makefile,v 1.58 2007/11/04 00:44:10 marcel Exp $ # @(#)Makefile 8.1 (Berkeley) 6/2/93 NO_MAN= @@ -110,10 +110,10 @@ # headers in addition to the standard 'paths.h' header. # CRUNCH_SRCDIRS+= sbin -CRUNCH_PROGS_sbin= atacontrol badsect bsdlabel \ +CRUNCH_PROGS_sbin= atacontrol badsect \ camcontrol ccdconfig clri devfs dmesg dump \ dumpfs dumpon fsck fsck_ffs fsck_msdosfs fsdb \ - fsirand gbde ifconfig init \ + fsirand gbde geom ifconfig init \ kldconfig kldload kldstat kldunload ldconfig \ md5 mdconfig mdmfs mknod mount mount_cd9660 \ mount_msdosfs mount_nfs mount_ntfs mount_nullfs \ @@ -147,7 +147,7 @@ CRUNCH_LIBS+= -lgeom -lbsdxml -lkiconv -lmd -lreadline -lsbuf -lufs -lz .if ${MACHINE_ARCH} == "i386" -CRUNCH_PROGS_sbin+= sconfig fdisk +CRUNCH_PROGS_sbin+= bsdlabel sconfig fdisk CRUNCH_ALIAS_bsdlabel= disklabel #.if ${MK_NCP} != "no" #CRUNCH_PROGS+= mount_nwfs @@ -158,19 +158,20 @@ .endif .if ${MACHINE} == "pc98" +CRUNCH_PROGS_sbin+= bsdlabel CRUNCH_SRCDIR_fdisk= $(.CURDIR)/../../sbin/fdisk_pc98 .endif .if ${MACHINE_ARCH} == "ia64" -CRUNCH_PROGS_sbin+= mca gpt fdisk +CRUNCH_PROGS_sbin+= mca .endif .if ${MACHINE_ARCH} == "sparc64" -CRUNCH_PROGS_sbin+= sunlabel +CRUNCH_PROGS_sbin+= bsdlabel sunlabel .endif .if ${MACHINE_ARCH} == "amd64" -CRUNCH_PROGS_sbin+= fdisk +CRUNCH_PROGS_sbin+= bsdlabel fdisk CRUNCH_ALIAS_bsdlabel= disklabel .endif @@ -184,6 +185,7 @@ CRUNCH_ALIAS_restore= rrestore CRUNCH_ALIAS_dump= rdump CRUNCH_ALIAS_fsck_ffs= fsck_4.2bsd fsck_ufs +CRUNCH_ALIAS_geom= gpart # dhclient has historically been troublesome... CRUNCH_PROGS_sbin+= dhclient ==== //depot/projects/dtrace/src/sbin/geom/Makefile#4 (text+ko) ==== @@ -1,5 +1,23 @@ -# $FreeBSD: src/sbin/geom/Makefile,v 1.1 2004/05/20 10:09:55 pjd Exp $ +# $FreeBSD: src/sbin/geom/Makefile,v 1.2 2007/11/04 00:32:53 marcel Exp $ + +.if defined(RESCUE) + +.PATH: ${.CURDIR}/class/part ${.CURDIR}/core ${.CURDIR}/misc + +PROG= geom +SRCS= geom.c geom_part.c subr.c + +CFLAGS+=-I${.CURDIR} -I${.CURDIR}/core + +DPADD= ${LIBGEOM} ${LIBSBUF} ${LIBBSDXML} ${LIBUTIL} +LDADD= -lgeom -lsbuf -lbsdxml -lutil + +.include + +.else SUBDIR= core class .include + +.endif ==== //depot/projects/dtrace/src/sbin/geom/class/part/geom_part.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/class/part/geom_part.c,v 1.3 2007/10/21 19:38:21 marcel Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/class/part/geom_part.c,v 1.4 2007/11/04 00:32:53 marcel Exp $"); #include #include @@ -43,15 +43,21 @@ #include "core/geom.h" #include "misc/subr.h" -uint32_t lib_version = G_LIB_VERSION; -uint32_t version = 0; +#ifdef RESCUE +#define PUBSYM(x) gpart_##x +#else +#define PUBSYM(x) x +#endif + +uint32_t PUBSYM(lib_version) = G_LIB_VERSION; +uint32_t PUBSYM(version) = 0; static char optional[] = ""; static char flags[] = "C"; static void gpart_show(struct gctl_req *, unsigned); -struct g_command class_commands[] = { +struct g_command PUBSYM(class_commands)[] = { { "add", 0, NULL, { { 'b', "start", NULL, G_TYPE_STRING }, { 's', "size", NULL, G_TYPE_STRING }, ==== //depot/projects/dtrace/src/sbin/geom/core/geom.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/core/geom.c,v 1.32 2007/09/21 10:00:05 pjd Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/core/geom.c,v 1.33 2007/11/04 00:32:54 marcel Exp $"); #include #include @@ -51,6 +51,10 @@ #include "misc/subr.h" +#ifdef RESCUE +extern uint32_t gpart_version; +extern struct g_command gpart_class_commands[]; +#endif static char comm[MAXPATHLEN], *class_name = NULL, *gclass_name = NULL; static uint32_t *version = NULL; @@ -466,6 +470,7 @@ exit(EXIT_SUCCESS); } +#ifndef RESCUE static const char * library_path(void) { @@ -524,6 +529,7 @@ exit(EXIT_FAILURE); } } +#endif /* !RESCUE */ /* * Class name should be all capital letters. @@ -571,8 +577,18 @@ } else { errx(EXIT_FAILURE, "Invalid utility name."); } + +#ifndef RESCUE + load_library(); +#else + if (!strcasecmp(class_name, "part")) { + version = &gpart_version; + class_commands = gpart_class_commands; + } else + errx(EXIT_FAILURE, "Invalid class name."); +#endif /* !RESCUE */ + set_class_name(); - load_library(); if (*argc < 1) usage(); } ==== //depot/projects/dtrace/src/sbin/ifconfig/ifbridge.c#9 (text+ko) ==== @@ -35,7 +35,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/ifconfig/ifbridge.c,v 1.11 2007/08/01 00:33:52 thompsa Exp $"; + "$FreeBSD: src/sbin/ifconfig/ifbridge.c,v 1.12 2007/11/04 08:32:26 thompsa Exp $"; #endif /* not lint */ #include @@ -177,12 +177,14 @@ printf("%s%s ", prefix, req->ifbr_ifsname); printb("flags", req->ifbr_ifsflags, IFBIFBITS); printf("\n"); - + + printf("%s", pad); + printf("ifmaxaddr %u", req->ifbr_addrmax); + printf(" port %u priority %u", req->ifbr_portno, + req->ifbr_priority); + printf(" path cost %u", req->ifbr_path_cost); + if (req->ifbr_ifsflags & IFBIF_STP) { - printf("%s", pad); - printf("port %u priority %u", - req->ifbr_portno, req->ifbr_priority); - printf(" path cost %u", req->ifbr_path_cost); if (req->ifbr_proto < sizeof(stpproto) / sizeof(stpproto[0])) printf(" proto %s", stpproto[req->ifbr_proto]); @@ -203,8 +205,8 @@ else printf(" ", req->ifbr_state); - printf("\n"); } + printf("\n"); } free(inbuf); @@ -651,6 +653,25 @@ } static void +setbridge_ifmaxaddr(const char *ifn, const char *arg, int s, + const struct afswtch *afp) +{ + struct ifbreq req; + u_long val; + + memset(&req, 0, sizeof(req)); + + if (get_val(arg, &val) < 0 || (val & ~0xffffffff) != 0) + errx(1, "invalid value: %s", arg); + + strlcpy(req.ifbr_ifsname, ifn, sizeof(req.ifbr_ifsname)); + req.ifbr_addrmax = val & 0xffffffff; + + if (do_cmd(s, BRDGSIFAMAX, &req, sizeof(req), 1) < 0) + err(1, "BRDGSIFAMAX %s", arg); +} + +static void setbridge_timeout(const char *arg, int d, int s, const struct afswtch *afp) { struct ifbrparam param; @@ -714,6 +735,7 @@ DEF_CMD_ARG("holdcnt", setbridge_holdcount), DEF_CMD_ARG2("ifpriority", setbridge_ifpriority), DEF_CMD_ARG2("ifpathcost", setbridge_ifpathcost), + DEF_CMD_ARG2("ifmaxaddr", setbridge_ifmaxaddr), DEF_CMD_ARG("timeout", setbridge_timeout), DEF_CMD_ARG("private", setbridge_private), DEF_CMD_ARG("-private", unsetbridge_private), ==== //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.8#15 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.143 2007/11/02 05:23:22 sam Exp $ +.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.144 2007/11/04 08:32:26 thompsa Exp $ .\" .Dd October 31, 2007 .Dt IFCONFIG 8 @@ -1623,6 +1623,11 @@ To change a previously selected path cost back to automatic, set the cost to 0. The minimum is 1 and the maximum is 200000000. +.It Cm ifmaxaddr Ar interface Ar size +Set the maximum number of hosts allowed from an interface, packets with unknown +source addresses are dropped until an existing host cache entry expires or is +removed. +Set to 0 to disable. .El .Pp The following parameters are specific to lagg interfaces: ==== //depot/projects/dtrace/src/sbin/route/route.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)route.c 8.6 (Berkeley) 4/28/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/route/route.c,v 1.82 2007/10/29 00:08:24 mtm Exp $"; + "$FreeBSD: src/sbin/route/route.c,v 1.83 2007/11/04 11:12:40 mtm Exp $"; #endif /* not lint */ #include @@ -823,7 +823,6 @@ else mask = 0xffffffff; } - addr &= mask; } sin->sin_addr.s_addr = htonl(addr); sin = &so_mask.sin; ==== //depot/projects/dtrace/src/share/zoneinfo/asia#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# @(#)asia 8.12 +# @(#)asia 8.13 #
 
 # This data is by no means authoritative; if you think you know better,
@@ -1771,7 +1771,31 @@
 # For lack of better info, assume the rule changed to "last Friday in March"
 # this year.
 Rule	Syria	2007	max	-	Mar	lastFri	0:00	1:00	S
-Rule	Syria	2007	max	-	Oct	 1	0:00	0	-
+# From Jesper Norgard (2007-10-27):
+# The sister center ICARDA of my work CIMMYT is confirming that Syria DST will
+# not take place 1.st November at 0:00 o'clock but 1.st November at 24:00 or
+# rather Midnight between Thursday and Friday. This does make more sence than
+# having it between Wednesday and Thursday (two workdays in Syria) since the
+# weekend in Syria is not Saturday and Sunday, but Friday and Saturday. So now
+# it is implemented at midnight of the last workday before weekend...
+# 
+# From Steffen Thorsen (2007-10-27):
+# Jesper Norgaard Welen wrote:
+# 
+# > "Winter local time in Syria will be observed at midnight of Thursday 1
+# > November 2007, and the clock will be put back 1 hour."
+# 
+# I found confirmation on this in this gov.sy-article (Arabic):
+# http://wehda.alwehda.gov.sy/_print_veiw.asp?FileName=12521710520070926111247
+# 
+# which using Google's translate tools says:
+# Council of Ministers also approved the commencement of work on 
+# identifying the winter time as of Friday, 2/11/2007 where the 60th 
+# minute delay at midnight Thursday 1/11/2007.
+#
+# From Arthur David Olson (2007-10-30):
+# My best guess for the future is first Friday in November.
+Rule	Syria	2007	max	-	Nov	 Fri>=1	0:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Damascus	2:25:12 -	LMT	1920	# Dimashq
 			2:00	Syria	EE%sT

==== //depot/projects/dtrace/src/share/zoneinfo/northamerica#7 (text+ko) ====

@@ -1,4 +1,4 @@
-# @(#)northamerica	8.18
+# @(#)northamerica	8.19
 # 
 
 # also includes Central America and the Caribbean
@@ -2187,6 +2187,23 @@
 # says Cuban clocks will advance at midnight on March 10.
 # For lack of better information, assume Cuba will use US rules,
 # except that it switches at midnight standard time as usual.
+#
+# From Steffen Thorsen (2007-10-25):
+# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week 
+# earlier - on the last Sunday of October, just like in 2006.
+# 
+# He supplied these references:
+# 
+# http://www.prensalatina.com.mx/article.asp?ID=%7B4CC32C1B-A9F7-42FB-8A07-8631AFC923AF%7D&language=ES
+# http://actualidad.terra.es/sociedad/articulo/cuba_llama_ahorrar_energia_cambio_1957044.htm
+# 
+# From Alex Kryvenishev (2007-10-25):
+# Here is also article from Granma (Cuba):
+# 
+# [Regira] el Horario Normal desde el [proximo] domingo 28 de octubre
+# http://www.granma.cubaweb.cu/2007/10/24/nacional/artic07.html
+# 
+# http://www.worldtimezone.com/dst_news/dst_news_cuba03.html
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Cuba	1928	only	-	Jun	10	0:00	1:00	D
@@ -2218,9 +2235,8 @@
 Rule	Cuba	1998	1999	-	Mar	lastSun	0:00s	1:00	D
 Rule	Cuba	1998	2003	-	Oct	lastSun	0:00s	0	S
 Rule	Cuba	2000	2006	-	Apr	Sun>=1	0:00s	1:00	D
-Rule	Cuba	2006	only	-	Oct	lastSun	0:00s	0	S
+Rule	Cuba	2006	max	-	Oct	lastSun	0:00s	0	S
 Rule	Cuba	2007	max	-	Mar	Sun>=8	0:00s	1:00	D
-Rule	Cuba	2007	max	-	Nov	Sun>=1	0:00s	0	S
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	America/Havana	-5:29:28 -	LMT	1890

==== //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#21 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.590 2007/08/21 04:59:33 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.591 2007/11/03 05:15:25 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -1732,7 +1732,10 @@
 	PV_STAT(pv_entry_allocs++);
 	pv_entry_count++;
 	if (pv_entry_count > pv_entry_high_water)
-		pagedaemon_wakeup();
+		if (ratecheck(&lastprint, &printinterval))
+			printf("Approaching the limit on PV entries, consider "
+			    "increasing either the vm.pmap.shpgperproc or the "
+			    "vm.pmap.pv_entry_max sysctl.\n");
 	pc = TAILQ_FIRST(&pmap->pm_pvchunk);
 	if (pc != NULL) {
 		for (field = 0; field < _NPCM; field++) {
@@ -1767,10 +1770,6 @@
 		 * pages.  After that, if a pv chunk entry is still needed,
 		 * destroy mappings to active pages.
 		 */
-		if (ratecheck(&lastprint, &printinterval))
-			printf("Approaching the limit on PV entries, consider "
-			    "increasing sysctl vm.pmap.shpgperproc or "
-			    "vm.pmap.pv_entry_max\n");
 		PV_STAT(pmap_collect_inactive++);
 		pmap_collect(pmap, &vm_page_queues[PQ_INACTIVE]);
 		m = vm_page_alloc(NULL, colour,

==== //depot/projects/dtrace/src/sys/arm/xscale/ixp425/if_npe.c#4 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.6 2007/05/24 16:31:22 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.7 2007/11/04 21:54:52 cognet Exp $");
 
 /*
  * Intel XScale NPE Ethernet driver.
@@ -39,7 +39,6 @@
  * in the Intel Access Library (IAL) and the OS-specific driver.
  *
  * XXX add vlan support
- * XXX NPE-C port doesn't work yet
  */
 #ifdef HAVE_KERNEL_OPTION_HEADERS
 #include "opt_device_polling.h"

==== //depot/projects/dtrace/src/sys/dev/mpt/mpt.c#20 (text+ko) ====

@@ -96,7 +96,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt.c,v 1.45 2007/10/12 06:03:43 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mpt/mpt.c,v 1.46 2007/11/03 17:33:41 scottl Exp $");
 
 #include 
 #include  /* XXX For static handler registration */
@@ -562,7 +562,8 @@
 				"Event %#x (ACK %sequired).\n",
 				msg->Event, msg->AckRequired? "r" : "not r");
 		} else if (handled == 0) {
-			mpt_lprt(mpt, MPT_PRT_WARN,
+			mpt_lprt(mpt,
+				msg->AckRequired? MPT_PRT_WARN : MPT_PRT_INFO,
 				"Unhandled Event Notify Frame. Event %#x "
 				"(ACK %sequired).\n",
 				msg->Event, msg->AckRequired? "r" : "not r");

==== //depot/projects/dtrace/src/sys/dev/safe/safe.c#8 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/dev/safe/safe.c,v 1.18 2007/03/21 03:42:50 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/safe/safe.c,v 1.19 2007/11/03 19:10:14 sam Exp $");
 
 /*
  * SafeNet SafeXcel-1141 hardware crypto accelerator
@@ -307,7 +307,7 @@
 		goto bad4;
 	}
 	if (bus_dma_tag_create(NULL,			/* parent */
-			       sizeof(u_int32_t),	/* alignment */
+			       1,			/* alignment */
 			       SAFE_MAX_DSIZE,		/* boundary */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */

==== //depot/projects/dtrace/src/sys/dev/sound/pci/atiixp.c#8 (text+ko) ====

@@ -63,7 +63,7 @@
 
 #include 

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Sun Nov  4 22:30:53 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 151C116A474; Sun,  4 Nov 2007 22:30:53 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id CDD3F16A418
	for ; Sun,  4 Nov 2007 22:30:52 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id A8AB313C48A
	for ; Sun,  4 Nov 2007 22:30:52 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4MUqAP083245
	for ; Sun, 4 Nov 2007 22:30:52 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4MUqlB083241
	for perforce@freebsd.org; Sun, 4 Nov 2007 22:30:52 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Sun, 4 Nov 2007 22:30:52 GMT
Message-Id: <200711042230.lA4MUqlB083241@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 128640 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, 04 Nov 2007 22:30:53 -0000

http://perforce.freebsd.org/chv.cgi?CH=128640

Change 128640 by gonzo@gonzo_jeeves on 2007/11/04 22:29:57

	o Disable optimization for a while, even -O1 generates wrong code.

Affected files ...

.. //depot/projects/mips2/src/sys/conf/kern.pre.mk#6 edit

Differences ...

==== //depot/projects/mips2/src/sys/conf/kern.pre.mk#6 (text+ko) ====

@@ -25,7 +25,7 @@
 COPTFLAGS?=	-O
 .else
 . if defined(DEBUG)
-_MINUS_O=	-O
+_MINUS_O=	
 . else
 _MINUS_O=	-O2
 . endif

From owner-p4-projects@FreeBSD.ORG  Sun Nov  4 22:41:05 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 530A416A420; Sun,  4 Nov 2007 22:41:05 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D091716A41A
	for ; Sun,  4 Nov 2007 22:41:04 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id C3F2413C4B6
	for ; Sun,  4 Nov 2007 22:41:04 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4Mf4Af083895
	for ; Sun, 4 Nov 2007 22:41:04 GMT
	(envelope-from kmacy@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4Mf4xG083891
	for perforce@freebsd.org; Sun, 4 Nov 2007 22:41:04 GMT
	(envelope-from kmacy@freebsd.org)
Date: Sun, 4 Nov 2007 22:41:04 GMT
Message-Id: <200711042241.lA4Mf4xG083891@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 128645 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, 04 Nov 2007 22:41:05 -0000

http://perforce.freebsd.org/chv.cgi?CH=128645

Change 128645 by kmacy@kmacy:storage:toestack on 2007/11/04 22:40:52

	add configuration option of DISABLE_TCP_OFFLOAD so that offload hooks become no-ops
	add hooks for offload listen close
	add eventhandler hooks for listen offload start and stop

Affected files ...

.. //depot/projects/toestack/sys/netinet/tcp_ofld.c#5 edit
.. //depot/projects/toestack/sys/netinet/tcp_ofld.h#6 edit
.. //depot/projects/toestack/sys/netinet/tcp_subr.c#7 edit
.. //depot/projects/toestack/sys/netinet/tcp_usrreq.c#7 edit

Differences ...

==== //depot/projects/toestack/sys/netinet/tcp_ofld.c#5 (text+ko) ====

@@ -65,43 +65,40 @@
 }
 
 int
-ofld_disconnect(struct tcpcb *tp)
+ofld_send(struct tcpcb *tp)
 {
-
-       	return tp->t_tu->tu_disconnect(tp);
+	return tp->t_tu->tu_send(tp);
 }
 
 int
-ofld_abort(struct tcpcb *tp)
+ofld_rcvd(struct tcpcb *tp)
 {
 
-	return tp->t_tu->tu_abort(tp);
+	return tp->t_tu->tu_rcvd(tp);
 }
 
 int
-ofld_send(struct tcpcb *tp)
+ofld_disconnect(struct tcpcb *tp)
 {
-
-	return tp->t_tu->tu_send(tp);
+       	return tp->t_tu->tu_disconnect(tp);
 }
 
 int
-ofld_listen(struct tcpcb *tp)
+ofld_abort(struct tcpcb *tp)
 {
+	return tp->t_tu->tu_abort(tp);
+}
 
-	return tp->t_tu->tu_listen_start(tp);
+void
+ofld_listen_open(struct tcpcb *tp)
+{
+	EVENTHANDLER_INVOKE(ofld_listen, OFLD_LISTEN_OPEN, tp);
 }
 
-int
+void
 ofld_listen_close(struct tcpcb *tp)
 {
-
-	return tp->t_tu->tu_listen_stop(tp);
+	EVENTHANDLER_INVOKE(ofld_listen, OFLD_LISTEN_CLOSE, tp);
 }
 
-int
-ofld_rcvd(struct tcpcb *tp)
-{
 
-	return tp->t_tu->tu_rcvd(tp);
-}

==== //depot/projects/toestack/sys/netinet/tcp_ofld.h#6 (text+ko) ====

@@ -5,18 +5,18 @@
 #define tp_offload(tp) ((tp)->t_flags & TF_TOE)
 #define SO_OFFLOADABLE(so) ((so->so_options & SO_NOOFFLOAD) == 0)
 
-
 int ofld_connect(struct socket *so, struct sockaddr *nam);
 int ofld_can_offload(struct tcpcb *tp, struct sockaddr *nam);
+
+int ofld_send(struct tcpcb *tp);
+int ofld_rcvd(struct tcpcb *tp);
 int ofld_disconnect(struct tcpcb *tp);
 int ofld_abort(struct tcpcb *tp);
-int ofld_send(struct tcpcb *tp);
-int ofld_listen(struct tcpcb *tp);
-int ofld_listen_close(struct tcpcb *tp);
-int ofld_rcvd(struct tcpcb *tp);
 
+void ofld_listen_open(struct tcpcb *tp);
+void ofld_listen_close(struct tcpcb *tp);
 
-
+#ifndef DISABLE_TCP_OFFLOAD
 static __inline int
 tcp_gen_connect(struct socket *so, struct sockaddr *nam)
 {
@@ -72,36 +72,81 @@
 }
 
 static __inline int
-tcp_gen_listen(struct tcpcb *tp)
+tcp_gen_rcvd(struct tcpcb *tp)
 {
 	int error;
 
 	if (tp_offload(tp))
-		error = ofld_listen(tp);
+		error = ofld_rcvd(tp);
+	else
+		error = tcp_output(tp);
 
 	return (error);
 }
 
+static __inline void
+tcp_gen_listen_open(struct tcpcb *tp)
+{
+	if (SO_OFFLOADABLE(tp->t_inpcb->inp_socket))
+	    ofld_listen_open(tp);
+}
+
+static __inline void
+tcp_gen_listen_close(struct tcpcb *tp)
+{
+	ofld_listen_close(tp);
+}
+#else
+
 static __inline int
+tcp_gen_connect(struct socket *so, struct sockaddr *nam)
+{
+	return tcp_output(tp);
+}
+
+static __inline int
+tcp_gen_disconnect(struct tcpcb *tp)
+{
+	return tcp_output(tp);
+}
+
+static __inline int
+tcp_gen_abort(struct tcpcb *tp)
+{
+	return tcp_output(tp);
+}
+
+static __inline int
+tcp_gen_send(struct tcpcb *tp)
+{
+	return tcp_output(tp);
+}
+
+static __inline int
 tcp_gen_rcvd(struct tcpcb *tp)
 {
-	int error;
+	return tcp_output(tp);
+}
+
+static __inline void
+tcp_gen_listen_open(struct tcpcb *tp) {}
 
-	if (tp_offload(tp))
-		error = ofld_rcvd(tp);
-	else
-		error = tcp_output(tp);
+static __inline void
+tcp_gen_listen_close(struct tcpcb *tp) {}
 
-	return (error);
-}
+#endif
 
 struct toe_usrreqs {
+	int (*tu_send)(struct tcpcb *tp);
+	int (*tu_rcvd)(struct tcpcb *tp);
 	int (*tu_disconnect)(struct tcpcb *tp);
 	int (*tu_abort)(struct tcpcb *tp);
-	int (*tu_send)(struct tcpcb *tp);
-	int (*tu_listen_start)(struct tcpcb *tp);
-	int (*tu_listen_stop)(struct tcpcb *tp);
-	int (*tu_rcvd)(struct tcpcb *tp);
+
 };
 
+#define OFLD_LISTEN_OPEN       1
+#define OFLD_LISTEN_CLOSE      2
+typedef void (*ofld_listen_fn)(void *, int, struct tcpcb *);
+EVENTHANDLER_DECLARE(ofld_listen, ofld_listen_fn);
+
 #endif

==== //depot/projects/toestack/sys/netinet/tcp_subr.c#7 (text+ko) ====

@@ -769,6 +769,9 @@
 	INP_INFO_WLOCK_ASSERT(&tcbinfo);
 	INP_LOCK_ASSERT(inp);
 
+	if (tp->t_state == TCPS_LISTEN)
+		tcp_gen_listen_close(tp);
+	
 	in_pcbdrop(inp);
 	tcpstat.tcps_closed++;
 	KASSERT(inp->inp_socket != NULL, ("tcp_close: inp_socket NULL"));

==== //depot/projects/toestack/sys/netinet/tcp_usrreq.c#7 (text+ko) ====

@@ -386,7 +386,7 @@
 	if (error == 0) {
 		tp->t_state = TCPS_LISTEN;
 		solisten_proto(so, backlog);
-		tcp_gen_listen(tp);
+		tcp_gen_listen_open(tp);
 	}
 	SOCK_UNLOCK(so);
 
@@ -1513,8 +1513,9 @@
 	INP_LOCK_ASSERT(tp->t_inpcb);
 
 	switch (tp->t_state) {
+	case TCPS_LISTEN:
+		tcp_gen_listen_close(tp);
 	case TCPS_CLOSED:
-	case TCPS_LISTEN:
 		tp->t_state = TCPS_CLOSED;
 		tp = tcp_close(tp);
 		/*

From owner-p4-projects@FreeBSD.ORG  Sun Nov  4 22:44:08 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 85E5A16A469; Sun,  4 Nov 2007 22:44:08 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 11D0716A41B
	for ; Sun,  4 Nov 2007 22:44:08 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 03BFD13C491
	for ; Sun,  4 Nov 2007 22:44:08 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4Mi7up084068
	for ; Sun, 4 Nov 2007 22:44:07 GMT
	(envelope-from kmacy@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4Mi7RY084065
	for perforce@freebsd.org; Sun, 4 Nov 2007 22:44:07 GMT
	(envelope-from kmacy@freebsd.org)
Date: Sun, 4 Nov 2007 22:44:07 GMT
Message-Id: <200711042244.lA4Mi7RY084065@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 128646 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, 04 Nov 2007 22:44:08 -0000

http://perforce.freebsd.org/chv.cgi?CH=128646

Change 128646 by kmacy@kmacy:storage:toestack on 2007/11/04 22:43:20

	add initial hooks for listen offload 
	add support code for reset

Affected files ...

.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#13 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#4 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#5 edit

Differences ...

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#13 (text+ko) ====

@@ -132,6 +132,8 @@
 extern int tcp_autorcvbuf_max;
 extern int tcp_autosndbuf_max;
 
+static void t3_send_reset(struct socket *so);
+
 static inline unsigned int
 mkprio(unsigned int cntrl, const struct socket *so)
 {
@@ -427,14 +429,16 @@
 	
 	so = tp->t_inpcb->inp_socket;
 	close_conn(so);
-
 	return (0);
 }
 
 static int
 cxgb_toe_abort(struct tcpcb *tp)
 {
-	printf("%s UNIMPLEMENTED!!!!\n", __FUNCTION__);
+	struct socket *so;
+
+	so = tp->t_inpcb->inp_socket;
+	t3_send_reset(so);
 	return (0);
 }
 
@@ -451,20 +455,6 @@
 }
 
 static int
-cxgb_toe_listen_start(struct tcpcb *tp)
-{
-	printf("%s UNIMPLEMENTED!!!!\n", __FUNCTION__);
-	return (0);
-}
-
-static int
-cxgb_toe_listen_stop(struct tcpcb *tp)
-{
-	printf("%s UNIMPLEMENTED!!!!\n", __FUNCTION__);
-	return (0);
-}
-
-static int
 cxgb_toe_rcvd(struct tcpcb *tp)
 {
 	t3_cleanup_rbuf(tp);
@@ -476,8 +466,6 @@
 	.tu_disconnect = cxgb_toe_disconnect,
 	.tu_abort = cxgb_toe_abort,
 	.tu_send = cxgb_toe_send,
-	.tu_listen_start = cxgb_toe_listen_start,
-	.tu_listen_stop = cxgb_toe_listen_stop,
 	.tu_rcvd = cxgb_toe_rcvd,
 };
 
@@ -954,6 +942,57 @@
 }
 
 /*
+ * Send an ABORT_REQ message.  Cannot fail.  This routine makes sure we do
+ * not send multiple ABORT_REQs for the same connection and also that we do
+ * not try to send a message after the connection has closed.  Returns 1 if
+ * an ABORT_REQ wasn't generated after all, 0 otherwise.
+ */
+static void
+t3_send_reset(struct socket *so)
+{
+	printf("t3_send_reset unimplemented\n");
+	
+#ifdef notyet
+	struct cpl_abort_req *req;
+	struct tcp_sock *tp = tcp_sk(sk);
+	unsigned int tid = TID(tp);
+	int mode = CPL_ABORT_SEND_RST;
+	
+	if (unlikely(sock_flag(sk, ABORT_SHUTDOWN) || !TOE_DEV(sk))) {
+		if (skb)
+			__kfree_skb(skb);
+		return 1;
+	}
+
+	sock_set_flag(sk, ABORT_RPL_PENDING);
+	sock_set_flag(sk, ABORT_SHUTDOWN);
+
+	/* Purge the send queue so we don't send anything after an abort. */
+	t3_purge_write_queue(sk);
+
+	if (sock_flag(sk, CLOSE_CON_REQUESTED) && is_t3a(TOE_DEV(sk)))
+		mode |= CPL_ABORT_POST_CLOSE_REQ;
+
+	if (!skb)
+		skb = alloc_skb_nofail(sizeof(*req));
+	skb->priority = mkprio(CPL_PRIORITY_DATA, sk);
+	set_arp_failure_handler(skb, abort_arp_failure);
+
+	req = (struct cpl_abort_req *)skb_put(skb, sizeof(*req));
+	req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_HOST_ABORT_CON_REQ));
+	req->wr.wr_lo = htonl(V_WR_TID(tid));
+	OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_ABORT_REQ, tid));
+	req->rsvd0 = htonl(tp->snd_nxt);
+	req->rsvd1 = !sock_flag(sk, TX_DATA_SENT);
+	req->cmd = mode;
+	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));
+#endif
+}
+
+/*
  * Process new data received for a connection.
  */
 static void

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#4 (text+ko) ====

@@ -6,14 +6,16 @@
 #define toeptoso(toep) ((toep)->tp_tp->t_inpcb->inp_socket)
 #define sototoep(so) (sototcpcb((so))->t_toe)
 
+void t3tom_register_cpl_handler(unsigned int opcode, cxgb_cpl_handler_func h);
+void t3_listen_start(struct toedev *dev, struct socket *so, struct t3cdev *cdev);
+void t3_listen_stop(struct toedev *dev, struct socket *so, struct t3cdev *cdev);
+int t3_push_frames(struct socket *so, int req_completion);
 void t3_enable_ddp(struct socket *so, int on);
 int t3_connect(struct toedev *tdev, struct socket *so, struct ifnet *egress_ifp);
 void t3_init_listen_cpl_handlers(void);
 int t3_init_cpl_io(void);
-void t3tom_register_cpl_handler(unsigned int opcode, cxgb_cpl_handler_func h);
 void t3_init_offload_ops(void);
 void t3_init_wr_tab(unsigned int wr_len);
-int t3_push_frames(struct socket *so, int req_completion);
 uint32_t t3_send_rx_credits(struct tcpcb *tp, uint32_t credits, uint32_t dack, int nofail);
 void t3_cleanup_rbuf(struct tcpcb *tp);
 

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_listen.c#2 (text+ko) ====

@@ -1,6 +1,3 @@
-
-
-
 /**************************************************************************
 
 Copyright (c) 2007, Chelsio Inc.
@@ -42,6 +39,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -98,3 +96,112 @@
 	t3tom_register_cpl_handler(CPL_PASS_OPEN_RPL, do_pass_open_rpl);
 	t3tom_register_cpl_handler(CPL_CLOSE_LISTSRV_RPL, do_close_server_rpl);
 }
+
+
+/*
+ * Start a listening server by sending a passive open request to HW.
+ */
+void
+t3_listen_start(struct toedev *dev, struct socket *so, struct t3cdev *cdev)
+{
+	printf("start listen\n");
+#if 0
+	int stid;
+	struct sk_buff *skb;
+	struct cpl_pass_open_req *req;
+	struct tom_data *d = TOM_DATA(dev);
+	struct listen_ctx *ctx;
+
+	if (!TOM_TUNABLE(dev, activated))
+		return;
+
+	ctx = kmalloc(sizeof(*ctx), GFP_KERNEL);
+	if (!ctx)
+		return;
+
+	ctx->tom_data = d;
+	ctx->lsk = sk;
+
+	stid = cxgb3_alloc_stid(d->cdev, d->client, ctx);
+	if (stid < 0)
+		goto free_ctx;
+	
+	sock_hold(sk);
+
+	skb = alloc_skb(sizeof(*req), GFP_KERNEL);
+	if (!skb)
+		goto free_stid;
+
+	if (!listen_hash_add(d, sk, stid))
+		goto free_all;
+
+	req = (struct cpl_pass_open_req *)__skb_put(skb, sizeof(*req));
+	req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
+	OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_PASS_OPEN_REQ, stid));
+#ifdef	LINUX_2_4
+	req->local_port = sk->sport;
+	req->local_ip = sk->rcv_saddr;
+#else
+	req->local_port = inet_sk(sk)->sport;
+	req->local_ip = inet_sk(sk)->rcv_saddr;
+#endif	/* LINUX_2_4 */
+	req->peer_port = 0;
+	req->peer_ip = 0;
+	req->peer_netmask = 0;
+	req->opt0h = htonl(F_DELACK | F_TCAM_BYPASS);
+	req->opt0l = htonl(V_RCV_BUFSIZ(16));
+	req->opt1 = htonl(V_CONN_POLICY(CPL_CONN_POLICY_ASK));
+
+	skb->priority = CPL_PRIORITY_LISTEN;
+	cxgb3_ofld_send(cdev, skb);
+	return;
+
+free_all:
+	__kfree_skb(skb);
+free_stid:
+	cxgb3_free_stid(cdev, stid);
+	sock_put(sk);
+free_ctx:
+	kfree(ctx);
+#endif
+}
+
+/*
+ * Stop a listening server by sending a close_listsvr request to HW.
+ * The server TID is freed when we get the reply.
+ */
+void
+t3_listen_stop(struct toedev *dev, struct socket *so, struct t3cdev *cdev)
+{
+	printf("stop listen\n");
+#if 0
+	struct sk_buff *skb;
+	struct cpl_close_listserv_req *req;
+
+	int stid = listen_hash_del(TOM_DATA(dev), sk);
+	if (stid < 0)
+		return;
+
+	/*
+	 * Do this early so embryonic connections are marked as being aborted
+	 * while the stid is still open.  This ensures pass_establish messages
+	 * that arrive while we are closing the server will be able to locate
+	 * the listening socket.
+	 */
+	t3_reset_synq(sk);
+
+	/* Send the close ASAP to stop further passive opens */
+	skb = alloc_skb_nofail(sizeof(*req));
+	req = (struct cpl_close_listserv_req *)__skb_put(skb, sizeof(*req));
+	req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
+	OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_CLOSE_LISTSRV_REQ, stid));
+	req->cpu_idx = 0;
+	skb->priority = CPL_PRIORITY_LISTEN;
+	cxgb3_ofld_send(cdev, skb);
+
+	t3_disconnect_acceptq(sk);
+#endif
+}
+
+
+

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#5 (text+ko) ====

@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -56,8 +57,10 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -89,11 +92,7 @@
  */
 static cxgb_cpl_handler_func tom_cpl_handlers[NUM_CPL_CMDS];
 
-#ifdef notyet
-static struct notifier_block listen_notifier = {
-	.notifier_call = listen_notify_handler
-};
-#endif
+static eventhandler_tag listen_tag;
 
 static struct offload_id t3_toe_id_tab[] = {
 	{ TOE_ID_CHELSIO_T3, 0 },
@@ -346,16 +345,51 @@
 	return (0);
 }
 
+static void
+cxgb_toe_listen(void *unused, int event, struct tcpcb *tp)
+{
+	struct socket *so = tp->t_inpcb->inp_socket;
+	struct tom_data *p;
+
+	switch (event) {
+	case OFLD_LISTEN_OPEN:
+	case OFLD_LISTEN_CLOSE:
+		mtx_lock(&cxgb_list_lock);
+		TAILQ_FOREACH(p, &cxgb_list, entry) {
+			if (event == OFLD_LISTEN_OPEN)
+				t3_listen_start(&p->tdev, so, p->cdev);
+			else
+				t3_listen_stop(&p->tdev, so, p->cdev);
+		}
+		mtx_unlock(&cxgb_list_lock);
+		break;
+	default:
+		log(LOG_ERR, "unrecognized listen event %d\n", event);
+		break;
+	}
+}
+
+static void
+cxgb_register_listeners(void)
+{
+	struct inpcb *inp;
+	struct tcpcb *tp;
+	
+	INP_INFO_RLOCK(&tcbinfo);
+	LIST_FOREACH(inp, tcbinfo.ipi_listhead, inp_list) {
+		tp = intotcpcb(inp);
+
+		if (tp->t_state == TCPS_LISTEN)
+			cxgb_toe_listen(NULL, OFLD_LISTEN_OPEN, tp);
+	}
+	INP_INFO_RUNLOCK(&tcbinfo);
+}
+
 static int
 t3_tom_init(void)
 {
 
 #if 0
-#ifdef CONFIG_CHELSIO_T3_OFFLOAD_MODULE
-	err = prepare_tom_for_offload();
-	if (err)
-		return err;
-#endif
 	struct socket *sock;
 	err = sock_create_kern(PF_INET, SOCK_STREAM, IPPROTO_TCP, &sock);
 	if (err < 0) {
@@ -380,20 +414,18 @@
 		    "Unable to register Chelsio T3 TCP offload module.\n");
 		return -1;
 	}
-#ifdef notyet
-	register_listen_offload_notifier(&listen_notifier);
-#endif
+
+	mtx_init(&cxgb_list_lock, "cxgb tom list", NULL, MTX_DEF);
+	listen_tag = EVENTHANDLER_REGISTER(ofld_listen, cxgb_toe_listen, NULL, EVENTHANDLER_PRI_ANY);
 	TAILQ_INIT(&cxgb_list);
 	
-	mtx_init(&cxgb_list_lock, "cxgb tom list", NULL, MTX_DEF);
 	/* Register to offloading devices */
 	t3c_tom_client.add = t3c_tom_add;
 	cxgb_register_client(&t3c_tom_client);
-
-	return 0;
+	cxgb_register_listeners();
+	return (0);
 }
 
-
 static int
 t3_tom_load(module_t mod, int cmd, void *arg)
 {

From owner-p4-projects@FreeBSD.ORG  Sun Nov  4 22:45:09 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id B313A16A46D; Sun,  4 Nov 2007 22:45:09 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 76E9C16A46B
	for ; Sun,  4 Nov 2007 22:45:09 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 5297113C491
	for ; Sun,  4 Nov 2007 22:45:09 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4Mj9Sq084139
	for ; Sun, 4 Nov 2007 22:45:09 GMT
	(envelope-from kmacy@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4Mj9Tk084136
	for perforce@freebsd.org; Sun, 4 Nov 2007 22:45:09 GMT
	(envelope-from kmacy@freebsd.org)
Date: Sun, 4 Nov 2007 22:45:09 GMT
Message-Id: <200711042245.lA4Mj9Tk084136@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 128647 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, 04 Nov 2007 22:45:10 -0000

http://perforce.freebsd.org/chv.cgi?CH=128647

Change 128647 by kmacy@kmacy:storage:toestack on 2007/11/04 22:44:56

	unimplemented functionality in tom

Affected files ...

.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/notes#1 add

Differences ...

From owner-p4-projects@FreeBSD.ORG  Sun Nov  4 23:10:23 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id D20F216A46C; Sun,  4 Nov 2007 23:10:22 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 8612516A419
	for ; Sun,  4 Nov 2007 23:10:22 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 615D813C491
	for ; Sun,  4 Nov 2007 23:10:22 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4NAMOs086659
	for ; Sun, 4 Nov 2007 23:10:22 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA4NAMGr086656
	for perforce@freebsd.org; Sun, 4 Nov 2007 23:10:22 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Sun, 4 Nov 2007 23:10:22 GMT
Message-Id: <200711042310.lA4NAMGr086656@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 128649 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, 04 Nov 2007 23:10:23 -0000

http://perforce.freebsd.org/chv.cgi?CH=128649

Change 128649 by gonzo@gonzo_jeeves on 2007/11/04 23:09:27

	o gxemul emulates 64M of memory

Affected files ...

.. //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#3 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#3 (text+ko) ====

@@ -167,7 +167,7 @@
 	printf("entry: mips_init()\n");
 
 	bootverbose = 1;
-	realmem = btoc(16 << 20);
+	realmem = btoc(64 << 20);
 
 	for (i = 0; i < 10; i++) {
 		phys_avail[i] = 0;

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 00:21:02 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id C1E5F16A47C; Mon,  5 Nov 2007 00:21:02 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 85A2116A478;
	Mon,  5 Nov 2007 00:21:02 +0000 (UTC)
	(envelope-from flata@magnesium.net)
Received: from toxic.magnesium.net (toxic.magnesium.net [207.154.84.15])
	by mx1.freebsd.org (Postfix) with ESMTP id 76B5713C48A;
	Mon,  5 Nov 2007 00:21:02 +0000 (UTC)
	(envelope-from flata@magnesium.net)
Received: by toxic.magnesium.net (Postfix, from userid 1212)
	id 6261BDA824; Sun,  4 Nov 2007 15:20:21 -0800 (PST)
Date: Sun, 4 Nov 2007 13:20:21 -1000
From: Juli Mallett 
To: Oleksandr Tymoshenko 
Message-ID: <20071104232021.GA5721@toxic.magnesium.net>
References: <200711042310.lA4NAMGr086656@repoman.freebsd.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <200711042310.lA4NAMGr086656@repoman.freebsd.org>
User-Agent: Mutt/1.5.15 (2007-04-06)
Cc: Perforce Change Reviews 
Subject: Re: PERFORCE change 128649 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, 05 Nov 2007 00:21:03 -0000

a3 on startup should contain memsize on malta.  If you don't clobber a0-a4
before calling into mips_init from the assembly startup, you can just declare it
as taking 4 args (argc, argv, envp, memsize) on malta.

* Oleksandr Tymoshenko  [ 2007-11-04 ]
	[ PERFORCE change 128649 for review ]
> http://perforce.freebsd.org/chv.cgi?CH=128649
> 
> Change 128649 by gonzo@gonzo_jeeves on 2007/11/04 23:09:27
> 
> 	o gxemul emulates 64M of memory
> 
> Affected files ...
> 
> .. //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#3 edit
> 
> Differences ...
> 
> ==== //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#3 (text+ko) ====
> 
> @@ -167,7 +167,7 @@
>  	printf("entry: mips_init()\n");
>  
>  	bootverbose = 1;
> -	realmem = btoc(16 << 20);
> +	realmem = btoc(64 << 20);
>  
>  	for (i = 0; i < 10; i++) {
>  		phys_avail[i] = 0;

-- 

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 02:26:33 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 2E6C516A468; Mon,  5 Nov 2007 02:26:33 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B468216A417
	for ; Mon,  5 Nov 2007 02:26:32 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id A7B9013C491
	for ; Mon,  5 Nov 2007 02:26:32 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA52QWeF035441
	for ; Mon, 5 Nov 2007 02:26:32 GMT
	(envelope-from kmacy@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA52QWtW035438
	for perforce@freebsd.org; Mon, 5 Nov 2007 02:26:32 GMT
	(envelope-from kmacy@freebsd.org)
Date: Mon, 5 Nov 2007 02:26:32 GMT
Message-Id: <200711050226.lA52QWtW035438@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 128663 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, 05 Nov 2007 02:26:33 -0000

http://perforce.freebsd.org/chv.cgi?CH=128663

Change 128663 by kmacy@kmacy:storage:toestack on 2007/11/05 02:26:04

	- add RST send on abort
	- add listen setup and teardown infrastructure
	- reflect changes in notes

Affected files ...

.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#14 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#5 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_listen.c#3 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#6 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#5 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/notes#2 edit

Differences ...

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#14 (text+ko) ====

@@ -322,7 +322,19 @@
 
 }
 
+/*
+ * 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 *m)
+{
+	struct cpl_abort_req *req = cplhdr(m);
 
+	req->cmd = CPL_ABORT_NO_RST;
+	cxgb_ofld_send(cdev, m);
+}
+
 /*
  * Send RX credits through an RX_DATA_ACK CPL message.  If nofail is 0 we are
  * permitted to return without sending the message in case we cannot allocate
@@ -873,7 +885,8 @@
  * 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 *m)
+static void
+act_open_req_arp_failure(struct t3cdev *dev, struct mbuf *m)
 {
 	struct toepcb *toep = m_get_toep(m);
 	struct tcpcb *tp = toep->tp_tp;
@@ -950,46 +963,46 @@
 static void
 t3_send_reset(struct socket *so)
 {
-	printf("t3_send_reset unimplemented\n");
 	
-#ifdef notyet
 	struct cpl_abort_req *req;
-	struct tcp_sock *tp = tcp_sk(sk);
-	unsigned int tid = TID(tp);
+	struct tcpcb *tp = sototcpcb(so);
+	struct toepcb *toep = tp->t_toe;
+	unsigned int tid = toep->tp_tid;
 	int mode = CPL_ABORT_SEND_RST;
+	struct mbuf *m;
 	
-	if (unlikely(sock_flag(sk, ABORT_SHUTDOWN) || !TOE_DEV(sk))) {
-		if (skb)
-			__kfree_skb(skb);
-		return 1;
-	}
+	if (__predict_false((toep->tp_flags & TP_ABORT_SHUTDOWN) || !TOE_DEV(so)))
+		return;
 
-	sock_set_flag(sk, ABORT_RPL_PENDING);
-	sock_set_flag(sk, ABORT_SHUTDOWN);
-
+	toep->tp_flags |= (TP_ABORT_RPL_PENDING|TP_ABORT_SHUTDOWN);
+	
 	/* Purge the send queue so we don't send anything after an abort. */
-	t3_purge_write_queue(sk);
-
+	sbflush(&so->so_snd);
+#ifdef notyet
 	if (sock_flag(sk, CLOSE_CON_REQUESTED) && is_t3a(TOE_DEV(sk)))
 		mode |= CPL_ABORT_POST_CLOSE_REQ;
+#endif
+	m = m_gethdr(M_NOWAIT, MT_DATA);
+	if (m == NULL) {
+		/*
+		 * XXX add lowmem cache
+		 */
+	}
+	m->m_pkthdr.len = m->m_len = sizeof(*req);
+	m_set_priority(m, mkprio(CPL_PRIORITY_DATA, so));
+	set_arp_failure_handler(m, abort_arp_failure);
 
-	if (!skb)
-		skb = alloc_skb_nofail(sizeof(*req));
-	skb->priority = mkprio(CPL_PRIORITY_DATA, sk);
-	set_arp_failure_handler(skb, abort_arp_failure);
-
-	req = (struct cpl_abort_req *)skb_put(skb, sizeof(*req));
+	req = mtod(m, struct cpl_abort_req *);
 	req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_HOST_ABORT_CON_REQ));
 	req->wr.wr_lo = htonl(V_WR_TID(tid));
 	OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_ABORT_REQ, tid));
 	req->rsvd0 = htonl(tp->snd_nxt);
-	req->rsvd1 = !sock_flag(sk, TX_DATA_SENT);
+	req->rsvd1 = !(toep->tp_flags & TP_DATASENT);
 	req->cmd = mode;
-	if (sk->sk_state == TCP_SYN_SENT)
-		__skb_queue_tail(&tp->out_of_order_queue, skb);	// defer
+	if (tp->t_state == TCPS_SYN_SENT)
+		mbufq_tail(&toep->out_of_order_queue, m);	// defer
 	else
-		l2t_send(T3C_DEV(sk), skb, L2T_ENTRY(sk));
-#endif
+		l2t_send(T3C_DEV(so), m, toep->tp_l2t);
 }
 
 /*
@@ -1256,7 +1269,8 @@
 /*
  * Handler for CLOSE_CON_RPL CPL messages.
  */
-static int do_close_con_rpl(struct t3cdev *cdev, struct mbuf *m,
+static int
+do_close_con_rpl(struct t3cdev *cdev, struct mbuf *m,
 			    void *ctx)
 {
 	struct socket *so = (struct socket *)ctx;
@@ -1267,7 +1281,44 @@
 	return (0);
 }
 
+
 /*
+ * Add a passively open socket to its parent's accept queue.  Note that the
+ * child may be in any state by now, including TCP_CLOSE.  We can guarantee
+ * though that it has not been orphaned yet.
+ */
+static void
+add_pass_open_to_parent(struct socket *child, struct socket *lso,
+    struct toedev *dev)
+{
+	struct tcpcb *tp = sototcpcb(lso);
+	/*
+	 * If the server is closed it has already killed its embryonic
+	 * children.  There is nothing further to do about child.
+	 */
+	if (tp->t_state != TCPS_LISTEN)
+		return;
+
+	printf("need to move connection from syncache to so_comp for accept XXX\n");
+#ifdef notyet
+	oreq = child->sk_user_data;
+	child->sk_user_data = NULL;
+
+	inet_csk_reqsk_queue_removed(lsk, oreq);
+	synq_remove(tcp_sk(child));
+
+	if (sk_acceptq_is_full(lsk) && !TOM_TUNABLE(dev, soft_backlog_limit)) {
+		NET_INC_STATS_BH(LINUX_MIB_LISTENOVERFLOWS);
+		NET_INC_STATS_BH(LINUX_MIB_LISTENDROPS);
+		__reqsk_free(oreq);
+		add_to_reap_list(child);
+	} else {
+		inet_csk_reqsk_queue_add(lsk, oreq, child);
+		lsk->sk_data_ready(lsk, 0);
+	}
+#endif	
+}
+/*
  * Called when a connection is established to translate the TCP options
  * reported by HW to Linux's native format.
  */
@@ -1325,6 +1376,74 @@
 }
 
 /*
+ * Process a CPL_PASS_ESTABLISH message.  XXX a lot of the locking doesn't work
+ * if we are in TCP_SYN_RECV due to crossed SYNs
+ */
+static int
+do_pass_establish(struct t3cdev *cdev, struct mbuf *m, void *ctx)
+{
+	struct cpl_pass_establish *req = cplhdr(m);
+	struct socket *lso, *so = (struct socket *)ctx;
+	struct toedev *tdev = TOE_DEV(so);
+	// Complete socket initialization now that we have the SND_ISN
+	struct tcpcb *tp = sototcpcb(so);
+	struct toepcb *toep = tp->t_toe;
+	struct toe_tid_entry *t3c_stid;
+	struct tid_info *t;
+	unsigned int stid;
+	
+	VALIDATE_SOCK(so);
+
+	SOCK_LOCK(so);
+
+	toep->tp_wr_max = toep->tp_wr_avail = TOM_TUNABLE(tdev, max_wrs);
+	toep->tp_wr_unacked = 0;
+	toep->tp_qset = G_QNUM(ntohl(m->m_pkthdr.csum_data));
+	make_established(so, ntohl(req->snd_isn), ntohs(req->tcp_opt));
+#ifdef notyet
+	/*
+	 * XXX not sure how these checks map to us
+	 */
+	if (unlikely(sk->sk_socket)) {   // simultaneous opens only
+		sk->sk_state_change(sk);
+		sk_wake_async(sk, 0, POLL_OUT);
+	}
+	/*
+	 * The state for the new connection is now up to date.
+	 * Next check if we should add the connection to the parent's
+	 * accept queue.  When the parent closes it resets connections
+	 * on its SYN queue, so check if we are being reset.  If so we
+	 * don't need to do anything more, the coming ABORT_RPL will
+	 * destroy this socket.  Otherwise move the connection to the
+	 * accept queue.
+	 *
+	 * Note that we reset the synq before closing the server so if
+	 * we are not being reset the stid is still open.
+	 */
+	if (unlikely(!tp->forward_skb_hint)) { // removed from synq
+		__kfree_skb(skb);
+		goto unlock;
+	}
+#endif
+
+	stid = G_PASS_OPEN_TID(ntohl(req->tos_tid));
+	t = &(T3C_DATA(cdev))->tid_maps;
+	t3c_stid = lookup_stid(t, stid);
+	lso = ((struct listen_ctx *)t3c_stid->ctx)->lso;
+
+	SOCK_LOCK(lso);
+	m_free(m);
+	add_pass_open_to_parent(so, lso, tdev);
+	SOCK_UNLOCK(lso);
+#if 0
+unlock:
+#endif
+	SOCK_UNLOCK(so);
+		
+	return 0;
+}
+
+/*
  * Fill in the right TID for CPL messages waiting in the out-of-order queue
  * and send them to the TOE.
  */
@@ -1544,7 +1663,8 @@
 /*
  * Handler for TX_DATA_ACK CPL messages.
  */
-static int do_wr_ack(struct t3cdev *dev, struct mbuf *m, void *ctx)
+static int
+do_wr_ack(struct t3cdev *dev, struct mbuf *m, void *ctx)
 {
 	struct socket *so = (struct socket *)ctx;
 
@@ -1556,7 +1676,61 @@
 	return 0;
 }
 
+
+/*
+ * Reset a connection that is on a listener's SYN queue or accept queue,
+ * i.e., one that has not had a struct socket associated with it.
+ * Must be called from process context.
+ *
+ * Modeled after code in inet_csk_listen_stop().
+ */
+static void
+t3_reset_listen_child(struct socket *child)
+{
+	SOCK_LOCK(child);
+	t3_send_reset(child);
+	SOCK_UNLOCK(child);
+}
+
+/*
+ * Disconnect offloaded established but not yet accepted connections sitting
+ * on a server's accept_queue.  We just send an ABORT_REQ at this point and
+ * finish off the disconnect later as we may need to wait for the ABORT_RPL.
+ */
 void
+t3_disconnect_acceptq(struct socket *listen_so)
+{
+	struct socket *so;
+	struct tcpcb *tp;
+
+	TAILQ_FOREACH(so, &listen_so->so_comp, so_list) {
+		tp = sototcpcb(so);
+		
+		if (tp->t_flags & TF_TOE)
+			t3_reset_listen_child(so);
+	}
+}
+
+/*
+ * Reset offloaded connections sitting on a server's syn queue.  As above
+ * we send ABORT_REQ and finish off when we get ABORT_RPL.
+ */
+
+void
+t3_reset_synq(struct socket *listen_so)
+{
+	struct socket *so;
+	struct tcpcb *tp;
+
+	TAILQ_FOREACH(so, &listen_so->so_incomp, so_list) {
+		tp = sototcpcb(so);
+		
+		if (tp->t_flags & TF_TOE)
+			t3_reset_listen_child(so);
+	}
+}
+
+void
 t3_init_wr_tab(unsigned int wr_len)
 {
 	int i;
@@ -1596,14 +1770,15 @@
 	t3tom_register_cpl_handler(CPL_RX_DATA, do_rx_data);
 	t3tom_register_cpl_handler(CPL_CLOSE_CON_RPL, do_close_con_rpl);
 	t3tom_register_cpl_handler(CPL_PEER_CLOSE, do_peer_close);
+	t3tom_register_cpl_handler(CPL_PASS_ESTABLISH, do_pass_establish);
 #ifdef notyet	
-	t3tom_register_cpl_handler(CPL_PASS_ESTABLISH, do_pass_establish);
 	t3tom_register_cpl_handler(CPL_PASS_ACCEPT_REQ, do_pass_accept_req);
+	t3tom_register_cpl_handler(CPL_ABORT_REQ_RSS, do_abort_req);
+	t3tom_register_cpl_handler(CPL_ABORT_RPL_RSS, do_abort_rpl);
+
 	t3tom_register_cpl_handler(CPL_RX_URG_NOTIFY, do_rx_urg_notify);
 	t3tom_register_cpl_handler(CPL_RX_DATA_DDP, do_rx_data_ddp);
 	t3tom_register_cpl_handler(CPL_RX_DDP_COMPLETE, do_rx_ddp_complete);
-	t3tom_register_cpl_handler(CPL_ABORT_REQ_RSS, do_abort_req);
-	t3tom_register_cpl_handler(CPL_ABORT_RPL_RSS, do_abort_rpl);
 	t3tom_register_cpl_handler(CPL_TRACE_PKT, do_trace_pkt);
 	t3tom_register_cpl_handler(CPL_GET_TCB_RPL, do_get_tcb_rpl);
 #endif

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#5 (text+ko) ====

@@ -1,6 +1,8 @@
 #ifndef CXGB_DEFS_H_
 #define CXGB_DEFS_H_
 
+#define VALIDATE_TID 0
+
 #define TOEPCB(so)  ((struct toepcb *)(sototcpcb((so))->t_toe))
 #define TOE_DEV(so) (TOEPCB((so))->tp_toedev)
 #define toeptoso(toep) ((toep)->tp_tp->t_inpcb->inp_socket)
@@ -19,6 +21,8 @@
 uint32_t t3_send_rx_credits(struct tcpcb *tp, uint32_t credits, uint32_t dack, int nofail);
 void t3_cleanup_rbuf(struct tcpcb *tp);
 
+void t3_disconnect_acceptq(struct socket *listen_so);
+void t3_reset_synq(struct socket *listen_so);
 
 void toepcb_hold(struct toepcb *);
 void toepcb_release(struct toepcb *);

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_listen.c#3 (text+ko) ====

@@ -70,6 +70,9 @@
 #include 
 #include 
 
+static struct listen_info *listen_hash_add(struct tom_data *d, struct socket *so, unsigned int stid);
+static int listen_hash_del(struct tom_data *d, struct socket *so);
+
 /*
  * Process a CPL_CLOSE_LISTSRV_RPL message.  If the status is good we release
  * the STID.
@@ -87,7 +90,41 @@
 static int
 do_pass_open_rpl(struct t3cdev *cdev, struct mbuf *m, void *ctx)
 {
-	UNIMPLEMENTED();
+       	struct cpl_pass_open_rpl *rpl = cplhdr(m);
+
+	if (rpl->status != CPL_ERR_NONE) {
+		int stid = GET_TID(rpl);
+		struct listen_ctx *listen_ctx = (struct listen_ctx *)ctx;
+		struct tom_data *d = listen_ctx->tom_data;
+		struct socket *lso = listen_ctx->lso;
+
+#if VALIDATE_TID
+		if (!lso)
+			return (CPL_RET_UNKNOWN_TID | CPL_RET_BUF_DONE);
+#endif
+		/*
+		 * Note: It is safe to unconditionally call listen_hash_del()
+		 * at this point without risking unhashing a reincarnation of
+		 * an already closed socket (i.e., there is no listen, close,
+		 * listen, free the sock for the second listen while processing
+		 * a message for the first race) because we are still holding
+		 * a reference on the socket.  It is possible that the unhash
+		 * will fail because the socket is already closed, but we can't
+		 * unhash the wrong socket because it is impossible for the
+		 * socket to which this message refers to have reincarnated.
+		 */
+		listen_hash_del(d, lso);
+		cxgb_free_stid(cdev, stid);
+#ifdef notyet
+		/*
+		 * XXX need to unreference the inpcb
+		 * but we have no way of knowing that other TOMs aren't referencing it 
+		 */
+		sock_put(lso);
+#endif
+		free(listen_ctx, M_DEVBUF);
+	}
+	return CPL_RET_BUF_DONE;
 }
 
 void __init
@@ -97,6 +134,82 @@
 	t3tom_register_cpl_handler(CPL_CLOSE_LISTSRV_RPL, do_close_server_rpl);
 }
 
+static inline int
+listen_hashfn(const struct socket *so)
+{
+	return ((unsigned long)so >> 10) & (LISTEN_INFO_HASH_SIZE - 1);
+}
+
+/*
+ * Create and add a listen_info entry to the listen hash table.  This and the
+ * listen hash table functions below cannot be called from softirqs.
+ */
+static struct listen_info *
+listen_hash_add(struct tom_data *d, struct socket *so, unsigned int stid)
+{
+	struct listen_info *p;
+
+	p = malloc(sizeof(*p), M_DEVBUF, M_NOWAIT|M_ZERO);
+	if (p) {
+		int bucket = listen_hashfn(so);
+
+		p->so = so;	/* just a key, no need to take a reference */
+		p->stid = stid;
+		mtx_lock(&d->listen_lock);		
+		p->next = d->listen_hash_tab[bucket];
+		d->listen_hash_tab[bucket] = p;
+		mtx_unlock(&d->listen_lock);
+	}
+	return p;
+}
+
+#if 0
+/*
+ * Given a pointer to a listening socket return its server TID by consulting
+ * the socket->stid map.  Returns -1 if the socket is not in the map.
+ */
+static int
+listen_hash_find(struct tom_data *d, struct socket *so)
+{
+	int stid = -1, bucket = listen_hashfn(so);
+	struct listen_info *p;
+
+	spin_lock(&d->listen_lock);
+	for (p = d->listen_hash_tab[bucket]; p; p = p->next)
+		if (p->sk == sk) {
+			stid = p->stid;
+			break;
+		}
+	spin_unlock(&d->listen_lock);
+	return stid;
+}
+#endif
+
+/*
+ * Delete the listen_info structure for a listening socket.  Returns the server
+ * TID for the socket if it is present in the socket->stid map, or -1.
+ */
+static int
+listen_hash_del(struct tom_data *d, struct socket *so)
+{
+	int bucket, stid = -1;
+	struct listen_info *p, **prev;
+
+	bucket = listen_hashfn(so);
+	prev  = &d->listen_hash_tab[bucket];
+
+	mtx_lock(&d->listen_lock);
+	for (p = *prev; p; prev = &p->next, p = p->next)
+		if (p->so == so) {
+			stid = p->stid;
+			*prev = p->next;
+			free(p, M_DEVBUF);
+			break;
+		}
+	mtx_unlock(&d->listen_lock);
+	
+	return (stid);
+}
 
 /*
  * Start a listening server by sending a passive open request to HW.
@@ -104,47 +217,51 @@
 void
 t3_listen_start(struct toedev *dev, struct socket *so, struct t3cdev *cdev)
 {
-	printf("start listen\n");
-#if 0
 	int stid;
-	struct sk_buff *skb;
+	struct mbuf *m;
 	struct cpl_pass_open_req *req;
 	struct tom_data *d = TOM_DATA(dev);
+	struct inpcb *inp = sotoinpcb(so);
+	struct tcpcb *tp = sototcpcb(so);
 	struct listen_ctx *ctx;
 
 	if (!TOM_TUNABLE(dev, activated))
 		return;
 
-	ctx = kmalloc(sizeof(*ctx), GFP_KERNEL);
+	printf("start listen\n");
+	
+	ctx = malloc(sizeof(*ctx), M_DEVBUF, M_NOWAIT);
+	
 	if (!ctx)
 		return;
 
 	ctx->tom_data = d;
-	ctx->lsk = sk;
+	ctx->lso = so;
 
-	stid = cxgb3_alloc_stid(d->cdev, d->client, ctx);
+	stid = cxgb_alloc_stid(d->cdev, d->client, ctx);
 	if (stid < 0)
 		goto free_ctx;
-	
+
+#ifdef notyet
+	/*
+	 * XXX need to mark inpcb as referenced
+	 */
 	sock_hold(sk);
-
-	skb = alloc_skb(sizeof(*req), GFP_KERNEL);
-	if (!skb)
+#endif
+	m = m_gethdr(M_NOWAIT, MT_DATA);
+	if (m == NULL)
 		goto free_stid;
-
-	if (!listen_hash_add(d, sk, stid))
+	m->m_pkthdr.len = m->m_len = sizeof(*req);
+	
+	if (!listen_hash_add(d, so, stid))
 		goto free_all;
 
-	req = (struct cpl_pass_open_req *)__skb_put(skb, sizeof(*req));
+	tp->t_flags |= TF_TOE;
+	req = mtod(m, struct cpl_pass_open_req *);
 	req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
 	OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_PASS_OPEN_REQ, stid));
-#ifdef	LINUX_2_4
-	req->local_port = sk->sport;
-	req->local_ip = sk->rcv_saddr;
-#else
-	req->local_port = inet_sk(sk)->sport;
-	req->local_ip = inet_sk(sk)->rcv_saddr;
-#endif	/* LINUX_2_4 */
+	req->local_port = inp->inp_lport; 
+	memcpy(&req->local_ip, &inp->inp_laddr, 4);
 	req->peer_port = 0;
 	req->peer_ip = 0;
 	req->peer_netmask = 0;
@@ -152,18 +269,19 @@
 	req->opt0l = htonl(V_RCV_BUFSIZ(16));
 	req->opt1 = htonl(V_CONN_POLICY(CPL_CONN_POLICY_ASK));
 
-	skb->priority = CPL_PRIORITY_LISTEN;
-	cxgb3_ofld_send(cdev, skb);
+	m_set_priority(m, CPL_PRIORITY_LISTEN); 
+	cxgb_ofld_send(cdev, m);
 	return;
 
 free_all:
-	__kfree_skb(skb);
+	m_free(m);
 free_stid:
-	cxgb3_free_stid(cdev, stid);
+	cxgb_free_stid(cdev, stid);
+#if 0	
 	sock_put(sk);
+#endif	
 free_ctx:
-	kfree(ctx);
-#endif
+	free(ctx, M_DEVBUF);
 }
 
 /*
@@ -173,12 +291,11 @@
 void
 t3_listen_stop(struct toedev *dev, struct socket *so, struct t3cdev *cdev)
 {
+	struct mbuf *m;
+	struct cpl_close_listserv_req *req;
+	int stid = listen_hash_del(TOM_DATA(dev), so);
 	printf("stop listen\n");
-#if 0
-	struct sk_buff *skb;
-	struct cpl_close_listserv_req *req;
 
-	int stid = listen_hash_del(TOM_DATA(dev), sk);
 	if (stid < 0)
 		return;
 
@@ -188,20 +305,23 @@
 	 * that arrive while we are closing the server will be able to locate
 	 * the listening socket.
 	 */
-	t3_reset_synq(sk);
+	t3_reset_synq(so);
 
 	/* Send the close ASAP to stop further passive opens */
-	skb = alloc_skb_nofail(sizeof(*req));
-	req = (struct cpl_close_listserv_req *)__skb_put(skb, sizeof(*req));
+	m = m_gethdr(M_NOWAIT, MT_DATA);
+	if (m == NULL) {
+		/*
+		 * XXX allocate from lowmem cache
+		 */
+	}
+	m->m_pkthdr.len = m->m_len = sizeof(*req);
+
+	req = mtod(m, struct cpl_close_listserv_req *);
 	req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
 	OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_CLOSE_LISTSRV_REQ, stid));
 	req->cpu_idx = 0;
-	skb->priority = CPL_PRIORITY_LISTEN;
-	cxgb3_ofld_send(cdev, skb);
+	m_set_priority(m, CPL_PRIORITY_LISTEN);
+	cxgb_ofld_send(cdev, m);
 
-	t3_disconnect_acceptq(sk);
-#endif
+	t3_disconnect_acceptq(so);
 }
-
-
-

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#6 (text+ko) ====

@@ -301,9 +301,9 @@
 	skb_queue_head_init(&t->deferq);
 	T3_INIT_WORK(&t->deferq_task, process_deferq, t);
 	spin_lock_init(&t->listen_lock);
-	spin_lock_init(&t->synq_lock);
 #endif
 	t3_init_tunables(t);
+	mtx_init(&t->listen_lock, "tom data listeners", NULL, MTX_DEF);
 
 	/* Adjust TOE activation for this module */
 	t->conf.activated = activated;

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#5 (text+ko) ====

@@ -4,6 +4,13 @@
 
 #define LISTEN_INFO_HASH_SIZE 32 
 
+struct listen_info {
+	struct listen_info *next;  /* Link to next entry */
+	struct socket *so;         /* The listening socket */
+	unsigned int stid;         /* The server TID */
+};
+
+
 /*
  * TOM tunable parameters.  They can be manipulated through sysctl(2) or /proc.
  */
@@ -49,13 +56,13 @@
          */
 
         struct listen_info *listen_hash_tab[LISTEN_INFO_HASH_SIZE];
-        spinlock_t listen_lock;
+        struct mtx listen_lock;
 
         struct mbuf_head deferq;
         struct task deferq_task;
 
-        struct sock **tid_release_list;
-        spinlock_t tid_release_lock;
+        struct socket **tid_release_list;
+        struct mtx tid_release_lock;
         struct task tid_release_task;
 
 #if defined(CONFIG_T3_ZCOPY_SENDMSG) || defined(CONFIG_T3_ZCOPY_SENDMSG_MODULE)
@@ -69,9 +76,15 @@
 
         u8 *ppod_map;
         unsigned int nppods;
-        spinlock_t ppod_map_lock;
+        struct mtx ppod_map_lock;
+	
+        struct adap_ports *ports;
+};
+
 
-        struct adap_ports *ports;
+struct listen_ctx {
+	struct socket *lso;
+	struct tom_data *tom_data;
 };
 
 #define TOM_DATA(dev) (*(struct tom_data **)&(dev)->l4opt)
@@ -82,6 +95,7 @@
 #define TP_TX_WAIT_IDLE      (1 << 1)
 #define TP_FIN_SENT          (1 << 2)
 #define TP_ABORT_RPL_PENDING (1 << 3)
+#define TP_ABORT_SHUTDOWN    (1 << 4)
 
 struct toepcb {
 	struct toedev *tp_toedev;

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/notes#2 (text+ko) ====

@@ -1,8 +1,9 @@
+Currently untested:
+ - abort
 
 Currently unimplemented:
  - correct credit return accounting
- - listen
- - abort
+ - complete listen handling
  - close for a subset of states
  - correct ARP failure handling
  - urgent data

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 03:15:27 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 0D91016A421; Mon,  5 Nov 2007 03:15:27 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 9D45D16A41A
	for ; Mon,  5 Nov 2007 03:15:26 +0000 (UTC)
	(envelope-from jb@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 9392B13C4B5
	for ; Mon,  5 Nov 2007 03:15:26 +0000 (UTC)
	(envelope-from jb@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA53FQVv043487
	for ; Mon, 5 Nov 2007 03:15:26 GMT
	(envelope-from jb@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA53FQ4r043484
	for perforce@freebsd.org; Mon, 5 Nov 2007 03:15:26 GMT
	(envelope-from jb@freebsd.org)
Date: Mon, 5 Nov 2007 03:15:26 GMT
Message-Id: <200711050315.lA53FQ4r043484@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	jb@freebsd.org using -f
From: John Birrell 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 128665 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, 05 Nov 2007 03:15:27 -0000

http://perforce.freebsd.org/chv.cgi?CH=128665

Change 128665 by jb@jb_freebsd1 on 2007/11/05 03:14:56

	Remove some temporary hacks.
	
	Fix 3 function prototypes definitions.

Affected files ...

.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/cyclic.h#3 edit

Differences ...

==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/cyclic.h#3 (text) ====

@@ -35,17 +35,8 @@
 
 #ifndef _ASM
 #include 
-#if defined(sun)
 #include 
 #include 
-#else
-#ifdef _KERNEL
-#include 
-typepdef struct pcpu cpu_t;
-#else
-#define cpu_t	void
-#endif
-#endif
 #endif /* !_ASM */
 
 #define	CY_LOW_LEVEL		0
@@ -88,15 +79,15 @@
 extern cyclic_id_t cyclic_add_omni(cyc_omni_handler_t *);
 extern void cyclic_remove(cyclic_id_t);
 extern void cyclic_bind(cyclic_id_t, cpu_t *, cpupart_t *);
-extern hrtime_t cyclic_getres();
+extern hrtime_t cyclic_getres(void);
 
 extern int cyclic_offline(cpu_t *cpu);
 extern void cyclic_online(cpu_t *cpu);
 extern int cyclic_juggle(cpu_t *cpu);
 extern void cyclic_move_in(cpu_t *);
 extern int cyclic_move_out(cpu_t *);
-extern void cyclic_suspend();
-extern void cyclic_resume();
+extern void cyclic_suspend(void);
+extern void cyclic_resume(void);
 
 extern void cyclic_fire(cpu_t *cpu);
 extern void cyclic_softint(cpu_t *cpu, cyc_level_t level);

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 03:17:29 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 9F88116A41A; Mon,  5 Nov 2007 03:17:29 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 222F816A418
	for ; Mon,  5 Nov 2007 03:17:29 +0000 (UTC)
	(envelope-from jb@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id F411D13C4A3
	for ; Mon,  5 Nov 2007 03:17:28 +0000 (UTC)
	(envelope-from jb@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA53HSwo043547
	for ; Mon, 5 Nov 2007 03:17:28 GMT
	(envelope-from jb@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA53HSBU043544
	for perforce@freebsd.org; Mon, 5 Nov 2007 03:17:28 GMT
	(envelope-from jb@freebsd.org)
Date: Mon, 5 Nov 2007 03:17:28 GMT
Message-Id: <200711050317.lA53HSBU043544@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	jb@freebsd.org using -f
From: John Birrell 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 128666 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, 05 Nov 2007 03:17:29 -0000

http://perforce.freebsd.org/chv.cgi?CH=128666

Change 128666 by jb@jb_freebsd1 on 2007/11/05 03:17:22

	Avoid discarding qualifiers when casting.

Affected files ...

.. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/atomic.h#2 edit

Differences ...

==== //depot/projects/dtrace/src/sys/compat/opensolaris/sys/atomic.h#2 (text+ko) ====

@@ -106,7 +106,7 @@
 static __inline void *
 atomic_cas_ptr(volatile void *target, void *cmp,  void *newval)
 {
-	return ((void *)atomic_cas_64((uint64_t *)target, (uint64_t)cmp,
+	return ((void *)atomic_cas_64((volatile uint64_t *)target, (uint64_t)cmp,
 	    (uint64_t)newval));
 }
 #endif

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 07:47:34 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 681EA16A419; Mon,  5 Nov 2007 07:47:34 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 065AA16A524
	for ; Mon,  5 Nov 2007 07:47:34 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id F0B6513C4B5
	for ; Mon,  5 Nov 2007 07:47:33 +0000 (UTC)
	(envelope-from kmacy@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA57lXjo045915
	for ; Mon, 5 Nov 2007 07:47:33 GMT
	(envelope-from kmacy@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA57lXlB045912
	for perforce@freebsd.org; Mon, 5 Nov 2007 07:47:33 GMT
	(envelope-from kmacy@freebsd.org)
Date: Mon, 5 Nov 2007 07:47:33 GMT
Message-Id: <200711050747.lA57lXlB045912@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 128668 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, 05 Nov 2007 07:47:34 -0000

http://perforce.freebsd.org/chv.cgi?CH=128668

Change 128668 by kmacy@kmacy:storage:toestack on 2007/11/05 07:47:18

	handle listen close
	don't set offload flag so as to avoid dereferencing null toe_usrreqs

Affected files ...

.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_listen.c#4 edit
.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#7 edit

Differences ...

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_listen.c#4 (text+ko) ====

@@ -56,6 +56,7 @@
 #include 
 #include 
 #include 
+
 #include 
 #include 
 
@@ -80,7 +81,23 @@
 static int
 do_close_server_rpl(struct t3cdev *cdev, struct mbuf *m, void *ctx)
 {
-	UNIMPLEMENTED();
+	struct cpl_close_listserv_rpl *rpl = cplhdr(m);
+	unsigned int stid = GET_TID(rpl);
+
+	if (rpl->status != CPL_ERR_NONE)
+		log(LOG_ERR, "Unexpected CLOSE_LISTSRV_RPL status %u for "
+		       "STID %u\n", rpl->status, stid);
+	else {
+		struct listen_ctx *listen_ctx = (struct listen_ctx *)ctx;
+
+		cxgb_free_stid(cdev, stid);
+#if 0		
+		sock_put(listen_ctx->lsk);
+#endif		
+		free(listen_ctx, M_DEVBUF);
+	}
+
+	return (CPL_RET_BUF_DONE);
 }
 
 /*
@@ -222,7 +239,6 @@
 	struct cpl_pass_open_req *req;
 	struct tom_data *d = TOM_DATA(dev);
 	struct inpcb *inp = sotoinpcb(so);
-	struct tcpcb *tp = sototcpcb(so);
 	struct listen_ctx *ctx;
 
 	if (!TOM_TUNABLE(dev, activated))
@@ -256,7 +272,6 @@
 	if (!listen_hash_add(d, so, stid))
 		goto free_all;
 
-	tp->t_flags |= TF_TOE;
 	req = mtod(m, struct cpl_pass_open_req *);
 	req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD));
 	OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_PASS_OPEN_REQ, stid));
@@ -294,8 +309,7 @@
 	struct mbuf *m;
 	struct cpl_close_listserv_req *req;
 	int stid = listen_hash_del(TOM_DATA(dev), so);
-	printf("stop listen\n");
-
+	
 	if (stid < 0)
 		return;
 

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#7 (text+ko) ====

@@ -358,8 +358,13 @@
 		TAILQ_FOREACH(p, &cxgb_list, entry) {
 			if (event == OFLD_LISTEN_OPEN)
 				t3_listen_start(&p->tdev, so, p->cdev);
-			else
+			else if (tp->t_state == TCPS_LISTEN) {
+				printf("stopping listen on port=%d\n",
+				    ntohs(tp->t_inpcb->inp_lport));
+				
 				t3_listen_stop(&p->tdev, so, p->cdev);
+			}
+			
 		}
 		mtx_unlock(&cxgb_list_lock);
 		break;

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 13:29:53 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 12CC916A41B; Mon,  5 Nov 2007 13:29:53 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 31A5916A417
	for ; Mon,  5 Nov 2007 13:29:52 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 1FBF413C480
	for ; Mon,  5 Nov 2007 13:29:52 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5DTphk085182
	for ; Mon, 5 Nov 2007 13:29:52 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5DTp3A085179
	for perforce@freebsd.org; Mon, 5 Nov 2007 13:29:51 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 13:29:51 GMT
Message-Id: <200711051329.lA5DTp3A085179@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 128680 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, 05 Nov 2007 13:29:53 -0000

http://perforce.freebsd.org/chv.cgi?CH=128680

Change 128680 by gonzo@gonzo_jeeves on 2007/11/05 13:29:17

	o Make new interface for platform_start. Now this function
	    accepts for arguments of __register_t which correspond
	    to a0..a3 registers respectively. It's up to platform_start
	    implementation to use them in a machine-dependent fashion.
	o MALTA board obtaines memory size from a3 register

Affected files ...

.. //depot/projects/mips2/src/sys/mips/include/hwfunc.h#2 edit
.. //depot/projects/mips2/src/sys/mips/mips32/adm5120/adm5120_machdep.c#2 edit
.. //depot/projects/mips2/src/sys/mips/mips32/idt/idt_machdep.c#5 edit
.. //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#4 edit
.. //depot/projects/mips2/src/sys/mips/mips32/sentry5/s5_machdep.c#3 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/include/hwfunc.h#2 (text+ko) ====

@@ -37,6 +37,6 @@
 void platform_halt(void);
 void platform_intr(struct trapframe *);
 void platform_reset(void);
-void platform_start(int, char *[]);
+void platform_start(__register_t, __register_t,  __register_t, __register_t);
 
 #endif /* !_MACHINE_HWFUNC_H_ */

==== //depot/projects/mips2/src/sys/mips/mips32/adm5120/adm5120_machdep.c#2 (text+ko) ====

@@ -146,7 +146,8 @@
 }
 
 void
-platform_start(int argc, char **argv)
+platform_start(__register_t a0 __unused, __register_t a1 __unused, 
+    __register_t a2 __unused, __register_t a3 __unused)
 {
 	vm_offset_t kernend;
 	uint64_t platform_counter_freq = 175 * 1000 * 1000;

==== //depot/projects/mips2/src/sys/mips/mips32/idt/idt_machdep.c#5 (text+ko) ====

@@ -109,7 +109,8 @@
 }
 
 void
-platform_start(int argc, char **argv)
+platform_start(__register_t a0 __unused, __register_t a1 __unused, 
+    __register_t a2 __unused, __register_t a3 __unused)
 {
 	uint64_t platform_counter_freq;
 	vm_offset_t kernend;

==== //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#4 (text+ko) ====

@@ -159,16 +159,11 @@
 }
 #endif
 
-void
+static void
 mips_init(void)
 {
 	int i;
 
-	printf("entry: mips_init()\n");
-
-	bootverbose = 1;
-	realmem = btoc(64 << 20);
-
 	for (i = 0; i < 10; i++) {
 		phys_avail[i] = 0;
 	}
@@ -238,18 +233,41 @@
 }
 
 void
-platform_start(int argc, char **argv)
+platform_start(__register_t a0, __register_t a1,  __register_t a2, 
+    __register_t a3)
 {
 	vm_offset_t kernend;
 	uint64_t platform_counter_freq;
+	int argc = a0;
+	char **argv = (char **)a1;
+	char **envp = (char **)a2;
+	unsigned int memsize = a3;
+	int i;
 
 	/* clear the BSS and SBSS segments */
 	kernend = round_page((vm_offset_t)&end);
 	memset(&edata, 0, kernend - (vm_offset_t)(&edata));
 
 	cninit();
+	printf("entry: platform_start()\n");
 
+	bootverbose = 1;
+	if (bootverbose) {
+		printf("cmd line: ");
+		for (i = 0; i < argc; i++)
+			printf("%s ", argv[i]);
+		printf("\n");
+
+		printf("envp:\n");
+		for (i = 0; envp[i]; i += 2)
+			printf("\t%s = %s\n", envp[i], envp[i+1]);
+
+		printf("memsize = %08x\n", memsize);
+	}
+
+	realmem = btoc(memsize);
 	mips_init();
+
 	do {
 #if defined(TICK_USE_YAMON_FREQ)
 		/*

==== //depot/projects/mips2/src/sys/mips/mips32/sentry5/s5_machdep.c#3 (text+ko) ====

@@ -187,7 +187,8 @@
 }
 
 void
-platform_start(int argc, char **argv)
+platform_start(__register_t a0 __unused, __register_t a1 __unused, 
+    __register_t a2 __unused, __register_t a3 __unused)
 {
 	vm_offset_t kernend;
 	uint64_t platform_counter_freq;

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 15:28:04 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 321D716A41B; Mon,  5 Nov 2007 15:28:04 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B3F5916A419
	for ; Mon,  5 Nov 2007 15:28:03 +0000 (UTC)
	(envelope-from swise@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 9DFB713C4B0
	for ; Mon,  5 Nov 2007 15:28:03 +0000 (UTC)
	(envelope-from swise@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5FS38L093246
	for ; Mon, 5 Nov 2007 15:28:03 GMT
	(envelope-from swise@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5FS38Z093243
	for perforce@freebsd.org; Mon, 5 Nov 2007 15:28:03 GMT
	(envelope-from swise@FreeBSD.org)
Date: Mon, 5 Nov 2007 15:28:03 GMT
Message-Id: <200711051528.lA5FS38Z093243@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	swise@FreeBSD.org using -f
From: Steve Wise 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 128682 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, 05 Nov 2007 15:28:04 -0000

http://perforce.freebsd.org/chv.cgi?CH=128682

Change 128682 by swise@swise:vic10:iwarp on 2007/11/05 15:27:49

	Get rdma_add.c to compile and load.

Affected files ...

.. //depot/projects/iwarp/sys/contrib/rdma/ib_addr.h#3 edit
.. //depot/projects/iwarp/sys/contrib/rdma/rdma_addr.c#2 edit

Differences ...

==== //depot/projects/iwarp/sys/contrib/rdma/ib_addr.h#3 (text+ko) ====

@@ -31,10 +31,15 @@
 #define IB_ADDR_H
 
 #include 
+#include 
+#include 
+
+#define MAX_ADDR_LEN ETHER_ADDR_LEN	/* XXX doesn't support IB! */
 
 struct rdma_addr_client {
 	atomic_t refcount;
 	struct cv comp;
+	struct mtx lock;
 };
 
 /**
@@ -86,7 +91,7 @@
 
 void rdma_addr_cancel(struct rdma_dev_addr *addr);
 
-int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
+int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct ifnet *dev,
 	      const unsigned char *dst_dev_addr);
 
 static inline int ip_addr_size(struct sockaddr *addr)

==== //depot/projects/iwarp/sys/contrib/rdma/rdma_addr.c#2 (text+ko) ====

@@ -31,9 +31,11 @@
 #include 
 
 #include 
+#include 
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -41,10 +43,18 @@
 #include 
 #include 
 #include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
 
+#include 
 
-#include 
 #include 
+#include 
 
 #include 
 
@@ -67,50 +77,51 @@
 	int status;
 };
 
-static void process_req(struct work_struct *work);
+static void process_req(void *ctx, int pending);
 
 static struct mtx lock;
 
-static TAILQ_HEAD(, addr_req) req_list;
-static DECLARE_DELAYED_WORK(work, process_req);
-static struct taskqueue *addr_wq;
+static TAILQ_HEAD(addr_req_list, addr_req) req_list;
+static struct task addr_task;
+static struct taskqueue *addr_taskq;
+static struct callout addr_ch;
+static eventhandler_tag route_event_tag;
+
+static void addr_timeout(void *arg)
+{
+	taskqueue_enqueue(addr_taskq, &addr_task);
+}
 
 void rdma_addr_register_client(struct rdma_addr_client *client)
 {
 	atomic_set(&client->refcount, 1);
-	init_completion(&client->comp);
+	mtx_init(&client->lock, "rdma_addr client lock", NULL, MTX_DEF);
+	cv_init(&client->comp, "rdma_addr cv");
 }
 EXPORT_SYMBOL(rdma_addr_register_client);
 
 static inline void put_client(struct rdma_addr_client *client)
 {
+	mtx_lock(&client->lock);
 	if (atomic_dec_and_test(&client->refcount))
-		complete(&client->comp);
+		cv_signal(&client->comp);
+	mtx_unlock(&client->lock);
 }
 
 void rdma_addr_unregister_client(struct rdma_addr_client *client)
 {
 	put_client(client);
-	wait_for_completion(&client->comp);
+	mtx_lock(&client->lock);
+	cv_wait(&client->comp, &client->lock);
 }
 EXPORT_SYMBOL(rdma_addr_unregister_client);
 
-int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
+int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct ifnet *dev,
 		     const unsigned char *dst_dev_addr)
 {
-	switch (dev->type) {
-	case ARPHRD_INFINIBAND:
-		dev_addr->dev_type = RDMA_NODE_IB_CA;
-		break;
-	case ARPHRD_ETHER:
-		dev_addr->dev_type = RDMA_NODE_RNIC;
-		break;
-	default:
-		return (EADDRNOTAVAIL);
-	}
-
-	memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
-	memcpy(dev_addr->broadcast, dev->broadcast, MAX_ADDR_LEN);
+	dev_addr->dev_type = RDMA_NODE_RNIC;
+	memcpy(dev_addr->src_dev_addr, IF_LLADDR(dev), MAX_ADDR_LEN);
+	memcpy(dev_addr->broadcast, dev->if_broadcastaddr, MAX_ADDR_LEN);
 	if (dst_dev_addr)
 		memcpy(dev_addr->dst_dev_addr, dst_dev_addr, MAX_ADDR_LEN);
 	return 0;
@@ -119,167 +130,138 @@
 
 int rdma_translate_ip(struct sockaddr *addr, struct rdma_dev_addr *dev_addr)
 {
-	struct net_device *dev;
-	__be32 ip = ((struct sockaddr_in *) addr)->sin_addr.s_addr;
 	int ret;
+	struct route iproute;
+	struct sockaddr_in *dst = (struct sockaddr_in *)&iproute.ro_dst;
 
-	dev = ip_dev_find(ip);
-	if (!dev)
+	bzero(&iproute, sizeof iproute);
+	dst->sin_family = AF_INET;
+	dst->sin_len = sizeof dst;
+	dst->sin_addr.s_addr = ((struct sockaddr_in *)addr)->sin_addr.s_addr;
+
+	rtalloc(&iproute);
+	if (iproute.ro_rt == NULL);
 		return (EADDRNOTAVAIL);
 
-	ret = rdma_copy_addr(dev_addr, dev, NULL);
-	dev_put(dev);
+	ret = rdma_copy_addr(dev_addr, iproute.ro_rt->rt_ifp, NULL);
+	rtfree(iproute.ro_rt);
 	return ret;
 }
 EXPORT_SYMBOL(rdma_translate_ip);
 
 static void queue_req(struct addr_req *req)
 {
-	struct addr_req *temp_req;
+	struct addr_req *tmp_req;
 	
 	mtx_lock(&lock);
-	TAILQ_FOREACH_REVERSE(tmp_req, &req_list, req_list, entry)
-	    if (time_after_eq(req->timeout, temp_req->timeout))
+	TAILQ_FOREACH_REVERSE(tmp_req, &req_list, addr_req_list, entry)
+	    if (time_after_eq(req->timeout, tmp_req->timeout))
 		    break;
 	
 	TAILQ_INSERT_AFTER(&req_list, tmp_req, req, entry);
 	
 	if (TAILQ_FIRST(&req_list) == req)	
-		callout_reset(&work, req->timeout - ticks);
+		callout_reset(&addr_ch, req->timeout - ticks, addr_timeout, NULL);
 	mtx_unlock(&lock);
 }
 
 static void addr_send_arp(struct sockaddr_in *dst_in)
 {
-	struct rtenry *rt;
-	u32 dst_ip = dst_in->sin_addr.s_addr;
+	struct route iproute;
+	struct sockaddr_in *dst = (struct sockaddr_in *)&iproute.ro_dst;
+	char dmac[ETHER_ADDR_LEN];
+
+	bzero(&iproute, sizeof iproute);
+	*dst = *dst_in;
 
-	memset(&fl, 0, sizeof fl);
-	fl.nl_u.ip4_u.daddr = dst_ip;
-	if (ip_route_output_key(&rt, &fl))
+	rtalloc(&iproute);
+	if (iproute.ro_rt == NULL);
 		return;
 
-	arp_send(ARPOP_REQUEST, ETH_P_ARP, rt->rt_gateway, rt->idev->dev,
-		 rt->rt_src, NULL, rt->idev->dev->dev_addr, NULL);
-	ip_rt_put(rt);
+	arpresolve(iproute.ro_rt->rt_ifp, iproute.ro_rt, NULL, 
+		   rt_key(iproute.ro_rt), dmac);
+
+	rtfree(iproute.ro_rt);
 }
 
 static int addr_resolve_remote(struct sockaddr_in *src_in,
 			       struct sockaddr_in *dst_in,
 			       struct rdma_dev_addr *addr)
 {
-	u32 src_ip = src_in->sin_addr.s_addr;
-	u32 dst_ip = dst_in->sin_addr.s_addr;
-	struct flowi fl;
-	struct rtable *rt;
-	struct neighbour *neigh;
-	int ret;
+	int ret = 0;
+	struct route iproute;
+	struct sockaddr_in *dst = (struct sockaddr_in *)&iproute.ro_dst;
+	char dmac[ETHER_ADDR_LEN];
+
+	bzero(&iproute, sizeof iproute);
+	*dst = *dst_in;
 
-	memset(&fl, 0, sizeof fl);
-	fl.nl_u.ip4_u.daddr = dst_ip;
-	fl.nl_u.ip4_u.saddr = src_ip;
-	ret = ip_route_output_key(&rt, &fl);
-	if (ret)
+	rtalloc(&iproute);
+	if (iproute.ro_rt == NULL);
 		goto out;
 
 	/* If the device does ARP internally, return 'done' */
-	if (rt->idev->dev->flags & IFF_NOARP) {
-		rdma_copy_addr(addr, rt->idev->dev, NULL);
+	if (iproute.ro_rt->rt_ifp->if_flags & IFF_NOARP) {
+		rdma_copy_addr(addr, iproute.ro_rt->rt_ifp, NULL);
 		goto put;
 	}
-
-	neigh = neigh_lookup(&arp_tbl, &rt->rt_gateway, rt->idev->dev);
-	if (!neigh) {
-		ret = ENODATA;
+ 	ret = arpresolve(iproute.ro_rt->rt_ifp, iproute.ro_rt, NULL, 
+		rt_key(iproute.ro_rt), dmac);
+	if (ret) {
 		goto put;
 	}
 
-	if (!(neigh->nud_state & NUD_VALID)) {
-		ret = ENODATA;
-		goto release;
-	}
-
-	if (!src_ip) {
+	if (!src_in->sin_addr.s_addr) {
+		src_in->sin_len = sizeof *src_in;
 		src_in->sin_family = dst_in->sin_family;
-		src_in->sin_addr.s_addr = rt->rt_src;
+		src_in->sin_addr.s_addr = ((struct sockaddr_in *)iproute.ro_rt->rt_ifa->ifa_addr)->sin_addr.s_addr;
 	}
 
-	ret = rdma_copy_addr(addr, neigh->dev, neigh->ha);
-release:
-	neigh_release(neigh);
+	ret = rdma_copy_addr(addr, iproute.ro_rt->rt_ifp, dmac);
 put:
-	ip_rt_put(rt);
+	rtfree(iproute.ro_rt);
 out:
 	return ret;
 }
 
-static void process_req(struct work_struct *work)
+static void process_req(void *ctx, int pending)
 {
-	struct addr_req *req, *temp_req;
+	struct addr_req *req, *tmp_req;
 	struct sockaddr_in *src_in, *dst_in;
-	struct list_head done_list;
+	TAILQ_HEAD(, addr_req) done_list;
 
 	TAILQ_INIT(&done_list);
 
 	mtx_lock(&lock);
-	list_for_each_entry_safe(req, temp_req, &req_list, list) {
-		if (req->status == ENODATA) {
+	TAILQ_FOREACH_SAFE(req, &req_list, entry, tmp_req) {
+		if (req->status == EWOULDBLOCK) {
 			src_in = (struct sockaddr_in *) &req->src_addr;
 			dst_in = (struct sockaddr_in *) &req->dst_addr;
 			req->status = addr_resolve_remote(src_in, dst_in,
 							  req->addr);
-			if (req->status && time_after_eq(jiffies, req->timeout))
+			if (req->status && time_after_eq(ticks, req->timeout))
 				req->status = ETIMEDOUT;
-			else if (req->status == ENODATA)
+			else if (req->status == EWOULDBLOCK)
 				continue;
 		}
-		list_move_tail(&req->list, &done_list);
+		TAILQ_REMOVE(&req_list, req, entry);
+		TAILQ_INSERT_TAIL(&done_list, req, entry);
 	}
 
-	if (!list_empty(&req_list)) {
-		req = list_entry(req_list.next, struct addr_req, list);
-		callout_reset(&work, req->timeout - ticks);
+	if (!TAILQ_EMPTY(&req_list)) {
+		req = TAILQ_FIRST(&req_list);
+		callout_reset(&addr_ch, req->timeout - ticks, addr_timeout, 
+			NULL);
 	}
 	mtx_unlock(&lock);
 
-	list_for_each_entry_safe(req, temp_req, &done_list, list) {
-		list_del(&req->list);
+	TAILQ_FOREACH_SAFE(req, &done_list, entry, tmp_req) {
+		TAILQ_REMOVE(&done_list, req, entry);
 		req->callback(req->status, &req->src_addr, req->addr,
 			      req->context);
 		put_client(req->client);
-		kfree(req);
-	}
-}
-
-static int addr_resolve_local(struct sockaddr_in *src_in,
-			      struct sockaddr_in *dst_in,
-			      struct rdma_dev_addr *addr)
-{
-	struct net_device *dev;
-	u32 src_ip = src_in->sin_addr.s_addr;
-	__be32 dst_ip = dst_in->sin_addr.s_addr;
-	int ret;
-
-	dev = ip_dev_find(dst_ip);
-	if (!dev)
-		return (EADDRNOTAVAIL);
-
-	if (ZERONET(src_ip)) {
-		src_in->sin_family = dst_in->sin_family;
-		src_in->sin_addr.s_addr = dst_ip;
-		ret = rdma_copy_addr(addr, dev, dev->dev_addr);
-	} else if (LOOPBACK(src_ip)) {
-		ret = rdma_translate_ip((struct sockaddr *)dst_in, addr);
-		if (!ret)
-			memcpy(addr->dst_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
-	} else {
-		ret = rdma_translate_ip((struct sockaddr *)src_in, addr);
-		if (!ret)
-			memcpy(addr->dst_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
+		free(req, M_DEVBUF);
 	}
-
-	dev_put(dev);
-	return ret;
 }
 
 int rdma_resolve_ip(struct rdma_addr_client *client,
@@ -293,7 +275,7 @@
 	struct addr_req *req;
 	int ret = 0;
 
-	req = kmalloc(sizeof *req, GFP_KERNEL);
+	req = malloc(sizeof *req, M_DEVBUF, M_WAITOK);
 	if (!req)
 		return (ENOMEM);
 	memset(req, 0, sizeof *req);
@@ -310,24 +292,22 @@
 	src_in = (struct sockaddr_in *) &req->src_addr;
 	dst_in = (struct sockaddr_in *) &req->dst_addr;
 
-	req->status = addr_resolve_local(src_in, dst_in, addr);
-	if (req->status == EADDRNOTAVAIL)
-		req->status = addr_resolve_remote(src_in, dst_in, addr);
+	req->status = addr_resolve_remote(src_in, dst_in, addr);
 
 	switch (req->status) {
 	case 0:
-		req->timeout = jiffies;
+		req->timeout = ticks;
 		queue_req(req);
 		break;
-	case ENODATA:
-		req->timeout = msecs_to_jiffies(timeout_ms) + jiffies;
+	case EWOULDBLOCK:
+		req->timeout = msecs_to_ticks(timeout_ms) + ticks;
 		queue_req(req);
 		addr_send_arp(dst_in);
 		break;
 	default:
 		ret = req->status;
 		atomic_dec(&client->refcount);
-		kfree(req);
+		free(req, M_DEVBUF);
 		break;
 	}
 	return ret;
@@ -336,15 +316,16 @@
 
 void rdma_addr_cancel(struct rdma_dev_addr *addr)
 {
-	struct addr_req *req, *temp_req;
+	struct addr_req *req, *tmp_req;
 
 	mtx_lock(&lock);
-	list_for_each_entry_safe(req, temp_req, &req_list, list) {
+	TAILQ_FOREACH_SAFE(req, &req_list, entry, tmp_req) {
 		if (req->addr == addr) {
 			req->status = ECANCELED;
-			req->timeout = jiffies;
-			list_move(&req->list, &req_list);
-			callout_reset(&work, req->timeout - ticks);
+			req->timeout = ticks;
+			TAILQ_REMOVE(&req_list, req, entry);
+			TAILQ_INSERT_HEAD(&req_list, req, entry);
+			callout_reset(&addr_ch, req->timeout - ticks, addr_timeout, NULL);
 			break;
 		}
 	}
@@ -352,36 +333,77 @@
 }
 EXPORT_SYMBOL(rdma_addr_cancel);
 
-static int netevent_callback(struct notifier_block *self, unsigned long event,
-	void *ctx)
+static void
+route_event_callback(void *unused, int event, struct rtentry *rt0, struct rtentry *rt1)
 {
-	if (event == NETEVENT_NEIGH_UPDATE) {
-		struct neighbour *neigh = ctx;
-
-		if (neigh->nud_state & NUD_VALID) {
-			callout_reset(&work, 0);
-		}
+	if (event == RTEVENT_ARP_UPDATE) {
+		callout_stop(&addr_ch);
+		taskqueue_enqueue(addr_taskq, &addr_task);
 	}
-	return 0;
 }
 
-static struct notifier_block nb = {
-	.notifier_call = netevent_callback
-};
-
 static int addr_init(void)
 {
+	TAILQ_INIT(&req_list);
+	mtx_init(&lock, "rdma_addr req_list lock", NULL, MTX_DEF);
+
+	addr_taskq = taskqueue_create("rdma_addr_taskq", M_WAITOK,
+		taskqueue_thread_enqueue, &addr_taskq);
+        if (addr_taskq == NULL) {
+                printf("failed to allocate rdma_addr taskqueue\n");
+                return (ENOMEM);
+        }
+        taskqueue_start_threads(&addr_taskq, 1, PI_NET, "rdma_addr taskq");
+        TASK_INIT(&addr_task, 0, process_req, NULL);
+
 	callout_init(&addr_ch, TRUE);
 
-	register_netevent_notifier(&nb);
+	route_event_tag = EVENTHANDLER_REGISTER(route_event, 
+		route_event_callback, NULL, EVENTHANDLER_PRI_ANY);
+
 	return 0;
 }
 
 static void addr_cleanup(void)
 {
-	unregister_netevent_notifier(&nb);
-	taskqueue_free(addr_wq);
+	EVENTHANDLER_DEREGISTER(route_event_callback, route_event_tag);
+	callout_stop(&addr_ch);
+	taskqueue_drain(addr_taskq, &addr_task);
+	taskqueue_free(addr_taskq);
+}
+
+static int 
+addr_load(module_t mod, int cmd, void *arg)
+{
+        int err = 0;
+
+        switch (cmd) {
+        case MOD_LOAD:
+                printf("Loading rdma_addr.\n");
+
+                addr_init();
+                break;
+        case MOD_QUIESCE:
+                break;
+        case MOD_UNLOAD:
+                printf("Unloading rdma_addr.\n");
+		addr_cleanup();
+                break;
+        case MOD_SHUTDOWN:
+                break;
+        default:
+                err = EOPNOTSUPP;
+                break;
+        }
+
+        return (err);
 }
 
-module_init(addr_init);
-module_exit(addr_cleanup);
+static moduledata_t mod_data = {
+	"rdma_addr",
+	addr_load,
+	0
+};
+
+MODULE_VERSION(rdma_addr, 1);
+DECLARE_MODULE(rdma_addr, mod_data, SI_SUB_EXEC, SI_ORDER_ANY);

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 18:54:52 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id AAD6C16A418; Mon,  5 Nov 2007 18:54:52 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 846E216A41B
	for ; Mon,  5 Nov 2007 18:54:51 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 54AB513C480
	for ; Mon,  5 Nov 2007 18:54:51 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5IspQT014788
	for ; Mon, 5 Nov 2007 18:54:51 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5IspJx014785
	for perforce@freebsd.org; Mon, 5 Nov 2007 18:54:51 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 18:54:51 GMT
Message-Id: <200711051854.lA5IspJx014785@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 128688 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, 05 Nov 2007 18:54:53 -0000

http://perforce.freebsd.org/chv.cgi?CH=128688

Change 128688 by gonzo@gonzo_jeeves on 2007/11/05 18:53:51

	o Perform PCI registers fixup for Korina ethernet on 
	    PCI bridge initialization.

Affected files ...

.. //depot/projects/mips2/src/sys/mips/mips32/idt/idtpci.c#4 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/mips32/idt/idtpci.c#4 (text+ko) ====

@@ -111,6 +111,13 @@
 #define REG_READ(o) *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1(IDT_BASE_PCI + (o)))
 #define REG_WRITE(o,v) (REG_READ(o)) = (v)
 
+unsigned int korina_fixup[24] = { 
+	0x00000157, 0x00000000, 0x00003c04, 0x00000008, 0x18800001, 0x18000001,
+	0x48000008, 0x00000000, 0x00000000, 0x00000000, 0x011d0214, 0x00000000,
+	0x00000000, 0x00000000, 0x38080101, 0x00008080, 0x00000d6e, 0x00000000,
+	0x00000051, 0x00000000, 0x00000055, 0x18000000, 0x00000000, 0x00000000 
+};
+
 struct idtpci_softc {
 	device_t		sc_dev;
 
@@ -122,6 +129,13 @@
 	uint32_t		sc_io;
 };
 
+static uint32_t
+idtpci_make_addr(int bus, int slot, int func, int reg)
+{
+
+	return 0x80000000 | (bus << 16) | (slot << 11) | (func << 8) | reg;
+}
+
 static int
 idtpci_probe(device_t dev)
 {
@@ -135,6 +149,8 @@
 	int busno = 0;
 	struct idtpci_softc *sc = device_get_softc(dev);
 	unsigned int pci_data, force_endianess = 0;
+	int		i;
+	bus_addr_t	addr;
 
 	sc->sc_dev = dev;
 	sc->sc_busno = busno;
@@ -210,6 +226,19 @@
 	/* Rewrite Target Control register with default values */
 	REG_WRITE(IDT_PCI_TC, (IDT_PCI_TC_DTIMER << 8) | IDT_PCI_TC_RTIMER);
 
+	/* Perform Korina fixup */
+	addr = idtpci_make_addr(0, 0, 0, 4);
+	for (i = 0; i < 24; i++) {
+
+		REG_WRITE(IDT_PCI_CFG_ADDR, addr);
+		REG_WRITE(IDT_PCI_CFG_DATA, korina_fixup[i]);
+		__asm__ volatile ("sync");
+
+		REG_WRITE(IDT_PCI_CFG_ADDR, 0);
+		REG_WRITE(IDT_PCI_CFG_DATA, 0);
+		addr += 4;
+	}
+
 	/* Use KSEG1 to access IO ports for it is uncached */
 	sc->sc_io = 0;
 	sc->sc_io_rman.rm_type = RMAN_ARRAY;
@@ -249,13 +278,6 @@
 }
 
 static uint32_t
-idtpci_make_addr(int bus, int slot, int func, int reg)
-{
-
-	return 0x80000000 | (bus << 16) | (slot << 11) | (func << 8) | reg;
-}
-
-static uint32_t
 idtpci_read_config(device_t dev, int bus, int slot, int func, int reg,
     int bytes)
 {
@@ -455,6 +477,7 @@
 	}
 
 	rv = rman_reserve_resource(rm, start, end, count, flags, child);
+
 	if (rv == NULL)
 		return (NULL);
 
@@ -493,7 +516,7 @@
 		int flags, driver_filter_t *filt, driver_intr_t *handler, 
 		void *arg, void **cookiep)
 {
-
+	panic("setup_intr");
 #if 0
 	struct idtpci_softc *sc = device_get_softc(dev);
 	struct intr_event *event;

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 18:55:53 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id E80E216A468; Mon,  5 Nov 2007 18:55:52 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A8A1716A419
	for ; Mon,  5 Nov 2007 18:55:52 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 90E8313C4B5
	for ; Mon,  5 Nov 2007 18:55:52 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5ItqSZ014885
	for ; Mon, 5 Nov 2007 18:55:52 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5ItqXE014882
	for perforce@freebsd.org; Mon, 5 Nov 2007 18:55:52 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 18:55:52 GMT
Message-Id: <200711051855.lA5ItqXE014882@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 128689 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, 05 Nov 2007 18:55:53 -0000

http://perforce.freebsd.org/chv.cgi?CH=128689

Change 128689 by gonzo@gonzo_jeeves on 2007/11/05 18:55:07

	o Add IRQ dispatching routine.

Affected files ...

.. //depot/projects/mips2/src/sys/mips/mips32/idt/idtreg.h#5 edit
.. //depot/projects/mips2/src/sys/mips/mips32/idt/obio.c#4 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/mips32/idt/idtreg.h#5 (text+ko) ====

@@ -134,10 +134,15 @@
 #define	ICU_IP_BIT(irq)	(1 << ICU_IP(irq))
 #define	ICU_GROUP(irq)	(((irq) - IRQ_BASE) >> 5)
 
-#define	ICU_GROUP_MASK_REG(irq)	\
-    (ICU_IMASK2 + ((((irq) - IRQ_BASE) >> 5) * ICU_GROUP_REG_OFFSET))
-#define	ICU_GROUP_PEND_REG(irq)	\
-    (ICU_IPEND2 + ((((irq) - IRQ_BASE) >> 5) * ICU_GROUP_REG_OFFSET))
+#define	ICU_GROUP_MASK_REG(group)	\
+    (ICU_IMASK2 + ((((group) - 2) * ICU_GROUP_REG_OFFSET)))
+#define	ICU_GROUP_IPEND_REG(group)	\
+    (ICU_IPEND2 + ((((group) - 2) * ICU_GROUP_REG_OFFSET)))
+
+#define	ICU_IRQ_MASK_REG(irq)	\
+    (ICU_IMASK2 + ((ICU_GROUP(irq) * ICU_GROUP_REG_OFFSET)))
+#define	ICU_IRQ_IPEND_REG(irq)	\
+    (ICU_IPEND2 + ((ICU_GROUP(irq) * ICU_GROUP_REG_OFFSET)))
 
 #define	PCI_IRQ_BASE		IP_IRQ(6, 4)
 #define	PCI_IRQ_END		IP_IRQ(6, 7)

==== //depot/projects/mips2/src/sys/mips/mips32/idt/obio.c#4 (text+ko) ====

@@ -270,7 +270,7 @@
 	    handler, arg, intr_priority(flags), flags, cookiep);
 
 	/* unmask IRQ */
-	mask_register = ICU_GROUP_MASK_REG(irq);
+	mask_register = ICU_IRQ_MASK_REG(irq);
 	ip_bit = ICU_IP_BIT(irq);
 
 	mask = ICU_REG_READ(mask_register);
@@ -295,7 +295,7 @@
 		panic("Trying to teardown unoccupied IRQ");
 
 	/* mask IRQ */
-	mask_register = ICU_GROUP_MASK_REG(irq);
+	mask_register = ICU_IRQ_MASK_REG(irq);
 	ip_bit = ICU_IP_BIT(irq);
 
 	mask = ICU_REG_READ(mask_register);
@@ -315,14 +315,43 @@
 	struct obio_softc *sc = arg;
 	struct intr_event *event;
 	struct intr_handler *ih;
-	uint32_t irqstat, ipend;
-	int irq, thread = 0;
+	uint32_t irqstat, ipend, imask, xpend;
+	int irq, thread = 0, group, i;
 
 	/* TODO: handle all IRQs */
 	irqstat = 0;
+	irq = 0;
+	for (group = 2; group <= 6; group++) {
+		ipend = ICU_REG_READ(ICU_GROUP_IPEND_REG(group));
+		imask = ICU_REG_READ(ICU_GROUP_MASK_REG(group));
+		xpend = ipend;
+		ipend &= ~imask;
+		while ((i = fls(xpend)) != 0) {
+			xpend &= ~(1 << (i - 1));
+			irq = IP_IRQ(group, i - 1);
+		}
+	
+		while ((i = fls(ipend)) != 0) {
+			ipend &= ~(1 << (i - 1));
+			irq = IP_IRQ(group, i - 1);
+			event = sc->sc_eventstab[irq];
+			if (event && !TAILQ_EMPTY(&event->ie_handlers)) {
+				/* Execute fast handlers. */
+				TAILQ_FOREACH(ih, &event->ie_handlers,
+				    ih_next) {
+					if (ih->ih_filter == NULL)
+						thread = 1;
+					else
+						ih->ih_filter(ih->ih_argument);
+				}
+			}
 
-	irq = 0;
+			/* Schedule thread if needed. */
+			if (thread)
+				intr_event_schedule_thread(event);
 
+		}
+	}
 #if 0
 	ipend = ICU_REG_READ(ICU_IPEND2);
 	printf("ipend2 = %08x!\n", ipend);
@@ -340,21 +369,6 @@
 #endif
 	while (irqstat != 0) {
 		if ((irqstat & 1) == 1) {
-			event = sc->sc_eventstab[irq];
-			if (event && !TAILQ_EMPTY(&event->ie_handlers)) {
-				/* Execute fast handlers. */
-				TAILQ_FOREACH(ih, &event->ie_handlers,
-				    ih_next) {
-					if (ih->ih_filter == NULL)
-						thread = 1;
-					else
-						ih->ih_filter(ih->ih_argument);
-				}
-			}
-
-			/* Schedule thread if needed. */
-			if (thread)
-				intr_event_schedule_thread(event);
 		}
 
 		irq++;

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 18:57:55 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id B35AB16A41B; Mon,  5 Nov 2007 18:57:55 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 28D2E16A475
	for ; Mon,  5 Nov 2007 18:57:55 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id EDB5D13C4BF
	for ; Mon,  5 Nov 2007 18:57:54 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5Ivscf014966
	for ; Mon, 5 Nov 2007 18:57:54 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5Ivsra014963
	for perforce@freebsd.org; Mon, 5 Nov 2007 18:57:54 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 18:57:54 GMT
Message-Id: <200711051857.lA5Ivsra014963@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 128690 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, 05 Nov 2007 18:57:56 -0000

http://perforce.freebsd.org/chv.cgi?CH=128690

Change 128690 by gonzo@gonzo_jeeves on 2007/11/05 18:57:23

	o Add uart to hinted devices.

Affected files ...

.. //depot/projects/mips2/src/sys/mips/conf/IDT.hints#3 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/conf/IDT.hints#3 (text+ko) ====

@@ -9,3 +9,7 @@
 # hint.pcib.0.msize=0x100000
 # hint.pcib.0.io=0x11500000
 # hint.pcib.0.iosize=0x100000
+
+# uart0
+hint.uart.0.at="obio0"
+hint.uart.0.maddr=0xb8058000

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 19:08:11 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 5875716A468; Mon,  5 Nov 2007 19:08:11 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1D2A316A41A
	for ; Mon,  5 Nov 2007 19:08:11 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 0607113C4A6
	for ; Mon,  5 Nov 2007 19:08:11 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5J8Acc016520
	for ; Mon, 5 Nov 2007 19:08:10 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5J8Akh016517
	for perforce@freebsd.org; Mon, 5 Nov 2007 19:08:10 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 19:08:10 GMT
Message-Id: <200711051908.lA5J8Akh016517@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 128692 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, 05 Nov 2007 19:08:11 -0000

http://perforce.freebsd.org/chv.cgi?CH=128692

Change 128692 by gonzo@gonzo_jeeves on 2007/11/05 19:07:45

	o Add explicit cast to gat rid of warning

Affected files ...

.. //depot/projects/mips2/src/sys/mips/mips/busdma_machdep.c#8 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/mips/busdma_machdep.c#8 (text+ko) ====

@@ -448,7 +448,7 @@
 		void *tmpaddr = (void *)*vaddr;
 
 		if (tmpaddr) {
-			tmpaddr = MIPS_PHYS_TO_KSEG1(vtophys(tmpaddr));
+			tmpaddr = (void *)MIPS_PHYS_TO_KSEG1(vtophys(tmpaddr));
 			newmap->origbuffer = *vaddr;
 			newmap->allocbuffer = tmpaddr;
 			mips_dcache_wbinv_range((vm_offset_t)*vaddr,

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 19:09:12 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id C046B16A41A; Mon,  5 Nov 2007 19:09:12 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 502B116A419
	for ; Mon,  5 Nov 2007 19:09:12 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 385C513C4A5
	for ; Mon,  5 Nov 2007 19:09:12 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5J9CYZ016556
	for ; Mon, 5 Nov 2007 19:09:12 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5J9C3B016553
	for perforce@freebsd.org; Mon, 5 Nov 2007 19:09:12 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 19:09:12 GMT
Message-Id: <200711051909.lA5J9C3B016553@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 128693 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, 05 Nov 2007 19:09:13 -0000

http://perforce.freebsd.org/chv.cgi?CH=128693

Change 128693 by gonzo@gonzo_jeeves on 2007/11/05 19:09:07

	o Try bootp on vr0
	o Add and comment out options for ath(4)
	o Enable uart

Affected files ...

.. //depot/projects/mips2/src/sys/mips/conf/IDT#3 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/conf/IDT#3 (text+ko) ====

@@ -26,10 +26,10 @@
 options		BOOTP
 options		BOOTP_NFSROOT
 options		BOOTP_NFSV3
-options		BOOTP_WIRED_TO=admsw0
+options		BOOTP_WIRED_TO=vr0
 options		BOOTP_COMPAT
 
-options		ROOTDEVNAME=\"nfs:10.0.0.1:/mnt/bsd\"
+options		ROOTDEVNAME=\"nfs:192.168.0.52:/mnt/bsd\"
 
 
 # Debugging for use in -current
@@ -42,3 +42,15 @@
 device		ether
 device		miibus
 device		vr
+device		uart
+device		uart_ns8250
+
+# Wireless NIC cards
+#device          wlan            # 802.11 support
+#device         wlan_wep        # 802.11 WEP support
+#device         wlan_ccmp       # 802.11 CCMP support
+#device         wlan_tkip       # 802.11 TKIP support
+#device          ath             # Atheros pci/cardbus NIC's
+#device          ath_hal         # Atheros HAL (Hardware Access Layer)
+#device          ath_rate_sample # SampleRate tx rate control for ath
+#options         ATH_DEBUG

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 19:54:49 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id B114916A421; Mon,  5 Nov 2007 19:54:49 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6142A16A417
	for ; Mon,  5 Nov 2007 19:54:49 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 1B67B13C49D
	for ; Mon,  5 Nov 2007 19:54:49 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5Jsn9R018461
	for ; Mon, 5 Nov 2007 19:54:49 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5Jrx4k018438
	for perforce@freebsd.org; Mon, 5 Nov 2007 19:53:59 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 19:53:59 GMT
Message-Id: <200711051953.lA5Jrx4k018438@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 128696 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, 05 Nov 2007 19:54:50 -0000

http://perforce.freebsd.org/chv.cgi?CH=128696

Change 128696 by gonzo@gonzo_jeeves on 2007/11/05 19:53:55

	IFC

Affected files ...

.. //depot/projects/mips2/src/Makefile#4 integrate
.. //depot/projects/mips2/src/Makefile.inc1#6 integrate
.. //depot/projects/mips2/src/ObsoleteFiles.inc#8 integrate
.. //depot/projects/mips2/src/UPDATING#7 integrate
.. //depot/projects/mips2/src/bin/getfacl/getfacl.c#2 integrate
.. //depot/projects/mips2/src/bin/mv/mv.1#3 integrate
.. //depot/projects/mips2/src/bin/ps/extern.h#2 integrate
.. //depot/projects/mips2/src/bin/ps/keyword.c#2 integrate
.. //depot/projects/mips2/src/bin/ps/print.c#2 integrate
.. //depot/projects/mips2/src/bin/ps/ps.c#2 integrate
.. //depot/projects/mips2/src/bin/sh/eval.c#2 integrate
.. //depot/projects/mips2/src/bin/sh/sh.1#4 integrate
.. //depot/projects/mips2/src/cddl/lib/Makefile#3 integrate
.. //depot/projects/mips2/src/cddl/sbin/zfs/Makefile#2 integrate
.. //depot/projects/mips2/src/cddl/sbin/zpool/Makefile#2 integrate
.. //depot/projects/mips2/src/cddl/usr.bin/Makefile#3 integrate
.. //depot/projects/mips2/src/cddl/usr.bin/ztest/Makefile#2 integrate
.. //depot/projects/mips2/src/cddl/usr.sbin/Makefile#3 integrate
.. //depot/projects/mips2/src/cddl/usr.sbin/zdb/Makefile#2 integrate
.. //depot/projects/mips2/src/contrib/gcc/opts.c#3 integrate
.. //depot/projects/mips2/src/contrib/groff/tmac/doc-common#3 integrate
.. //depot/projects/mips2/src/contrib/groff/tmac/doc-syms#3 integrate
.. //depot/projects/mips2/src/contrib/groff/tmac/groff_mdoc.man#3 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/BSD/Makefile#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/BSD/kupgrade#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/HISTORY#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/Makefile#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/ip_fil.c#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/iplang/Makefile#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/ipsend/iptests.c#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/ipsend/sock.c#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/l4check/Makefile#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/l4check/l4check.c#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/lib/Makefile#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/lib/alist_new.c#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/lib/ipft_tx.c#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/lib/printnat.c#3 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/lib/printpacket.c#3 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/lib/printpool_live.c#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/lib/printstate.c#3 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/man/ippool.5#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/md5.h#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/radix.c#3 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/radix_ipf.h#3 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/Makefile#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/dotest#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/Makefile#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/f11#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/f24#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/i19.dist#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/i21#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/in1#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/in6#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/ipv6.6#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/expected/n16#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/input/f11#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/input/f24#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/input/ipv6.6#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/input/l1#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/input/n16#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/nattest#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/regress/f24#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/regress/i21#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/regress/i3#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/regress/in1#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/regress/in6#2 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/test/regress/ipv6.6#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/regress/n16#1 branch
.. //depot/projects/mips2/src/contrib/ipfilter/test/test.format#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/tools/ipf_y.y#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/tools/ipfstat.c#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/tools/ipmon.c#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/tools/ipnat.c#3 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/tools/ipnat_y.y#4 integrate
.. //depot/projects/mips2/src/contrib/ipfilter/tools/lexer.c#4 integrate
.. //depot/projects/mips2/src/contrib/less/NEWS#4 integrate
.. //depot/projects/mips2/src/contrib/less/README#4 integrate
.. //depot/projects/mips2/src/contrib/less/ch.c#4 integrate
.. //depot/projects/mips2/src/contrib/less/charset.c#4 integrate
.. //depot/projects/mips2/src/contrib/less/configure#4 integrate
.. //depot/projects/mips2/src/contrib/less/configure.ac#4 integrate
.. //depot/projects/mips2/src/contrib/less/filename.c#4 integrate
.. //depot/projects/mips2/src/contrib/less/funcs.h#4 integrate
.. //depot/projects/mips2/src/contrib/less/jump.c#4 integrate
.. //depot/projects/mips2/src/contrib/less/less.h#4 integrate
.. //depot/projects/mips2/src/contrib/less/less.man#4 integrate
.. //depot/projects/mips2/src/contrib/less/less.nro#4 integrate
.. //depot/projects/mips2/src/contrib/less/lessecho.man#3 integrate
.. //depot/projects/mips2/src/contrib/less/lessecho.nro#3 integrate
.. //depot/projects/mips2/src/contrib/less/lesskey.man#4 integrate
.. //depot/projects/mips2/src/contrib/less/lesskey.nro#4 integrate
.. //depot/projects/mips2/src/contrib/less/line.c#4 integrate
.. //depot/projects/mips2/src/contrib/less/main.c#6 integrate
.. //depot/projects/mips2/src/contrib/less/search.c#4 integrate
.. //depot/projects/mips2/src/contrib/less/signal.c#4 integrate
.. //depot/projects/mips2/src/contrib/less/version.c#4 integrate
.. //depot/projects/mips2/src/contrib/libpcap/CHANGES#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/CREDITS#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/FILES#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/INSTALL#2 delete
.. //depot/projects/mips2/src/contrib/libpcap/INSTALL.txt#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/README.dag#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/TODO#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/VERSION#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/bpf_image.c#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/config.h.in#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/configure#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/configure.in#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/fad-getad.c#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/fad-win32.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/gencode.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/gencode.h#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/grammar.y#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/inet.c#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/lbl/gnuc.h#2 delete
.. //depot/projects/mips2/src/contrib/libpcap/nametoaddr.c#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/optimize.c#2 integrate
.. //depot/projects/mips2/src/contrib/libpcap/packaging/pcap.spec.in#1 branch
.. //depot/projects/mips2/src/contrib/libpcap/pcap-bpf.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap-bpf.h#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap-dag.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap-dlpi.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap-int.h#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap-linux.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap-win32.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap.3#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pcap.h#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/pf.h#2 delete
.. //depot/projects/mips2/src/contrib/libpcap/savefile.c#3 integrate
.. //depot/projects/mips2/src/contrib/libpcap/scanner.l#3 integrate
.. //depot/projects/mips2/src/contrib/one-true-awk/FIXES#3 integrate
.. //depot/projects/mips2/src/contrib/one-true-awk/FREEBSD-upgrade#3 integrate
.. //depot/projects/mips2/src/contrib/one-true-awk/lib.c#3 integrate
.. //depot/projects/mips2/src/contrib/one-true-awk/tran.c#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/HISTORY#5 integrate
.. //depot/projects/mips2/src/contrib/openbsm/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/VERSION#5 integrate
.. //depot/projects/mips2/src/contrib/openbsm/aclocal.m4#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bin/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bin/audit/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bin/auditd/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bin/auditfilterd/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bin/auditreduce/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bin/auditreduce/auditreduce.c#4 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bin/praudit/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bin/praudit/praudit.c#3 integrate
.. //depot/projects/mips2/src/contrib/openbsm/bsm/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/config/config.h#5 integrate
.. //depot/projects/mips2/src/contrib/openbsm/config/config.h.in#3 integrate
.. //depot/projects/mips2/src/contrib/openbsm/config/ltmain.sh#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/configure#5 integrate
.. //depot/projects/mips2/src/contrib/openbsm/configure.ac#5 integrate
.. //depot/projects/mips2/src/contrib/openbsm/etc/audit_class#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/etc/audit_event#5 integrate
.. //depot/projects/mips2/src/contrib/openbsm/libbsm/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/libbsm/bsm_event.c#3 integrate
.. //depot/projects/mips2/src/contrib/openbsm/libbsm/bsm_io.c#5 integrate
.. //depot/projects/mips2/src/contrib/openbsm/man/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/modules/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/modules/auditfilter_noop/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/test/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/test/bsm/Makefile.in#2 integrate
.. //depot/projects/mips2/src/contrib/openbsm/tools/Makefile.in#3 integrate
.. //depot/projects/mips2/src/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch
.. //depot/projects/mips2/src/contrib/pf/pflogd/pflogd.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/CACerts#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/FREEBSD-upgrade#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/INSTALL#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/RELEASE_NOTES#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/cf/cf/submit.cf#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/cf/feature/ldap_routing.m4#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/cf/m4/proto.m4#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/cf/m4/version.m4#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/contrib/buildvirtuser#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/doc/op/op.me#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/editmap/editmap.c#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/include/sm/conf.h#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/include/sm/ldap.h#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/include/sm/tailq.h#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/libmilter/docs/xxfi_unknown.html#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/libmilter/engine.c#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/libmilter/listener.c#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/libmilter/main.c#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/libmilter/monitor.c#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/libmilter/smfi.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/libsm/ldap.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/libsm/mpeix.c#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/makemap/makemap.c#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/praliases/praliases.c#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/Makefile.m4#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/conf.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/deliver.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/envelope.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/headers.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/macro.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/main.c#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/map.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/milter.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/mime.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/parseaddr.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/queue.c#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/readcf.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/recipient.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/sendmail.8#2 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/sendmail.h#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/sm_resolve.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/srvrsmtp.c#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/usersmtp.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/util.c#3 integrate
.. //depot/projects/mips2/src/contrib/sendmail/src/version.c#4 integrate
.. //depot/projects/mips2/src/contrib/sendmail/vacation/vacation.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/CHANGES#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/CREDITS#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/FILES#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/INSTALL#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/Makefile.in#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/README#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/VERSION#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/addrtoname.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/af.c#1 branch
.. //depot/projects/mips2/src/contrib/tcpdump/af.h#1 branch
.. //depot/projects/mips2/src/contrib/tcpdump/bootp.h#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/config.h.in#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/configure#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/configure.in#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/dccp.h#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/ieee802_11.h#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/ieee802_11_radio.h#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/interface.h#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/ip.h#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/llc.h#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/nameser.h#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/netdissect.h#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/ospf.h#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/parsenfsfh.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/pf.h#2 delete
.. //depot/projects/mips2/src/contrib/tcpdump/print-802_11.c#4 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-atm.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-bfd.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-bgp.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-bootp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-chdlc.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-dccp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-dhcp6.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-domain.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-ether.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-fddi.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-fr.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-icmp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-ip.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-ip6.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-ipfc.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-isoclns.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-juniper.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-l2tp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-lane.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-ldp.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-llc.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-lmp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-lspping.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-nfs.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-null.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-olsr.c#1 branch
.. //depot/projects/mips2/src/contrib/tcpdump/print-ospf.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-pflog.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-pim.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-ppp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-pptp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-rsvp.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-rx.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-sctp.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-sll.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-smb.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-tcp.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-tftp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-token.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/print-udp.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/smbutil.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/tcp.h#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/tcpdump-stdinc.h#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/tcpdump.1#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/tcpdump.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/tests/print-capX.out#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/tests/print-capXX.out#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/tftp.h#1 branch
.. //depot/projects/mips2/src/contrib/tcpdump/udp.h#2 integrate
.. //depot/projects/mips2/src/contrib/tcpdump/util.c#2 integrate
.. //depot/projects/mips2/src/contrib/tcsh/sh.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcsh/sh.lex.c#4 integrate
.. //depot/projects/mips2/src/contrib/tcsh/sh.proc.c#3 integrate
.. //depot/projects/mips2/src/contrib/tcsh/tc.const.c#3 integrate
.. //depot/projects/mips2/src/contrib/wpa_supplicant/main.c#3 integrate
.. //depot/projects/mips2/src/crypto/heimdal/appl/su/Makefile.am#2 integrate
.. //depot/projects/mips2/src/crypto/heimdal/appl/su/su.c#2 integrate
.. //depot/projects/mips2/src/crypto/openssl/ssl/d1_both.c#2 integrate
.. //depot/projects/mips2/src/crypto/openssl/ssl/dtls1.h#2 integrate
.. //depot/projects/mips2/src/crypto/openssl/ssl/ssl.h#3 integrate
.. //depot/projects/mips2/src/crypto/openssl/ssl/ssl_err.c#3 integrate
.. //depot/projects/mips2/src/crypto/openssl/ssl/ssl_lib.c#3 integrate
.. //depot/projects/mips2/src/etc/Makefile#4 integrate
.. //depot/projects/mips2/src/etc/cached.conf#2 delete
.. //depot/projects/mips2/src/etc/defaults/devfs.rules#2 integrate
.. //depot/projects/mips2/src/etc/defaults/rc.conf#6 integrate
.. //depot/projects/mips2/src/etc/mtree/BSD.include.dist#5 integrate
.. //depot/projects/mips2/src/etc/mtree/BSD.local.dist#3 integrate
.. //depot/projects/mips2/src/etc/mtree/BSD.x11-4.dist#2 integrate
.. //depot/projects/mips2/src/etc/mtree/README#2 integrate
.. //depot/projects/mips2/src/etc/namedb/named.root#2 integrate
.. //depot/projects/mips2/src/etc/network.subr#4 integrate
.. //depot/projects/mips2/src/etc/nscd.conf#1 branch
.. //depot/projects/mips2/src/etc/rc.d/Makefile#5 integrate
.. //depot/projects/mips2/src/etc/rc.d/amd#3 integrate
.. //depot/projects/mips2/src/etc/rc.d/cached#2 delete
.. //depot/projects/mips2/src/etc/rc.d/early.sh#2 integrate
.. //depot/projects/mips2/src/etc/rc.d/ftp-proxy#1 branch
.. //depot/projects/mips2/src/etc/rc.d/kerberos#3 integrate
.. //depot/projects/mips2/src/etc/rc.d/lockd#3 integrate
.. //depot/projects/mips2/src/etc/rc.d/named#2 integrate
.. //depot/projects/mips2/src/etc/rc.d/nfslocking#6 delete
.. //depot/projects/mips2/src/etc/rc.d/nscd#2 integrate
.. //depot/projects/mips2/src/etc/rc.d/ppp#3 integrate
.. //depot/projects/mips2/src/etc/rc.subr#5 integrate
.. //depot/projects/mips2/src/etc/sendmail/freebsd.mc#4 integrate
.. //depot/projects/mips2/src/etc/sendmail/freebsd.submit.mc#4 integrate
.. //depot/projects/mips2/src/etc/services#4 integrate
.. //depot/projects/mips2/src/games/fortune/datfiles/fortunes#5 integrate
.. //depot/projects/mips2/src/games/fortune/datfiles/fortunes-o.real#3 integrate
.. //depot/projects/mips2/src/games/fortune/datfiles/limerick#3 integrate
.. //depot/projects/mips2/src/gnu/lib/csu/Makefile#3 integrate
.. //depot/projects/mips2/src/gnu/lib/libobjc/Makefile#3 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/binutils/ld/Makefile#2 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/binutils/ld/genscripts.sh#3 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/cc/cc_int/Makefile#4 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/cc/cc_tools/auto-host.h#5 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/cc/cc_tools/freebsd-native.h#4 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/diff/Makefile#3 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/groff/tmac/mdoc.local#3 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/man/man/man.c#2 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/sort/Makefile#2 integrate
.. //depot/projects/mips2/src/gnu/usr.bin/texinfo/info/Makefile#2 integrate
.. //depot/projects/mips2/src/include/Makefile#5 integrate
.. //depot/projects/mips2/src/include/_ctype.h#2 integrate
.. //depot/projects/mips2/src/include/ctype.h#2 integrate
.. //depot/projects/mips2/src/include/pthread.h#2 integrate
.. //depot/projects/mips2/src/include/pthread_np.h#2 integrate
.. //depot/projects/mips2/src/include/wctype.h#2 integrate
.. //depot/projects/mips2/src/kerberos5/usr.bin/ksu/Makefile#2 integrate
.. //depot/projects/mips2/src/lib/Makefile#5 integrate
.. //depot/projects/mips2/src/lib/libarchive/archive_read.3#5 integrate
.. //depot/projects/mips2/src/lib/libarchive/archive_read_support_compression_none.c#5 integrate
.. //depot/projects/mips2/src/lib/libarchive/archive_read_support_format_tar.c#6 integrate
.. //depot/projects/mips2/src/lib/libarchive/archive_read_support_format_zip.c#5 integrate
.. //depot/projects/mips2/src/lib/libarchive/archive_write_disk.c#5 integrate
.. //depot/projects/mips2/src/lib/libarchive/archive_write_set_format_cpio.c#4 integrate
.. //depot/projects/mips2/src/lib/libarchive/archive_write_set_format_cpio_newc.c#2 integrate
.. //depot/projects/mips2/src/lib/libarchive/test/test_write_disk.c#3 integrate
.. //depot/projects/mips2/src/lib/libarchive/test/test_write_format_cpio.c#2 integrate
.. //depot/projects/mips2/src/lib/libbsm/Makefile#4 integrate
.. //depot/projects/mips2/src/lib/libc/Makefile#6 integrate
.. //depot/projects/mips2/src/lib/libc/arm/Symbol.map#3 integrate
.. //depot/projects/mips2/src/lib/libc/arm/string/ffs.S#2 integrate
.. //depot/projects/mips2/src/lib/libc/arm/string/memcpy.S#2 integrate
.. //depot/projects/mips2/src/lib/libc/arm/string/memset.S#2 integrate
.. //depot/projects/mips2/src/lib/libc/gdtoa/Symbol.map#3 integrate
.. //depot/projects/mips2/src/lib/libc/gen/Makefile.inc#4 integrate
.. //depot/projects/mips2/src/lib/libc/gen/sysctl.3#4 integrate
.. //depot/projects/mips2/src/lib/libc/gen/valloc.3#3 integrate
.. //depot/projects/mips2/src/lib/libc/ia64/Symbol.map#3 integrate
.. //depot/projects/mips2/src/lib/libc/locale/Symbol.map#3 integrate
.. //depot/projects/mips2/src/lib/libc/locale/big5.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/locale/euc.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/locale/gb18030.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/locale/gb2312.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/locale/gbk.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/locale/isctype.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/locale/iswctype.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/locale/mskanji.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/locale/none.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/locale/setrunelocale.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/locale/utf8.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/net/ethers.3#3 integrate
.. //depot/projects/mips2/src/lib/libc/net/getaddrinfo.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/net/nscache.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/net/sctp_connectx.3#3 integrate
.. //depot/projects/mips2/src/lib/libc/net/sctp_opt_info.3#3 integrate
.. //depot/projects/mips2/src/lib/libc/net/sctp_recvmsg.3#3 integrate
.. //depot/projects/mips2/src/lib/libc/net/sctp_send.3#3 integrate
.. //depot/projects/mips2/src/lib/libc/net/sctp_sendmsg.3#3 integrate
.. //depot/projects/mips2/src/lib/libc/powerpc/Symbol.map#3 integrate
.. //depot/projects/mips2/src/lib/libc/rpc/auth_time.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/rpc/getnetconfig.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/rpc/getnetpath.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/rpc/rpc_generic.c#2 integrate
.. //depot/projects/mips2/src/lib/libc/rpc/rpcb_clnt.c#3 integrate
.. //depot/projects/mips2/src/lib/libc/stdlib/atoi.3#3 integrate
.. //depot/projects/mips2/src/lib/libc/stdlib/getenv.c#4 integrate
.. //depot/projects/mips2/src/lib/libc/sys/Makefile.inc#4 integrate
.. //depot/projects/mips2/src/lib/libc/sys/kldstat.2#2 integrate
.. //depot/projects/mips2/src/lib/libc/sys/kqueue.2#3 integrate
.. //depot/projects/mips2/src/lib/libc/sys/minherit.2#3 integrate
.. //depot/projects/mips2/src/lib/libc/sys/ntp_adjtime.2#3 integrate
.. //depot/projects/mips2/src/lib/libc/sys/ntp_gettime.2#2 delete
.. //depot/projects/mips2/src/lib/libc/sys/sctp_generic_recvmsg.2#2 integrate
.. //depot/projects/mips2/src/lib/libc/sys/sctp_generic_sendmsg.2#2 integrate
.. //depot/projects/mips2/src/lib/libc/sys/sctp_peeloff.2#2 integrate
.. //depot/projects/mips2/src/lib/libdisk/open_disk.c#3 integrate
.. //depot/projects/mips2/src/lib/libdisk/open_ia64_disk.c#2 integrate
.. //depot/projects/mips2/src/lib/libelf/elf.3#2 integrate
.. //depot/projects/mips2/src/lib/libelf/elf_flagdata.3#2 integrate
.. //depot/projects/mips2/src/lib/libelf/elf_getscn.3#2 integrate
.. //depot/projects/mips2/src/lib/libelf/elf_update.3#2 integrate
.. //depot/projects/mips2/src/lib/libelf/elf_update.c#2 integrate
.. //depot/projects/mips2/src/lib/libelf/gelf_getphdr.3#2 integrate
.. //depot/projects/mips2/src/lib/libelf/gelf_newehdr.3#2 integrate
.. //depot/projects/mips2/src/lib/libelf/gelf_newphdr.3#2 integrate
.. //depot/projects/mips2/src/lib/libelf/libelf_convert.m4#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_accept_sec_context.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_acquire_cred.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_add_cred.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_add_oid_set_member.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_canonicalize_name.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_compare_name.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_context_time.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_create_empty_oid_set.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_delete_sec_context.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_display_name.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_display_status.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_duplicate_name.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_export_name.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_export_sec_context.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_get_mic.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_import_name.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_import_sec_context.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_indicate_mechs.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_init_sec_context.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_inquire_context.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_inquire_cred.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_inquire_cred_by_mech.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_inquire_mechs_for_name.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_inquire_names_for_mech.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_process_context_token.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_release_buffer.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_release_cred.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_release_name.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_release_oid_set.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_test_oid_set_member.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_unwrap.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_verify_mic.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_wrap.3#2 integrate
.. //depot/projects/mips2/src/lib/libgssapi/gss_wrap_size_limit.3#2 integrate
.. //depot/projects/mips2/src/lib/libkse/Makefile#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/amd64/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/amd64/amd64/context.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/amd64/amd64/enter_uts.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/amd64/amd64/pthread_md.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/amd64/include/atomic_ops.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/amd64/include/pthread_md.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/arm/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/arm/arm/context.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/arm/arm/pthread_md.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/arm/include/atomic_ops.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/arm/include/pthread_md.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/i386/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/i386/i386/pthread_md.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/i386/i386/thr_enter_uts.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/i386/i386/thr_getcontext.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/i386/include/atomic_ops.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/i386/include/pthread_md.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/ia64/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/ia64/ia64/context.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/ia64/ia64/enter_uts.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/ia64/ia64/pthread_md.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/ia64/include/atomic_ops.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/ia64/include/pthread_md.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/powerpc/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/powerpc/include/atomic_ops.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/powerpc/include/pthread_md.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/powerpc/powerpc/assym.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/powerpc/powerpc/assym.s#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/powerpc/powerpc/context.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/powerpc/powerpc/enter_uts.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/powerpc/powerpc/pthread_md.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/sparc64/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/sparc64/include/atomic_ops.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/sparc64/include/pthread_md.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/sparc64/sparc64/assym.s#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/sparc64/sparc64/pthread_md.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/arch/sparc64/sparc64/thr_getcontext.S#1 branch
.. //depot/projects/mips2/src/lib/libkse/kse.map#1 branch
.. //depot/projects/mips2/src/lib/libkse/support/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/support/thr_support.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/sys/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/sys/lock.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/sys/lock.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/sys/thr_error.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/Makefile#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/README#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/guard_b.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/guard_b.exp#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/guard_s.pl#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/hello_b.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/hello_d.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/hello_d.exp#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/hello_s.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/join_leak_d.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/join_leak_d.exp#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/mutex_d.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/mutex_d.exp#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/propagate_s.pl#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/sem_d.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/sem_d.exp#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/sigsuspend_d.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/sigsuspend_d.exp#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/sigwait_d.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/sigwait_d.exp#1 branch
.. //depot/projects/mips2/src/lib/libkse/test/verify#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/Makefile.inc#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_accept.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_aio_suspend.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_atfork.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_destroy.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_get_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getdetachstate.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getguardsize.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getinheritsched.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getschedparam.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getschedpolicy.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getscope.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getstack.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getstackaddr.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_getstacksize.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_init.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setcreatesuspend_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setdetachstate.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setguardsize.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setinheritsched.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setschedparam.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setschedpolicy.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setscope.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setstack.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setstackaddr.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_attr_setstacksize.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_autoinit.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_barrier.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_barrierattr.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_cancel.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_clean.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_close.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_concurrency.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_cond.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_condattr_destroy.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_condattr_init.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_condattr_pshared.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_connect.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_creat.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_create.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_detach.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_equal.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_execve.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_exit.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_fcntl.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_find_thread.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_fork.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_fsync.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_getprio.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_getschedparam.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_info.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_init.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_join.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_kern.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_kill.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_main_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_mattr_init.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_mattr_kind_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_mattr_pshared.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_msync.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_multi_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_mutex.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_mutex_prioceiling.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_mutex_protocol.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_mutexattr_destroy.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_nanosleep.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_once.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_open.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_pause.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_poll.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_printf.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_priority_queue.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_private.h#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_pselect.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_pspinlock.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_raise.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_read.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_readv.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_resume_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_rtld.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_rwlock.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_rwlockattr.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_select.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_self.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sem.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_seterrno.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_setprio.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_setschedparam.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sig.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sigaction.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sigaltstack.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sigmask.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sigpending.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sigprocmask.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sigsuspend.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sigwait.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_single_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_sleep.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_spec.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_spinlock.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_stack.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_suspend_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_switch_np.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_symbols.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_system.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_tcdrain.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_vfork.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_wait.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_wait4.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_waitpid.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_write.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_writev.c#1 branch
.. //depot/projects/mips2/src/lib/libkse/thread/thr_yield.c#1 branch
.. //depot/projects/mips2/src/lib/libkvm/kvm_proc.c#5 integrate
.. //depot/projects/mips2/src/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8#2 integrate
.. //depot/projects/mips2/src/lib/libpam/modules/pam_unix/Makefile#2 integrate
.. //depot/projects/mips2/src/lib/libpcap/Makefile#3 integrate
.. //depot/projects/mips2/src/lib/libpcap/config.h#2 integrate
.. //depot/projects/mips2/src/lib/libpthread/Makefile#4 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/amd64/Makefile.inc#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/amd64/amd64/context.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/amd64/amd64/enter_uts.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/amd64/amd64/pthread_md.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/amd64/include/atomic_ops.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/amd64/include/pthread_md.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/arm/Makefile.inc#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/arm/arm/context.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/arm/arm/pthread_md.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/arm/include/atomic_ops.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/arm/include/pthread_md.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/i386/Makefile.inc#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/i386/i386/pthread_md.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/i386/i386/thr_enter_uts.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/i386/i386/thr_getcontext.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/i386/include/atomic_ops.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/i386/include/pthread_md.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/ia64/Makefile.inc#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/ia64/ia64/context.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/ia64/ia64/enter_uts.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/ia64/ia64/pthread_md.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/ia64/include/atomic_ops.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/ia64/include/pthread_md.h#3 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/powerpc/Makefile.inc#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/powerpc/include/atomic_ops.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/powerpc/include/pthread_md.h#3 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/powerpc/powerpc/assym.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/powerpc/powerpc/assym.s#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/powerpc/powerpc/context.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/powerpc/powerpc/enter_uts.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/powerpc/powerpc/pthread_md.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/sparc64/Makefile.inc#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/sparc64/include/atomic_ops.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/sparc64/include/pthread_md.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/sparc64/sparc64/assym.s#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/sparc64/sparc64/pthread_md.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/arch/sparc64/sparc64/thr_getcontext.S#2 delete
.. //depot/projects/mips2/src/lib/libpthread/pthread.map#3 delete
.. //depot/projects/mips2/src/lib/libpthread/support/thr_support.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/sys/Makefile.inc#2 delete
.. //depot/projects/mips2/src/lib/libpthread/sys/lock.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/sys/lock.h#2 delete
.. //depot/projects/mips2/src/lib/libpthread/sys/thr_error.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/Makefile#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/README#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/guard_b.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/guard_b.exp#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/guard_s.pl#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/hello_b.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/hello_d.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/hello_d.exp#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/hello_s.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/join_leak_d.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/join_leak_d.exp#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/mutex_d.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/mutex_d.exp#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/propagate_s.pl#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/sem_d.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/sem_d.exp#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/sigsuspend_d.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/sigsuspend_d.exp#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/sigwait_d.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/sigwait_d.exp#2 delete
.. //depot/projects/mips2/src/lib/libpthread/test/verify#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/Makefile.inc#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_accept.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_aio_suspend.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_atfork.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_destroy.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_get_np.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getdetachstate.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getguardsize.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getinheritsched.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getschedparam.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getschedpolicy.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getscope.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getstack.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getstackaddr.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_getstacksize.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_init.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setcreatesuspend_np.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setdetachstate.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setguardsize.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setinheritsched.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setschedparam.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setschedpolicy.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setscope.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setstack.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setstackaddr.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_attr_setstacksize.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_autoinit.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_barrier.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_barrierattr.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_cancel.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_clean.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_close.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_concurrency.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_cond.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_condattr_destroy.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_condattr_init.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_condattr_pshared.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_connect.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_creat.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_create.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_detach.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_equal.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_execve.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_exit.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_fcntl.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_find_thread.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_fork.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_fsync.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_getprio.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_getschedparam.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_info.c#4 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_init.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_join.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_kern.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_kill.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_main_np.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_mattr_init.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_mattr_kind_np.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_mattr_pshared.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_msync.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_multi_np.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_mutex.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_mutex_prioceiling.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_mutex_protocol.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_mutexattr_destroy.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_nanosleep.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_once.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_open.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_pause.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_poll.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_printf.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_priority_queue.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_private.h#4 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_pselect.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_pspinlock.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_raise.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_read.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_readv.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_resume_np.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_rtld.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_rwlock.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_rwlockattr.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_select.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_self.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sem.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_seterrno.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_setprio.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_setschedparam.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sig.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sigaction.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sigaltstack.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sigmask.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sigpending.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sigprocmask.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sigsuspend.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sigwait.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_single_np.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_sleep.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_spec.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_spinlock.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_stack.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_suspend_np.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_switch_np.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_symbols.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_system.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_tcdrain.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_vfork.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_wait.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_wait4.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_waitpid.c#2 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_write.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_writev.c#3 delete
.. //depot/projects/mips2/src/lib/libpthread/thread/thr_yield.c#3 delete
.. //depot/projects/mips2/src/lib/libstand/Makefile#3 integrate
.. //depot/projects/mips2/src/lib/libstand/tftp.c#2 integrate
.. //depot/projects/mips2/src/lib/libthr/Makefile#5 integrate
.. //depot/projects/mips2/src/lib/libthr/libthr.3#2 integrate
.. //depot/projects/mips2/src/lib/libthr/thread/thr_init.c#5 integrate
.. //depot/projects/mips2/src/lib/libthr/thread/thr_mutex.c#5 integrate
.. //depot/projects/mips2/src/lib/libthr/thread/thr_once.c#2 integrate
.. //depot/projects/mips2/src/lib/libthr/thread/thr_private.h#5 integrate
.. //depot/projects/mips2/src/lib/libthr/thread/thr_pspinlock.c#3 integrate
.. //depot/projects/mips2/src/lib/libutil/Makefile#4 integrate
.. //depot/projects/mips2/src/lib/libutil/expand_number.3#1 branch
.. //depot/projects/mips2/src/lib/libutil/expand_number.c#1 branch
.. //depot/projects/mips2/src/lib/libutil/flopen.3#3 integrate
.. //depot/projects/mips2/src/lib/libutil/humanize_number.3#4 integrate
.. //depot/projects/mips2/src/lib/libutil/kld.3#4 integrate
.. //depot/projects/mips2/src/lib/libutil/libutil.h#3 integrate
.. //depot/projects/mips2/src/lib/libutil/pidfile.3#2 integrate
.. //depot/projects/mips2/src/lib/libutil/pidfile.c#4 integrate
.. //depot/projects/mips2/src/lib/ncurses/ncurses/Makefile#4 integrate
.. //depot/projects/mips2/src/libexec/Makefile#3 integrate
.. //depot/projects/mips2/src/libexec/atrun/Makefile#3 integrate
.. //depot/projects/mips2/src/libexec/rtld-elf/sparc64/reloc.c#4 integrate
.. //depot/projects/mips2/src/release/Makefile#5 integrate
.. //depot/projects/mips2/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#5 integrate
.. //depot/projects/mips2/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#9 integrate
.. //depot/projects/mips2/src/release/doc/share/misc/dev.archlist.txt#6 integrate
.. //depot/projects/mips2/src/release/doc/share/sgml/release.ent#4 integrate
.. //depot/projects/mips2/src/rescue/rescue/Makefile#4 integrate
.. //depot/projects/mips2/src/sbin/camcontrol/Makefile#2 integrate
.. //depot/projects/mips2/src/sbin/camcontrol/camcontrol.8#3 integrate
.. //depot/projects/mips2/src/sbin/camcontrol/camcontrol.c#3 integrate
.. //depot/projects/mips2/src/sbin/dhclient/dhclient.8#3 integrate
.. //depot/projects/mips2/src/sbin/fsck_ffs/Makefile#3 integrate
.. //depot/projects/mips2/src/sbin/fsck_ffs/main.c#4 integrate
.. //depot/projects/mips2/src/sbin/geom/Makefile#2 integrate
.. //depot/projects/mips2/src/sbin/geom/class/Makefile#4 integrate
.. //depot/projects/mips2/src/sbin/geom/class/eli/geli.8#3 integrate
.. //depot/projects/mips2/src/sbin/geom/class/part/geom_part.c#2 integrate
.. //depot/projects/mips2/src/sbin/geom/class/part/gpart.8#2 integrate
.. //depot/projects/mips2/src/sbin/geom/class/virstor/Makefile#1 branch
.. //depot/projects/mips2/src/sbin/geom/class/virstor/geom_virstor.c#1 branch
.. //depot/projects/mips2/src/sbin/geom/class/virstor/gvirstor.8#1 branch
.. //depot/projects/mips2/src/sbin/geom/core/geom.8#2 integrate
.. //depot/projects/mips2/src/sbin/geom/core/geom.c#4 integrate
.. //depot/projects/mips2/src/sbin/ggate/Makefile#3 integrate
.. //depot/projects/mips2/src/sbin/gpt/Makefile#2 integrate
.. //depot/projects/mips2/src/sbin/gpt/add.c#3 integrate
.. //depot/projects/mips2/src/sbin/gpt/boot.c#1 branch
.. //depot/projects/mips2/src/sbin/gpt/gpt.8#2 integrate
.. //depot/projects/mips2/src/sbin/gpt/gpt.c#3 integrate
.. //depot/projects/mips2/src/sbin/gpt/gpt.h#2 integrate
.. //depot/projects/mips2/src/sbin/gpt/show.c#2 integrate
.. //depot/projects/mips2/src/sbin/ifconfig/ifbridge.c#5 integrate
.. //depot/projects/mips2/src/sbin/ifconfig/ifconfig.8#7 integrate
.. //depot/projects/mips2/src/sbin/ifconfig/ifconfig.c#5 integrate
.. //depot/projects/mips2/src/sbin/ifconfig/ifieee80211.c#5 integrate
.. //depot/projects/mips2/src/sbin/ipfw/ipfw.8#6 integrate
.. //depot/projects/mips2/src/sbin/ipfw/ipfw2.c#5 integrate
.. //depot/projects/mips2/src/sbin/kldstat/kldstat.c#2 integrate
.. //depot/projects/mips2/src/sbin/mount/mount.8#5 integrate
.. //depot/projects/mips2/src/sbin/mount_unionfs/mount_unionfs.8#3 integrate
.. //depot/projects/mips2/src/sbin/quotacheck/preen.c#2 integrate
.. //depot/projects/mips2/src/sbin/quotacheck/quotacheck.c#3 integrate
.. //depot/projects/mips2/src/sbin/route/route.8#2 integrate
.. //depot/projects/mips2/src/sbin/route/route.c#2 integrate
.. //depot/projects/mips2/src/sbin/sysctl/sysctl.8#3 integrate
.. //depot/projects/mips2/src/sbin/sysctl/sysctl.c#5 integrate
.. //depot/projects/mips2/src/sbin/tunefs/tunefs.8#4 integrate
.. //depot/projects/mips2/src/share/doc/legal/intel_wpi/Makefile#1 branch
.. //depot/projects/mips2/src/share/examples/cvsup/cvs-supfile#4 integrate
.. //depot/projects/mips2/src/share/examples/cvsup/doc-supfile#2 integrate
.. //depot/projects/mips2/src/share/examples/cvsup/gnats-supfile#2 integrate
.. //depot/projects/mips2/src/share/examples/cvsup/ports-supfile#4 integrate
.. //depot/projects/mips2/src/share/examples/cvsup/stable-supfile#3 integrate
.. //depot/projects/mips2/src/share/examples/cvsup/standard-supfile#3 integrate
.. //depot/projects/mips2/src/share/examples/cvsup/www-supfile#2 integrate
.. //depot/projects/mips2/src/share/man/man3/Makefile#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_attr.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_attr_get_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_attr_setcreatesuspend_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_barrier_destroy.3#2 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_barrierattr.3#2 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cancel.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cleanup_pop.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cleanup_push.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cond_broadcast.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cond_destroy.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cond_init.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cond_signal.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cond_timedwait.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_cond_wait.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_condattr.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_create.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_detach.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_equal.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_exit.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_getconcurrency.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_getspecific.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_join.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_key_create.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_key_delete.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_kill.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_main_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_multi_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_mutex_destroy.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_mutex_init.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_mutex_lock.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_mutex_timedlock.3#2 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_mutex_trylock.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_mutex_unlock.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_mutexattr.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_mutexattr_getkind_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_once.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_resume_all_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_resume_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlock_destroy.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlock_init.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlock_rdlock.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlock_timedrdlock.3#2 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlock_timedwrlock.3#2 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlock_unlock.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlock_wrlock.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlockattr_destroy.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlockattr_getpshared.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlockattr_init.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_rwlockattr_setpshared.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_schedparam.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_self.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_set_name_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_setspecific.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_sigmask.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_spin_init.3#2 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_spin_lock.3#2 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_switch_add_np.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_testcancel.3#3 integrate
.. //depot/projects/mips2/src/share/man/man3/pthread_yield.3#2 integrate
.. //depot/projects/mips2/src/share/man/man3/queue.3#3 integrate
.. //depot/projects/mips2/src/share/man/man4/Makefile#10 integrate
.. //depot/projects/mips2/src/share/man/man4/ata.4#4 integrate
.. //depot/projects/mips2/src/share/man/man4/coretemp.4#2 integrate
.. //depot/projects/mips2/src/share/man/man4/cxgb.4#2 integrate
.. //depot/projects/mips2/src/share/man/man4/gem.4#4 integrate
.. //depot/projects/mips2/src/share/man/man4/hwpmc.4#3 integrate
.. //depot/projects/mips2/src/share/man/man4/if_bridge.4#3 integrate
.. //depot/projects/mips2/src/share/man/man4/mac.4#3 integrate
.. //depot/projects/mips2/src/share/man/man4/md.4#4 integrate
.. //depot/projects/mips2/src/share/man/man4/ng_car.4#2 integrate
.. //depot/projects/mips2/src/share/man/man4/ng_netflow.4#2 integrate
.. //depot/projects/mips2/src/share/man/man4/nxge.4#2 integrate
.. //depot/projects/mips2/src/share/man/man4/pci.4#3 integrate
.. //depot/projects/mips2/src/share/man/man4/ral.4#3 integrate
.. //depot/projects/mips2/src/share/man/man4/rum.4#2 integrate
.. //depot/projects/mips2/src/share/man/man4/sctp.4#2 integrate
.. //depot/projects/mips2/src/share/man/man4/snd_emu10kx.4#3 integrate
.. //depot/projects/mips2/src/share/man/man4/ural.4#4 integrate
.. //depot/projects/mips2/src/share/man/man4/uscanner.4#3 integrate
.. //depot/projects/mips2/src/share/man/man4/wlan.4#3 integrate
.. //depot/projects/mips2/src/share/man/man4/wlan_amrr.4#2 integrate
.. //depot/projects/mips2/src/share/man/man4/zyd.4#1 branch
.. //depot/projects/mips2/src/share/man/man5/Makefile#5 integrate
.. //depot/projects/mips2/src/share/man/man5/ar.5#1 branch
.. //depot/projects/mips2/src/share/man/man5/bluetooth.device.conf.5#3 integrate
.. //depot/projects/mips2/src/share/man/man5/elf.5#3 integrate
.. //depot/projects/mips2/src/share/man/man5/fstab.5#2 integrate
.. //depot/projects/mips2/src/share/man/man5/nsswitch.conf.5#3 integrate
.. //depot/projects/mips2/src/share/man/man5/quota.user.5#3 integrate
.. //depot/projects/mips2/src/share/man/man5/rc.conf.5#6 integrate
.. //depot/projects/mips2/src/share/man/man5/src.conf.5#5 integrate
.. //depot/projects/mips2/src/share/man/man5/xfs.5#2 integrate
.. //depot/projects/mips2/src/share/man/man7/Makefile#3 integrate
.. //depot/projects/mips2/src/share/man/man8/rc.subr.8#5 integrate
.. //depot/projects/mips2/src/share/man/man9/DECLARE_GEOM_CLASS.9#2 integrate
.. //depot/projects/mips2/src/share/man/man9/Makefile#5 integrate
.. //depot/projects/mips2/src/share/man/man9/crypto.9#3 integrate
.. //depot/projects/mips2/src/share/man/man9/kproc.9#1 branch
.. //depot/projects/mips2/src/share/man/man9/kthread.9#2 integrate
.. //depot/projects/mips2/src/share/man/man9/pci.9#2 integrate
.. //depot/projects/mips2/src/share/man/man9/sleepqueue.9#3 integrate
.. //depot/projects/mips2/src/share/man/man9/suser.9#4 integrate

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 20:01:59 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 0692916A469; Mon,  5 Nov 2007 20:01:59 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 88FDF16A420;
	Mon,  5 Nov 2007 20:01:58 +0000 (UTC)
	(envelope-from flata@magnesium.net)
Received: from toxic.magnesium.net (toxic.magnesium.net [207.154.84.15])
	by mx1.freebsd.org (Postfix) with ESMTP id 6C35013C4B0;
	Mon,  5 Nov 2007 20:01:58 +0000 (UTC)
	(envelope-from flata@magnesium.net)
Received: by toxic.magnesium.net (Postfix, from userid 1212)
	id F28A5DA82E; Mon,  5 Nov 2007 12:02:09 -0800 (PST)
Date: Mon, 5 Nov 2007 10:02:09 -1000
From: Juli Mallett 
To: Oleksandr Tymoshenko 
Message-ID: <20071105200209.GA45751@toxic.magnesium.net>
References: <200711051909.lA5J9C3B016553@repoman.freebsd.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <200711051909.lA5J9C3B016553@repoman.freebsd.org>
User-Agent: Mutt/1.5.15 (2007-04-06)
Cc: Perforce Change Reviews 
Subject: Re: PERFORCE change 128693 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, 05 Nov 2007 20:01:59 -0000

Great work you're doing!

* Oleksandr Tymoshenko  [ 2007-11-05 ]
	[ PERFORCE change 128693 for review ]
> http://perforce.freebsd.org/chv.cgi?CH=128693
> 
> Change 128693 by gonzo@gonzo_jeeves on 2007/11/05 19:09:07
> 
> 	o Try bootp on vr0
> 	o Add and comment out options for ath(4)
> 	o Enable uart
> 
> Affected files ...
> 
> .. //depot/projects/mips2/src/sys/mips/conf/IDT#3 edit
> 
> Differences ...
> 
> ==== //depot/projects/mips2/src/sys/mips/conf/IDT#3 (text+ko) ====
> 
> @@ -26,10 +26,10 @@
>  options		BOOTP
>  options		BOOTP_NFSROOT
>  options		BOOTP_NFSV3
> -options		BOOTP_WIRED_TO=admsw0
> +options		BOOTP_WIRED_TO=vr0
>  options		BOOTP_COMPAT
>  
> -options		ROOTDEVNAME=\"nfs:10.0.0.1:/mnt/bsd\"
> +options		ROOTDEVNAME=\"nfs:192.168.0.52:/mnt/bsd\"
>  
>  
>  # Debugging for use in -current
> @@ -42,3 +42,15 @@
>  device		ether
>  device		miibus
>  device		vr
> +device		uart
> +device		uart_ns8250
> +
> +# Wireless NIC cards
> +#device          wlan            # 802.11 support
> +#device         wlan_wep        # 802.11 WEP support
> +#device         wlan_ccmp       # 802.11 CCMP support
> +#device         wlan_tkip       # 802.11 TKIP support
> +#device          ath             # Atheros pci/cardbus NIC's
> +#device          ath_hal         # Atheros HAL (Hardware Access Layer)
> +#device          ath_rate_sample # SampleRate tx rate control for ath
> +#options         ATH_DEBUG

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 20:18:15 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 0D28916A41B; Mon,  5 Nov 2007 20:18:15 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id AC80116A41A
	for ; Mon,  5 Nov 2007 20:18:14 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 9319813C4B2
	for ; Mon,  5 Nov 2007 20:18:14 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5KIEO7020569
	for ; Mon, 5 Nov 2007 20:18:14 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5KIEme020566
	for perforce@freebsd.org; Mon, 5 Nov 2007 20:18:14 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 20:18:14 GMT
Message-Id: <200711052018.lA5KIEme020566@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 128698 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, 05 Nov 2007 20:18:15 -0000

http://perforce.freebsd.org/chv.cgi?CH=128698

Change 128698 by gonzo@gonzo_jeeves on 2007/11/05 20:18:08

	o Three free pages pools by default
	o Add VM_FREEPOOL_CACHE

Affected files ...

.. //depot/projects/mips2/src/sys/mips/include/vmparam.h#10 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/include/vmparam.h#10 (text+ko) ====

@@ -111,12 +111,13 @@
 #define	VM_PHYSSEG_DENSE
 
 /*
- * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
+ * Create three free page pools: VM_FREEPOOL_DEFAULT is the default pool
  * from which physical pages are allocated and VM_FREEPOOL_DIRECT is
  * the pool from which physical pages for small UMA objects are
  * allocated.
  */
-#define	VM_NFREEPOOL		2
+#define	VM_NFREEPOOL		3
+#define	VM_FREEPOOL_CACHE	2
 #define	VM_FREEPOOL_DEFAULT	0
 #define	VM_FREEPOOL_DIRECT	1
 

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 20:20:17 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 263DE16A41B; Mon,  5 Nov 2007 20:20:17 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id E030716A41A
	for ; Mon,  5 Nov 2007 20:20:16 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id C758E13C4B6
	for ; Mon,  5 Nov 2007 20:20:16 +0000 (UTC)
	(envelope-from gonzo@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5KKGgF020680
	for ; Mon, 5 Nov 2007 20:20:16 GMT
	(envelope-from gonzo@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5KKG9h020677
	for perforce@freebsd.org; Mon, 5 Nov 2007 20:20:16 GMT
	(envelope-from gonzo@FreeBSD.org)
Date: Mon, 5 Nov 2007 20:20:16 GMT
Message-Id: <200711052020.lA5KKG9h020677@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 128699 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, 05 Nov 2007 20:20:17 -0000

http://perforce.freebsd.org/chv.cgi?CH=128699

Change 128699 by gonzo@gonzo_jeeves on 2007/11/05 20:19:18

	o pmap_pinit now returns int, also s/struct pmap \*/pmap_t/

Affected files ...

.. //depot/projects/mips2/src/sys/mips/mips/pmap.c#28 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#28 (text+ko) ====

@@ -763,9 +763,8 @@
  * Initialize a preallocated and zeroed pmap structure,
  * such as one in a vmspace structure.
  */
-void
-pmap_pinit(pmap)
-	register struct pmap *pmap;
+int
+pmap_pinit(pmap_t pmap)
 {
 	vm_page_t lev1pg;
 
@@ -799,6 +798,8 @@
 	mtx_lock_spin(&allpmaps_lock);
 	LIST_INSERT_HEAD(&allpmaps, pmap, pm_list);
 	mtx_unlock_spin(&allpmaps_lock);
+
+	return (1);
 }
 
 /*

From owner-p4-projects@FreeBSD.ORG  Mon Nov  5 22:12:20 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 1183316A419; Mon,  5 Nov 2007 22:12:20 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7FA2716A417
	for ; Mon,  5 Nov 2007 22:12:19 +0000 (UTC)
	(envelope-from jb@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 6416513C49D
	for ; Mon,  5 Nov 2007 22:12:19 +0000 (UTC)
	(envelope-from jb@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5MCJrq035909
	for ; Mon, 5 Nov 2007 22:12:19 GMT
	(envelope-from jb@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5MCH01035906
	for perforce@freebsd.org; Mon, 5 Nov 2007 22:12:17 GMT
	(envelope-from jb@freebsd.org)
Date: Mon, 5 Nov 2007 22:12:17 GMT
Message-Id: <200711052212.lA5MCH01035906@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	jb@freebsd.org using -f
From: John Birrell 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 128704 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, 05 Nov 2007 22:12:20 -0000

http://perforce.freebsd.org/chv.cgi?CH=128704

Change 128704 by jb@jb_freebsd1 on 2007/11/05 22:11:46

	IFC

Affected files ...

.. //depot/projects/dtrace/ports/Mk/bsd.gcc.mk#7 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/CACerts#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/FREEBSD-upgrade#7 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/INSTALL#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/RELEASE_NOTES#6 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/cf/cf/submit.cf#6 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/cf/feature/ldap_routing.m4#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/cf/m4/proto.m4#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/cf/m4/version.m4#6 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/contrib/buildvirtuser#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/doc/op/op.me#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/editmap/editmap.c#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/include/sm/conf.h#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/include/sm/ldap.h#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/include/sm/tailq.h#2 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/libmilter/docs/xxfi_unknown.html#2 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/libmilter/engine.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/libmilter/listener.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/libmilter/main.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/libmilter/monitor.c#2 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/libmilter/smfi.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/libsm/ldap.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/libsm/mpeix.c#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/makemap/makemap.c#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/praliases/praliases.c#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/Makefile.m4#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/conf.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/deliver.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/envelope.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/headers.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/macro.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/main.c#6 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/map.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/milter.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/mime.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/parseaddr.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/queue.c#6 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/readcf.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/recipient.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/sendmail.8#4 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/sendmail.h#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/sm_resolve.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/srvrsmtp.c#6 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/usersmtp.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/util.c#5 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/src/version.c#6 integrate
.. //depot/projects/dtrace/src/contrib/sendmail/vacation/vacation.c#5 integrate
.. //depot/projects/dtrace/src/etc/network.subr#11 integrate
.. //depot/projects/dtrace/src/etc/sendmail/freebsd.mc#7 integrate
.. //depot/projects/dtrace/src/etc/sendmail/freebsd.submit.mc#7 integrate
.. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#11 integrate
.. //depot/projects/dtrace/src/share/doc/legal/intel_wpi/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/amd64/amd64/machdep.c#21 integrate
.. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#22 integrate
.. //depot/projects/dtrace/src/sys/arm/arm/pmap.c#20 integrate
.. //depot/projects/dtrace/src/sys/arm/at91/kb920x_machdep.c#20 integrate
.. //depot/projects/dtrace/src/sys/arm/sa11x0/assabet_machdep.c#11 integrate
.. //depot/projects/dtrace/src/sys/arm/xscale/i80321/ep80219_machdep.c#7 integrate
.. //depot/projects/dtrace/src/sys/arm/xscale/i80321/iq31244_machdep.c#12 integrate
.. //depot/projects/dtrace/src/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate
.. //depot/projects/dtrace/src/sys/arm/xscale/ixp425/avila_machdep.c#4 integrate
.. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/kcondvar.h#2 integrate
.. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/mutex.h#2 integrate
.. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/rwlock.h#2 integrate
.. //depot/projects/dtrace/src/sys/compat/pecoff/imgact_pecoff.c#5 integrate
.. //depot/projects/dtrace/src/sys/compat/svr4/imgact_svr4.c#4 integrate
.. //depot/projects/dtrace/src/sys/contrib/dev/wpi/LICENSE#1 branch
.. //depot/projects/dtrace/src/sys/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu#1 branch
.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#2 integrate
.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#26 edit
.. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/procset.h#2 edit
.. //depot/projects/dtrace/src/sys/dev/ciss/ciss.c#12 integrate
.. //depot/projects/dtrace/src/sys/dev/isp/isp_sbus.c#12 integrate
.. //depot/projects/dtrace/src/sys/dev/usb/ukbd.c#10 integrate
.. //depot/projects/dtrace/src/sys/dev/wpi/if_wpi.c#1 branch
.. //depot/projects/dtrace/src/sys/dev/wpi/if_wpireg.h#1 branch
.. //depot/projects/dtrace/src/sys/dev/wpi/if_wpivar.h#1 branch
.. //depot/projects/dtrace/src/sys/i386/i386/machdep.c#20 integrate
.. //depot/projects/dtrace/src/sys/i386/i386/pmap.c#18 integrate
.. //depot/projects/dtrace/src/sys/i386/ibcs2/imgact_coff.c#6 integrate
.. //depot/projects/dtrace/src/sys/i386/linux/imgact_linux.c#5 integrate
.. //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#11 integrate
.. //depot/projects/dtrace/src/sys/ia64/ia64/pmap.c#10 integrate
.. //depot/projects/dtrace/src/sys/kern/imgact_aout.c#4 integrate
.. //depot/projects/dtrace/src/sys/kern/imgact_elf.c#7 integrate
.. //depot/projects/dtrace/src/sys/kern/imgact_gzip.c#4 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_exec.c#17 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_fork.c#21 edit
.. //depot/projects/dtrace/src/sys/kern/kern_kse.c#10 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_proc.c#9 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_sig.c#16 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_thr.c#19 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_thread.c#15 integrate
.. //depot/projects/dtrace/src/sys/kern/sched_4bsd.c#25 integrate
.. //depot/projects/dtrace/src/sys/modules/wpi/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/modules/wpifw/Makefile#1 branch
.. //depot/projects/dtrace/src/sys/net80211/ieee80211_scan_sta.c#3 integrate
.. //depot/projects/dtrace/src/sys/pc98/pc98/machdep.c#17 integrate
.. //depot/projects/dtrace/src/sys/powerpc/powerpc/machdep.c#10 integrate
.. //depot/projects/dtrace/src/sys/powerpc/powerpc/pmap_dispatch.c#8 integrate
.. //depot/projects/dtrace/src/sys/sparc64/sparc64/machdep.c#9 integrate
.. //depot/projects/dtrace/src/sys/sparc64/sparc64/pmap.c#12 integrate
.. //depot/projects/dtrace/src/sys/sun4v/sun4v/machdep.c#13 integrate
.. //depot/projects/dtrace/src/sys/sun4v/sun4v/pmap.c#24 integrate
.. //depot/projects/dtrace/src/sys/sys/proc.h#25 integrate
.. //depot/projects/dtrace/src/sys/sys/signalvar.h#5 integrate
.. //depot/projects/dtrace/src/sys/vm/pmap.h#7 integrate
.. //depot/projects/dtrace/src/sys/vm/vm_extern.h#4 integrate
.. //depot/projects/dtrace/src/sys/vm/vm_glue.c#10 integrate
.. //depot/projects/dtrace/src/sys/vm/vm_map.c#12 integrate
.. //depot/projects/dtrace/src/sys/vm/vm_page.c#23 integrate
.. //depot/projects/dtrace/src/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#6 integrate
.. //depot/projects/dtrace/www/de/developers.sgml#5 integrate
.. //depot/projects/dtrace/www/de/docs/books.sgml#10 integrate
.. //depot/projects/dtrace/www/de/index.xsl#14 integrate
.. //depot/projects/dtrace/www/de/ports/Makefile#3 integrate
.. //depot/projects/dtrace/www/de/share/sgml/news.xml#14 integrate
.. //depot/projects/dtrace/www/de/share/sgml/press.xml#13 integrate
.. //depot/projects/dtrace/www/de/where.sgml#11 integrate

Differences ...

==== //depot/projects/dtrace/ports/Mk/bsd.gcc.mk#7 (text+ko) ====

@@ -31,7 +31,7 @@
 # If you are wondering what your port exactly does, use "make test-gcc"
 # to see some debugging.
 #
-# $FreeBSD: ports/Mk/bsd.gcc.mk,v 1.14 2007/07/27 21:40:10 pav Exp $
+# $FreeBSD: ports/Mk/bsd.gcc.mk,v 1.15 2007/11/05 19:26:16 gerald Exp $
 #
 
 GCC_Include_MAINTAINER=		gerald@FreeBSD.org
@@ -40,7 +40,7 @@
 # All GCC versions supported by the ports framework.
 # Please keep them in ascending order.
 #
-GCCVERSIONS=	020702 020801 029500 030200 030301 030402 040000 040100 040200
+GCCVERSIONS=	020702 020801 029500 030200 030301 030402 040100 040200
 
 #
 # Versions of GCC shipped.
@@ -55,7 +55,6 @@
 GCCVERSION_030200=	500039 501103 3.2
 GCCVERSION_030301=	501103 502126 3.3
 GCCVERSION_030402=	502126 700042 3.4
-GCCVERSION_040000=	999999 999999 4.0
 GCCVERSION_040100=	999999 999999 4.1
 GCCVERSION_040200=	700042 999999 4.2
 

==== //depot/projects/dtrace/src/contrib/sendmail/CACerts#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $Id: CACerts,v 8.1 2004/03/01 22:05:47 ca Exp $
+# $Id: CACerts,v 8.3 2007/06/11 22:04:46 ca Exp $
 # This file contains some CA certificates that are used to sign the
 # certificates of mail servers of members of the sendmail consortium
 # who may reply to questions etc sent to sendmail.org.
@@ -78,73 +78,6 @@
         Version: 3 (0x2)
         Serial Number: 0 (0x0)
         Signature Algorithm: md5WithRSAEncryption
-        Issuer: C=US, ST=California, L=Emeryville, O=gshapiro.net, CN=Certificate Authority/emailAddress=certificates@gshapiro.net
-        Validity
-            Not Before: Jan  1 04:39:54 2002 GMT
-            Not After : Dec 31 04:39:54 2006 GMT
-        Subject: C=US, ST=California, L=Emeryville, O=gshapiro.net, CN=Certificate Authority/emailAddress=certificates@gshapiro.net
-        Subject Public Key Info:
-            Public Key Algorithm: rsaEncryption
-            RSA Public Key: (1024 bit)
-                Modulus (1024 bit):
-                    00:aa:dd:a2:fe:3b:fa:2f:5c:3d:f1:e1:d4:1d:55:
-                    04:27:6b:01:62:00:d7:02:cb:74:47:69:84:d7:c6:
-                    c5:71:55:79:35:3a:a8:ce:de:48:23:53:80:3c:cd:
-                    54:2e:e9:fe:b1:76:5a:be:cb:fd:2d:dc:a3:36:c5:
-                    c7:1e:4e:ef:76:f0:55:8f:a0:a5:f8:07:c5:52:1d:
-                    a2:42:81:4d:8a:c8:42:3f:f3:01:80:f9:46:35:a6:
-                    bc:c0:9b:9f:33:8b:49:9b:1d:87:8f:19:48:15:21:
-                    23:57:df:6e:4d:03:ed:ae:9f:0b:91:b7:a9:47:66:
-                    f1:0d:1b:1c:5d:b4:57:60:c7
-                Exponent: 65537 (0x10001)
-        X509v3 extensions:
-            X509v3 Subject Key Identifier: 
-            A0:6D:E0:06:AF:61:94:B4:C6:84:15:B4:8B:74:22:67:4A:43:60:CA
-            X509v3 Authority Key Identifier: 
-            keyid:A0:6D:E0:06:AF:61:94:B4:C6:84:15:B4:8B:74:22:67:4A:43:60:CA
-            DirName:/C=US/ST=California/L=Emeryville/O=gshapiro.net/CN=Certificate Authority/emailAddress=certificates@gshapiro.net
-            serial:00
-
-            X509v3 Basic Constraints: 
-            CA:TRUE
-    Signature Algorithm: md5WithRSAEncryption
-        87:27:d2:2a:3a:dc:04:cd:ef:e8:7b:1c:34:47:2e:13:34:a5:
-        08:f9:4d:df:d8:e1:6d:e6:9a:db:38:ee:20:6d:4a:ae:6f:1e:
-        bc:71:61:a4:b4:d6:40:24:ee:65:ca:e9:81:5a:ef:ee:62:57:
-        70:05:46:91:6b:d0:c6:a6:e9:38:65:ae:ea:50:b3:5c:27:c4:
-        7a:bd:95:8c:cb:45:ef:fc:fc:99:e5:6a:61:c3:44:77:d8:1f:
-        d6:b4:17:44:15:9a:bc:26:5b:ec:4e:29:5d:fd:cf:61:f3:be:
-        91:a4:3b:51:e6:73:5b:17:82:9d:5a:56:2c:63:c2:f1:d6:a2:
-        4c:5a
------BEGIN CERTIFICATE-----
-MIIDoTCCAwqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCVVMx
-EzARBgNVBAgTCkNhbGlmb3JuaWExEzARBgNVBAcTCkVtZXJ5dmlsbGUxFTATBgNV
-BAoTDGdzaGFwaXJvLm5ldDEeMBwGA1UEAxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5
-MSgwJgYJKoZIhvcNAQkBFhljZXJ0aWZpY2F0ZXNAZ3NoYXBpcm8ubmV0MB4XDTAy
-MDEwMTA0Mzk1NFoXDTA2MTIzMTA0Mzk1NFowgZgxCzAJBgNVBAYTAlVTMRMwEQYD
-VQQIEwpDYWxpZm9ybmlhMRMwEQYDVQQHEwpFbWVyeXZpbGxlMRUwEwYDVQQKEwxn
-c2hhcGlyby5uZXQxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0eTEoMCYG
-CSqGSIb3DQEJARYZY2VydGlmaWNhdGVzQGdzaGFwaXJvLm5ldDCBnzANBgkqhkiG
-9w0BAQEFAAOBjQAwgYkCgYEAqt2i/jv6L1w98eHUHVUEJ2sBYgDXAst0R2mE18bF
-cVV5NTqozt5II1OAPM1ULun+sXZavsv9LdyjNsXHHk7vdvBVj6Cl+AfFUh2iQoFN
-ishCP/MBgPlGNaa8wJufM4tJmx2HjxlIFSEjV99uTQPtrp8LkbepR2bxDRscXbRX
-YMcCAwEAAaOB+DCB9TAdBgNVHQ4EFgQUoG3gBq9hlLTGhBW0i3QiZ0pDYMowgcUG
-A1UdIwSBvTCBuoAUoG3gBq9hlLTGhBW0i3QiZ0pDYMqhgZ6kgZswgZgxCzAJBgNV
-BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRMwEQYDVQQHEwpFbWVyeXZpbGxl
-MRUwEwYDVQQKEwxnc2hhcGlyby5uZXQxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1
-dGhvcml0eTEoMCYGCSqGSIb3DQEJARYZY2VydGlmaWNhdGVzQGdzaGFwaXJvLm5l
-dIIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAIcn0io63ATN7+h7
-HDRHLhM0pQj5Td/Y4W3mmts47iBtSq5vHrxxYaS01kAk7mXK6YFa7+5iV3AFRpFr
-0Mam6ThlrupQs1wnxHq9lYzLRe/8/JnlamHDRHfYH9a0F0QVmrwmW+xOKV39z2Hz
-vpGkO1Hmc1sXgp1aVixjwvHWokxa
------END CERTIFICATE-----
-
-
-Certificate:
-    Data:
-        Version: 3 (0x2)
-        Serial Number: 0 (0x0)
-        Signature Algorithm: md5WithRSAEncryption
         Issuer: C=US, ST=Illinois, L=De Kalb, O=Northern Illinois University, OU=Computer Science, CN=Neil Rickert/emailAddress=rickert@cs.niu.edu
         Validity
             Not Before: May 12 00:40:50 2000 GMT
@@ -210,93 +143,94 @@
 Certificate:
     Data:
         Version: 3 (0x2)
-        Serial Number: 0 (0x0)
+        Serial Number:
+            fa:7c:2c:80:29:3f:c2:64
         Signature Algorithm: md5WithRSAEncryption
-        Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2003/emailAddress=ca+ca-rsa2003@esmtp.org
+        Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2007/emailAddress=ca+ca-rsa2007@esmtp.org
         Validity
-            Not Before: Aug  7 15:56:45 2003 GMT
-            Not After : Aug  6 15:56:45 2006 GMT
-        Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2003/emailAddress=ca+ca-rsa2003@esmtp.org
+            Not Before: May  4 02:07:56 2007 GMT
+            Not After : May  3 02:07:56 2010 GMT
+        Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2007/emailAddress=ca+ca-rsa2007@esmtp.org
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
             RSA Public Key: (2048 bit)
                 Modulus (2048 bit):
-                    00:aa:37:0f:09:a9:1c:e3:1a:0c:fe:bd:6c:37:a4:
-                    cf:87:db:af:6b:b4:19:d4:11:db:c6:56:ca:39:80:
-                    c6:a4:38:b0:bc:ac:7e:be:71:30:86:2c:dc:fa:b5:
-                    fd:58:23:a0:c1:ad:11:53:85:ca:fb:e6:d8:7e:28:
-                    eb:84:3b:cd:a3:fa:28:a5:cb:c7:b2:54:99:3e:40:
-                    2a:27:43:4b:0c:26:4b:af:97:3d:92:82:d9:eb:2c:
-                    7f:77:fd:b8:cd:7e:1e:04:81:17:3c:e2:44:68:ce:
-                    88:66:02:90:24:35:24:c4:4c:ad:77:04:1a:3a:d5:
-                    59:28:28:03:da:03:9d:f4:2e:52:6e:b5:36:96:4b:
-                    14:f8:fc:8e:c6:d3:9b:e2:80:90:8b:71:d7:d0:5c:
-                    43:b2:49:f1:5a:26:f3:5d:9e:3b:01:98:db:e3:ed:
-                    5e:8d:dd:cf:aa:68:9d:0b:c9:e2:4e:fc:16:44:72:
-                    93:07:62:18:05:c1:47:81:3c:3d:e4:e4:22:da:2c:
-                    d6:4a:44:52:06:7a:83:b5:e9:52:38:97:2f:75:a6:
-                    5c:6f:87:8a:8d:83:f4:d0:04:a5:34:18:5e:a1:06:
-                    16:b3:54:ce:64:47:ca:70:56:a3:6f:b9:7f:af:91:
-                    76:78:70:b4:ab:ae:8e:d5:22:26:57:b1:ba:e7:4b:
-                    18:21
+                    00:b0:28:91:31:af:82:ce:72:ef:36:ab:7d:e9:b1:
+                    f5:77:66:38:4b:38:1f:5f:3d:12:d3:c8:fd:9a:f4:
+                    d4:f6:b8:90:f9:26:5f:29:f7:43:f9:34:ec:65:62:
+                    01:bb:64:f1:5d:ea:75:04:3d:92:65:60:a2:06:62:
+                    fa:88:ca:d8:20:50:c8:1e:38:53:b5:18:dd:b7:bd:
+                    c7:08:35:4c:d9:dc:c6:97:56:37:b6:65:33:74:5a:
+                    b2:c3:85:08:2b:b7:26:70:ff:38:02:1a:67:6a:d0:
+                    49:18:10:4b:f8:db:af:06:9c:b1:a8:82:a1:b1:75:
+                    d2:52:9b:53:0c:ca:a7:e3:15:38:79:6d:a1:f5:ef:
+                    7c:8b:fd:bd:04:78:f9:e8:1e:b9:92:ea:74:d7:45:
+                    1e:4c:c8:bd:f4:5c:fc:1a:7f:e7:31:c6:ab:cb:78:
+                    c7:4d:2f:b5:72:10:35:27:4a:1a:fa:53:19:f8:a7:
+                    59:63:eb:e9:15:ab:dc:71:69:8c:42:1c:96:4e:89:
+                    80:66:c9:9e:21:d5:3d:08:19:74:a5:f5:07:a0:ae:
+                    de:79:af:fd:42:c2:79:7e:8c:f8:39:22:3b:c3:c4:
+                    58:3b:d0:0d:e6:a9:11:b6:a2:cd:2e:e5:16:66:fd:
+                    7e:65:33:94:b0:36:80:27:f5:80:76:a9:e5:df:f2:
+                    cf:ef
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Key Identifier: 
-            3A:12:03:DB:0F:9E:28:45:A6:34:8D:38:AB:BA:47:8C:2A:A0:E4:2E
+                B2:49:6B:52:45:EE:90:36:D2:79:47:03:33:D9:A0:BA:80:50:DA:1C
             X509v3 Authority Key Identifier: 
-            keyid:3A:12:03:DB:0F:9E:28:45:A6:34:8D:38:AB:BA:47:8C:2A:A0:E4:2E
-            DirName:/C=US/ST=California/L=Berkeley/O=Endmail Org/OU=MTA/CN=Claus Assmann CA RSA 2003/emailAddress=ca+ca-rsa2003@esmtp.org
-            serial:00
+                keyid:B2:49:6B:52:45:EE:90:36:D2:79:47:03:33:D9:A0:BA:80:50:DA:1C
+                DirName:/C=US/ST=California/L=Berkeley/O=Endmail Org/OU=MTA/CN=Claus Assmann CA RSA 2007/emailAddress=ca+ca-rsa2007@esmtp.org
+                serial:FA:7C:2C:80:29:3F:C2:64
 
             X509v3 Basic Constraints: 
-            CA:TRUE
+                CA:TRUE
             X509v3 Subject Alternative Name: 
-            email:ca+ca-rsa2003@esmtp.org
+                email:ca+ca-rsa2007@esmtp.org
             X509v3 Issuer Alternative Name: 
-            email:ca+ca-rsa2003@esmtp.org
+                email:ca+ca-rsa2007@esmtp.org
     Signature Algorithm: md5WithRSAEncryption
-        96:83:b6:54:93:df:38:d0:48:a7:a1:c8:08:c9:0f:e9:80:05:
-        e3:7e:c3:61:51:88:7b:7a:bb:24:b0:69:a3:22:e4:98:38:da:
-        c8:c3:eb:52:70:63:e2:66:f2:59:ef:56:be:aa:7c:87:6e:94:
-        85:d4:71:ba:35:f7:ee:d0:6e:52:1d:1f:e4:fd:2f:e2:70:31:
-        5d:b7:8b:13:cc:70:10:21:fa:34:29:8f:8d:d8:4a:c7:0f:b2:
-        36:e7:1e:1e:46:d1:11:84:80:7c:bb:24:c4:63:be:2a:24:53:
-        74:0c:89:e0:6a:f4:08:63:bf:54:d3:0a:d9:fc:fe:6c:de:4f:
-        97:61:08:a0:10:92:eb:af:06:ec:50:86:c4:cc:6b:31:32:60:
-        25:7a:09:47:f8:42:7a:a2:d5:90:fa:48:be:bf:0a:e1:03:b8:
-        56:24:b9:12:e9:ba:09:30:47:be:a5:8e:a2:92:a4:dc:a6:a7:
-        c6:29:39:65:6e:64:4a:1b:b2:c3:07:29:f5:c0:7e:78:e0:22:
-        9b:98:d4:87:91:ca:e1:66:9d:2f:70:f1:4c:a5:8e:2e:68:52:
-        b3:bd:95:76:56:40:0e:46:47:e4:b3:ec:aa:3c:e8:86:96:5a:
-        ed:fa:c9:10:95:53:04:13:71:01:91:ce:cd:3a:51:c6:30:e9:
-        48:49:64:a3
+        98:98:7c:d3:d0:5b:72:47:15:e6:22:68:bb:78:0e:78:66:e9:
+        56:16:d8:bc:9d:5a:dc:27:29:fb:91:2d:6a:21:35:18:56:b4:
+        4f:2a:09:c0:08:6f:9a:59:2b:2e:72:9a:fb:50:ba:c7:a9:91:
+        a0:f9:6c:be:cf:78:42:43:02:70:53:97:ba:6a:e3:da:17:e8:
+        1f:c7:3a:5b:e7:bc:eb:e5:24:4c:f5:cf:61:34:1e:20:ed:17:
+        63:ef:81:d3:9e:25:fe:cc:05:19:cc:8a:82:c9:4c:3a:b5:6b:
+        49:51:76:46:02:aa:60:bb:c4:b9:61:48:33:da:79:8d:46:a3:
+        06:20:98:f3:b2:db:3b:ad:c9:1d:0e:97:3d:b7:14:19:d3:7d:
+        04:8b:6a:81:e0:11:5b:e1:35:a3:ff:2f:11:86:1c:31:85:7a:
+        fd:3f:36:ef:99:25:46:2e:b0:cb:43:45:4a:ec:be:d3:3f:a4:
+        77:9b:79:cc:ce:92:63:a5:d9:ed:db:a0:9d:5d:7c:d7:80:f6:
+        c9:41:fb:02:96:8e:fd:f3:da:05:9d:81:a7:25:da:26:35:3b:
+        a9:0c:8c:f5:a7:5d:48:ec:87:c7:7a:60:51:76:f2:de:9b:14:
+        2b:55:8a:43:df:99:19:f3:eb:e7:03:e6:a7:a2:a2:28:dd:d5:
+        07:6a:3f:f7
 -----BEGIN CERTIFICATE-----
-MIIFFzCCA/+gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBpTELMAkGA1UEBhMCVVMx
-EzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCEJlcmtlbGV5MRQwEgYDVQQK
-EwtFbmRtYWlsIE9yZzEMMAoGA1UECxMDTVRBMSIwIAYDVQQDExlDbGF1cyBBc3Nt
-YW5uIENBIFJTQSAyMDAzMSYwJAYJKoZIhvcNAQkBFhdjYStjYS1yc2EyMDAzQGVz
-bXRwLm9yZzAeFw0wMzA4MDcxNTU2NDVaFw0wNjA4MDYxNTU2NDVaMIGlMQswCQYD
+MIIFJzCCBA+gAwIBAgIJAPp8LIApP8JkMA0GCSqGSIb3DQEBBAUAMIGlMQswCQYD
 VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIQmVya2VsZXkx
 FDASBgNVBAoTC0VuZG1haWwgT3JnMQwwCgYDVQQLEwNNVEExIjAgBgNVBAMTGUNs
-YXVzIEFzc21hbm4gQ0EgUlNBIDIwMDMxJjAkBgkqhkiG9w0BCQEWF2NhK2NhLXJz
-YTIwMDNAZXNtdHAub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
-qjcPCakc4xoM/r1sN6TPh9uva7QZ1BHbxlbKOYDGpDiwvKx+vnEwhizc+rX9WCOg
-wa0RU4XK++bYfijrhDvNo/oopcvHslSZPkAqJ0NLDCZLr5c9koLZ6yx/d/24zX4e
-BIEXPOJEaM6IZgKQJDUkxEytdwQaOtVZKCgD2gOd9C5SbrU2lksU+PyOxtOb4oCQ
-i3HX0FxDsknxWibzXZ47AZjb4+1ejd3PqmidC8niTvwWRHKTB2IYBcFHgTw95OQi
-2izWSkRSBnqDtelSOJcvdaZcb4eKjYP00ASlNBheoQYWs1TOZEfKcFajb7l/r5F2
-eHC0q66O1SImV7G650sYIQIDAQABo4IBTjCCAUowHQYDVR0OBBYEFDoSA9sPnihF
-pjSNOKu6R4wqoOQuMIHSBgNVHSMEgcowgceAFDoSA9sPnihFpjSNOKu6R4wqoOQu
-oYGrpIGoMIGlMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8G
-A1UEBxMIQmVya2VsZXkxFDASBgNVBAoTC0VuZG1haWwgT3JnMQwwCgYDVQQLEwNN
-VEExIjAgBgNVBAMTGUNsYXVzIEFzc21hbm4gQ0EgUlNBIDIwMDMxJjAkBgkqhkiG
-9w0BCQEWF2NhK2NhLXJzYTIwMDNAZXNtdHAub3JnggEAMAwGA1UdEwQFMAMBAf8w
-IgYDVR0RBBswGYEXY2ErY2EtcnNhMjAwM0Blc210cC5vcmcwIgYDVR0SBBswGYEX
-Y2ErY2EtcnNhMjAwM0Blc210cC5vcmcwDQYJKoZIhvcNAQEEBQADggEBAJaDtlST
-3zjQSKehyAjJD+mABeN+w2FRiHt6uySwaaMi5Jg42sjD61JwY+Jm8lnvVr6qfIdu
-lIXUcbo19+7QblIdH+T9L+JwMV23ixPMcBAh+jQpj43YSscPsjbnHh5G0RGEgHy7
-JMRjviokU3QMieBq9Ahjv1TTCtn8/mzeT5dhCKAQkuuvBuxQhsTMazEyYCV6CUf4
-Qnqi1ZD6SL6/CuEDuFYkuRLpugkwR76ljqKSpNymp8YpOWVuZEobssMHKfXAfnjg
-IpuY1IeRyuFmnS9w8Uylji5oUrO9lXZWQA5GR+Sz7Ko86IaWWu36yRCVUwQTcQGR
-zs06UcYw6UhJZKM=
+YXVzIEFzc21hbm4gQ0EgUlNBIDIwMDcxJjAkBgkqhkiG9w0BCQEWF2NhK2NhLXJz
+YTIwMDdAZXNtdHAub3JnMB4XDTA3MDUwNDAyMDc1NloXDTEwMDUwMzAyMDc1Nlow
+gaUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMREwDwYDVQQHEwhC
+ZXJrZWxleTEUMBIGA1UEChMLRW5kbWFpbCBPcmcxDDAKBgNVBAsTA01UQTEiMCAG
+A1UEAxMZQ2xhdXMgQXNzbWFubiBDQSBSU0EgMjAwNzEmMCQGCSqGSIb3DQEJARYX
+Y2ErY2EtcnNhMjAwN0Blc210cC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQCwKJExr4LOcu82q33psfV3ZjhLOB9fPRLTyP2a9NT2uJD5Jl8p90P5
+NOxlYgG7ZPFd6nUEPZJlYKIGYvqIytggUMgeOFO1GN23vccINUzZ3MaXVje2ZTN0
+WrLDhQgrtyZw/zgCGmdq0EkYEEv4268GnLGogqGxddJSm1MMyqfjFTh5baH173yL
+/b0EePnoHrmS6nTXRR5MyL30XPwaf+cxxqvLeMdNL7VyEDUnShr6Uxn4p1lj6+kV
+q9xxaYxCHJZOiYBmyZ4h1T0IGXSl9Qegrt55r/1Cwnl+jPg5IjvDxFg70A3mqRG2
+os0u5RZm/X5lM5SwNoAn9YB2qeXf8s/vAgMBAAGjggFWMIIBUjAdBgNVHQ4EFgQU
+sklrUkXukDbSeUcDM9mguoBQ2hwwgdoGA1UdIwSB0jCBz4AUsklrUkXukDbSeUcD
+M9mguoBQ2hyhgaukgagwgaUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y
+bmlhMREwDwYDVQQHEwhCZXJrZWxleTEUMBIGA1UEChMLRW5kbWFpbCBPcmcxDDAK
+BgNVBAsTA01UQTEiMCAGA1UEAxMZQ2xhdXMgQXNzbWFubiBDQSBSU0EgMjAwNzEm
+MCQGCSqGSIb3DQEJARYXY2ErY2EtcnNhMjAwN0Blc210cC5vcmeCCQD6fCyAKT/C
+ZDAMBgNVHRMEBTADAQH/MCIGA1UdEQQbMBmBF2NhK2NhLXJzYTIwMDdAZXNtdHAu
+b3JnMCIGA1UdEgQbMBmBF2NhK2NhLXJzYTIwMDdAZXNtdHAub3JnMA0GCSqGSIb3
+DQEBBAUAA4IBAQCYmHzT0FtyRxXmImi7eA54ZulWFti8nVrcJyn7kS1qITUYVrRP
+KgnACG+aWSsucpr7ULrHqZGg+Wy+z3hCQwJwU5e6auPaF+gfxzpb57zr5SRM9c9h
+NB4g7Rdj74HTniX+zAUZzIqCyUw6tWtJUXZGAqpgu8S5YUgz2nmNRqMGIJjzsts7
+rckdDpc9txQZ030Ei2qB4BFb4TWj/y8RhhwxhXr9PzbvmSVGLrDLQ0VK7L7TP6R3
+m3nMzpJjpdnt26CdXXzXgPbJQfsClo7989oFnYGnJdomNTupDIz1p11I7IfHemBR
+dvLemxQrVYpD35kZ8+vnA+anoqIo3dUHaj/3
 -----END CERTIFICATE-----

==== //depot/projects/dtrace/src/contrib/sendmail/FREEBSD-upgrade#7 (text+ko) ====

@@ -1,6 +1,6 @@
-$FreeBSD: src/contrib/sendmail/FREEBSD-upgrade,v 1.33 2007/04/09 01:46:43 gshapiro Exp $
+$FreeBSD: src/contrib/sendmail/FREEBSD-upgrade,v 1.34 2007/11/05 00:21:32 gshapiro Exp $
 
-sendmail 8.14.1
+sendmail 8.14.2
 	originals can be found at: ftp://ftp.sendmail.org/pub/sendmail/
 
 For the import of sendmail, the following files were removed:
@@ -21,8 +21,8 @@
 
 Imported using:
 
-	cvs import -m 'Import sendmail 8.14.1' \
-		src/contrib/sendmail SENDMAIL v8_14_1
+	cvs import -m 'Import sendmail 8.14.2' \
+		src/contrib/sendmail SENDMAIL v8_14_2
 
 After importing, bump the version of src/etc/sendmail/freebsd*mc
 so mergemaster will merge /etc/mail/freebsd*cf:
@@ -97,4 +97,4 @@
 	usr.sbin/mailwrapper/Makefile
 
 gshapiro@FreeBSD.org
-08-April-2007
+04-November-2007

==== //depot/projects/dtrace/src/contrib/sendmail/INSTALL#4 (text+ko) ====

@@ -12,13 +12,13 @@
 2. Create any necessary site configuration build files, as noted in
    devtools/Site/README.
 
-3. In the sendmail/ directory, run "sh Build" (see sendmail/README for
+3. In the sendmail/ directory, run "sh ./Build" (see sendmail/README for
    details).
 
 4. Change to the cf/cf/ directory (that's not a typo): Copy whichever .mc
    file best matches your environment to sendmail.mc.  Next, tailor it
    as explained in cf/README.  Then run
-   "sh Build sendmail.cf".
+   "sh ./Build sendmail.cf".
 
 5. Back up your current /etc/mail/sendmail.cf and the sendmail binary (whose
    location varies from operating system to operating system, but is usually
@@ -26,21 +26,21 @@
 
 6. Install sendmail.cf as /etc/mail/sendmail.cf and submit.cf as
    /etc/mail/submit.cf.  This can be done in the cf/cf by using
-   "sh Build install-cf".
+   "sh ./Build install-cf".
 
    Please read sendmail/SECURITY before continuing; you have to create a
    new user smmsp and a new group smmsp for the default installation.
    Then install the sendmail binary built in step 3 by cd-ing back to
-   sendmail/ and running "sh Build install".
+   sendmail/ and running "sh ./Build install".
 
 7. For each of the associated sendmail utilities (makemap, mailstats,
    etc.), read the README in the utility's directory if it exists.  When
-   you are ready to install it, back up your installed version and type "sh
-   Build install".
+   you are ready to install it, back up your installed version and type
+   "sh ./Build install".
 
 8. If you are upgrading from an older version of sendmail and are using any
    database maps, be sure to rebuild them with the new version of makemap,
    in case you are now using a different (and thereby incompatible) version
    of Berkeley DB.
 
-$Revision: 8.15 $, Last updated $Date: 2002/05/28 18:09:25 $
+$Revision: 8.16 $, Last updated $Date: 2007/10/03 21:00:28 $

==== //depot/projects/dtrace/src/contrib/sendmail/RELEASE_NOTES#6 (text+ko) ====

@@ -1,11 +1,76 @@
 			SENDMAIL RELEASE NOTES
-      $Id: RELEASE_NOTES,v 8.1888 2007/04/03 23:28:40 ca Exp $
+      $Id: RELEASE_NOTES,v 8.1909 2007/10/31 16:04:13 ca Exp $
 
 
 This listing shows the version of the sendmail binary, the version
 of the sendmail configuration files, the date of release, and a
 summary of the changes in that release.
 
+8.14.2/8.14.2	2007/11/01
+	If a message was queued and it contained 8 bit characters in
+		a From: or To: header, then those characters could be
+		"mistaken" for internal control characters during a queue
+		run and trigger various consistency checks.  Problem
+		noted by Neil Rickert of Northern Illinois University.
+	If MaxMimeHeaderLength is set to a value greater than 0 (which
+		it is by default) then even if the Linelimit parameter
+		is 0, sendmail corrupted in the non-transfer-encoding
+		case every MAXLINE-1 characters.  Patch from John Gardiner
+		Myers of Proofpoint.
+	Setting the suboption DeliveryMode for DaemonPortOptions did not
+		work in earlier 8.14 versions.
+	Note: DeliveryMode=interactive is silently converted to
+		background if a milter can reject or delete a recipient.
+		Prior to 8.14 this happened only if milter could delete
+		recipients.
+	ClientRate should trigger when the limit was exceeded (as
+		documented), not when it was reached.  Patch from 
+		John Beck of Sun Microsystems.
+	Force a queue run for -qGqueuegroup even if no runners are
+		specified (R=0) and forking (F=f) is requested.
+	When multiple results are requested for a DNS map lookup
+		(-z and -Z), return only those that are relevant for
+		the query (not also those in the "additional section".)
+	If the message transfer time to sendmail (when acting as server)
+		exceeds Timeout.queuewarn or Timeout.queuereturn and
+		the message is refused (by a milter), sendmail previously
+		created a delivery status notification (DSN).  Patch
+		from Doug Heath of The Hertz Corporation.
+	A code change in Cyrus-SASL 2.1.22 for sasl_decode64() requires
+		the MTA to deal with some input (i.e., "=") itself.
+		Problem noted by Eliot Lear.
+	sendmail counted a delivery as successful if PIPELINING is
+		compiled in but not offered by the server and the
+		delivery failed temporarily.  Patch from Werner Wiethege.
+	If getting the result of an LDAP query times out then close the
+		map so it will be reopened on the next lookup.  This
+		should help "failover" configurations that specify more
+		than one LDAP server.
+	If check_compat returns $#discard then a "savemail panic" could
+		be triggered under some circumstances (e.g., requiring
+		a system which does not have the compile time flag
+		HASFLOCK set). Based on patch by Motonori Nakamura
+		of National Institute of Informatics, Japan.
+	If a milter rejected a recipient, the count for nrcpts= in the
+		logfile entry might have been wrong.  Problem found by
+		Petra Humann of TU Dresden.
+	If a milter invoked smfi_chgfrom() where ESMTP arguments are not
+		NULL, the message body was lost.  Patch from Motonori
+		Nakamura of National Institute of Informatics, Japan.
+	sendmail(8) had a bogus space in -qGname.  Patch from Peng Haitao.
+	CONTRIB: buildvirtuser: Preserve ownership and permissions when
+		replacing files.
+	CONTRIB: buildvirtuser: Skip dot-files (e.g., .cvsignore) when
+		reading the /etc/mail/virtusers/ directory.
+	CONTRIB: buildvirtuser: Emit warnings instead of exiting where
+		appropriate.
+	LIBMILTER: Fix ABI backwards compatibility so milters compiled
+		against an older libmilter.so shared library can use an
+		8.14 libmilter.so shared library.
+	LIBMILTER: smfi_version() did not properly extract the patchlevel
+		from the version number, however, the returned value was
+		correct for the current libmilter version.
+
 8.14.1/8.14.1	2007/04/03
 	Even though a milter rejects a recipient the MTA will still keep
 		it in its list of recipients and deliver to it if the

==== //depot/projects/dtrace/src/contrib/sendmail/cf/cf/submit.cf#6 (text+ko) ====

@@ -16,8 +16,8 @@
 #####
 #####		SENDMAIL CONFIGURATION FILE
 #####
-##### built by ca@nother.smi.sendmail.com on Tue Apr 3 16:32:55 PDT 2007
-##### in /extra/home/ca/sm-8.14.1/OpenSource/sendmail-8.14.1/cf/cf
+##### built by ca@nother.smi.sendmail.com on Wed Oct 31 09:24:27 PDT 2007
+##### in /extra/home/ca/sm-8.14.2/OpenSource/sendmail-8.14.2/cf/cf
 ##### using ../ as configuration include directory
 #####
 ######################################################################
@@ -35,7 +35,7 @@
 #####  $Id: no_default_msa.m4,v 8.2 2001/02/14 05:03:22 gshapiro Exp $  #####
 
 
-#####  $Id: proto.m4,v 8.730 2007/02/01 18:50:03 ca Exp $  #####
+#####  $Id: proto.m4,v 8.732 2007/04/20 00:53:30 ca Exp $  #####
 
 # level 10 config file format
 V10/Berkeley
@@ -114,7 +114,7 @@
 
 
 # Configuration version number
-DZ8.14.1/Submit
+DZ8.14.2/Submit
 
 
 ###############

==== //depot/projects/dtrace/src/contrib/sendmail/cf/feature/ldap_routing.m4#4 (text+ko) ====

@@ -1,6 +1,6 @@
 divert(-1)
 #
-# Copyright (c) 1999-2002, 2004 Sendmail, Inc. and its suppliers.
+# Copyright (c) 1999-2002, 2004, 2007 Sendmail, Inc. and its suppliers.
 #	All rights reserved.
 #
 # By using this file, you agree to the terms and conditions set
@@ -10,7 +10,7 @@
 #
 
 divert(0)
-VERSIONID(`$Id: ldap_routing.m4,v 8.14 2004/02/18 02:45:11 gshapiro Exp $')
+VERSIONID(`$Id: ldap_routing.m4,v 8.15 2007/05/01 17:38:25 ca Exp $')
 divert(-1)
 
 # Check first two arguments.  If they aren't set, may need to warn in proto.m4

==== //depot/projects/dtrace/src/contrib/sendmail/cf/m4/proto.m4#5 (text+ko) ====

@@ -13,7 +13,7 @@
 #
 divert(0)
 
-VERSIONID(`$Id: proto.m4,v 8.730 2007/02/01 18:50:03 ca Exp $')
+VERSIONID(`$Id: proto.m4,v 8.732 2007/04/20 00:53:30 ca Exp $')
 
 # level CF_LEVEL config file format
 V`'CF_LEVEL/ifdef(`VENDOR_NAME', `VENDOR_NAME', `Berkeley')
@@ -2962,9 +2962,9 @@
 R<$* _ATMPF_>	$#error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."', `dnl')
 dnl use the generic routine (for now)
 R<0>		$@ OK		no limit
-R<$+>		$: <$1> $| $(arith l $@ $&{client_rate} $@ $1 $)
+R<$+>		$: <$1> $| $(arith l $@ $1 $@ $&{client_rate} $)
 dnl log this? Connection rate $&{client_rate} exceeds limit $1.
-R<$+> $| FALSE	$#error $@ 4.3.2 $: _RATE_CONTROL_REPLY Connection rate limit exceeded.
+R<$+> $| TRUE	$#error $@ 4.3.2 $: _RATE_CONTROL_REPLY Connection rate limit exceeded.
 ')')
 
 ifdef(`_CONN_CONTROL_',`dnl
@@ -2984,9 +2984,9 @@
 R<$* _ATMPF_>	$#error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."', `dnl')
 dnl use the generic routine (for now)
 R<0>		$@ OK		no limit
-R<$+>		$: <$1> $| $(arith l $@ $&{client_connections} $@ $1 $)
+R<$+>		$: <$1> $| $(arith l $@ $1 $@ $&{client_connections} $)
 dnl log this: Open connections $&{client_connections} exceeds limit $1.
-R<$+> $| FALSE	$#error $@ 4.3.2 $: _CONN_CONTROL_REPLY Too many open connections.
+R<$+> $| TRUE	$#error $@ 4.3.2 $: _CONN_CONTROL_REPLY Too many open connections.
 ')')
 
 undivert(9)dnl LOCAL_RULESETS

==== //depot/projects/dtrace/src/contrib/sendmail/cf/m4/version.m4#6 (text+ko) ====

@@ -11,8 +11,8 @@
 # the sendmail distribution.
 #
 #
-VERSIONID(`$Id: version.m4,v 8.178 2007/04/03 21:21:18 ca Exp $')
+VERSIONID(`$Id: version.m4,v 8.186 2007/10/31 16:04:13 ca Exp $')
 #
 divert(0)
 # Configuration version number
-DZ8.14.1`'ifdef(`confCF_VERSION', `/confCF_VERSION')
+DZ8.14.2`'ifdef(`confCF_VERSION', `/confCF_VERSION')

==== //depot/projects/dtrace/src/contrib/sendmail/contrib/buildvirtuser#4 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-# Copyright (c) 1999-2003 Gregory Neil Shapiro.  All Rights Reserved.
+# Copyright (c) 1999-2004, 2007 Gregory Neil Shapiro.  All Rights Reserved.
 # 
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -27,7 +27,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 
-# $Id: buildvirtuser,v 1.6 2003/03/15 23:30:09 gshapiro Exp $
+# $Id: buildvirtuser,v 1.8 2007/10/08 18:44:15 gshapiro Exp $
 
 =head1 NAME
 
@@ -70,30 +70,21 @@
 
 =head1 EXAMPLES
 
-Here are some example files from the /etc/mail/virtusers/ directory:
+Here is an example file from the /etc/mail/virtusers/ directory:
 
-=head2 /etc/mail/virtusers/bsdunix.org:
+=head2 /etc/mail/virtusers/example.org:
 
  # Services
- MAILER-DAEMON	gshapiro+bounce.$DOMAIN@gshapiro.net
- postmaster	gshapiro+$LHS.$DOMAIN@gshapiro.net
- webmaster	gshapiro+$LHS.$DOMAIN@gshapiro.net
+ MAILER-DAEMON	gshapiro+bounce.$DOMAIN@example.net
+ postmaster	gshapiro+$LHS.$DOMAIN@example.net
+ webmaster	gshapiro+$LHS.$DOMAIN@example.net
  
  # Defaults
  		error:nouser No such user
  
  # Users
- gshapiro	gshapiro+$DOMAIN@gshapiro.net
- bob		robert@smtp.org
-
-=head2 /etc/mail/virtusers/smtp.org:
-
- # Defaults
- 		gshapiro+$DOMAIN@gshapiro.net
- 
- # Users
- john		john@wookie.org
- nancy		n@milter.com
+ gshapiro	gshapiro+$DOMAIN@example.net
+ zoe		zoe@example.com
 
 =head1 AUTHOR
 
@@ -102,6 +93,7 @@
 =cut
 
 use strict;
+use File::stat;
 use Getopt::Std;
 
 my $makemap = "/usr/sbin/makemap";
@@ -117,6 +109,18 @@
 my ($lhs, $domain, $key, $value);
 my $opts = {};
 
+sub preserve_perms ($$)
+{
+	my $old = shift;
+	my $new = shift;
+	my $st;
+
+	$st = stat($old);
+	return if (!defined($st));
+	chmod($st->mode, $new) || warn "Could not chmod($st->mode, $new): $!\n";
+	chown($st->uid, $st->gid, $new) || warn "Could not chmod($st->uid, $st->gid, $new): $!\n";
+}
+
 getopts('ft', $opts) || die "Usage: $0 [-f] [-t]\n";
 
 if ($opts->{t})
@@ -131,9 +135,12 @@
 
 foreach $domain (@virts)
 {
+	next if ($domain =~ m/^\./);
 	open(DOMAIN, "$virts/$domain") || die "Could not open file $virts/$domain: $!\n";
 	my $line = 0;
-	my $mtime = (stat(DOMAIN))[9] || 0;
+	my $mtime = 0;
+	my $st = stat("$virts/$domain");
+	$mtime = $st->mtime if (defined($st));
 	if ($mtime > $newest)
 	{
 		$newest = $mtime;
@@ -160,7 +167,7 @@
 		}
 		else
 		{
-			die "Bogus line $line in $virts/$domain\n";
+			warn "Bogus line $line in $virts/$domain\n";
 		}
 
 		# Variable subsitution
@@ -172,7 +179,9 @@
 	close(DOMAIN) || die "Could not close $virts/$domain: $!\n";
 }
 
-my $virtmtime = (stat($virt))[9] || 0;
+my $virtmtime = 0;
+my $st = stat($virt);
+$virtmtime = $st->mtime if (defined($st));
 if ($opts->{f} || $virtmtime < $newest)
 {
 	print STDOUT "Rebuilding $virt\n";
@@ -191,14 +200,17 @@
 		print MAKEMAP "$key\t\t$virt{$key}\n";
 	}
 	close(MAKEMAP) || die "Could not close makemap ($?): $!\n";
+	preserve_perms($virt, $newvirt);
 	rename($newvirt, $virt) || die "Could not rename $newvirt to $virt: $!\n";
 
 	open(VIRTHOST, ">$newvirthosts") || die "Could not open file $newvirthosts: $!\n";
 	foreach $domain (sort @virts)
 	{
+		next if ($domain =~ m/^\./);
 		print VIRTHOST "$domain\n";
 	}
 	close(VIRTHOST) || die "Could not close $newvirthosts: $!\n";
+	preserve_perms($virthosts, $newvirthosts);
 	rename($newvirthosts, $virthosts) || die "Could not rename $newvirthosts to $virthosts: $!\n";
 }
 exit 0;

==== //depot/projects/dtrace/src/contrib/sendmail/doc/op/op.me#5 (text+ko) ====

@@ -9,7 +9,7 @@
 .\" the sendmail distribution.
 .\"
 .\"
-.\"	$Id: op.me,v 8.739 2007/03/22 17:56:01 ca Exp $
+.\"	$Id: op.me,v 8.741 2007/06/22 23:08:59 ca Exp $
 .\"
 .\" eqn op.me | pic | troff -me
 .\"
@@ -90,7 +90,7 @@
 .de Ve
 Version \\$2
 ..
-.Ve $Revision: 8.739 $
+.Ve $Revision: 8.741 $
 .rm Ve
 .sp
 For Sendmail Version 8.14
@@ -6939,6 +6939,10 @@
 .b \-v
 command line flag sets this to
 .b i .
+Note: for internal reasons,
+``i'' does not work
+if a milter is enabled which can reject or delete recipients.
+In that case the mode will be changed to ``b''.
 .ip DialDelay=\fIsleeptime\fP
 [no short name]
 Dial-on-demand network connections can see timeouts
@@ -8932,7 +8936,8 @@
  ' ' 
 .)b
 
-The status indicator is one of the following upper case words:
+The status indicator specifies the result of the lookup operation itself
+and is one of the following upper case words:
 .(b
 .ta 9n
 OK	the key was found, result contains the looked up value
@@ -8944,13 +8949,19 @@
 
 In case of errors (status TEMP, TIMEOUT or PERM) the result field may 
 contain an explanatory message.
+However, the explanatory message is not used any further by
+.i sendmail .
 
 Example replies:
 .(b
 31:OK resolved.address@example.com,
 .)b
 
-in case of a successful lookup, or:
+.(b
+56:OK error:550 5.7.1 User does not accept mail from sender,
+.)b
+
+in case of successful lookups, or:
 .(b
 8:NOTFOUND, 
 .)b
@@ -8960,7 +8971,7 @@
 55:TEMP this text explains that we had a temporary failure,
 .)b
 
-in case of a failure.
+in case of a temporary map lookup failure.
 
 The socket map uses the same syntax as milters
 (see Section "X \*- Mail Filter (Milter) Definitions")
@@ -11424,7 +11435,7 @@
 .\".sz 10
 .\"Eric Allman
 .\".sp
-.\"Version $Revision: 8.739 $
+.\"Version $Revision: 8.741 $
 .\".ce 0
 .bp 3
 .ce

==== //depot/projects/dtrace/src/contrib/sendmail/editmap/editmap.c#4 (text+ko) ====

@@ -22,7 +22,7 @@
 #endif /* ! lint */
 
 #ifndef lint
-SM_UNUSED(static char id[]) = "@(#)$Id: editmap.c,v 1.24 2004/08/03 18:40:10 ca Exp $";
+SM_UNUSED(static char id[]) = "@(#)$Id: editmap.c,v 1.25 2007/05/11 18:50:35 ca Exp $";
 #endif /* ! lint */
 
 
@@ -46,7 +46,7 @@
 gid_t	RealGid;
 char	*RealUserName;
 uid_t	RunAsUid;
-uid_t	RunAsGid;
+gid_t	RunAsGid;
 char	*RunAsUserName;
 int	Verbose = 2;
 bool	DontInitGroups = false;

==== //depot/projects/dtrace/src/contrib/sendmail/include/sm/conf.h#5 (text+ko) ====

@@ -10,7 +10,7 @@
  * the sendmail distribution.
  *
  *
- *	$Id: conf.h,v 1.132 2007/03/21 23:56:18 ca Exp $
+ *	$Id: conf.h,v 1.134 2007/09/24 23:05:37 ca Exp $
  */
 
 /*
@@ -458,6 +458,9 @@
 #   if SOLARIS >= 21000 || (SOLARIS < 10000 && SOLARIS >= 210)
 #    define HASUNSETENV 1       /* unsetenv() added in S10 */
 #   endif /* SOLARIS >= 21000 || (SOLARIS < 10000 && SOLARIS >= 210) */
+#   if SOLARIS >= 21100 || (SOLARIS < 10000 && SOLARIS >= 211)
+#    define GETLDAPALIASBYNAME_VERSION 2	/* changed in S11 */
+#   endif /* SOLARIS >= 21100 || (SOLARIS < 10000 && SOLARIS >= 211) */
 #   ifndef HASGETUSERSHELL
 #    define HASGETUSERSHELL 0	/* getusershell(3) causes core dumps pre-2.7 */
 #   endif /* ! HASGETUSERSHELL */

==== //depot/projects/dtrace/src/contrib/sendmail/include/sm/ldap.h#5 (text+ko) ====

@@ -1,12 +1,12 @@
 /*
- * Copyright (c) 2001-2003, 2005, 2006 Sendmail, Inc. and its suppliers.
+ * Copyright (c) 2001-2003, 2005-2007 Sendmail, Inc. and its suppliers.
  *      All rights reserved.
  *
  * By using this file, you agree to the terms and conditions set
  * forth in the LICENSE file which can be found at the top level of
  * the sendmail distribution.
  *
- *	$Id: ldap.h,v 1.32 2006/08/30 22:56:58 ca Exp $
+ *	$Id: ldap.h,v 1.33 2007/10/10 00:06:44 ca Exp $
  */
 
 #ifndef	SM_LDAP_H
@@ -91,6 +91,10 @@
 	/* ldapmap_lookup options */
 	char		ldap_attrsep;
 
+# if _FFR_LDAP_NETWORK_TIMEOUT
+	struct timeval	ldap_networktmo;
+# endif /* _FFR_LDAP_NETWORK_TIMEOUT */
+
 	/* Linked list of maps sharing the same LDAP binding */
 	void		*ldap_next;
 };

==== //depot/projects/dtrace/src/contrib/sendmail/include/sm/tailq.h#2 (text+ko) ====

@@ -36,8 +36,12 @@
 #define	SM_TAILQ_H_
 
 /*
+ * $Id: tailq.h,v 1.2 2007/06/29 23:09:57 ca Exp $
+ *
  * This file is a modified copy of queue.h from a BSD system:
  * we only need tail queues here.
+ * We do not use queue.h directly because there is a conflict with
+ * some versions of that file on some OSs.
  *
  * A tail queue is headed by a pair of pointers, one to the head of the
  * list and the other to the tail of the list. The elements are doubly

==== //depot/projects/dtrace/src/contrib/sendmail/libmilter/docs/xxfi_unknown.html#2 (text+ko) ====

@@ -2,7 +2,7 @@
 xxfi_unknown
 
 
 

xxfi_unknown

@@ -53,12 +53,12 @@ Return valueDescription SMFIS_TEMPFAIL - Reject this message with a temporary error. + Reject this command with a temporary error. SMFIS_REJECT - Reject this message. + Reject this command. ==== //depot/projects/dtrace/src/contrib/sendmail/libmilter/engine.c#5 (text+ko) ==== @@ -9,7 +9,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Nov 5 22:35:45 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E41D16A419; Mon, 5 Nov 2007 22:35:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CCE516A46B for ; Mon, 5 Nov 2007 22:35:45 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0176013C4AC for ; Mon, 5 Nov 2007 22:35:45 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5MZiLZ036746 for ; Mon, 5 Nov 2007 22:35:44 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5MZiIj036743 for perforce@freebsd.org; Mon, 5 Nov 2007 22:35:44 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 5 Nov 2007 22:35:44 GMT Message-Id: <200711052235.lA5MZiIj036743@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 128707 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, 05 Nov 2007 22:35:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=128707 Change 128707 by pgj@disznohal on 2007/11/05 22:34:48 Add initial Hungarian translation of Chapter 5: The X Window System. Affected files ... .. //depot/projects/docproj_hu/books/handbook/x11/chapter.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/x11/chapter.sgml#2 (text+ko) ==== @@ -4,13 +4,17 @@ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/x11/chapter.sgml,v 1.184 2007/07/10 07:06:24 blackend Exp $ --> - + + + Ken Tom - Updated for X.Org's X11 server by + Az X.Org X11 szerverére alkalmazta: Marc @@ -19,437 +23,618 @@ - The X Window System + Az X Window System - Synopsis + Áttekintés - FreeBSD uses X11 to provide users with - a powerful graphical user interface. X11 - is a freely available version of the X Window System that - is implemented in both &xorg; and - &xfree86; (and other software - packages not discussed here). &os; versions up to and - including &os; 5.2.1-RELEASE - will find the default installation to be - &xfree86;, the X11 server released by - The &xfree86; Project, Inc. As of &os; 5.3-RELEASE, the - default and official flavor of X11 was changed to - &xorg;, the X11 server developed by - the X.Org Foundation under a license very similar to the one used - by &os;. Commercial X servers for &os; are also available. + A &os; az X11-en keresztül nyújt a + felhasználók számára erõteljes + grafikus felhasználói felületet. Az X11 az X + Window System szabadon elérhetõ változata, + melyet az &xorg; és az + &xfree86; egyaránt + implementál (valamint más egyéb + programcsomagok is, amelyeket itt viszont nem tárgyalunk). + A &os; verziói a &os; 5.2.1-RELEASE kiadással + bezárólag a The &xfree86; Project, Inc. + által kiadott X11 szervert, az + &xfree86;-ot tartalmazzák + alapértelmezés szerint. A &os; 5.3-RELEASE + kiadástól kezdve az X11 alapértelmezett + és hivatalos változata az + &xorg;, melyet az X.Org + alapítvány a &os;-éhez nagyon hasonló + licensz alatt fejleszt. A &os;-hez kereskedelmi X szerverek is + elérhetõek. - This chapter will cover the installation and configuration - of X11 with emphasis on &xorg; &xorg.version; release. For - information about configuring &xfree86; - (i.e. on older releases of &os; where - &xfree86; was the default X11 - distribution) or previous releases of &xorg;, it is always possible to refer to archived versions - of the &os; Handbook at . + Ebben a fejezetben az X11 telepítését + és beállítását járjuk + végig, miközben a hangsúlyt az + &xorg; &xorg.version; + kiadására helyezzük. Az + &xfree86; (vagyis a &os; olyan + régebbi változata, ahol az + &xfree86; az alapértelmezett X11 + rendszer) vagy az &xorg; korábbi + kiadásainak beállításával + kapcsolatban mindig találhatunk információkat + a &os; kézikönyv címen + található archivált + változataiban. - For more information on the video hardware that X11 - supports, check the &xorg; web site. + Az X11 által támogatott + megjelenítõkrõl bõvebben az &xorg; honlapján + olvashatunk. - After reading this chapter, you will know: + A fejezet elolvasása során + megismerjük: - The various components of the X Window System, and how they - interoperate. + Az X Window System különbözõ + alkotóelemeit, és hogy ezek miként + mûködnek együtt. - How to install and configure X11. + Hogyan telepítsük és + állítsuk be az X11-et. - How to install and use different window managers. + Hogyan telepítsük és használjuk + a különféle ablakkezelõket. - How to use &truetype; fonts in X11. + Hogyan használjunk &truetype; + betûtípusokat az X11-ben. - How to set up your system for graphical logins - (XDM). + Hogyan állítsuk be rendszerünkön a + grafikus bejelentkezést + (XDM). - Before reading this chapter, you should: + A fejezet elolvasásához ajánlott: - Know how to install additional third-party - software (). + + Külsõs programok + telepítésének ismerete (). + - Understanding X + Az X megértése - Using X for the first time can be somewhat of a shock to someone - familiar with other graphical environments, such as µsoft.windows; or - &macos;. + Az X használata elsõre megdöbbentõ lehet + azok számára, akik olyan más grafikus + környezetekben járatosak, mint mondjuk a + µsoft.windows; vagy a &macos;. - While it is not necessary to understand all of the details of various - X components and how they interact, some basic knowledge makes - it possible to take advantage of X's strengths. + Míg az X minden komponensének részleteit + és azok kapcsolatát nem szükséges + megérteni a használatukhoz, néhány + alapvetõ ismeret velük kapcsolatban + elõsegíti kiaknázni az X + erõsségeit. - Why X? + Miért X? - X is not the first window system written for &unix;, but it is the - most popular of them. X's original development team had worked on another - window system prior to writing X. That system's name was - W (for Window). X was just the next - letter in the Roman alphabet. + Az X ugyan nem az elsõ &unix;-ra íródott + ablakozó rendszer, de a legnépszerûbb a + fajtájában. Az X eredeti fejlesztõcsapata az + X elõtt egy másik ablakozó rendszeren + dolgozott, aminek a neve W (mint + Window (ablak)) volt. Az X pedig az arab + ábécében pontosan ezt a betût + követi. - X can be called X, X Window System, - X11, and a number of other terms. You may find - that using the term X Windows to describe X11 - can be offensive to some people; for a bit more insight on - this, see &man.X.7;. + Az X-et hívhatjuk X-nek, X + Window System-nek, és még sok más + néven. Elõfordulhat azonban, hogy az X + Windows elnevezés sértõ lehet egyes + emberek számára. Errõl többet a + &man.X.7; man oldalon tudhatunk meg többet. - The X Client/Server Model + Az X kliens/szerver modellje - X was designed from the beginning to be network-centric, and - adopts a client-server model. + Az X-et már az elejétõl kezdve + hálózatközpontúnak tervezték, + és ezért az ún. + kliens-szerver modellt használja. - In the X model, the - X server runs on the computer that has the keyboard, - monitor, and mouse attached. The server's responsibility includes tasks such as managing - the display, handling input from the keyboard and mouse, and so on. - Each X application (such as XTerm, or - &netscape;) is a client. A - client sends messages to the server such as Please draw a - window at these coordinates, and the server sends back - messages such as The user just clicked on the OK - button. + Az X modelljében az X szerver egy + olyan számítógépen fut, amihez + billentyûzetet, monitort és egeret csatlakoztattunk. + A szerver feladatai között találjuk a + megjelenítés + irányítását, az egérrõl + és a billentyûzetrõl érkezõ adatok + feldolgozását és így tovább. + Mindegyik X alkalmazás (mint mondjuk az + XTerm vagy a + &netscape;) egy kliens. A kliens + üzeneteket küld a szervernek, például + Kérlek, rajzolj egy ablakot ezekre a + koordinátákra, és a szerver pedig + olyan üzeneteket küld, mint mondjuk A + felhasználó az OK gombra + kattintott. - In a home or small - office environment, the X server and the X clients commonly run on - the same computer. However, it is perfectly possible to run the X - server on a less powerful desktop computer, and run X applications - (the clients) on, say, the powerful and expensive machine that serves - the office. In this scenario the communication between the X client - and server takes place over the network. + Az otthoni vagy a kisebb irodai környezetben az X + szerver és az X kliensek általában ugyanazon + a számítógépen futnak. Azonban + nagyon is lehetséges, hogy az X szerver egy + kevésbé erõs gépen fusson, + miközben az X alkalmazások (a kliensek) az + irodát kiszolgáló erõsebb és + drágább gépen fussanak. Egy ilyen + felállásban az X kliensei és szerverei + közti kommunikáció a hálózaton + keresztül zajlik. - This confuses some people, because the X terminology is - exactly backward to what they expect. They expect the X - server to be the big powerful machine down the hall, and - the X client to be the machine on their desk. + Jegyezzük meg, hogy az X szerver az a + számítógép, ahol a monitor és a + billentyûzet található, az X kliensek pedig + azok a programok, amelyek az ablakokat jelenítik + meg. - It is important to remember that the X server is the machine with the monitor and - keyboard, and the X clients are the programs that display the - windows. - - There is nothing in the protocol that forces the client and - server machines to be running the same operating system, or even to - be running on the same type of computer. It is certainly possible to - run an X server on µsoft.windows; or Apple's &macos;, and there are - various free and commercial applications available that do exactly - that. + A protokollban semmi sem várja el, hogy a kliens + és a szerver ugyanazon az operációs + rendszeren vagy éppen ugyanolyan típusú + számítógépen fusson. Ezért + akár µsoft.windows;-on vagy az &apple; + &macos;-én is indíthatunk X szervert, + számos különbözõ szabad és + kereskedelmi alkalmazás képes pontosan + erre. - The Window Manager + Az ablakkezelõ - The X design philosophy is much like the &unix; design philosophy, - tools, not policy. This means that X does not try to - dictate how a task is to be accomplished. Instead, tools are provided - to the user, and it is the user's responsibility to decide how to use - those tools. + Az X kialakításának + filozófiája leginkább a &unix; + kialakításának + filozófiájához hasonlítható, + vagyis eszközöket, ne + szabályokat. Ez tehát azt jelenti, hogy + az X nem köti meg miként oldjuk meg vele a + feladatokat. Helyette különféle + eszközeket ad a felhasználó kezébe + és onnantól az õ felelõssége + eldönteni, hogyan használja ki ezeket. - This philosophy extends to X not dictating what windows should - look like on screen, how to move them around with the mouse, what - keystrokes should be used to move between windows (i.e., - - Alt - Tab - , in the case of µsoft.windows;), what the title bars - on each window should look like, whether or not they have close - buttons on them, and so on. + Ez a filozófia az X-ben egészen addig terjed, + hogy nem rögzíti, hogyan nézzenek ki a + képernyõn megjelenõ ablakok, miként kell + õket mozgatni az egérrel, milyen billentyûk + lenyomásával közlekedhetünk az ablakok + között (ez az + AltTab a + µsoft.windows; esetén), hogyan nézzen ki az + ablakok címsora, legyen-e rajtuk gombja a + bezárás funkciónak, és így + tovább. - Instead, X delegates this responsibility to an application called - a Window Manager. There are dozens of window - managers available for X: AfterStep, - Blackbox, ctwm, - Enlightenment, - fvwm, Sawfish, - twm, - Window Maker, and more. Each of these - window managers provides a different look and feel; some of them - support virtual desktops; some of them allow customized - keystrokes to manage the desktop; some have a Start - button or similar device; some are themeable, allowing - a complete change of look-and-feel by applying a new theme. These - window managers, and many more, are available in the - x11-wm category of the Ports Collection. + Ehelyett az X az összes ezzel járó + felelõsséget átadja az + ablakkezelõ (window manager) + részére. Tucatnyi ilyen ablakkezelõt + találhatunk az X-hez: + AfterStep, + Blackbox, + ctwm, + Enlightement, + fvwm, + Sawfish, + twm, Window + Maker és még sok más. Ezen + ablakkezelõk mindegyike más és más + kinézetet és hangulatot kínál fel: + némelyikük támogatja a + virtuális munkaasztalok (virtual desktop) + létrehozását; néhányuk pedig + megengedi, hogy mi magunk állítsuk be az asztal + irányításához használt + gombkombinációkat; köztük + találhatunk olyat is, aminek van Start + gombja vagy ehhez hasonló eszköze; némelyek + közülük ismerik a + témákat, aminek révén + a kinézetük és hangulatuk teljesen + megváltoztatható. Az említett + ablakkezelõk és társaik + elérhetõek a Portgyûjtemény + x11-wm + kategóriájában. - In addition, the KDE and - GNOME desktop environments both have their - own window managers which integrate with the desktop. + Ráadásul a KDE + és a GNOME munkakörnyezetek + mindegyikének van saját integrált + ablakkezelõje. - Each window manager also has a different configuration mechanism; - some expect configuration file written by hand, others feature - GUI tools for most of the configuration tasks; at least one - (Sawfish) has a configuration file written - in a dialect of the Lisp language. + Az egyes ablakkezelõk mellesleg eltérõ + beállítási módszerrel rendelkeznek. + Némelyikük kézzel + összeállított konfigurációs + állományt vár, mások pedig + külön grafikus eszközöket tartalmaznak erre + a feladatra is. Az egyikük + (Sawfish) konfigurációs + állományát pedig a Lisp programozási + nyelv egyik dialektuásban kell megírni. - Focus Policy + Az irányítás + átadása - Another feature the window manager is responsible for is the - mouse focus policy. Every windowing system - needs some means of choosing a window to be actively receiving - keystrokes, and should visibly indicate which window is active as - well. + Az ablakkezelõ másik fontos feladata az + irányítás egérrel + történõ + átadásának, vagy rövidebben + szólva a fókusz átadásának + kezelése (focus policy). Minden ablakkezelõ + rendszerben el kell tudnunk valahogy dönteni, hogy a + beérkezõ billentyûleütések melyik + ablakhoz vándoroljanak, valamint az ilyen + értelemben aktív ablakot valamilyen módon + jeleznünk is kell. - A familiar focus policy is called click-to-focus. - This is the model utilized by µsoft.windows;, in which a window - becomes active upon receiving a mouse click. + Ennek egyik ismert módszere a fókusz + kattintásra megoldás, amely modellt a + µsoft.windows; rendszerekben találhatjuk meg. Itt + az ablakok akkor válnak aktívvá, amikor + rájuk kattintunk az egérrel. - X does not support any particular focus policy. Instead, the - window manager controls which window has the focus at any one time. - Different window managers will support different focus methods. All - of them support click to focus, and the majority of them support - several others. + Az X viszont nem kötelezi el magát egyik + vezérlésátadási módszer + mellett, helyette az ablakkezelõ fogja majd + eldönteni, melyik ablak birtokolja a fókuszt az + adott pillanatban. A különbözõ + ablakkezelõk különbözõ + fókuszvezérlési technikákat + ismernek. Mindegyikük ismeri a kattintásos + fókuszt, azonban a többségük + még sok más megoldást is + felkínál. - The most popular focus policies are: + A legnépszerûbb + fókuszvezérlési elvek: - - - focus-follows-mouse + + + A fókusz az egeret követi + (focus-follows-mouse) - - The window that is under the mouse pointer is the - window that has the focus. This may not necessarily be - the window that is on top of all the other windows. - The focus is changed by pointing at another window, there - is no need to click in it as well. - - + + Az egérmutató alatt + található ablak kapja meg fókuszt. + Az érintett ablaknak nem kell + feltétlenül az összes többi felett + elhelyezkednie. Ilyenkor a fókuszt + egyszerûen úgy vihetjük át egy + másik ablakra, ha rámutatunk az + egérrel, amihez még kattintanunk sem + kell. + + - - sloppy-focus + + Hanyag fókusz (sloppy-focus) - - This policy is a small extension to focus-follows-mouse. - With focus-follows-mouse, if the mouse is moved over the - root window (or background) then no window has the focus, - and keystrokes are simply lost. With sloppy-focus, focus is - only changed when the cursor enters a new window, and not - when exiting the current window. - - + + Ez az elv az elõbbi apró + kibõvítése. Amikor a fókusz az + egérmutatót követi, és az + egeret a leghátsó ablakra (vagy a + háttérre) visszük, akkor + valójában egyik ablak sem birtokolja az + irányítást, ezért a + leütött billentyûk elvesznek. A hanyag + fókusz használatával azonban az + irányítás csak abban az esetben + kerül át máshová, amikor egy + másik ablakba lépünk be, nem pedig + akkor, amikor a jelenlegibõl lépünk + ki. + + - - click-to-focus + + Fókusz kattintásra + (click-to-focus) - - The active window is selected by mouse click. The - window may then be raised, and appear in - front of all other windows. All keystrokes will now be - directed to this window, even if the cursor is moved to - another window. - - - + + Az aktív ablakot egy + egérkattintással választjuk ki. + Ilyenkor a kiválasztott ablak + felemelkedhet és a többi + elõtt jelenhet meg. Ezt követõen az + összes irányítás ebbe az + ablakba vándorol, még abban az esetben is, + amikor egy másik ablakra visszük az + egérmutatót. + + + - Many window managers support other policies, as well as - variations on these. Be sure to consult the documentation for - the window manager itself. + Sok ablakkezelõ ismer ezekbõl + különbözõ variációikat, + valamint rajtuk kivül más egyéb + vezérlési elvet is. Ezzel kapcsolatban az adott + ablakkezelõ dokumentációjából + deríthetünk ki a legtöbbet. - Widgets + <quote>Mütyürkék</quote> - The X approach of providing tools and not policy extends to the - widgets seen on screen in each application. + Az X megközelítése, vagyis az + eszközök és nem a szabályok + felsorakoztatása, kiterjed az egyes + alkalmazásokban látható + különféle ketyerékre is. - Widget is a term for all the items in the user - interface that can be clicked or manipulated in some way; buttons, - check boxes, radio buttons, icons, lists, and so on. µsoft.windows; - calls these controls. + Az ablakmütyürke (window gadget, + widget) elnevezést azokra a felhasználói + felületen megjelenõ elemekre használjuk, + amelyekkel valamilyen módon kapcsolatba + léphetünk: kattinthatunk rájuk, + piszkálhatjuk õket. Ilyenek + többek közt a gombok, + jelölõnégyzetek, rádiógombok, + ikonok, listák és a többi. A + µsoft.windows; nyelvén ezeket + vezérlõknek nevezzük. - µsoft.windows; and Apple's &macos; both have a very rigid widget - policy. Application developers are supposed to ensure that their - applications share a common look and feel. With X, it was not - considered sensible to mandate a particular graphical style, or set - of widgets to adhere to. + A µsoft.windows; és az &apple; &macos; ezen a + téren nagyon merev. Az alkalmazások + fejlesztõinek gondoskodniuk kell róla, hogy a + programjaik az elterjedt kinézetet és + kialakítást kövessék. Az X + esetén semmilyen konkrét grafikai stílust + vagy a vezérlõeszközök következetes + használatát nem szerették volna + diktálni. - As a result, do not expect X applications to have a common - look and feel. There are several popular widget sets and - variations, including the original Athena widget set from MIT, - &motif; (on which the widget set in - µsoft.windows; was modeled, all bevelled edges and three shades of - grey), OpenLook, and others. + Ennek eredményeképpen az X cseppet sem + várja el az alkalmazásoktól, hogy + közös kinézetben vagy viselkedésben + osztozzanak. Léteznek ugyan népszerû + eszközrendszerek és azoknak számos + variációja is kialakult, beleértve az MIT + Athena-ját, a &motif;-ot + (amirõl a µsoft.windows; eszközeit is + mintázták, az összes ferde élet + és a három szürkeárnyalatot), az + OpenLookot és + társaikat. - Most newer X applications today will use a modern-looking widget - set, either Qt, used by KDE, or - GTK+, used by the - GNOME - project. In this respect, there is some convergence in - look-and-feel of the &unix; desktop, which certainly makes things - easier for the novice user. + Napjaink X alkalmazásai a + KDE fejlesztéséhez + használt Qt, esetleg a + GNOME-hoz használt GTK+ + könyvtárból származó, + korszerû kinézetû mütyürkéket + tartalmaznak. Ebbõl a szempontból + megfigyelhetõ egyfajta tendencia a grafikus + &unix;-alkalmazások + felépítésében, ami minden bizonnyal + megkönnyíti a kezdõ felhasználók + tájékozódását. - Installing X11 + Az X11 telepítése - &xorg; is the default X11 - implementation for &os;. &xorg; is - the X server of the open source X Window System implementation released by the X.Org - Foundation. &xorg; is based on the code of - &xfree86 4.4RC2 and X11R6.6. - The version of &xorg; currently - available in the &os; Ports Collection is &xorg.version;. + Az X11 &os;-n alapértelmezett + implementációja az &xorg;. + Az &xorg; az X.Org + alapítvány által kiadott, az X Window + Systemet megvalósító nyílt + forráskódú X szerver. Az + &xorg; az + &xfree86; 4.4RC2 és X11R6.6 + kódja alapján készült. A &os; + Portgyûjteményében jelenleg az + &xorg; &xorg.version; változata + érhetõ el. - To build and install &xorg; from the - Ports Collection: + Az &xorg;-ot a + Portgyûjteménybõl így tudjuk + lefordítani majd telepíteni: &prompt.root; cd /usr/ports/x11/xorg &prompt.root; make install clean - To build &xorg; in its - entirety, be sure to have at least 4 GB of free space - available. + Az egész &xorg; + lefordításához legalább 4 GB + szabad helyre van szükségünk. - Alternatively, X11 - can be installed directly from packages. - Binary packages to use with &man.pkg.add.1; tool are also available for - X11. When the remote fetching - feature of &man.pkg.add.1; is used, the version number of the - package must be removed. &man.pkg.add.1; will automatically fetch - the latest version of the application. + Az X11-et természetesen feltelepíthetjük + közvetlenül csomagok segítségével is. + A &man.pkg.add.1; használatával + telepíthetõ bináris csomagok is + elérhetõek az X11-hez. Amikor a &man.pkg.add.1; + programra bízzuk a csomag letöltését, ne + adjunk meg verziószámot. A &man.pkg.add.1; ugyanis + mindig automatikusan az alkalmazás legfrissebb + verzióját tölti le. - So to fetch and install the package of - &xorg;, simply type: + Az &xorg; csomagjának + letöltéséhez és + telepítéséhez egyszerûen csak ennyit + írjunk be: &prompt.root; pkg_add -r xorg - The examples above will install the complete - X11 distribution including the - servers, clients, fonts etc. Separate packages and ports of X11 - are also - available. + + A fentebb megadott példák a teljes X11 + rendszert telepíteni fogják, beleértve a + szervereket, klienseket, betûtípusokat stb. Az X11 + egyes részeihez külön találhatunk + csomagokat és portokat. + - The rest of this chapter will explain how to configure - X11, and how to set up a productive desktop - environment. + A fejezet további részében szót + ejtünk az X11, valamint egy irodai használatra alkalmas + munkakörnyezet + beállításáról. - - Christopher - Shumway - Contributed by - - + + Christopher + Shunway + Írta: + - X11 Configuration + Az X11 beállítása - &xorg; X11 - Before Starting + Mielõtt nekilátnánk - Before configuration of X11 - the following information about the target system is needed: + Az X11 beállítása elõtt a + célrendszer következõ adataira lesz + szükségünk: - Monitor specifications - Video Adapter chipset - Video Adapter memory + A monitor jellemzõi + A videókártya + chipkészlete + A videókártya + memóriája - horizontal scan rate - vertical scan rate + függõleges frissítési + frekvencia + vízszintes frissítési + frekvencia - The specifications for the monitor are used by - X11 to determine the resolution and - refresh rate to run at. These specifications can usually be - obtained from the documentation that came with the monitor or from - the manufacturer's website. There are two ranges of numbers that - are needed, the horizontal scan rate and the vertical synchronization - rate. + A monitor jellemzõibõl állapítja meg + az X11, milyen felbontásban és + frissítési frekvenciával + mûködtesse. Ezek általában a monitorhoz + tartozó dokumentációból vagy a + gyártó honlapjáról + deríthetõek ki. Igazaból két + értékre van szükségünk: a + függõleges és a vízszintes + frissítési frekvenciára. - The video adapter's chipset defines what driver module - X11 uses to talk to the graphics - hardware. With most chipsets, this can be automatically - determined, but it is still useful to know in case the automatic - detection does not work correctly. + A videókártya chipkészlete + határozza meg, hogy az X11 melyik meghajtóján + keresztül kommunikál a grafikus hardverrel. Ez a + legtöbb chipkészlet esetén + magától megállapítható, de + ennek ellenére mégis jó tisztában + lenni ezzel arra az esetre, ha az automatikus felismerés + mégsem mûködne. - Video memory on the graphic adapter determines the - resolution and color depth which the system can run at. This is - important to know so the user knows the limitations of the - system. + A grafikus kártya memóriája + határozza meg a rendszer által + kihasználható felbontást és + színmélységet. Ezt fontos tudunk ahhoz, + hogy ismerjük a rendszer korlátait. - Configuring X11 + Az X11 beállítása - Configuration of X11 is - a multi-step process. The first step is to build an initial - configuration file. - As the super user, simply - run: + Az X11 beállítása egy + többlépcsõs folyamat. Elsõ + lépésünk egy alap konfigurációs + állomány összeállítása + lesz. Rendszeradminisztrátorként adjuk ki az + alábbi parancsot: &prompt.root; Xorg -configure - This will generate an - X11 configuration skeleton file in the - /root directory called - xorg.conf.new (whether you &man.su.1; or - do a direct login affects the inherited supervisor - $HOME directory variable). The - X11 program will attempt to probe - the graphics hardware on the system and write a - configuration file to load the proper drivers for the detected - hardware on the target system. + Ennek segítségével az X11 + xorg.conf.new néven létrehozza + a konfigurációs állomány + vázát a /root + könyvtárban (akár a &man.su.1; parancsot + használjuk, akár közvetlenül így + jelentkezünk be, az imigyen örökölt + rendszeradminisztrátori szerepkör maga után + vonja a $HOME könyvtár + átállítását is). Az X11 + megpróbálja megkeresni a célrendszerben + elérhetõ grafikus eszközöket, és + létrehozni egy olyan konfigurációs + állományt, amely az észlelt + eszközökhöz tartozó meghajtókat + tölti be. - The next step is to test the existing - configuration to verify that &xorg; - can work with the graphics - hardware on the target system. To perform this task, - type: + A következõ lépésünk legyen az + imént létrehozott beállítás + kipróbálása, amin keresztül + ellenõrizhetjük, hogy az + &xorg; tényleg képes + mûködni a célrendszer grafikus + eszközén. Ehhez a következõt kell + begépelnünk: &prompt.root; Xorg -config xorg.conf.new - If a black and grey grid and an X mouse cursor appear, - the configuration was successful. To exit the test, just press - - Ctrl - Alt - Backspace - simultaneously. + Ha ezután egy fekete-fehér rácsot + látunk egy X alakú egérmutatóval a + közepén, akkor jó a + beállítás. A próbát a + + CtrlAltBackspace + billentyûk együttes lenyomásával + szakíthatjuk meg. - If the mouse does not work, you will need to first - configure it before proceeding. See - in the &os; install chapter. + + Ha az egér még nem mûködne, + mindenképpen be kell állítanunk a + továbblépés elõtt. Ezzel + kapcsolatban a &os; telepítésérõl + szóló fejezetben levõ t ajánljuk elolvasásra. + - X11 tuning + Az X11 + finomhangolása - Next, tune the xorg.conf.new - configuration file to taste. Open the file in a text editor such - as &man.emacs.1; or &man.ee.1;. First, add the - frequencies for the target system's monitor. These are usually - expressed as a horizontal and vertical synchronization rate. These - values are added to the xorg.conf.new file - under the "Monitor" section: + Ezután az ízlésünknek + megfelelõen hangoljuk be az + xorg.conf.new állományt, + nyissuk meg egy szövegszerkesztõben, + például az &man.emacs.1;-ben vagy az + &man.ee.1;-ben. Elsõként adjuk meg a + célrendszerhez csatlakoztatott monitor frekvencia + adatait. Ezek általában a függõleges + és a vízszintes frissítés + értékei, melyeket az + xorg.conf.new állomány + "Monitor" szakaszában kell + feltüntetni: Section "Monitor" Identifier "Monitor0" @@ -459,32 +644,48 @@ VertRefresh 48-120 EndSection - The HorizSync and - VertRefresh keywords may be missing in the - configuration file. If they are, they need to be added, with - the correct horizontal synchronization rate placed after the - HorizSync keyword and the vertical - synchronization rate after the VertRefresh - keyword. In the example above the target monitor's rates were - entered. + A konfigurációs + állományból valószínûleg + csak a HorizSync és + VertRefresh kulcsszavak fognak + hiányozni. Amennyiben ez tényleg így + lenne, a megfelelõ vízszintes + frissítés értékét a + HorizSync kulcsszó után, a + hozzátartozó függõleges + frissítés értékét pedig a + VertRefresh kulcsszó után kell + hozzátennünk a szakaszhoz. Az iménti + példában már megadtuk a célrendszer + monitorának frissítési + értékeit. - X allows DPMS (Energy Star) features to be used with capable - monitors. The &man.xset.1; program controls the time-outs and can force - standby, suspend, or off modes. If you wish to enable DPMS features - for your monitor, you must add the following line to the monitor - section: + Az X megengedi, hogy DPMS (Energy Star) + energiagazdálkodási szabványt ismerõ + monitorok lehetõséget is kihasználjuk. A + &man.xset.1; program vezérli a monitorok ki- és + bekapcsolását, és + segítségével készenléti vagy + energiatakarékos üzemmódba tudjuk helyezni + õket. Ha engedélyezni kívánjuk a + monitorunk DPMS lehetõségeit, egyszerûen csak + tegyük hozzá az alábbi sort a monitorunkat + leíró szakaszhoz: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Nov 5 22:58:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 32E5C16A41A; Mon, 5 Nov 2007 22:58:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5AF016A419 for ; Mon, 5 Nov 2007 22:58:09 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9A59913C4B6 for ; Mon, 5 Nov 2007 22:58:09 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA5Mw9pK037436 for ; Mon, 5 Nov 2007 22:58:09 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA5Mw9Rx037433 for perforce@freebsd.org; Mon, 5 Nov 2007 22:58:09 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 5 Nov 2007 22:58:09 GMT Message-Id: <200711052258.lA5Mw9Rx037433@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 128708 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, 05 Nov 2007 22:58:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=128708 Change 128708 by pgj@disznohal on 2007/11/05 22:57:57 Add initial Hungarian translation of Chapter 20: The Vinum Volume Manager. Affected files ... .. //depot/projects/docproj_hu/books/handbook/vinum/chapter.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/vinum/chapter.sgml#2 (text+ko) ==== @@ -1,488 +1,664 @@ + - + Greg Lehey - Originally written by + Eredetileg írta: - The Vinum Volume Manager + A Vinum kötetkezelõ - Synopsis + Áttekintés - No matter what disks you have, there are always potential - problems: + Nem számít, milyen lemezeink is vannak, ugyanis + mindig adódnak velük kapcsolatban gondjaink: - They can be too small. + Kicsik. - They can be too slow. + Lassúk. - They can be too unreliable. + Nem elég megbízhatóak. - Various solutions to these problems have been proposed and - implemented. One way some users safeguard themselves against such - issues is through the use of multiple, and sometimes redundant, - disks. In addition to supporting various cards and controllers - for hardware RAID systems, the base FreeBSD system includes the - Vinum Volume Manager, a block device driver that implements - virtual disk drives. Vinum is a - so-called Volume Manager, a virtual disk - driver that addresses these three problems. Vinum provides more - flexibility, performance, and reliability than traditional disk - storage, and implements RAID-0, RAID-1, and RAID-5 models both - individually and in combination. + Ezekre a problémákra javasoltak és meg is + valósítottak számos megoldást. A + felhasználók egy része + általában úgy védekezik ellenük, + hogy több, gyakran redundánsan tároló + lemezt használ. A különféle + kártyák és hardveres + RAID-vezérlõk támogatása mellett a &os; + alaprendszerében megtalálható egy blokkos + eszközmeghajtóként a Vinum + kötetkezelõ is, amellyel virtuális + lemezmeghajtókat lehet képezni. A tehát + Vinum egy olyan ún. + kötetkezelõ, vagyis + virtuális lemezkezelõ, ami az említett + három problémára próbál + megoldást adni. A Vinum a hagyományos lemezes + tárolásnál jóval nagyobb + rugalmasságot, teljesítményt és + megbízhatóságot biztosít, valamint + ismeri a RAID-0, RAID-1 és RAID-5 modelleket + külön-külön és kombinálva + is. - This chapter provides an overview of potential problems with - traditional disk storage, and an introduction to the Vinum Volume - Manager. + Ebben a fejezetben összefoglaljuk a hagyományos + lemezes tárolás jellegzetes + hátulütõit és bemutatjuk a Vinum + kötetkezelõt. - Starting with FreeBSD 5, Vinum has been rewritten in order - to fit into the GEOM architecture (), - retaining the original ideas, terminology, and on-disk - metadata. This rewrite is called gvinum - (for GEOM vinum). The following text - usually refers to Vinum as an abstract - name, regardless of the implementation variant. Any command - invocations should now be done using - the gvinum command, and the name of the - kernel module has been changed - from vinum.ko - to geom_vinum.ko, and all device nodes - reside under /dev/gvinum instead - of /dev/vinum. As of FreeBSD 6, the old - Vinum implementation is no longer available in the code - base. + A &os; 5-ös verziójától kezdve a + Vinumot újraírták a GEOM-nak megfelelõen + (), megtartva az eredeti + elgondolásokat, elnevezéseket és a lemezen + tárolt metaadatok formátumát. Ezt az + újraírt változatot nevezik + gvinumnak (GEOM + vinum). A szövegben a + Vinumra kizárólag csak + általánosságban hivatkozunk, + függetlenül az + implementációjától. Most már + az összes parancsot a gvinum + használatával kell kiadni, illetve a + hozzátartozó modul neve + vinum.ko-ról + geom_vinum.ko-ra változott és + a megfelelõ eszközleírók a + /dev/vinum könyvtár helyett a + /dev/gvinum könyvtárban + találhatóak. A &os; 6. + verziójától pedig a régi Vinum + implementáció többé már nem is + része az alaprendszernek. - - Disks Are Too Small + Kicsik a lemezeink Vinum - RAID - software + + RAID + szoftver + - Disks are getting bigger, but so are data storage - requirements. Often you will find you want a file system that - is bigger than the disks you have available. Admittedly, this - problem is not as acute as it was ten years ago, but it still - exists. Some systems have solved this by creating an abstract - device which stores its data on a number of disks. + A lemezek kapacitása ugyan növekszik, de + velük együtt a tárigények is. Gyakran + érezzük emiatt úgy, hogy a + rendelkezésünkre álló lemezek + tárkapacitását meghaladó + állományrendszerre lenne + szükségünk. Kétségtelen, hogy ez a + probléma messze nem akkora jelentõségû, + mint mondjuk tíz évvel ezelõtt, de még + mindig fennáll. Egyes rendszerek ezt úgy + hidalták át, hogy létrehoztak egy olyan + absztrakt eszközt, amely az adatokat több lemezen + tárolja el. - Access Bottlenecks + Szûk keresztmetszetek a + lemezhozzáférésben - Modern systems frequently need to access data in a highly - concurrent manner. For example, large FTP or HTTP servers can - maintain thousands of concurrent sessions and have multiple - 100 Mbit/s connections to the outside world, well beyond - the sustained transfer rate of most disks. + Napjaink rendszerei szinte állandóan egyszerre + több adathoz is hozzá akarnak férni. + Például egy nagy forgalmú FTP vagy HTTP + szerver több 100 Mbit/s sebességû + kapcsolattal is csatlakozhat a világhálóhoz, + amelyeken keresztül párhuzamosan többezernyi + adatforgalmat is folytathat, ami jelentõsen meghaladja a + legtöbb lemez átlagos átviteli + sebességét. - Current disk drives can transfer data sequentially at up to - 70 MB/s, but this value is of little importance in an - environment where many independent processes access a drive, - where they may achieve only a fraction of these values. In such - cases it is more interesting to view the problem from the - viewpoint of the disk subsystem: the important parameter is the - load that a transfer places on the subsystem, in other words the - time for which a transfer occupies the drives involved in the - transfer. + A jelenleg kapható lemezek soros adatátviteli + sebessége egészen 70 MB/s-ig is terjedhet, de + ennek az értéknek kevés a + jelentõsége olyan környezetekben, ahol több, + egymástól függetlenül futó program + próbál egyszerre hozzáférni, hiszen + ilyen esetekben csak a töredékét képesek + elérni. Ilyenkor sokkal érdekesebb a lemezt + kezelõ alrendszer szempontjából nézni a + problémát: így az egyes adatátviteli + kérések terhelése lesz a + meghatározó paraméter, vagyis az az idõ, + amit a kérés teljesítésében + érintett meghajtók eltöltenek a + feldolgozással. - In any disk transfer, the drive must first position the - heads, wait for the first sector to pass under the read head, - and then perform the transfer. These actions can be considered - to be atomic: it does not make any sense to interrupt - them. + Bármelyik kérést is vesszük, a + kiszolgáláshoz a meghajtónak elõször + a megfelelõ helyre kell tájolnia az + író/olvasó fejeket, meg kell várni a + fej alatt elhaladó elsõ szektort, majd + végrehajtani a megfelelõ mûveletet. Ezek a + mûveletek szétválaszthatatlanok: semmi + értelme nincs megszakítani õket. - Consider a typical transfer of - about 10 kB: the current generation of high-performance - disks can position the heads in an average of 3.5 ms. The - fastest drives spin at 15,000 rpm, so the average - rotational latency (half a revolution) is 2 ms. At - 70 MB/s, the transfer itself takes about 150 μs, - almost nothing compared to the positioning time. In such a - case, the effective transfer rate drops to a little over - 1 MB/s and is clearly highly dependent on the transfer - size. + Tekintsünk egy + átlagosnak mondható, nagyjából + 10 kB méretû adatátvitelt: a + legújabb nagyteljesítményû lemezek + átlagosan 3,5 ms alatt képesek + pozicionálni a fejeket. A leggyorsabb lemezek + 15 000  fordulatot tesznek meg percenként (RPM), + így az átlagos forgási + késleltetés (egy fél fordulat ideje) + 2 ms. 70 MB/s-os sebesség mellett az + átvitel maga megközelítõleg + 150 μs, ami szinte elhanyagolható a + pozicionálás idejéhez képest. Ilyen + esetekben a tényleges adatátviteli sebesség + 1 MB/s-nél alig valamivel többre esik vissza, + és tisztán látszik, hogy erõsen + függ az átvitt adat + mennyiségétõl. - The traditional and obvious solution to this bottleneck is - more spindles: rather than using one large disk, - it uses several smaller disks with the same aggregate storage - space. Each disk is capable of positioning and transferring - independently, so the effective throughput increases by a factor - close to the number of disks used. - + A hagyományos és kézenfekvõ + megoldása ennek a problémának még + több cséve használata: egyetlen nagy + lemez helyett alkalmazzunk több kisebb, de azonos + tárkapacitású lemezt. Mindegyik lemez + képes egymástól függetlenül + mozgatni a fejeiket és az adatokat, aminek + köszönhetõen a tényleges adatátvitel + mértéke nagyjából a lemezek + számával arányosan növekszik. - The exact throughput improvement is, of course, smaller than - the number of disks involved: although each drive is capable of - transferring in parallel, there is no way to ensure that the - requests are evenly distributed across the drives. Inevitably - the load on one drive will be higher than on another. + Az adatátvitelben bekövetkezõ javulás + pontos aránya természetesen kisebb, mint a lemezek + száma: habár az egyes meghajtók + képesek párhuzamosan mozgatni az adatokat, semmilyen + módon garantálhatjuk, hogy a kérések + egyenletesen oszlanak el köztük. Emiatt szinte + elkerülhetetlen, hogy az egyik meghajtót nagyobb + terhelés érje, mint a másikat. - disk concatenation + lemezek összefûzése Vinum - concatenation + összefûzés - The evenness of the load on the disks is strongly dependent - on the way the data is shared across the drives. In the - following discussion, it is convenient to think of the disk - storage as a large number of data sectors which are addressable - by number, rather like the pages in a book. The most obvious - method is to divide the virtual disk into groups of consecutive - sectors the size of the individual physical disks and store them - in this manner, rather like taking a large book and tearing it - into smaller sections. This method is called - concatenation and has the advantage that - the disks are not required to have any specific size - relationships. It works well when the access to the virtual - disk is spread evenly about its address space. When access is - concentrated on a smaller area, the improvement is less marked. - illustrates the sequence in which - storage units are allocated in a concatenated - organization. + A lemezekre esõ terhelés egyenletessége + erõsen függ attól, hogyan osztjuk el az adatokat a + meghajtók között. Az itt használt + tárgyalásmódban a lemezen tárolt + adatokat egy könyv oldalaiként érdemes + elképzelni, vagyis rengeteg szám szerint + címezhetõ adatszektorként. A virtuális + lemezt ennek megfelelõen a legegyszerûbben úgy + tudjuk felosztani az egymás után következõ + független fizikai lemezek mérete szerint és + így használni, mintha egy nagy könyvet kisebb + részekre téptünk volna. Ezt a módszert + nevezik összefûzésnek, + és elõnye, hogy a résztvevõ lemezeknek nem + kell azonos méretûeknek lenniük. Ez a + megoldás remekül mûködik abban az esetben, + amikor a virtuális lemez hozzáférései + egyenletesen oszlanak el annak teljes területén. + Amikor viszont az elérés csak egy kisebb + területre korlátozódik, kevesebb javulás + tapasztalható. A mutatja be + lemezek egy ilyen összefûzött + konfigurációját.
- Concatenated Organization + Az összefûzött szervezési + mód
- - disk striping - - - Vinum - striping - - - RAID - + + lemezcsíkozás + + + Vinum + csíkozás + + + RAID + - An alternative mapping is to divide the address space into - smaller, equal-sized components and store them sequentially on - different devices. For example, the first 256 sectors may be - stored on the first disk, the next 256 sectors on the next disk - and so on. After filling the last disk, the process repeats - until the disks are full. This mapping is called - striping or RAID-0 + Feloszthatjuk a virtuális lemezünket kisebb azonos + méretû darabokra is, melyeket + különbözõ eszközökön sorosan + tárolunk el. Például az elsõ 256 szektort + eltároljuk az elsõ lemezen, majd a következõ + 256 szektort a következõ lemezen és így + tovább. Az utolsó lemez kitöltése + után az egész folyamat ismétlõdik, + egészen az összes lemez megtöltéséig. + Ezt a leképezést + csíkozásnak vagy + RAID-0-nak nevezzük. - - RAID stands for Redundant - Array of Inexpensive Disks and offers various forms - of fault tolerance, though the latter term is somewhat - misleading: it provides no redundancy. . + + A RAID jelentése: Olcsó + lemezek hibatûrõ tömbje (Redundant Array of + Inexpensive Disks). Különféle + típusú hibatûrési megoldásokat + vonultat fel, habár az eredeti elnevezés + félrevezetõ lehet, mivel redundanciát nem + tartalmaz. + - Striping requires somewhat more effort to locate the data, and it - can cause additional I/O load where a transfer is spread over - multiple disks, but it can also provide a more constant load - across the disks. illustrates the - sequence in which storage units are allocated in a striped - organization. + A csíkozás használata során valamivel + bonyolultabbá válik az adatok + megtalálása és többletmunkát is + jelenthet olyan esetekben, amikor az adatátvitel több + lemezt is érint, de ezzel egyidõben sokkal jobban + szétosztja a terhelést a lemezek között. A + mutatja be a lemezek csíkozott + szervezését.
- Striped Organization + A csíkozott szervezési mód
- Data Integrity + Adatintegritás + + A modern lemezhajtók utolsó fontos + problémája, hogy nem eléggé + megbízhatóak. Annak ellenére, hogy a lemezek + ezen a téren rettenetesen sokat fejlõdtek az + utóbbi pár évben, egy szervernek még + mindig azon központi részei, melyek a leginkább + hajlamosak a meghibásodásra. Amikor ez + bekövetkezik, a hatása akár egy + katasztrófával is felérhet: a + sérült lemezmeghajtók cseréje és + az adatok visszaállítása napokat is + igénybe vehet. + + + lemeztükrözés + + + Vinum + tükrözés + + + RAID-1 + + + Ennek a problémának a hagyományos + megközelítése lenne a + tükrözés, vagyis amikor + ugyanarról az adatról tartunk két + példányt két eltérõ fizikai + hardveren. A RAID-szintek + beköszöntével ezt a technikát + RAID level 1-nak vagy + RAID-1-nek is nevezik. Amikor írunk a + kötetre, mindenhova írunk, az olvasás pedig + bármelyik eszközrõl elvégezhetõ. + Így ha az egyik meghajtó tönkremenne, egy + másikon még mindig megtalálható az + összes adat. + + A tükrözés két problémát + vet fel: - The final problem with current disks is that they are - unreliable. Although disk drive reliability has increased - tremendously over the last few years, they are still the most - likely core component of a server to fail. When they do, the - results can be catastrophic: replacing a failed disk drive and - restoring data to it can take days. + + + Ár. Legalább kétszer annyiba + kerül, mint a nem redundánsan tároló + megoldások. + - - disk mirroring - - - Vinum - mirroring - - - RAID-1 - - - The traditional way to approach this problem has been - mirroring, keeping two copies of the data - on different physical hardware. Since the advent of the - RAID levels, this technique has also been - called RAID level 1 or - RAID-1. Any write to the volume writes to - both locations; a read can be satisfied from either, so if one - drive fails, the data is still available on the other - drive. - - Mirroring has two problems: - - - - The price. It requires twice as much disk storage as - a non-redundant solution. - + + Teljesítménycsökkenés. Mivel + az írást minden meghajtón végre + kell hajtani, legalább kétszer annyi + sávszélességet is felémeszt, + mint a nem tükrözött kötetek + esetén. Az olvasás viszont nem veszít + a sebességébõl: sõt, még + gyorsabbnak is tûnhet. + + - - The performance impact. Writes must be performed to - both drives, so they take up twice the bandwidth of a - non-mirrored volume. Reads do not suffer from a - performance penalty: it even looks as if they are - faster. - - + + lemezparitás + + + Vinum + paritás + + + RAID-5 + - RAID-5An - alternative solution is parity, - implemented in the RAID levels 2, 3, 4 and - 5. Of these, RAID-5 is the most - interesting. As implemented in Vinum, it is a variant on a - striped organization which dedicates one block of each stripe - to parity of the other blocks. As implemented by Vinum, a - RAID-5 plex is similar to a striped plex, - except that it implements RAID-5 by - including a parity block in each stripe. As required by - RAID-5, the location of this parity block - changes from one stripe to the next. The numbers in the data - blocks indicate the relative block numbers. + Az adatintegritás megõrzésére egy + másik megoldás a paritás + használata, melyet a 2, 3, 4 és 5 + RAID-szintek valósítanak meg. + Ezek közül talán a RAID-5 a + legérdekesebb. A Vinumban egy olyan csíkozott + szervezési módként + valósították meg, ahol minden + csíkból egy blokk az összes többi + paritási információját tartalmazza. A + RAID-5 által megvalósított + szervezés hasonlít a csíkozáshoz, + azonban a RAID-5-ben mindegyik csík + tartalmaz egy paritási információt is. + Tehát a Vinumban, ahogy azt RAID-5 a + megköveteli, a paritást tároló blokkok + helye az egyik csíkról a másikra + változik. Az adatblokkokban található + számok relatív blokkszámokat + jelölnek. - -
- RAID-5 Organization - -
-
+ +
+ A RAID-5 szervezési mód + +
+
- Compared to mirroring, RAID-5 has the - advantage of requiring significantly less storage space. Read - access is similar to that of striped organizations, but write - access is significantly slower, approximately 25% of the read - performance. If one drive fails, the array can continue to - operate in degraded mode: a read from one of the remaining - accessible drives continues normally, but a read from the - failed drive is recalculated from the corresponding block from - all the remaining drives. - + A RAID-5-nek a tükrözéshez + képest megvan az elõnye, hogy jelentõsen kevesebb + tárhelyet igényel. Az olvasás hasonló + a csíkozott szervezésekéhez, azonban az + írás jóval lassabb, közel 25%-a az + olvasás sebességének. Az egyik + meghajtó meghibásodása esetén a + tömb csökkentett módban még képes + folytatni a mûködést: a fennmaradó + meghajtókról továbbra is a megszokott + módon lehet olvasni, viszont a sérült + meghajtóról olvasott adatokat folyamatosan + javítani kell a többirõl származó + segédinformációk szerint.
- Vinum Objects - In order to address these problems, Vinum implements a four-level - hierarchy of objects: + A Vinum objektumai + + A tárgyalt problémák + orvoslására a Vinumban egy négyszintû + objektumhierarchiát alakítottak ki: + + + + A legjobban észlelhetõ objektum a + virtuális lemez, amelyet + kötetnek (volume) nevezünk. Ez + a kötet lényegében ugyanazokkal a + tulajdonságokkal rendelkezik, mint egy &unix;-os + lemezmeghajtó, habár akadnak finomabb + különbségek. Mérete korlátlan + lehet. + - - - The most visible object is the virtual disk, called a - volume. Volumes have essentially the same - properties as a &unix; disk drive, though there are some minor - differences. They have no size limitations. - + + A kötetek erekbõl (plex) + állnak, melyek a kötet teljes területét + képviselik. Ennélfogva a hierarchia ezen + szintje nyújtja a redundanciát. Az ereket + legegyszerûbben a tükrözött tömbben + helyet foglaló lemezekként tudjuk + elképzelni, melyek ugyanazt az adatot + tartalmazzák. + - - Volumes are composed of plexes, - each of which represent the total address space of a - volume. This level in the hierarchy thus provides - redundancy. Think of plexes as individual disks in a - mirrored array, each containing the same data. - + + Mivel a Vinum a &unix; lemezes tárolást + megvalósító alrendszerében + helyezkedik el, a többlemezes erek + felépítéséhez + használhatnánk a &unix;-os + partíciókat, azonban ehhez a feladathoz nem + eléggé rugalmasak, mivel a &unix;-os lemezek + csak korlátozott számú + partíciót tartalmazhatnak. A Vinum ehelyett + allemeznek (subdisk) nevezett folytonos + területekre osztja fel az egyes &unix;-os + partíciókat (a + meghajtókat), melyeket + aztán az erek létrehozására + használ fel. + - - Since Vinum exists within the &unix; disk storage - framework, it would be possible to use &unix; - partitions as the building block for multi-disk plexes, - but in fact this turns out to be too inflexible: - &unix; disks can have only a limited number of - partitions. Instead, Vinum subdivides a single - &unix; partition (the drive) - into contiguous areas called - subdisks, which it uses as building - blocks for plexes. - - - - Subdisks reside on Vinum drives, - currently &unix; partitions. Vinum drives can - contain any number of subdisks. With the exception of a - small area at the beginning of the drive, which is used - for storing configuration and state information, the - entire drive is available for data storage. - - + + A Vinum által létrehozott + meghajtókon (drive) levõ + allemezek lesznek valódi &unix;-os + partíciók. A Vinum-meghajtók + tetszõleges számú allemezt tartalmazhatnak. + Eltekintve a meghajtó elején + található apró területtõl, + melyen a beállításokra és az + állapotra vonatkozó információk + tárolódnak, az egész meghajtó + felhasználható adatok + tárolására. + + - The following sections describe the way these objects provide the - functionality required of Vinum. + A most következõ szakaszokban ismertetjük, hogy + ezek az objektumok milyen módon szolgáltatják a + Vinum részérõl elvárt + funkciókat. - Volume Size Considerations + A kötetek mérete + Az erek képesek a Vinum + konfigurációjában található + több különbözõ meghajtón + elhelyezkedõ allemezt is nyalábolni. Ennek + következményeképpen az egyes meghajtók + mérete nem korlátozza az erek + méretét, emiatt a kötetét sem. + - Plexes can include multiple subdisks spread over all - drives in the Vinum configuration. As a result, the size of - an individual drive does not limit the size of a plex, and - thus of a volume. -
- - Redundant Data Storage - Vinum implements mirroring by attaching multiple plexes to - a volume. Each plex is a representation of the data in a - volume. A volume may contain between one and eight - plexes. + Redundáns adattárolás + + A Vinum a tükrözést több ér + egyetlen kötetté olvasztásával hozza + létre. Az erek mindegyike a köteten + található adatokat képviseli. Egy + kötet legalább egy, legfeljebb nyolc eret + tartalmazhat. - Although a plex represents the complete data of a volume, - it is possible for parts of the representation to be - physically missing, either by design (by not defining a - subdisk for parts of the plex) or by accident (as a result of - the failure of a drive). As long as at least one plex can - provide the data for the complete address range of the volume, - the volume is fully functional. + Habár egy ér egy kötet teljes + adatát ábrázolja, elõfordulhat olyan + eset, hogy bizonyos részei hiányoznak fizikai, + kialakítási (nem társítottunk + allemezeket hozzájuk) okokból adódoan vagy + véletlenül (a hozzátartozó + lemezterületek sérültek). Amíg + legalább egy ér képes a kötet teljes + tartalmát szolgáltatni, addig a kötet + teljesen épnek tekinthetõ. - + - Performance Issues + Teljesítmény - Vinum implements both concatenation and striping at the - plex level: + A Vinum az összefûzést és a + csíkozást is egyaránt + megvalósítja az erek szintjén: - A concatenated plex uses the - address space of each subdisk in turn. + Az összefûzött + ér allemezek területeibõl + építkezik. - A striped plex stripes the data - across each subdisk. The subdisks must all have the same - size, and there must be at least two subdisks in order to - distinguish it from a concatenated plex. + A csíkozott ér + felosztja az adatokat az allemezek között. Az + allemezek mindegyikének ugyanakkorának kell + lennie, és legalább két allemeznek + lennie kell, hogy eltérjen az + összefûzött értõl. - Which Plex Organization? - The version of Vinum supplied with FreeBSD &rel.current; implements - two kinds of plex: - + Hogyan szervezzük az ereket? + A &os; &rel.current; verziójában két + fajta erezési megoldást találhatunk: + - Concatenated plexes are the most flexible: they can - contain any number of subdisks, and the subdisks may be of - different length. The plex may be extended by adding - additional subdisks. They require less - CPU time than striped plexes, though - the difference in CPU overhead is not - measurable. On the other hand, they are most susceptible - to hot spots, where one disk is very active and others are - idle. - + Az összefûzött erek a legrugalmasabbak: + tetszõleges számú allemezt tartalmazhatnak, + az allemezek mérete pedig eltérhet. Az + ér újabb allemezek + hozzáadásával tovább + bõvíthetõ. Kevesebb processzoridõt + igényel, mint egy csíkozott ér, + habár a kettõ többletköltsége + közti eltérés nem mérhetõ. + Másrészrõl azonban nagyon + érzékenyek a forgalmasabb pontokra, vagyis + amikor az egyik lemez folyamatosan használatban van, + miközben a többi üresen jár. + - The greatest advantage of striped - (RAID-0) plexes is that they reduce hot - spots: by choosing an optimum sized stripe (about - 256 kB), you can even out the load on the component - drives. The disadvantages of this approach are - (fractionally) more complex code and restrictions on - subdisks: they must be all the same size, and extending a - plex by adding new subdisks is so complicated that Vinum - currently does not implement it. Vinum imposes an - additional, trivial restriction: a striped plex must have - at least two subdisks, since otherwise it is - indistinguishable from a concatenated plex. + A csíkozott (RAID-0) erek + legnagyobb elõnye, hogy csökkentik a forgalmasabb + pontok kialakulását: a megfelelõ + méretû csíkszélesség (ami + kb. 256 kB) választásával el + tudjuk egyengetni a tömbben dolgozó + meghajtók terhelését. Ennek a + megközelítésnek a hátránya + (részben) a sokkal összetettebb kód, + valamint az allemezekre vonatkozó + megszorítás, amely szerint meg kell + egyezniük a méretüknek, illetve az + érhez annyira bonyolult újabb allemezeket + kapcsolni, hogy a Vinum jelenleg nem is képes + rá. Ezeken felül a Vinum még + támaszt egy triviális igényt is: a + csíkozott érben legalább két + allemeznek lennie kell, mivel másképp nem + tér el egy összefûzött + értõl. - - summarizes the advantages - and disadvantages of each plex organization. - + + A foglalja össze az + egyes erezések elõnyeit és + hátrányait. + - Vinum Plex Organizations + Vinum erezések - Plex type - Minimum subdisks - Can add subdisks - Must be equal size - Application + Erezés típusa + Legkevesebb allemez + Bõvíthetõ + Megegyezõ méret + Alkalmazás - concatenated + összefûzött 1 - yes - no - Large data storage with maximum placement flexibility - and moderate performance + igen + nem + Sok adat tárolása, ahol a + hangsúly a rugalmasságon és a + mérsékelt teljesítményen + van. - + - striped + csíkozott 2 - no - yes - High performance in combination with highly concurrent - access + nem + igen + Nagy teljesítmény, nagy + mennyiségû egyidejû + hozzáférés mellett
- + - Some Examples + Példák + + A Vinum a rendszerben ismert objektumokkal kapcsolatos + információkat egy + konfigurációs + adatbázisban tartja fenn. Kezdetben a + felhasználó egy vagy több + konfigurációs állomány + segítségével hozza létre ezt az + adatbázist a &man.gvinum.8; segédprogrammal. A + Vinum ezt a konfigurációs adatbázist + bemásolja mindegyik irányítása alatt + álló slice-ba (melyek a Vinum + eszköznek hív). Az >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 6 00:57:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A379B16A419; Tue, 6 Nov 2007 00:57:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C51516A418 for ; Tue, 6 Nov 2007 00:57:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 300F613C48D for ; Tue, 6 Nov 2007 00:57:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA60vMQv052703 for ; Tue, 6 Nov 2007 00:57:22 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA60vLL3052700 for perforce@freebsd.org; Tue, 6 Nov 2007 00:57:21 GMT (envelope-from hselasky@FreeBSD.org) Date: Tue, 6 Nov 2007 00:57:21 GMT Message-Id: <200711060057.lA60vLL3052700@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 128715 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, 06 Nov 2007 00:57:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=128715 Change 128715 by hselasky@hselasky_laptop001 on 2007/11/06 00:56:38 The code is about to become styled using "indent". In that regard some declarations must be clearified so that "indent" can understand their meaning without the need for a complete C-parse. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ehci.h#17 edit .. //depot/projects/usb/src/sys/dev/usb/if_rum.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/if_ural.c#36 edit .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#18 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.h#13 edit .. //depot/projects/usb/src/sys/dev/usb/ubsa.c#26 edit .. //depot/projects/usb/src/sys/dev/usb/ucycom.c#20 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.h#14 edit .. //depot/projects/usb/src/sys/dev/usb/ukbd.c#24 edit .. //depot/projects/usb/src/sys/dev/usb/umass.c#27 edit .. //depot/projects/usb/src/sys/dev/usb/umct.c#20 edit .. //depot/projects/usb/src/sys/dev/usb/umodem.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/uplcom.c#27 edit .. //depot/projects/usb/src/sys/dev/usb/usb_quirks.c#13 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#36 edit .. //depot/projects/usb/src/sys/sys/videokern.h#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ehci.h#17 (text+ko) ==== @@ -203,7 +203,7 @@ * Isochronous Transfer Descriptor. This descriptor is used for high speed * transfers only. */ -typedef struct ehci_itd { +struct ehci_itd { volatile uint32_t itd_next; volatile uint32_t itd_status[8]; #define EHCI_ITD_SET_LEN(x) ((x) << 16) @@ -237,13 +237,15 @@ struct ehci_itd *prev; struct ehci_itd *obj_next; struct usbd_page *page; -} __aligned(EHCI_ITD_ALIGN) ehci_itd_t; +} __aligned(EHCI_ITD_ALIGN); + +typedef struct ehci_itd ehci_itd_t; /* * Split Transaction Isochronous Transfer Descriptor. This descriptor is used * for full speed transfers only. */ -typedef struct ehci_sitd { +struct ehci_sitd { volatile uint32_t sitd_next; volatile uint32_t sitd_portaddr; #define EHCI_SITD_SET_DIR_OUT (0 << 31) @@ -283,10 +285,12 @@ struct ehci_sitd *prev; struct ehci_sitd *obj_next; struct usbd_page *page; -} __aligned(EHCI_SITD_ALIGN) ehci_sitd_t; +} __aligned(EHCI_SITD_ALIGN); + +typedef struct ehci_sitd ehci_sitd_t; /* Queue Element Transfer Descriptor */ -typedef struct ehci_qtd { +struct ehci_qtd { volatile uint32_t qtd_next; volatile uint32_t qtd_altnext; volatile uint32_t qtd_status; @@ -329,10 +333,21 @@ struct usbd_page *page; uint32_t qtd_self; uint16_t len; -} __aligned(EHCI_QTD_ALIGN) ehci_qtd_t; +} __aligned(EHCI_QTD_ALIGN); + +typedef struct ehci_qtd ehci_qtd_t; + +/* Queue Head Sub Structure */ +struct ehci_qh_sub { + volatile uint32_t qtd_next; + volatile uint32_t qtd_altnext; + volatile uint32_t qtd_status; + volatile uint32_t qtd_buffer[EHCI_QTD_NBUFFERS]; + volatile uint32_t qtd_buffer_hi[EHCI_QTD_NBUFFERS]; +} __aligned(4); /* Queue Head */ -typedef struct ehci_qh { +struct ehci_qh { volatile uint32_t qh_link; volatile uint32_t qh_endp; #define EHCI_QH_GET_ADDR(x) (((x) >> 0) & 0x7f) /* endpoint addr */ @@ -370,13 +385,7 @@ #define EHCI_QH_GET_MULT(x) (((x) >> 30) & 0x03) /* pipe multiplier */ #define EHCI_QH_SET_MULT(x) ((x) << 30) volatile uint32_t qh_curqtd; - struct { - volatile uint32_t qtd_next; - volatile uint32_t qtd_altnext; - volatile uint32_t qtd_status; - volatile uint32_t qtd_buffer[EHCI_QTD_NBUFFERS]; - volatile uint32_t qtd_buffer_hi[EHCI_QTD_NBUFFERS]; - } __aligned(4) qh_qtd; + struct ehci_qh_sub qh_qtd; /* * Extra information needed: */ @@ -385,14 +394,17 @@ struct ehci_qh *obj_next; struct usbd_page *page; uint32_t qh_self; -} __aligned(EHCI_QH_ALIGN) ehci_qh_t; +} __aligned(EHCI_QH_ALIGN); + +typedef struct ehci_qh ehci_qh_t; /* Periodic Frame Span Traversal Node */ -typedef struct { +struct ehci_fstn { volatile uint32_t fstn_link; volatile uint32_t fstn_back; -} __aligned(EHCI_FSTN_ALIGN) ehci_fstn_t; +} __aligned(EHCI_FSTN_ALIGN); +typedef struct ehci_fstn ehci_fstn_t; struct ehci_hw_softc { uint32_t pframes[EHCI_FRAMELIST_COUNT]; /* start TD pointer */ ==== //depot/projects/usb/src/sys/dev/usb/if_rum.c#12 (text+ko) ==== @@ -203,10 +203,12 @@ { USB_VENDOR_SURECOM, USB_PRODUCT_SURECOM_RT2573 } }; -static const struct { +struct rum_def_mac { uint32_t reg; uint32_t val; -} rum_def_mac[] = { +}; + +static const struct rum_def_mac rum_def_mac[] = { { RT2573_TXRX_CSR0, 0x025fb032 }, { RT2573_TXRX_CSR1, 0x9eaa9eaf }, { RT2573_TXRX_CSR2, 0x8a8b8c8d }, @@ -231,10 +233,12 @@ { RT2573_CWMAX_CSR, 0x000034aa } }; -static const struct { +struct rum_def_bbp { uint8_t reg; uint8_t val; -} rum_def_bbp[] = { +}; + +static const struct rum_def_bbp rum_def_bbp[] = { { 3, 0x80 }, { 15, 0x30 }, { 17, 0x20 }, ==== //depot/projects/usb/src/sys/dev/usb/if_udav.c#29 (text+ko) ==== @@ -272,10 +272,12 @@ #define UDAV_CFG_CLRBIT(sc, reg, x) \ udav_cfg_csr_write1(sc, reg, udav_cfg_csr_read1(sc, reg) & ~(x)) -static const struct udav_type { +struct udav_type { struct usb_devno udav_dev; uint16_t udav_flags; -} udav_devs [] = { +}; + +static const struct udav_type udav_devs [] = { /* Corega USB-TXC */ {{ USB_VENDOR_COREGA, USB_PRODUCT_COREGA_FETHER_USB_TXC }, 0}, #if 0 ==== //depot/projects/usb/src/sys/dev/usb/if_ural.c#36 (text+ko) ==== @@ -264,10 +264,12 @@ * Default values for MAC registers; values taken from * the reference driver: */ -static const struct { +struct ural_def_mac { uint16_t reg; uint16_t val; -} ural_def_mac[] = { +}; + +static const struct ural_def_mac ural_def_mac[] = { { RAL_TXRX_CSR5, 0x8c8d }, { RAL_TXRX_CSR6, 0x8b8a }, { RAL_TXRX_CSR7, 0x8687 }, @@ -290,10 +292,12 @@ /* * Default values for BBP registers; values taken from the reference driver. */ -static const struct { +struct ural_def_bbp { uint8_t reg; uint8_t val; -} ural_def_bbp[] = { +}; + +static const struct ural_def_bbp ural_def_bbp[] = { { 3, 0x02 }, { 4, 0x19 }, { 14, 0x1c }, @@ -375,12 +379,14 @@ * For dual-band RF, RF registers R1 and R4 also depend on channel number; * values taken from the reference driver. */ -static const struct { +struct ural_rf5222 { uint8_t chan; uint32_t r1; uint32_t r2; uint32_t r4; -} ural_rf5222[] = { +}; + +static const struct ural_rf5222 ural_rf5222[] = { { 1, 0x08808, 0x0044d, 0x00282 }, { 2, 0x08808, 0x0044e, 0x00282 }, { 3, 0x08808, 0x0044f, 0x00282 }, ==== //depot/projects/usb/src/sys/dev/usb/if_zyd.c#18 (text+ko) ==== @@ -130,7 +130,7 @@ static void zyd_cfg_write16_batch(struct zyd_softc *sc, const struct zyd_adpairs16 *data, uint32_t count); static void zyd_cfg_write32_batch(struct zyd_softc *sc, const struct zyd_adpairs32 *data, uint32_t count); static void zyd_cfg_rfwrite(struct zyd_softc *sc, uint32_t value, uint8_t bits); -static void zyd_cfg_stateoutput(struct zyd_softc *sc) __used; +static void zyd_cfg_stateoutput(struct zyd_softc *sc); static void zyd_rxframeproc(struct usbd_xfer *xfer, struct mq *mq, uint16_t offset, uint16_t len); static uint8_t zyd_cfg_uploadfirmware(struct zyd_softc *sc); static void zyd_cfg_lock_phy(struct zyd_softc *sc); @@ -154,7 +154,7 @@ static uint8_t zyd_regdomain_supported(uint8_t regdomain); static void zyd_cfg_tblreader(struct zyd_softc *sc, uint8_t *values, size_t count, uint32_t e2p_addr, uint32_t guard); static void zyd_cfg_readcaltables(struct zyd_softc *sc); -static uint8_t zyd_reset_channel(struct zyd_softc *sc) __used; +static uint8_t zyd_reset_channel(struct zyd_softc *sc); static void zyd_cfg_set_encryption_type(struct zyd_softc *sc, uint32_t type); static void zyd_cfg_switch_radio(struct zyd_softc *sc, uint8_t onoff); static void zyd_cfg_enable_hwint(struct zyd_softc *sc); @@ -169,7 +169,7 @@ static uint8_t zyd_plcp_signal(uint8_t rate); static uint16_t zyd_calc_useclen(uint8_t rate, uint16_t len, uint8_t *service); static void zyd_setup_tx_desc(struct usbd_xfer *xfer, struct mbuf *m, uint16_t rate); -static void zyd_cfg_dump_fw_registers(struct zyd_softc *sc) __used; +static void zyd_cfg_dump_fw_registers(struct zyd_softc *sc); static uint8_t zyd_tx_frame(struct usbd_xfer *xfer, struct mbuf *m0, struct ieee80211_node *ni, uint8_t rate); static void zyd_start_transfers(struct zyd_softc *sc); static void zyd_start_cb(struct ifnet *ifp); ==== //depot/projects/usb/src/sys/dev/usb/ohci.h#13 (text+ko) ==== @@ -159,7 +159,7 @@ #define OHCI_DONE_INTRS 1 } __aligned(OHCI_HCCA_ALIGN); -typedef struct ohci_ed { +struct ohci_ed { volatile uint32_t ed_flags; #define OHCI_ED_GET_FA(s) ((s) & 0x7f) #define OHCI_ED_ADDRMASK 0x0000007f @@ -191,9 +191,11 @@ struct ohci_ed *obj_next; struct usbd_page *page; uint32_t ed_self; -} __aligned(OHCI_ED_ALIGN) ohci_ed_t; +} __aligned(OHCI_ED_ALIGN); + +typedef struct ohci_ed ohci_ed_t; -typedef struct ohci_td { +struct ohci_td { volatile uint32_t td_flags; #define OHCI_TD_R 0x00040000 /* Buffer Rounding */ #define OHCI_TD_DP_MASK 0x00180000 /* Direction / PID */ @@ -224,9 +226,11 @@ struct usbd_page *page; uint32_t td_self; uint16_t len; -} __aligned(OHCI_TD_ALIGN) ohci_td_t; +} __aligned(OHCI_TD_ALIGN); + +typedef struct ohci_td ohci_td_t; -typedef struct ohci_itd { +struct ohci_itd { volatile uint32_t itd_flags; #define OHCI_ITD_GET_SF(x) ((x) & 0x0000ffff) #define OHCI_ITD_SET_SF(x) ((x) & 0xffff) @@ -253,7 +257,9 @@ struct usbd_page *page; uint32_t itd_self; uint8_t frames; -} __aligned(OHCI_ITD_ALIGN) ohci_itd_t; +} __aligned(OHCI_ITD_ALIGN); + +typedef struct ohci_itd ohci_itd_t; #define OHCI_CC_NO_ERROR 0 #define OHCI_CC_CRC 1 ==== //depot/projects/usb/src/sys/dev/usb/ubsa.c#26 (text+ko) ==== @@ -259,10 +259,12 @@ .ucom_stop_write = &ubsa_stop_write, }; -static const struct ubsa_product { +struct ubsa_product { uint16_t vendor; uint16_t product; -} ubsa_products [] = { +}; + +static const struct ubsa_product ubsa_products [] = { /* AnyData ADU-E100A/H */ { USB_VENDOR_ANYDATA, USB_PRODUCT_ANYDATA_ADU_E100X }, /* BELKIN F5U103 */ ==== //depot/projects/usb/src/sys/dev/usb/ucycom.c#20 (text+ko) ==== @@ -174,11 +174,13 @@ * Supported devices */ -static struct ucycom_device { +struct ucycom_device { uint16_t vendor; uint16_t product; uint32_t model; -} ucycom_devices[] = { +}; + +static const struct ucycom_device ucycom_devices[] = { { USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE, MODEL_CY7C64013 }, { 0, 0, 0 }, }; @@ -190,7 +192,7 @@ ucycom_probe(device_t dev) { struct usb_attach_arg *uaa = device_get_ivars(dev); - struct ucycom_device *ud; + const struct ucycom_device *ud; if (uaa->iface != NULL) { return UMATCH_NONE; @@ -211,7 +213,7 @@ { struct usb_attach_arg *uaa = device_get_ivars(dev); struct ucycom_softc *sc = device_get_softc(dev); - struct ucycom_device *ud; + const struct ucycom_device *ud; struct usbd_interface *iface; void *urd_ptr = NULL; int32_t error; ==== //depot/projects/usb/src/sys/dev/usb/uhci.h#14 (text+ko) ==== @@ -126,7 +126,7 @@ * */ -typedef struct uhci_td { +struct uhci_td { /* * Data used by the UHCI controller. * volatile is used in order to mantain struct members ordering. @@ -175,7 +175,9 @@ #define UHCI_FIX_OFFSET_NONE 0xffffffff uint32_t fix_offset; uint16_t len; -} __aligned(UHCI_TD_ALIGN) uhci_td_t; +} __aligned(UHCI_TD_ALIGN); + +typedef struct uhci_td uhci_td_t; #define UHCI_TD_ERROR (UHCI_TD_BITSTUFF | UHCI_TD_CRCTO | \ UHCI_TD_BABBLE | UHCI_TD_DBUFFER | UHCI_TD_STALLED) @@ -195,7 +197,7 @@ UHCI_TD_SET_DEVADDR(dev) | \ UHCI_TD_PID_IN | UHCI_TD_SET_DT(dt)) -typedef struct uhci_qh { +struct uhci_qh { /* * Data used by the UHCI controller. */ @@ -211,7 +213,9 @@ struct usbd_page *page; uint32_t qh_self; uint16_t intr_pos; -} __aligned(UHCI_QH_ALIGN) uhci_qh_t; +} __aligned(UHCI_QH_ALIGN); + +typedef struct uhci_qh uhci_qh_t; /* Maximum number of isochronous TD's and QH's interrupt */ #define UHCI_VFRAMELIST_COUNT 128 ==== //depot/projects/usb/src/sys/dev/usb/ukbd.c#24 (text+ko) ==== @@ -109,7 +109,7 @@ #define MOD_WIN_R 0x80 uint8_t reserved; uint8_t keycode[UKBD_NKEYCODE]; -} __attribute__((__packed__)); +} __packed; struct ukbd_softc { keyboard_t sc_kbd; @@ -168,9 +168,11 @@ SCAN_PREFIX_CTL | SCAN_PREFIX_SHIFT) #define SCAN_CHAR(c) ((c) & 0x7f) -static const struct { +struct ukbd_mods { uint32_t mask, key; -} ukbd_mods[UKBD_NMOD] = { +}; + +static const struct ukbd_mods ukbd_mods[UKBD_NMOD] = { { MOD_CONTROL_L, 0xe0 }, { MOD_CONTROL_R, 0xe4 }, { MOD_SHIFT_L, 0xe1 }, ==== //depot/projects/usb/src/sys/dev/usb/umass.c#27 (text+ko) ==== @@ -124,7 +124,7 @@ #ifdef USB_DEBUG #define DIF(m, x) \ do { \ - if (umass_debug & (m)) { x } \ + if (umass_debug & (m)) { x ; } \ } while (0) #define DPRINTF(sc, m, fmt, ...) \ @@ -1864,7 +1864,7 @@ bzero(sc->sc_transfer.cmd_data + sc->sc_transfer.cmd_len, sizeof(sc->cbw.CBWCDB) - sc->sc_transfer.cmd_len); - DIF(UDMASS_BBB, umass_bbb_dump_cbw(sc, &sc->cbw);); + DIF(UDMASS_BBB, umass_bbb_dump_cbw(sc, &sc->cbw)); usbd_copy_in(&(xfer->buf_data), 0, &(sc->cbw), sizeof(sc->cbw)); @@ -2019,7 +2019,7 @@ usbd_copy_out(&(xfer->buf_data), 0, &(sc->csw), xfer->actlen); - DIF(UDMASS_BBB, umass_bbb_dump_csw(sc, &(sc->csw));); + DIF(UDMASS_BBB, umass_bbb_dump_csw(sc, &(sc->csw))); residue = UGETDW(sc->csw.dCSWDataResidue); @@ -2371,7 +2371,7 @@ DIF(UDMASS_CBI, umass_cbi_dump_cmd(sc, sc->sc_transfer.cmd_data, - sc->sc_transfer.cmd_len);); + sc->sc_transfer.cmd_len)); usbd_start_hardware(xfer); } @@ -2634,15 +2634,17 @@ #if (__FreeBSD_version >= 700048) if (xpt_bus_register(sc->sc_sim, sc->sc_dev, sc->sc_unit) != CAM_SUCCESS) { + mtx_unlock(&(sc->sc_mtx)); + return ENOMEM; + } #else if (xpt_bus_register(sc->sc_sim, sc->sc_unit) != CAM_SUCCESS) { -#endif - #if (__FreeBSD_version >= 700037) mtx_unlock(&(sc->sc_mtx)); #endif return ENOMEM; } +#endif #if (__FreeBSD_version >= 700037) mtx_unlock(&(sc->sc_mtx)); @@ -2863,15 +2865,14 @@ break; case CAM_DIR_OUT: dir = DIR_OUT; + DIF(UDMASS_SCSI, + umass_dump_buffer(sc, ccb->csio.data_ptr, + ccb->csio.dxfer_len, 48)); break; default: dir = DIR_NONE; } - DIF(UDMASS_SCSI, if (dir == DIR_OUT) { - umass_dump_buffer(sc, ccb->csio.data_ptr, - ccb->csio.dxfer_len, 48); }); - ccb->ccb_h.status = CAM_REQ_INPROG | CAM_SIM_QUEUED; /* sc->sc_transform will convert the command to the command ==== //depot/projects/usb/src/sys/dev/usb/umct.c#20 (text+ko) ==== @@ -205,10 +205,12 @@ .ucom_stop_write = &umct_stop_write, }; -static const struct umct_product { +struct umct_product { uint16_t vendor; uint16_t product; -} umct_products[] = { +}; + +static const struct umct_product umct_products[] = { { USB_VENDOR_MCT, USB_PRODUCT_MCT_USB232 }, { USB_VENDOR_MCT, USB_PRODUCT_MCT_SITECOM_USB232 }, { USB_VENDOR_MCT, USB_PRODUCT_MCT_DU_H3SP_USB232 }, ==== //depot/projects/usb/src/sys/dev/usb/umodem.c#29 (text+ko) ==== @@ -107,11 +107,13 @@ #define DPRINTF(...) #endif -static const struct umodem_product { +struct umodem_product { uint16_t vendor; uint16_t product; uint8_t interface; -} umodem_products[] = { +}; + +static const struct umodem_product umodem_products[] = { /* Kyocera AH-K3001V*/ { USB_VENDOR_KYOCERA, USB_PRODUCT_KYOCERA_AHK3001V, 0 }, { USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC5720, 0 }, ==== //depot/projects/usb/src/sys/dev/usb/uplcom.c#27 (text+ko) ==== @@ -269,7 +269,7 @@ .ucom_stop_write = &uplcom_stop_write, }; -static const struct uplcom_product { +struct uplcom_product { uint16_t vendor; uint16_t product; uint16_t release; /* the highest release value accepted, @@ -277,7 +277,9 @@ * wins */ uint8_t chiptype; -} uplcom_products [] = { +}; + +static const struct uplcom_product uplcom_products [] = { /* I/O DATA USB-RSAQ */ { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBRSAQ, 0xFFFF, TYPE_PL2303 }, /* I/O DATA USB-RSAQ2 */ ==== //depot/projects/usb/src/sys/dev/usb/usb_quirks.c#13 (text+ko) ==== @@ -51,12 +51,14 @@ #define ANY 0xffff -static const struct usbd_quirk_entry { +struct usbd_quirk_entry { uint16_t idVendor; uint16_t idProduct; uint16_t bcdDevice; struct usbd_quirks quirks; -} usb_quirks[] = { +}; + +static const struct usbd_quirk_entry usb_quirks[] = { { USB_VENDOR_INSIDEOUT, USB_PRODUCT_INSIDEOUT_EDGEPORT4, 0x094, { UQ_SWAP_UNICODE}}, { USB_VENDOR_DALLAS, USB_PRODUCT_DALLAS_J6502, 0x0a2, { UQ_BAD_ADC }}, ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#36 (text+ko) ==== @@ -221,7 +221,7 @@ return (USBD_NORMAL_COMPLETION); } -static const struct usbd_std_packet_size { +struct usbd_std_packet_size { struct { uint16_t min; /* inclusive */ uint16_t max; /* inclusive */ @@ -229,7 +229,10 @@ uint16_t fixed[4]; -} usbd_std_packet_size[4][USB_SPEED_MAX] = { +}; + +static const struct usbd_std_packet_size +usbd_std_packet_size[4][USB_SPEED_MAX] = { [UE_INTERRUPT] = { [USB_SPEED_LOW] = { .range = { 0, 8 } }, ==== //depot/projects/usb/src/sys/sys/videokern.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* +/*- * Video for Linux v2.0 kernel interface definition file * * Copyright (C) 1999-2007 the contributors @@ -289,7 +289,7 @@ #ifdef CONFIG_VIDEO_ADV_DEBUG int32_t (*vidioc_g_register) (v4l2_file_t *file, void *fh, struct v4l2_register *reg); - int32_t (*vidioc_s_register)' + int32_t (*vidioc_s_register) (v4l2_file_t *file, void *fh, struct v4l2_register *reg); #endif From owner-p4-projects@FreeBSD.ORG Tue Nov 6 04:40:25 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BDB4216A421; Tue, 6 Nov 2007 04:40:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1812B16A419 for ; Tue, 6 Nov 2007 04:40:24 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EEC2D13C49D for ; Tue, 6 Nov 2007 04:40:23 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA64eN8c082194 for ; Tue, 6 Nov 2007 04:40:23 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA64eN0d082191 for perforce@freebsd.org; Tue, 6 Nov 2007 04:40:23 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 6 Nov 2007 04:40:23 GMT Message-Id: <200711060440.lA64eN0d082191@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 128720 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, 06 Nov 2007 04:40:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=128720 Change 128720 by kmacy@kmacy:storage:toestack on 2007/11/06 04:39:23 add socket option for setting congestion control algorithm define max name length Affected files ... .. //depot/projects/toestack/sys/netinet/tcp.h#2 edit Differences ... ==== //depot/projects/toestack/sys/netinet/tcp.h#2 (text+ko) ==== @@ -147,6 +147,10 @@ #define TCP_NOOPT 0x08 /* don't use TCP options */ #define TCP_MD5SIG 0x10 /* use MD5 digests (RFC2385) */ #define TCP_INFO 0x20 /* retrieve tcp_info structure */ +#define TCP_CONGESTION 0x40 /* congestion control algorithm */ + +#define TCP_CA_NAME_MAX 16 /* max congestion control name len */ + #define TCPI_OPT_TIMESTAMPS 0x01 #define TCPI_OPT_SACK 0x02 From owner-p4-projects@FreeBSD.ORG Tue Nov 6 04:41:25 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A4ABC16A41B; Tue, 6 Nov 2007 04:41:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54B7F16A418 for ; Tue, 6 Nov 2007 04:41:25 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3803313C494 for ; Tue, 6 Nov 2007 04:41:25 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA64fPqB082232 for ; Tue, 6 Nov 2007 04:41:25 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA64fPPQ082229 for perforce@freebsd.org; Tue, 6 Nov 2007 04:41:25 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 6 Nov 2007 04:41:25 GMT Message-Id: <200711060441.lA64fPPQ082229@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 128721 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, 06 Nov 2007 04:41:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=128721 Change 128721 by kmacy@kmacy:storage:toestack on 2007/11/06 04:40:51 add pointer to name of congestion control algorithm this may seem odd, but the intent is that the system can have an arbitrary number of dynamically added or removed congestion control modules Affected files ... .. //depot/projects/toestack/sys/netinet/tcp_var.h#6 edit Differences ... ==== //depot/projects/toestack/sys/netinet/tcp_var.h#6 (text+ko) ==== @@ -209,6 +209,7 @@ int rfbuf_cnt; /* recv buffer autoscaling byte count */ struct toe_usrreqs *t_tu; /* offload operations vector */ void *t_toe; + char *t_cong_control; /* congestion control algorithm name*/ }; #define IN_FASTRECOVERY(tp) (tp->t_flags & TF_FASTRECOVERY) From owner-p4-projects@FreeBSD.ORG Tue Nov 6 04:44:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C498116A41B; Tue, 6 Nov 2007 04:44:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 38BBA16A417 for ; Tue, 6 Nov 2007 04:44:29 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1AB2913C480 for ; Tue, 6 Nov 2007 04:44:29 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA64iToM082389 for ; Tue, 6 Nov 2007 04:44:29 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA64iTnj082386 for perforce@freebsd.org; Tue, 6 Nov 2007 04:44:29 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 6 Nov 2007 04:44:29 GMT Message-Id: <200711060444.lA64iTnj082386@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 128722 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, 06 Nov 2007 04:44:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=128722 Change 128722 by kmacy@kmacy:storage:toestack on 2007/11/06 04:43:31 add interface for setting socket options add functions to set values in the tcb for options Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#15 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#6 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#6 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#15 (text+ko) ==== @@ -42,6 +42,7 @@ #include #include #include +#include #include #include @@ -55,6 +56,7 @@ #include #include +#include #include #include #include @@ -62,6 +64,7 @@ #include #include + #include #include #include @@ -122,6 +125,7 @@ * coalescing, handle jumbo frames, and not trigger sender SWS avoidance. */ #define MIN_RCV_WND (24 * 1024U) +#define SO_TOS(so) ((sotoinpcb(so)->inp_ip_tos >> 2) & M_TOS) #define VALIDATE_SEQ 0 #define VALIDATE_SOCK(so) @@ -134,6 +138,26 @@ static void t3_send_reset(struct socket *so); +/* + * Determine whether to send a CPL message now or defer it. A message is + * deferred if the connection is in SYN_SENT since we don't know the TID yet. + * For connections in other states the message is sent immediately. + * If through_l2t is set the message is subject to ARP processing, otherwise + * it is sent directly. + */ +static inline void +send_or_defer(struct socket *so, struct tcpcb *tp, struct mbuf *m, int through_l2t) +{ + struct toepcb *toep = tp->t_toe; + + if (__predict_false(tp->t_state == TCPS_SYN_SENT)) + mbufq_tail(&toep->out_of_order_queue, m); // defer + else if (through_l2t) + l2t_send(T3C_DEV(so), m, toep->tp_l2t); // send through L2T + else + cxgb_ofld_send(T3C_DEV(so), m); // send directly +} + static inline unsigned int mkprio(unsigned int cntrl, const struct socket *so) { @@ -481,11 +505,191 @@ .tu_rcvd = cxgb_toe_rcvd, }; + +static void +__set_tcb_field(struct socket *so, struct mbuf *m, uint16_t word, + uint64_t mask, uint64_t val, int no_reply) +{ + struct cpl_set_tcb_field *req; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + + req = mtod(m, struct cpl_set_tcb_field *); + m->m_pkthdr.len = m->m_len = sizeof(*req); + req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); + OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, toep->tp_tid)); + req->reply = V_NO_REPLY(no_reply); + req->cpu_idx = 0; + req->word = htons(word); + req->mask = htobe64(mask); + req->val = htobe64(val); + + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, so)); + send_or_defer(so, tp, m, 0); +} + +static void +t3_set_tcb_field(struct socket *so, uint16_t word, uint64_t mask, uint64_t val) +{ + struct mbuf *m; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + + if (tp->t_state == TCPS_CLOSED || (toep->tp_flags & TP_ABORT_SHUTDOWN)) + return; + + m = m_gethdr(M_NOWAIT, MT_DATA); + if (m == NULL) { + /* + * XXX need lowmem cache + */ + } + + __set_tcb_field(so, m, word, mask, val, 1); +} + +/* + * Set one of the t_flags bits in the TCB. + */ +static void +set_tcb_tflag(struct socket *so, unsigned int bit_pos, int val) +{ + t3_set_tcb_field(so, W_TCB_T_FLAGS1, 1ULL << bit_pos, val << bit_pos); +} + +/* + * Send a SET_TCB_FIELD CPL message to change a connection's Nagle setting. + */ +static void +t3_set_nagle(struct socket *so) +{ + struct tcpcb *tp = sototcpcb(so); + + set_tcb_tflag(so, S_TF_NAGLE, !(tp->t_flags & TF_NODELAY)); +} + +/* + * Send a SET_TCB_FIELD CPL message to change a connection's keepalive setting. + */ +void +t3_set_keepalive(struct socket *so, int on_off) +{ + set_tcb_tflag(so, S_TF_KEEPALIVE, on_off); +} + void +t3_set_rcv_coalesce_enable(struct socket *so, int on_off) +{ + set_tcb_tflag(so, S_TF_RCV_COALESCE_ENABLE, on_off); +} + +/* + * Send a SET_TCB_FIELD CPL message to change a connection's TOS setting. + */ +static void +t3_set_tos(struct socket *so) +{ + t3_set_tcb_field(so, W_TCB_TOS, V_TCB_TOS(M_TCB_TOS), + V_TCB_TOS(SO_TOS(so))); +} + + +/* + * In DDP mode, TP fails to schedule a timer to push RX data to the host when + * DDP is disabled (data is delivered to freelist). [Note that, the peer should + * set the PSH bit in the last segment, which would trigger delivery.] + * We work around the issue by setting a DDP buffer in a partial placed state, + * which guarantees that TP will schedule a timer. + */ +#define TP_DDP_TIMER_WORKAROUND_MASK\ + (V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_ACTIVE_BUF(1) |\ + ((V_TCB_RX_DDP_BUF0_OFFSET(M_TCB_RX_DDP_BUF0_OFFSET) |\ + 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)) <<\ + 32)) + +static void t3_enable_ddp(struct socket *so, int on) { - printf("t3_enable_ddp unimplemented !!!! \n"); - + if (on) + t3_set_tcb_field(so, W_TCB_RX_DDP_FLAGS, V_TF_DDP_OFF(1), + V_TF_DDP_OFF(0)); + else + t3_set_tcb_field(so, W_TCB_RX_DDP_FLAGS, + V_TF_DDP_OFF(1) | + TP_DDP_TIMER_WORKAROUND_MASK, + V_TF_DDP_OFF(1) | + TP_DDP_TIMER_WORKAROUND_VAL); + +} + + +void +t3_set_ddp_tag(struct socket *so, int buf_idx, unsigned int tag_color) +{ + t3_set_tcb_field(so, W_TCB_RX_DDP_BUF0_TAG + buf_idx, + V_TCB_RX_DDP_BUF0_TAG(M_TCB_RX_DDP_BUF0_TAG), + tag_color); +} + +void +t3_set_ddp_buf(struct socket *so, int buf_idx, unsigned int offset, + unsigned int len) +{ + if (buf_idx == 0) + t3_set_tcb_field(so, 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((uint64_t)offset) | + V_TCB_RX_DDP_BUF0_LEN((uint64_t)len)); + else + t3_set_tcb_field(so, 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((uint64_t)offset) | + V_TCB_RX_DDP_BUF1_LEN(((uint64_t)len) << 32)); +} + +static int +t3_set_cong_control(struct socket *so, const char *name) +{ +#ifdef notyet + int cong_algo; + + for (cong_algo = 0; cong_algo < ARRAY_SIZE(t3_cong_ops); cong_algo++) + if (!strcmp(name, t3_cong_ops[cong_algo].name)) + break; + + if (cong_algo >= ARRAY_SIZE(t3_cong_ops)) + return -EINVAL; +#endif + return 0; +} + +int +t3_get_tcb(struct socket *so) +{ + struct cpl_get_tcb *req; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + struct mbuf *m = m_gethdr(M_NOWAIT, MT_DATA); + + if (!m) + return (ENOMEM); + + m_set_priority(m, mkprio(CPL_PRIORITY_CONTROL, so)); + req = mtod(m, struct cpl_get_tcb *); + m->m_pkthdr.len = m->m_len = sizeof(*req); + req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); + OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_GET_TCB, toep->tp_tid)); + req->cpuno = htons(toep->tp_qset); + if (sototcpcb(so)->t_state == TCPS_SYN_SENT) + mbufq_tail(&toep->out_of_order_queue, m); // defer + else + cxgb_ofld_send(T3C_DEV(so), m); + return 0; } static inline void @@ -607,7 +811,7 @@ toepcb_release(toep); } #ifdef notyet - t3_set_ca_ops(sk, &tcp_init_congestion_ops); + t3_set_ca_ops(so, &tcp_init_congestion_ops); #endif TOE_DEV(so) = NULL; #if 0 @@ -716,7 +920,6 @@ return (0); } -#define SO_TOS(so) ((sotoinpcb(so)->inp_ip_tos >> 2) & M_TOS) /* * The next two functions calculate the option 0 value for a socket. */ @@ -837,7 +1040,7 @@ if (rpl->status == CPL_ERR_CONN_EXIST && icsk->icsk_retransmit_timer.function != act_open_retry_timer) { icsk->icsk_retransmit_timer.function = act_open_retry_timer; - sk_reset_timer(sk, &icsk->icsk_retransmit_timer, + sk_reset_timer(so, &icsk->icsk_retransmit_timer, jiffies + HZ / 2); } else #endif @@ -979,7 +1182,7 @@ /* Purge the send queue so we don't send anything after an abort. */ sbflush(&so->so_snd); #ifdef notyet - if (sock_flag(sk, CLOSE_CON_REQUESTED) && is_t3a(TOE_DEV(sk))) + if (sock_flag(so, CLOSE_CON_REQUESTED) && is_t3a(TOE_DEV(sk))) mode |= CPL_ABORT_POST_CLOSE_REQ; #endif m = m_gethdr(M_NOWAIT, MT_DATA); @@ -1005,6 +1208,113 @@ l2t_send(T3C_DEV(so), m, toep->tp_l2t); } +static int +t3_ip_ctloutput(struct socket *so, struct sockopt *sopt) +{ + struct inpcb *inp; + int error, optval; + + if (sopt->sopt_name == IP_OPTIONS) + return (ENOPROTOOPT); + + if (sopt->sopt_name != IP_TOS) + return (EOPNOTSUPP); + + error = sooptcopyin(sopt, &optval, sizeof optval, sizeof optval); + + if (error) + return (error); + + if (optval > IPTOS_PREC_CRITIC_ECP && !suser(curthread)) + return (EPERM); + + inp = sotoinpcb(so); + inp->inp_ip_tos = optval; + + t3_set_tos(so); + + return (0); +} + +static int +t3_tcp_ctloutput(struct socket *so, struct sockopt *sopt) +{ + int err = 0; + size_t copied; + + if (sopt->sopt_name != TCP_CONGESTION && + sopt->sopt_name != TCP_NODELAY) + return (EOPNOTSUPP); + + if (sopt->sopt_name == TCP_CONGESTION) { + char name[TCP_CA_NAME_MAX]; + int optlen = sopt->sopt_valsize; + struct tcpcb *tp; + + if (optlen < 1) + return (EINVAL); + + err = copyinstr(sopt->sopt_val, name, + min(TCP_CA_NAME_MAX - 1, optlen), &copied); + if (err) + return (err); + if (copied < 1) + return (EINVAL); + + tp = sototcpcb(so); + if ((err = t3_set_cong_control(so, name)) == 0) + tp->t_cong_control = strdup(name, M_DEVBUF); + else + return (err); + } else { + int optval, oldval; + struct inpcb *inp; + struct tcpcb *tp; + + err = sooptcopyin(sopt, &optval, sizeof optval, + sizeof optval); + + if (err) + return (err); + + inp = sotoinpcb(so); + tp = intotcpcb(inp); + + INP_LOCK(inp); + + oldval = tp->t_flags; + if (optval) + tp->t_flags |= TF_NODELAY; + else + tp->t_flags &= ~TF_NODELAY; + INP_UNLOCK(inp); + + if (oldval != tp->t_flags) + t3_set_nagle(so); + + } + + return (0); +} + +static int +t3_ctloutput(struct socket *so, struct sockopt *sopt) +{ + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + int err; + + if (sopt->sopt_level != IPPROTO_TCP) + err = t3_ip_ctloutput(so, sopt); + else + err = t3_tcp_ctloutput(so, sopt); + + if (err != EOPNOTSUPP) + return (err); + + return toep->tp_ctloutput(so, sopt); +} + /* * Process new data received for a connection. */ @@ -1018,12 +1328,12 @@ #ifdef notyet if (__predict_false(sk_no_receive(sk))) { - handle_excess_rx(sk, skb); + handle_excess_rx(so, skb); return; } if (ULP_MODE(tp) == ULP_MODE_TCPDDP) - handle_ddp_data(sk, skb); + handle_ddp_data(so, skb); TCP_SKB_CB(skb)->seq = ntohl(hdr->seq); TCP_SKB_CB(skb)->flags = 0; @@ -1046,7 +1356,7 @@ * We don't handle urgent data yet */ if (__predict_false(hdr->urg)) - handle_urg_ptr(sk, tp->rcv_nxt + ntohs(hdr->urg)); + handle_urg_ptr(so, tp->rcv_nxt + ntohs(hdr->urg)); 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 - @@ -1129,16 +1439,16 @@ T3_TRACE0(TIDTB(sk),"do_peer_fin:"); #endif #ifdef notyet - if (!is_t3a(TOE_DEV(sk)) && sock_flag(sk, ABORT_RPL_PENDING)) + if (!is_t3a(TOE_DEV(sk)) && sock_flag(so, ABORT_RPL_PENDING)) goto out; if (ULP_MODE(tp) == ULP_MODE_TCPDDP) { - keep = handle_peer_close_data(sk, skb); + keep = handle_peer_close_data(so, skb); if (keep < 0) return; } sk->sk_shutdown |= RCV_SHUTDOWN; - sock_set_flag(sk, SOCK_DONE); + sock_set_flag(so, SOCK_DONE); #endif switch (tp->t_state) { case TCPS_SYN_RECEIVED: @@ -1177,9 +1487,9 @@ /* Do not send POLL_HUP for half duplex close. */ if ((sk->sk_shutdown & SEND_SHUTDOWN) || sk->sk_state == TCP_CLOSE) - sk_wake_async(sk, 1, POLL_HUP); + sk_wake_async(so, 1, POLL_HUP); else - sk_wake_async(sk, 1, POLL_IN); + sk_wake_async(so, 1, POLL_IN); #endif } #ifdef notyet @@ -1250,8 +1560,8 @@ #if 0 else if (tcp_sk(sk)->linger2 < 0 && - !sock_flag(sk, ABORT_SHUTDOWN)) - abort_conn(sk, skb, LINUX_MIB_TCPABORTONLINGER); + !sock_flag(so, ABORT_SHUTDOWN)) + abort_conn(so, skb, LINUX_MIB_TCPABORTONLINGER); #endif break; default: @@ -1351,6 +1661,9 @@ toep->tp_write_seq = tp->iss = tp->snd_max = tp->snd_nxt = tp->snd_una = snd_isn; assign_rxopt(so, opt); + toep->tp_ctloutput = so->so_proto->pr_ctloutput; + so->so_proto->pr_ctloutput = t3_ctloutput; + #if 0 inet_sk(sk)->id = tp->write_seq ^ jiffies; #endif @@ -1406,7 +1719,7 @@ */ if (unlikely(sk->sk_socket)) { // simultaneous opens only sk->sk_state_change(sk); - sk_wake_async(sk, 0, POLL_OUT); + sk_wake_async(so, 0, POLL_OUT); } /* * The state for the new connection is now up to date. @@ -1490,7 +1803,7 @@ toep->tp_delack_seq = toep->tp_rcv_wup = toep->tp_copied_seq = tp->irs; make_established(so, ntohl(req->snd_isn), ntohs(req->tcp_opt)); - + /* * Now that we finally have a TID send any CPL messages that we had to * defer for lack of a TID. @@ -1505,11 +1818,9 @@ * appears to correspond to sorwakeup_locked */ sk->sk_state_change(sk); - sk_wake_async(sk, 0, POLL_OUT); + sk_wake_async(so, 0, POLL_OUT); #endif } - printf("freeing %p\n", m); - m_free(m); #ifdef notyet /* @@ -1526,7 +1837,7 @@ * them on their way. */ fixup_pending_writeq_buffers(sk); - if (t3_push_frames(sk, 1)) + if (t3_push_frames(so, 1)) sk->sk_write_space(sk); #endif ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#6 (text+ko) ==== @@ -12,7 +12,6 @@ void t3_listen_start(struct toedev *dev, struct socket *so, struct t3cdev *cdev); void t3_listen_stop(struct toedev *dev, struct socket *so, struct t3cdev *cdev); int t3_push_frames(struct socket *so, int req_completion); -void t3_enable_ddp(struct socket *so, int on); int t3_connect(struct toedev *tdev, struct socket *so, struct ifnet *egress_ifp); void t3_init_listen_cpl_handlers(void); int t3_init_cpl_io(void); @@ -28,4 +27,11 @@ void toepcb_release(struct toepcb *); void toepcb_init(struct toepcb *); +void t3_set_rcv_coalesce_enable(struct socket *so, int on_off); +void t3_set_keepalive(struct socket *so, int on_off); +void t3_set_ddp_tag(struct socket *so, int buf_idx, unsigned int tag); +void t3_set_ddp_buf(struct socket *so, int buf_idx, unsigned int offset, + unsigned int len); +int t3_get_tcb(struct socket *so); + #endif ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#6 (text+ko) ==== @@ -1,6 +1,6 @@ #ifndef CXGB_TOM_H_ #define CXGB_TOM_H_ - +#include #define LISTEN_INFO_HASH_SIZE 32 @@ -99,8 +99,9 @@ struct toepcb { struct toedev *tp_toedev; + struct l2t_entry *tp_l2t; + pr_ctloutput_t *tp_ctloutput; int tp_tid; - struct l2t_entry *tp_l2t; int tp_wr_max; int tp_wr_avail; int tp_wr_unacked; From owner-p4-projects@FreeBSD.ORG Tue Nov 6 06:35:32 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B035416A419; Tue, 6 Nov 2007 06:35:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 45BC716A418 for ; Tue, 6 Nov 2007 06:35:32 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2987D13C480 for ; Tue, 6 Nov 2007 06:35:32 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA66ZWBA097595 for ; Tue, 6 Nov 2007 06:35:32 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA66ZVfv097592 for perforce@freebsd.org; Tue, 6 Nov 2007 06:35:31 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 6 Nov 2007 06:35:31 GMT Message-Id: <200711060635.lA66ZVfv097592@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 128729 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, 06 Nov 2007 06:35:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=128729 Change 128729 by kmacy@kmacy:storage:toestack on 2007/11/06 06:35:11 add enqueued_bytes field to toepcb to keep track of socket buf to update credits correctly Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#16 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#7 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/notes#3 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#16 (text+ko) ==== @@ -409,21 +409,29 @@ t3_cleanup_rbuf(struct tcpcb *tp) { struct toepcb *toep = tp->t_toe; + struct socket *so; struct toedev *dev; - int dack_mode, must_send; + int dack_mode, must_send, read; u32 thres, credits, dack = 0; if (!((tp->t_state == TCPS_ESTABLISHED) || (tp->t_state == TCPS_FIN_WAIT_1) || (tp->t_state == TCPS_FIN_WAIT_2))) return; - - printf("inaccurately calculating return credits - PLZ FIX\n"); + + so = tp->t_inpcb->inp_socket; + read = toep->tp_enqueued_bytes - so->so_rcv.sb_cc; + toep->tp_copied_seq += read; + toep->tp_enqueued_bytes -= read; + credits = toep->tp_copied_seq - toep->tp_rcv_wup; + printf("copied_seq=%u rcv_wup=%u credits=%u\n", + toep->tp_copied_seq, toep->tp_rcv_wup, credits); + /* * XXX this won't accurately reflect credit return - we need * to look at the difference between the amount that has been * put in the recv sockbuf and what is there now */ - credits = toep->tp_copied_seq - toep->tp_rcv_wup; + if (__predict_false(!credits)) return; @@ -1312,6 +1320,8 @@ if (err != EOPNOTSUPP) return (err); + printf("calling %p\n", toep->tp_ctloutput); + return toep->tp_ctloutput(so, sopt); } @@ -1325,7 +1335,7 @@ struct tcpcb *tp = sototcpcb(so); struct toepcb *toep = tp->t_toe; int len = be16toh(hdr->len); - + #ifdef notyet if (__predict_false(sk_no_receive(sk))) { handle_excess_rx(so, skb); @@ -1374,7 +1384,7 @@ tp->rcv_nxt += m->m_pkthdr.len; tp->t_rcvtime = ticks; - + toep->tp_enqueued_bytes += m->m_pkthdr.len; #ifdef T3_TRACE T3_TRACE2(TIDTB(sk), "new_rx_data: seq 0x%x len %u", @@ -1382,6 +1392,7 @@ #endif sbappend(&so->so_rcv, m); + if (__predict_true((so->so_state & SS_NOFDREF) == 0)) sorwakeup(so); } ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#7 (text+ko) ==== @@ -112,6 +112,7 @@ int tp_mss_clamp; int tp_qset; int tp_flags; + int tp_enqueued_bytes; tcp_seq tp_delack_seq; tcp_seq tp_rcv_wup; tcp_seq tp_copied_seq; ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/notes#3 (text+ko) ==== @@ -2,8 +2,8 @@ - abort Currently unimplemented: - - correct credit return accounting - complete listen handling + - close for a subset of states - correct ARP failure handling - urgent data @@ -11,5 +11,8 @@ - connection retry - fragment assembly and re-tunneling is not implemented, but may work just using the native stack - not clear how credit accounting will sync up - - extra setsockopt options for congestion control and nagel - DDP + +open questions: +What attributes are inherited from the listen socket. Should we be inheriting more? +Specifically, should TCP_CONGESTION, TCP_NAGLE, and IP_TOS be inherited? From owner-p4-projects@FreeBSD.ORG Tue Nov 6 13:18:52 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6060116A506; Tue, 6 Nov 2007 13:18:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E704C16A500 for ; Tue, 6 Nov 2007 13:18:51 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CED3013C494 for ; Tue, 6 Nov 2007 13:18:51 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6DIpQq076877 for ; Tue, 6 Nov 2007 13:18:51 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6DIpF3076874 for perforce@freebsd.org; Tue, 6 Nov 2007 13:18:51 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 6 Nov 2007 13:18:51 GMT Message-Id: <200711061318.lA6DIpF3076874@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 128735 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, 06 Nov 2007 13:18:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=128735 Change 128735 by gonzo@gonzo_jeeves on 2007/11/06 13:17:56 o mips_init is local to platform implementation. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/md_var.h#4 edit .. //depot/projects/mips2/src/sys/mips/mips32/adm5120/adm5120_machdep.c#3 edit .. //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#5 edit .. //depot/projects/mips2/src/sys/mips/mips32/sentry5/s5_machdep.c#4 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/md_var.h#4 (text+ko) ==== @@ -41,7 +41,6 @@ void cpu_identify(void); void mips_cpu_init(void); -void mips_init(void); /* Platform call-downs. */ void platform_identify(void); ==== //depot/projects/mips2/src/sys/mips/mips32/adm5120/adm5120_machdep.c#3 (text+ko) ==== @@ -72,7 +72,7 @@ extern int *edata; extern int *end; -void +static void mips_init(void) { int i; ==== //depot/projects/mips2/src/sys/mips/mips32/malta/malta_machdep.c#5 (text+ko) ==== ==== //depot/projects/mips2/src/sys/mips/mips32/sentry5/s5_machdep.c#4 (text+ko) ==== @@ -88,7 +88,7 @@ extern int *edata; extern int *end; -void +static void mips_init(void) { int i; From owner-p4-projects@FreeBSD.ORG Tue Nov 6 13:18:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 179A716A47C; Tue, 6 Nov 2007 13:18:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1913B16A503 for ; Tue, 6 Nov 2007 13:18:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 00D5513C4A3 for ; Tue, 6 Nov 2007 13:18:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6DIpHg076883 for ; Tue, 6 Nov 2007 13:18:51 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6DIpe6076880 for perforce@freebsd.org; Tue, 6 Nov 2007 13:18:51 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 6 Nov 2007 13:18:51 GMT Message-Id: <200711061318.lA6DIpe6076880@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 128736 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, 06 Nov 2007 13:18:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=128736 Change 128736 by gonzo@gonzo_jeeves on 2007/11/06 13:18:45 o Implement cpu_set_upcall Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#17 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#17 (text+ko) ==== @@ -171,10 +171,52 @@ return ((struct sf_buf *)m); } +/* + * Initialize machine state (pcb and trap frame) for a new thread about to + * upcall. Put enough state in the new thread's PCB to get it to go back + * userret(), where we can intercept it again to set the return (upcall) + * Address and stack, along with those from upcals that are from other sources + * such as those generated in thread_userret() itself. + */ void cpu_set_upcall(struct thread *td, struct thread *td0) { - panic("%s", __func__); + register_t sp; + + /* + * Preserve SP from beeing overwritten. + */ + sp = td->td_pcb->pcb_regs[PCB_REG_SP]; + + bcopy(td0->td_pcb, td->td_pcb, sizeof(struct pcb)); + bcopy(td0->td_frame, td->td_frame, sizeof *td->td_frame); + + /* + * Call fork_trampoline into fork_return via the pcb. + */ + td->td_pcb->pcb_regs[PCB_REG_RA] = (register_t)fork_trampoline; + td->td_pcb->pcb_regs[PCB_REG_S0] = (register_t)fork_return; + td->td_pcb->pcb_regs[PCB_REG_S1] = (register_t)td; + td->td_pcb->pcb_regs[PCB_REG_S2] = (register_t)td->td_frame; + /* + * Restore original stack. + */ + td->td_pcb->pcb_regs[PCB_REG_SP] = sp; + + /* + * DO NOT ENABLE ANY INTERRUPTS HERE: + * after cpu_throw we're supposed to be with td_lock locked + * and this means - no interrupts enabled. + */ + td->td_pcb->pcb_regs[PCB_REG_SR] = 0; + + /* + * Setup to release spin count in fork_exit(). By unlocking + * sched_lock we'll enable interrupts and unmask timer + * interrupt (HW IRQ5) + */ + td->td_md.md_spinlock_count = 1; + td->td_md.md_saved_sr = MIPS_SR_INT_IE | (((1 << 5) << 8) << 2); } void From owner-p4-projects@FreeBSD.ORG Tue Nov 6 14:02:43 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 57F3316A49C; Tue, 6 Nov 2007 14:02:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C565616A41B for ; Tue, 6 Nov 2007 14:02:42 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AC89513C4B9 for ; Tue, 6 Nov 2007 14:02:42 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6E2gmI079182 for ; Tue, 6 Nov 2007 14:02:42 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6E2gul079178 for perforce@freebsd.org; Tue, 6 Nov 2007 14:02:42 GMT (envelope-from gabor@freebsd.org) Date: Tue, 6 Nov 2007 14:02:42 GMT Message-Id: <200711061402.lA6E2gul079178@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 128740 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, 06 Nov 2007 14:02:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=128740 Change 128740 by gabor@gabor_server on 2007/11/06 14:02:28 IFC Affected files ... .. //depot/projects/docproj_hu/books/handbook/geom/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/books/handbook/install/chapter.sgml#2 integrate .. //depot/projects/docproj_hu/books/handbook/introduction/chapter.sgml#3 integrate .. //depot/projects/docproj_hu/books/handbook/mirrors/chapter.sgml#2 integrate .. //depot/projects/docproj_hu/books/handbook/security/chapter.sgml#3 integrate Differences ... ==== //depot/projects/docproj_hu/books/handbook/geom/chapter.sgml#3 (text+ko) ==== @@ -619,7 +619,6 @@ -
@@ -1147,7 +1147,7 @@ orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold -fd0: <1440-KB 3.5" drive> on fdc0 drive 0 +fd0: <1440-KB 3.5” drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 @@ -4093,7 +4093,7 @@ System Tools menu. &os; can support &ms-dos; based file systems (FAT16 and FAT32). - This requires you use the &man.mount.msdosfs.8; command + This requires you use the &man.mount.8; command with the required parameters. The utility most common usage is: &prompt.root; mount -t msdosfs /dev/ad0s1 /mnt @@ -4123,19 +4123,19 @@ My system hangs while probing hardware during boot, or it behaves strangely during install, or the floppy - drive isn't probed. + drive is not probed. &os; 5.0 and above makes extensive use of the system ACPI service on the i386, amd64 and ia64 platforms to - aid in system configuration if it's detected during + aid in system configuration if it is detected during boot. Unfortunately, some bugs still exist in both the ACPI driver and within system motherboards and BIOS. The use of ACPI can be disabled by setting the hint.acpi.0.disabled hint in the third stage boot loader: - set hint.acpi.0.disabled="1" + set hint.acpi.0.disabled="1" This is reset each time the system is booted, so it is necessary to @@ -4204,7 +4204,7 @@ To tell &os; that you want to boot from BIOS disk 2, which is the first SCSI disk in the system. If you only - had one IDE disk, you would use '1:' instead. + had one IDE disk, you would use 1: instead. Once you have determined the correct values to use, you can put the command exactly as you would have typed @@ -4219,17 +4219,17 @@ I go to boot from the hard disk for the first time after installing &os;, but the Boot Manager prompt just prints F? at the boot menu each time - but the boot won't go any further. + but the boot will not go any further. The hard disk geometry was set incorrectly in the - Partition editor when you installed &os;. Go back into + partition editor when you installed &os;. Go back into the partition editor and specify the actual geometry of your hard disk. You must reinstall &os; again from the beginning with the correct geometry. If you are failing entirely in figuring out the - correct geometry for your machine, here's a tip: Install + correct geometry for your machine, here is a tip: Install a small DOS partition at the beginning of the disk and install &os; after that. The install program will see the DOS partition and try to infer the correct geometry @@ -4240,10 +4240,10 @@
If you are setting up a truly dedicated &os; - server or workstation where you don't care for + server or workstation where you do not care for (future) compatibility with DOS, Linux or another - operating system, you've also got the option to use - the entire disk (`A' in the partition editor), + operating system, you also have got the option to use + the entire disk (A in the partition editor), selecting the non-standard option where &os; occupies the entire disk from the very first to the very last sector. This will leave all geometry considerations @@ -4262,7 +4262,7 @@ Your card is probably on a different IRQ from what is specified in the /boot/device.hints file. The - ed driver does not use the `soft' configuration by + &man.ed.4; driver does not use the soft configuration by default (values entered using EZSETUP in DOS), but it will use the software configuration if you specify -1 in the hints for the @@ -4271,7 +4271,7 @@ Either move the jumper on the card to a hard configuration setting (altering the kernel settings if necessary), or specify the IRQ as -1 - by setting the hint hint.ed.0.irq="-1" + by setting the hint hint.ed.0.irq="-1" This will tell the kernel to use the soft configuration. ==== //depot/projects/docproj_hu/books/handbook/introduction/chapter.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -50,7 +50,7 @@ Phone: +1 866 273-6255 Fax: +1 217 453-9956 Email: sales@bsdmall.com - WWW: + WWW: @@ -68,7 +68,7 @@ 3623 Sanford Street Concord, CA 94520-1405 USA - Phone: +1 925 674-0783 + Phone: +1 925 240-6652 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW: @@ -416,7 +416,7 @@ might be interested in. Again, none of these are valid for the Ports Collection since the Ports Collection does not have multiple - revisions. + branches of development. When you specify a branch tag, you normally receive the latest versions of the files on that line of development. If ==== //depot/projects/docproj_hu/books/handbook/security/chapter.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -4078,7 +4078,7 @@ Advantages of Using OpenSSH Normally, when using &man.telnet.1; or &man.rlogin.1;, - data is sent over the network in an clear, un-encrypted form. + data is sent over the network in a clear, un-encrypted form. Network sniffers anywhere in between the client and server can steal your user/password information or data transferred in your session. OpenSSH offers a variety of authentication and From owner-p4-projects@FreeBSD.ORG Tue Nov 6 14:08:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3BC716A419; Tue, 6 Nov 2007 14:08:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1C2E16A417 for ; Tue, 6 Nov 2007 14:08:49 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D9AC213C481 for ; Tue, 6 Nov 2007 14:08:49 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6E8nNo080669 for ; Tue, 6 Nov 2007 14:08:49 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6E8noY080666 for perforce@freebsd.org; Tue, 6 Nov 2007 14:08:49 GMT (envelope-from gabor@freebsd.org) Date: Tue, 6 Nov 2007 14:08:49 GMT Message-Id: <200711061408.lA6E8noY080666@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 128741 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, 06 Nov 2007 14:08:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=128741 Change 128741 by gabor@gabor_server on 2007/11/06 14:08:28 - Fix typo, fix build Affected files ... .. //depot/projects/docproj_hu/books/handbook/geom/chapter.sgml#4 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/geom/chapter.sgml#4 (text+ko) ==== @@ -632,7 +632,7 @@ A &os; 7.0-ás verziójának megjelenésével egy rég várt kiegészítés, a naplózó UFS végre elérhetõvé válik. Maga az implementáció a - GEOM alrendszeren keresztül érhetõ el, + GEOM alrendszeren keresztül érhetõ el, és a &man.gjournal.8; segédprogram segítségével könnyedén beállítható. @@ -657,7 +657,7 @@ Ellentétben a többi naplózó állományrendszertõl, a gjournal módszere blokk alapú és nem az állományrendszer részeként került implementálásra — csupán - a GEOM egyik bõvítménye. + a GEOM egyik bõvítménye. A gjournal támogatásához a &os; rendszermag konfigurációs állományában be kell állítani a From owner-p4-projects@FreeBSD.ORG Tue Nov 6 14:18:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 842D316A421; Tue, 6 Nov 2007 14:18:00 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27FA516A419 for ; Tue, 6 Nov 2007 14:18:00 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E9CC113C4B5 for ; Tue, 6 Nov 2007 14:17:59 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6EHxgJ081060 for ; Tue, 6 Nov 2007 14:17:59 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6EHxkA081057 for perforce@freebsd.org; Tue, 6 Nov 2007 14:17:59 GMT (envelope-from gabor@freebsd.org) Date: Tue, 6 Nov 2007 14:17:59 GMT Message-Id: <200711061417.lA6EHxkA081057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 128742 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, 06 Nov 2007 14:18:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=128742 Change 128742 by gabor@gabor_server on 2007/11/06 14:17:04 - Get rid of tidy Affected files ... .. //depot/projects/docproj_hu/books/handbook/Makefile#3 edit Differences ... ==== //depot/projects/docproj_hu/books/handbook/Makefile#3 (text+ko) ==== @@ -26,6 +26,12 @@ .PATH: ${.CURDIR}/../../share/sgml/glossary +# +# Tidy messes up iso-8859-2 characters +# + +NO_TIDY= yes + MAINTAINER= doc@FreeBSD.org DOC?= book From owner-p4-projects@FreeBSD.ORG Tue Nov 6 15:03:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80E6816A41B; Tue, 6 Nov 2007 15:03:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3767316A419 for ; Tue, 6 Nov 2007 15:03:48 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1E63C13C49D for ; Tue, 6 Nov 2007 15:03:48 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6F3mJp084696 for ; Tue, 6 Nov 2007 15:03:48 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6F3lbt084693 for perforce@freebsd.org; Tue, 6 Nov 2007 15:03:47 GMT (envelope-from swise@FreeBSD.org) Date: Tue, 6 Nov 2007 15:03:47 GMT Message-Id: <200711061503.lA6F3lbt084693@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 128743 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, 06 Nov 2007 15:03:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=128743 Change 128743 by swise@swise:vic10:iwarp on 2007/11/06 15:02:56 Get rdma_cma.c to compile. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/ib_cache.h#2 edit .. //depot/projects/iwarp/sys/contrib/rdma/rdma_cm.h#2 edit .. //depot/projects/iwarp/sys/contrib/rdma/rdma_cma.c#2 edit .. //depot/projects/iwarp/sys/modules/rdma/Makefile#2 edit .. //depot/projects/iwarp/sys/sys/linux_compat.h#3 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/ib_cache.h#2 (text+ko) ==== @@ -37,7 +37,7 @@ #ifndef _IB_CACHE_H #define _IB_CACHE_H -#include +#include /** * ib_get_cached_gid - Returns a cached GID table entry ==== //depot/projects/iwarp/sys/contrib/rdma/rdma_cm.h#2 (text+ko) ==== @@ -30,10 +30,10 @@ #if !defined(RDMA_CM_H) #define RDMA_CM_H -#include -#include -#include -#include +#include +#include +#include +#include /* * Upon receiving a device removal event, users must destroy the associated ==== //depot/projects/iwarp/sys/contrib/rdma/rdma_cma.c#2 (text+ko) ==== @@ -28,23 +28,32 @@ * and/or other materials provided with the distribution. * */ +#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include +#include +#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include MODULE_AUTHOR("Sean Hefty"); MODULE_DESCRIPTION("Generic RDMA CM Agent"); @@ -64,9 +73,9 @@ static struct ib_sa_client sa_client; static struct rdma_addr_client addr_client; -static LIST_HEAD(dev_list); -static LIST_HEAD(listen_any_list); -static DEFINE_MUTEX(lock); +static TAILQ_HEAD(, cma_device) dev_list; +static LIST_HEAD(, rdma_id_private) listen_any_list; +static struct mtx lock; static struct taskqueue *cma_wq; static DEFINE_IDR(sdp_ps); static DEFINE_IDR(tcp_ps); @@ -76,11 +85,12 @@ struct cma_device { struct ib_device *device; - struct completion comp; + struct mtx lock; + struct cv comp; atomic_t refcount; - TAILQ_HEAD(, rdma_id_private) id_list; - TAILQ_ENTRY(cma_device) entry; + LIST_HEAD(, rdma_id_private) id_list; + TAILQ_ENTRY(cma_device) list; }; enum cma_state { @@ -99,7 +109,7 @@ struct rdma_bind_list { struct idr *ps; - struct hlist_head owners; + TAILQ_HEAD(, rdma_id_private) owners; unsigned short port; }; @@ -113,16 +123,17 @@ struct rdma_cm_id id; struct rdma_bind_list *bind_list; - struct hlist_node node; - struct list_head list; - struct list_head listen_list; + TAILQ_ENTRY(rdma_id_private) node; + LIST_ENTRY(rdma_id_private) list; /* listen_any_list or cma_dev.list */ + LIST_HEAD(, rdma_id_private) listen_list; /* per-device listens */ + LIST_ENTRY(rdma_id_private) listen_entry; struct cma_device *cma_dev; #ifdef IB_SUPPORTED - struct list_head mc_list; + LIST_HEAD(, cma_multicast) mc_list; #endif enum cma_state state; struct mtx lock; - struct completion comp; + struct cv comp; atomic_t refcount; struct cv wait_remove; atomic_t dev_remove; @@ -142,6 +153,7 @@ u8 srq; }; +#ifdef IB_SUPPORTED struct cma_multicast { struct rdma_id_private *id_priv; union { @@ -153,9 +165,10 @@ u8 pad[sizeof(struct sockaddr_in6) - sizeof(struct sockaddr)]; }; +#endif struct cma_work { - struct work_struct work; + struct task task; struct rdma_id_private *id; enum cma_state old_state; enum cma_state new_state; @@ -267,22 +280,25 @@ atomic_inc(&cma_dev->refcount); id_priv->cma_dev = cma_dev; id_priv->id.device = cma_dev->device; - list_add_tail(&id_priv->list, &cma_dev->id_list); + LIST_INSERT_HEAD(&cma_dev->id_list, id_priv, list); } static inline void cma_deref_dev(struct cma_device *cma_dev) { + mtx_lock(&cma_dev->lock); if (atomic_dec_and_test(&cma_dev->refcount)) - complete(&cma_dev->comp); + cv_broadcast(&cma_dev->comp); + mtx_unlock(&cma_dev->lock); } static void cma_detach_from_dev(struct rdma_id_private *id_priv) { - list_del(&id_priv->list); + LIST_REMOVE(id_priv, list); cma_deref_dev(id_priv->cma_dev); id_priv->cma_dev = NULL; } +#ifdef IB_SUPPORTED static int cma_set_qkey(struct ib_device *device, u8 port_num, enum rdma_port_space ps, struct rdma_dev_addr *dev_addr, u32 *qkey) @@ -304,6 +320,7 @@ } return ret; } +#endif static int cma_acquire_dev(struct rdma_id_private *id_priv) { @@ -313,9 +330,11 @@ int ret = ENODEV; switch (rdma_node_get_transport(dev_addr->dev_type)) { +#ifdef IB_SUPPORTED case RDMA_TRANSPORT_IB: ib_addr_get_sgid(dev_addr, &gid); break; +#endif case RDMA_TRANSPORT_IWARP: iw_addr_get_sgid(dev_addr, &gid); break; @@ -323,15 +342,17 @@ return (ENODEV); } - list_for_each_entry(cma_dev, &dev_list, list) { + TAILQ_FOREACH(cma_dev, &dev_list, list) { ret = ib_find_cached_gid(cma_dev->device, &gid, &id_priv->id.port_num, NULL); if (!ret) { +#ifdef IB_SUPPORTED ret = cma_set_qkey(cma_dev->device, id_priv->id.port_num, id_priv->id.ps, dev_addr, &id_priv->qkey); if (!ret) +#endif cma_attach_to_dev(id_priv, cma_dev); break; } @@ -341,8 +362,10 @@ static void cma_deref_id(struct rdma_id_private *id_priv) { + mtx_lock(&id_priv->lock); if (atomic_dec_and_test(&id_priv->refcount)) - complete(&id_priv->comp); + cv_broadcast(&id_priv->comp); + mtx_unlock(&id_priv->lock); } static int cma_disable_remove(struct rdma_id_private *id_priv, @@ -362,8 +385,10 @@ static void cma_enable_remove(struct rdma_id_private *id_priv) { + mtx_lock(&id_priv->lock); if (atomic_dec_and_test(&id_priv->dev_remove)) - wake_up(&id_priv->wait_remove, &id_priv->lock); + cv_broadcast(&id_priv->wait_remove); + mtx_unlock(&id_priv->lock); } static int cma_has_cm_dev(struct rdma_id_private *id_priv) @@ -376,22 +401,22 @@ { struct rdma_id_private *id_priv; - id_priv = kzalloc(sizeof *id_priv, M_WAITOK); + id_priv = malloc(sizeof *id_priv, M_DEVBUF, M_WAITOK); if (!id_priv) return ERR_PTR(ENOMEM); + bzero(id_priv, sizeof *id_priv); id_priv->state = CMA_IDLE; id_priv->id.context = context; id_priv->id.event_handler = event_handler; id_priv->id.ps = ps; - mtx_init(&id_priv->lock, "rdma_id_priv", NULL, MTX_DUPOK|MTX_DEF); - init_completion(&id_priv->comp); + mtx_init(&id_priv->lock, "rdma_cm_id_priv", NULL, MTX_DUPOK|MTX_DEF); + cv_init(&id_priv->comp, "rdma_cm_id_priv"); atomic_set(&id_priv->refcount, 1); cv_init(&id_priv->wait_remove, "id priv wait remove"); atomic_set(&id_priv->dev_remove, 0); - TAILQ_INIT(&id_priv->listen_list); - TAILQ_INIT(&id_priv->mc_list); - get_random_bytes(&id_priv->seq_num, sizeof id_priv->seq_num); + LIST_INIT(&id_priv->listen_list); + arc4rand(&id_priv->seq_num, sizeof id_priv->seq_num, 0); return &id_priv->id; } @@ -450,7 +475,6 @@ qp = ib_create_qp(pd, qp_init_attr); if (IS_ERR(qp)) return PTR_ERR(qp); - if (cma_is_ud_ps(id_priv->id.ps)) ret = cma_init_ud_qp(id_priv, qp); else @@ -500,6 +524,7 @@ return ib_modify_qp(id->qp, &qp_attr, qp_attr_mask); } +#ifdef IB_SUPPORTED static int cma_modify_qp_rts(struct rdma_cm_id *id) { struct ib_qp_attr qp_attr; @@ -515,6 +540,7 @@ return ib_modify_qp(id->qp, &qp_attr, qp_attr_mask); } +#endif static int cma_modify_qp_err(struct rdma_cm_id *id) { @@ -591,7 +617,7 @@ struct in6_addr *ip6; if (addr->sa_family == AF_INET) - return ZERONET(((struct sockaddr_in *) addr)->sin_addr.s_addr); + return in_nullhost(((struct sockaddr_in *) addr)->sin_addr); else { ip6 = &((struct sockaddr_in6 *) addr)->sin6_addr; return (ip6->s6_addr32[0] | ip6->s6_addr32[1] | @@ -601,7 +627,7 @@ static inline int cma_loopback_addr(struct sockaddr *addr) { - return LOOPBACK(((struct sockaddr_in *) addr)->sin_addr.s_addr); + return ((struct sockaddr_in *)addr)->sin_addr.s_addr == INADDR_LOOPBACK; } static inline int cma_any_addr(struct sockaddr *addr) @@ -622,6 +648,7 @@ return !cma_port(addr); } +#ifdef IB_SUPPORT static int cma_get_net_info(void *hdr, enum rdma_port_space ps, u8 *ip_ver, __u16 *port, union cma_ip_addr **src, union cma_ip_addr **dst) @@ -690,6 +717,7 @@ break; } } +#endif static inline int cma_user_data_offset(enum rdma_port_space ps) { @@ -738,12 +766,13 @@ } cma_detach_from_dev(id_priv); } - list_del(&id_priv->listen_list); + LIST_REMOVE(id_priv, listen_entry); cma_deref_id(id_priv); - wait_for_completion(&id_priv->comp); + mtx_lock(&id_priv->lock); + cv_wait(&id_priv->comp, &id_priv->lock); - kfree(id_priv); + free(id_priv, M_DEVBUF); } static void cma_cancel_listens(struct rdma_id_private *id_priv) @@ -751,11 +780,10 @@ struct rdma_id_private *dev_id_priv; mtx_lock(&lock); - list_del(&id_priv->list); + LIST_REMOVE(id_priv, list); - while (!list_empty(&id_priv->listen_list)) { - dev_id_priv = list_entry(id_priv->listen_list.next, - struct rdma_id_private, listen_list); + while (!LIST_EMPTY(&id_priv->listen_list)) { + dev_id_priv = LIST_FIRST(&id_priv->listen_list); cma_destroy_listen(dev_id_priv); } mtx_unlock(&lock); @@ -789,26 +817,27 @@ return; mtx_lock(&lock); - hlist_del(&id_priv->node); - if (hlist_empty(&bind_list->owners)) { + TAILQ_REMOVE(&bind_list->owners, id_priv, node); + if (TAILQ_EMPTY(&bind_list->owners)) { idr_remove(bind_list->ps, bind_list->port); - kfree(bind_list); + free(bind_list, M_DEVBUF); } mtx_unlock(&lock); } +#ifdef IB_SUPPORTED static void cma_leave_mc_groups(struct rdma_id_private *id_priv) { struct cma_multicast *mc; - while (!list_empty(&id_priv->mc_list)) { - mc = container_of(id_priv->mc_list.next, - struct cma_multicast, list); - list_del(&mc->list); + while (!LIST_EMPTY(&id_priv->mc_list)) { + mc = LIST_FIRST(&id_priv->mc_list); + LIST_REMOVE(mc, list); ib_sa_free_multicast(mc->multicast.ib); - kfree(mc); + free(mc, M_DEVBUF); } } +#endif void rdma_destroy_id(struct rdma_cm_id *id) { @@ -822,19 +851,23 @@ mtx_lock(&lock); if (id_priv->cma_dev) { mtx_unlock(&lock); +#ifdef IB_SUPPORTED switch (rdma_node_get_transport(id->device->node_type)) { case RDMA_TRANSPORT_IB: if (id_priv->cm_id.ib && !IS_ERR(id_priv->cm_id.ib)) ib_destroy_cm_id(id_priv->cm_id.ib); break; case RDMA_TRANSPORT_IWARP: +#endif if (id_priv->cm_id.iw && !IS_ERR(id_priv->cm_id.iw)) iw_destroy_cm_id(id_priv->cm_id.iw); +#ifdef IB_SUPPORTED break; default: break; } cma_leave_mc_groups(id_priv); +#endif mtx_lock(&lock); cma_detach_from_dev(id_priv); } @@ -842,13 +875,15 @@ cma_release_port(id_priv); cma_deref_id(id_priv); - wait_for_completion(&id_priv->comp); + mtx_lock(&id_priv->lock); + cv_wait(&id_priv->comp, &id_priv->lock); - kfree(id_priv->id.route.path_rec); - kfree(id_priv); + free(id_priv->id.route.path_rec, M_DEVBUF); + free(id_priv, M_DEVBUF); } EXPORT_SYMBOL(rdma_destroy_id); +#ifdef IB_SUPPORT static int cma_rep_recv(struct rdma_id_private *id_priv) { int ret; @@ -993,8 +1028,8 @@ rt = &id->route; rt->num_paths = ib_event->param.req_rcvd.alternate_path ? 2 : 1; - rt->path_rec = kmalloc(sizeof *rt->path_rec * rt->num_paths, - M_WAITOK); + rt->path_rec = malloc(sizeof *rt->path_rec * rt->num_paths, + M_DEVBUF, M_WAITOK); if (!rt->path_rec) goto destroy_id; @@ -1178,6 +1213,7 @@ break; } } +#endif /* IB_SUPPORTED */ static int cma_iw_handler(struct iw_cm_id *iw_id, struct iw_cm_event *iw_event) { @@ -1246,9 +1282,10 @@ struct rdma_cm_id *new_cm_id; struct rdma_id_private *listen_id, *conn_id; struct sockaddr_in *sin; - struct net_device *dev = NULL; + struct ifnet *dev; struct rdma_cm_event event; int ret; + struct ifaddr *ifa; listen_id = cm_id->context; if (cma_disable_remove(listen_id, CMA_LISTEN)) @@ -1266,13 +1303,14 @@ atomic_inc(&conn_id->dev_remove); conn_id->state = CMA_CONNECT; - dev = ip_dev_find(iw_event->local_addr.sin_addr.s_addr); - if (!dev) { + ifa = ifa_ifwithaddr((struct sockaddr *)&iw_event->local_addr); + if (!ifa) { ret = EADDRNOTAVAIL; cma_enable_remove(conn_id); rdma_destroy_id(new_cm_id); goto out; } + dev = ifa->ifa_ifp; ret = rdma_copy_addr(&conn_id->id.route.addr.dev_addr, dev, NULL); if (ret) { cma_enable_remove(conn_id); @@ -1312,12 +1350,11 @@ } out: - if (dev) - dev_put(dev); cma_enable_remove(listen_id); return ret; } +#ifdef IB_SUPPORTED static int cma_ib_listen(struct rdma_id_private *id_priv) { struct ib_cm_compare_data compare_data; @@ -1346,6 +1383,7 @@ return ret; } +#endif static int cma_iw_listen(struct rdma_id_private *id_priv, int backlog) { @@ -1399,7 +1437,7 @@ ip_addr_size(&id_priv->id.route.addr.src_addr)); cma_attach_to_dev(dev_id_priv, cma_dev); - list_add_tail(&dev_id_priv->listen_list, &id_priv->listen_list); + LIST_INSERT_HEAD(&id_priv->listen_list, dev_id_priv, listen_entry); ret = rdma_listen(id, id_priv->backlog); if (ret) @@ -1415,8 +1453,8 @@ struct cma_device *cma_dev; mtx_lock(&lock); - list_add_tail(&id_priv->list, &listen_any_list); - list_for_each_entry(cma_dev, &dev_list, list) + LIST_INSERT_HEAD(&listen_any_list, id_priv, list); + TAILQ_FOREACH(cma_dev, &dev_list, list) cma_listen_on_dev(id_priv, cma_dev); mtx_unlock(&lock); } @@ -1447,6 +1485,7 @@ id_priv->backlog = backlog; if (id->device) { +#ifdef IB_SUPPORTED switch (rdma_node_get_transport(id->device->node_type)) { case RDMA_TRANSPORT_IB: ret = cma_ib_listen(id_priv); @@ -1454,14 +1493,17 @@ goto err; break; case RDMA_TRANSPORT_IWARP: +#endif ret = cma_iw_listen(id_priv, backlog); if (ret) goto err; +#ifdef IB_SUPPORTED break; default: ret = ENOSYS; goto err; } +#endif } else cma_listen_on_all(id_priv); @@ -1473,6 +1515,7 @@ } EXPORT_SYMBOL(rdma_listen); +#ifdef IB_SUPPORTED static void cma_query_handler(int status, struct ib_sa_path_rec *path_rec, void *context) { @@ -1491,7 +1534,7 @@ work->event.status = status; } - queue_work(cma_wq, &work->work); + taskqueue_enqueue(cma_wq, &work->task); } static int cma_query_ib_route(struct rdma_id_private *id_priv, int timeout_ms, @@ -1517,10 +1560,11 @@ return (id_priv->query_id < 0) ? id_priv->query_id : 0; } +#endif -static void cma_work_handler(struct work_struct *_work) +static void cma_work_handler(void *context, int pending) { - struct cma_work *work = container_of(_work, struct cma_work, work); + struct cma_work *work = context; struct rdma_id_private *id_priv = work->id; int destroy = 0; @@ -1537,26 +1581,28 @@ cma_deref_id(id_priv); if (destroy) rdma_destroy_id(&id_priv->id); - kfree(work); + free(work, M_DEVBUF); } +#ifdef IB_SUPPORTED static int cma_resolve_ib_route(struct rdma_id_private *id_priv, int timeout_ms) { struct rdma_route *route = &id_priv->id.route; struct cma_work *work; int ret; - work = kzalloc(sizeof *work, M_WAITOK); + work = malloc(sizeof *work, M_DEVBUF, M_WAITOK); if (!work) return (ENOMEM); + bzero(work, sizeof *work); work->id = id_priv; - INIT_WORK(&work->work, cma_work_handler); + TASK_INIT(&work->task, 0, cma_work_handler, work); work->old_state = CMA_ROUTE_QUERY; work->new_state = CMA_ROUTE_RESOLVED; work->event.event = RDMA_CM_EVENT_ROUTE_RESOLVED; - route->path_rec = kmalloc(sizeof *route->path_rec, M_WAITOK); + route->path_rec = malloc(sizeof *route->path_rec, M_DEVBUF, M_WAITOK); if (!route->path_rec) { ret = ENOMEM; goto err1; @@ -1568,10 +1614,10 @@ return 0; err2: - kfree(route->path_rec); + free(route->path_rec, M_DEVBUF); route->path_rec = NULL; err1: - kfree(work); + free(work, M_DEVBUF); return ret; } @@ -1585,7 +1631,7 @@ if (!cma_comp_exch(id_priv, CMA_ADDR_RESOLVED, CMA_ROUTE_RESOLVED)) return (EINVAL); - id->route.path_rec = kmalloc(sizeof *path_rec * num_paths, M_WAITOK); + id->route.path_rec = malloc(sizeof *path_rec * num_paths, M_DEVBUF, M_WAITOK); if (!id->route.path_rec) { ret = ENOMEM; goto err; @@ -1598,21 +1644,23 @@ return ret; } EXPORT_SYMBOL(rdma_set_ib_paths); +#endif static int cma_resolve_iw_route(struct rdma_id_private *id_priv, int timeout_ms) { struct cma_work *work; - work = kzalloc(sizeof *work, M_WAITOK); + work = malloc(sizeof *work, M_DEVBUF, M_WAITOK); if (!work) return (ENOMEM); + bzero(work, sizeof *work); work->id = id_priv; - INIT_WORK(&work->work, cma_work_handler); + TASK_INIT(&work->task, 0, cma_work_handler, work); work->old_state = CMA_ROUTE_QUERY; work->new_state = CMA_ROUTE_RESOLVED; work->event.event = RDMA_CM_EVENT_ROUTE_RESOLVED; - queue_work(cma_wq, &work->work); + taskqueue_enqueue(cma_wq, &work->task); return 0; } @@ -1626,17 +1674,21 @@ return (EINVAL); atomic_inc(&id_priv->refcount); +#ifdef IB_SUPPORTED switch (rdma_node_get_transport(id->device->node_type)) { case RDMA_TRANSPORT_IB: ret = cma_resolve_ib_route(id_priv, timeout_ms); break; case RDMA_TRANSPORT_IWARP: +#endif ret = cma_resolve_iw_route(id_priv, timeout_ms); +#ifdef IB_SUPPORTED break; default: ret = ENOSYS; break; } +#endif if (ret) goto err; @@ -1658,18 +1710,18 @@ u8 p; mtx_lock(&lock); - if (list_empty(&dev_list)) { + if (TAILQ_EMPTY(&dev_list)) { ret = ENODEV; goto out; } - list_for_each_entry(cma_dev, &dev_list, list) + TAILQ_FOREACH(cma_dev, &dev_list, list) for (p = 1; p <= cma_dev->device->phys_port_cnt; ++p) if (!ib_query_port(cma_dev->device, p, &port_attr) && port_attr.state == IB_PORT_ACTIVE) goto port_found; p = 1; - cma_dev = list_entry(dev_list.next, struct cma_device, list); + cma_dev = TAILQ_FIRST(&dev_list); port_found: ret = ib_get_cached_gid(cma_dev->device, p, 0, &gid); @@ -1742,9 +1794,10 @@ union ib_gid gid; int ret; - work = kzalloc(sizeof *work, M_WAITOK); + work = malloc(sizeof *work, M_DEVBUF, M_WAITOK); if (!work) return (ENOMEM); + bzero(work, sizeof *work); if (!id_priv->cma_dev) { ret = cma_bind_loopback(id_priv); @@ -1763,14 +1816,14 @@ } work->id = id_priv; - INIT_WORK(&work->work, cma_work_handler); + TASK_INIT(&work->task, 0, cma_work_handler, work); work->old_state = CMA_ADDR_QUERY; work->new_state = CMA_ADDR_RESOLVED; work->event.event = RDMA_CM_EVENT_ADDR_RESOLVED; - queue_work(cma_wq, &work->work); + taskqueue_enqueue(cma_wq, &work->task); return 0; err: - kfree(work); + free(work, M_DEVBUF); return ret; } @@ -1826,7 +1879,7 @@ sin = (struct sockaddr_in *) &id_priv->id.route.addr.src_addr; sin->sin_port = htons(bind_list->port); id_priv->bind_list = bind_list; - hlist_add_head(&id_priv->node, &bind_list->owners); + TAILQ_INSERT_HEAD(&bind_list->owners, id_priv, node); } static int cma_alloc_port(struct idr *ps, struct rdma_id_private *id_priv, @@ -1835,9 +1888,10 @@ struct rdma_bind_list *bind_list; int port, ret; - bind_list = kzalloc(sizeof *bind_list, M_WAITOK); + bind_list = malloc(sizeof *bind_list, M_DEVBUF, M_WAITOK); if (!bind_list) return (ENOMEM); + bzero(bind_list, sizeof *bind_list); do { ret = idr_get_new_above(ps, bind_list, snum, &port); @@ -1858,7 +1912,7 @@ err2: idr_remove(ps, port); err1: - kfree(bind_list); + free(bind_list, M_DEVBUF); return ret; } @@ -1867,9 +1921,10 @@ struct rdma_bind_list *bind_list; int port, ret; - bind_list = kzalloc(sizeof *bind_list, M_WAITOK); + bind_list = malloc(sizeof *bind_list, M_DEVBUF, M_WAITOK); if (!bind_list) return (ENOMEM); + bzero(bind_list, sizeof *bind_list); retry: do { @@ -1879,18 +1934,18 @@ if (ret) goto err1; - if (port > sysctl_local_port_range[1]) { - if (next_port != sysctl_local_port_range[0]) { + if (port > ipport_lastauto) { + if (next_port != ipport_firstauto) { idr_remove(ps, port); - next_port = sysctl_local_port_range[0]; + next_port = ipport_firstauto; goto retry; } ret = EADDRNOTAVAIL; goto err2; } - if (port == sysctl_local_port_range[1]) - next_port = sysctl_local_port_range[0]; + if (port == ipport_lastauto) + next_port = ipport_firstauto; else next_port = port + 1; @@ -1901,7 +1956,7 @@ err2: idr_remove(ps, port); err1: - kfree(bind_list); + free(bind_list, M_DEVBUF); return ret; } @@ -1910,12 +1965,12 @@ struct rdma_id_private *cur_id; struct sockaddr_in *sin, *cur_sin; struct rdma_bind_list *bind_list; - struct hlist_node *node; unsigned short snum; sin = (struct sockaddr_in *) &id_priv->id.route.addr.src_addr; snum = ntohs(sin->sin_port); - if (snum < PROT_SOCK && !capable(CAP_NET_BIND_SERVICE)) + if (snum <= ipport_reservedhigh && snum >= ipport_reservedlow && + priv_check(curthread, PRIV_NETINET_RESERVEDPORT)) return (EACCES); bind_list = idr_find(ps, snum); @@ -1929,7 +1984,7 @@ if (cma_any_addr(&id_priv->id.route.addr.src_addr)) return (EADDRNOTAVAIL); - hlist_for_each_entry(cur_id, node, &bind_list->owners, node) { + TAILQ_FOREACH(cur_id, &bind_list->owners, node) { if (cma_any_addr(&cur_id->id.route.addr.src_addr)) return (EADDRNOTAVAIL); @@ -2016,6 +2071,7 @@ } EXPORT_SYMBOL(rdma_bind_addr); +#ifdef IB_SUPPORTED static int cma_format_hdr(void *hdr, enum rdma_port_space ps, struct rdma_route *route) { @@ -2115,12 +2171,13 @@ req.private_data_len = sizeof(struct cma_hdr) + conn_param->private_data_len; - req.private_data = kzalloc(req.private_data_len, M_NOWAIT); + req.private_data = malloc(req.private_data_len, M_DEVBUF, M_NOWAIT); if (!req.private_data) return (ENOMEM); + bzero((void *)req.private_data, req.private_data_len); if (conn_param->private_data && conn_param->private_data_len) - memcpy((void *) req.private_data + sizeof(struct cma_hdr), + memcpy((caddr_t) req.private_data + sizeof(struct cma_hdr), conn_param->private_data, conn_param->private_data_len); route = &id_priv->id.route; @@ -2147,7 +2204,7 @@ id_priv->cm_id.ib = NULL; } out: - kfree(req.private_data); + free(req.private_data, M_DEVBUF); return ret; } @@ -2162,9 +2219,10 @@ memset(&req, 0, sizeof req); offset = cma_user_data_offset(id_priv->id.ps); req.private_data_len = offset + conn_param->private_data_len; - private_data = kzalloc(req.private_data_len, M_NOWAIT); + private_data = malloc(req.private_data_len, M_DEVBUF, M_NOWAIT); if (!private_data) return (ENOMEM); + bzero(private_data, req.private_data_len); if (conn_param->private_data && conn_param->private_data_len) memcpy(private_data + offset, conn_param->private_data, @@ -2209,9 +2267,10 @@ id_priv->cm_id.ib = NULL; } - kfree(private_data); + free(private_data, M_DEVBUF); return ret; } +#endif static int cma_connect_iw(struct rdma_id_private *id_priv, struct rdma_conn_param *conn_param) @@ -2270,6 +2329,7 @@ id_priv->srq = conn_param->srq; } +#ifdef IB_SUPPORT switch (rdma_node_get_transport(id->device->node_type)) { case RDMA_TRANSPORT_IB: if (cma_is_ud_ps(id->ps)) @@ -2278,12 +2338,15 @@ ret = cma_connect_ib(id_priv, conn_param); break; case RDMA_TRANSPORT_IWARP: +#endif ret = cma_connect_iw(id_priv, conn_param); +#ifdef IB_SUPPORT break; default: ret = ENOSYS; break; } +#endif if (ret) goto err; @@ -2294,6 +2357,7 @@ } EXPORT_SYMBOL(rdma_connect); +#ifdef IB_SUPPORTED static int cma_accept_ib(struct rdma_id_private *id_priv, struct rdma_conn_param *conn_param) { @@ -2335,6 +2399,7 @@ out: return ret; } +#endif static int cma_accept_iw(struct rdma_id_private *id_priv, struct rdma_conn_param *conn_param) @@ -2358,6 +2423,7 @@ return iw_cm_accept(id_priv->cm_id.iw, &iw_param); } +#ifdef IB_SUPPORTED static int cma_send_sidr_rep(struct rdma_id_private *id_priv, enum ib_cm_sidr_status status, const void *private_data, int private_data_len) @@ -2375,6 +2441,7 @@ return ib_send_cm_sidr_rep(id_priv->cm_id.ib, &rep); } +#endif int rdma_accept(struct rdma_cm_id *id, struct rdma_conn_param *conn_param) { @@ -2390,6 +2457,7 @@ id_priv->srq = conn_param->srq; } +#ifdef IB_SUPPORTED switch (rdma_node_get_transport(id->device->node_type)) { case RDMA_TRANSPORT_IB: if (cma_is_ud_ps(id->ps)) @@ -2402,12 +2470,15 @@ ret = cma_rep_recv(id_priv); break; case RDMA_TRANSPORT_IWARP: +#endif ret = cma_accept_iw(id_priv, conn_param); +#ifdef IB_SUPPORTED break; default: ret = ENOSYS; break; } +#endif >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Nov 6 15:08:54 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF7BC16A475; Tue, 6 Nov 2007 15:08:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 409E716A474 for ; Tue, 6 Nov 2007 15:08:54 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 290AD13C4B3 for ; Tue, 6 Nov 2007 15:08:54 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6F8slU084904 for ; Tue, 6 Nov 2007 15:08:54 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6F8sY2084901 for perforce@freebsd.org; Tue, 6 Nov 2007 15:08:54 GMT (envelope-from swise@FreeBSD.org) Date: Tue, 6 Nov 2007 15:08:54 GMT Message-Id: <200711061508.lA6F8sY2084901@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 128744 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, 06 Nov 2007 15:08:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=128744 Change 128744 by swise@swise:vic10:iwarp on 2007/11/06 15:07:56 Fixed incorrect ifdef names. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/rdma_cma.c#3 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/rdma_cma.c#3 (text+ko) ==== @@ -648,7 +648,7 @@ return !cma_port(addr); } -#ifdef IB_SUPPORT +#ifdef IB_SUPPORTED static int cma_get_net_info(void *hdr, enum rdma_port_space ps, u8 *ip_ver, __u16 *port, union cma_ip_addr **src, union cma_ip_addr **dst) @@ -883,7 +883,7 @@ } EXPORT_SYMBOL(rdma_destroy_id); -#ifdef IB_SUPPORT +#ifdef IB_SUPPORTED static int cma_rep_recv(struct rdma_id_private *id_priv) { int ret; @@ -2329,7 +2329,7 @@ id_priv->srq = conn_param->srq; } -#ifdef IB_SUPPORT +#ifdef IB_SUPPORTED switch (rdma_node_get_transport(id->device->node_type)) { case RDMA_TRANSPORT_IB: if (cma_is_ud_ps(id->ps)) @@ -2340,7 +2340,7 @@ case RDMA_TRANSPORT_IWARP: #endif ret = cma_connect_iw(id_priv, conn_param); -#ifdef IB_SUPPORT +#ifdef IB_SUPPORTED break; default: ret = ENOSYS; From owner-p4-projects@FreeBSD.ORG Tue Nov 6 16:42:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C374116A469; Tue, 6 Nov 2007 16:42:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B4CC16A421 for ; Tue, 6 Nov 2007 16:42:36 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5656213C4BC for ; Tue, 6 Nov 2007 16:42:36 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6Gganw092159 for ; Tue, 6 Nov 2007 16:42:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6GgaHf092156 for perforce@freebsd.org; Tue, 6 Nov 2007 16:42:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 6 Nov 2007 16:42:36 GMT Message-Id: <200711061642.lA6GgaHf092156@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128745 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, 06 Nov 2007 16:42:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=128745 Change 128745 by rwatson@rwatson_fledge on 2007/11/06 16:42:16 Update two comments. Affected files ... .. //depot/projects/zcopybpf/src/sys/net/bpf_zerocopy.c#21 edit Differences ... ==== //depot/projects/zcopybpf/src/sys/net/bpf_zerocopy.c#21 (text+ko) ==== @@ -74,7 +74,8 @@ * sf_bufs. Even though the memory is contiguous in user space, it may not * be mapped contiguously in the kernel (i.e., a set of physically * non-contiguous pages in the direct map region) so we must implement - * scatter-gather copying. + * scatter-gather copying. One significant mitigating factor is that on + * systems with a direct memory map, we can avoid TLB misses. * * At the front of the shared memor region is a bpf_zbuf_header, which * contains shared control data to allow user space and the kernel to @@ -402,9 +403,8 @@ } /* - * For now, allow bpfread() to rotate the buffers, but don't perform a copy - * operation or return a value. If we want to copy, we'll need to implement - * scatter-gather copying with a series of uiomove calls here. + * read() is unimplemented for zero-copy BPF buffers, even though in + * principle you could combine the two semantics. */ int bpf_zerocopy_uiomove(struct bpf_d *d, caddr_t buf, u_int len, From owner-p4-projects@FreeBSD.ORG Tue Nov 6 21:18:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4477216A419; Tue, 6 Nov 2007 21:18:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC77816A417 for ; Tue, 6 Nov 2007 21:18:34 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DF1A813C4A3 for ; Tue, 6 Nov 2007 21:18:34 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA6LIY7u029237 for ; Tue, 6 Nov 2007 21:18:34 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA6LIYee029234 for perforce@freebsd.org; Tue, 6 Nov 2007 21:18:34 GMT (envelope-from piso@freebsd.org) Date: Tue, 6 Nov 2007 21:18:34 GMT Message-Id: <200711062118.lA6LIYee029234@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 128750 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, 06 Nov 2007 21:18:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=128750 Change 128750 by piso@piso_newluxor on 2007/11/06 21:17:58 Libalias now modifies the input mbuf, thus we have to put it back into netgraph's item. Affected files ... .. //depot/projects/soc2005/libalias/sys/netgraph/ng_nat.c#12 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netgraph/ng_nat.c#12 (text+ko) ==== @@ -284,12 +284,14 @@ rval = LibAliasIn(priv->lib, &m, 0); if (rval != PKT_ALIAS_OK && rval != PKT_ALIAS_FOUND_HEADER_FRAGMENT) { + NGI_M(item) = m; NG_FREE_ITEM(item); return (EINVAL); } } else if (hook == priv->out) { rval = LibAliasOut(priv->lib, &m, 0); if (rval != PKT_ALIAS_OK) { + NGI_M(item) = m; NG_FREE_ITEM(item); return (EINVAL); } @@ -355,7 +357,7 @@ ip->ip_len = htons(ip->ip_len); } } - + NGI_M(item) = m; send: if (hook == priv->in) NG_FWD_ITEM_HOOK(error, item, priv->out); From owner-p4-projects@FreeBSD.ORG Wed Nov 7 03:42:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5B17B16A420; Wed, 7 Nov 2007 03:42:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8EEAF16A419 for ; Wed, 7 Nov 2007 03:42:21 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7E93B13C4A8 for ; Wed, 7 Nov 2007 03:42:21 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA73gLKE075503 for ; Wed, 7 Nov 2007 03:42:21 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA73gLPB075500 for perforce@freebsd.org; Wed, 7 Nov 2007 03:42:21 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 7 Nov 2007 03:42:21 GMT Message-Id: <200711070342.lA73gLPB075500@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 128759 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, 07 Nov 2007 03:42:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=128759 Change 128759 by kmacy@kmacy:storage:toestack on 2007/11/07 03:41:39 add more disconnect related flags add routine for allocating mbufs from cache where failure can't be handled Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#7 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#8 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#7 (text+ko) ==== @@ -8,6 +8,8 @@ #define toeptoso(toep) ((toep)->tp_tp->t_inpcb->inp_socket) #define sototoep(so) (sototcpcb((so))->t_toe) +typedef void (*defer_handler_t)(struct toedev *dev, struct mbuf *m); + void t3tom_register_cpl_handler(unsigned int opcode, cxgb_cpl_handler_func h); void t3_listen_start(struct toedev *dev, struct socket *so, struct t3cdev *cdev); void t3_listen_stop(struct toedev *dev, struct socket *so, struct t3cdev *cdev); @@ -22,6 +24,7 @@ void t3_disconnect_acceptq(struct socket *listen_so); void t3_reset_synq(struct socket *listen_so); +void t3_defer_reply(struct mbuf *m, struct toedev *dev, defer_handler_t handler); void toepcb_hold(struct toepcb *); void toepcb_release(struct toepcb *); ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#8 (text+ko) ==== @@ -79,6 +79,9 @@ struct mtx ppod_map_lock; struct adap_ports *ports; + + + struct taskqueue *tq; }; @@ -91,11 +94,15 @@ #define T3C_DEV(sk) ((TOM_DATA(TOE_DEV(sk)))->cdev) #define TOM_TUNABLE(dev, param) (TOM_DATA(dev)->conf.param) -#define TP_DATASENT (1 << 0) -#define TP_TX_WAIT_IDLE (1 << 1) -#define TP_FIN_SENT (1 << 2) -#define TP_ABORT_RPL_PENDING (1 << 3) -#define TP_ABORT_SHUTDOWN (1 << 4) +#define TP_DATASENT (1 << 0) +#define TP_TX_WAIT_IDLE (1 << 1) +#define TP_FIN_SENT (1 << 2) +#define TP_ABORT_RPL_PENDING (1 << 3) +#define TP_ABORT_SHUTDOWN (1 << 4) +#define TP_ABORT_RPL_RCVD (1 << 5) +#define TP_ABORT_REQ_RCVD (1 << 6) +#define TP_CLOSE_CON_REQUESTED (1 << 7) + struct toepcb { struct toedev *tp_toedev; @@ -167,5 +174,20 @@ void t3_init_tunables(struct tom_data *t); +static __inline struct mbuf * +m_gethdr_nofail(int len) +{ + struct mbuf *m; + + m = m_gethdr(M_NOWAIT, MT_DATA); + if (m == NULL) { + panic("implement lowmem cache\n"); + } + + KASSERT(len < MHLEN, ("requested header size too large for mbuf")); + m->m_pkthdr.len = m->m_len = len; + return (m); +} + #endif From owner-p4-projects@FreeBSD.ORG Wed Nov 7 03:43:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 32F7F16A420; Wed, 7 Nov 2007 03:43:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC4A616A41A for ; Wed, 7 Nov 2007 03:43:22 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DC18D13C4A5 for ; Wed, 7 Nov 2007 03:43:22 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA73hMNW075529 for ; Wed, 7 Nov 2007 03:43:22 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA73hMGX075526 for perforce@freebsd.org; Wed, 7 Nov 2007 03:43:22 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 7 Nov 2007 03:43:22 GMT Message-Id: <200711070343.lA73hMGX075526@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 128760 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, 07 Nov 2007 03:43:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=128760 Change 128760 by kmacy@kmacy:storage:toestack on 2007/11/07 03:42:46 add routine for deferring reply handling Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#8 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#8 (text+ko) ==== @@ -45,6 +45,7 @@ #include #include #include +#include #include #include @@ -113,6 +114,24 @@ .redirect = NULL }; + +/* + * Add an skb to the deferred skb queue for processing from process context. + */ +void +t3_defer_reply(struct mbuf *m, struct toedev *dev, defer_handler_t handler) +{ + struct tom_data *td = TOM_DATA(dev); + + m_set_handler(m, handler); + mtx_lock(&td->deferq.lock); + + mbufq_tail(&td->deferq, m); + if (mbufq_len(&td->deferq) == 1) + taskqueue_enqueue(td->tq, &td->deferq_task); + mtx_lock(&td->deferq.lock); +} + void toepcb_init(struct toepcb *toep) { From owner-p4-projects@FreeBSD.ORG Wed Nov 7 03:45:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 221B116A41B; Wed, 7 Nov 2007 03:45:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9303C16A417 for ; Wed, 7 Nov 2007 03:45:26 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8168D13C48D for ; Wed, 7 Nov 2007 03:45:26 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA73jQK2075614 for ; Wed, 7 Nov 2007 03:45:26 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA73jQln075611 for perforce@freebsd.org; Wed, 7 Nov 2007 03:45:26 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 7 Nov 2007 03:45:26 GMT Message-Id: <200711070345.lA73jQln075611@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 128761 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, 07 Nov 2007 03:45:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=128761 Change 128761 by kmacy@kmacy:storage:toestack on 2007/11/07 03:44:24 import connection accept handling - partially port except for synq handling Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#17 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#17 (text+ko) ==== @@ -138,6 +138,12 @@ static void t3_send_reset(struct socket *so); +static inline +int is_t3a(const struct toedev *dev) +{ + return (dev->ttid == TOE_ID_CHELSIO_T3); +} + /* * Determine whether to send a CPL message now or defer it. A message is * deferred if the connection is in SYN_SENT since we don't know the TID yet. @@ -312,7 +318,7 @@ struct tcpcb *tp = sototcpcb(so); struct toepcb *toep = tp->t_toe; unsigned int tid = toep->tp_tid; - + d = TOM_DATA(TOE_DEV(so)); if (tp->t_state != TCPS_SYN_SENT) @@ -321,17 +327,10 @@ if (toep->tp_flags & TP_FIN_SENT) return; - m = m_gethdr(M_NOWAIT, MT_DATA); - if (m == NULL) { - /* - * XXX - */ - printf("need to defer connection close to taskq thread!!!\n"); - return; - } + m = m_gethdr_nofail(sizeof(*req)); + toep->tp_flags |= TP_FIN_SENT; req = mtod(m, struct cpl_close_con_req *); - m->m_pkthdr.len = m->m_len = sizeof(*req); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_CLOSE_CON)); req->wr.wr_lo = htonl(V_WR_TID(tid)); @@ -372,21 +371,11 @@ struct toepcb *toep = tp->t_toe; struct toedev *tdev = toep->tp_toedev; - m = m_gethdr(M_NOWAIT, MT_DATA); - - if (m == NULL) { - /* - * XXX need to cache mbufs for nofail allocation - */ - if (nofail) - log(LOG_ERR, "failing nofail t3_send_rx_credits!!!\n"); - return (0); - } + m = m_gethdr_nofail(sizeof(*req)); printf("returning %u credits to HW\n", credits); req = mtod(m, struct cpl_rx_data_ack *); - m->m_pkthdr.len = m->m_len = sizeof(*req); req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, toep->tp_tid)); req->credit_dack = htonl(dack | V_RX_CREDITS(credits)); @@ -546,12 +535,7 @@ if (tp->t_state == TCPS_CLOSED || (toep->tp_flags & TP_ABORT_SHUTDOWN)) return; - m = m_gethdr(M_NOWAIT, MT_DATA); - if (m == NULL) { - /* - * XXX need lowmem cache - */ - } + m = m_gethdr_nofail(sizeof(struct cpl_set_tcb_field)); __set_tcb_field(so, m, word, mask, val, 1); } @@ -1189,17 +1173,10 @@ /* Purge the send queue so we don't send anything after an abort. */ sbflush(&so->so_snd); -#ifdef notyet - if (sock_flag(so, CLOSE_CON_REQUESTED) && is_t3a(TOE_DEV(sk))) + if ((toep->tp_flags & TP_CLOSE_CON_REQUESTED) && is_t3a(TOE_DEV(so))) mode |= CPL_ABORT_POST_CLOSE_REQ; -#endif - m = m_gethdr(M_NOWAIT, MT_DATA); - if (m == NULL) { - /* - * XXX add lowmem cache - */ - } - m->m_pkthdr.len = m->m_len = sizeof(*req); + + m = m_gethdr_nofail(sizeof(*req)); m_set_priority(m, mkprio(CPL_PRIORITY_DATA, so)); set_arp_failure_handler(m, abort_arp_failure); @@ -1449,10 +1426,11 @@ #ifdef T3_TRACE T3_TRACE0(TIDTB(sk),"do_peer_fin:"); #endif -#ifdef notyet - if (!is_t3a(TOE_DEV(sk)) && sock_flag(so, ABORT_RPL_PENDING)) + + if (!is_t3a(TOE_DEV(so)) && (toep->tp_flags & TP_ABORT_RPL_PENDING)) goto out; +#ifdef notyet if (ULP_MODE(tp) == ULP_MODE_TCPDDP) { keep = handle_peer_close_data(so, skb); if (keep < 0) @@ -1503,9 +1481,7 @@ sk_wake_async(so, 1, POLL_IN); #endif } -#ifdef notyet out: -#endif if (!keep) m_free(m); } @@ -1602,8 +1578,679 @@ return (0); } +/* + * Process abort replies. We only process these messages if we anticipate + * them as the coordination between SW and HW in this area is somewhat lacking + * and sometimes we get ABORT_RPLs after we are done with the connection that + * originated the ABORT_REQ. + */ +static void +process_abort_rpl(struct socket *so, struct mbuf *m) +{ + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + +#ifdef T3_TRACE + T3_TRACE1(TIDTB(sk), + "process_abort_rpl: GTS rpl pending %d", + sock_flag(sk, ABORT_RPL_PENDING)); +#endif + + if (toep->tp_flags & TP_ABORT_RPL_PENDING) { + if (!(toep->tp_flags & TP_ABORT_RPL_RCVD) && !is_t3a(TOE_DEV(so))) + toep->tp_flags |= TP_ABORT_RPL_RCVD; + else { + toep->tp_flags &= ~(TP_ABORT_RPL_RCVD|TP_ABORT_RPL_PENDING); + + if (!(toep->tp_flags & TP_ABORT_REQ_RCVD) || + !is_t3a(TOE_DEV(so))) { + if (toep->tp_flags & TP_ABORT_REQ_RCVD) + panic("TP_ABORT_REQ_RCVD set"); + t3_release_offload_resources(so); + tcp_close(tp); + } + } + } + m_free(m); +} + +/* + * Handle an ABORT_RPL_RSS CPL message. + */ +static int +do_abort_rpl(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + struct socket *so; + struct cpl_abort_rpl_rss *rpl = cplhdr(m); + struct toepcb *toep; + + /* + * Ignore replies to post-close aborts indicating that the abort was + * requested too late. These connections are terminated when we get + * PEER_CLOSE or CLOSE_CON_RPL and by the time the abort_rpl_rss + * arrives the TID is either no longer used or it has been recycled. + */ + if (rpl->status == CPL_ERR_ABORT_FAILED) { +discard: + m_free(m); + return (0); + } + + so = (struct socket *)ctx; + /* + * Sometimes we've already closed the socket, e.g., a post-close + * abort races with ABORT_REQ_RSS, the latter frees the socket + * expecting the ABORT_REQ will fail with CPL_ERR_ABORT_FAILED, + * but FW turns the ABORT_REQ into a regular one and so we get + * ABORT_RPL_RSS with status 0 and no socket. Only on T3A. + */ + if (!so) + goto discard; + + toep = sototcpcb(so)->t_toe; + toepcb_hold(toep); + process_abort_rpl(so, m); + toepcb_release(toep); + return (0); +} + /* + * Convert the status code of an ABORT_REQ into a Linux error code. Also + * indicate whether RST should be sent in response. + */ +static int +abort_status_to_errno(struct socket *so, int abort_reason, int *need_rst) +{ + struct tcpcb *tp = sototcpcb(so); + + switch (abort_reason) { + case CPL_ERR_BAD_SYN: +#if 0 + NET_INC_STATS_BH(LINUX_MIB_TCPABORTONSYN); // fall through +#endif + case CPL_ERR_CONN_RESET: + // XXX need to handle SYN_RECV due to crossed SYNs + return (tp->t_state == TCPS_CLOSE_WAIT ? EPIPE : ECONNRESET); + case CPL_ERR_XMIT_TIMEDOUT: + case CPL_ERR_PERSIST_TIMEDOUT: + case CPL_ERR_FINWAIT2_TIMEDOUT: + case CPL_ERR_KEEPALIVE_TIMEDOUT: +#if 0 + NET_INC_STATS_BH(LINUX_MIB_TCPABORTONTIMEOUT); +#endif + return (ETIMEDOUT); + default: + return (EIO); + } +} + +static inline void +set_abort_rpl_wr(struct mbuf *m, unsigned int tid, int cmd) +{ + struct cpl_abort_rpl *rpl = cplhdr(m); + + rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_HOST_ABORT_CON_RPL)); + rpl->wr.wr_lo = htonl(V_WR_TID(tid)); + OPCODE_TID(rpl) = htonl(MK_OPCODE_TID(CPL_ABORT_RPL, tid)); + rpl->cmd = cmd; +} + +static void +send_deferred_abort_rpl(struct toedev *tdev, struct mbuf *m) +{ + struct mbuf *reply_mbuf; + struct cpl_abort_req_rss *req = cplhdr(m); + + reply_mbuf = m_gethdr_nofail(sizeof(struct cpl_abort_rpl)); + m_set_priority(m, CPL_PRIORITY_DATA); + m->m_len = m->m_pkthdr.len = sizeof(struct cpl_abort_rpl); + set_abort_rpl_wr(reply_mbuf, GET_TID(req), req->status); + cxgb_ofld_send(TOM_DATA(tdev)->cdev, reply_mbuf); + m_free(m); +} + +/* + * Returns whether an ABORT_REQ_RSS message is a negative advice. + */ +static inline int +is_neg_adv_abort(unsigned int status) +{ + return status == CPL_ERR_RTX_NEG_ADVICE || + status == CPL_ERR_PERSIST_NEG_ADVICE; +} + +static void +send_abort_rpl(struct mbuf *m, struct toedev *tdev, int rst_status) +{ + struct mbuf *reply_mbuf; + struct cpl_abort_req_rss *req = cplhdr(m); + + reply_mbuf = m_gethdr(M_NOWAIT, MT_DATA); + + if (!reply_mbuf) { + /* Defer the reply. Stick rst_status into req->cmd. */ + req->status = rst_status; + t3_defer_reply(m, tdev, send_deferred_abort_rpl); + return; + } + + m_set_priority(reply_mbuf, CPL_PRIORITY_DATA); + set_abort_rpl_wr(reply_mbuf, GET_TID(req), rst_status); + m_free(m); + + /* + * XXX need to sync with ARP as for SYN_RECV connections we can send + * these messages while ARP is pending. For other connection states + * it's not a problem. + */ + cxgb_ofld_send(TOM_DATA(tdev)->cdev, reply_mbuf); +} + +static void +cleanup_syn_rcv_conn(struct socket *child, struct socket *parent) +{ + UNIMPLEMENTED(); +#ifdef notyet + struct request_sock *req = child->sk_user_data; + + inet_csk_reqsk_queue_removed(parent, req); + synq_remove(tcp_sk(child)); + __reqsk_free(req); + child->sk_user_data = NULL; +#endif +} + +/* + * Performs the actual work to abort a SYN_RECV connection. + */ +static void +do_abort_syn_rcv(struct socket *child, struct socket *parent) +{ + struct tcpcb *parenttp = sototcpcb(parent); + struct tcpcb *childtp = sototcpcb(child); + + /* + * If the server is still open we clean up the child connection, + * otherwise the server already did the clean up as it was purging + * its SYN queue and the skb was just sitting in its backlog. + */ + if (__predict_false(parenttp->t_state == TCPS_LISTEN)) { + cleanup_syn_rcv_conn(child, parent); + t3_release_offload_resources(child); + tcp_close(childtp); + } +} + + +/* + * Handle abort requests for a SYN_RECV connection. These need extra work + * because the socket is on its parent's SYN queue. + */ +static int +abort_syn_rcv(struct socket *so, struct mbuf *m) +{ + UNIMPLEMENTED(); +#ifdef notyet + struct socket *parent; + struct toedev *tdev = TOE_DEV(so); + struct t3cdev *cdev = TOM_DATA(tdev)->cdev; + struct socket *oreq = so->so_incomp; + struct t3c_tid_entry *t3c_stid; + struct tid_info *t; + + if (!oreq) + return -1; /* somehow we are not on the SYN queue */ + + t = &(T3C_DATA(cdev))->tid_maps; + t3c_stid = lookup_stid(t, oreq->ts_recent); + parent = ((struct listen_ctx *)t3c_stid->ctx)->lso; + + SOCK_LOCK(parent); + do_abort_syn_rcv(so, parent); + send_abort_rpl(m, tdev, CPL_ABORT_NO_RST); + SOCK_UNLOCK(parent); +#endif + return (0); +} + +/* + * Process abort requests. If we are waiting for an ABORT_RPL we ignore this + * request except that we need to reply to it. + */ +static void +process_abort_req(struct socket *so, struct mbuf *m, struct toedev *tdev) +{ + int rst_status = CPL_ABORT_NO_RST; + const struct cpl_abort_req_rss *req = cplhdr(m); + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + + if ((toep->tp_flags & TP_ABORT_REQ_RCVD) == 0) { + toep->tp_flags |= TP_ABORT_REQ_RCVD; + toep->tp_flags |= TP_ABORT_SHUTDOWN; + m_free(m); + return; + } + + toep->tp_flags &= ~TP_ABORT_REQ_RCVD; + /* + * Three cases to consider: + * a) We haven't sent an abort_req; close the connection. + * b) We have sent a post-close abort_req that will get to TP too late + * and will generate a CPL_ERR_ABORT_FAILED reply. The reply will + * be ignored and the connection should be closed now. + * c) We have sent a regular abort_req that will get to TP too late. + * That will generate an abort_rpl with status 0, wait for it. + */ + if (((toep->tp_flags & TP_ABORT_RPL_PENDING) == 0) || + (is_t3a(TOE_DEV(so)) && (toep->tp_flags & TP_CLOSE_CON_REQUESTED))) { + so->so_error = abort_status_to_errno(so, req->status, + &rst_status); +#if 0 + if (!sock_flag(sk, SOCK_DEAD)) + sk->sk_error_report(sk); +#endif + /* + * SYN_RECV needs special processing. If abort_syn_rcv() + * returns 0 is has taken care of the abort.2 + */ + if ((tp->t_state == TCPS_SYN_RECEIVED) && !abort_syn_rcv(so, m)) + return; + + t3_release_offload_resources(so); + tcp_close(tp); + } + + send_abort_rpl(m, tdev, rst_status); +} + +/* + * Handle an ABORT_REQ_RSS CPL message. + */ +static int +do_abort_req(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + const struct cpl_abort_req_rss *req = cplhdr(m); + struct socket *so = (struct socket *)ctx; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + + if (is_neg_adv_abort(req->status)) { + m_free(m); + return (0); + } + + VALIDATE_SOCK(so); + toepcb_hold(toep); + process_abort_req(so, m, TOE_DEV(so)); + toepcb_release(toep); + return (0); +} + +static void +pass_open_abort(struct socket *child, struct socket *parent, struct mbuf *m) +{ + struct toedev *tdev = TOE_DEV(parent); + + do_abort_syn_rcv(child, parent); + if (tdev->ttid == TOE_ID_CHELSIO_T3) { + struct cpl_pass_accept_rpl *rpl = cplhdr(m); + + rpl->opt0h = htonl(F_TCAM_BYPASS); + rpl->opt0l_status = htonl(CPL_PASS_OPEN_REJECT); + cxgb_ofld_send(TOM_DATA(tdev)->cdev, m); + } else + m_free(m); +} + +static void +handle_pass_open_arp_failure(struct socket *so, struct mbuf *m) +{ + UNIMPLEMENTED(); + +#ifdef notyet + struct t3cdev *cdev; + struct socket *parent; + struct socket *oreq; + struct t3c_tid_entry *t3c_stid; + struct tid_info *t; + struct tcpcb *otp, *tp = sototcpcb(so); + struct toepcb *toep = tp->t_toe; + + /* + * If the connection is being aborted due to the parent listening + * socket going away there's nothing to do, the ABORT_REQ will close + * the connection. + */ + if (toep->tp_flags & TP_ABORT_RPL_PENDING) { + m_free(m); + return; + } + + oreq = so->so_incomp; + otp = sototcpcb(oreq); + + cdev = T3C_DEV(so); + t = &(T3C_DATA(cdev))->tid_maps; + t3c_stid = lookup_stid(t, otp->ts_recent); + parent = ((struct listen_ctx *)t3c_stid->ctx)->lso; + + SOCK_LOCK(parent); + pass_open_abort(so, parent, m); + SOCK_UNLOCK(parent); +#endif +} + +/* + * Handle an ARP failure for a CPL_PASS_ACCEPT_RPL. This is treated similarly + * to an ABORT_REQ_RSS in SYN_RECV as both events need to tear down a SYN_RECV + * connection. + */ +static void +pass_accept_rpl_arp_failure(struct t3cdev *cdev, struct mbuf *m) +{ + + printf("%s UNIMPLEMENTED\n", __FUNCTION__); +#ifdef notyet + TCP_INC_STATS_BH(TCP_MIB_ATTEMPTFAILS); + BLOG_SKB_CB(skb)->dev = TOE_DEV(skb->sk); + handle_pass_open_arp_failure, skb->sk, skb); +#endif +} + +/* + * Create a new socket as a child of the listening socket 'lsk' and initialize + * with the information in the supplied PASS_ACCEPT_REQ message. + */ +static struct socket * +mk_pass_sock(struct socket *lso, struct toedev *dev, int tid, + struct cpl_pass_accept_req *req) +{ + UNIMPLEMENTED(); + +#ifdef notyet + struct sock *newso; + struct l2t_entry *e; + struct rtentry *dst; + struct tcpcb *newtp; + struct ifp *egress; + struct socket *oreq = reqsk_alloc(&t3_rsk_ops); + + if (!oreq) + goto out_err; + + tcp_rsk(oreq)->rcv_isn = ntohl(req->rcv_isn); + inet_rsk(oreq)->rmt_port = req->peer_port; + t3_set_req_addr(oreq, req->local_ip, req->peer_ip); + t3_set_req_opt(oreq, NULL); + if (sysctl_tcp_window_scaling) { + inet_rsk(oreq)->wscale_ok = 1; + inet_rsk(oreq)->snd_wscale = req->tcp_options.wsf; + } + + dst = route_req(lsk, oreq); + if (!dst) + goto free_or; + + newsk = tcp_create_openreq_child(lsk, oreq, tcphdr_skb); + if (!newsk) + goto free_dst; + + egress = offload_get_phys_egress(dst->neighbour->dev, newsk, TOE_OPEN); + if (!egress || TOEDEV(egress) != dev) + goto free_dst; + + e = t3_l2t_get(TOM_DATA(dev)->cdev, dst->neighbour, egress); + if (!e) + goto free_sk; + + + if (sock_flag(newsk, SOCK_KEEPOPEN)) + inet_csk_delete_keepalive_timer(newsk); + oreq->ts_recent = G_PASS_OPEN_TID(ntohl(req->tos_tid)); + newsk->sk_user_data = oreq; + sk_setup_caps(newsk, dst); + + newtp = tcp_sk(newsk); + init_offload_sk(newsk, dev, tid, e, dst); + DELACK_SEQ(newtp) = newtp->rcv_nxt; + RCV_WSCALE(newtp) = select_rcv_wscale(tcp_full_space(newsk), + WSCALE_OK(newtp), + newtp->window_clamp); + +#ifdef LINUX_2_4 + newsk->daddr = req->peer_ip; + newsk->rcv_saddr = req->local_ip; + newsk->saddr = req->local_ip; +#else + inet_sk(newsk)->daddr = req->peer_ip; + inet_sk(newsk)->rcv_saddr = req->local_ip; + inet_sk(newsk)->saddr = req->local_ip; +#endif /* LINUX_2_4 */ + + lsk->sk_prot->hash(newsk); + inet_inherit_port(&tcp_hashinfo, lsk, newsk); + install_offload_ops(newsk); + bh_unlock_sock(newsk); // counters tcp_create_openreq_child() + return newsk; + +free_sk: + sk_free(newsk); +free_dst: + dst_release(dst); +free_or: + __reqsk_free(oreq); +out_err: +#endif + return NULL; +} + +/* + * Populate a reject CPL_PASS_ACCEPT_RPL WR. + */ +static void +mk_pass_accept_rpl(struct mbuf *reply_mbuf, struct mbuf *req_mbuf) +{ + struct cpl_pass_accept_req *req = cplhdr(req_mbuf); + struct cpl_pass_accept_rpl *rpl = cplhdr(reply_mbuf); + unsigned int tid = GET_TID(req); + + m_set_priority(reply_mbuf, CPL_PRIORITY_SETUP); + rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); + OPCODE_TID(rpl) = htonl(MK_OPCODE_TID(CPL_PASS_ACCEPT_RPL, tid)); + rpl->peer_ip = req->peer_ip; // req->peer_ip not overwritten yet + rpl->opt0h = htonl(F_TCAM_BYPASS); + rpl->opt0l_status = htonl(CPL_PASS_OPEN_REJECT); + rpl->opt2 = 0; + rpl->rsvd = rpl->opt2; /* workaround for HW bug */ +} + +/* + * Send a deferred reject to an accept request. + */ +static void +reject_pass_request(struct toedev *tdev, struct mbuf *m) +{ + struct mbuf *reply_mbuf; + + reply_mbuf = m_gethdr_nofail(sizeof(struct cpl_pass_accept_rpl)); + mk_pass_accept_rpl(reply_mbuf, m); + cxgb_ofld_send(TOM_DATA(tdev)->cdev, reply_mbuf); + m_free(m); +} + +/* + * Process a CPL_PASS_ACCEPT_REQ message. Does the part that needs the socket + * lock held. Note that the sock here is a listening socket that is not owned + * by the TOE. + */ +static void +process_pass_accept_req(struct socket *so, struct mbuf *m, struct toedev *tdev) +{ +#ifdef notyet + int rt_flags; +#endif + struct socket *newso; + struct l2t_entry *e; + struct iff_mac tim; + struct mbuf *reply_mbuf, *ddp_mbuf = NULL; + struct cpl_pass_accept_rpl *rpl; + struct cpl_pass_accept_req *req = cplhdr(m); + unsigned int tid = GET_TID(req); + struct tom_data *d = TOM_DATA(tdev); + struct t3cdev *cdev = d->cdev; + struct tcpcb *tp = sototcpcb(so); + struct toepcb *toep, *newtoep; + + UNIMPLEMENTED(); + + reply_mbuf = m_gethdr(M_NOWAIT, MT_DATA); + if (__predict_false(!reply_mbuf)) { + if (tdev->ttid == TOE_ID_CHELSIO_T3) + t3_defer_reply(m, tdev, reject_pass_request); + else { + cxgb_queue_tid_release(cdev, tid); + m_free(m); + } + goto out; + } + + if (tp->t_state != TCPS_LISTEN) + goto reject; +#ifdef notyet + if (inet_csk_reqsk_queue_is_full(sk)) + goto reject; + if (sk_acceptq_is_full(sk) && d->conf.soft_backlog_limit) + goto reject; +#endif + tim.mac_addr = req->dst_mac; + tim.vlan_tag = ntohs(req->vlan_tag); + if (cdev->ctl(cdev, GET_IFF_FROM_MAC, &tim) < 0 || !tim.dev) + goto reject; +#ifdef notyet + if (ip_route_input(skb, req->local_ip, req->peer_ip, + G_PASS_OPEN_TOS(ntohl(req->tos_tid)), tim.dev)) + goto reject; + rt_flags = ((struct rtable *)skb->dst)->rt_flags & + (RTCF_BROADCAST | RTCF_MULTICAST | RTCF_LOCAL); + dst_release(skb->dst); // done with the input route, release it + skb->dst = NULL; + if (rt_flags != RTCF_LOCAL) + goto reject; +#endif + newso = mk_pass_sock(so, tdev, tid, req); + if (!newso) + goto reject; +#ifdef notyet + inet_csk_reqsk_queue_added(sk, TCP_TIMEOUT_INIT); + synq_add(sk, newsk); +#endif + /* Don't get a reference, newsk starts out with ref count 2 */ + cxgb_insert_tid(cdev, d->client, newso, tid); + + if (newtoep->tp_ulp_mode) { + ddp_mbuf = m_gethdr(M_NOWAIT, MT_DATA); + + if (!ddp_mbuf) + newtoep->tp_ulp_mode = 0; + } +#ifdef notyet + reply_skb->sk = newsk; +#endif + set_arp_failure_handler(reply_mbuf, pass_accept_rpl_arp_failure); + + e = newtoep->tp_l2t; + + rpl = cplhdr(reply_mbuf); + rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); + OPCODE_TID(rpl) = htonl(MK_OPCODE_TID(CPL_PASS_ACCEPT_RPL, tid)); + rpl->peer_ip = req->peer_ip; // req->peer_ip is not overwritten + rpl->opt0h = htonl(calc_opt0h(newso) | V_L2T_IDX(e->idx) | + V_TX_CHANNEL(e->smt_idx)); + rpl->opt0l_status = htonl(calc_opt0l(newso) | + CPL_PASS_OPEN_ACCEPT); + rpl->opt2 = htonl(calc_opt2(newso)); + + rpl->rsvd = rpl->opt2; /* workaround for HW bug */ + m_set_priority(reply_mbuf, mkprio(CPL_PRIORITY_SETUP, newso)); + l2t_send(cdev, reply_mbuf, e); + m_free(m); + if (toep->tp_ulp_mode) { + __set_tcb_field(newso, ddp_mbuf, W_TCB_RX_DDP_FLAGS, + V_TF_DDP_OFF(1) | + TP_DDP_TIMER_WORKAROUND_MASK, + V_TF_DDP_OFF(1) | + TP_DDP_TIMER_WORKAROUND_VAL, 1); + + return; + } + +reject: + if (tdev->ttid == TOE_ID_CHELSIO_T3) + mk_pass_accept_rpl(reply_mbuf, m); + else { +#ifdef notyet + __skb_trim(reply_skb, 0); + mk_tid_release(reply_mbuf, NULL, tid); +#endif + } + cxgb_ofld_send(cdev, reply_mbuf); + m_free(m); +out: +#if 0 + TCP_INC_STATS_BH(TCP_MIB_ATTEMPTFAILS); +#else + return; +#endif +} + +/* + * Handle a CPL_PASS_ACCEPT_REQ message. + */ +static int +do_pass_accept_req(struct t3cdev *cdev, struct mbuf *m, void *ctx) +{ + struct listen_ctx *listen_ctx = (struct listen_ctx *)ctx; + struct socket *lso = listen_ctx->lso; + struct tom_data *d = listen_ctx->tom_data; + +#if VALIDATE_TID + struct cpl_pass_accept_req *req = cplhdr(m); + unsigned int tid = GET_TID(req); + struct tid_info *t = &(T3C_DATA(cdev))->tid_maps; + + if (unlikely(!lsk)) { + printk(KERN_ERR "%s: PASS_ACCEPT_REQ had unknown STID %lu\n", + cdev->name, + (unsigned long)((union listen_entry *)ctx - + t->stid_tab)); + return CPL_RET_BUF_DONE; + } + if (unlikely(tid >= t->ntids)) { + printk(KERN_ERR "%s: passive open TID %u too large\n", + cdev->name, tid); + return CPL_RET_BUF_DONE; + } + /* + * For T3A the current user of the TID may have closed but its last + * message(s) may have been backlogged so the TID appears to be still + * in use. Just take the TID away, the connection can close at its + * own leisure. For T3B this situation is a bug. + */ + if (!valid_new_tid(t, tid) && + cdev->type != T3A) { + printk(KERN_ERR "%s: passive open uses existing TID %u\n", + cdev->name, tid); + return CPL_RET_BUF_DONE; + } +#endif + + process_pass_accept_req(lso, m, &d->tdev); + return 0; +} + +/* * Add a passively open socket to its parent's accept queue. Note that the * child may be in any state by now, including TCP_CLOSE. We can guarantee * though that it has not been orphaned yet. @@ -1621,6 +2268,8 @@ return; printf("need to move connection from syncache to so_comp for accept XXX\n"); + UNIMPLEMENTED(); + #ifdef notyet oreq = child->sk_user_data; child->sk_user_data = NULL; @@ -2093,10 +2742,10 @@ t3tom_register_cpl_handler(CPL_CLOSE_CON_RPL, do_close_con_rpl); t3tom_register_cpl_handler(CPL_PEER_CLOSE, do_peer_close); t3tom_register_cpl_handler(CPL_PASS_ESTABLISH, do_pass_establish); -#ifdef notyet t3tom_register_cpl_handler(CPL_PASS_ACCEPT_REQ, do_pass_accept_req); t3tom_register_cpl_handler(CPL_ABORT_REQ_RSS, do_abort_req); t3tom_register_cpl_handler(CPL_ABORT_RPL_RSS, do_abort_rpl); +#ifdef notyet t3tom_register_cpl_handler(CPL_RX_URG_NOTIFY, do_rx_urg_notify); t3tom_register_cpl_handler(CPL_RX_DATA_DDP, do_rx_data_ddp); From owner-p4-projects@FreeBSD.ORG Wed Nov 7 19:49:25 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4912416A41B; Wed, 7 Nov 2007 19:49:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D488716A46E for ; Wed, 7 Nov 2007 19:49:24 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C2CAF13C4C8 for ; Wed, 7 Nov 2007 19:49:24 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA7JnOjb030851 for ; Wed, 7 Nov 2007 19:49:24 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA7JnAeL030848 for perforce@freebsd.org; Wed, 7 Nov 2007 19:49:10 GMT (envelope-from peter@freebsd.org) Date: Wed, 7 Nov 2007 19:49:10 GMT Message-Id: <200711071949.lA7JnAeL030848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 128783 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, 07 Nov 2007 19:49:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=128783 Change 128783 by peter@peter_overcee on 2007/11/07 19:48:54 IFC @128780 Affected files ... .. //depot/projects/hammer/Makefile.inc1#127 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#38 integrate .. //depot/projects/hammer/bin/mv/mv.1#7 integrate .. //depot/projects/hammer/bin/ps/extern.h#11 integrate .. //depot/projects/hammer/bin/ps/keyword.c#18 integrate .. //depot/projects/hammer/bin/ps/print.c#17 integrate .. //depot/projects/hammer/bin/ps/ps.c#21 integrate .. //depot/projects/hammer/contrib/libreadline/FREEBSD-upgrade#8 integrate .. //depot/projects/hammer/contrib/libreadline/complete.c#8 integrate .. //depot/projects/hammer/contrib/libreadline/display.c#9 integrate .. //depot/projects/hammer/contrib/libreadline/input.c#6 integrate .. //depot/projects/hammer/contrib/libreadline/isearch.c#5 integrate .. //depot/projects/hammer/contrib/libreadline/misc.c#5 integrate .. //depot/projects/hammer/contrib/libreadline/readline.c#7 integrate .. //depot/projects/hammer/contrib/libreadline/text.c#5 integrate .. //depot/projects/hammer/contrib/libreadline/vi_mode.c#8 integrate .. //depot/projects/hammer/contrib/openbsm/HISTORY#6 integrate .. //depot/projects/hammer/contrib/openbsm/Makefile.in#3 integrate .. //depot/projects/hammer/contrib/openbsm/VERSION#6 integrate .. //depot/projects/hammer/contrib/openbsm/aclocal.m4#2 integrate .. //depot/projects/hammer/contrib/openbsm/bin/Makefile.in#3 integrate .. //depot/projects/hammer/contrib/openbsm/bin/audit/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/bin/auditd/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/bin/auditfilterd/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/bin/auditreduce/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/bin/auditreduce/auditreduce.c#5 integrate .. //depot/projects/hammer/contrib/openbsm/bin/praudit/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/bin/praudit/praudit.c#3 integrate .. //depot/projects/hammer/contrib/openbsm/bsm/Makefile.in#3 integrate .. //depot/projects/hammer/contrib/openbsm/config/config.h#6 integrate .. //depot/projects/hammer/contrib/openbsm/config/config.h.in#4 integrate .. //depot/projects/hammer/contrib/openbsm/config/ltmain.sh#3 integrate .. //depot/projects/hammer/contrib/openbsm/configure#6 integrate .. //depot/projects/hammer/contrib/openbsm/configure.ac#6 integrate .. //depot/projects/hammer/contrib/openbsm/etc/audit_class#3 integrate .. //depot/projects/hammer/contrib/openbsm/etc/audit_event#7 integrate .. //depot/projects/hammer/contrib/openbsm/libbsm/Makefile.in#3 integrate .. //depot/projects/hammer/contrib/openbsm/libbsm/bsm_event.c#3 integrate .. //depot/projects/hammer/contrib/openbsm/libbsm/bsm_io.c#6 integrate .. //depot/projects/hammer/contrib/openbsm/man/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/modules/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/modules/auditfilter_noop/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/test/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/test/bsm/Makefile.in#2 integrate .. //depot/projects/hammer/contrib/openbsm/tools/Makefile.in#3 integrate .. //depot/projects/hammer/contrib/sendmail/CACerts#2 integrate .. //depot/projects/hammer/contrib/sendmail/FREEBSD-upgrade#17 integrate .. //depot/projects/hammer/contrib/sendmail/INSTALL#2 integrate .. //depot/projects/hammer/contrib/sendmail/RELEASE_NOTES#14 integrate .. //depot/projects/hammer/contrib/sendmail/cf/cf/submit.cf#14 integrate .. //depot/projects/hammer/contrib/sendmail/cf/feature/ldap_routing.m4#3 integrate .. //depot/projects/hammer/contrib/sendmail/cf/m4/proto.m4#12 integrate .. //depot/projects/hammer/contrib/sendmail/cf/m4/version.m4#14 integrate .. //depot/projects/hammer/contrib/sendmail/contrib/buildvirtuser#4 integrate .. //depot/projects/hammer/contrib/sendmail/doc/op/op.me#11 integrate .. //depot/projects/hammer/contrib/sendmail/editmap/editmap.c#3 integrate .. //depot/projects/hammer/contrib/sendmail/include/sm/conf.h#12 integrate .. //depot/projects/hammer/contrib/sendmail/include/sm/ldap.h#5 integrate .. //depot/projects/hammer/contrib/sendmail/include/sm/tailq.h#2 integrate .. //depot/projects/hammer/contrib/sendmail/libmilter/docs/xxfi_unknown.html#2 integrate .. //depot/projects/hammer/contrib/sendmail/libmilter/engine.c#11 integrate .. //depot/projects/hammer/contrib/sendmail/libmilter/listener.c#11 integrate .. //depot/projects/hammer/contrib/sendmail/libmilter/main.c#7 integrate .. //depot/projects/hammer/contrib/sendmail/libmilter/monitor.c#2 integrate .. //depot/projects/hammer/contrib/sendmail/libmilter/smfi.c#6 integrate .. //depot/projects/hammer/contrib/sendmail/libsm/ldap.c#10 integrate .. //depot/projects/hammer/contrib/sendmail/libsm/mpeix.c#2 integrate .. //depot/projects/hammer/contrib/sendmail/makemap/makemap.c#6 integrate .. //depot/projects/hammer/contrib/sendmail/praliases/praliases.c#4 integrate .. //depot/projects/hammer/contrib/sendmail/src/Makefile.m4#6 integrate .. //depot/projects/hammer/contrib/sendmail/src/conf.c#14 integrate .. //depot/projects/hammer/contrib/sendmail/src/deliver.c#13 integrate .. //depot/projects/hammer/contrib/sendmail/src/envelope.c#8 integrate .. //depot/projects/hammer/contrib/sendmail/src/headers.c#13 integrate .. //depot/projects/hammer/contrib/sendmail/src/macro.c#4 integrate .. //depot/projects/hammer/contrib/sendmail/src/main.c#12 integrate .. //depot/projects/hammer/contrib/sendmail/src/map.c#11 integrate .. //depot/projects/hammer/contrib/sendmail/src/milter.c#12 integrate .. //depot/projects/hammer/contrib/sendmail/src/mime.c#9 integrate .. //depot/projects/hammer/contrib/sendmail/src/parseaddr.c#12 integrate .. //depot/projects/hammer/contrib/sendmail/src/queue.c#14 integrate .. //depot/projects/hammer/contrib/sendmail/src/readcf.c#11 integrate .. //depot/projects/hammer/contrib/sendmail/src/recipient.c#8 integrate .. //depot/projects/hammer/contrib/sendmail/src/sendmail.8#6 integrate .. //depot/projects/hammer/contrib/sendmail/src/sendmail.h#13 integrate .. //depot/projects/hammer/contrib/sendmail/src/sm_resolve.c#6 integrate .. //depot/projects/hammer/contrib/sendmail/src/srvrsmtp.c#14 integrate .. //depot/projects/hammer/contrib/sendmail/src/usersmtp.c#11 integrate .. //depot/projects/hammer/contrib/sendmail/src/util.c#10 integrate .. //depot/projects/hammer/contrib/sendmail/src/version.c#14 integrate .. //depot/projects/hammer/contrib/sendmail/vacation/vacation.c#7 integrate .. //depot/projects/hammer/etc/Makefile#59 integrate .. //depot/projects/hammer/etc/namedb/named.root#5 integrate .. //depot/projects/hammer/etc/network.subr#20 integrate .. //depot/projects/hammer/etc/sendmail/freebsd.mc#10 integrate .. //depot/projects/hammer/etc/sendmail/freebsd.submit.mc#6 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#70 integrate .. //depot/projects/hammer/games/fortune/fortune/fortune.6#4 integrate .. //depot/projects/hammer/games/fortune/fortune/fortune.c#7 integrate .. //depot/projects/hammer/include/_ctype.h#4 integrate .. //depot/projects/hammer/include/pthread.h#13 integrate .. //depot/projects/hammer/include/pthread_np.h#5 integrate .. //depot/projects/hammer/lib/Makefile#64 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_compression_none.c#13 integrate .. //depot/projects/hammer/lib/libc/gen/valloc.3#6 integrate .. //depot/projects/hammer/lib/libc/locale/mblocal.h#6 integrate .. //depot/projects/hammer/lib/libc/net/ethers.3#6 integrate .. //depot/projects/hammer/lib/libc/sys/minherit.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/sctp_generic_recvmsg.2#2 integrate .. //depot/projects/hammer/lib/libc/sys/sctp_generic_sendmsg.2#2 integrate .. //depot/projects/hammer/lib/libc/sys/sctp_peeloff.2#2 integrate .. //depot/projects/hammer/lib/libgssapi/gss_accept_sec_context.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_acquire_cred.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_add_cred.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_add_oid_set_member.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_canonicalize_name.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_compare_name.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_context_time.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_create_empty_oid_set.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_delete_sec_context.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_display_name.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_display_status.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_duplicate_name.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_export_name.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_export_sec_context.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_get_mic.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_import_name.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_import_sec_context.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_indicate_mechs.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_init_sec_context.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_inquire_context.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_inquire_cred.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_inquire_cred_by_mech.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_inquire_mechs_for_name.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_inquire_names_for_mech.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_process_context_token.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_release_buffer.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_release_cred.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_release_name.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_release_oid_set.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_test_oid_set_member.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_unwrap.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_verify_mic.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_wrap.3#3 integrate .. //depot/projects/hammer/lib/libgssapi/gss_wrap_size_limit.3#3 integrate .. //depot/projects/hammer/lib/libkse/thread/thr_mutex.c#2 integrate .. //depot/projects/hammer/lib/libkvm/kvm_proc.c#37 integrate .. //depot/projects/hammer/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8#4 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_init.c#27 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_mutex.c#34 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_private.h#36 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_spec.c#6 integrate .. //depot/projects/hammer/libexec/Makefile#33 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#23 integrate .. //depot/projects/hammer/release/scripts/package-split.py#9 integrate .. //depot/projects/hammer/rescue/rescue/Makefile#35 integrate .. //depot/projects/hammer/sbin/geom/Makefile#2 integrate .. //depot/projects/hammer/sbin/geom/class/part/geom_part.c#3 integrate .. //depot/projects/hammer/sbin/geom/core/geom.c#19 integrate .. //depot/projects/hammer/sbin/gpt/boot.c#2 integrate .. //depot/projects/hammer/sbin/gpt/gpt.c#13 integrate .. //depot/projects/hammer/sbin/ifconfig/ifbridge.c#7 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.8#46 integrate .. //depot/projects/hammer/sbin/ifconfig/ifieee80211.c#31 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw2.c#60 integrate .. //depot/projects/hammer/sbin/rcorder/ealloc.c#2 integrate .. //depot/projects/hammer/sbin/rcorder/ealloc.h#2 integrate .. //depot/projects/hammer/sbin/rcorder/hash.c#2 integrate .. //depot/projects/hammer/sbin/rcorder/hash.h#2 integrate .. //depot/projects/hammer/sbin/rcorder/rcorder.c#6 integrate .. //depot/projects/hammer/sbin/route/route.8#12 integrate .. //depot/projects/hammer/sbin/route/route.c#13 integrate .. //depot/projects/hammer/sbin/setkey/parse.y#4 integrate .. //depot/projects/hammer/sbin/setkey/setkey.c#3 integrate .. //depot/projects/hammer/sbin/setkey/test-pfkey.c#3 integrate .. //depot/projects/hammer/sbin/setkey/token.l#4 integrate .. //depot/projects/hammer/share/doc/legal/intel_wpi/Makefile#1 branch .. //depot/projects/hammer/share/man/man3/queue.3#10 integrate .. //depot/projects/hammer/share/man/man4/mac.4#7 integrate .. //depot/projects/hammer/share/man/man4/md.4#6 integrate .. //depot/projects/hammer/share/man/man4/ng_car.4#2 integrate .. //depot/projects/hammer/share/man/man4/ng_netflow.4#13 integrate .. //depot/projects/hammer/share/man/man4/nxge.4#2 integrate .. //depot/projects/hammer/share/man/man5/bluetooth.device.conf.5#3 integrate .. //depot/projects/hammer/share/man/man5/quota.user.5#4 integrate .. //depot/projects/hammer/share/man/man5/rc.conf.5#83 integrate .. //depot/projects/hammer/share/man/man5/xfs.5#2 integrate .. //depot/projects/hammer/share/man/man8/rc.subr.8#12 integrate .. //depot/projects/hammer/share/man/man9/Makefile#72 integrate .. //depot/projects/hammer/share/man/man9/kproc.9#2 integrate .. //depot/projects/hammer/share/man/man9/kthread.9#7 integrate .. //depot/projects/hammer/share/man/man9/uio.9#8 integrate .. //depot/projects/hammer/share/misc/bsd-family-tree#39 integrate .. //depot/projects/hammer/share/misc/committers-doc.dot#3 integrate .. //depot/projects/hammer/share/misc/committers-ports.dot#7 integrate .. //depot/projects/hammer/share/misc/pci_vendors#16 integrate .. //depot/projects/hammer/share/mk/sys.mk#25 integrate .. //depot/projects/hammer/share/zoneinfo/asia#12 integrate .. //depot/projects/hammer/share/zoneinfo/northamerica#12 integrate .. //depot/projects/hammer/share/zoneinfo/pacificnew#1 branch .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#78 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#161 integrate .. //depot/projects/hammer/sys/amd64/amd64/nexus.c#43 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#164 integrate .. //depot/projects/hammer/sys/amd64/conf/DEFAULTS#9 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#103 integrate .. //depot/projects/hammer/sys/amd64/include/pc/bios.h#3 integrate .. //depot/projects/hammer/sys/arm/arm/cpufunc.c#15 integrate .. //depot/projects/hammer/sys/arm/arm/pmap.c#43 integrate .. //depot/projects/hammer/sys/arm/at91/kb920x_machdep.c#10 integrate .. //depot/projects/hammer/sys/arm/at91/ohci_atmelarm.c#4 integrate .. //depot/projects/hammer/sys/arm/include/cpuconf.h#8 integrate .. //depot/projects/hammer/sys/arm/sa11x0/assabet_machdep.c#12 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/ep80219_machdep.c#4 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/iq31244_machdep.c#22 integrate .. //depot/projects/hammer/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/avila_machdep.c#5 integrate .. //depot/projects/hammer/sys/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/hammer/sys/boot/arm/at91/boot2/boot2.c#6 integrate .. //depot/projects/hammer/sys/boot/common/ufsread.c#8 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/boot2.c#21 integrate .. //depot/projects/hammer/sys/boot/i386/gptboot/Makefile#2 integrate .. //depot/projects/hammer/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/biosmem.c#5 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/biossmap.c#12 integrate .. //depot/projects/hammer/sys/bsm/audit.h#9 integrate .. //depot/projects/hammer/sys/compat/linux/linux_ioctl.c#32 integrate .. //depot/projects/hammer/sys/compat/linux/linux_ioctl.h#13 integrate .. //depot/projects/hammer/sys/compat/opensolaris/kern/opensolaris_vfs.c#4 integrate .. //depot/projects/hammer/sys/compat/opensolaris/sys/kcondvar.h#2 integrate .. //depot/projects/hammer/sys/compat/opensolaris/sys/mutex.h#3 integrate .. //depot/projects/hammer/sys/compat/opensolaris/sys/rwlock.h#3 integrate .. //depot/projects/hammer/sys/compat/pecoff/imgact_pecoff.c#16 integrate .. //depot/projects/hammer/sys/compat/svr4/imgact_svr4.c#9 integrate .. //depot/projects/hammer/sys/conf/NOTES#128 integrate .. //depot/projects/hammer/sys/conf/files#162 integrate .. //depot/projects/hammer/sys/conf/files.pc98#62 integrate .. //depot/projects/hammer/sys/conf/options.arm#13 integrate .. //depot/projects/hammer/sys/contrib/dev/wpi/LICENSE#1 branch .. //depot/projects/hammer/sys/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu#1 branch .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/fil.c#18 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_auth.c#12 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_compat.h#15 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#7 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_log.c#13 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_nat.c#11 integrate .. //depot/projects/hammer/sys/contrib/ipfilter/netinet/ip_state.c#12 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#4 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/sys/vfs.h#2 delete .. //depot/projects/hammer/sys/contrib/pf/net/pf.c#34 integrate .. //depot/projects/hammer/sys/ddb/db_examine.c#6 integrate .. //depot/projects/hammer/sys/dev/aac/aac.c#41 integrate .. //depot/projects/hammer/sys/dev/aac/aac_cam.c#19 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_cpu.c#39 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pci.c#25 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pci_link.c#36 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#81 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.c#43 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cd.c#38 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cd.h#11 integrate .. //depot/projects/hammer/sys/dev/ciss/ciss.c#47 integrate .. //depot/projects/hammer/sys/dev/isp/isp_sbus.c#20 integrate .. //depot/projects/hammer/sys/dev/mii/e1000phy.c#11 integrate .. //depot/projects/hammer/sys/dev/mii/e1000phyreg.h#5 integrate .. //depot/projects/hammer/sys/dev/mii/gentbi.c#3 integrate .. //depot/projects/hammer/sys/dev/mii/miidevs#19 integrate .. //depot/projects/hammer/sys/dev/mii/rgephy.c#8 integrate .. //depot/projects/hammer/sys/dev/mii/rgephyreg.h#3 integrate .. //depot/projects/hammer/sys/dev/mpt/mpt.c#22 integrate .. //depot/projects/hammer/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/hammer/sys/dev/nxge/if_nxge.c#4 integrate .. //depot/projects/hammer/sys/dev/nxge/if_nxge.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/build-version.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/version.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xge-debug.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xge-defs.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xge-list.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xge-os-pal.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xge-os-template.h#2 delete .. //depot/projects/hammer/sys/dev/nxge/include/xge-queue.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-channel.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-config.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-device.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-driver.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-event.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-fifo.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-mgmt.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-mgmtaux.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-mm.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-regs.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-ring.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-stats.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal-types.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/include/xgehal.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xge-osdep.h#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xge-queue.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-channel-fp.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-channel.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-config.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-device-fp.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-device.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-driver.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-fifo.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-mgmt.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-mm.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-ring-fp.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-ring.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgehal/xgehal-stats.c#2 integrate .. //depot/projects/hammer/sys/dev/nxge/xgell-version.h#2 integrate .. //depot/projects/hammer/sys/dev/ral/rt2560.c#11 integrate .. //depot/projects/hammer/sys/dev/ral/rt2661.c#10 integrate .. //depot/projects/hammer/sys/dev/safe/safe.c#11 integrate .. //depot/projects/hammer/sys/dev/sound/pci/atiixp.c#14 integrate .. //depot/projects/hammer/sys/dev/sound/pci/atiixp.h#4 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/ac97.c#28 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/ac97_patch.c#10 integrate .. //depot/projects/hammer/sys/dev/usb/if_rum.c#4 integrate .. //depot/projects/hammer/sys/dev/usb/if_ural.c#26 integrate .. //depot/projects/hammer/sys/dev/usb/if_zyd.c#4 integrate .. //depot/projects/hammer/sys/dev/usb/if_zydfw.h#2 integrate .. //depot/projects/hammer/sys/dev/usb/ukbd.c#21 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#89 integrate .. //depot/projects/hammer/sys/dev/wpi/if_wpi.c#1 branch .. //depot/projects/hammer/sys/dev/wpi/if_wpireg.h#1 branch .. //depot/projects/hammer/sys/dev/wpi/if_wpivar.h#1 branch .. //depot/projects/hammer/sys/gnu/fs/ext2fs/ext2_vfsops.c#14 integrate .. //depot/projects/hammer/sys/i386/conf/DEFAULTS#9 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#93 integrate .. //depot/projects/hammer/sys/i386/conf/PAE#24 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#79 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#97 integrate .. //depot/projects/hammer/sys/i386/ibcs2/imgact_coff.c#14 integrate .. //depot/projects/hammer/sys/i386/include/pc/bios.h#6 integrate .. //depot/projects/hammer/sys/i386/linux/imgact_linux.c#13 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#64 integrate .. //depot/projects/hammer/sys/ia64/ia64/pmap.c#62 integrate .. //depot/projects/hammer/sys/kern/imgact_aout.c#17 integrate .. //depot/projects/hammer/sys/kern/imgact_elf.c#42 integrate .. //depot/projects/hammer/sys/kern/imgact_gzip.c#10 integrate .. //depot/projects/hammer/sys/kern/init_main.c#48 integrate .. //depot/projects/hammer/sys/kern/kern_cpu.c#16 integrate .. //depot/projects/hammer/sys/kern/kern_exec.c#73 integrate .. //depot/projects/hammer/sys/kern/kern_exit.c#69 integrate .. //depot/projects/hammer/sys/kern/kern_fork.c#66 integrate .. //depot/projects/hammer/sys/kern/kern_idle.c#21 integrate .. //depot/projects/hammer/sys/kern/kern_intr.c#47 integrate .. //depot/projects/hammer/sys/kern/kern_kse.c#38 integrate .. //depot/projects/hammer/sys/kern/kern_kthread.c#14 integrate .. //depot/projects/hammer/sys/kern/kern_mbuf.c#26 integrate .. //depot/projects/hammer/sys/kern/kern_proc.c#60 integrate .. //depot/projects/hammer/sys/kern/kern_shutdown.c#47 integrate .. //depot/projects/hammer/sys/kern/kern_sig.c#83 integrate .. //depot/projects/hammer/sys/kern/kern_thr.c#39 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#99 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#53 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#83 integrate .. //depot/projects/hammer/sys/modules/Makefile#117 integrate .. //depot/projects/hammer/sys/modules/geom/Makefile#16 integrate .. //depot/projects/hammer/sys/modules/nxge/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/wpi/Makefile#1 branch .. //depot/projects/hammer/sys/modules/wpifw/Makefile#1 branch .. //depot/projects/hammer/sys/net/if_bridge.c#38 integrate .. //depot/projects/hammer/sys/net/if_bridgevar.h#13 integrate .. //depot/projects/hammer/sys/net/if_disc.c#23 integrate .. //depot/projects/hammer/sys/net/if_ethersubr.c#69 integrate .. //depot/projects/hammer/sys/net/if_loop.c#31 integrate .. //depot/projects/hammer/sys/net80211/ieee80211.h#14 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_freebsd.c#14 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_freebsd.h#13 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ht.h#3 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_input.c#40 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.c#35 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.h#20 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.c#43 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.h#25 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_output.c#32 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_proto.c#31 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_proto.h#19 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_scan_ap.c#2 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_scan_sta.c#5 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_var.h#31 integrate .. //depot/projects/hammer/sys/netatalk/aarp.c#21 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#20 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#19 integrate .. //depot/projects/hammer/sys/netgraph/ng_base.c#50 integrate .. //depot/projects/hammer/sys/netinet/if_ether.c#40 integrate .. //depot/projects/hammer/sys/netinet/igmp.c#15 integrate .. //depot/projects/hammer/sys/netinet/ip_dummynet.c#44 integrate .. //depot/projects/hammer/sys/netinet/ip_dummynet.h#17 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#89 integrate .. //depot/projects/hammer/sys/netinet/ip_fw_pfil.c#18 integrate .. //depot/projects/hammer/sys/netinet/ip_icmp.c#38 integrate .. //depot/projects/hammer/sys/netinet/sctp_constants.h#16 integrate .. //depot/projects/hammer/sys/netinet/sctp_output.c#18 integrate .. //depot/projects/hammer/sys/netinet/sctp_pcb.c#18 integrate .. //depot/projects/hammer/sys/netinet/sctp_pcb.h#13 integrate .. //depot/projects/hammer/sys/netinet/sctp_usrreq.c#18 integrate .. //depot/projects/hammer/sys/netinet/sctputil.c#20 integrate .. //depot/projects/hammer/sys/netinet/sctputil.h#12 integrate .. //depot/projects/hammer/sys/netinet6/nd6.c#34 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#50 integrate .. //depot/projects/hammer/sys/nfsserver/nfs.h#14 integrate .. //depot/projects/hammer/sys/nfsserver/nfs_srvsubs.c#28 integrate .. //depot/projects/hammer/sys/pc98/conf/GENERIC#46 integrate .. //depot/projects/hammer/sys/pc98/pc98/machdep.c#19 integrate .. //depot/projects/hammer/sys/pci/agp.c#22 integrate .. //depot/projects/hammer/sys/pci/agp_ali.c#14 integrate .. //depot/projects/hammer/sys/pci/agp_amd.c#14 integrate .. //depot/projects/hammer/sys/pci/agp_amd64.c#13 integrate .. //depot/projects/hammer/sys/pci/agp_ati.c#4 integrate .. //depot/projects/hammer/sys/pci/agp_i810.c#25 integrate .. //depot/projects/hammer/sys/pci/agp_intel.c#20 integrate .. //depot/projects/hammer/sys/pci/agp_nvidia.c#8 integrate .. //depot/projects/hammer/sys/pci/agp_sis.c#18 integrate .. //depot/projects/hammer/sys/pci/agp_via.c#20 integrate .. //depot/projects/hammer/sys/pci/agppriv.h#5 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/machdep.c#46 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/pmap_dispatch.c#8 integrate .. //depot/projects/hammer/sys/security/audit/audit.c#11 integrate .. //depot/projects/hammer/sys/security/audit/audit_bsm_klib.c#7 integrate .. //depot/projects/hammer/sys/security/audit/audit_pipe.c#7 integrate .. //depot/projects/hammer/sys/security/mac/mac_atalk.c#1 branch .. //depot/projects/hammer/sys/security/mac/mac_framework.h#8 integrate .. //depot/projects/hammer/sys/security/mac/mac_inet.c#6 integrate .. //depot/projects/hammer/sys/security/mac/mac_inet6.c#1 branch .. //depot/projects/hammer/sys/security/mac/mac_internal.h#13 integrate .. //depot/projects/hammer/sys/security/mac/mac_net.c#16 integrate .. //depot/projects/hammer/sys/security/mac/mac_policy.h#9 integrate .. //depot/projects/hammer/sys/security/mac_biba/mac_biba.c#45 integrate .. //depot/projects/hammer/sys/security/mac_bsdextended/mac_bsdextended.c#28 integrate .. //depot/projects/hammer/sys/security/mac_ifoff/mac_ifoff.c#14 integrate .. //depot/projects/hammer/sys/security/mac_lomac/mac_lomac.c#33 integrate .. //depot/projects/hammer/sys/security/mac_mls/mac_mls.c#43 integrate .. //depot/projects/hammer/sys/security/mac_partition/mac_partition.c#14 integrate .. //depot/projects/hammer/sys/security/mac_seeotheruids/mac_seeotheruids.c#14 integrate .. //depot/projects/hammer/sys/security/mac_stub/mac_stub.c#27 integrate .. //depot/projects/hammer/sys/security/mac_test/mac_test.c#45 integrate .. //depot/projects/hammer/sys/sparc64/isa/isa.c#16 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#51 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/pmap.c#47 integrate .. //depot/projects/hammer/sys/sun4v/sun4v/machdep.c#4 integrate .. //depot/projects/hammer/sys/sun4v/sun4v/pmap.c#4 integrate .. //depot/projects/hammer/sys/sys/kthread.h#4 integrate .. //depot/projects/hammer/sys/sys/proc.h#109 integrate .. //depot/projects/hammer/sys/sys/signalvar.h#21 integrate .. //depot/projects/hammer/sys/vm/phys_pager.c#14 integrate .. //depot/projects/hammer/sys/vm/pmap.h#29 integrate .. //depot/projects/hammer/sys/vm/swap_pager.c#55 integrate .. //depot/projects/hammer/sys/vm/vm_extern.h#18 integrate .. //depot/projects/hammer/sys/vm/vm_glue.c#49 integrate .. //depot/projects/hammer/sys/vm/vm_map.c#65 integrate .. //depot/projects/hammer/sys/vm/vm_page.c#63 integrate .. //depot/projects/hammer/tools/build/options/makeman#4 integrate .. //depot/projects/hammer/tools/regression/geom_eli/init-a.t#3 integrate .. //depot/projects/hammer/tools/regression/geom_eli/init.t#4 integrate .. //depot/projects/hammer/tools/regression/geom_eli/integrity-copy.t#3 integrate .. //depot/projects/hammer/tools/regression/geom_eli/integrity-data.t#3 integrate .. //depot/projects/hammer/tools/regression/geom_eli/integrity-hmac.t#3 integrate .. //depot/projects/hammer/tools/regression/geom_eli/onetime-a.t#3 integrate .. //depot/projects/hammer/tools/regression/geom_eli/onetime.t#4 integrate .. //depot/projects/hammer/tools/tools/net80211/wlanstats/main.c#2 integrate .. //depot/projects/hammer/tools/tools/net80211/wlanstats/statfoo.c#2 integrate .. //depot/projects/hammer/tools/tools/net80211/wlanstats/wlanstats.c#5 integrate .. //depot/projects/hammer/tools/tools/nxge/Makefile#2 integrate .. //depot/projects/hammer/tools/tools/nxge/xge_cmn.h#2 integrate .. //depot/projects/hammer/tools/tools/nxge/xge_info.c#2 integrate .. //depot/projects/hammer/tools/tools/nxge/xge_info.h#2 integrate .. //depot/projects/hammer/tools/tools/nxge/xge_log.c#2 integrate .. //depot/projects/hammer/tools/tools/nxge/xge_log.h#2 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.freebsd#58 integrate .. //depot/projects/hammer/usr.bin/calendar/io.c#4 integrate .. //depot/projects/hammer/usr.bin/du/du.c#15 integrate .. //depot/projects/hammer/usr.bin/file2c/file2c.1#5 integrate .. //depot/projects/hammer/usr.bin/file2c/file2c.c#4 integrate .. //depot/projects/hammer/usr.bin/fstat/Makefile#4 integrate .. //depot/projects/hammer/usr.bin/fstat/fstat.c#20 integrate .. //depot/projects/hammer/usr.bin/fstat/fstat.h#5 integrate .. //depot/projects/hammer/usr.bin/fstat/zfs/Makefile#1 branch .. //depot/projects/hammer/usr.bin/fstat/zfs/zfs.c#1 branch .. //depot/projects/hammer/usr.bin/lockf/lockf.1#9 integrate .. //depot/projects/hammer/usr.bin/make/make.1#31 integrate .. //depot/projects/hammer/usr.bin/mklocale/ldef.h#4 integrate .. //depot/projects/hammer/usr.bin/msgs/msgs.c#6 integrate .. //depot/projects/hammer/usr.bin/passwd/passwd.1#9 integrate .. //depot/projects/hammer/usr.bin/tail/read.c#5 integrate .. //depot/projects/hammer/usr.bin/tail/reverse.c#5 integrate .. //depot/projects/hammer/usr.bin/tail/tail.c#5 integrate .. //depot/projects/hammer/usr.bin/tftp/tftp.1#8 integrate .. //depot/projects/hammer/usr.bin/top/machine.c#20 integrate .. //depot/projects/hammer/usr.bin/xstr/xstr.1#6 integrate .. //depot/projects/hammer/usr.sbin/bluetooth/sdpcontrol/search.c#5 integrate .. //depot/projects/hammer/usr.sbin/bootparamd/bootparamd/bootparamd.c#4 integrate .. //depot/projects/hammer/usr.sbin/bootparamd/bootparamd/main.c#3 integrate .. //depot/projects/hammer/usr.sbin/bootparamd/callbootd/callbootd.c#3 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.c#6 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.h#5 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/database.c#3 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/do_command.c#7 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/externs.h#2 integrate .. //depot/projects/hammer/usr.sbin/cron/crontab/crontab.c#7 integrate .. //depot/projects/hammer/usr.sbin/cron/lib/entry.c#6 integrate .. //depot/projects/hammer/usr.sbin/crunch/crunchgen/crunched_main.c#2 integrate .. //depot/projects/hammer/usr.sbin/crunch/crunchide/crunchide.c#3 integrate .. //depot/projects/hammer/usr.sbin/devinfo/devinfo.c#6 integrate .. //depot/projects/hammer/usr.sbin/faithd/faithd.c#3 integrate .. //depot/projects/hammer/usr.sbin/faithd/faithd.h#3 integrate .. //depot/projects/hammer/usr.sbin/faithd/ftp.c#5 integrate .. //depot/projects/hammer/usr.sbin/faithd/prefix.c#4 integrate .. //depot/projects/hammer/usr.sbin/faithd/prefix.h#2 integrate .. //depot/projects/hammer/usr.sbin/faithd/tcp.c#3 integrate .. //depot/projects/hammer/usr.sbin/fwcontrol/fwcontrol.8#14 integrate .. //depot/projects/hammer/usr.sbin/ifmcstat/ifmcstat.8#5 integrate .. //depot/projects/hammer/usr.sbin/ip6addrctl/ip6addrctl.c#4 integrate .. //depot/projects/hammer/usr.sbin/keyserv/keyserv.c#3 integrate .. //depot/projects/hammer/usr.sbin/keyserv/keyserv.h#4 integrate .. //depot/projects/hammer/usr.sbin/keyserv/setkey.c#2 integrate .. //depot/projects/hammer/usr.sbin/lpr/lpd/lpd.c#6 integrate .. //depot/projects/hammer/usr.sbin/mountd/mountd.c#22 integrate .. //depot/projects/hammer/usr.sbin/mtree/mtree.c#8 integrate .. //depot/projects/hammer/usr.sbin/ndp/ndp.c#11 integrate .. //depot/projects/hammer/usr.sbin/pccard/pccardc/enabler.c#3 integrate .. //depot/projects/hammer/usr.sbin/pciconf/cap.c#3 integrate .. //depot/projects/hammer/usr.sbin/pciconf/pciconf.8#9 integrate .. //depot/projects/hammer/usr.sbin/pciconf/pciconf.h#2 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/Makefile#7 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/add/main.c#20 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/create/main.c#9 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/delete/main.c#5 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/info/main.c#10 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/lib/match.c#7 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/sign/extern.h#2 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/sign/gzip.h#2 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/sign/pgp.h#2 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/sign/stand.h#3 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/updating/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/pkg_install/updating/main.c#1 branch .. //depot/projects/hammer/usr.sbin/pkg_install/updating/pathnames.h#1 branch .. //depot/projects/hammer/usr.sbin/pkg_install/updating/pkg_updating.1#1 branch .. //depot/projects/hammer/usr.sbin/pkg_install/version/main.c#8 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/version/perform.c#12 integrate .. //depot/projects/hammer/usr.sbin/pppd/auth.c#5 integrate .. //depot/projects/hammer/usr.sbin/pppd/cbcp.c#5 integrate .. //depot/projects/hammer/usr.sbin/pppd/ccp.c#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/chap.c#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/chap.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/chap_ms.c#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/chap_ms.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/demand.c#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/eui64.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/fsm.c#4 integrate .. //depot/projects/hammer/usr.sbin/pppd/fsm.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/ipcp.c#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/ipcp.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/ipv6cp.c#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/ipv6cp.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/ipxcp.c#3 integrate .. //depot/projects/hammer/usr.sbin/pppd/lcp.c#4 integrate .. //depot/projects/hammer/usr.sbin/pppd/lcp.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/magic.c#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/magic.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/main.c#5 integrate .. //depot/projects/hammer/usr.sbin/pppd/options.c#3 integrate .. //depot/projects/hammer/usr.sbin/pppd/pppd.h#3 integrate .. //depot/projects/hammer/usr.sbin/pppd/sys-bsd.c#6 integrate .. //depot/projects/hammer/usr.sbin/pppd/upap.c#2 integrate .. //depot/projects/hammer/usr.sbin/pppd/upap.h#2 integrate .. //depot/projects/hammer/usr.sbin/pppstats/pppstats.c#2 integrate .. //depot/projects/hammer/usr.sbin/rip6query/rip6query.c#4 integrate .. //depot/projects/hammer/usr.sbin/route6d/route6d.c#8 integrate .. //depot/projects/hammer/usr.sbin/rpc.lockd/lockd.c#8 integrate .. //depot/projects/hammer/usr.sbin/rpc.lockd/rpc.lockd.8#5 integrate .. //depot/projects/hammer/usr.sbin/rpc.statd/rpc.statd.8#5 integrate .. //depot/projects/hammer/usr.sbin/rpc.statd/statd.c#7 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/check_bound.c#3 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/pmap_svc.c#3 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/rpcb_svc.c#3 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/rpcb_svc_4.c#3 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/rpcb_svc_com.c#5 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/rpcbind.c#10 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/rpcbind.h#3 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/util.c#3 integrate .. //depot/projects/hammer/usr.sbin/rpcbind/warmstart.c#4 integrate .. //depot/projects/hammer/usr.sbin/rrenumd/lexer.l#2 integrate .. //depot/projects/hammer/usr.sbin/rrenumd/parser.y#3 integrate .. //depot/projects/hammer/usr.sbin/rrenumd/rrenumd.c#5 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/advcap.c#4 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/advcap.h#3 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/config.c#11 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/config.h#3 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/dump.c#3 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/dump.h#2 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/if.c#4 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/if.h#3 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/rrenum.h#2 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/rtadvd.c#7 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/rtadvd.h#3 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/timer.c#4 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/timer.h#3 integrate .. //depot/projects/hammer/usr.sbin/rtsold/dump.c#4 integrate .. //depot/projects/hammer/usr.sbin/rtsold/if.c#5 integrate .. //depot/projects/hammer/usr.sbin/rtsold/probe.c#4 integrate .. //depot/projects/hammer/usr.sbin/rtsold/rtsock.c#5 integrate .. //depot/projects/hammer/usr.sbin/rtsold/rtsol.c#4 integrate .. //depot/projects/hammer/usr.sbin/rtsold/rtsold.c#5 integrate .. //depot/projects/hammer/usr.sbin/rtsold/rtsold.h#4 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/config.c#27 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/dmenu.c#4 integrate .. //depot/projects/hammer/usr.sbin/tcpdrop/tcpdrop.c#3 integrate .. //depot/projects/hammer/usr.sbin/timed/timed/correct.c#2 integrate .. //depot/projects/hammer/usr.sbin/timed/timed/extern.h#2 integrate .. //depot/projects/hammer/usr.sbin/timed/timed/master.c#2 integrate .. //depot/projects/hammer/usr.sbin/timed/timed/networkdelta.c#2 integrate .. //depot/projects/hammer/usr.sbin/timed/timed/slave.c#2 integrate .. //depot/projects/hammer/usr.sbin/timed/timedc/extern.h#2 integrate .. //depot/projects/hammer/usr.sbin/timed/timedc/timedc.c#4 integrate .. //depot/projects/hammer/usr.sbin/traceroute6/traceroute6.c#12 integrate .. //depot/projects/hammer/usr.sbin/wpa/hostapd/hostapd.8#3 integrate .. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#11 integrate Differences ... ==== //depot/projects/hammer/Makefile.inc1#127 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.589 2007/10/15 13:50:46 emaste Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.590 2007/10/31 09:26:42 yar Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -159,7 +159,14 @@ STRICTTMPPATH= ${BPATH}:${XPATH} TMPPATH= ${STRICTTMPPATH}:${PATH} +# +# Avoid running mktemp(1) unless actually needed. +# It may not be functional, e.g., due to new ABI +# when in the middle of installing over this system. +# +.if make(distributeworld) || make(installworld) INSTALLTMP!= /usr/bin/mktemp -d -u -t install +.endif # # Building a world goes through the following stages @@ -265,14 +272,16 @@ .endif # install stage +IMAKEENV= ${CROSSENV} +IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 .if empty(.MAKEFLAGS:M-n) -IMAKEENV= ${CROSSENV} \ - PATH=${STRICTTMPPATH}:${INSTALLTMP} +IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \ + LD_LIBRARY_PATH=${INSTALLTMP} \ + PATH_LOCALE=${INSTALLTMP}/locale +IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh .else -IMAKEENV= ${CROSSENV} \ - PATH=${TMPPATH}:${INSTALLTMP} +IMAKEENV+= PATH=${TMPPATH}:${INSTALLTMP} .endif -IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 # kernel stage KMAKEENV= ${WMAKEENV} @@ -576,6 +585,14 @@ .endfor # +# Required install tools to be saved in a scratch dir for safety. +# +ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ + date echo egrep find grep install-info \ + ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ + test true uname wc zic + +# # distributeworld # # Distributes everything compiled by a `buildworld'. @@ -586,19 +603,20 @@ # distributeworld installworld: installcheck mkdir -p ${INSTALLTMP} - for prog in [ awk cap_mkdb cat chflags chmod chown \ - date echo egrep find grep install-info \ - ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ - test true uname wc zic; do \ + for prog in ${ITOOLS}; do \ if progpath=`which $$prog`; then \ - cp $$progpath ${INSTALLTMP}; \ + progs="$$progs $$progpath"; \ else \ - echo "Required install tool $$prog not found" >&2; \ + echo "Required tool $$prog not found in PATH." >&2; \ exit 1; \ fi; \ - done - ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//} - rm -rf ${INSTALLTMP} + done; \ + cp $$progs ${INSTALLTMP}; \ + cp `ldd -f "%p\n" -f "%p\n" $$progs 2>/dev/null | \ + sort -u` ${INSTALLTMP} + cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale + ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \ + ${IMAKEENV} rm -rf ${INSTALLTMP} # # reinstall ==== //depot/projects/hammer/ObsoleteFiles.inc#38 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.115 2007/10/25 18:10:05 mtm Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.116 2007/10/30 11:37:37 bushman Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -17,6 +17,7 @@ # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd +OLD_FILES+=etc/cached.conf OLD_FILES+=etc/rc.d/cached OLD_FILES+=usr/sbin/cached OLD_FILES+=usr/share/man/man5/cached.conf.5.gz ==== //depot/projects/hammer/bin/mv/mv.1#7 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)mv.1 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/bin/mv/mv.1,v 1.29 2007/05/12 22:18:27 pav Exp $ +.\" $FreeBSD: src/bin/mv/mv.1,v 1.30 2007/11/01 09:49:45 ru Exp $ .\" -.Dd July 9, 2002 +.Dd May 12, 2007 .Dt MV 1 .Os .Sh NAME ==== //depot/projects/hammer/bin/ps/extern.h#11 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)extern.h 8.3 (Berkeley) 4/2/94 - * $FreeBSD: src/bin/ps/extern.h,v 1.37 2004/06/23 23:48:09 gad Exp $ + * $FreeBSD: src/bin/ps/extern.h,v 1.38 2007/10/26 08:00:40 julian Exp $ */ struct kinfo; @@ -39,7 +39,7 @@ extern int cflag, eval, fscale, nlistread, rawcpu; extern unsigned long mempages; extern time_t now; -extern int sumrusage, termwidth, totwidth; +extern int showthreads, sumrusage, termwidth, totwidth; extern STAILQ_HEAD(velisthead, varent) varlist; __BEGIN_DECLS @@ -78,6 +78,7 @@ void showkey(void); void started(KINFO *, VARENT *); void state(KINFO *, VARENT *); +void tdnam(KINFO *, VARENT *); void tdev(KINFO *, VARENT *); void tname(KINFO *, VARENT *); void ucomm(KINFO *, VARENT *); ==== //depot/projects/hammer/bin/ps/keyword.c#18 (text+ko) ==== @@ -33,7 +33,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/keyword.c,v 1.76 2006/04/06 03:24:31 gad Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/keyword.c,v 1.78 2007/10/28 17:10:36 julian Exp $"); #include #include @@ -186,6 +186,7 @@ {"svuid", "SVUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_svuid), UINT, UIDFMT, 0}, {"tdev", "TDEV", NULL, 0, tdev, NULL, 4, 0, CHAR, NULL, 0}, + {"tdnam", "TDNAM", NULL, LJUST, tdnam, NULL, COMMLEN, 0, CHAR, NULL, 0}, {"time", "TIME", NULL, USER, cputime, NULL, 9, 0, CHAR, NULL, 0}, {"tpgid", "TPGID", NULL, 0, kvar, NULL, 4, KOFF(ki_tpgid), UINT, PIDFMT, 0}, ==== //depot/projects/hammer/bin/ps/print.c#17 (text+ko) ==== @@ -34,7 +34,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/print.c,v 1.95 2007/09/17 05:27:18 jeff Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/print.c,v 1.96 2007/10/26 08:00:40 julian Exp $"); #include #include @@ -129,9 +129,11 @@ v = ve->var; if (cflag) { /* If it is the last field, then don't pad */ - if (STAILQ_NEXT(ve, next_ve) == NULL) + if (STAILQ_NEXT(ve, next_ve) == NULL) { (void)printf("%s", k->ki_p->ki_comm); - else + if (showthreads && k->ki_p->ki_numthreads > 1) + printf("/%s", k->ki_p->ki_ocomm); + } else (void)printf("%-*s", v->width, k->ki_p->ki_comm); return; } @@ -178,13 +180,28 @@ VAR *v; v = ve->var; - if (STAILQ_NEXT(ve, next_ve) == NULL) /* last field, don't pad */ + if (STAILQ_NEXT(ve, next_ve) == NULL) { /* last field, don't pad */ (void)printf("%s", k->ki_p->ki_comm); - else + if (showthreads && k->ki_p->ki_numthreads > 1) + printf("/%s", k->ki_p->ki_ocomm); + } else (void)printf("%-*s", v->width, k->ki_p->ki_comm); } void +tdnam(KINFO *k, VARENT *ve) +{ + VAR *v; + + v = ve->var; + if (showthreads && k->ki_p->ki_numthreads > 1) + (void)printf("%-*s", v->width, k->ki_p->ki_ocomm); + else + (void)printf("%-*s", v->width, " " ); + +} + +void logname(KINFO *k, VARENT *ve) { VAR *v; ==== //depot/projects/hammer/bin/ps/ps.c#21 (text+ko) ==== @@ -47,7 +47,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.111 2007/09/17 05:27:18 jeff Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.112 2007/10/26 08:00:40 julian Exp $"); #include #include @@ -98,6 +98,7 @@ int sumrusage; /* -S */ int termwidth; /* Width of the screen (0 == infinity). */ int totwidth; /* Calculated-width of requested variables. */ +int showthreads; /* will threads be shown? */ struct velisthead varlist = STAILQ_HEAD_INITIALIZER(varlist); @@ -175,7 +176,7 @@ char *cols; int all, ch, elem, flag, _fmt, i, lineno; int nentries, nkept, nselectors; - int prtheader, showthreads, wflag, what, xkeep, xkeep_implied; + int prtheader, wflag, what, xkeep, xkeep_implied; char errbuf[_POSIX2_LINE_MAX]; (void) setlocale(LC_ALL, ""); ==== //depot/projects/hammer/contrib/libreadline/FREEBSD-upgrade#8 (text+ko) ==== @@ -1,7 +1,8 @@ -# $FreeBSD: src/contrib/libreadline/FREEBSD-upgrade,v 1.10 2007/04/12 14:45:25 ache Exp $ +# $FreeBSD: src/contrib/libreadline/FREEBSD-upgrade,v 1.11 2007/11/07 04:44:11 ache Exp $ # # Official patch 001 imported as v5_2_p1 # Official patch 002 imported as v5_2_p2 +# Official patches 003-007 imported as v5_2_p3_p7 # rm doc/*.dvi doc/*.html doc/*.ps doc/*.0 doc/*.info doc/*.tex doc/texi2* doc/*.pdf ==== //depot/projects/hammer/contrib/libreadline/complete.c#8 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/complete.c,v 1.13 2006/12/31 09:22:31 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/complete.c,v 1.14 2007/11/07 04:42:20 ache Exp $ */ /* complete.c -- filename completion for readline. */ /* Copyright (C) 1987-2005 Free Software Foundation, Inc. @@ -429,7 +429,7 @@ return (1); if (c == 'n' || c == 'N' || c == RUBOUT) return (0); - if (c == ABORT_CHAR) + if (c == ABORT_CHAR || c < 0) _rl_abort_internal (); if (for_pager && (c == NEWLINE || c == RETURN)) return (2); ==== //depot/projects/hammer/contrib/libreadline/display.c#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/display.c,v 1.13 2007/04/12 14:45:25 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/display.c,v 1.14 2007/11/07 04:42:20 ache Exp $ */ /* display.c -- readline redisplay facility. */ /* Copyright (C) 1987-2006 Free Software Foundation, Inc. @@ -1519,11 +1519,31 @@ { /* Non-zero if we're increasing the number of lines. */ int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin; + /* If col_lendiff is > 0, implying that the new string takes up more + screen real estate than the old, but lendiff is < 0, meaning that it + takes fewer bytes, we need to just output the characters starting + from the first difference. These will overwrite what is on the + display, so there's no reason to do a smart update. This can really + only happen in a multibyte environment. */ + if (lendiff < 0) + { + _rl_output_some_chars (nfd, temp); + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + /* If nfd begins before any invisible characters in the prompt, + adjust _rl_last_c_pos to account for wrap_offset and set + cpos_adjusted to let the caller know. */ + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + return; + } /* Sometimes it is cheaper to print the characters rather than use the terminal's capabilities. If we're growing the number of lines, make sure we actually cause the new line to wrap around on auto-wrapping terminals. */ - if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) + else if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) { /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and _rl_horizontal_scroll_mode == 1, inserting the characters with @@ -1599,8 +1619,22 @@ temp = nls - nfd; if (temp > 0) { + /* If nfd begins at the prompt, or before the invisible + characters in the prompt, we need to adjust _rl_last_c_pos + in a multibyte locale to account for the wrap offset and + set cpos_adjusted accordingly. */ _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += _rl_col_width (nfd, 0, temp);; + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + } + else + _rl_last_c_pos += temp; } } /* Otherwise, print over the existing material. */ @@ -1608,8 +1642,20 @@ { if (temp > 0) { + /* If nfd begins at the prompt, or before the invisible + characters in the prompt, we need to adjust _rl_last_c_pos + in a multibyte locale to account for the wrap offset and + set cpos_adjusted accordingly. */ _rl_output_some_chars (nfd, temp); _rl_last_c_pos += col_temp; /* XXX */ + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 7 19:58:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 41AA816A468; Wed, 7 Nov 2007 19:58:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E540716A420 for ; Wed, 7 Nov 2007 19:58:34 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D5ED913C4AC for ; Wed, 7 Nov 2007 19:58:34 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA7JwYiW031298 for ; Wed, 7 Nov 2007 19:58:34 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA7JwYkx031295 for perforce@freebsd.org; Wed, 7 Nov 2007 19:58:34 GMT (envelope-from peter@freebsd.org) Date: Wed, 7 Nov 2007 19:58:34 GMT Message-Id: <200711071958.lA7JwYkx031295@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 128784 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, 07 Nov 2007 19:58:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=128784 Change 128784 by peter@peter_overcee on 2007/11/07 19:57:56 Begin backporting amd64 smp startup. Eliminates a whole mess of bogus code that dates back to the early i386 smp pcpu stuff at a fixed virtual address. This became a sewer dumping ground for stuff that didn't need to be there. It also isn't minidump friendly. Affected files ... .. //depot/projects/hammer/sys/i386/i386/locore.s#17 edit .. //depot/projects/hammer/sys/i386/i386/machdep.c#80 edit .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#66 edit .. //depot/projects/hammer/sys/i386/i386/pmap.c#98 edit .. //depot/projects/hammer/sys/i386/include/pmap.h#31 edit .. //depot/projects/hammer/sys/i386/include/privatespace.h#3 delete Differences ... ==== //depot/projects/hammer/sys/i386/i386/locore.s#17 (text+ko) ==== @@ -72,17 +72,7 @@ .set PTD,PTmap + (PTDPTDI * PAGE_SIZE) .set PTDpde,PTD + (PTDPTDI * PDESIZE) -#ifdef SMP /* - * Define layout of per-cpu address space. - * This is "constructed" in locore.s on the BSP and in mp_machdep.c - * for each AP. DO NOT REORDER THESE WITHOUT UPDATING THE REST! - */ - .globl SMP_prvspace - .set SMP_prvspace,(MPPTDI << PDRSHIFT) -#endif /* SMP */ - -/* * Compiled KERNBASE location and the kernel load address */ .globl kernbase @@ -106,16 +96,6 @@ KERNend: .long 0 /* phys addr end of kernel (just after bss) */ physfree: .long 0 /* phys addr of next free page */ -#ifdef SMP - .globl cpu0prvpage -cpu0pp: .long 0 /* phys addr cpu0 private pg */ -cpu0prvpage: .long 0 /* relocated version */ - - .globl SMPpt -SMPptpa: .long 0 /* phys addr SMP page table */ -SMPpt: .long 0 /* relocated version */ -#endif /* SMP */ - .globl IdlePTD IdlePTD: .long 0 /* phys addr of kernel PTD */ @@ -763,20 +743,6 @@ addl $KERNBASE, %esi movl %esi, R(vm86paddr) -#ifdef SMP -/* Allocate cpu0's private data page */ - ALLOCPAGES(1) - movl %esi,R(cpu0pp) - addl $KERNBASE, %esi - movl %esi, R(cpu0prvpage) /* relocated to KVM space */ - -/* Allocate SMP page table page */ - ALLOCPAGES(1) - movl %esi,R(SMPptpa) - addl $KERNBASE, %esi - movl %esi, R(SMPpt) /* relocated to KVM space */ -#endif /* SMP */ - /* * Enable PSE and PGE. */ @@ -854,37 +820,6 @@ movl $ISA_HOLE_LENGTH>>PAGE_SHIFT, %ecx fillkpt(R(vm86pa), $PG_RW|PG_U) -#ifdef SMP -/* Map cpu0's private page into global kmem (4K @ cpu0prvpage) */ - movl R(cpu0pp), %eax - movl $1, %ecx - fillkptphys($PG_RW) - -/* Map SMP page table page into global kmem FWIW */ - movl R(SMPptpa), %eax - movl $1, %ecx - fillkptphys($PG_RW) - -/* Map the private page into the SMP page table */ - movl R(cpu0pp), %eax - movl $0, %ebx /* pte offset = 0 */ - movl $1, %ecx /* one private page coming right up */ - fillkpt(R(SMPptpa), $PG_RW) - -/* ... and put the page table table in the pde. */ - movl R(SMPptpa), %eax - movl $MPPTDI, %ebx - movl $1, %ecx - fillkpt(R(IdlePTD), $PG_RW) - -/* Fakeup VA for the local apic to allow early traps. */ - ALLOCPAGES(1) - movl %esi, %eax - movl $(NPTEPG-1), %ebx /* pte offset = NTEPG-1 */ - movl $1, %ecx /* one private pt coming right up */ - fillkpt(R(SMPptpa), $PG_RW) -#endif /* SMP */ - /* * Create an identity mapping for low physical memory, including the kernel. * The part of this mapping that covers the first 1 MB of physical memory ==== //depot/projects/hammer/sys/i386/i386/machdep.c#80 (text+ko) ==== @@ -127,7 +127,6 @@ #include #endif #ifdef SMP -#include #include #endif @@ -207,9 +206,7 @@ struct kva_md_info kmi; static struct trapframe proc0_tf; -#ifndef SMP -static struct pcpu __pcpu; -#endif +struct pcpu __pcpu[MAXCPU]; struct mtx icu_lock; @@ -2116,11 +2113,7 @@ gdt_segs[GUFS_SEL].ssd_limit = atop(0 - 1); gdt_segs[GUGS_SEL].ssd_limit = atop(0 - 1); -#ifdef SMP - pc = &SMP_prvspace[0].pcpu; -#else - pc = &__pcpu; -#endif + pc = &__pcpu[0]; gdt_segs[GPRIV_SEL].ssd_limit = atop(0 - 1); gdt_segs[GPRIV_SEL].ssd_base = (int) pc; gdt_segs[GPROC0_SEL].ssd_base = (int) &pc->pc_common_tss; ==== //depot/projects/hammer/sys/i386/i386/mp_machdep.c#66 (text+ko) ==== @@ -78,7 +78,6 @@ #include #include #include -#include #define WARMBOOT_TARGET 0 #define WARMBOOT_OFF (KERNBASE + 0x0467) @@ -134,6 +133,8 @@ int boot_cpu_id = -1; /* designated BSP */ extern int nkpt; +extern struct pcpu __pcpu[]; + /* * CPU topology map datastructures for HTT. */ @@ -147,9 +148,6 @@ /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; -/* SMP page table page */ -extern pt_entry_t *SMPpt; - struct pcb stoppcbs[MAXCPU]; /* Variables needed for SMP tlb shootdown. */ @@ -493,6 +491,7 @@ void init_secondary(void) { + struct pcpu *pc; vm_offset_t addr; int gsel_tss; int x, myid; @@ -500,11 +499,10 @@ /* bootAP is set in start_ap() to our ID. */ myid = bootAP; - gdt_segs[GPRIV_SEL].ssd_base = (int) &SMP_prvspace[myid]; - gdt_segs[GPROC0_SEL].ssd_base = - (int) &SMP_prvspace[myid].pcpu.pc_common_tss; - SMP_prvspace[myid].pcpu.pc_prvspace = - &SMP_prvspace[myid].pcpu; + pc = &__pcpu[myid]; + gdt_segs[GPRIV_SEL].ssd_base = (int) &pc; + gdt_segs[GPROC0_SEL].ssd_base = (int) &pc->pcpu.pc_common_tss; + pc->pc_prvspace = pc; for (x = 0; x < NGDT; x++) { ssdtosd(&gdt_segs[x], &gdt[myid * NGDT + x].sd); @@ -760,15 +758,10 @@ /* first page of AP's private space */ pg = cpu * i386_btop(sizeof(struct privatespace)); - /* allocate a new private data page */ - pc = (struct pcpu *)kmem_alloc(kernel_map, PAGE_SIZE); - - /* wire it into the private page table page */ - SMPpt[pg] = (pt_entry_t)(PG_V | PG_RW | vtophys(pc)); - /* allocate and set up an idle stack data page */ stack = (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); /* XXXKSE */ for (i = 0; i < KSTACK_PAGES; i++) + /* YYYSMP fix */ SMPpt[pg + 1 + i] = (pt_entry_t) (PG_V | PG_RW | vtophys(PAGE_SIZE * i + stack)); @@ -784,6 +777,7 @@ outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif + /* allocate kstack like on amd64 */ bootSTK = &SMP_prvspace[cpu].idlekstack[KSTACK_PAGES * PAGE_SIZE]; bootAP = cpu; @@ -824,7 +818,7 @@ /* Allocate and setup BSP idle stack */ stack = (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); for (i = 0; i < KSTACK_PAGES; i++) - SMPpt[1 + i] = (pt_entry_t) + /* YYYSMP */SMPpt[1 + i] = (pt_entry_t) (PG_V | PG_RW | vtophys(PAGE_SIZE * i + stack)); for (i = 0; i < NKPT; i++) ==== //depot/projects/hammer/sys/i386/i386/pmap.c#98 (text+ko) ==== @@ -1305,11 +1305,7 @@ LIST_INSERT_HEAD(&allpmaps, pmap, pm_list); mtx_unlock_spin(&allpmaps_lock); /* Wire in kernel global address entries. */ - /* XXX copies current process, does not fill in MPPTDI */ bcopy(PTD + KPTDI, pmap->pm_pdir + KPTDI, nkpt * sizeof(pd_entry_t)); -#ifdef SMP - pmap->pm_pdir[MPPTDI] = PTD[MPPTDI]; -#endif /* install self-referential address mapping entry(s) */ for (i = 0; i < NPGPTD; i++) { @@ -1552,9 +1548,6 @@ bzero(pmap->pm_pdir + PTDPTDI, (nkpt + NPGPTD) * sizeof(*pmap->pm_pdir)); -#ifdef SMP - pmap->pm_pdir[MPPTDI] = 0; -#endif pmap_qremove((vm_offset_t)pmap->pm_pdir, NPGPTD); ==== //depot/projects/hammer/sys/i386/include/pmap.h#31 (text+ko) ==== @@ -133,15 +133,8 @@ * * XXX This works for now, but I am not real happy with it, I'll fix it * right after I fix locore.s and the magic 28K hole - * - * SMP_PRIVPAGES: The per-cpu address space is 0xff80000 -> 0xffbfffff */ -#ifdef SMP -#define MPPTDI (NPDEPTD-1) /* per cpu ptd entry */ -#define KPTDI (MPPTDI-NKPDE) /* start of kernel virtual pde's */ -#else -#define KPTDI (NPDEPTD-NKPDE)/* start of kernel virtual pde's */ -#endif /* SMP */ +#define KPTDI (NPDEPTD-NKPDE) /* start of kernel virtual pde's */ #define PTDPTDI (KPTDI-NPGPTD) /* ptd entry that points to ptd! */ /* From owner-p4-projects@FreeBSD.ORG Wed Nov 7 20:07:45 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 72D7916A419; Wed, 7 Nov 2007 20:07:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3454716A420 for ; Wed, 7 Nov 2007 20:07:45 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0E21C13C49D for ; Wed, 7 Nov 2007 20:07:45 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA7K7iiQ032926 for ; Wed, 7 Nov 2007 20:07:44 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA7K7iJE032923 for perforce@freebsd.org; Wed, 7 Nov 2007 20:07:44 GMT (envelope-from peter@freebsd.org) Date: Wed, 7 Nov 2007 20:07:44 GMT Message-Id: <200711072007.lA7K7iJE032923@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 128786 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, 07 Nov 2007 20:07:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=128786 Change 128786 by peter@peter_overcee on 2007/11/07 20:07:10 Missed a bit. Affected files ... .. //depot/projects/hammer/sys/i386/i386/pmap.c#99 edit Differences ... ==== //depot/projects/hammer/sys/i386/i386/pmap.c#99 (text+ko) ==== @@ -242,9 +242,6 @@ */ static caddr_t crashdumpmap; -#ifdef SMP -extern pt_entry_t *SMPpt; -#endif static pt_entry_t *PMAP1 = 0, *PMAP2; static pt_entry_t *PADDR1 = 0, *PADDR2; #ifdef SMP From owner-p4-projects@FreeBSD.ORG Wed Nov 7 20:23:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E9F2316A41A; Wed, 7 Nov 2007 20:23:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2269416A417 for ; Wed, 7 Nov 2007 20:23:02 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 143D413C4A7 for ; Wed, 7 Nov 2007 20:23:02 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA7KN16S033645 for ; Wed, 7 Nov 2007 20:23:01 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA7KN1ns033642 for perforce@freebsd.org; Wed, 7 Nov 2007 20:23:01 GMT (envelope-from peter@freebsd.org) Date: Wed, 7 Nov 2007 20:23:01 GMT Message-Id: <200711072023.lA7KN1ns033642@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 128789 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, 07 Nov 2007 20:23:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=128789 Change 128789 by peter@peter_overcee on 2007/11/07 20:22:20 Theoretically finish backporting amd64 pcpu code and expunging nasty old relics of i386 fixed-va pcpu area. Affected files ... .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#67 edit Differences ... ==== //depot/projects/hammer/sys/i386/i386/mp_machdep.c#67 (text+ko) ==== @@ -145,6 +145,9 @@ char *bootSTK; static int bootAP; +/* Free these after use */ +void *bootstacks[MAXCPU]; + /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; @@ -499,10 +502,18 @@ /* bootAP is set in start_ap() to our ID. */ myid = bootAP; + + /* Get per-cpu data */ pc = &__pcpu[myid]; + + /* prime data pabe or it to use */ + pcpu_init(pc, myid, sizeof(struct pcpu)); + pc->pc_apic_id = cpu_apic_ids[myid]; + pc->pc_prvspace = pc; + pc->pc_curthread = 0; + gdt_segs[GPRIV_SEL].ssd_base = (int) &pc; gdt_segs[GPROC0_SEL].ssd_base = (int) &pc->pcpu.pc_common_tss; - pc->pc_prvspace = pc; for (x = 0; x < NGDT; x++) { ssdtosd(&gdt_segs[x], &gdt[myid * NGDT + x].sd); @@ -726,10 +737,9 @@ u_char mpbiosreason; #endif struct pcpu *pc; - char *stack; uintptr_t kptbase; u_int32_t mpbioswarmvec; - int apic_id, cpu, i, pg; + int apic_id, cpu, i; mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); @@ -755,19 +765,8 @@ for (cpu = 1; cpu < mp_ncpus; cpu++) { apic_id = cpu_apic_ids[cpu]; - /* first page of AP's private space */ - pg = cpu * i386_btop(sizeof(struct privatespace)); - /* allocate and set up an idle stack data page */ - stack = (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); /* XXXKSE */ - for (i = 0; i < KSTACK_PAGES; i++) - /* YYYSMP fix */ - SMPpt[pg + 1 + i] = (pt_entry_t) - (PG_V | PG_RW | vtophys(PAGE_SIZE * i + stack)); - - /* prime data page for it to use */ - pcpu_init(pc, cpu, sizeof(struct pcpu)); - pc->pc_apic_id = apic_id; + bootstacks[cpu] = (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); /* setup a vector to our boot code */ *((volatile u_short *) WARMBOOT_OFF) = WARMBOOT_TARGET; @@ -777,9 +776,7 @@ outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif - /* allocate kstack like on amd64 */ - bootSTK = &SMP_prvspace[cpu].idlekstack[KSTACK_PAGES * - PAGE_SIZE]; + bootSTK = char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 4; bootAP = cpu; /* attempt to start the Application Processor */ @@ -808,19 +805,6 @@ outb(CMOS_DATA, mpbiosreason); #endif - /* - * Set up the idle context for the BSP. Similar to above except - * that some was done by locore, some by pmap.c and some is implicit - * because the BSP is cpu#0 and the page is initially zero and also - * because we can refer to variables by name on the BSP.. - */ - - /* Allocate and setup BSP idle stack */ - stack = (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); - for (i = 0; i < KSTACK_PAGES; i++) - /* YYYSMP */SMPpt[1 + i] = (pt_entry_t) - (PG_V | PG_RW | vtophys(PAGE_SIZE * i + stack)); - for (i = 0; i < NKPT; i++) PTD[i] = 0; pmap_invalidate_range(kernel_pmap, 0, NKPT * NBPDR - 1); From owner-p4-projects@FreeBSD.ORG Wed Nov 7 20:39:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBDBA16A468; Wed, 7 Nov 2007 20:39:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D5FB16A419 for ; Wed, 7 Nov 2007 20:39:19 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5F57613C481 for ; Wed, 7 Nov 2007 20:39:19 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA7KdJhq034472 for ; Wed, 7 Nov 2007 20:39:19 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA7KdJ7T034469 for perforce@freebsd.org; Wed, 7 Nov 2007 20:39:19 GMT (envelope-from peter@freebsd.org) Date: Wed, 7 Nov 2007 20:39:19 GMT Message-Id: <200711072039.lA7KdJ7T034469@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 128790 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, 07 Nov 2007 20:39:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=128790 Change 128790 by peter@peter_work on 2007/11/07 20:39:09 Fix compile breakages. Affected files ... .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#68 edit Differences ... ==== //depot/projects/hammer/sys/i386/i386/mp_machdep.c#68 (text+ko) ==== @@ -513,7 +513,7 @@ pc->pc_curthread = 0; gdt_segs[GPRIV_SEL].ssd_base = (int) &pc; - gdt_segs[GPROC0_SEL].ssd_base = (int) &pc->pcpu.pc_common_tss; + gdt_segs[GPROC0_SEL].ssd_base = (int) &pc->pc_common_tss; for (x = 0; x < NGDT; x++) { ssdtosd(&gdt_segs[x], &gdt[myid * NGDT + x].sd); @@ -596,7 +596,6 @@ printf("SMP: cpuid = %d\n", PCPU_GET(cpuid)); printf("SMP: actual apic_id = %d\n", lapic_id()); printf("SMP: correct apic_id = %d\n", PCPU_GET(apic_id)); - printf("PTD[MPPTDI] = %#jx\n", (uintmax_t)PTD[MPPTDI]); panic("cpuid mismatch! boom!!"); } @@ -736,7 +735,6 @@ #ifndef PC98 u_char mpbiosreason; #endif - struct pcpu *pc; uintptr_t kptbase; u_int32_t mpbioswarmvec; int apic_id, cpu, i; @@ -776,7 +774,7 @@ outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ #endif - bootSTK = char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 4; + bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 4; bootAP = cpu; /* attempt to start the Application Processor */ From owner-p4-projects@FreeBSD.ORG Wed Nov 7 23:59:00 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8BAC616A419; Wed, 7 Nov 2007 23:59:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 342FA16A420 for ; Wed, 7 Nov 2007 23:59:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1990A13C49D for ; Wed, 7 Nov 2007 23:59:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA7Nwxv6057726 for ; Wed, 7 Nov 2007 23:58:59 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA7Nww2a057723 for perforce@freebsd.org; Wed, 7 Nov 2007 23:58:58 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 7 Nov 2007 23:58:58 GMT Message-Id: <200711072358.lA7Nww2a057723@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 128798 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, 07 Nov 2007 23:59:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=128798 Change 128798 by hselasky@hselasky_laptop001 on 2007/11/07 23:58:17 Style all of the USB code according to the following script. I've added a new option to "indent", "-ta", that automatically will recognise all keywords ending in "_t" or "_T" like typedefs. Changes in object files after this commit are due to new line numbers following the use of __LINE__ in the code. indent -Toss_mixerinfo -TFILE -Tu_char -Tu_int -Tu_long \ -Tu_short -Tfd_set -ta -st -bad -bap -nbbb -nbc -br -nbs \ -c41 -cd41 -cdb -ce -ci4 -cli0 -d0 -di8 -ndj -ei -nfc1 \ -nfcb -i8 -ip8 -l79 -lc77 -ldi0 -nlp -npcs -psl -sc \ -nsob -nv | sed -e "s/ __packed/ __packed/g" | sed -e "s/ __aligned/ __aligned/g" Affected files ... .. //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#5 edit .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#21 edit .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_usb.c#5 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#20 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.h#6 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio_pcm.c#8 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudioreg.h#5 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.c#45 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.h#18 edit .. //depot/projects/usb/src/sys/dev/usb/ehci_pci.c#23 edit .. //depot/projects/usb/src/sys/dev/usb/if_aue.c#33 edit .. //depot/projects/usb/src/sys/dev/usb/if_auereg.h#13 edit .. //depot/projects/usb/src/sys/dev/usb/if_axe.c#34 edit .. //depot/projects/usb/src/sys/dev/usb/if_axereg.h#16 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdce.c#27 edit .. //depot/projects/usb/src/sys/dev/usb/if_cdcereg.h#13 edit .. //depot/projects/usb/src/sys/dev/usb/if_cue.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/if_cuereg.h#12 edit .. //depot/projects/usb/src/sys/dev/usb/if_kue.c#31 edit .. //depot/projects/usb/src/sys/dev/usb/if_kuefw.h#6 edit .. //depot/projects/usb/src/sys/dev/usb/if_kuereg.h#11 edit .. //depot/projects/usb/src/sys/dev/usb/if_rue.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/if_ruereg.h#12 edit .. //depot/projects/usb/src/sys/dev/usb/if_rum.c#13 edit .. //depot/projects/usb/src/sys/dev/usb/if_rumfw.h#2 edit .. //depot/projects/usb/src/sys/dev/usb/if_rumreg.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_rumvar.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_udav.c#30 edit .. //depot/projects/usb/src/sys/dev/usb/if_udavreg.h#10 edit .. //depot/projects/usb/src/sys/dev/usb/if_ural.c#37 edit .. //depot/projects/usb/src/sys/dev/usb/if_uralreg.h#15 edit .. //depot/projects/usb/src/sys/dev/usb/if_uralvar.h#19 edit .. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/if_zydfw.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#5 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.c#35 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.h#14 edit .. //depot/projects/usb/src/sys/dev/usb/ohci_pci.c#23 edit .. //depot/projects/usb/src/sys/dev/usb/rio500_usb.h#7 edit .. //depot/projects/usb/src/sys/dev/usb/uark.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/ubsa.c#27 edit .. //depot/projects/usb/src/sys/dev/usb/ubser.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/ucom.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/ucomvar.h#14 edit .. //depot/projects/usb/src/sys/dev/usb/ucycom.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/udbp.c#16 edit .. //depot/projects/usb/src/sys/dev/usb/udbp.h#8 edit .. //depot/projects/usb/src/sys/dev/usb/ufm.c#16 edit .. //depot/projects/usb/src/sys/dev/usb/ufoma.c#26 edit .. //depot/projects/usb/src/sys/dev/usb/uftdi.c#24 edit .. //depot/projects/usb/src/sys/dev/usb/uftdireg.h#6 edit .. //depot/projects/usb/src/sys/dev/usb/ugen.c#26 edit .. //depot/projects/usb/src/sys/dev/usb/ugensa.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.c#37 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.h#15 edit .. //depot/projects/usb/src/sys/dev/usb/uhci_pci.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/uhid.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/uhub.c#20 edit .. //depot/projects/usb/src/sys/dev/usb/uipaq.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/ukbd.c#25 edit .. //depot/projects/usb/src/sys/dev/usb/ulpt.c#26 edit .. //depot/projects/usb/src/sys/dev/usb/umass.c#28 edit .. //depot/projects/usb/src/sys/dev/usb/umct.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/umodem.c#30 edit .. //depot/projects/usb/src/sys/dev/usb/umoscom.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/ums.c#26 edit .. //depot/projects/usb/src/sys/dev/usb/uplcom.c#28 edit .. //depot/projects/usb/src/sys/dev/usb/urio.c#16 edit .. //depot/projects/usb/src/sys/dev/usb/usb.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/usb.h#18 edit .. //depot/projects/usb/src/sys/dev/usb/usb_cdc.h#5 edit .. //depot/projects/usb/src/sys/dev/usb/usb_cdev.c#18 edit .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#5 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hid.h#8 edit .. //depot/projects/usb/src/sys/dev/usb/usb_port.h#19 edit .. //depot/projects/usb/src/sys/dev/usb/usb_quirks.c#14 edit .. //depot/projects/usb/src/sys/dev/usb/usb_quirks.h#7 edit .. //depot/projects/usb/src/sys/dev/usb/usb_requests.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#46 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#48 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#37 edit .. //depot/projects/usb/src/sys/dev/usb/usbhid.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/uscanner.c#13 edit .. //depot/projects/usb/src/sys/dev/usb/uss820_dci.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/uss820_dci.h#3 edit .. //depot/projects/usb/src/sys/dev/usb/uss820_dci_pci.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/uvisor.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/uvscom.c#27 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#17 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#10 edit .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#13 edit .. //depot/projects/usb/src/sys/sys/videodev.h#5 edit .. //depot/projects/usb/src/sys/sys/videokern.h#5 edit Differences ... ==== //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#5 (text) ==== @@ -38,7 +38,7 @@ #include #include #include -#include +#include #include @@ -49,7 +49,7 @@ static device_detach_t ohci_atmelarm_detach; struct at91_ohci_softc { - struct ohci_softc sc_ohci; /* must be first */ + struct ohci_softc sc_ohci; /* must be first */ struct at91_pmc_clock *iclk; struct at91_pmc_clock *fclk; }; @@ -71,31 +71,28 @@ if (sc == NULL) { return ENXIO; } - sc->sc_ohci.sc_hw_ptr = - usbd_mem_alloc(device_get_dma_tag(dev), + usbd_mem_alloc(device_get_dma_tag(dev), &(sc->sc_ohci.sc_hw_page), sizeof(*(sc->sc_ohci.sc_hw_ptr)), LOG2(OHCI_HCCA_ALIGN)); if (sc->sc_ohci.sc_hw_ptr == NULL) { return ENXIO; } - - sc->iclk = at91_pmc_clock_ref("ohci_clk"); + sc->iclk = at91_pmc_clock_ref("ohci_clk"); sc->fclk = at91_pmc_clock_ref("uhpck"); mtx_init(&(sc->sc_ohci.sc_bus.mtx), "usb lock", - NULL, MTX_DEF|MTX_RECURSE); + NULL, MTX_DEF | MTX_RECURSE); sc->sc_ohci.sc_dev = dev; sc->sc_ohci.sc_bus.dma_tag = usbd_dma_tag_alloc(device_get_dma_tag(dev), - USB_PAGE_SIZE, USB_PAGE_SIZE); + USB_PAGE_SIZE, USB_PAGE_SIZE); if (sc->sc_ohci.sc_bus.dma_tag == NULL) { goto error; } - rid = MEM_RID; sc->sc_ohci.sc_io_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); @@ -114,34 +111,31 @@ if (!(sc->sc_ohci.sc_irq_res)) { goto error; } - sc->sc_ohci.sc_bus.bdev = device_add_child(dev, "usb", -1); if (!(sc->sc_ohci.sc_bus.bdev)) { goto error; } - device_set_ivars(sc->sc_ohci.sc_bus.bdev, &(sc->sc_ohci.sc_bus)); device_set_softc(sc->sc_ohci.sc_bus.bdev, &(sc->sc_ohci.sc_bus)); strlcpy(sc->sc_ohci.sc_vendor, "Atmel", sizeof(sc->sc_ohci.sc_vendor)); #if (__FreeBSD_version >= 700031) - err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res, INTR_TYPE_BIO|INTR_MPSAFE, + err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, NULL, (void *)(void *)ohci_interrupt, sc, &(sc->sc_ohci.sc_intr_hdl)); #else - err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res, INTR_TYPE_BIO|INTR_MPSAFE, + err = bus_setup_intr(dev, sc->sc_ohci.sc_irq_res, INTR_TYPE_BIO | INTR_MPSAFE, (void *)(void *)ohci_interrupt, sc, &(sc->sc_ohci.sc_intr_hdl)); #endif if (err) { sc->sc_ohci.sc_intr_hdl = NULL; goto error; } - /* * turn on the clocks from the AT91's point of view. Keep the unit in reset. */ -// bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl, -// OHCI_CONTROL, 0); + //bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl, + //OHCI_CONTROL, 0); at91_pmc_clock_enable(sc->iclk); at91_pmc_clock_enable(sc->fclk); bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl, @@ -151,13 +145,12 @@ if (!err) { err = device_probe_and_attach(sc->sc_ohci.sc_bus.bdev); } - if (err) { goto error; } return 0; - error: +error: ohci_atmelarm_detach(dev); return ENXIO; } @@ -173,7 +166,6 @@ device_delete_child(dev, sc->sc_ohci.sc_bus.bdev); sc->sc_ohci.sc_bus.bdev = NULL; } - /* during module unload there are lots of children leftover */ device_delete_all_children(dev); @@ -186,7 +178,7 @@ * clocks after we disable them, so the system could, in * theory, reuse them. */ - bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl, + bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl, OHCI_CONTROL, 0); at91_pmc_clock_disable(sc->fclk); @@ -195,30 +187,26 @@ at91_pmc_clock_deref(sc->iclk); if (sc->sc_ohci.sc_irq_res && sc->sc_ohci.sc_intr_hdl) { - /* only call ohci_detach() - * after ohci_init() + /* + * only call ohci_detach() after ohci_init() */ ohci_detach(&(sc->sc_ohci)); err = bus_teardown_intr(dev, sc->sc_ohci.sc_irq_res, sc->sc_ohci.sc_intr_hdl); sc->sc_ohci.sc_intr_hdl = NULL; } - if (sc->sc_ohci.sc_irq_res) { bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_ohci.sc_irq_res); sc->sc_ohci.sc_irq_res = NULL; } - if (sc->sc_ohci.sc_io_res) { bus_release_resource(dev, SYS_RES_MEMORY, MEM_RID, sc->sc_ohci.sc_io_res); sc->sc_ohci.sc_io_res = NULL; } - if (sc->sc_ohci.sc_bus.dma_tag) { usbd_dma_tag_free(sc->sc_ohci.sc_bus.dma_tag); } - mtx_destroy(&(sc->sc_ohci.sc_bus.mtx)); usbd_mem_free(&(sc->sc_ohci.sc_hw_page)); ==== //depot/projects/usb/src/sys/dev/ata/ata-usb.c#21 (text) ==== @@ -52,44 +52,44 @@ /* Command Block Wrapper */ struct bbb_cbw { - uint8_t signature[4]; + uint8_t signature[4]; #define CBWSIGNATURE 0x43425355 - uint8_t tag[4]; - uint8_t transfer_length[4]; - uint8_t flags; + uint8_t tag[4]; + uint8_t transfer_length[4]; + uint8_t flags; #define CBWFLAGS_OUT 0x00 #define CBWFLAGS_IN 0x80 - uint8_t lun; - uint8_t length; + uint8_t lun; + uint8_t length; #define CBWCDBLENGTH 16 - uint8_t cdb[CBWCDBLENGTH]; -} UPACKED; + uint8_t cdb[CBWCDBLENGTH]; +} UPACKED; /* Command Status Wrapper */ struct bbb_csw { - uint8_t signature[4]; + uint8_t signature[4]; #define CSWSIGNATURE 0x53425355 - uint8_t tag[4]; - uint8_t residue[4]; - uint8_t status; + uint8_t tag[4]; + uint8_t residue[4]; + uint8_t status; #define CSWSTATUS_GOOD 0x0 #define CSWSTATUS_FAILED 0x1 #define CSWSTATUS_PHASE 0x2 -} UPACKED; +} UPACKED; /* USB-ATA 'controller' softc */ struct atausb_softc { - struct bbb_cbw cbw; - struct bbb_csw csw; - struct mtx locked_mtx; + struct bbb_cbw cbw; + struct bbb_csw csw; + struct mtx locked_mtx; - struct ata_channel *locked_ch; - struct ata_channel *restart_ch; - struct ata_request *ata_request; + struct ata_channel *locked_ch; + struct ata_channel *restart_ch; + struct ata_request *ata_request; #define ATAUSB_T_BBB_RESET1 0 #define ATAUSB_T_BBB_RESET2 1 @@ -104,20 +104,20 @@ #define ATAUSB_T_MAX ATAUSB_T_BBB_MAX - struct usbd_xfer * xfer[ATAUSB_T_MAX]; - caddr_t ata_data; - device_t dev; + struct usbd_xfer *xfer[ATAUSB_T_MAX]; + caddr_t ata_data; + device_t dev; - uint32_t timeout; - uint32_t ata_donecount; - uint32_t ata_bytecount; + uint32_t timeout; + uint32_t ata_donecount; + uint32_t ata_bytecount; - uint8_t last_xfer_no; - uint8_t usb_speed; - uint8_t intr_stalled; - uint8_t maxlun; - uint8_t iface_no; - uint8_t status_try; + uint8_t last_xfer_no; + uint8_t usb_speed; + uint8_t intr_stalled; + uint8_t maxlun; + uint8_t iface_no; + uint8_t status_try; }; static const int atausbdebug = 0; @@ -142,17 +142,17 @@ static void atausb_cancel_request(struct atausb_softc *sc); static void -atausb_transfer_start(struct atausb_softc *sc, uint8_t xfer_no); + atausb_transfer_start(struct atausb_softc *sc, uint8_t xfer_no); static void atausb_t_bbb_data_clear_stall_callback(struct usbd_xfer *xfer, - uint8_t next_xfer, - uint8_t stall_xfer); + uint8_t next_xfer, + uint8_t stall_xfer); static int -ata_usbchannel_begin_transaction(struct ata_request *request); + ata_usbchannel_begin_transaction(struct ata_request *request); static int -ata_usbchannel_end_transaction(struct ata_request *request); + ata_usbchannel_end_transaction(struct ata_request *request); static device_probe_t ata_usbchannel_probe; static device_attach_t ata_usbchannel_attach; @@ -167,113 +167,113 @@ struct usbd_config atausb_config[ATAUSB_T_BBB_MAX] = { - [ATAUSB_T_BBB_RESET1] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .bufsize = sizeof(usb_device_request_t), - .flags = { }, - .callback = &atausb_t_bbb_reset1_callback, - .timeout = 5000, /* 5 seconds */ - .interval = 500, /* 500 milliseconds */ - }, + [ATAUSB_T_BBB_RESET1] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(usb_device_request_t), + .flags = {}, + .callback = &atausb_t_bbb_reset1_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 500, /* 500 milliseconds */ + }, - [ATAUSB_T_BBB_RESET2] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .bufsize = sizeof(usb_device_request_t), - .flags = { }, - .callback = &atausb_t_bbb_reset2_callback, - .timeout = 5000, /* 5 seconds */ - .interval = 50, /* 50 milliseconds */ - }, + [ATAUSB_T_BBB_RESET2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(usb_device_request_t), + .flags = {}, + .callback = &atausb_t_bbb_reset2_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 50, /* 50 milliseconds */ + }, - [ATAUSB_T_BBB_RESET3] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .bufsize = sizeof(usb_device_request_t), - .flags = { }, - .callback = &atausb_t_bbb_reset3_callback, - .timeout = 5000, /* 5 seconds */ - .interval = 50, /* 50 milliseconds */ - }, + [ATAUSB_T_BBB_RESET3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(usb_device_request_t), + .flags = {}, + .callback = &atausb_t_bbb_reset3_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 50, /* 50 milliseconds */ + }, - [ATAUSB_T_BBB_COMMAND] = { - .type = UE_BULK, - .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_OUT, - .bufsize = sizeof(struct bbb_cbw), - .flags = { }, - .callback = &atausb_t_bbb_command_callback, - .timeout = 5000, /* 5 seconds */ - }, + [ATAUSB_T_BBB_COMMAND] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .bufsize = sizeof(struct bbb_cbw), + .flags = {}, + .callback = &atausb_t_bbb_command_callback, + .timeout = 5000, /* 5 seconds */ + }, - [ATAUSB_T_BBB_DATA_READ] = { - .type = UE_BULK, - .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_IN, - .bufsize = ATAUSB_BULK_SIZE, - .flags = { .proxy_buffer = 1, .short_xfer_ok = 1, }, - .callback = &atausb_t_bbb_data_read_callback, - .timeout = 0, /* overwritten later */ - }, + [ATAUSB_T_BBB_DATA_READ] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .bufsize = ATAUSB_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &atausb_t_bbb_data_read_callback, + .timeout = 0, /* overwritten later */ + }, - [ATAUSB_T_BBB_DATA_RD_CS] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .bufsize = sizeof(usb_device_request_t), - .flags = { }, - .callback = &atausb_t_bbb_data_rd_cs_callback, - .timeout = 5000, /* 5 seconds */ - }, + [ATAUSB_T_BBB_DATA_RD_CS] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(usb_device_request_t), + .flags = {}, + .callback = &atausb_t_bbb_data_rd_cs_callback, + .timeout = 5000, /* 5 seconds */ + }, - [ATAUSB_T_BBB_DATA_WRITE] = { - .type = UE_BULK, - .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_OUT, - .bufsize = ATAUSB_BULK_SIZE, - .flags = { .proxy_buffer = 1, .short_xfer_ok = 1, }, - .callback = &atausb_t_bbb_data_write_callback, - .timeout = 0, /* overwritten later */ - }, + [ATAUSB_T_BBB_DATA_WRITE] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .bufsize = ATAUSB_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &atausb_t_bbb_data_write_callback, + .timeout = 0, /* overwritten later */ + }, - [ATAUSB_T_BBB_DATA_WR_CS] = { - .type = UE_CONTROL, - .endpoint = 0x00, /* Control pipe */ - .direction = UE_DIR_ANY, - .bufsize = sizeof(usb_device_request_t), - .flags = { }, - .callback = &atausb_t_bbb_data_wr_cs_callback, - .timeout = 5000, /* 5 seconds */ - }, + [ATAUSB_T_BBB_DATA_WR_CS] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(usb_device_request_t), + .flags = {}, + .callback = &atausb_t_bbb_data_wr_cs_callback, + .timeout = 5000, /* 5 seconds */ + }, - [ATAUSB_T_BBB_STATUS] = { - .type = UE_BULK, - .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_IN, - .bufsize = sizeof(struct bbb_csw), - .flags = { .short_xfer_ok = 1, }, - .callback = &atausb_t_bbb_status_callback, - .timeout = 5000, /* ms */ - }, + [ATAUSB_T_BBB_STATUS] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .bufsize = sizeof(struct bbb_csw), + .flags = {.short_xfer_ok = 1,}, + .callback = &atausb_t_bbb_status_callback, + .timeout = 5000, /* ms */ + }, }; static devclass_t atausb_devclass; static device_method_t atausb_methods[] = { - DEVMETHOD(device_probe, atausb_probe), - DEVMETHOD(device_attach, atausb_attach), - DEVMETHOD(device_detach, atausb_detach), - { 0, 0 } + DEVMETHOD(device_probe, atausb_probe), + DEVMETHOD(device_attach, atausb_attach), + DEVMETHOD(device_detach, atausb_detach), + {0, 0} }; static driver_t atausb_driver = { - .name = "atausb", - .methods = atausb_methods, - .size = sizeof(struct atausb_softc), + .name = "atausb", + .methods = atausb_methods, + .size = sizeof(struct atausb_softc), }; DRIVER_MODULE(atausb, uhub, atausb_driver, atausb_devclass, 0, 0); @@ -283,854 +283,832 @@ static int atausb_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; + struct usb_attach_arg *uaa = device_get_ivars(dev); + usb_interface_descriptor_t *id; - if (uaa->iface == NULL) { - return UMATCH_NONE; - } - - id = usbd_get_interface_descriptor(uaa->iface); - if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { - return UMATCH_NONE; - } - - switch (id->bInterfaceSubClass) { - case UISUBCLASS_QIC157: - case UISUBCLASS_RBC: - case UISUBCLASS_SCSI: - case UISUBCLASS_SFF8020I: - case UISUBCLASS_SFF8070I: - case UISUBCLASS_UFI: - switch (id->bInterfaceProtocol) { - case UIPROTO_MASS_CBI: - case UIPROTO_MASS_CBI_I: - case UIPROTO_MASS_BBB: - case UIPROTO_MASS_BBB_OLD: - return UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; + if (uaa->iface == NULL) { + return UMATCH_NONE; + } + id = usbd_get_interface_descriptor(uaa->iface); + if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { + return UMATCH_NONE; + } + switch (id->bInterfaceSubClass) { + case UISUBCLASS_QIC157: + case UISUBCLASS_RBC: + case UISUBCLASS_SCSI: + case UISUBCLASS_SFF8020I: + case UISUBCLASS_SFF8070I: + case UISUBCLASS_UFI: + switch (id->bInterfaceProtocol) { + case UIPROTO_MASS_CBI: + case UIPROTO_MASS_CBI_I: + case UIPROTO_MASS_BBB: + case UIPROTO_MASS_BBB_OLD: + return UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; + default: + return UMATCH_IFACECLASS_IFACESUBCLASS; + } + break; default: - return UMATCH_IFACECLASS_IFACESUBCLASS; + return UMATCH_IFACECLASS; } - break; - default: - return UMATCH_IFACECLASS; - } } static int atausb_attach(device_t dev) { - struct atausb_softc *sc = device_get_softc(dev); - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; - const char *proto, *subclass; - usb_device_request_t request; - uint16_t i; - uint8_t maxlun; - uint8_t has_intr; - int err; + struct atausb_softc *sc = device_get_softc(dev); + struct usb_attach_arg *uaa = device_get_ivars(dev); + usb_interface_descriptor_t *id; + const char *proto, *subclass; + usb_device_request_t request; + uint16_t i; + uint8_t maxlun; + uint8_t has_intr; + int err; - if (sc == NULL) { - return ENOMEM; - } + if (sc == NULL) { + return ENOMEM; + } + usbd_set_desc(dev, uaa->device); - usbd_set_desc(dev, uaa->device); + sc->dev = dev; + sc->maxlun = 0; + sc->locked_ch = NULL; + sc->restart_ch = NULL; + sc->usb_speed = usbd_get_speed(uaa->device); + mtx_init(&(sc->locked_mtx), "ATAUSB lock", NULL, (MTX_DEF | MTX_RECURSE)); - sc->dev = dev; - sc->maxlun = 0; - sc->locked_ch = NULL; - sc->restart_ch = NULL; - sc->usb_speed = usbd_get_speed(uaa->device); - mtx_init(&(sc->locked_mtx), "ATAUSB lock", NULL, (MTX_DEF|MTX_RECURSE)); + id = usbd_get_interface_descriptor(uaa->iface); + switch (id->bInterfaceProtocol) { + case UIPROTO_MASS_BBB: + case UIPROTO_MASS_BBB_OLD: + proto = "Bulk-Only"; + break; + case UIPROTO_MASS_CBI: + proto = "CBI"; + break; + case UIPROTO_MASS_CBI_I: + proto = "CBI with CCI"; + break; + default: + proto = "Unknown"; + } - id = usbd_get_interface_descriptor(uaa->iface); - switch (id->bInterfaceProtocol) { - case UIPROTO_MASS_BBB: - case UIPROTO_MASS_BBB_OLD: - proto = "Bulk-Only"; - break; - case UIPROTO_MASS_CBI: - proto = "CBI"; - break; - case UIPROTO_MASS_CBI_I: - proto = "CBI with CCI"; - break; - default: - proto = "Unknown"; - } + switch (id->bInterfaceSubClass) { + case UISUBCLASS_RBC: + subclass = "RBC"; + break; + case UISUBCLASS_QIC157: + case UISUBCLASS_SFF8020I: + case UISUBCLASS_SFF8070I: + subclass = "ATAPI"; + break; + case UISUBCLASS_SCSI: + subclass = "SCSI"; + break; + case UISUBCLASS_UFI: + subclass = "UFI"; + break; + default: + subclass = "Unknown"; + } - switch (id->bInterfaceSubClass) { - case UISUBCLASS_RBC: - subclass = "RBC"; - break; - case UISUBCLASS_QIC157: - case UISUBCLASS_SFF8020I: - case UISUBCLASS_SFF8070I: - subclass = "ATAPI"; - break; - case UISUBCLASS_SCSI: - subclass = "SCSI"; - break; - case UISUBCLASS_UFI: - subclass = "UFI"; - break; - default: - subclass = "Unknown"; - } + has_intr = (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I); + sc->iface_no = id->bInterfaceNumber; - has_intr = (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I); - sc->iface_no = id->bInterfaceNumber; + device_printf(dev, "using %s over %s\n", subclass, proto); + if (strcmp(proto, "Bulk-Only") || + (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) { + goto detach; + } + err = usbd_transfer_setup(uaa->device, uaa->iface_index, sc->xfer, + atausb_config, + ATAUSB_T_BBB_MAX, sc, + &(sc->locked_mtx)); + /* skip reset first time */ + sc->last_xfer_no = ATAUSB_T_BBB_COMMAND; - device_printf(dev, "using %s over %s\n", subclass, proto); - if (strcmp(proto, "Bulk-Only") || - (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) { - goto detach; - } + if (err) { + device_printf(sc->dev, "could not setup required " + "transfers, %s\n", usbd_errstr(err)); + goto detach; + } + /* get number of devices so we can add matching channels */ + request.bmRequestType = UT_READ_CLASS_INTERFACE; + request.bRequest = 0xfe; /* GET_MAX_LUN; */ + USETW(request.wValue, 0); + USETW(request.wIndex, sc->iface_no); + USETW(request.wLength, sizeof(maxlun)); + err = usbd_do_request(uaa->device, &usb_global_lock, &request, &maxlun); - err = usbd_transfer_setup(uaa->device, uaa->iface_index, sc->xfer, - atausb_config, - ATAUSB_T_BBB_MAX, sc, - &(sc->locked_mtx)); - /* skip reset first time */ - sc->last_xfer_no = ATAUSB_T_BBB_COMMAND; - - if (err) { - device_printf(sc->dev, "could not setup required " - "transfers, %s\n", usbd_errstr(err)); - goto detach; - } - - /* get number of devices so we can add matching channels */ - request.bmRequestType = UT_READ_CLASS_INTERFACE; - request.bRequest = 0xfe; /* GET_MAX_LUN; */ - USETW(request.wValue, 0); - USETW(request.wIndex, sc->iface_no); - USETW(request.wLength, sizeof(maxlun)); - err = usbd_do_request(uaa->device, &usb_global_lock, &request, &maxlun); - - if (err) { - if (bootverbose) { - device_printf(sc->dev, "get maxlun not supported %s\n", - usbd_errstr(err)); - } - } else { - sc->maxlun = maxlun; - if (bootverbose) { - device_printf(sc->dev, "maxlun=%d\n", sc->maxlun); + if (err) { + if (bootverbose) { + device_printf(sc->dev, "get maxlun not supported %s\n", + usbd_errstr(err)); + } + } else { + sc->maxlun = maxlun; + if (bootverbose) { + device_printf(sc->dev, "maxlun=%d\n", sc->maxlun); + } } - } - /* ata channels are children to this USB control device */ - for (i = 0; i <= sc->maxlun; i++) { - if (!device_add_child(sc->dev, "ata", - devclass_find_free_unit(ata_devclass, 2))) { - device_printf(sc->dev, "failed to attach ata child device\n"); - goto detach; + /* ata channels are children to this USB control device */ + for (i = 0; i <= sc->maxlun; i++) { + if (!device_add_child(sc->dev, "ata", + devclass_find_free_unit(ata_devclass, 2))) { + device_printf(sc->dev, "failed to attach ata child device\n"); + goto detach; + } } - } - bus_generic_attach(sc->dev); + bus_generic_attach(sc->dev); - return 0; + return 0; - detach: - atausb_detach(dev); - return ENXIO; +detach: + atausb_detach(dev); + return ENXIO; } static int atausb_detach(device_t dev) { - struct atausb_softc *sc = device_get_softc(dev); - device_t *children; - int nchildren, i; + struct atausb_softc *sc = device_get_softc(dev); + device_t *children; + int nchildren, i; - /* teardown our statemachine */ + /* teardown our statemachine */ - usbd_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); + usbd_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); - /* detach & delete all children, if any */ + /* detach & delete all children, if any */ - if (!device_get_children(dev, &children, &nchildren)) { - for (i = 0; i < nchildren; i++) { - device_delete_child(dev, children[i]); + if (!device_get_children(dev, &children, &nchildren)) { + for (i = 0; i < nchildren; i++) { + device_delete_child(dev, children[i]); + } + free(children, M_TEMP); } - free(children, M_TEMP); - } - - mtx_destroy(&sc->locked_mtx); - return 0; + mtx_destroy(&sc->locked_mtx); + return 0; } static void atausb_transfer_start(struct atausb_softc *sc, uint8_t xfer_no) { - if (atausbdebug) { - device_printf(sc->dev, "BBB transfer %d\n", xfer_no); - } - - if (sc->xfer[xfer_no]) { - sc->last_xfer_no = xfer_no; - usbd_transfer_start(sc->xfer[xfer_no]); - } else { - atausb_cancel_request(sc); - } - return; + if (atausbdebug) { + device_printf(sc->dev, "BBB transfer %d\n", xfer_no); + } + if (sc->xfer[xfer_no]) { + sc->last_xfer_no = xfer_no; + usbd_transfer_start(sc->xfer[xfer_no]); + } else { + atausb_cancel_request(sc); + } + return; } static void atausb_t_bbb_reset1_callback(struct usbd_xfer *xfer) { - struct atausb_softc *sc = xfer->priv_sc; - usb_device_request_t req; + struct atausb_softc *sc = xfer->priv_sc; + usb_device_request_t req; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: - atausb_transfer_start(sc, ATAUSB_T_BBB_RESET2); - return; + switch (USBD_GET_STATE(xfer)) { + case USBD_ST_TRANSFERRED: + atausb_transfer_start(sc, ATAUSB_T_BBB_RESET2); + return; - case USBD_ST_SETUP: - req.bmRequestType = UT_WRITE_CLASS_INTERFACE; - req.bRequest = 0xff; /* bulk-only reset */ - USETW(req.wValue, 0); - req.wIndex[0] = sc->iface_no; - req.wIndex[1] = 0; - USETW(req.wLength, 0); + case USBD_ST_SETUP: + req.bmRequestType = UT_WRITE_CLASS_INTERFACE; + req.bRequest = 0xff; /* bulk-only reset */ + USETW(req.wValue, 0); + req.wIndex[0] = sc->iface_no; + req.wIndex[1] = 0; + USETW(req.wLength, 0); - usbd_copy_in(xfer->frbuffers + 0, 0, &req, sizeof(req)); + usbd_copy_in(xfer->frbuffers + 0, 0, &req, sizeof(req)); - xfer->frlengths[0] = sizeof(req); - xfer->frlengths[1] = 0; + xfer->frlengths[0] = sizeof(req); + xfer->frlengths[1] = 0; - usbd_start_hardware(xfer); - return; + usbd_start_hardware(xfer); + return; - default: /* Error */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 8 00:07:09 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90F2616A41B; Thu, 8 Nov 2007 00:07:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33C0116A419 for ; Thu, 8 Nov 2007 00:07:09 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 01F7313C491 for ; Thu, 8 Nov 2007 00:07:09 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8078Pd059201 for ; Thu, 8 Nov 2007 00:07:08 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8078QD059198 for perforce@freebsd.org; Thu, 8 Nov 2007 00:07:08 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 8 Nov 2007 00:07:08 GMT Message-Id: <200711080007.lA8078QD059198@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 128799 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, 08 Nov 2007 00:07:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=128799 Change 128799 by hselasky@hselasky_laptop001 on 2007/11/08 00:06:35 Put the USB style script into the P4 tree. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_style.sh#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Nov 8 00:28:32 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 54AA016A468; Thu, 8 Nov 2007 00:28:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBD5116A41B for ; Thu, 8 Nov 2007 00:28:31 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A90CC13C48E for ; Thu, 8 Nov 2007 00:28:31 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA80SVHW060060 for ; Thu, 8 Nov 2007 00:28:31 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA80SVDX060057 for perforce@freebsd.org; Thu, 8 Nov 2007 00:28:31 GMT (envelope-from peter@freebsd.org) Date: Thu, 8 Nov 2007 00:28:31 GMT Message-Id: <200711080028.lA80SVDX060057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 128800 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, 08 Nov 2007 00:28:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=128800 Change 128800 by peter@peter_daintree on 2007/11/08 00:28:17 Point the pcpu area to the actual area, not the address of the pcpu area on the stack. oops. Affected files ... .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#69 edit Differences ... ==== //depot/projects/hammer/sys/i386/i386/mp_machdep.c#69 (text+ko) ==== @@ -512,7 +512,7 @@ pc->pc_prvspace = pc; pc->pc_curthread = 0; - gdt_segs[GPRIV_SEL].ssd_base = (int) &pc; + gdt_segs[GPRIV_SEL].ssd_base = (int) pc; gdt_segs[GPROC0_SEL].ssd_base = (int) &pc->pc_common_tss; for (x = 0; x < NGDT; x++) { From owner-p4-projects@FreeBSD.ORG Thu Nov 8 00:37:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C564116A41B; Thu, 8 Nov 2007 00:37:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E78B16A418 for ; Thu, 8 Nov 2007 00:37:41 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 54B4213C4A7 for ; Thu, 8 Nov 2007 00:37:41 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA80bf5E060432 for ; Thu, 8 Nov 2007 00:37:41 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA80bfEB060429 for perforce@freebsd.org; Thu, 8 Nov 2007 00:37:41 GMT (envelope-from swise@FreeBSD.org) Date: Thu, 8 Nov 2007 00:37:41 GMT Message-Id: <200711080037.lA80bfEB060429@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 128801 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, 08 Nov 2007 00:37:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=128801 Change 128801 by swise@swise:vic10:iwarp on 2007/11/08 00:37:11 split contrib/rdma code into 4 modules: rdma_addr, rdma_cma, rdma_iwcm, and rdma_core. Eventually I belive they should all be collapsed into 1 module. Affected files ... .. //depot/projects/iwarp/sys/modules/rdma/Makefile#3 edit .. //depot/projects/iwarp/sys/modules/rdma/addr/Makefile#1 add .. //depot/projects/iwarp/sys/modules/rdma/cma/Makefile#1 add .. //depot/projects/iwarp/sys/modules/rdma/core/Makefile#1 add .. //depot/projects/iwarp/sys/modules/rdma/iwcm/Makefile#1 add Differences ... ==== //depot/projects/iwarp/sys/modules/rdma/Makefile#3 (text+ko) ==== @@ -1,11 +1,8 @@ # $FreeBSD $ -RDMA= ${.CURDIR}/../../contrib/rdma -.PATH: ${RDMA} +SUBDIR= addr +SUBDIR+= cma +#SUBDIR+= iwcm +#SUBDIR+= core -KMOD= rdma -SRCS= device_if.h bus_if.h pci_if.h pcib_if.h -SRCS+= rdma_addr.c rdma_cma.c -#rdma_cma.c rdma_device.c rdma_iwcm.c rdma_verbs.c - -.include +.include From owner-p4-projects@FreeBSD.ORG Thu Nov 8 01:09:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C46616A46E; Thu, 8 Nov 2007 01:09:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C521216A41A for ; Thu, 8 Nov 2007 01:09:58 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe10.tele2.se [212.247.155.33]) by mx1.freebsd.org (Postfix) with ESMTP id 2EC4513C4C5 for ; Thu, 8 Nov 2007 01:09:57 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [85.19.218.45] (account mc467741@c2i.net [85.19.218.45] verified) by mailfe10.swip.net (CommuniGate Pro SMTP 5.1.13) with ESMTPA id 510221300 for perforce@freebsd.org; Thu, 08 Nov 2007 01:09:36 +0100 From: Hans Petter Selasky To: Perforce Change Reviews Date: Thu, 8 Nov 2007 01:10:09 +0100 User-Agent: KMail/1.9.7 References: <200711080007.lA8078QD059198@repoman.freebsd.org> In-Reply-To: <200711080007.lA8078QD059198@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_iPlMHLc56jZWWCA" Message-Id: <200711080110.10220.hselasky@c2i.net> Cc: Subject: Re: PERFORCE change 128799 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, 08 Nov 2007 01:09:59 -0000 --Boundary-00=_iPlMHLc56jZWWCA Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline FYI. My indent.diff is attached. --HPS On Thursday 08 November 2007, Hans Petter Selasky wrote: > http://perforce.freebsd.org/chv.cgi?CH=128799 > > Change 128799 by hselasky@hselasky_laptop001 on 2007/11/08 00:06:35 > > > Put the USB style script into the P4 tree. > > Affected files ... > > .. //depot/projects/usb/src/sys/dev/usb/usb_style.sh#1 add > > Differences ... --Boundary-00=_iPlMHLc56jZWWCA Content-Type: text/x-diff; charset="iso-8859-1"; name="indent.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="indent.diff" diff -u -r indent.orig/args.c indent/args.c --- indent.orig/args.c Mon Nov 5 21:43:24 2007 +++ indent/args.c Mon Nov 5 22:16:48 2007 @@ -157,6 +157,7 @@ {"sc", PRO_BOOL, true, ON, &star_comment_cont}, {"sob", PRO_BOOL, false, ON, &swallow_optional_blanklines}, {"st", PRO_SPECIAL, 0, STDIN, 0}, + {"ta", PRO_BOOL, false, ON, &auto_typedefs}, {"troff", PRO_BOOL, false, ON, &troff}, {"ut", PRO_BOOL, true, ON, &use_tabs}, {"v", PRO_BOOL, false, ON, &verbose}, diff -u -r indent.orig/indent.1 indent/indent.1 --- indent.orig/indent.1 Mon Nov 5 21:43:24 2007 +++ indent/indent.1 Mon Nov 5 22:12:19 2007 @@ -80,6 +80,7 @@ .Op Fl sob | Fl nsob .Ek .Op Fl \&st +.Op Fl \&ta .Op Fl troff .Op Fl ut | Fl nut .Op Fl v | Fl \&nv @@ -377,6 +378,9 @@ Causes .Nm to take its input from stdin and put its output to stdout. +.It Fl ta +Automatically add all identifiers ending in "_t" or "_T" to the list +of type keywords. .It Fl T Ns Ar typename Adds .Ar typename diff -u -r indent.orig/indent_globs.h indent/indent_globs.h --- indent.orig/indent_globs.h Mon Nov 5 21:43:24 2007 +++ indent/indent_globs.h Mon Nov 5 22:11:28 2007 @@ -204,6 +204,8 @@ * brace onto separate lines */ int use_tabs; /* set true to use tabs for spacing, * false uses all spaces */ +int auto_typedefs; /* set true to recognize identifiers + * ending in "_t" like typedefs */ /* -troff font state information */ diff -u -r indent.orig/lexi.c indent/lexi.c --- indent.orig/lexi.c Mon Nov 5 21:43:24 2007 +++ indent/lexi.c Mon Nov 5 22:21:47 2007 @@ -249,6 +249,17 @@ last_code = ident; /* Remember that this is the code we will * return */ + if (auto_typedefs) { + const char *q = s_token; + /* Check if we have an "_t" in the end */ + if (q[0] && q[1] && + (strcmp(q + strlen(q) - 2, "_t") == 0)) { + ps.its_a_keyword = true; + ps.last_u_d = true; + goto found_auto_typedef; + } + } + /* * This loop will check if the token is a keyword. */ @@ -285,6 +296,7 @@ /* FALLTHROUGH */ case 4: /* one of the declaration keywords */ + found_auto_typedef: if (ps.p_l_follow) { ps.cast_mask |= (1 << ps.p_l_follow) & ~ps.sizeof_mask; break; /* inside parens: cast, param list or sizeof */ --Boundary-00=_iPlMHLc56jZWWCA-- From owner-p4-projects@FreeBSD.ORG Thu Nov 8 01:34:43 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F36E16A421; Thu, 8 Nov 2007 01:34:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1DBA616A41A for ; Thu, 8 Nov 2007 01:34:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DD9E413C4A6 for ; Thu, 8 Nov 2007 01:34:42 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA81YgrG072255 for ; Thu, 8 Nov 2007 01:34:42 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA81YgxO072252 for perforce@freebsd.org; Thu, 8 Nov 2007 01:34:42 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 8 Nov 2007 01:34:42 GMT Message-Id: <200711080134.lA81YgxO072252@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 128802 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, 08 Nov 2007 01:34:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=128802 Change 128802 by kmacy@kmacy:storage:toestack on 2007/11/08 01:33:57 define routine for allocating toepcb Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#8 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#8 (text+ko) ==== @@ -26,6 +26,7 @@ void t3_reset_synq(struct socket *listen_so); void t3_defer_reply(struct mbuf *m, struct toedev *dev, defer_handler_t handler); +struct toepcb *toepcb_alloc(struct tcpcb *); void toepcb_hold(struct toepcb *); void toepcb_release(struct toepcb *); void toepcb_init(struct toepcb *); From owner-p4-projects@FreeBSD.ORG Thu Nov 8 01:38:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7685616A46E; Thu, 8 Nov 2007 01:38:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAAF116A419 for ; Thu, 8 Nov 2007 01:38:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ADE5713C4AC for ; Thu, 8 Nov 2007 01:38:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA81clDK072407 for ; Thu, 8 Nov 2007 01:38:47 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA81clJG072404 for perforce@freebsd.org; Thu, 8 Nov 2007 01:38:47 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 8 Nov 2007 01:38:47 GMT Message-Id: <200711080138.lA81clJG072404@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 128803 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, 08 Nov 2007 01:38:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=128803 Change 128803 by kmacy@kmacy:storage:toestack on 2007/11/08 01:38:32 add license + copyright Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#9 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#9 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#9 (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 CXGB_DEFS_H_ #define CXGB_DEFS_H_ ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 (text+ko) ==== @@ -1,14 +1,35 @@ -/* - * Definitions for TCP DDP. - * - * Copyright (C) 2006 Chelsio Communications. All rights reserved. - * - * 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. 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 T3_DDP_H #define T3_DDP_H ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#9 (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 CXGB_TOM_H_ #define CXGB_TOM_H_ #include From owner-p4-projects@FreeBSD.ORG Thu Nov 8 06:58:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00DBA16A420; Thu, 8 Nov 2007 06:58:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5155716A41A for ; Thu, 8 Nov 2007 06:58:46 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3226B13C4CC for ; Thu, 8 Nov 2007 06:58:46 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA86wjFb000147 for ; Thu, 8 Nov 2007 06:58:45 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA86wjxH000144 for perforce@freebsd.org; Thu, 8 Nov 2007 06:58:45 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 8 Nov 2007 06:58:45 GMT Message-Id: <200711080658.lA86wjxH000144@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 128807 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, 08 Nov 2007 06:58:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=128807 Change 128807 by kmacy@kmacy:storage:toestack on 2007/11/08 06:58:06 add toepcb_alloc Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#9 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#9 (text+ko) ==== @@ -132,11 +132,27 @@ mtx_lock(&td->deferq.lock); } +struct toepcb * +toepcb_alloc(struct tcpcb *tp) +{ + struct toepcb *toep; + + toep = malloc(sizeof(struct toepcb), M_DEVBUF, M_NOWAIT); + + if (toep == NULL) + return (NULL); + + toep->tp_tp = tp; + tp->t_toe = toep; + + toepcb_init(toep); + toepcb_hold(toep); +} + void toepcb_init(struct toepcb *toep) { bzero(toep, sizeof(*toep)); - } void From owner-p4-projects@FreeBSD.ORG Thu Nov 8 06:59:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4655016A419; Thu, 8 Nov 2007 06:59:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D74F16A417 for ; Thu, 8 Nov 2007 06:59:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6DDA613C4B8 for ; Thu, 8 Nov 2007 06:59:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA86xl2K000203 for ; Thu, 8 Nov 2007 06:59:47 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA86xlta000200 for perforce@freebsd.org; Thu, 8 Nov 2007 06:59:47 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 8 Nov 2007 06:59:47 GMT Message-Id: <200711080659.lA86xlta000200@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 128808 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, 08 Nov 2007 06:59:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=128808 Change 128808 by kmacy@kmacy:storage:toestack on 2007/11/08 06:58:50 fill in some "notyet" functionality Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/cxgb_osdep.h#10 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#18 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/cxgb_osdep.h#10 (text+ko) ==== @@ -72,11 +72,16 @@ #define m_get_sgl(m) ((bus_dma_segment_t *)(m)->m_pkthdr.header) #define m_set_sgllen(m, len) ((m)->m_pkthdr.ether_vtag = len) #define m_get_sgllen(m) ((m)->m_pkthdr.ether_vtag) + /* * XXX FIXME */ #define m_set_toep(m, a) ((m)->m_pkthdr.header = (a)) #define m_get_toep(m) ((m)->m_pkthdr.header) +#define m_set_handler(m, handler) ((m)->m_pkthdr.header = (handler)) + +#define m_set_socket(m, a) ((m)->m_pkthdr.header = (a)) +#define m_get_socket(m) ((m)->m_pkthdr.header) #define MT_DONTFREE 128 ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#18 (text+ko) ==== @@ -170,7 +170,21 @@ return cntrl; } +/* + * Populate a TID_RELEASE WR. The skb must be already propely sized. + */ +static inline void +mk_tid_release(struct mbuf *m, const struct socket *so, unsigned int tid) +{ + struct cpl_tid_release *req; + m_set_priority(m, mkprio(CPL_PRIORITY_SETUP, so)); + m->m_pkthdr.len = m->m_len = 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)); +} + static inline void make_tx_data_wr(struct socket *so, struct mbuf *m, int len, struct mbuf *tail) { @@ -868,7 +882,6 @@ return min(wnd, max_rcv_wnd); } - /* * Assign offload parameters to some socket fields. This code is used by * both active and passive opens. @@ -1951,12 +1964,11 @@ pass_accept_rpl_arp_failure(struct t3cdev *cdev, struct mbuf *m) { - printf("%s UNIMPLEMENTED\n", __FUNCTION__); #ifdef notyet TCP_INC_STATS_BH(TCP_MIB_ATTEMPTFAILS); BLOG_SKB_CB(skb)->dev = TOE_DEV(skb->sk); - handle_pass_open_arp_failure, skb->sk, skb); #endif + handle_pass_open_arp_failure(m_get_socket(m), m); } /* @@ -2086,11 +2098,10 @@ * by the TOE. */ static void -process_pass_accept_req(struct socket *so, struct mbuf *m, struct toedev *tdev) +process_pass_accept_req(struct socket *so, struct mbuf *m, struct toedev *tdev, + struct listen_ctx *lctx) { -#ifdef notyet int rt_flags; -#endif struct socket *newso; struct l2t_entry *e; struct iff_mac tim; @@ -2100,10 +2111,8 @@ unsigned int tid = GET_TID(req); struct tom_data *d = TOM_DATA(tdev); struct t3cdev *cdev = d->cdev; - struct tcpcb *tp = sototcpcb(so); + struct tcpcb *newtp, *tp = sototcpcb(so); struct toepcb *toep, *newtoep; - - UNIMPLEMENTED(); reply_mbuf = m_gethdr(M_NOWAIT, MT_DATA); if (__predict_false(!reply_mbuf)) { @@ -2118,17 +2127,15 @@ if (tp->t_state != TCPS_LISTEN) goto reject; -#ifdef notyet - if (inet_csk_reqsk_queue_is_full(sk)) - goto reject; - if (sk_acceptq_is_full(sk) && d->conf.soft_backlog_limit) - goto reject; -#endif tim.mac_addr = req->dst_mac; tim.vlan_tag = ntohs(req->vlan_tag); if (cdev->ctl(cdev, GET_IFF_FROM_MAC, &tim) < 0 || !tim.dev) goto reject; #ifdef notyet + /* + * XXX do route lookup to confirm that we're still listening on this + * address + */ if (ip_route_input(skb, req->local_ip, req->peer_ip, G_PASS_OPEN_TOS(ntohl(req->tos_tid)), tim.dev)) goto reject; @@ -2136,16 +2143,25 @@ (RTCF_BROADCAST | RTCF_MULTICAST | RTCF_LOCAL); dst_release(skb->dst); // done with the input route, release it skb->dst = NULL; - if (rt_flags != RTCF_LOCAL) + + if ((rt_flags & RTF_LOCAL) == 0) goto reject; #endif - newso = mk_pass_sock(so, tdev, tid, req); - if (!newso) + /* + * XXX + */ + rt_flags = RTF_LOCAL; + if ((rt_flags & RTF_LOCAL) == 0) goto reject; -#ifdef notyet - inet_csk_reqsk_queue_added(sk, TCP_TIMEOUT_INIT); - synq_add(sk, newsk); -#endif + + + newso = sonewconn(so, SS_ISCONNECTED); + newtp = sototcpcb(so); + /* + * XXX need to inherit ULP mode + */ + newtoep = toepcb_alloc(newtp); + /* Don't get a reference, newsk starts out with ref count 2 */ cxgb_insert_tid(cdev, d->client, newso, tid); @@ -2155,11 +2171,9 @@ if (!ddp_mbuf) newtoep->tp_ulp_mode = 0; } -#ifdef notyet - reply_skb->sk = newsk; -#endif + + m_set_socket(reply_mbuf, newso); set_arp_failure_handler(reply_mbuf, pass_accept_rpl_arp_failure); - e = newtoep->tp_l2t; rpl = cplhdr(reply_mbuf); @@ -2189,12 +2203,8 @@ reject: if (tdev->ttid == TOE_ID_CHELSIO_T3) mk_pass_accept_rpl(reply_mbuf, m); - else { -#ifdef notyet - __skb_trim(reply_skb, 0); + else mk_tid_release(reply_mbuf, NULL, tid); -#endif - } cxgb_ofld_send(cdev, reply_mbuf); m_free(m); out: @@ -2246,8 +2256,8 @@ } #endif - process_pass_accept_req(lso, m, &d->tdev); - return 0; + process_pass_accept_req(lso, m, &d->tdev, listen_ctx); + return (0); } /* From owner-p4-projects@FreeBSD.ORG Thu Nov 8 08:00:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79C5116A469; Thu, 8 Nov 2007 08:00:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCFCE16A417 for ; Thu, 8 Nov 2007 08:00:28 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9B7C513C4B9 for ; Thu, 8 Nov 2007 08:00:28 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA880SNl004219 for ; Thu, 8 Nov 2007 08:00:28 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8807v7004190 for perforce@freebsd.org; Thu, 8 Nov 2007 08:00:07 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 8 Nov 2007 08:00:07 GMT Message-Id: <200711080800.lA8807v7004190@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 128809 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, 08 Nov 2007 08:00:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=128809 Change 128809 by zhouzhouyi@zhouzhouyi_mactest on 2007/11/08 08:00:04 Integrate from CVS because of rwatson's change to MAC framework Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/local_apic.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/msi.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/nexus.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/conf/DEFAULTS#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/conf/NOTES#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/clock.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/pc/bios.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/isa/clock.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/arm/cpufunc.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/arm/pmap.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/at91rm92reg.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/if_ate.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/kb920x_machdep.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/ohci_atmelarm.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/std.at91#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/std.kb920x#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/uart_cpu_at91rm9200usart.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/include/cpuconf.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/xscale/i80321/iq31244_machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/xscale/ixp425/avila_machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/xscale/ixp425/if_npe.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/arm/at91/boot2/boot2.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/arm/at91/libat91/eeprom.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/arm/at91/libat91/emac.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/arm/at91/libat91/emac_init.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/arm/at91/libat91/lib.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/common/ufsread.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/i386/Makefile#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/i386/libi386/biosdisk.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/i386/libi386/biosmem.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/i386/libi386/biossmap.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/i386/libi386/devicename.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/pc98/libpc98/biosdisk.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/boot/pc98/loader/main.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/bsm/audit.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/linux/linux_file.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/linux/linux_getcwd.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/linux/linux_misc.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/opensolaris/kern/opensolaris_vfs.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/opensolaris/sys/kcondvar.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/opensolaris/sys/mutex.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/opensolaris/sys/rwlock.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/pecoff/imgact_pecoff.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/svr4/imgact_svr4.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/svr4/svr4_fcntl.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/compat/svr4/svr4_misc.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/NOTES#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files#7 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files.amd64#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files.arm#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files.i386#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files.ia64#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files.pc98#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files.powerpc#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/files.sun4v#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/conf/options.arm#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/ipfilter/netinet/fil.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/ipfilter/netinet/ip_auth.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/ipfilter/netinet/ip_compat.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/ipfilter/netinet/ip_log.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/ipfilter/netinet/ip_nat.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/ipfilter/netinet/ip_state.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/opensolaris/uts/common/sys/vfs.h#3 delete .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/pf/net/pf.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/pf/net/pf_mtag.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/contrib/pf/net/pf_table.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ddb/db_examine.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/aac/aac.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/aac/aac_cam.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/acpi_support/acpi_ibm.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/acpica/acpi_cpu.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/acpica/acpi_pci.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/acpica/acpi_pci_link.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ata/ata-chipset.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ata/ata-pci.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ata/atapi-cd.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ata/atapi-cd.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ciss/ciss.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/coretemp/coretemp.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mii/e1000phy.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mii/e1000phyreg.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mii/gentbi.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mii/miidevs#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mii/rgephy.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mii/rgephyreg.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/mpt/mpt.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/pci/pci_user.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ral/rt2560.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/ral/rt2661.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/safe/safe.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/sound/pci/atiixp.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/sound/pci/atiixp.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/sound/pcm/ac97.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/sound/pcm/ac97_patch.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/if_rum.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/if_ural.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/ukbd.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/devfs/devfs_devs.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/msdosfs/denode.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/msdosfs/msdosfs_fat.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/fs/unionfs/union_subr.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/geom/geom_io.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/geom/part/g_part.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/geom/part/g_part.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/geom/part/g_part_gpt.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/gnu/fs/ext2fs/ext2_vfsops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/conf/DEFAULTS#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/conf/GENERIC#6 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/conf/NOTES#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/conf/PAE#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/i386/machdep.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/i386/msi.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/ibcs2/imgact_coff.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/include/clock.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/include/pc/bios.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/isa/clock.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/i386/linux/imgact_linux.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ia64/ia64/machdep.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ia64/ia64/pmap.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/imgact_aout.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/imgact_elf.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/imgact_gzip.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/init_main.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_acct.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_alq.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_cpu.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_environment.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_exec.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_exit.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_fork.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_idle.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_intr.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_jail.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_kse.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_kthread.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_ktrace.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_linker.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_mbuf.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_proc.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_prot.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_shutdown.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_sig.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_sysctl.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_thr.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/kern_thread.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/link_elf.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/link_elf_obj.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sched_4bsd.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sys_pipe.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sys_socket.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sysv_msg.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sysv_sem.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/sysv_shm.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_mbuf2.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_sem.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_syscalls.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_acl.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_extattr.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_lookup.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_subr.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_syscalls.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/kern/vfs_vnops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/modules/Makefile#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/modules/coretemp/Makefile#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/modules/geom/Makefile#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/bpf.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/bsd_comp.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_atmsubr.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_bridge.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_bridgevar.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_disc.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_ethersubr.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_fddisubr.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_fwsubr.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_gif.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_iso88025subr.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_loop.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_ppp.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_stf.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net/if_tun.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_freebsd.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_freebsd.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_ht.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_input.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_ioctl.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_node.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_node.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_output.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_proto.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_proto.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_scan.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_scan_ap.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/net80211/ieee80211_var.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netatalk/aarp.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netatalk/ddp_input.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netgraph/ng_base.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/if_ether.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/igmp.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/in_pcb.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/ip_divert.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/ip_fw2.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/ip_icmp.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/ip_input.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/ip_options.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/ip_output.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctp_cc_functions.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctp_cc_functions.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctp_constants.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctp_output.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctp_pcb.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctp_pcb.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctp_usrreq.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctputil.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/sctputil.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/tcp_input.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/tcp_output.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/tcp_subr.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/tcp_syncache.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/tcp_syncache.h#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/tcp_timewait.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/nd6.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/netinet6/udp6_usrreq.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsclient/nfs_vfsops.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsserver/nfs.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsserver/nfs_srvsock.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/nfsserver/nfs_srvsubs.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pc98/conf/GENERIC#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_ali.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_amd.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_amd64.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_ati.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_i810.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_intel.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_nvidia.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_sis.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agp_via.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/pci/agppriv.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/powerpc/powerpc/machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/powerpc/powerpc/pmap_dispatch.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_bsm_klib.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_pipe.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/audit/audit_syscalls.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_audit.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_framework.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_inet.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_inet6.c#1 branch .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_internal.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_net.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_policy.h#7 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_posix_sem.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_process.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_socket.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_syscalls.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_system.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_sysv_msg.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_sysv_sem.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_sysv_shm.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_vfs.c#7 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_biba/mac_biba.c#6 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_bsdextended/mac_bsdextended.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_ifoff/mac_ifoff.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_lomac/mac_lomac.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_mls/mac_mls.c#6 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_none/mac_none.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_partition/mac_partition.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_portacl/mac_portacl.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_seeotheruids/mac_seeotheruids.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_stub/mac_stub.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#9 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_if.c#3 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_log.c#5 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#5 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sparc64/isa/isa.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sparc64/sparc64/machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sparc64/sparc64/pmap.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/gpt.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/kthread.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/param.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/pciio.h#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/proc.h#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/sys/signalvar.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/phys_pager.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/pmap.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/swap_pager.c#4 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_extern.h#3 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_glue.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_map.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_mmap.c#5 integrate .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/vm/vm_page.c#5 integrate Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/local_apic.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.42 2007/09/11 22:54:08 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.43 2007/10/27 13:34:53 jhb Exp $"); #include "opt_hwpmc_hooks.h" @@ -1007,10 +1007,6 @@ struct apic_enumerator *enumerator; int retval, best; - /* We only support built in local APICs. */ - if (!(cpu_feature & CPUID_APIC)) - return; - /* Don't probe if APIC mode is disabled. */ if (resource_disabled("apic", 0)) return; ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/machdep.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.675 2007/06/06 07:35:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.677 2007/11/05 11:36:09 kib Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -881,7 +881,7 @@ printf("SMAP type=%02x base=%016lx len=%016lx\n", smap->type, smap->base, smap->length); - if (smap->type != 0x01) + if (smap->type != SMAP_TYPE_MEMORY) continue; if (smap->length == 0) @@ -1137,7 +1137,7 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/msi.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /*- - * Copyright (c) 2006 John Baldwin + * Copyright (c) 2006 Yahoo!, Inc. * All rights reserved. + * Written by: John Baldwin * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -34,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.6 2007/05/08 21:29:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.7 2007/10/24 21:16:22 jhb Exp $"); #include #include ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/nexus.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.77 2007/05/08 21:29:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.78 2007/10/28 21:23:48 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -587,7 +587,7 @@ rid = 0; for (smap = smapbase; smap < smapend; smap++) { - if (smap->type != 0x01 || smap->length == 0) + if (smap->type != SMAP_TYPE_MEMORY || smap->length == 0) continue; error = bus_set_resource(dev, SYS_RES_MEMORY, rid, smap->base, smap->length); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.590 2007/08/21 04:59:33 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.593 2007/11/05 18:13:33 alc Exp $"); /* * Manages physical address maps. @@ -743,6 +743,22 @@ #ifdef SMP /* * For SMP, these functions have to use the IPI mechanism for coherence. + * + * N.B.: Before calling any of the following TLB invalidation functions, + * the calling processor must ensure that all stores updating a non- + * kernel page table are globally performed. Otherwise, another + * processor could cache an old, pre-update entry without being + * invalidated. This can happen one of two ways: (1) The pmap becomes + * active on another processor after its pm_active field is checked by + * one of the following functions but before a store updating the page + * table is globally performed. (2) The pmap becomes active on another + * processor before its pm_active field is checked but due to + * speculative loads one of the following functions stills reads the + * pmap as inactive on the other processor. + * + * The kernel page table is exempt because its pm_active field is + * immutable. The kernel page table is always active on every + * processor. */ void pmap_invalidate_page(pmap_t pmap, vm_offset_t va) @@ -1139,6 +1155,13 @@ } /* + * This is a release store so that the ordinary store unmapping + * the page table page is globally performed before TLB shoot- + * down is begun. + */ + atomic_subtract_rel_int(&cnt.v_wire_count, 1); + + /* * Do an invltlb to make the invalidated mapping * take effect immediately. */ @@ -1151,7 +1174,6 @@ m->right = *free; *free = m; - atomic_subtract_int(&cnt.v_wire_count, 1); return 1; } @@ -1186,7 +1208,7 @@ * Initialize a preallocated and zeroed pmap structure, * such as one in a vmspace structure. */ -void +int pmap_pinit(pmap_t pmap) { vm_page_t pml4pg; @@ -1216,6 +1238,8 @@ pmap->pm_active = 0; TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); + + return (1); } /* @@ -1732,7 +1756,10 @@ PV_STAT(pv_entry_allocs++); pv_entry_count++; if (pv_entry_count > pv_entry_high_water) - pagedaemon_wakeup(); + if (ratecheck(&lastprint, &printinterval)) + printf("Approaching the limit on PV entries, consider " + "increasing either the vm.pmap.shpgperproc or the " + "vm.pmap.pv_entry_max sysctl.\n"); pc = TAILQ_FIRST(&pmap->pm_pvchunk); if (pc != NULL) { for (field = 0; field < _NPCM; field++) { @@ -1767,10 +1794,6 @@ * pages. After that, if a pv chunk entry is still needed, * destroy mappings to active pages. */ - if (ratecheck(&lastprint, &printinterval)) - printf("Approaching the limit on PV entries, consider " - "increasing sysctl vm.pmap.shpgperproc or " - "vm.pmap.pv_entry_max\n"); PV_STAT(pmap_collect_inactive++); pmap_collect(pmap, &vm_page_queues[PQ_INACTIVE]); m = vm_page_alloc(NULL, colour, ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/conf/DEFAULTS#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.10 2007/06/11 00:38:05 marcel Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.12 2007/10/29 22:19:08 peter Exp $ machine amd64 ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/conf/GENERIC#5 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.485 2007/10/19 12:30:33 kensmith Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.487 2007/10/26 02:35:42 imp Exp $ cpu HAMMER ident GENERIC @@ -279,8 +279,19 @@ 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 Serial devices +device ucom # Generic com ttys +device uark # Technologies ARK3116 based serial adapters +device ubsa # Belkin F5U103 and compatible serial adapters +device ubser # BWCT console serial adapters +device uftdi # For FTDI usb serial adapters +device uipaq # Some WinCE based devices +device uplcom # Prolific PL-2303 serial adapters +device uvisor # Visor and Palm devices +device uvscom # USB serial support for DDI pocket's PHS # USB Ethernet, requires miibus device aue # ADMtek USB Ethernet device axe # ASIX Electronics USB Ethernet @@ -288,6 +299,7 @@ device cue # CATC USB Ethernet device kue # Kawasaki LSI USB Ethernet device rue # RealTek RTL8150 USB Ethernet +device udav # Davicom DM9601E USB # FireWire support device firewire # FireWire bus code ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/conf/NOTES#4 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.69 2007/08/15 19:26:02 des Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.70 2007/10/29 22:19:08 peter Exp $ # # @@ -97,6 +97,9 @@ # clock to actually be used. options CLK_USE_I8254_CALIBRATION +# Provide read/write access to the memory in the clock chip. +device nvram # Access to rtc cmos via /dev/nvram + ##################################################################### # MISCELLANEOUS DEVICES AND OPTIONS ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/clock.h#3 (text+ko) ==== @@ -3,7 +3,7 @@ * Garrett Wollman, September 1994. * This file is in the public domain. * - * $FreeBSD: src/sys/amd64/include/clock.h,v 1.54 2007/01/23 08:01:19 bde Exp $ + * $FreeBSD: src/sys/amd64/include/clock.h,v 1.55 2007/10/26 03:23:53 peter Exp $ */ #ifndef _MACHINE_CLOCK_H_ @@ -31,7 +31,8 @@ int acquire_timer2(int mode); int release_timer2(void); -int rtcin(int val); +int rtcin(int reg); +void writertc(int reg, unsigned char val); int sysbeep(int pitch, int period); void init_TSC(void); void init_TSC_tc(void); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/include/pc/bios.h#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/pc/bios.h,v 1.19 2005/07/21 09:48:36 phk Exp $ + * $FreeBSD: src/sys/amd64/include/pc/bios.h,v 1.20 2007/10/28 21:23:49 jhb Exp $ */ #ifndef _MACHINE_PC_BIOS_H_ @@ -38,10 +38,16 @@ /* * Int 15:E820 'SMAP' structure - * - * XXX add constants for type */ + #define SMAP_SIG 0x534D4150 /* 'SMAP' */ + +#define SMAP_TYPE_MEMORY 1 +#define SMAP_TYPE_RESERVED 2 +#define SMAP_TYPE_ACPI_RECLAIM 3 +#define SMAP_TYPE_ACPI_NVS 4 +#define SMAP_TYPE_ACPI_ERROR 5 + struct bios_smap { u_int64_t base; u_int64_t length; ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/amd64/isa/clock.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.234 2007/09/14 01:12:39 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.235 2007/10/26 03:23:53 peter Exp $"); /* * Routines to handle clock hardware. @@ -433,7 +433,7 @@ return (val); } -static void +void writertc(int reg, u_char val) { @@ -934,99 +934,4 @@ DRIVER_MODULE(attimer, isa, attimer_driver, attimer_devclass, 0, 0); DRIVER_MODULE(attimer, acpi, attimer_driver, attimer_devclass, 0, 0); -/* - * Linux-style /dev/nvram driver - * - * cmos ram starts at bytes 14 through 128, for a total of 114 bytes. - * bytes 16 through 31 are checksummed at byte 32. - * Unlike Linux, you have to take care of the checksums yourself. - * The driver exposes byte 14 as file offset 0. - */ - -#define NVRAM_FIRST RTC_DIAG /* 14 */ -#define NVRAM_LAST 128 - -static d_open_t nvram_open; -static d_read_t nvram_read; -static d_write_t nvram_write; - -static struct cdev *nvram_dev; - -static struct cdevsw nvram_cdevsw = { - .d_version = D_VERSION, - .d_flags = D_NEEDGIANT, - .d_open = nvram_open, - .d_read = nvram_read, - .d_write = nvram_write, - .d_name = "nvram", -}; - -static int -nvram_open(struct cdev *dev __unused, int flags, int fmt __unused, - struct thread *td) -{ - int error = 0; - - if (flags & FWRITE) - error = securelevel_gt(td->td_ucred, 0); - - return (error); -} - -static int -nvram_read(struct cdev *dev, struct uio *uio, int flags) -{ - int nv_off; - u_char v; - int error = 0; - - while (uio->uio_resid > 0 && error == 0) { - nv_off = uio->uio_offset + NVRAM_FIRST; - if (nv_off < NVRAM_FIRST || nv_off >= NVRAM_LAST) - return (0); /* Signal EOF */ - /* Single byte at a time */ - v = rtcin(nv_off); - error = uiomove(&v, 1, uio); - } - return (error); - -} - -static int -nvram_write(struct cdev *dev, struct uio *uio, int flags) -{ - int nv_off; - u_char v; - int error = 0; - - while (uio->uio_resid > 0 && error == 0) { - nv_off = uio->uio_offset + NVRAM_FIRST; - if (nv_off < NVRAM_FIRST || nv_off >= NVRAM_LAST) - return (0); /* Signal EOF */ - /* Single byte at a time */ - error = uiomove(&v, 1, uio); - writertc(nv_off, v); - } - return (error); -} - -static int -nvram_modevent(module_t mod __unused, int type, void *data __unused) -{ - switch (type) { - case MOD_LOAD: - nvram_dev = make_dev(&nvram_cdevsw, 0, - UID_ROOT, GID_KMEM, 0640, "nvram"); - break; - case MOD_UNLOAD: - case MOD_SHUTDOWN: - destroy_dev(nvram_dev); - break; - default: - return (EOPNOTSUPP); - } - return (0); -} -DEV_MODULE(nvram, nvram_modevent, NULL); - #endif /* DEV_ISA */ ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/arm/cpufunc.c#5 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.19 2007/10/18 05:33:05 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.20 2007/10/31 07:27:31 kevlo Exp $"); #include #include @@ -734,7 +734,7 @@ u_int cpu_reset_needs_v4_MMU_disable; /* flag used in locore.s */ #if defined(CPU_ARM7TDMI) || defined(CPU_ARM8) || defined(CPU_ARM9) || \ - defined (CPU_ARM10) || \ + defined (CPU_ARM9E) || defined (CPU_ARM10) || \ defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342) ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/arm/pmap.c#5 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.87 2007/10/16 20:40:04 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.88 2007/11/05 11:36:10 kib Exp $"); #include #include #include @@ -3813,7 +3813,7 @@ * such as one in a vmspace structure. */ -void +int pmap_pinit(pmap_t pmap) { PDEBUG(1, printf("pmap_pinit: pmap = %08x\n", (uint32_t) pmap)); @@ -3832,6 +3832,7 @@ pmap_enter(pmap, vector_page, PHYS_TO_VM_PAGE(systempage.pv_pa), VM_PROT_READ, 1); } + return (1); } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/at91rm92reg.h#4 (text) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.5 2007/07/31 17:43:18 imp Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.6 2007/10/25 23:02:42 cognet Exp $ */ #ifndef AT91RM92REG_H_ #define AT91RM92REG_H_ @@ -340,7 +340,9 @@ #define AT91RM92_OHCI_PA_BASE 0x00300000 #define AT91RM92_OHCI_SIZE 0x00100000 +#ifndef AT91C_MASTER_CLOCK #define AT91C_MASTER_CLOCK 60000000 +#endif /* SDRAMC */ ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/if_ate.c#3 (text) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.20 2007/06/11 19:36:37 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.21 2007/10/24 23:12:19 cognet Exp $"); #include #include @@ -597,12 +597,12 @@ high = RD4(sc, ETH_SA1H); if ((low | (high & 0xffff)) == 0) return (ENXIO); - eaddr[0] = (high >> 8) & 0xff; - eaddr[1] = high & 0xff; - eaddr[2] = (low >> 24) & 0xff; - eaddr[3] = (low >> 16) & 0xff; - eaddr[4] = (low >> 8) & 0xff; - eaddr[5] = low & 0xff; + eaddr[0] = low & 0xff; + eaddr[1] = (low >> 8) & 0xff; + eaddr[2] = (low >> 16) & 0xff; + eaddr[3] = (low >> 24) & 0xff; + eaddr[4] = high & 0xff; + eaddr[5] = (high >> 8) & 0xff; return (0); } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/kb920x_machdep.c#4 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.23 2007/07/31 17:43:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.27 2007/11/05 11:36:10 kib Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -283,10 +283,10 @@ i += 2; fake_preload[i++] = MODINFO_ADDR; fake_preload[i++] = sizeof(vm_offset_t); - fake_preload[i++] = KERNBASE; + fake_preload[i++] = KERNVIRTADDR; fake_preload[i++] = MODINFO_SIZE; fake_preload[i++] = sizeof(uint32_t); - fake_preload[i++] = (uint32_t)&end - KERNBASE; + fake_preload[i++] = (uint32_t)&end - KERNVIRTADDR; #ifdef DDB if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) { fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM; @@ -367,7 +367,7 @@ for (i = 0; i < KERNEL_PT_KERN_NUM; i++) pmap_link_l2pt(l1pagetable, KERNBASE + i * 0x100000, &kernel_pt_table[KERNEL_PT_KERN + i]); - pmap_map_chunk(l1pagetable, KERNBASE, KERNPHYSADDR, + pmap_map_chunk(l1pagetable, KERNBASE, PHYSADDR, (((uint32_t)(lastaddr) - KERNBASE) + PAGE_SIZE) & ~(PAGE_SIZE - 1), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); afterkern = round_page((lastaddr + L1_S_SIZE) & ~(L1_S_SIZE @@ -449,7 +449,7 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; @@ -464,8 +464,8 @@ * ARM_USE_SMALL_ALLOC uses dump_avail, so it must be filled before * calling pmap_bootstrap. */ - dump_avail[0] = KERNPHYSADDR; - dump_avail[1] = KERNPHYSADDR + memsize; + dump_avail[0] = PHYSADDR; + dump_avail[1] = PHYSADDR + memsize; dump_avail[2] = 0; dump_avail[3] = 0; @@ -478,10 +478,14 @@ i = 0; - phys_avail[0] = virtual_avail - KERNVIRTADDR + KERNPHYSADDR; - phys_avail[1] = KERNPHYSADDR + memsize; - phys_avail[2] = 0; - phys_avail[3] = 0; +#if PHYSADDR != KERNPHYSADDR + phys_avail[i++] = PHYSADDR; + phys_avail[i++] = KERNPHYSADDR; +#endif + phys_avail[i++] = virtual_avail - KERNVIRTADDR + KERNPHYSADDR; + phys_avail[i++] = PHYSADDR + memsize; + phys_avail[i++] = 0; + phys_avail[i++] = 0; /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/ohci_atmelarm.c#4 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/ohci_atmelarm.c,v 1.3 2007/07/31 17:43:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/ohci_atmelarm.c,v 1.4 2007/10/29 21:01:50 imp Exp $"); #include #include @@ -136,7 +136,6 @@ /* * turn on the clocks from the AT91's point of view. Keep the unit in reset. */ -// bus_space_write_4(sc->sc_ohci.iot, sc->sc_ohci.ioh, OHCI_CONTROL, 0); at91_pmc_clock_enable(sc->iclk); at91_pmc_clock_enable(sc->fclk); bus_space_write_4(sc->sc_ohci.iot, sc->sc_ohci.ioh, OHCI_CONTROL, 0); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/std.at91#3 (text) ==== @@ -1,10 +1,6 @@ -# $FreeBSD: src/sys/arm/at91/std.at91,v 1.3 2006/10/25 08:00:11 imp Exp $ +# $FreeBSD: src/sys/arm/at91/std.at91,v 1.4 2007/10/25 22:57:19 cognet Exp $ files "../at91/files.at91" cpu CPU_ARM9 makeoptions CONF_CFLAGS=-mcpu=arm9 -makeoptions KERNPHYSADDR=0x20000000 -makeoptions KERNVIRTADDR=0xc0000000 -options KERNPHYSADDR=0x20000000 -options KERNVIRTADDR=0xc0000000 options PHYSADDR=0x20000000 ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/arm/at91/std.kb920x#3 (text) ==== @@ -1,5 +1,9 @@ -#$FreeBSD: src/sys/arm/at91/std.kb920x,v 1.4 2006/10/25 08:00:11 imp Exp $ +#$FreeBSD: src/sys/arm/at91/std.kb920x,v 1.5 2007/10/25 22:57:19 cognet Exp $ include "../at91/std.at91" files "../at91/files.kb920x" options STARTUP_PAGETABLE_ADDR=0x20800000 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 8 09:45:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 48A0516A41A; Thu, 8 Nov 2007 09:45:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B62AA16A417 for ; Thu, 8 Nov 2007 09:45:26 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8D29913C48E for ; Thu, 8 Nov 2007 09:45:26 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA89jQFO019073 for ; Thu, 8 Nov 2007 09:45:26 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA89jQiE019070 for perforce@freebsd.org; Thu, 8 Nov 2007 09:45:26 GMT (envelope-from taleks@FreeBSD.org) Date: Thu, 8 Nov 2007 09:45:26 GMT Message-Id: <200711080945.lA89jQiE019070@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 128811 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, 08 Nov 2007 09:45:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=128811 Change 128811 by taleks@taleks_th on 2007/11/08 09:44:50 Added function for simple parsing of direcory index, provided by Apache. Fixed error (probably finally fixed) with '/' at tail of rootpath. servername now is correctly strdup()'ed from PXE_IP_WWW. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/Makefile#17 edit .. //depot/projects/soc2007/taleks-pxe_http/README#4 edit .. //depot/projects/soc2007/taleks-pxe_http/httpfs.c#10 edit .. //depot/projects/soc2007/taleks-pxe_http/httpfs.h#4 edit .. //depot/projects/soc2007/taleks-pxe_http/libi386_mod/pxe.c#7 edit .. //depot/projects/soc2007/taleks-pxe_http/loader_mod/main.c#5 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#28 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_httpls.c#1 add .. //depot/projects/soc2007/taleks-pxe_http/pxe_httpls.h#1 add Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/Makefile#17 (text+ko) ==== @@ -6,7 +6,7 @@ SRCS= pxe_isr.S pxe_mem.c pxe_buffer.c pxe_await.c pxe_arp.c pxe_ip.c \ pxe_core.c pxe_icmp.c pxe_udp.c pxe_filter.c pxe_dns.c \ pxe_dhcp.c pxe_segment.c pxe_tcp.c pxe_sock.c \ - pxe_connection.c pxe_http.c httpfs.c + pxe_connection.c pxe_http.c pxe_httpls.c httpfs.c CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../btx/lib \ -I${.CURDIR}/../../../contrib/dev/acpica \ ==== //depot/projects/soc2007/taleks-pxe_http/README#4 (text+ko) ==== @@ -164,6 +164,10 @@ # server KeepAliveTimeout 15 # more then 2 seconds # is good enough + + 1.1 Non keep-alive connections supported if macro + PXE_HTTP_AUTO_KEEPALIVE defined. In this case, non keep-alive + connections will be used if keep-alive are unavailable. 2. loader checks gzipped versions of files first, it's good idea to compress every needed file. e.g. @@ -366,7 +370,7 @@ int result = pxe_connect(socket, &hh->addr, 80, PXE_TCP_PROTOCOL); /* This call creates filter, associates it with socket and establishes * communication if needed. - * Parameters are socket, remote ip address (PXE_IPADDR)m remote port + * Parameters are socket, remote ip address (PXE_IPADDR), remote port * and one of PXE_UDP_PROTOCOL and PXE_TCP_PROTOCOL protocols. */ @@ -676,8 +680,7 @@ was performed PXE_IP_WWW - IP address of http-server PXE_IP_ROOT - IP adddress of server, where root - file system is situated. Currently - it's synonym for PXE_IP_WWW + file system is situated. void pxe_set_ip(uint8_t id, const PXE_IPADDR *ip) - sets value by it's id. @@ -1149,7 +1152,7 @@ command 'route': - works with routing table and used for ip based protocols. IP packet routed to first found route, routes are searched - sequentially from start of table to end.. + sequentially from start of table to end. Example: pxe route print - shows current routing table. @@ -1220,7 +1223,7 @@ some hints that may be usefull. In LAN usually packet loss is small and speed is fast, so - it may be good idea to define PXE_TCP_AGRRESIVE macro (see 3.3.15). + it may be good idea to define PXE_TCP_AGRESSIVE macro (see 3.3.15). PXE_TCP_MSS may me set to 1460 without any doubts. Buffer sizes may be set higher (3.3.3). 16K for incoming traffic is good enough for WAN connections, but for LAN it may be set ==== //depot/projects/soc2007/taleks-pxe_http/httpfs.c#10 (text+ko) ==== @@ -101,14 +101,14 @@ return (ENOMEM); } + pxe_memcpy(pxe_get_ip(PXE_IP_WWW), &httpfile->addr, sizeof(PXE_IPADDR)); + if (servername[0]) { httpfile->servername = servername; } else { httpfile->servername = strdup(inet_ntoa(httpfile->addr.ip)); } - pxe_memcpy(pxe_get_ip(PXE_IP_WWW), &httpfile->addr, sizeof(PXE_IPADDR)); - #ifdef PXE_DEBUG_HELL printf("servername: %s\n", httpfile->servername); #endif ==== //depot/projects/soc2007/taleks-pxe_http/httpfs.h#4 (text+ko) ==== ==== //depot/projects/soc2007/taleks-pxe_http/libi386_mod/pxe.c#7 (text+ko) ==== @@ -29,7 +29,6 @@ #include __FBSDID("$FreeBSD: src/sys/boot/i386/libi386/pxe.c,v 1.23 2007/10/12 17:09:43 ps Exp $"); -/* #include #include #include @@ -43,6 +42,7 @@ #ifdef LOADER_NFS_SUPPORT #include #endif + #include #include ==== //depot/projects/soc2007/taleks-pxe_http/loader_mod/main.c#5 (text+ko) ==== @@ -46,6 +46,7 @@ #include "pxe_dns.h" #include "pxe_filter.h" #include "pxe_http.h" +#include "pxe_httpld.h" #include "pxe_icmp.h" #include "pxe_ip.h" #include "pxe_sock.h" @@ -516,6 +517,27 @@ return (CMD_OK); } +static int +command_ls(int argc, char *argv[]) +{ + + if (argc == 1) { + printf("usage: ls /path/to/dir\n"); + return (CMD_OK); + } + + int fd = open(argv[1], O_RDONLY); + + if (fd == -1) + return (CMD_OK); + + http_parse_index(fd); + + close(fd); + + return (CMD_OK); +} + COMMAND_SET(pxe, "pxe", "pxe test module", command_pxe); static int @@ -563,6 +585,10 @@ if (!strcmp(argv[1], "fetch")) { return command_fetch(argc - 1, &argv[1]); } + + if (!strcmp(argv[1], "ls")) { + return command_ls(argc - 1, &argv[1]); + } printf("unknown pxe command '%s'\n", argv[1]); ==== //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#28 (text+ko) ==== @@ -144,9 +144,11 @@ setenv("boot.nfsroot.path", rootpath, 1); #endif - /* if it's just '/' then make rootpath empty */ - if (rootpath[1] == '\0') - rootpath[0] = '\0'; + /* removing '/' at tail of rootpath */ + size_t rlen = strlen(rootpath); + + if ( (rlen > 0) && (rootpath[rlen - 1] == '/')) + rootpath[rlen - 1] = '\0'; /* check if Web server option specified, * if not, make it equal to root ip From owner-p4-projects@FreeBSD.ORG Thu Nov 8 09:55:40 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 605E816A419; Thu, 8 Nov 2007 09:55:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D097916A420 for ; Thu, 8 Nov 2007 09:55:39 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9ABE613C4C6 for ; Thu, 8 Nov 2007 09:55:39 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA89tdW6019426 for ; Thu, 8 Nov 2007 09:55:39 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA89tdIn019423 for perforce@freebsd.org; Thu, 8 Nov 2007 09:55:39 GMT (envelope-from taleks@FreeBSD.org) Date: Thu, 8 Nov 2007 09:55:39 GMT Message-Id: <200711080955.lA89tdIn019423@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 128813 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, 08 Nov 2007 09:55:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=128813 Change 128813 by taleks@taleks_th on 2007/11/08 09:55:35 mistype in header name. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/loader_mod/main.c#6 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/loader_mod/main.c#6 (text+ko) ==== @@ -46,7 +46,7 @@ #include "pxe_dns.h" #include "pxe_filter.h" #include "pxe_http.h" -#include "pxe_httpld.h" +#include "pxe_httpls.h" #include "pxe_icmp.h" #include "pxe_ip.h" #include "pxe_sock.h" From owner-p4-projects@FreeBSD.ORG Thu Nov 8 10:23:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BCD0E16A468; Thu, 8 Nov 2007 10:23:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3452816A418 for ; Thu, 8 Nov 2007 10:23:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 15EFB13C481 for ; Thu, 8 Nov 2007 10:23:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8AN9KR021549 for ; Thu, 8 Nov 2007 10:23:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8AN9Sn021546 for perforce@freebsd.org; Thu, 8 Nov 2007 10:23:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 8 Nov 2007 10:23:09 GMT Message-Id: <200711081023.lA8AN9Sn021546@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128814 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, 08 Nov 2007 10:23:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=128814 Change 128814 by rwatson@rwatson_noisier on 2007/11/08 10:22:10 Rearrange things a bit and trim BPF_ZERCOPY from GENERIC in branch so it's easier to do side-by-side comparisons. Affected files ... .. //depot/projects/zcopybpf/src/sys/amd64/conf/GENERIC#8 edit Differences ... ==== //depot/projects/zcopybpf/src/sys/amd64/conf/GENERIC#8 (text+ko) ==== @@ -28,20 +28,6 @@ options SCHED_ULE # ULE scheduler -options BPF_ZEROCOPY -device hwpmc -options HWPMC_HOOKS - -options NULLFS -# Debugging for use in -current -options KDB # Enable kernel debugger support. -options DDB # Support DDB. -options GDB # Support remote GDB. -options INVARIANTS # Enable calls of extra sanity checking -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS # Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed - options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols @@ -78,6 +64,15 @@ options STOP_NMI # Stop CPUS using NMI instead of IPI options AUDIT # Security event auditing +# Debugging for use in -current +options KDB # Enable kernel debugger support. +options DDB # Support DDB. +options GDB # Support remote GDB. +options INVARIANTS # Enable calls of extra sanity checking +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +options WITNESS # Enable checks to detect deadlocks and cycles +options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed + # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel @@ -91,7 +86,6 @@ # Floppy drives device fdc - # ATA and ATAPI devices device ata device atadisk # ATA disk drives From owner-p4-projects@FreeBSD.ORG Thu Nov 8 10:23:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A9E516A53E; Thu, 8 Nov 2007 10:23:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70ABB16A419 for ; Thu, 8 Nov 2007 10:23:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3A4DC13C48A for ; Thu, 8 Nov 2007 10:23:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8AN9T5021555 for ; Thu, 8 Nov 2007 10:23:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8AN9hl021552 for perforce@freebsd.org; Thu, 8 Nov 2007 10:23:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 8 Nov 2007 10:23:09 GMT Message-Id: <200711081023.lA8AN9hl021552@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128815 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, 08 Nov 2007 10:23:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=128815 Change 128815 by rwatson@rwatson_noisier on 2007/11/08 10:22:39 One more sync. Affected files ... .. //depot/projects/zcopybpf/src/sys/amd64/conf/GENERIC#9 edit Differences ... ==== //depot/projects/zcopybpf/src/sys/amd64/conf/GENERIC#9 (text+ko) ==== @@ -27,7 +27,6 @@ makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options SCHED_ULE # ULE scheduler - options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols From owner-p4-projects@FreeBSD.ORG Thu Nov 8 10:50:40 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BCD7716A419; Thu, 8 Nov 2007 10:50:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13F5616A417 for ; Thu, 8 Nov 2007 10:50:40 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EA7D013C4A8 for ; Thu, 8 Nov 2007 10:50:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8AodZC022443 for ; Thu, 8 Nov 2007 10:50:39 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8AodT0022440 for perforce@freebsd.org; Thu, 8 Nov 2007 10:50:39 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 8 Nov 2007 10:50:39 GMT Message-Id: <200711081050.lA8AodT0022440@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128816 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, 08 Nov 2007 10:50:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=128816 Change 128816 by rwatson@rwatson_fledge on 2007/11/08 10:49:40 Update a few of the mac2 KPI renaming notes. Affected files ... .. //depot/projects/trustedbsd/mac2/mac2_notes.txt#6 edit Differences ... ==== //depot/projects/trustedbsd/mac2/mac2_notes.txt#6 (text+ko) ==== @@ -88,10 +88,6 @@ :%s/init_proc/proc_init/g :%s/init_socket_peer/socket_peer_init/g :%s/init_socket/socket_init/g -:%s/init_sysv_msgmsg/sysvmsg_init/g -:%s/init_sysv_msgqueue/sysvmsq_init/g -:%s/init_sysv_sem/sysvsem_init/g -:%s/init_sysv_shm/sysvshm_init/g :%s/init_vnode/vnode_init/g :%s/destroy_bpfdesc/bpfdesc_destroy/g @@ -107,17 +103,8 @@ :%s/destroy_proc/proc_destroy/g :%s/destroy_socket_peer/socket_peer_destroy/g :%s/destroy_socket/socket_destroy/g -:%s/destroy_sysv_msgmsg/sysvmsg_destroy/g -:%s/destroy_sysv_msgqueue/sysvmsq_destroy/g -:%s/destroy_sysv_sem/sysvsem_destroy/g -:%s/destroy_sysv_shm/sysvshm_destroy/g :%s/destroy_vnode/vnode_destroy/g -:%s/cleanup_sysv_msgmsg/sysvmsg_cleanup/g -:%s/cleanup_sysv_msgqueue/sysvmsq_cleanup/g -:%s/cleanup_sysv_sem/sysvsem_cleanup/g -:%s/cleanup_sysv_shm/sysvshm_cleanup/g - :%s/copy_cred/cred_copy/g :%s/copy_ifnet/ifnet_copy/g :%s/copy_mbuf/mbuf_copy/g @@ -183,6 +170,7 @@ :%s/create_mbuf_from_socket/socket_create_mbuf/g :%s/create_mbuf_multicast_encap/mbuf_create_multicast_encap/g :%s/create_mbuf_netlayer/mbuf_create_netlayer/g +:%s/create_mbuf_from_firewall/mbuf_create_from_firewall/g :%s/fragment_match/ipq_match/g :%s/relabel_ifnet/ifnet_relabel/g :%s/update_ipq/ipq_update/g @@ -197,6 +185,21 @@ :%s/vnode_check_delete,/vnode_check_unlink,/g :%s/vnode_check_delete /vnode_check_unlink /g +:%s/init_sysv_msgmsg/sysvmsg_init/g +:%s/init_sysv_msgqueue/sysvmsq_init/g +:%s/init_sysv_sem/sysvsem_init/g +:%s/init_sysv_shm/sysvshm_init/g + +:%s/destroy_sysv_msgmsg/sysvmsg_destroy/g +:%s/destroy_sysv_msgqueue/sysvmsq_destroy/g +:%s/destroy_sysv_sem/sysvsem_destroy/g +:%s/destroy_sysv_shm/sysvshm_destroy/g + +:%s/cleanup_sysv_msgmsg/sysvmsg_cleanup/g +:%s/cleanup_sysv_msgqueue/sysvmsq_cleanup/g +:%s/cleanup_sysv_sem/sysvsem_cleanup/g +:%s/cleanup_sysv_shm/sysvshm_cleanup/g + :%s/create_sysv_msgmsg/sysvmsg_create/g :%s/create_sysv_msgqueue/sysvmsq_create/g :%s/create_sysv_sem/sysvsem_create/g @@ -225,6 +228,7 @@ :%s/execve_will_transition/vnode_execve_will_transition/g :%s/check_sysarch_ioperm/system_check_ioperm/g +:%s/check_system/system_check/g Resort. Easy resort is just to resort vnode_check_unlink since it was renamed from check_vnode_delete. Really, should also sort to match From owner-p4-projects@FreeBSD.ORG Thu Nov 8 21:40:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1DDFC16A473; Thu, 8 Nov 2007 21:40:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6910216A418 for ; Thu, 8 Nov 2007 21:40:34 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5713813C494 for ; Thu, 8 Nov 2007 21:40:34 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8LeYcW098276 for ; Thu, 8 Nov 2007 21:40:34 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8LeUio098273 for perforce@freebsd.org; Thu, 8 Nov 2007 21:40:30 GMT (envelope-from jb@freebsd.org) Date: Thu, 8 Nov 2007 21:40:30 GMT Message-Id: <200711082140.lA8LeUio098273@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 128837 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, 08 Nov 2007 21:40:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=128837 Change 128837 by jb@jb_freebsd1 on 2007/11/08 21:40:13 IFC Affected files ... .. //depot/projects/dtrace/doc/el_GR.ISO8859-7/share/sgml/teams.ent#4 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#27 integrate .. //depot/projects/dtrace/src/contrib/libreadline/FREEBSD-upgrade#6 integrate .. //depot/projects/dtrace/src/contrib/libreadline/complete.c#5 integrate .. //depot/projects/dtrace/src/contrib/libreadline/display.c#6 integrate .. //depot/projects/dtrace/src/contrib/libreadline/input.c#5 integrate .. //depot/projects/dtrace/src/contrib/libreadline/isearch.c#5 integrate .. //depot/projects/dtrace/src/contrib/libreadline/misc.c#5 integrate .. //depot/projects/dtrace/src/contrib/libreadline/readline.c#5 integrate .. //depot/projects/dtrace/src/contrib/libreadline/text.c#5 integrate .. //depot/projects/dtrace/src/contrib/libreadline/vi_mode.c#5 integrate .. //depot/projects/dtrace/src/etc/defaults/Makefile#4 integrate .. //depot/projects/dtrace/src/etc/defaults/pccard.conf#4 delete .. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#22 integrate .. //depot/projects/dtrace/src/games/fortune/fortune/fortune.6#4 integrate .. //depot/projects/dtrace/src/games/fortune/fortune/fortune.c#4 integrate .. //depot/projects/dtrace/src/lib/libc/locale/mblocal.h#4 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_spec.c#5 integrate .. //depot/projects/dtrace/src/release/scripts/package-split.py#8 integrate .. //depot/projects/dtrace/src/sbin/rcorder/ealloc.c#4 integrate .. //depot/projects/dtrace/src/sbin/rcorder/ealloc.h#4 integrate .. //depot/projects/dtrace/src/sbin/rcorder/hash.c#4 integrate .. //depot/projects/dtrace/src/sbin/rcorder/hash.h#4 integrate .. //depot/projects/dtrace/src/sbin/rcorder/rcorder.c#5 integrate .. //depot/projects/dtrace/src/sbin/setkey/parse.y#5 integrate .. //depot/projects/dtrace/src/sbin/setkey/setkey.c#5 integrate .. //depot/projects/dtrace/src/sbin/setkey/test-pfkey.c#5 integrate .. //depot/projects/dtrace/src/sbin/setkey/token.l#5 integrate .. //depot/projects/dtrace/src/share/man/man9/locking.9#2 integrate .. //depot/projects/dtrace/src/share/man/man9/rmlock.9#1 branch .. //depot/projects/dtrace/src/share/mk/sys.mk#11 integrate .. //depot/projects/dtrace/src/sys/arm/arm/cpufunc.c#12 integrate .. //depot/projects/dtrace/src/sys/boot/common/loader.8#9 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_ioctl.c#7 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_ioctl.h#6 integrate .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/atomic.h#3 edit .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/cpupart.h#1 add .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/cpuvar.h#1 add .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/feature_tests.h#1 add .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/modctl.h#1 add .. //depot/projects/dtrace/src/sys/compat/opensolaris/sys/pcpu.h#1 add .. //depot/projects/dtrace/src/sys/conf/NOTES#30 integrate .. //depot/projects/dtrace/src/sys/conf/files#50 integrate .. //depot/projects/dtrace/src/sys/conf/files.amd64#20 integrate .. //depot/projects/dtrace/src/sys/conf/files.i386#24 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/vfs.h#2 delete .. //depot/projects/dtrace/src/sys/dev/acpica/acpi_ec.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/asmc/asmc.c#1 branch .. //depot/projects/dtrace/src/sys/dev/asmc/asmcvar.h#1 branch .. //depot/projects/dtrace/src/sys/dev/md/md.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/nfe/if_nfe.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/ral/rt2560.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/ral/rt2661.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_ural.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_zyd.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/usb/if_zydreg.h#3 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#18 edit .. //depot/projects/dtrace/src/sys/kern/kern_rmlock.c#1 branch .. //depot/projects/dtrace/src/sys/kern/subr_lock.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/subr_pcpu.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/subr_smp.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/sys_process.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/tty_pty.c#8 integrate .. //depot/projects/dtrace/src/sys/modules/Makefile#27 integrate .. //depot/projects/dtrace/src/sys/modules/asmc/Makefile#1 branch .. //depot/projects/dtrace/src/sys/net/if_bridge.c#26 integrate .. //depot/projects/dtrace/src/sys/net/if_ethersubr.c#13 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_dummynet.c#7 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_dummynet.h#5 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_fw_pfil.c#8 integrate .. //depot/projects/dtrace/src/sys/sys/_rmlock.h#1 branch .. //depot/projects/dtrace/src/sys/sys/lock.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/pcpu.h#15 integrate .. //depot/projects/dtrace/src/sys/sys/rmlock.h#1 branch .. //depot/projects/dtrace/src/sys/sys/smp.h#4 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_alloc.c#8 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_balloc.c#4 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_inode.c#6 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_snapshot.c#11 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_softdep.c#11 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vnops.c#10 integrate .. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_bmap.c#5 integrate .. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_lookup.c#7 integrate .. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_vnops.c#13 integrate .. //depot/projects/dtrace/src/sys/vm/vm_kern.c#8 integrate .. //depot/projects/dtrace/src/sys/vm/vm_map.c#13 integrate .. //depot/projects/dtrace/src/sys/vm/vm_map.h#5 integrate .. //depot/projects/dtrace/src/tools/build/options/makeman#8 integrate .. //depot/projects/dtrace/src/usr.bin/du/du.c#6 integrate .. //depot/projects/dtrace/src/usr.bin/fstat/Makefile#4 integrate .. //depot/projects/dtrace/src/usr.bin/fstat/fstat.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/fstat/fstat.h#4 integrate .. //depot/projects/dtrace/src/usr.bin/fstat/zfs/Makefile#1 branch .. //depot/projects/dtrace/src/usr.bin/fstat/zfs/zfs.c#1 branch .. //depot/projects/dtrace/src/usr.bin/mail/aux.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/mail/cmd1.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/mail/lex.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/mail/list.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/mail/main.c#4 integrate .. //depot/projects/dtrace/src/usr.bin/mklocale/ldef.h#4 integrate .. //depot/projects/dtrace/src/usr.bin/passwd/passwd.1#5 integrate .. //depot/projects/dtrace/src/usr.bin/sed/main.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/tftp/tftp.1#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bootparamd/bootparamd/bootparamd.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bootparamd/bootparamd/main.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bootparamd/callbootd/callbootd.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/cron/cron/cron.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/cron/cron/cron.h#5 integrate .. //depot/projects/dtrace/src/usr.sbin/cron/cron/database.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/cron/cron/do_command.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/cron/cron/externs.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/cron/crontab/crontab.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/cron/lib/entry.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/crunch/crunchide/crunchide.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/faithd/faithd.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/faithd/faithd.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/faithd/ftp.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/faithd/prefix.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/faithd/prefix.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/faithd/tcp.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/freebsd-update/freebsd-update.sh#6 integrate .. //depot/projects/dtrace/src/usr.sbin/ip6addrctl/ip6addrctl.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/keyserv/keyserv.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/keyserv/keyserv.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/keyserv/setkey.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/lpr/lpd/lpd.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/ndp/ndp.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/pccard/pccardc/enabler.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pciconf/pciconf.8#7 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/add/main.c#7 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/create/main.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/delete/main.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/info/main.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/sign/extern.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/sign/gzip.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/sign/pgp.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/sign/stand.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/version/main.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/auth.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/cbcp.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/ccp.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/chap.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/chap.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/chap_ms.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/chap_ms.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/demand.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/eui64.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/fsm.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/fsm.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/ipcp.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/ipcp.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/ipv6cp.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/ipv6cp.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/ipxcp.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/lcp.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/lcp.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/magic.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/magic.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/main.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/options.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/pppd.h#5 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/sys-bsd.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/upap.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppd/upap.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pppstats/pppstats.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rip6query/rip6query.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/route6d/route6d.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/rpc.lockd/lockd.c#7 integrate .. //depot/projects/dtrace/src/usr.sbin/rpc.statd/statd.c#7 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/check_bound.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/pmap_svc.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcb_svc.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcb_svc_4.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcb_svc_com.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcbind.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcbind.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/util.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rpcbind/warmstart.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rrenumd/lexer.l#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rrenumd/parser.y#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rrenumd/rrenumd.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/advcap.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/advcap.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/config.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/config.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/dump.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/dump.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/if.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/if.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/rrenum.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/rtadvd.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/rtadvd.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/timer.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtadvd/timer.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtsold/dump.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtsold/if.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtsold/probe.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtsold/rtsock.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtsold/rtsol.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtsold/rtsold.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/rtsold/rtsold.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/dist.c#8 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/dist.h#5 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/menus.c#8 integrate .. //depot/projects/dtrace/src/usr.sbin/timed/timed/correct.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/timed/timed/extern.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/timed/timed/master.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/timed/timed/networkdelta.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/timed/timed/slave.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/timed/timedc/extern.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/timed/timedc/timedc.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/traceroute6/traceroute6.c#6 integrate .. //depot/projects/dtrace/www/en/donations/wantlist.sgml#26 integrate .. //depot/projects/dtrace/www/es/Makefile#4 integrate .. //depot/projects/dtrace/www/es/about.sgml#4 integrate .. //depot/projects/dtrace/www/es/alpha/Makefile#3 delete .. //depot/projects/dtrace/www/es/alpha/alpha.sgml#4 delete .. //depot/projects/dtrace/www/es/applications.sgml#4 integrate .. //depot/projects/dtrace/www/es/auditors.sgml#4 delete .. //depot/projects/dtrace/www/es/copyright/COPYING#3 delete .. //depot/projects/dtrace/www/es/copyright/COPYING.LIB#3 delete .. //depot/projects/dtrace/www/es/copyright/Makefile#3 integrate .. //depot/projects/dtrace/www/es/copyright/copyright.sgml#4 integrate .. //depot/projects/dtrace/www/es/copyright/daemon.sgml#4 integrate .. //depot/projects/dtrace/www/es/copyright/freebsd-license.sgml#4 integrate .. //depot/projects/dtrace/www/es/copyright/license.sgml#4 delete .. //depot/projects/dtrace/www/es/docproj/docproj.sgml#4 integrate .. //depot/projects/dtrace/www/es/docs.sgml#4 integrate .. //depot/projects/dtrace/www/es/features.sgml#4 integrate .. //depot/projects/dtrace/www/es/gnome/Makefile#4 delete .. //depot/projects/dtrace/www/es/gnome/Makefile.inc#3 delete .. //depot/projects/dtrace/www/es/gnome/contact.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/Makefile#3 delete .. //depot/projects/dtrace/www/es/gnome/docs/bugging.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/develfaq.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/faq.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/faq2.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/gnome2_porting.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/gnome_porting.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/knownissues.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/porting.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/docs/volunteer.sgml#4 delete .. //depot/projects/dtrace/www/es/gnome/index.xsl#4 delete .. //depot/projects/dtrace/www/es/gnome/news.xml#3 delete .. //depot/projects/dtrace/www/es/gnome/newsflash.xsl#4 delete .. //depot/projects/dtrace/www/es/gnome/screenshots.sgml#4 delete .. //depot/projects/dtrace/www/es/index.sgml#4 delete .. //depot/projects/dtrace/www/es/index.xsl#6 integrate .. //depot/projects/dtrace/www/es/internet.sgml#4 integrate .. //depot/projects/dtrace/www/es/news/Makefile#3 integrate .. //depot/projects/dtrace/www/es/news/includes.sgml#3 integrate .. //depot/projects/dtrace/www/es/news/news.sgml#4 integrate .. //depot/projects/dtrace/www/es/news/newsflash.sgml#4 integrate .. //depot/projects/dtrace/www/es/news/press-rel-1.sgml#4 integrate .. //depot/projects/dtrace/www/es/news/press-rel-3.sgml#4 integrate .. //depot/projects/dtrace/www/es/news/press.sgml#4 integrate .. //depot/projects/dtrace/www/es/news/qnewsletter-1-1.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter-1-2.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter-1-3.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter-1-4.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter-1-5.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter-1-6.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter-1-7.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter-2-1.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter-2-2.sgml#4 delete .. //depot/projects/dtrace/www/es/news/qnewsletter.sgml#4 delete .. //depot/projects/dtrace/www/es/news/webchanges.sgml#4 delete .. //depot/projects/dtrace/www/es/projects/newbies.sgml#4 integrate .. //depot/projects/dtrace/www/es/projects/projects.sgml#4 integrate .. //depot/projects/dtrace/www/es/publish.sgml#4 integrate .. //depot/projects/dtrace/www/es/search/search.sgml#4 integrate .. //depot/projects/dtrace/www/es/search/site.map#3 integrate .. //depot/projects/dtrace/www/es/search/web.atoz#3 integrate .. //depot/projects/dtrace/www/es/security/secure.sgml#4 integrate .. //depot/projects/dtrace/www/es/security/security.sgml#4 integrate .. //depot/projects/dtrace/www/es/share/sgml/header.l10n.ent#3 integrate .. //depot/projects/dtrace/www/es/share/sgml/l10n.ent#3 integrate .. //depot/projects/dtrace/www/es/share/sgml/navibar.l10n.ent#3 integrate .. //depot/projects/dtrace/www/es/support.sgml#4 integrate .. //depot/projects/dtrace/www/es/y2kbug.sgml#4 integrate .. //depot/projects/dtrace/www/hu/Makefile#3 integrate .. //depot/projects/dtrace/www/hu/Makefile.inc#2 integrate .. //depot/projects/dtrace/www/hu/administration.sgml#2 integrate .. //depot/projects/dtrace/www/hu/docs/books.sgml#3 integrate .. //depot/projects/dtrace/www/hu/features.sgml#3 integrate .. //depot/projects/dtrace/www/hu/index.xsl#3 integrate .. //depot/projects/dtrace/www/hu/where.sgml#3 integrate .. //depot/projects/dtrace/www/share/sgml/header.ent#7 integrate Differences ... ==== //depot/projects/dtrace/doc/el_GR.ISO8859-7/share/sgml/teams.ent#4 (text+ko) ==== @@ -15,7 +15,7 @@ ôùí óôáôéêþí web óåëßäùí óôï www.FreeBSD.org êáé èá âñþ åõêáéñßá íá óáò êÜíù ñüìðá äçìïóßùò. - $FreeBSD: doc/el_GR.ISO8859-7/share/sgml/teams.ent,v 1.3 2007/11/02 16:14:25 keramida Exp $ + $FreeBSD: doc/el_GR.ISO8859-7/share/sgml/teams.ent,v 1.4 2007/11/08 19:09:34 keramida Exp $ Original version: 1.18 --> @@ -33,6 +33,8 @@ cvs@FreeBSD.org"> +dcvs@FreeBSD.org"> + doceng@FreeBSD.org"> donations@FreeBSD.org"> ==== //depot/projects/dtrace/src/ObsoleteFiles.inc#27 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.116 2007/10/30 11:37:37 bushman Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.117 2007/11/08 17:43:13 imp 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,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20071108: Removed very crunch OLDCARD support file +OLD_FILES+=etc/defaults/pccard.conf # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd ==== //depot/projects/dtrace/src/contrib/libreadline/FREEBSD-upgrade#6 (text+ko) ==== @@ -1,7 +1,8 @@ -# $FreeBSD: src/contrib/libreadline/FREEBSD-upgrade,v 1.10 2007/04/12 14:45:25 ache Exp $ +# $FreeBSD: src/contrib/libreadline/FREEBSD-upgrade,v 1.11 2007/11/07 04:44:11 ache Exp $ # # Official patch 001 imported as v5_2_p1 # Official patch 002 imported as v5_2_p2 +# Official patches 003-007 imported as v5_2_p3_p7 # rm doc/*.dvi doc/*.html doc/*.ps doc/*.0 doc/*.info doc/*.tex doc/texi2* doc/*.pdf ==== //depot/projects/dtrace/src/contrib/libreadline/complete.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/complete.c,v 1.13 2006/12/31 09:22:31 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/complete.c,v 1.14 2007/11/07 04:42:20 ache Exp $ */ /* complete.c -- filename completion for readline. */ /* Copyright (C) 1987-2005 Free Software Foundation, Inc. @@ -429,7 +429,7 @@ return (1); if (c == 'n' || c == 'N' || c == RUBOUT) return (0); - if (c == ABORT_CHAR) + if (c == ABORT_CHAR || c < 0) _rl_abort_internal (); if (for_pager && (c == NEWLINE || c == RETURN)) return (2); ==== //depot/projects/dtrace/src/contrib/libreadline/display.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/display.c,v 1.13 2007/04/12 14:45:25 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/display.c,v 1.14 2007/11/07 04:42:20 ache Exp $ */ /* display.c -- readline redisplay facility. */ /* Copyright (C) 1987-2006 Free Software Foundation, Inc. @@ -1519,11 +1519,31 @@ { /* Non-zero if we're increasing the number of lines. */ int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin; + /* If col_lendiff is > 0, implying that the new string takes up more + screen real estate than the old, but lendiff is < 0, meaning that it + takes fewer bytes, we need to just output the characters starting + from the first difference. These will overwrite what is on the + display, so there's no reason to do a smart update. This can really + only happen in a multibyte environment. */ + if (lendiff < 0) + { + _rl_output_some_chars (nfd, temp); + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + /* If nfd begins before any invisible characters in the prompt, + adjust _rl_last_c_pos to account for wrap_offset and set + cpos_adjusted to let the caller know. */ + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + return; + } /* Sometimes it is cheaper to print the characters rather than use the terminal's capabilities. If we're growing the number of lines, make sure we actually cause the new line to wrap around on auto-wrapping terminals. */ - if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) + else if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) { /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and _rl_horizontal_scroll_mode == 1, inserting the characters with @@ -1599,8 +1619,22 @@ temp = nls - nfd; if (temp > 0) { + /* If nfd begins at the prompt, or before the invisible + characters in the prompt, we need to adjust _rl_last_c_pos + in a multibyte locale to account for the wrap offset and + set cpos_adjusted accordingly. */ _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += _rl_col_width (nfd, 0, temp);; + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + } + else + _rl_last_c_pos += temp; } } /* Otherwise, print over the existing material. */ @@ -1608,8 +1642,20 @@ { if (temp > 0) { + /* If nfd begins at the prompt, or before the invisible + characters in the prompt, we need to adjust _rl_last_c_pos + in a multibyte locale to account for the wrap offset and + set cpos_adjusted accordingly. */ _rl_output_some_chars (nfd, temp); _rl_last_c_pos += col_temp; /* XXX */ + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + } } lendiff = (oe - old) - (ne - new); if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) @@ -1745,7 +1791,10 @@ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) { dpos = _rl_col_width (data, 0, new); - if (dpos > prompt_last_invisible) /* XXX - don't use woff here */ + /* Use NEW when comparing against the last invisible character in the + prompt string, since they're both buffer indices and DPOS is a + desired display position. */ + if (new > prompt_last_invisible) /* XXX - don't use woff here */ { dpos -= woff; /* Since this will be assigned to _rl_last_c_pos at the end (more ==== //depot/projects/dtrace/src/contrib/libreadline/input.c#5 (text+ko) ==== @@ -133,8 +133,11 @@ return (0); *key = ibuffer[pop_index++]; - +#if 0 if (pop_index >= ibuffer_len) +#else + if (pop_index > ibuffer_len) +#endif pop_index = 0; return (1); @@ -250,7 +253,8 @@ while (chars_avail--) { k = (*rl_getc_function) (rl_instream); - rl_stuff_char (k); + if (rl_stuff_char (k) == 0) + break; /* some problem; no more room */ if (k == NEWLINE || k == RETURN) break; } @@ -373,7 +377,11 @@ RL_SETSTATE (RL_STATE_INPUTPENDING); } ibuffer[push_index++] = key; +#if 0 if (push_index >= ibuffer_len) +#else + if (push_index > ibuffer_len) +#endif push_index = 0; return 1; @@ -513,20 +521,26 @@ char *mbchar; int size; { - int mb_len = 0; + int mb_len, c; size_t mbchar_bytes_length; wchar_t wc; mbstate_t ps, ps_back; memset(&ps, 0, sizeof (mbstate_t)); memset(&ps_back, 0, sizeof (mbstate_t)); - + + mb_len = 0; while (mb_len < size) { RL_SETSTATE(RL_STATE_MOREINPUT); - mbchar[mb_len++] = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + break; + + mbchar[mb_len++] = c; + mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps); if (mbchar_bytes_length == (size_t)(-1)) break; /* invalid byte sequence for the current locale */ @@ -564,7 +578,7 @@ c = first; memset (mb, 0, mlen); - for (i = 0; i < mlen; i++) + for (i = 0; c >= 0 && i < mlen; i++) { mb[i] = (char)c; memset (&ps, 0, sizeof (mbstate_t)); ==== //depot/projects/dtrace/src/contrib/libreadline/isearch.c#5 (text+ko) ==== @@ -327,8 +327,15 @@ rl_command_func_t *f; f = (rl_command_func_t *)NULL; - - /* Translate the keys we do something with to opcodes. */ + + if (c < 0) + { + cxt->sflags |= SF_FAILED; + cxt->history_pos = cxt->last_found_line; + return -1; + } + + /* Translate the keys we do something with to opcodes. */ if (c >= 0 && _rl_keymap[c].type == ISFUNC) { f = _rl_keymap[c].function; ==== //depot/projects/dtrace/src/contrib/libreadline/misc.c#5 (text+ko) ==== @@ -146,6 +146,8 @@ rl_restore_prompt (); rl_clear_message (); RL_UNSETSTATE(RL_STATE_NUMERICARG); + if (key < 0) + return -1; return (_rl_dispatch (key, _rl_keymap)); } } ==== //depot/projects/dtrace/src/contrib/libreadline/readline.c#5 (text+ko) ==== @@ -645,6 +645,11 @@ if ((cxt->flags & KSEQ_DISPATCHED) == 0) { nkey = _rl_subseq_getchar (cxt->okey); + if (nkey < 0) + { + _rl_abort_internal (); + return -1; + } r = _rl_dispatch_subseq (nkey, cxt->dmap, cxt->subseq_arg); cxt->flags |= KSEQ_DISPATCHED; } ==== //depot/projects/dtrace/src/contrib/libreadline/text.c#5 (text+ko) ==== @@ -857,6 +857,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + #if defined (HANDLE_SIGNALS) if (RL_ISSTATE (RL_STATE_CALLBACK) == 0) _rl_restore_tty_signals (); @@ -1520,6 +1523,9 @@ mb_len = _rl_read_mbchar (mbchar, MB_LEN_MAX); + if (mb_len <= 0) + return -1; + if (count < 0) return (_rl_char_search_internal (-count, bdir, mbchar, mb_len)); else @@ -1536,6 +1542,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + if (count < 0) return (_rl_char_search_internal (-count, bdir, c)); else ==== //depot/projects/dtrace/src/contrib/libreadline/vi_mode.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/vi_mode.c,v 1.6 2006/12/31 09:22:31 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/vi_mode.c,v 1.7 2007/11/07 04:42:20 ache Exp $ */ /* vi_mode.c -- A vi emulation mode for Bash. Derived from code written by Jeff Sparkes (jsparkes@bnr.ca). */ @@ -887,6 +887,13 @@ RL_SETSTATE(RL_STATE_MOREINPUT); c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + + if (c < 0) + { + *nextkey = 0; + return -1; + } + *nextkey = c; if (!member (c, vi_motion)) @@ -903,6 +910,11 @@ RL_SETSTATE(RL_STATE_MOREINPUT); c = rl_read_key (); /* real command */ RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + { + *nextkey = 0; + return -1; + } *nextkey = c; } else if (key == c && (key == 'd' || key == 'y' || key == 'c')) @@ -1225,14 +1237,22 @@ _rl_vi_callback_char_search (data) _rl_callback_generic_arg *data; { + int c; #if defined (HANDLE_MULTIBYTE) - _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + c = _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); #else RL_SETSTATE(RL_STATE_MOREINPUT); - _rl_vi_last_search_char = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); #endif + if (c <= 0) + return -1; + +#if !defined (HANDLE_MULTIBYTE) + _rl_vi_last_search_char = c; +#endif + _rl_callback_func = 0; _rl_want_redisplay = 1; @@ -1248,6 +1268,7 @@ rl_vi_char_search (count, key) int count, key; { + int c; #if defined (HANDLE_MULTIBYTE) static char *target; static int tlen; @@ -1294,11 +1315,17 @@ else { #if defined (HANDLE_MULTIBYTE) - _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + c = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + if (c <= 0) + return -1; + _rl_vi_last_search_mblen = c; #else RL_SETSTATE(RL_STATE_MOREINPUT); - _rl_vi_last_search_char = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + _rl_vi_last_search_char = c; #endif } } @@ -1468,6 +1495,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + #if defined (HANDLE_MULTIBYTE) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) c = _rl_read_mbstring (c, mb, mlen); @@ -1486,6 +1516,9 @@ _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); + if (c < 0) + return -1; + _rl_callback_func = 0; _rl_want_redisplay = 1; @@ -1517,6 +1550,9 @@ else _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); + if (c < 0) + return -1; + return (_rl_vi_change_char (count, c, mb)); } @@ -1651,7 +1687,7 @@ ch = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); - if (ch < 'a' || ch > 'z') + if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ { rl_ding (); return -1; @@ -1703,7 +1739,7 @@ rl_point = rl_mark; return 0; } - else if (ch < 'a' || ch > 'z') + else if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ { rl_ding (); return -1; ==== //depot/projects/dtrace/src/etc/defaults/Makefile#4 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/etc/defaults/Makefile,v 1.7 2005/12/09 15:19:31 ru Exp $ +# $FreeBSD: src/etc/defaults/Makefile,v 1.8 2007/11/08 17:41:35 imp Exp $ -FILES= bluetooth.device.conf devfs.rules pccard.conf periodic.conf rc.conf +FILES= bluetooth.device.conf devfs.rules periodic.conf rc.conf NO_OBJ= FILESDIR= /etc/defaults ==== //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#22 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.244 2007/10/28 07:02:10 dougb Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.246 2007/11/06 22:40:16 edwin Exp $ % ======================================================================= @@ -57352,9 +57352,9 @@ side of the majority, it is time to reform. -- Mark Twain % -Where a calculator on the ENIAC is equpped with 18,000 vaccuum tubes and -weighs 30 tons, computers in the future may have only 1,000 vaccuum tubes -and perhaps weight 1 1/2 tons. +Where a calculator on the ENIAC is equipped with 18,000 vacuum tubes and +weighs 30 tons, computers in the future may have only 1,000 vacuum tubes +and perhaps weigh 1 1/2 tons. -- Popular Mechanics, March 1949 % Where am I? Who am I? Am I? I ==== //depot/projects/dtrace/src/games/fortune/fortune/fortune.6#4 (text+ko) ==== @@ -33,9 +33,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)fortune.6 8.3 (Berkeley) 4/19/94 -.\" $FreeBSD: src/games/fortune/fortune/fortune.6,v 1.20 2005/02/13 23:45:45 ru Exp $ +.\" $FreeBSD: src/games/fortune/fortune/fortune.6,v 1.22 2007/11/07 12:08:03 ru Exp $ .\" -.Dd April 19, 1994 +.Dd November 7, 2007 .Dt FORTUNE 6 .Os .Sh NAME @@ -57,7 +57,7 @@ is subdivided into those which are potentially offensive and those which are not. The options are as follows: -.Bl -tag -width flag +.Bl -tag -width indent .It Fl a Choose from all lists of maxims, both offensive and not. (See the @@ -66,7 +66,8 @@ .It Fl D Enable additional debugging output. Specify this option multiple times for more verbose output. -Only available if compiled with -DDEBUG. +Only available if compiled with +.Li -DDEBUG . .It Fl e Consider all fortune files to be of equal size (see discussion below on multiple files). @@ -75,7 +76,7 @@ print a fortune. .It Fl l Long dictums only. -.It Fl m +.It Fl m Ar pattern Print out all fortunes which match the regular expression .Ar pattern . See @@ -116,13 +117,13 @@ The user may specify alternate sayings. You can specify a specific file, a directory which contains one or more files, or the special word -.Em all +.Cm all which says to use all the standard databases. Any of these may be preceded by a percentage, which is a number .Ar N between 0 and 100 inclusive, followed by a -.Ar % . -If it is, there will be a +.Ql % . +If it is, there will be an .Ar N percent probability that an adage will be picked from that file or directory. @@ -132,52 +133,56 @@ one of them will be based on their relative sizes. .Pp As an example, given two databases -.Em funny +.Pa funny and -.Em not-funny , +.Pa not-funny , with -.Em funny +.Pa funny twice as big, saying -.Bd -literal -offset indent -fortune funny not-funny -.Ed +.Pp +.Dl "fortune funny not-funny" .Pp will get you fortunes out of -.Em funny +.Pa funny two-thirds of the time. The command -.Bd -literal -offset indent -fortune 90% funny 10% not-funny -.Ed +.Pp +.Dl "fortune 90% funny 10% not-funny" .Pp will pick out 90% of its fortunes from -.Em funny +.Pa funny (the -.Dq 10% not-funny +.Dq Li "10% not-funny" is unnecessary, since 10% is all that is left). The .Fl e option says to consider all files equal; thus -.Bd -literal -offset indent -fortune -e funny not-funny -.Ed +.Pp +.Dl "fortune -e funny not-funny" .Pp is equivalent to -.Bd -literal -offset indent -fortune 50% funny 50% not-funny -.Ed +.Pp +.Dl "fortune 50% funny 50% not-funny" +.Sh ENVIRONMENT +.Bl -tag -width ".Ev FORTUNE_PATH" +.It Ev FORTUNE_PATH +The search path for the data files. +It is a colon-separated list of directories in which +.Nm +looks for data files. +If not set it will default to +.Pa /usr/games/fortune . +If none of the directories specified exist, it will print a warning and exit. +.El .Sh FILES -.Bl -tag -width Pa -compact +.Bl -tag -width ".Pa /usr/share/games/fortune/*" .It Pa /usr/games/fortune -.Pp .It Pa /usr/share/games/fortune/* the fortunes databases (those files ending -.Dq -o +.Dq Pa -o contain the -.Bf -symbolic -offensive -.Ef +.Sy offensive fortunes) .El .Sh SEE ALSO ==== //depot/projects/dtrace/src/games/fortune/fortune/fortune.c#4 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/games/fortune/fortune/fortune.c,v 1.29 2005/07/23 18:24:47 ache Exp $"); +__FBSDID("$FreeBSD: src/games/fortune/fortune/fortune.c,v 1.31 2007/11/07 01:14:28 edwin Exp $"); # include # include @@ -126,6 +126,9 @@ STRFILE Noprob_tbl; /* sum of data for all no prob files */ +char *Fortune_path; +char **Fortune_path_arr; + int add_dir(FILEDESC *); int add_file __P((int, char *, char *, FILEDESC **, FILEDESC **, FILEDESC *)); @@ -140,6 +143,7 @@ void get_pos(FILEDESC *); void get_tbl(FILEDESC *); void getargs(int, char *[]); +void getpath(void); void init_prob(void); int is_dir(char *); int is_fortfile(char *, char **, char **, int); @@ -177,6 +181,7 @@ (void) setlocale(LC_ALL, ""); + getpath(); getargs(ac, av); if (Match) @@ -258,7 +263,7 @@ fortlen() { int nchar; - char line[BUFSIZ]; + char line[BUFSIZ]; if (!(Fortfile->tbl.str_flags & (STR_RANDOM | STR_ORDERED))) nchar = (int)(Seekpts[1] - Seekpts[0]); @@ -374,17 +379,36 @@ { int i, percent; char *sp; + char **pstr; if (file_cnt == 0) { if (Find_files) { Fortunes_only = TRUE; - i = add_file(NO_PROB, FORTDIR, NULL, &File_list, - &File_tail, NULL); + pstr = Fortune_path_arr; + i = 0; + while (*pstr) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 8 22:03:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DED1216A4C4; Thu, 8 Nov 2007 22:03:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 87D6316A4C1 for ; Thu, 8 Nov 2007 22:03:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7718913C4BB for ; Thu, 8 Nov 2007 22:03:00 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8M30xE099599 for ; Thu, 8 Nov 2007 22:03:00 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8M30Bj099596 for perforce@freebsd.org; Thu, 8 Nov 2007 22:03:00 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 8 Nov 2007 22:03:00 GMT Message-Id: <200711082203.lA8M30Bj099596@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 128841 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, 08 Nov 2007 22:03:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=128841 Change 128841 by hselasky@hselasky_laptop001 on 2007/11/08 22:02:56 Substitute UPACKED by __packed . Affected files ... .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#22 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudioreg.h#6 edit .. //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#6 edit .. //depot/projects/usb/src/sys/dev/usb/ufoma.c#27 edit .. //depot/projects/usb/src/sys/dev/usb/umass.c#29 edit .. //depot/projects/usb/src/sys/dev/usb/usb.h#19 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hid.h#9 edit .. //depot/projects/usb/src/sys/dev/usb/uvisor.c#23 edit Differences ... ==== //depot/projects/usb/src/sys/dev/ata/ata-usb.c#22 (text) ==== @@ -66,7 +66,7 @@ #define CBWCDBLENGTH 16 uint8_t cdb[CBWCDBLENGTH]; -} UPACKED; +} __packed; /* Command Status Wrapper */ struct bbb_csw { @@ -79,7 +79,7 @@ #define CSWSTATUS_GOOD 0x0 #define CSWSTATUS_FAILED 0x1 #define CSWSTATUS_PHASE 0x2 -} UPACKED; +} __packed; /* USB-ATA 'controller' softc */ struct atausb_softc { @@ -861,7 +861,7 @@ uint8_t product[16]; uint8_t revision[4]; /* uint8_t crap[60]; */ -} UPACKED; +} __packed; static int ata_usbchannel_begin_transaction(struct ata_request *request) ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudioreg.h#6 (text+ko) ==== @@ -71,7 +71,7 @@ */ uByte bRefresh; uByte bSynchAddress; -} UPACKED usb_endpoint_descriptor_audio_t; +} __packed usb_endpoint_descriptor_audio_t; struct usb_audio_control_descriptor { uByte bLength; @@ -81,7 +81,7 @@ uWord wTotalLength; uByte bInCollection; uByte baInterfaceNr[1]; -} UPACKED; +} __packed; struct usb_audio_streaming_interface_descriptor { uByte bLength; @@ -90,7 +90,7 @@ uByte bTerminalLink; uByte bDelay; uWord wFormatTag; -} UPACKED; +} __packed; struct usb_audio_streaming_endpoint_descriptor { uByte bLength; @@ -102,7 +102,7 @@ #define UA_SED_MAXPACKETSONLY 0x80 uByte bLockDelayUnits; uWord wLockDelay; -} UPACKED; +} __packed; struct usb_audio_streaming_type1_descriptor { uByte bLength; @@ -120,7 +120,7 @@ ((p)->tSamFreq[((n)*3)+2] << 16)) #define UA_SAMP_LO(p) UA_GETSAMP(p, 0) #define UA_SAMP_HI(p) UA_GETSAMP(p, 1) -} UPACKED; +} __packed; struct usb_audio_cluster { uByte bNrChannels; @@ -138,7 +138,7 @@ #define UA_CHANNEL_R_SIDE 0x0400 #define UA_CHANNEL_TOP 0x0800 uByte iChannelNames; -} UPACKED; +} __packed; /* Shared by all units and terminals */ struct usb_audio_unit { @@ -160,7 +160,7 @@ uWord wChannelConfig; uByte iChannelNames; /* uByte iTerminal; */ -} UPACKED; +} __packed; /* UDESCSUB_AC_OUTPUT */ struct usb_audio_output_terminal { @@ -172,7 +172,7 @@ uByte bAssocTerminal; uByte bSourceId; uByte iTerminal; -} UPACKED; +} __packed; /* UDESCSUB_AC_MIXER */ struct usb_audio_mixer_unit_0 { @@ -183,14 +183,14 @@ uByte bNrInPins; uByte baSourceId[0]; /* [bNrInPins] */ /* struct usb_audio_mixer_unit_1 */ -} UPACKED; +} __packed; struct usb_audio_mixer_unit_1 { uByte bNrChannels; uWord wChannelConfig; uByte iChannelNames; uByte bmControls[0]; /* [see source code] */ /* uByte iMixer; */ -} UPACKED; +} __packed; /* UDESCSUB_AC_SELECTOR */ struct usb_audio_selector_unit { @@ -201,7 +201,7 @@ uByte bNrInPins; uByte baSourceId[0]; /* [bNrInPins] */ /* uByte iSelector; */ -} UPACKED; +} __packed; /* UDESCSUB_AC_FEATURE */ struct usb_audio_feature_unit { @@ -213,7 +213,7 @@ uByte bControlSize; uByte bmaControls[0]; /* [bControlSize * x] */ /* uByte iFeature; */ -} UPACKED; +} __packed; /* UDESCSUB_AC_PROCESSING */ struct usb_audio_processing_unit_0 { @@ -225,7 +225,7 @@ uByte bNrInPins; uByte baSourceId[0]; /* [bNrInPins] */ /* struct usb_audio_processing_unit_1 */ -} UPACKED; +} __packed; struct usb_audio_processing_unit_1 { uByte bNrChannels; uWord wChannelConfig; @@ -233,13 +233,13 @@ uByte bControlSize; uByte bmControls[0]; /* [bControlSize] */ #define UA_PROC_ENABLE_MASK 1 -} UPACKED; +} __packed; struct usb_audio_processing_unit_updown { uByte iProcessing; uByte bNrModes; uWord waModes[0]; /* [bNrModes] */ -} UPACKED; +} __packed; /* UDESCSUB_AC_EXTENSION */ struct usb_audio_extension_unit_0 { @@ -251,7 +251,7 @@ uByte bNrInPins; uByte baSourceId[0]; /* [bNrInPins] */ /* struct usb_audio_extension_unit_1 */ -} UPACKED; +} __packed; struct usb_audio_extension_unit_1 { uByte bNrChannels; uWord wChannelConfig; @@ -261,7 +261,7 @@ #define UA_EXT_ENABLE_MASK 1 #define UA_EXT_ENABLE 1 /* uByte iExtension; */ -} UPACKED; +} __packed; /* USB terminal types */ #define UAT_UNDEFINED 0x0100 ==== //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#6 (text+ko) ==== @@ -1128,7 +1128,7 @@ uint16_t currentlength; uint8_t service; uint16_t nextframelen; -} UPACKED; +} __packed; struct zyd_rxstatusreport { uint8_t signalstrength; @@ -1139,14 +1139,14 @@ uint8_t modulationtype:1; uint8_t rxerrorreason:6; uint8_t errorindication:1; -} UPACKED; +} __packed; /* Appended length info for multiframe transmission */ struct zyd_rxleninfoapp { uWord len[3]; uWord marker; /* 0x697E */ #define ZYD_MULTIFRAME_MARKER 0x697E -} UPACKED; +} __packed; struct zyd_aw_pt_bi { uint32_t atim_wnd_period; @@ -1176,11 +1176,11 @@ /* RF2595: 24 */ uWord bit_values[ZYD_REQ_RFWRITE_BITS_MAX]; /* (CR203 & ~(RF_IF_LE | RF_CLK | RF_DATA)) | (bit ? RF_DATA : 0) */ -} UPACKED; +} __packed; struct zyd_macaddr { uint8_t addr[6]; -} UPACKED; +} __packed; /* Control interface @ EP 0 */ struct zyd_control { @@ -1190,7 +1190,7 @@ uint16_t index; uint16_t length; void *data; -} UPACKED; +} __packed; /* Int IN interface @ EP 3 (single register access) */ struct zyd_intinsingle { @@ -1200,7 +1200,7 @@ uWord sts3; uWord sts4; uWord sts5; -} UPACKED; +} __packed; /* Int/bulk OUT interface @ EP 4 (single register access) */ struct zyd_intoutsingle { @@ -1210,33 +1210,33 @@ uWord length; uWord data1; uWord data2; -} UPACKED; +} __packed; /* Register addr/data combo */ struct zyd_regadcombo { uWord addr; uWord data; -} UPACKED; +} __packed; /* Int IN interface @ EP 3 (multi register access) output */ struct zyd_intinmultioutput { uWord id; /* pairs of addr-data-addr-data-... */ struct zyd_regadcombo registers[15]; -} UPACKED; +} __packed; /* Int/bulk OUT interface @ EP 4 (multi register access) read */ struct zyd_intoutmultiread { uWord id; uWord addr[15]; -} UPACKED; +} __packed; /* Int/bulk OUT interface @ EP 4 (multi register access) write */ struct zyd_intoutmultiwrite { uWord id; /* pairs of addr-data-addr-data-... */ struct zyd_regadcombo registers[15]; -} UPACKED; +} __packed; /* Pairs of address and 16-bit data. For batch write. */ struct zyd_adpairs16 { ==== //depot/projects/usb/src/sys/dev/usb/ufoma.c#27 (text+ko) ==== @@ -105,7 +105,7 @@ uint8_t bDescriptorSubtype; uint8_t bType; uint8_t bMode[1]; -} UPACKED usb_mcpc_acm_descriptor; +} __packed usb_mcpc_acm_descriptor; #define UISUBCLASS_MCPC 0x88 ==== //depot/projects/usb/src/sys/dev/usb/umass.c#29 (text+ko) ==== @@ -229,7 +229,7 @@ uByte bCDBLength; #define CBWCDBLENGTH 16 uByte CBWCDB[CBWCDBLENGTH]; -} UPACKED umass_bbb_cbw_t; +} __packed umass_bbb_cbw_t; #define UMASS_BBB_CBW_SIZE 31 @@ -245,7 +245,7 @@ #define CSWSTATUS_GOOD 0x0 #define CSWSTATUS_FAILED 0x1 #define CSWSTATUS_PHASE 0x2 -} UPACKED umass_bbb_csw_t; +} __packed umass_bbb_csw_t; #define UMASS_BBB_CSW_SIZE 13 @@ -263,13 +263,13 @@ #define IDB_VALUE_PHASE 0x02 #define IDB_VALUE_PERSISTENT 0x03 #define IDB_VALUE_STATUS_MASK 0x03 - } UPACKED common; + } __packed common; struct { uint8_t asc; uint8_t ascq; - } UPACKED ufi; -} UPACKED umass_cbi_sbl_t; + } __packed ufi; +} __packed umass_cbi_sbl_t; struct umass_softc; /* see below */ ==== //depot/projects/usb/src/sys/dev/usb/usb.h#19 (text+ko) ==== @@ -109,8 +109,6 @@ #define USETDW(w,v) (*(uint32_t *)(w) = (v)) #endif -#define UPACKED __packed - typedef struct { uByte bmRequestType; uByte bRequest; @@ -118,7 +116,7 @@ uWord wIndex; uWord wLength; uByte bData[0]; -} UPACKED usb_device_request_t; +} __packed usb_device_request_t; #define UT_WRITE 0x00 #define UT_READ 0x80 @@ -192,7 +190,7 @@ uByte bLength; uByte bDescriptorType; uByte bDescriptorSubtype; -} UPACKED usb_descriptor_t; +} __packed usb_descriptor_t; typedef struct { uByte bLength; @@ -212,7 +210,7 @@ uByte iProduct; uByte iSerialNumber; uByte bNumConfigurations; -} UPACKED usb_device_descriptor_t; +} __packed usb_device_descriptor_t; #define USB_DEVICE_DESCRIPTOR_SIZE 18 @@ -229,7 +227,7 @@ #define UC_REMOTE_WAKEUP 0x20 uByte bMaxPower; /* max current in 2 mA units */ #define UC_POWER_FACTOR 2 -} UPACKED usb_config_descriptor_t; +} __packed usb_config_descriptor_t; #define USB_CONFIG_DESCRIPTOR_SIZE 9 @@ -243,7 +241,7 @@ uByte bInterfaceSubClass; uByte bInterfaceProtocol; uByte iInterface; -} UPACKED usb_interface_descriptor_t; +} __packed usb_interface_descriptor_t; #define USB_INTERFACE_DESCRIPTOR_SIZE 9 @@ -275,7 +273,7 @@ #define UE_GET_ISO_TYPE(a) ((a) & UE_ISO_TYPE) uWord wMaxPacketSize; uByte bInterval; -} UPACKED usb_endpoint_descriptor_t; +} __packed usb_endpoint_descriptor_t; #define USB_ENDPOINT_DESCRIPTOR_SIZE 7 @@ -284,7 +282,7 @@ uByte bDescriptorType; uWord bString[126]; uByte bUnused; -} UPACKED usb_string_descriptor_t; +} __packed usb_string_descriptor_t; #define USB_STRING_DESC_LEN(len) ((2*(len)) + 2) #define USB_LANGUAGE_TABLE 0 /* # of the string language id table */ @@ -341,7 +339,7 @@ #define UHD_NOT_REMOV(desc, i) \ (((desc)->DeviceRemovable[(i)/8] >> ((i) % 8)) & 1) /* deprecated */ uByte PortPowerCtrlMask[1]; -} UPACKED usb_hub_descriptor_t; +} __packed usb_hub_descriptor_t; #define USB_HUB_DESCRIPTOR_SIZE 9 /* includes deprecated * PortPowerCtrlMask */ @@ -356,7 +354,7 @@ uByte bMaxPacketSize0; uByte bNumConfigurations; uByte bReserved; -} UPACKED usb_device_qualifier_t; +} __packed usb_device_qualifier_t; #define USB_DEVICE_QUALIFIER_SIZE 10 @@ -366,7 +364,7 @@ uByte bmAttributes; #define UOTG_SRP 0x01 #define UOTG_HNP 0x02 -} UPACKED usb_otg_descriptor_t; +} __packed usb_otg_descriptor_t; /* OTG feature selectors */ #define UOTG_B_HNP_ENABLE 3 @@ -380,14 +378,14 @@ #define UDS_REMOTE_WAKEUP 0x0002 /* Endpoint status flags */ #define UES_HALT 0x0001 -} UPACKED usb_status_t; +} __packed usb_status_t; typedef struct { uWord wHubStatus; #define UHS_LOCAL_POWER 0x0001 #define UHS_OVER_CURRENT 0x0002 uWord wHubChange; -} UPACKED usb_hub_status_t; +} __packed usb_hub_status_t; typedef struct { uWord wPortStatus; @@ -407,7 +405,7 @@ #define UPS_C_SUSPEND 0x0004 #define UPS_C_OVERCURRENT_INDICATOR 0x0008 #define UPS_C_PORT_RESET 0x0010 -} UPACKED usb_port_status_t; +} __packed usb_port_status_t; /* Device class codes */ #define UDCLASS_IN_INTERFACE 0x00 ==== //depot/projects/usb/src/sys/dev/usb/usb_hid.h#9 (text+ko) ==== @@ -64,7 +64,7 @@ uByte bDescriptorType; uWord wDescriptorLength; } descrs[1]; -} UPACKED usb_hid_descriptor_t; +} __packed usb_hid_descriptor_t; #define USB_HID_DESCRIPTOR_SIZE(n) (9+((n)*3)) ==== //depot/projects/usb/src/sys/dev/usb/uvisor.c#23 (text+ko) ==== @@ -117,8 +117,8 @@ struct { uByte port_function_id; uByte port; - } UPACKED connections[UVISOR_MAX_CONN]; -} UPACKED; + } __packed connections[UVISOR_MAX_CONN]; +} __packed; #define UVISOR_CONNECTION_INFO_SIZE 18 @@ -148,8 +148,8 @@ uByte port; uByte end_point_info; uWord reserved; - } UPACKED connections[UVISOR_MAX_CONN]; -} UPACKED; + } __packed connections[UVISOR_MAX_CONN]; +} __packed; struct uvisor_softc { struct ucom_super_softc sc_super_ucom; From owner-p4-projects@FreeBSD.ORG Thu Nov 8 22:08:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF73D16A420; Thu, 8 Nov 2007 22:08:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54C1816A417 for ; Thu, 8 Nov 2007 22:08:06 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2D2DD13C4AC for ; Thu, 8 Nov 2007 22:08:06 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8M86w0001177 for ; Thu, 8 Nov 2007 22:08:06 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8M85kY001174 for perforce@freebsd.org; Thu, 8 Nov 2007 22:08:05 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 8 Nov 2007 22:08:05 GMT Message-Id: <200711082208.lA8M85kY001174@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 128843 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, 08 Nov 2007 22:08:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=128843 Change 128843 by kmacy@kmacy:storage:toestack on 2007/11/08 22:07:27 allow ip_srcroute to take a null mbuf so that syncache_add can take a null mbuf Affected files ... .. //depot/projects/toestack/sys/netinet/ip_options.c#4 edit Differences ... ==== //depot/projects/toestack/sys/netinet/ip_options.c#4 (text+ko) ==== @@ -404,6 +404,9 @@ struct mbuf *m; struct ipopt_tag *opts; + if (m0 == NULL) + return (NULL); + opts = (struct ipopt_tag *)m_tag_find(m0, PACKET_TAG_IPOPTIONS, NULL); if (opts == NULL) return (NULL); From owner-p4-projects@FreeBSD.ORG Thu Nov 8 22:18:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3123716A420; Thu, 8 Nov 2007 22:18:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C9F016A41A for ; Thu, 8 Nov 2007 22:18:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7D58E13C481 for ; Thu, 8 Nov 2007 22:18:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8MIICG001695 for ; Thu, 8 Nov 2007 22:18:18 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8MIIo2001692 for perforce@freebsd.org; Thu, 8 Nov 2007 22:18:18 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 8 Nov 2007 22:18:18 GMT Message-Id: <200711082218.lA8MIIo2001692@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 128846 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, 08 Nov 2007 22:18:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=128846 Change 128846 by hselasky@hselasky_laptop001 on 2007/11/08 22:17:26 Update style script to handle TAILQ_HEAD() and LIST_HEAD() macros correctly. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_style.sh#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_style.sh#2 (text+ko) ==== @@ -15,10 +15,12 @@ # (cat $1 | indent -Toss_mixerinfo -TFILE -Tu_char -Tu_int -Tu_long \ + -TTAILQ_HEAD -TLIST_HEAD \ -Tu_short -Tfd_set -ta -st -bad -bap -nbbb -nbc -br -nbs \ -c41 -cd41 -cdb -ce -ci4 -cli0 -d0 -di8 -ndj -ei -nfc1 \ -nfcb -i8 -ip8 -l79 -lc77 -ldi0 -nlp -npcs -psl -sc \ -nsob -nv | + sed -e "s/_HEAD [(]/_HEAD(/g" | sed -e "s/ __packed/ __packed/g" | sed -e "s/ __aligned/ __aligned/g" ) > temp From owner-p4-projects@FreeBSD.ORG Thu Nov 8 22:19:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E693016A469; Thu, 8 Nov 2007 22:19:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA9DD16A420 for ; Thu, 8 Nov 2007 22:19:19 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9AE8B13C4A6 for ; Thu, 8 Nov 2007 22:19:19 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA8MJJBY001737 for ; Thu, 8 Nov 2007 22:19:19 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA8MJJI8001734 for perforce@freebsd.org; Thu, 8 Nov 2007 22:19:19 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 8 Nov 2007 22:19:19 GMT Message-Id: <200711082219.lA8MJJI8001734@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 128847 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, 08 Nov 2007 22:19:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=128847 Change 128847 by hselasky@hselasky_laptop001 on 2007/11/08 22:19:02 Style USB code using "usb_style.sh". Affected files ... .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#23 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#21 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudioreg.h#7 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.c#46 edit .. //depot/projects/usb/src/sys/dev/usb/ehci.h#19 edit .. //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#7 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.c#36 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.h#15 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.c#38 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.h#16 edit .. //depot/projects/usb/src/sys/dev/usb/ukbd.c#26 edit .. //depot/projects/usb/src/sys/dev/usb/umass.c#30 edit .. //depot/projects/usb/src/sys/dev/usb/ums.c#27 edit .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#6 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#47 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#38 edit .. //depot/projects/usb/src/sys/dev/usb/uscanner.c#14 edit .. //depot/projects/usb/src/sys/dev/usb/uvisor.c#24 edit Differences ... ==== //depot/projects/usb/src/sys/dev/ata/ata-usb.c#23 (text) ==== @@ -66,7 +66,7 @@ #define CBWCDBLENGTH 16 uint8_t cdb[CBWCDBLENGTH]; -} __packed; +} __packed; /* Command Status Wrapper */ struct bbb_csw { @@ -79,7 +79,7 @@ #define CSWSTATUS_GOOD 0x0 #define CSWSTATUS_FAILED 0x1 #define CSWSTATUS_PHASE 0x2 -} __packed; +} __packed; /* USB-ATA 'controller' softc */ struct atausb_softc { @@ -861,7 +861,7 @@ uint8_t product[16]; uint8_t revision[4]; /* uint8_t crap[60]; */ -} __packed; +} __packed; static int ata_usbchannel_begin_transaction(struct ata_request *request) ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#21 (text+ko) ==== @@ -2682,7 +2682,7 @@ /* * "j" (output) <--- virtual wire <--- "id" (input) - * + * * if "j" has "id" on the input, then "id" have "j" on * the output, because they are connected: */ ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudioreg.h#7 (text+ko) ==== @@ -81,7 +81,7 @@ uWord wTotalLength; uByte bInCollection; uByte baInterfaceNr[1]; -} __packed; +} __packed; struct usb_audio_streaming_interface_descriptor { uByte bLength; @@ -90,7 +90,7 @@ uByte bTerminalLink; uByte bDelay; uWord wFormatTag; -} __packed; +} __packed; struct usb_audio_streaming_endpoint_descriptor { uByte bLength; @@ -102,7 +102,7 @@ #define UA_SED_MAXPACKETSONLY 0x80 uByte bLockDelayUnits; uWord wLockDelay; -} __packed; +} __packed; struct usb_audio_streaming_type1_descriptor { uByte bLength; @@ -120,7 +120,7 @@ ((p)->tSamFreq[((n)*3)+2] << 16)) #define UA_SAMP_LO(p) UA_GETSAMP(p, 0) #define UA_SAMP_HI(p) UA_GETSAMP(p, 1) -} __packed; +} __packed; struct usb_audio_cluster { uByte bNrChannels; @@ -138,7 +138,7 @@ #define UA_CHANNEL_R_SIDE 0x0400 #define UA_CHANNEL_TOP 0x0800 uByte iChannelNames; -} __packed; +} __packed; /* Shared by all units and terminals */ struct usb_audio_unit { @@ -160,7 +160,7 @@ uWord wChannelConfig; uByte iChannelNames; /* uByte iTerminal; */ -} __packed; +} __packed; /* UDESCSUB_AC_OUTPUT */ struct usb_audio_output_terminal { @@ -172,7 +172,7 @@ uByte bAssocTerminal; uByte bSourceId; uByte iTerminal; -} __packed; +} __packed; /* UDESCSUB_AC_MIXER */ struct usb_audio_mixer_unit_0 { @@ -183,14 +183,14 @@ uByte bNrInPins; uByte baSourceId[0]; /* [bNrInPins] */ /* struct usb_audio_mixer_unit_1 */ -} __packed; +} __packed; struct usb_audio_mixer_unit_1 { uByte bNrChannels; uWord wChannelConfig; uByte iChannelNames; uByte bmControls[0]; /* [see source code] */ /* uByte iMixer; */ -} __packed; +} __packed; /* UDESCSUB_AC_SELECTOR */ struct usb_audio_selector_unit { @@ -201,7 +201,7 @@ uByte bNrInPins; uByte baSourceId[0]; /* [bNrInPins] */ /* uByte iSelector; */ -} __packed; +} __packed; /* UDESCSUB_AC_FEATURE */ struct usb_audio_feature_unit { @@ -213,7 +213,7 @@ uByte bControlSize; uByte bmaControls[0]; /* [bControlSize * x] */ /* uByte iFeature; */ -} __packed; +} __packed; /* UDESCSUB_AC_PROCESSING */ struct usb_audio_processing_unit_0 { @@ -225,7 +225,7 @@ uByte bNrInPins; uByte baSourceId[0]; /* [bNrInPins] */ /* struct usb_audio_processing_unit_1 */ -} __packed; +} __packed; struct usb_audio_processing_unit_1 { uByte bNrChannels; uWord wChannelConfig; @@ -233,13 +233,13 @@ uByte bControlSize; uByte bmControls[0]; /* [bControlSize] */ #define UA_PROC_ENABLE_MASK 1 -} __packed; +} __packed; struct usb_audio_processing_unit_updown { uByte iProcessing; uByte bNrModes; uWord waModes[0]; /* [bNrModes] */ -} __packed; +} __packed; /* UDESCSUB_AC_EXTENSION */ struct usb_audio_extension_unit_0 { @@ -251,7 +251,7 @@ uByte bNrInPins; uByte baSourceId[0]; /* [bNrInPins] */ /* struct usb_audio_extension_unit_1 */ -} __packed; +} __packed; struct usb_audio_extension_unit_1 { uByte bNrChannels; uWord wChannelConfig; @@ -261,7 +261,7 @@ #define UA_EXT_ENABLE_MASK 1 #define UA_EXT_ENABLE 1 /* uByte iExtension; */ -} __packed; +} __packed; /* USB terminal types */ #define UAT_UNDEFINED 0x0100 ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#46 (text+ko) ==== @@ -1660,7 +1660,7 @@ /* * NOTE: The "average" variable is never zero after * exiting the loop above ! - * + * * NOTE: We have to subtract one from the offset to * ensure that we are computing the physical address * of a valid page ! @@ -2212,7 +2212,7 @@ /* * wait until the hardware has finished any possible * use of the transfer descriptor and QH - * + * * in case "need_delay" is set, wait until the next * isochronous frame is started */ @@ -2460,7 +2460,7 @@ /* * TODO: make some kind of automatic SMASK/CMASK selection * based on micro-frame usage - * + * * micro-frame usage (8 microframes per 1ms) */ td->sitd_back = htole32(EHCI_LINK_TERMINATE); @@ -3624,14 +3624,14 @@ /* * The proof for the "nqtd" formula is illustrated like * this: - * + * * | remainder +-----+---+ frm 0 | xxx | x | +-----+---++ frm 1 * | xxx | xx | +-----+----+ ... | - * + * * "xxx" means a completely full USB transfer descriptor - * + * * "x" and "xx" means a short USB packet - * + * * For the remainder of an USB transfer modulo * "max_data_length" we need two USB transfer descriptors. * One to transfer the remaining data and one to finalise ==== //depot/projects/usb/src/sys/dev/usb/ehci.h#19 (text+ko) ==== @@ -438,7 +438,7 @@ struct usbd_bus sc_bus; /* base device */ struct usbd_config_td sc_config_td; struct __callout sc_tmo_pcd; - LIST_HEAD(, usbd_xfer) sc_interrupt_list_head; + LIST_HEAD(, usbd_xfer) sc_interrupt_list_head; union ehci_hub_desc sc_hub_desc; struct usbd_std_root_transfer sc_root_ctrl; struct usbd_std_root_transfer sc_root_intr; ==== //depot/projects/usb/src/sys/dev/usb/if_zydreg.h#7 (text+ko) ==== @@ -1128,7 +1128,7 @@ uint16_t currentlength; uint8_t service; uint16_t nextframelen; -} __packed; +} __packed; struct zyd_rxstatusreport { uint8_t signalstrength; @@ -1139,14 +1139,14 @@ uint8_t modulationtype:1; uint8_t rxerrorreason:6; uint8_t errorindication:1; -} __packed; +} __packed; /* Appended length info for multiframe transmission */ struct zyd_rxleninfoapp { uWord len[3]; uWord marker; /* 0x697E */ #define ZYD_MULTIFRAME_MARKER 0x697E -} __packed; +} __packed; struct zyd_aw_pt_bi { uint32_t atim_wnd_period; @@ -1176,11 +1176,11 @@ /* RF2595: 24 */ uWord bit_values[ZYD_REQ_RFWRITE_BITS_MAX]; /* (CR203 & ~(RF_IF_LE | RF_CLK | RF_DATA)) | (bit ? RF_DATA : 0) */ -} __packed; +} __packed; struct zyd_macaddr { uint8_t addr[6]; -} __packed; +} __packed; /* Control interface @ EP 0 */ struct zyd_control { @@ -1190,7 +1190,7 @@ uint16_t index; uint16_t length; void *data; -} __packed; +} __packed; /* Int IN interface @ EP 3 (single register access) */ struct zyd_intinsingle { @@ -1200,7 +1200,7 @@ uWord sts3; uWord sts4; uWord sts5; -} __packed; +} __packed; /* Int/bulk OUT interface @ EP 4 (single register access) */ struct zyd_intoutsingle { @@ -1210,33 +1210,33 @@ uWord length; uWord data1; uWord data2; -} __packed; +} __packed; /* Register addr/data combo */ struct zyd_regadcombo { uWord addr; uWord data; -} __packed; +} __packed; /* Int IN interface @ EP 3 (multi register access) output */ struct zyd_intinmultioutput { uWord id; /* pairs of addr-data-addr-data-... */ struct zyd_regadcombo registers[15]; -} __packed; +} __packed; /* Int/bulk OUT interface @ EP 4 (multi register access) read */ struct zyd_intoutmultiread { uWord id; uWord addr[15]; -} __packed; +} __packed; /* Int/bulk OUT interface @ EP 4 (multi register access) write */ struct zyd_intoutmultiwrite { uWord id; /* pairs of addr-data-addr-data-... */ struct zyd_regadcombo registers[15]; -} __packed; +} __packed; /* Pairs of address and 16-bit data. For batch write. */ struct zyd_adpairs16 { ==== //depot/projects/usb/src/sys/dev/usb/ohci.c#36 (text+ko) ==== @@ -1748,7 +1748,7 @@ /* * wait until hardware has finished any possible use of the * transfer and QH - * + * * hardware finishes in 1 millisecond */ DELAY(need_delay ? (2 * 1000) : (5)); ==== //depot/projects/usb/src/sys/dev/usb/ohci.h#15 (text+ko) ==== @@ -312,7 +312,7 @@ struct usbd_bus sc_bus; /* base device */ struct usbd_config_td sc_config_td; struct __callout sc_tmo_rhsc; - LIST_HEAD(, usbd_xfer) sc_interrupt_list_head; + LIST_HEAD(, usbd_xfer) sc_interrupt_list_head; union ohci_hub_desc sc_hub_desc; struct usbd_std_root_transfer sc_root_ctrl; struct usbd_std_root_transfer sc_root_intr; ==== //depot/projects/usb/src/sys/dev/usb/uhci.c#38 (text+ko) ==== @@ -737,9 +737,9 @@ /* * uhci_dump_qhs displays all the QHs and TDs from the given QH * onwards Traverses sideways first, then down. - * + * * QH1 QH2 No QH TD2.1 TD2.2 TD1.1 etc. - * + * * TD2.x being the TDs queued at QH2 and QH1 being referenced from QH1. */ @@ -1979,7 +1979,7 @@ /* * wait until hardware has finished any possible use of the * transfer and QH - * + * * hardware finishes in 1 millisecond */ DELAY(need_delay ? ((3 * 1000) / 2) : UHCI_QH_REMOVE_DELAY); ==== //depot/projects/usb/src/sys/dev/usb/uhci.h#16 (text+ko) ==== @@ -265,7 +265,7 @@ struct usbd_page sc_hw_page; struct usbd_bus sc_bus; /* base device */ struct usbd_config_td sc_config_td; - LIST_HEAD(, usbd_xfer) sc_interrupt_list_head; + LIST_HEAD(, usbd_xfer) sc_interrupt_list_head; union uhci_hub_desc sc_hub_desc; struct usbd_std_root_transfer sc_root_ctrl; struct usbd_std_root_transfer sc_root_intr; ==== //depot/projects/usb/src/sys/dev/usb/ukbd.c#26 (text+ko) ==== @@ -238,7 +238,7 @@ static int ukbd_set_typematic(keyboard_t *kbd, int code); #ifdef UKBD_EMULATE_ATSCANCODE -static int +static int ukbd_key2scan(struct ukbd_softc *sc, int keycode, int shift, int up); ==== //depot/projects/usb/src/sys/dev/usb/umass.c#30 (text+ko) ==== @@ -2591,7 +2591,7 @@ /* * A HBA is attached to the CAM layer. - * + * * The CAM layer will then after a while start probing for devices on * the bus. The number of SIMs is limited to one. */ @@ -2768,7 +2768,7 @@ * Verify, depending on the operation to perform, that we either got * a valid sc, because an existing target was referenced, or * otherwise the SIM is addressed. - * + * * This avoids bombing out at a printf and does give the CAM layer some * sensible feedback on errors. */ ==== //depot/projects/usb/src/sys/dev/usb/ums.c#27 (text+ko) ==== @@ -270,8 +270,8 @@ sc->sc_status.dy += dy; sc->sc_status.dz += dz; /* - * sc->sc_status.dt += dt; *//* no way to export - * this yet + * sc->sc_status.dt += dt; + * no way to export this yet */ /* ==== //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#10 (text+ko) ==== @@ -72,29 +72,28 @@ * FreeBSD USB interface *------------------------------------------------------------------------*/ -static -LIST_HEAD(, usb_linux_softc) usb_linux_attached_list; - static LIST_HEAD(, usb_driver) usb_linux_driver_list; +static LIST_HEAD(, usb_linux_softc) usb_linux_attached_list; +static LIST_HEAD(, usb_driver) usb_linux_driver_list; - static device_method_t usb_linux_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, usb_linux_probe), - DEVMETHOD(device_attach, usb_linux_attach), - DEVMETHOD(device_detach, usb_linux_detach), - DEVMETHOD(device_suspend, usb_linux_suspend), - DEVMETHOD(device_resume, usb_linux_resume), - DEVMETHOD(device_shutdown, usb_linux_shutdown), +static device_method_t usb_linux_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, usb_linux_probe), + DEVMETHOD(device_attach, usb_linux_attach), + DEVMETHOD(device_detach, usb_linux_detach), + DEVMETHOD(device_suspend, usb_linux_suspend), + DEVMETHOD(device_resume, usb_linux_resume), + DEVMETHOD(device_shutdown, usb_linux_shutdown), - {0, 0} - }; + {0, 0} +}; - static driver_t usb_linux_driver = { - .name = "usb_linux", - .methods = usb_linux_methods, - .size = sizeof(struct usb_linux_softc), - }; +static driver_t usb_linux_driver = { + .name = "usb_linux", + .methods = usb_linux_methods, + .size = sizeof(struct usb_linux_softc), +}; - static devclass_t usb_linux_devclass; +static devclass_t usb_linux_devclass; DRIVER_MODULE(usb_linux, uhub, usb_linux_driver, usb_linux_devclass, usbd_driver_load, 0); MODULE_DEPEND(usb_linux, usb, 1, 1, 1); @@ -107,8 +106,8 @@ * If it finds a match the matching entry will be returned. * Else "NULL" will be returned. *------------------------------------------------------------------------*/ - static const struct usb_device_id * - usb_linux_lookup_id(const struct usb_device_id *id, struct usb_attach_arg *uaa) +static const struct usb_device_id * +usb_linux_lookup_id(const struct usb_device_id *id, struct usb_attach_arg *uaa) { usb_interface_descriptor_t *idesc; usb_device_descriptor_t *dd; @@ -630,7 +629,7 @@ /* * NOTE: we need to allocate real memory here so that we don't * transfer data to/from the stack! - * + * * 0xFFFF is a FreeBSD specific magic value. */ urb = usb_alloc_urb(0xFFFF, size); ==== //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#6 (text+ko) ==== @@ -325,7 +325,7 @@ struct usb_host_endpoint { struct usb_endpoint_descriptor desc; - TAILQ_HEAD(, urb) bsd_urb_list; + TAILQ_HEAD(, urb) bsd_urb_list; struct usbd_xfer *bsd_xfer[2]; ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#47 (text+ko) ==== @@ -1199,7 +1199,7 @@ /* * ``bNumInterface'' is checked by * ``usbd_set_config_index()'' - * + * * ``USBD_CLR_IFACE_NO_PROBE()'' is run by * ``usbd_fill_iface_data()'', which is * called by ``usbd_set_config_index()'' @@ -2513,36 +2513,36 @@ * "used" queue and executing it must be atomic, with regard * to the "p_mtx" mutex. That means any attempt to queue a * command by another thread must be blocked until either: - * + * * 1) the command sleeps - * + * * 2) the command returns - * + * * Here is a practical example that shows how this helps * solving a problem: - * + * * Assume that you want to set the baud rate on a USB serial * device. During the programming of the device you don't * want to receive nor transmit any data, because it will be * garbage most likely anyway. The programming of our USB * device takes 20 milliseconds and it needs to call * functions that sleep. - * + * * Non-working solution: Before we queue the programming * command, we stop transmission and reception of data. Then * we queue a programming command. At the end of the * programming command we enable transmission and reception * of data. - * + * * Problem: If a second programming command is queued while the * first one is sleeping, we end up enabling transmission * and reception of data too early. - * + * * Working solution: Before we queue the programming command, * we stop transmission and reception of data. Then we queue * a programming command. Then we queue a second command * that only enables transmission and reception of data. - * + * * Why it works: If a second programming command is queued * while the first one is sleeping, then the queueing of a * second command to enable the data transfers, will cause @@ -2550,7 +2550,7 @@ * removed from the queue, and re-inserted after the last * baud rate programming command, which then gives the * desired result. - * + * * This example assumes that you use a "qcount" of zero. */ ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#38 (text+ko) ==== @@ -390,7 +390,7 @@ /* * BSD specific requirement: - * + * * In case we are transferring more than one USB frame * consisting of up to 3 USB packets, make sure that the USB * frame size is divisible by 8. This is supposed to @@ -862,10 +862,10 @@ * HINT: when you start/stop a transfer, it * might be a good idea to directly use the * "pxfer[]" structure: - * + * * usbd_transfer_start(sc->pxfer[0]); * usbd_transfer_stop(sc->pxfer[0]); - * + * * That way, if your code has many parts that * will not stop running under the same * lock, in other words "priv_mtx", the @@ -873,7 +873,7 @@ * usbd_transfer_stop functions will simply * return when they detect a NULL pointer * argument. - * + * * To avoid any races we clear the "pxfer[]" * pointer while holding the private mutex * of the driver: @@ -1541,11 +1541,11 @@ } /* * Handled cases: - * + * * 1) Start the first transfer queued. This transfer is always last on * the pipe transfer list! "le_next" is NULL. "le_prev" is also * NULL. - * + * * 2) Start the last transfer if it is already queued. We are most * likely resuming a control transfer. "le_next" is NULL. "le_prev" * is not NULL. ==== //depot/projects/usb/src/sys/dev/usb/uscanner.c#14 (text+ko) ==== @@ -129,7 +129,7 @@ /* * Prototypes for the character device handling routines. */ -static int32_t +static int32_t uscanner_open(struct usb_cdev *cdev, int32_t fflags, int32_t devtype, struct thread *td); static void uscanner_start_read(struct usb_cdev *cdev); ==== //depot/projects/usb/src/sys/dev/usb/uvisor.c#24 (text+ko) ==== @@ -118,7 +118,7 @@ uByte port_function_id; uByte port; } __packed connections[UVISOR_MAX_CONN]; -} __packed; +} __packed; #define UVISOR_CONNECTION_INFO_SIZE 18 @@ -149,7 +149,7 @@ uByte end_point_info; uWord reserved; } __packed connections[UVISOR_MAX_CONN]; -} __packed; +} __packed; struct uvisor_softc { struct ucom_super_softc sc_super_ucom; From owner-p4-projects@FreeBSD.ORG Fri Nov 9 05:35:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A67816A41A; Fri, 9 Nov 2007 05:35:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0937316A419 for ; Fri, 9 Nov 2007 05:35:11 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EB0AB13C49D for ; Fri, 9 Nov 2007 05:35:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA95ZAdn047480 for ; Fri, 9 Nov 2007 05:35:10 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA95ZAfO047477 for perforce@freebsd.org; Fri, 9 Nov 2007 05:35:10 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 9 Nov 2007 05:35:10 GMT Message-Id: <200711090535.lA95ZAfO047477@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 128852 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, 09 Nov 2007 05:35:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=128852 Change 128852 by kmacy@kmacy:storage:toestack on 2007/11/09 05:34:25 add callback and callback arg to in_conninfo, to support: - notify TOE when a syncache entry is dropped or is already present so that the TOE can release any associated resources and drop connection state - when a syncache entry is upgraded to a socket, we retain the toepcb association Affected files ... .. //depot/projects/toestack/sys/netinet/in_pcb.h#3 edit .. //depot/projects/toestack/sys/netinet/tcp_syncache.c#5 edit Differences ... ==== //depot/projects/toestack/sys/netinet/in_pcb.h#3 (text+ko) ==== @@ -89,6 +89,13 @@ #define ie6_laddr ie_dependladdr.ie6_local }; + +#define SC_ENTRY_PRESENT 1 +#define SC_DROP 2 + +typedef void (*sc_eh_t)(int event, void *arg); + + /* * XXX The defines for inc_* are hacks and should be changed to direct * references. @@ -99,6 +106,8 @@ u_int16_t inc_pad; /* XXX alignment for in_endpoints */ /* protocol dependent part */ struct in_endpoints inc_ie; + sc_eh_t inc_eh; /* syncache event handler - timeout or already present */ + void *inc_ext; /* external TCP connection state */ }; #define inc_isipv6 inc_flags /* temp compatability */ #define inc_fport inc_ie.ie_fport ==== //depot/projects/toestack/sys/netinet/tcp_syncache.c#5 (text+ko) ==== @@ -353,6 +353,10 @@ TAILQ_REMOVE(&sch->sch_bucket, sc, sc_hash); sch->sch_length--; +#ifndef DISABLE_TCP_OFFLOAD + if (sc->sc_inc.inc_eh && sc->sc_inc.inc_ext) + sc->sc_inc.inc_eh(SC_DROP, sc->sc_inc.inc_ext); +#endif syncache_free(sc); tcp_syncache.cache_count--; } @@ -403,7 +407,10 @@ sch->sch_nextc = sc->sc_rxttime; continue; } - +#ifndef DISABLE_TCP_OFFLOAD + if (sc->sc_inc.inc_eh != NULL) + continue; +#endif if (sc->sc_rxmits > tcp_syncache.rexmt_limit) { if ((s = tcp_log_addrs(&sc->sc_inc, NULL, NULL, NULL))) { log(LOG_DEBUG, "%s; %s: Retransmits exhausted, " @@ -1028,6 +1035,10 @@ sc = syncache_lookup(inc, &sch); /* returns locked entry */ SCH_LOCK_ASSERT(sch); if (sc != NULL) { +#ifndef DISABLE_TCP_OFFLOAD + if (sc->sc_inc.inc_eh && sc->sc_inc.inc_ext) + sc->sc_inc.inc_eh(SC_ENTRY_PRESENT, sc->sc_inc.inc_ext); +#endif tcpstat.tcps_sc_dupsyn++; if (ipopts) { /* @@ -1062,7 +1073,7 @@ s, __func__); free(s, M_TCPLOG); } - if (syncache_respond(sc) == 0) { + if ((inc->inc_eh == NULL) && syncache_respond(sc) == 0) { sc->sc_rxmits = 0; syncache_timeout(sc, sch, 1); tcpstat.tcps_sndacks++; @@ -1203,7 +1214,7 @@ /* * Do a standard 3-way handshake. */ - if (syncache_respond(sc) == 0) { + if (inc->inc_ext != NULL || syncache_respond(sc) == 0) { if (tcp_syncookies && tcp_syncookiesonly && sc != &scs) syncache_free(sc); else if (sc != &scs) @@ -1221,8 +1232,11 @@ if (sc == &scs) mac_syncache_destroy(&maclabel); #endif - *lsop = NULL; - m_freem(m); + if (m) { + + *lsop = NULL; + m_freem(m); + } return; } From owner-p4-projects@FreeBSD.ORG Fri Nov 9 05:38:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A632C16A421; Fri, 9 Nov 2007 05:38:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 27D1D16A41A for ; Fri, 9 Nov 2007 05:38:14 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 15DEF13C49D for ; Fri, 9 Nov 2007 05:38:14 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA95cDsV047989 for ; Fri, 9 Nov 2007 05:38:13 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA95cDvD047986 for perforce@freebsd.org; Fri, 9 Nov 2007 05:38:13 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 9 Nov 2007 05:38:13 GMT Message-Id: <200711090538.lA95cDvD047986@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 128853 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, 09 Nov 2007 05:38:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=128853 Change 128853 by kmacy@kmacy:storage:toestack on 2007/11/09 05:37:25 fix handling of GET_IFF_MAC Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/cxgb_offload.c#16 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/cxgb_offload.c#16 (text+ko) ==== @@ -205,26 +205,29 @@ static struct ifnet * get_iff_from_mac(adapter_t *adapter, const uint8_t *mac, unsigned int vlan) { -#ifdef notyet int i; for_each_port(adapter, i) { +#ifdef notyet const struct vlan_group *grp; +#endif const struct port_info *p = &adapter->port[i]; - struct ifnet *ifnet = p->ifp; + struct ifnet *ifp = p->ifp; if (!memcmp(p->hw_addr, mac, ETHER_ADDR_LEN)) { +#ifdef notyet + if (vlan && vlan != EVL_VLID_MASK) { grp = p->vlan_grp; dev = grp ? grp->vlan_devices[vlan] : NULL; } else while (dev->master) dev = dev->master; - return dev; +#endif + return (ifp); } } -#endif - return NULL; + return (NULL); } static inline void From owner-p4-projects@FreeBSD.ORG Fri Nov 9 05:39:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B64D16A421; Fri, 9 Nov 2007 05:39:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5E58F16A41B for ; Fri, 9 Nov 2007 05:39:15 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B81513C4BB for ; Fri, 9 Nov 2007 05:39:15 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA95dFg8049202 for ; Fri, 9 Nov 2007 05:39:15 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA95dFoN049199 for perforce@freebsd.org; Fri, 9 Nov 2007 05:39:15 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 9 Nov 2007 05:39:15 GMT Message-Id: <200711090539.lA95dFoN049199@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 128854 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, 09 Nov 2007 05:39:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=128854 Change 128854 by kmacy@kmacy:storage:toestack on 2007/11/09 05:38:46 add infrastructure to send SYN-ACK to establish connection as well as tie into syncache Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#19 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#10 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#3 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#10 edit .. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#10 edit Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#19 (text+ko) ==== @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -57,11 +58,11 @@ #include #include -#include #include #include #include #include +#include #include @@ -703,7 +704,8 @@ { struct toepcb *toep = sototoep(so); toepcb_hold(toep); - cxgb_insert_tid(d->cdev, d->client, so, tid); + + cxgb_insert_tid(d->cdev, d->client, toep, tid); } /** @@ -934,26 +936,30 @@ struct tcpcb *tp = sototcpcb(so); struct toepcb *toep = tp->t_toe; int wscale = select_rcv_wscale(tp->rcv_wnd); + int qset_idx; + + if (toep) + qset_idx = toep->tp_qset_idx; + else + qset_idx = 0; return V_NAGLE((tp->t_flags & TF_NODELAY) == 0) | V_KEEP_ALIVE((so->so_options & SO_KEEPALIVE) != 0) | F_TCAM_BYPASS | - V_WND_SCALE(wscale) | V_MSS_IDX(toep->tp_qset_idx); + V_WND_SCALE(wscale) | V_MSS_IDX(qset_idx); } static inline unsigned int -calc_opt0l(struct socket *so) +calc_opt0l(struct socket *so, int ulp_mode) { struct tcpcb *tp = sototcpcb(so); - struct toepcb *toep = tp->t_toe; - return V_TOS(SO_TOS(so)) | V_ULP_MODE(toep->tp_ulp_mode) | + return V_TOS(SO_TOS(so)) | V_ULP_MODE(ulp_mode) | V_RCV_BUFSIZ(min(tp->rcv_wnd >> 10, (u32)M_RCV_BUFSIZ)); } static inline unsigned int -calc_opt2(const struct socket *so) +calc_opt2(const struct socket *so, struct toedev *dev) { - struct toedev *dev = TOE_DEV(so); int flv_valid; flv_valid = (TOM_TUNABLE(dev, cong_alg) != -1); @@ -971,6 +977,9 @@ { struct cpl_act_open_req *req; struct inpcb *inp = sotoinpcb(so); + struct tcpcb *tp = intotcpcb(inp); + struct toepcb *toep = tp->t_toe; + struct toedev *tdev = TOE_DEV(so); m_set_priority((struct mbuf *)m, mkprio(CPL_PRIORITY_SETUP, so)); @@ -986,9 +995,9 @@ req->opt0h = htonl(calc_opt0h(so) | V_L2T_IDX(e->idx) | V_TX_CHANNEL(e->smt_idx)); - req->opt0l = htonl(calc_opt0l(so)); + req->opt0l = htonl(calc_opt0l(so, toep->tp_ulp_mode)); req->params = 0; - req->opt2 = htonl(calc_opt2(so)); + req->opt2 = htonl(calc_opt2(so, tdev)); } @@ -1319,11 +1328,11 @@ * Process new data received for a connection. */ static void -new_rx_data(struct socket *so, struct mbuf *m) +new_rx_data(struct toepcb *toep, struct mbuf *m) { struct cpl_rx_data *hdr = cplhdr(m); - struct tcpcb *tp = sototcpcb(so); - struct toepcb *toep = tp->t_toe; + struct tcpcb *tp = toep->tp_tp; + struct socket *so = toeptoso(toep); int len = be16toh(hdr->len); #ifdef notyet @@ -1393,11 +1402,9 @@ static int do_rx_data(struct t3cdev *cdev, struct mbuf *m, void *ctx) { - struct socket *so = (struct socket *)ctx; + struct toepcb *toep = (struct toepcb *)ctx; - VALIDATE_SOCK(so); - - new_rx_data(so, m); + new_rx_data(toep, m); return (0); } @@ -1885,15 +1892,21 @@ do_abort_req(struct t3cdev *cdev, struct mbuf *m, void *ctx) { const struct cpl_abort_req_rss *req = cplhdr(m); - struct socket *so = (struct socket *)ctx; - struct tcpcb *tp = sototcpcb(so); - struct toepcb *toep = tp->t_toe; + struct toepcb *toep = (struct toepcb *)ctx; + struct socket *so; if (is_neg_adv_abort(req->status)) { m_free(m); return (0); } - + printf("aborting tid=%d\n", toep->tp_tid); + + if (toep->tp_flags & TP_SYN_RCVD) { + printf("abort for unestablished connection :-(\n"); + return (0); + } + + so = toeptoso(toep); VALIDATE_SOCK(so); toepcb_hold(toep); process_abort_req(so, m, TOE_DEV(so)); @@ -1975,6 +1988,7 @@ * Create a new socket as a child of the listening socket 'lsk' and initialize * with the information in the supplied PASS_ACCEPT_REQ message. */ +#ifdef notyet static struct socket * mk_pass_sock(struct socket *lso, struct toedev *dev, int tid, struct cpl_pass_accept_req *req) @@ -2057,6 +2071,7 @@ #endif return NULL; } +#endif /* * Populate a reject CPL_PASS_ACCEPT_RPL WR. @@ -2092,6 +2107,74 @@ m_free(m); } +static void +handle_syncache_event(int event, void *arg) +{ + struct toepcb *toep = arg; + + switch (event) { + case SC_ENTRY_PRESENT: + /* + * entry already exists - free toepcb + * and l2t + */ + toepcb_release(toep); + break; + case SC_DROP: + /* + * The syncache has given up on this entry + * either it timed out, or it was evicted + * we need to explicitly release the tid + */ + toepcb_release(toep); + break; + default: + log(LOG_ERR, "unknown syncache event %d\n", event); + break; + } +} + +static void +syncache_add_accept_req(struct cpl_pass_accept_req *req, struct socket *lso, struct toepcb *toep) +{ + struct in_conninfo inc; + struct tcpopt to; + struct tcphdr th; + struct inpcb *inp; + int mss, wsf, sack, ts; + + bzero(&to, sizeof(struct tcpopt)); + inp = sotoinpcb(lso); + + /* + * Fill out information for entering us into the syncache + */ + th.th_sport = req->peer_port; + th.th_dport = req->local_port; + th.th_seq = req->rcv_isn; + th.th_flags = TH_SYN; + + inc.inc_isipv6 = 0; + inc.inc_len = 0; + memcpy(&inc.inc_faddr, &req->peer_ip, 4); + memcpy(&inc.inc_laddr, &req->local_ip, 4); + inc.inc_ext = toep; + inc.inc_eh = handle_syncache_event; + + mss = req->tcp_options.mss; + wsf = req->tcp_options.wsf; + ts = req->tcp_options.tstamp; + sack = req->tcp_options.sack; + to.to_mss = mss; + to.to_wscale = wsf; + to.to_flags = (mss ? TOF_MSS : 0) | (wsf ? TOF_SCALE : 0) | (ts ? TOF_TS : 0) | (sack ? TOF_SACKPERM : 0); + + INP_INFO_WLOCK(&tcbinfo); + INP_LOCK(inp); + syncache_add(&inc, &to, &th, inp, &lso, NULL); +} + + /* * Process a CPL_PASS_ACCEPT_REQ message. Does the part that needs the socket * lock held. Note that the sock here is a listening socket that is not owned @@ -2102,7 +2185,6 @@ struct listen_ctx *lctx) { int rt_flags; - struct socket *newso; struct l2t_entry *e; struct iff_mac tim; struct mbuf *reply_mbuf, *ddp_mbuf = NULL; @@ -2111,26 +2193,37 @@ unsigned int tid = GET_TID(req); struct tom_data *d = TOM_DATA(tdev); struct t3cdev *cdev = d->cdev; - struct tcpcb *newtp, *tp = sototcpcb(so); - struct toepcb *toep, *newtoep; - + struct tcpcb *tp = sototcpcb(so); + struct toepcb *newtoep; + struct rtentry *dst; + struct sockaddr_in nam; + reply_mbuf = m_gethdr(M_NOWAIT, MT_DATA); - if (__predict_false(!reply_mbuf)) { + if (__predict_false(reply_mbuf == NULL)) { if (tdev->ttid == TOE_ID_CHELSIO_T3) t3_defer_reply(m, tdev, reject_pass_request); else { cxgb_queue_tid_release(cdev, tid); m_free(m); } + printf("failed to get reply_mbuf\n"); + goto out; } - if (tp->t_state != TCPS_LISTEN) + if (tp->t_state != TCPS_LISTEN) { + printf("socket not in listen state\n"); + goto reject; + } + tim.mac_addr = req->dst_mac; tim.vlan_tag = ntohs(req->vlan_tag); - if (cdev->ctl(cdev, GET_IFF_FROM_MAC, &tim) < 0 || !tim.dev) + if (cdev->ctl(cdev, GET_IFF_FROM_MAC, &tim) < 0 || !tim.dev) { + printf("rejecting from failed GET_IFF_FROM_MAC\n"); goto reject; + } + #ifdef notyet /* * XXX do route lookup to confirm that we're still listening on this @@ -2154,52 +2247,89 @@ if ((rt_flags & RTF_LOCAL) == 0) goto reject; + /* + * Calculate values and add to syncache + */ + + newtoep = toepcb_alloc(); + if (newtoep == NULL) + goto reject; + + bzero(&nam, sizeof(struct sockaddr_in)); - newso = sonewconn(so, SS_ISCONNECTED); - newtp = sototcpcb(so); + nam.sin_len = sizeof(struct sockaddr_in); + nam.sin_family = AF_INET; + memcpy(&nam.sin_addr, &req->peer_ip, 4); + dst = rtalloc2((struct sockaddr *)&nam, 1, 0); + + if (dst == NULL) { + + printf("failed to find route\n"); + + } + e = newtoep->tp_l2t = t3_l2t_get(d->cdev, dst, tim.dev); + if (e == NULL) { + + printf("failed to get l2t\n"); + + } /* - * XXX need to inherit ULP mode + * Point to our listen socket until accept */ - newtoep = toepcb_alloc(newtp); + newtoep->tp_tp = tp; + newtoep->tp_flags = TP_SYN_RCVD; + newtoep->tp_tid = tid; - /* Don't get a reference, newsk starts out with ref count 2 */ - cxgb_insert_tid(cdev, d->client, newso, tid); + printf("inserting tid=%d\n", tid); + cxgb_insert_tid(cdev, d->client, newtoep, tid); - if (newtoep->tp_ulp_mode) { + if (lctx->ulp_mode) { ddp_mbuf = m_gethdr(M_NOWAIT, MT_DATA); if (!ddp_mbuf) newtoep->tp_ulp_mode = 0; + else + newtoep->tp_ulp_mode = lctx->ulp_mode; } - m_set_socket(reply_mbuf, newso); set_arp_failure_handler(reply_mbuf, pass_accept_rpl_arp_failure); - e = newtoep->tp_l2t; + + printf("adding request to syn cache\n"); + + syncache_add_accept_req(req, so, newtoep); rpl = cplhdr(reply_mbuf); + reply_mbuf->m_pkthdr.len = reply_mbuf->m_len = sizeof(*rpl); rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); OPCODE_TID(rpl) = htonl(MK_OPCODE_TID(CPL_PASS_ACCEPT_RPL, tid)); rpl->peer_ip = req->peer_ip; // req->peer_ip is not overwritten - rpl->opt0h = htonl(calc_opt0h(newso) | V_L2T_IDX(e->idx) | + printf("e=%p idxs:\n", e); + printf("e->idx=%d e->smt_idx=%d\n", e->idx, e->smt_idx); + + rpl->opt0h = htonl(calc_opt0h(so) | V_L2T_IDX(e->idx) | V_TX_CHANNEL(e->smt_idx)); - rpl->opt0l_status = htonl(calc_opt0l(newso) | + rpl->opt0l_status = htonl(calc_opt0l(so, lctx->ulp_mode) | CPL_PASS_OPEN_ACCEPT); - rpl->opt2 = htonl(calc_opt2(newso)); - + rpl->opt2 = htonl(calc_opt2(so, tdev)); rpl->rsvd = rpl->opt2; /* workaround for HW bug */ - m_set_priority(reply_mbuf, mkprio(CPL_PRIORITY_SETUP, newso)); + m_set_priority(reply_mbuf, mkprio(CPL_PRIORITY_SETUP, so)); + printf("sending off reply\n"); + l2t_send(cdev, reply_mbuf, e); m_free(m); - if (toep->tp_ulp_mode) { +#ifdef notyet + /* + * XXX this call path has to be converted to not depend on sockets + */ + if (newtoep->tp_ulp_mode) __set_tcb_field(newso, ddp_mbuf, W_TCB_RX_DDP_FLAGS, V_TF_DDP_OFF(1) | TP_DDP_TIMER_WORKAROUND_MASK, V_TF_DDP_OFF(1) | TP_DDP_TIMER_WORKAROUND_VAL, 1); - return; - } - +#endif + return; reject: if (tdev->ttid == TOE_ID_CHELSIO_T3) mk_pass_accept_rpl(reply_mbuf, m); @@ -2366,19 +2496,20 @@ do_pass_establish(struct t3cdev *cdev, struct mbuf *m, void *ctx) { struct cpl_pass_establish *req = cplhdr(m); - struct socket *lso, *so = (struct socket *)ctx; - struct toedev *tdev = TOE_DEV(so); + struct toepcb *toep = (struct toepcb *)ctx; + struct socket *so, *lso; // Complete socket initialization now that we have the SND_ISN - struct tcpcb *tp = sototcpcb(so); - struct toepcb *toep = tp->t_toe; + + struct toedev *tdev; struct toe_tid_entry *t3c_stid; struct tid_info *t; unsigned int stid; + + lso = toeptoso(toep); + tdev = TOE_DEV(lso); - VALIDATE_SOCK(so); + SOCK_LOCK(lso); - SOCK_LOCK(so); - toep->tp_wr_max = toep->tp_wr_avail = TOM_TUNABLE(tdev, max_wrs); toep->tp_wr_unacked = 0; toep->tp_qset = G_QNUM(ntohl(m->m_pkthdr.csum_data)); @@ -2421,7 +2552,7 @@ #if 0 unlock: #endif - SOCK_UNLOCK(so); + SOCK_UNLOCK(lso); return 0; } @@ -2537,6 +2668,7 @@ * backlogged its last CPL message(s). Just take it away. */ toep->tp_tid = tid; + toep->tp_tp = tp; so_insert_tid(d, so, tid); free_atid(cdev, atid); toep->tp_qset = G_QNUM(ntohl(m->m_pkthdr.csum_data)); @@ -2550,11 +2682,11 @@ * next batch of work requests from the write queue. */ static void -wr_ack(struct socket *so, struct mbuf *m) +wr_ack(struct toepcb *toep, struct mbuf *m) { - struct tcpcb *tp = sototcpcb(so); - struct toepcb *toep = tp->t_toe; + struct tcpcb *tp = toep->tp_tp; struct cpl_wr_ack *hdr = cplhdr(m); + struct socket *so = toeptoso(toep); unsigned int credits = ntohs(hdr->credits); u32 snd_una = ntohl(hdr->snd_una); int bytes = 0; @@ -2647,13 +2779,13 @@ static int do_wr_ack(struct t3cdev *dev, struct mbuf *m, void *ctx) { - struct socket *so = (struct socket *)ctx; + struct toepcb *toep = (struct toepcb *)ctx; printf("do_wr_ack\n"); VALIDATE_SOCK(so); - wr_ack(so, m); + wr_ack(toep, m); return 0; } ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_defs.h#10 (text+ko) ==== @@ -58,7 +58,7 @@ void t3_reset_synq(struct socket *listen_so); void t3_defer_reply(struct mbuf *m, struct toedev *dev, defer_handler_t handler); -struct toepcb *toepcb_alloc(struct tcpcb *); +struct toepcb *toepcb_alloc(void); void toepcb_hold(struct toepcb *); void toepcb_release(struct toepcb *); void toepcb_init(struct toepcb *); ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#3 (text+ko) ==== @@ -30,6 +30,7 @@ $FreeBSD$ ***************************************************************************/ + #ifndef T3_DDP_H #define T3_DDP_H ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.c#10 (text+ko) ==== @@ -133,7 +133,7 @@ } struct toepcb * -toepcb_alloc(struct tcpcb *tp) +toepcb_alloc(void) { struct toepcb *toep; @@ -142,11 +142,10 @@ if (toep == NULL) return (NULL); - toep->tp_tp = tp; - tp->t_toe = toep; - toepcb_init(toep); toepcb_hold(toep); + + return (toep); } void @@ -168,6 +167,7 @@ /* * XXX clear our reference on the inpcb */ + cxgb_remove_tid(TOM_DATA(toep->tp_toedev)->cdev, NULL, toep->tp_tid); free(toep, M_DEVBUF); return; } ==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#10 (text+ko) ==== @@ -120,6 +120,7 @@ struct listen_ctx { struct socket *lso; struct tom_data *tom_data; + int ulp_mode; }; #define TOM_DATA(dev) (*(struct tom_data **)&(dev)->l4opt) @@ -134,7 +135,7 @@ #define TP_ABORT_RPL_RCVD (1 << 5) #define TP_ABORT_REQ_RCVD (1 << 6) #define TP_CLOSE_CON_REQUESTED (1 << 7) - +#define TP_SYN_RCVD (1 << 8) struct toepcb { struct toedev *tp_toedev; From owner-p4-projects@FreeBSD.ORG Fri Nov 9 06:23:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 233FA16A419; Fri, 9 Nov 2007 06:23:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ABD9616A417 for ; Fri, 9 Nov 2007 06:23:02 +0000 (UTC) (envelope-from avatar@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 924C413C48D for ; Fri, 9 Nov 2007 06:23:02 +0000 (UTC) (envelope-from avatar@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA96N2wH081504 for ; Fri, 9 Nov 2007 06:23:02 GMT (envelope-from avatar@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA96N2Yv081501 for perforce@freebsd.org; Fri, 9 Nov 2007 06:23:02 GMT (envelope-from avatar@freebsd.org) Date: Fri, 9 Nov 2007 06:23:02 GMT Message-Id: <200711090623.lA96N2Yv081501@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to avatar@freebsd.org using -f From: Tai-hwa Liang To: Perforce Change Reviews Cc: Subject: PERFORCE change 128855 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, 09 Nov 2007 06:23:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=128855 Change 128855 by avatar@avatar_t40 on 2007/11/09 06:22:32 - Trying to eliminate another racing by replacing the timeout(9) with callout APIs. In addition to that, the callout_drain() in an_detach() help us to avoid a possible panic-on-free due to the callout API tries to lock a destroyed mutex [1]; - In an_stats_update(), check the return value of an_read_record(). This should reduce the device removal(PCCARD) panic [2]. Submitted by: jhb [1], ambrisko [2] Reviewed by: jhb, ambrisko Tested by: dhw MFP4 after: 3 days Affected files ... .. //depot/projects/wifi/sys/dev/an/if_an.c#20 edit .. //depot/projects/wifi/sys/dev/an/if_anreg.h#4 edit Differences ... ==== //depot/projects/wifi/sys/dev/an/if_an.c#20 (text+ko) ==== @@ -790,7 +790,7 @@ */ ether_ifattach(ifp, sc->an_caps.an_oemaddr); - callout_handle_init(&sc->an_stat_ch); + callout_init_mtx(&sc->an_stat_ch, &sc->an_mtx, 0); return(0); fail:; @@ -818,6 +818,7 @@ AN_UNLOCK(sc); ether_ifdetach(ifp); bus_teardown_intr(dev, sc->irq_res, sc->irq_handle); + callout_drain(&sc->an_stat_ch); if_free(ifp); an_release_resources(dev); mtx_destroy(&sc->an_mtx); @@ -1150,18 +1151,17 @@ struct ifnet *ifp; sc = xsc; - AN_LOCK(sc); - if (sc->an_gone) { - AN_UNLOCK(sc); return; } + AN_LOCK_ASSERT(sc); ifp = sc->an_ifp; sc->an_status.an_type = AN_RID_STATUS; sc->an_status.an_len = sizeof(struct an_ltv_status); - an_read_record(sc, (struct an_ltv_gen *)&sc->an_status); + if (an_read_record(sc, (struct an_ltv_gen *)&sc->an_status)) + return; if (sc->an_status.an_opmode & AN_STATUS_OPMODE_IN_SYNC) sc->an_associated = 1; @@ -1170,17 +1170,16 @@ /* Don't do this while we're transmitting */ if (ifp->if_drv_flags & IFF_DRV_OACTIVE) { - sc->an_stat_ch = timeout(an_stats_update, sc, hz); - AN_UNLOCK(sc); + callout_reset(&sc->an_stat_ch, hz, an_stats_update, sc); return; } sc->an_stats.an_len = sizeof(struct an_ltv_stats); sc->an_stats.an_type = AN_RID_32BITS_CUM; - an_read_record(sc, (struct an_ltv_gen *)&sc->an_stats.an_len); + if (an_read_record(sc, (struct an_ltv_gen *)&sc->an_stats.an_len)) + return; - sc->an_stat_ch = timeout(an_stats_update, sc, hz); - AN_UNLOCK(sc); + callout_reset(&sc->an_stat_ch, hz, an_stats_update, sc); return; } @@ -2621,7 +2620,7 @@ ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - sc->an_stat_ch = timeout(an_stats_update, sc, hz); + callout_reset(&sc->an_stat_ch, hz, an_stats_update, sc); AN_UNLOCK(sc); return; @@ -2834,7 +2833,7 @@ for (i = 0; i < AN_TX_RING_CNT; i++) an_cmd(sc, AN_CMD_DEALLOC_MEM, sc->an_rdata.an_tx_fids[i]); - untimeout(an_stats_update, sc, sc->an_stat_ch); + callout_stop(&sc->an_stat_ch); ifp->if_drv_flags &= ~(IFF_DRV_RUNNING|IFF_DRV_OACTIVE); ==== //depot/projects/wifi/sys/dev/an/if_anreg.h#4 (text+ko) ==== @@ -485,7 +485,7 @@ int an_have_rssimap; struct an_ltv_rssi_map an_rssimap; #endif - struct callout_handle an_stat_ch; + struct callout an_stat_ch; struct mtx an_mtx; device_t an_dev; struct ifmedia an_ifmedia; From owner-p4-projects@FreeBSD.ORG Fri Nov 9 10:48:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 21FFB16A46C; Fri, 9 Nov 2007 10:48:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD91C16A46D for ; Fri, 9 Nov 2007 10:48:50 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AB4BD13C4CE for ; Fri, 9 Nov 2007 10:48:50 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA9AmoLA002252 for ; Fri, 9 Nov 2007 10:48:50 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA9AmoAR002249 for perforce@freebsd.org; Fri, 9 Nov 2007 10:48:50 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Fri, 9 Nov 2007 10:48:50 GMT Message-Id: <200711091048.lA9AmoAR002249@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 128862 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, 09 Nov 2007 10:48:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=128862 Change 128862 by zhouzhouyi@zhouzhouyi_mactest on 2007/11/09 10:48:22 As a part of Integration according to rwatson's change to MAC Framework Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_vfs.c#8 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_biba/mac_biba.c#7 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#10 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#6 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac/mac_vfs.c#8 (text+ko) ==== @@ -108,6 +108,8 @@ { if (de&&de->de_dirent&&!strncmp(de->de_dirent->d_name,"mactest", 7)) de->de_label = mac_mactest_label_alloc(); + else if (de&&de->de_dirent&&!strncmp(de->de_dirent->d_name,"null", 4)) + de->de_label = mac_mactest_label_alloc(); else de->de_label = mac_devfs_label_alloc(); } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_biba/mac_biba.c#7 (text+ko) ==== @@ -918,6 +918,7 @@ mb = SLOT(delabel); if (strcmp(dev->si_name, "null") == 0 || strcmp(dev->si_name, "zero") == 0 || + strcmp(dev->si_name, "mactest") == 0 || strcmp(dev->si_name, "random") == 0 || strncmp(dev->si_name, "fd/", strlen("fd/")) == 0) biba_type = MAC_BIBA_TYPE_EQUAL; ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#10 (text+ko) ==== @@ -1,8 +1,8 @@ /*- - * Copyright (c) 2007 Zhouyi Zhou * Copyright (c) 1999-2002, 2007 Robert N. M. Watson * Copyright (c) 2001-2005 McAfee, Inc. * Copyright (c) 2006 SPARTA, Inc. + * Copyright (c) 2007 Zhouyi Zhou * All rights reserved. * * This software was developed by Robert Watson for the TrustedBSD Project. @@ -113,12 +113,39 @@ SYSCTL_NODE(_security_mac_test, OID_AUTO, counter, CTLFLAG_RW, 0, "TrustedBSD mac_test counters controls"); +#define LOG_DECL \ + char *buffer; \ + char *currentchar; \ + char *element1; \ + char *buffer1; \ + int error; \ + struct thread *td1 = curthread; \ + volatile int badmem = 0; \ + error = 0; \ + buffer = malloc(1024, M_MAC_TEST_LOG, M_NOWAIT); \ + if (!buffer) \ + badmem = 1; \ + element1 = buffer + 512; buffer1 = element1 + 256; \ + /*element1 and buffer1 will not be used if badmem == 1*/ \ + currentchar = buffer; + #define COUNTER_DECL(variable) \ static int counter_##variable; \ SYSCTL_INT(_security_mac_test_counter, OID_AUTO, variable, \ CTLFLAG_RD, &counter_##variable, 0, #variable) -#define COUNTER_INC(variable) atomic_add_int(&counter_##variable, 1) +#define COUNTER_INC(variable) do { \ + atomic_add_int(&counter_##variable, 1); \ + if (!badmem) { \ + strcpy(currentchar, #variable); \ + currentchar += strlen(currentchar); \ + sprintf(currentchar, "#pid = %d\n", td1->td_proc->p_pid);\ + mac_test_log_submit(buffer, strlen(buffer)); \ + free(buffer, M_MAC_TEST_LOG); \ + } \ +} while (0) + +#define COUNTER_INC1(variable) atomic_add_int(&counter_##variable, 1) #ifdef KDB #define DEBUGGER(func, string) kdb_enter((string)) @@ -131,9 +158,20 @@ KASSERT(SLOT(label) == magic || SLOT(label) == 0 || \ SLOT(label) == MAGIC_MACTESTLOG, \ ("%s: bad %s label", __func__, #magic)); \ + } \ + if (!badmem) { \ + strcpy(element1, elements); \ + if (label != NULL) { \ + MAC_EXTERNALIZE(cred, label, element1, buffer1, 256); \ + } else \ + strcpy(buffer1,"NULL"); \ + sprintf(currentchar, "%s ", buffer1); \ + currentchar += strlen(currentchar); \ } \ } while (0) + + #define LABEL_DESTROY(label, magic) do { \ if (SLOT(label) == magic || SLOT(label) == 0 || \ SLOT(label) == MAGIC_MACTESTLOG ) { \ @@ -163,7 +201,8 @@ test_bpfdesc_check_receive(struct bpf_d *d, struct label *dlabel, struct ifnet *ifp, struct label *ifplabel) { - + + LOG_DECL LABEL_CHECK(dlabel, MAGIC_BPF); LABEL_CHECK(ifplabel, MAGIC_IFNET); COUNTER_INC(bpfdesc_check_receive); @@ -177,6 +216,7 @@ struct label *dlabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(dlabel, MAGIC_BPF); COUNTER_INC(bpfdesc_create); @@ -188,6 +228,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(dlabel, MAGIC_BPF); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(bpfdesc_create_mbuf); @@ -198,6 +239,7 @@ test_bpfdesc_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_BPF); COUNTER_INC(bpfdesc_destroy_label); } @@ -207,6 +249,7 @@ test_bpfdesc_init_label(struct label *label) { + LOG_DECL LABEL_INIT(label, MAGIC_BPF); COUNTER_INC(bpfdesc_init_label); } @@ -216,6 +259,7 @@ test_cred_check_relabel(struct ucred *cred, struct label *newlabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(newlabel, MAGIC_CRED); COUNTER_INC(cred_check_relabel); @@ -228,6 +272,7 @@ test_cred_check_visible(struct ucred *u1, struct ucred *u2) { + LOG_DECL LABEL_CHECK(u1->cr_label, MAGIC_CRED); LABEL_CHECK(u2->cr_label, MAGIC_CRED); COUNTER_INC(cred_check_visible); @@ -240,6 +285,7 @@ test_cred_copy_label(struct label *src, struct label *dest) { + LOG_DECL LABEL_CHECK(src, MAGIC_CRED); LABEL_CHECK(dest, MAGIC_CRED); COUNTER_INC(cred_copy_label); @@ -250,6 +296,7 @@ test_cred_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_CRED); COUNTER_INC(cred_destroy_label); } @@ -260,8 +307,9 @@ struct sbuf *sb, int *claimed) { - LABEL_CHECK(label, MAGIC_CRED); - COUNTER_INC(cred_externalize_label); +// LOG_DECL +// LABEL_CHECK(label, MAGIC_CRED); + COUNTER_INC1(cred_externalize_label); return (0); } @@ -271,6 +319,7 @@ test_cred_init_label(struct label *label) { + LOG_DECL LABEL_INIT(label, MAGIC_CRED); COUNTER_INC(cred_init_label); } @@ -281,6 +330,7 @@ char *element_data, int *claimed) { + LOG_DECL LABEL_CHECK(label, MAGIC_CRED); COUNTER_INC(cred_internalize_label); @@ -292,6 +342,7 @@ test_cred_relabel(struct ucred *cred, struct label *newlabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(newlabel, MAGIC_CRED); COUNTER_INC(cred_relabel); @@ -303,6 +354,7 @@ struct cdev *dev, struct devfs_dirent *de, struct label *delabel) { + LOG_DECL if (cred != NULL) LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(delabel, MAGIC_DEVFS); @@ -315,6 +367,7 @@ int dirnamelen, struct devfs_dirent *de, struct label *delabel) { + LOG_DECL LABEL_CHECK(delabel, MAGIC_DEVFS); COUNTER_INC(devfs_create_directory); } @@ -326,6 +379,7 @@ struct label *delabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(ddlabel, MAGIC_DEVFS); LABEL_CHECK(delabel, MAGIC_DEVFS); @@ -337,6 +391,7 @@ test_devfs_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_DEVFS); COUNTER_INC(devfs_destroy_label); } @@ -346,6 +401,7 @@ test_devfs_init_label(struct label *label) { + LOG_DECL LABEL_INIT(label, MAGIC_DEVFS); COUNTER_INC(devfs_init_label); } @@ -356,6 +412,7 @@ struct label *direntlabel, struct vnode *vp, struct label *vplabel) { + LOG_DECL LABEL_CHECK(direntlabel, MAGIC_DEVFS); LABEL_CHECK(vplabel, MAGIC_VNODE); COUNTER_INC(devfs_update); @@ -368,9 +425,12 @@ struct label *vplabel) { + LOG_DECL LABEL_CHECK(mplabel, MAGIC_MOUNT); LABEL_CHECK(delabel, MAGIC_DEVFS); LABEL_CHECK(vplabel, MAGIC_VNODE); + if (delabel != NULL && SLOT(delabel) == MAGIC_MACTESTLOG) + LABEL_INIT(vplabel, MAGIC_MACTESTLOG); COUNTER_INC(devfs_vnode_associate); } @@ -380,6 +440,7 @@ struct label *ifplabel, struct label *newlabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(ifplabel, MAGIC_IFNET); LABEL_CHECK(newlabel, MAGIC_IFNET); @@ -394,6 +455,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(ifplabel, MAGIC_IFNET); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(ifnet_check_transmit); @@ -406,6 +468,7 @@ test_ifnet_copy_label(struct label *src, struct label *dest) { + LOG_DECL LABEL_CHECK(src, MAGIC_IFNET); LABEL_CHECK(dest, MAGIC_IFNET); COUNTER_INC(ifnet_copy_label); @@ -416,6 +479,7 @@ test_ifnet_create(struct ifnet *ifp, struct label *ifplabel) { + LOG_DECL LABEL_CHECK(ifplabel, MAGIC_IFNET); COUNTER_INC(ifnet_create); } @@ -426,6 +490,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(ifplabel, MAGIC_IFNET); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(ifnet_create_mbuf); @@ -436,6 +501,7 @@ test_ifnet_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_IFNET); COUNTER_INC(ifnet_destroy_label); } @@ -446,6 +512,7 @@ struct sbuf *sb, int *claimed) { + LOG_DECL LABEL_CHECK(label, MAGIC_IFNET); COUNTER_INC(ifnet_externalize_label); @@ -457,6 +524,7 @@ test_ifnet_init_label(struct label *label) { + LOG_DECL LABEL_INIT(label, MAGIC_IFNET); COUNTER_INC(ifnet_init_label); } @@ -467,6 +535,7 @@ char *element_data, int *claimed) { + LOG_DECL LABEL_CHECK(label, MAGIC_IFNET); COUNTER_INC(ifnet_internalize_label); @@ -479,6 +548,7 @@ struct label *ifplabel, struct label *newlabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(ifplabel, MAGIC_IFNET); LABEL_CHECK(newlabel, MAGIC_IFNET); @@ -491,6 +561,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(inplabel, MAGIC_INPCB); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(inpcb_check_deliver); @@ -504,6 +575,7 @@ struct inpcb *inp, struct label *inplabel) { + LOG_DECL LABEL_CHECK(solabel, MAGIC_SOCKET); LABEL_CHECK(inplabel, MAGIC_INPCB); COUNTER_INC(inpcb_create); @@ -515,6 +587,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(inplabel, MAGIC_INPCB); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(inpcb_create_mbuf); @@ -525,6 +598,7 @@ test_inpcb_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_INPCB); COUNTER_INC(inpcb_destroy_label); } @@ -534,6 +608,7 @@ test_inpcb_init_label(struct label *label, int flag) { + LOG_DECL if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "test_inpcb_init_label() at %s:%d", __FILE__, @@ -550,6 +625,7 @@ struct inpcb *inp, struct label *inplabel) { + LOG_DECL LABEL_CHECK(solabel, MAGIC_SOCKET); LABEL_CHECK(inplabel, MAGIC_INPCB); COUNTER_INC(inpcb_sosetlabel); @@ -561,6 +637,7 @@ struct ipq *ipq, struct label *ipqlabel) { + LOG_DECL LABEL_CHECK(fragmentlabel, MAGIC_MBUF); LABEL_CHECK(ipqlabel, MAGIC_IPQ); COUNTER_INC(ipq_create); @@ -571,6 +648,7 @@ test_ipq_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_IPQ); COUNTER_INC(ipq_destroy_label); } @@ -580,6 +658,7 @@ test_ipq_init_label(struct label *label, int flag) { + LOG_DECL if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "test_ipq_init_label() at %s:%d", __FILE__, @@ -596,6 +675,7 @@ struct ipq *ipq, struct label *ipqlabel) { + LOG_DECL LABEL_CHECK(fragmentlabel, MAGIC_MBUF); LABEL_CHECK(ipqlabel, MAGIC_IPQ); COUNTER_INC(ipq_match); @@ -609,6 +689,7 @@ struct label *mlabel) { + LOG_DECL LABEL_CHECK(ipqlabel, MAGIC_IPQ); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(ipq_reassemble); @@ -620,6 +701,7 @@ struct label *ipqlabel) { + LOG_DECL LABEL_CHECK(mlabel, MAGIC_MBUF); LABEL_CHECK(ipqlabel, MAGIC_IPQ); COUNTER_INC(ipq_update); @@ -630,6 +712,7 @@ test_kenv_check_dump(struct ucred *cred) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(kenv_check_dump); @@ -641,6 +724,7 @@ test_kenv_check_get(struct ucred *cred, char *name) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(kenv_check_get); @@ -652,6 +736,7 @@ test_kenv_check_set(struct ucred *cred, char *name, char *value) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(kenv_check_set); @@ -663,6 +748,7 @@ test_kenv_check_unset(struct ucred *cred, char *name) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(kenv_check_unset); @@ -675,6 +761,7 @@ struct label *label) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(label, MAGIC_VNODE); COUNTER_INC(kld_check_load); @@ -687,6 +774,7 @@ test_kld_check_stat(struct ucred *cred) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(kld_check_stat); @@ -698,6 +786,7 @@ test_mbuf_copy_label(struct label *src, struct label *dest) { + LOG_DECL LABEL_CHECK(src, MAGIC_MBUF); LABEL_CHECK(dest, MAGIC_MBUF); COUNTER_INC(mbuf_copy_label); @@ -708,6 +797,7 @@ test_mbuf_destroy_label(struct label *label) { + LOG_DECL /* * If we're loaded dynamically, there may be mbufs in flight that * didn't have label storage allocated for them. Handle this @@ -725,6 +815,7 @@ test_mbuf_init_label(struct label *label, int flag) { + LOG_DECL if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "test_mbuf_init_label() at %s:%d", __FILE__, @@ -741,6 +832,7 @@ struct label *mplabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(mplabel, MAGIC_MOUNT); COUNTER_INC(mount_check_stat); @@ -754,6 +846,7 @@ struct label *mplabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(mplabel, MAGIC_MOUNT); COUNTER_INC(mount_create); @@ -764,6 +857,7 @@ test_mount_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_MOUNT); COUNTER_INC(mount_destroy_label); } @@ -773,6 +867,7 @@ test_mount_init_label(struct label *label) { + LOG_DECL LABEL_INIT(label, MAGIC_MOUNT); COUNTER_INC(mount_init_label); } @@ -783,6 +878,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(ifplabel, MAGIC_IFNET); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(netatalk_aarp_send); @@ -794,6 +890,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(ifplabel, MAGIC_IFNET); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(netinet_arp_send); @@ -805,6 +902,7 @@ struct mbuf *frag, struct label *fraglabel) { + LOG_DECL LABEL_CHECK(mlabel, MAGIC_MBUF); LABEL_CHECK(fraglabel, MAGIC_MBUF); COUNTER_INC(netinet_fragment); @@ -816,6 +914,7 @@ struct mbuf *msend, struct label *msendlabel) { + LOG_DECL LABEL_CHECK(mrecvlabel, MAGIC_MBUF); LABEL_CHECK(msendlabel, MAGIC_MBUF); COUNTER_INC(netinet_icmp_reply); @@ -826,6 +925,7 @@ test_netinet_icmp_replyinplace(struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(netinet_icmp_replyinplace); } @@ -836,6 +936,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(ifplabel, MAGIC_IFNET); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(netinet_igmp_send); @@ -846,6 +947,7 @@ test_netinet_tcp_reply(struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(netinet_tcp_reply); } @@ -856,6 +958,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(ifplabel, MAGIC_IFNET); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(netinet6_nd6_send); @@ -867,6 +970,7 @@ struct label *pplabel, unsigned long cmd, void /* caddr_t */ *data) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pplabel, MAGIC_PIPE); COUNTER_INC(pipe_check_ioctl); @@ -880,6 +984,7 @@ struct label *pplabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pplabel, MAGIC_PIPE); COUNTER_INC(pipe_check_poll); @@ -893,6 +998,7 @@ struct label *pplabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pplabel, MAGIC_PIPE); COUNTER_INC(pipe_check_read); @@ -906,6 +1012,7 @@ struct label *pplabel, struct label *newlabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pplabel, MAGIC_PIPE); LABEL_CHECK(newlabel, MAGIC_PIPE); @@ -920,6 +1027,7 @@ struct label *pplabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pplabel, MAGIC_PIPE); COUNTER_INC(pipe_check_stat); @@ -933,6 +1041,7 @@ struct label *pplabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pplabel, MAGIC_PIPE); COUNTER_INC(pipe_check_write); @@ -945,6 +1054,7 @@ test_pipe_copy_label(struct label *src, struct label *dest) { + LOG_DECL LABEL_CHECK(src, MAGIC_PIPE); LABEL_CHECK(dest, MAGIC_PIPE); COUNTER_INC(pipe_copy_label); @@ -956,6 +1066,7 @@ struct label *pplabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pplabel, MAGIC_PIPE); COUNTER_INC(pipe_create); @@ -966,6 +1077,7 @@ test_pipe_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_PIPE); COUNTER_INC(pipe_destroy_label); } @@ -976,6 +1088,7 @@ struct sbuf *sb, int *claimed) { + LOG_DECL LABEL_CHECK(label, MAGIC_PIPE); COUNTER_INC(pipe_externalize_label); @@ -987,6 +1100,7 @@ test_pipe_init_label(struct label *label) { + LOG_DECL LABEL_INIT(label, MAGIC_PIPE); COUNTER_INC(pipe_init_label); } @@ -997,6 +1111,7 @@ char *element_data, int *claimed) { + LOG_DECL LABEL_CHECK(label, MAGIC_PIPE); COUNTER_INC(pipe_internalize_label); @@ -1009,6 +1124,7 @@ struct label *pplabel, struct label *newlabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pplabel, MAGIC_PIPE); LABEL_CHECK(newlabel, MAGIC_PIPE); @@ -1021,6 +1137,7 @@ struct label *kslabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(kslabel, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_check_destroy); @@ -1034,6 +1151,7 @@ struct label *kslabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(kslabel, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_check_getvalue); @@ -1047,6 +1165,7 @@ struct label *kslabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(kslabel, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_check_open); @@ -1060,6 +1179,7 @@ struct label *kslabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(kslabel, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_check_post); @@ -1073,6 +1193,7 @@ struct label *kslabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(kslabel, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_check_unlink); @@ -1086,6 +1207,7 @@ struct label *kslabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(kslabel, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_check_wait); @@ -1099,6 +1221,7 @@ struct label *kslabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(kslabel, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_create); @@ -1109,6 +1232,7 @@ test_posixsem_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_destroy_label); } @@ -1118,6 +1242,7 @@ test_posixsem_init_label(struct label *label) { + LOG_DECL LABEL_INIT(label, MAGIC_POSIX_SEM); COUNTER_INC(posixsem_init_label); } @@ -1127,6 +1252,7 @@ test_proc_check_debug(struct ucred *cred, struct proc *p) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(p->p_ucred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_debug); @@ -1139,6 +1265,7 @@ test_proc_check_sched(struct ucred *cred, struct proc *p) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(p->p_ucred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_sched); @@ -1151,6 +1278,7 @@ test_proc_check_signal(struct ucred *cred, struct proc *p, int signum) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(p->p_ucred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_signal); @@ -1163,6 +1291,7 @@ test_proc_check_setaudit(struct ucred *cred, struct auditinfo *ai) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setaudit); @@ -1175,6 +1304,7 @@ struct auditinfo_addr *aia) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setaudit_addr); @@ -1186,6 +1316,7 @@ test_proc_check_setauid(struct ucred *cred, uid_t auid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setauid); @@ -1197,6 +1328,7 @@ test_proc_check_setegid(struct ucred *cred, gid_t egid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setegid); @@ -1208,6 +1340,7 @@ test_proc_check_seteuid(struct ucred *cred, uid_t euid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_euid); @@ -1219,6 +1352,7 @@ test_proc_check_setregid(struct ucred *cred, gid_t rgid, gid_t egid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setregid); @@ -1230,6 +1364,7 @@ test_proc_check_setreuid(struct ucred *cred, uid_t ruid, uid_t euid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setreuid); @@ -1241,6 +1376,7 @@ test_proc_check_setgid(struct ucred *cred, gid_t gid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setgid); @@ -1253,6 +1389,7 @@ gid_t *gidset) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setgroups); @@ -1265,6 +1402,7 @@ gid_t sgid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setresgid); @@ -1277,6 +1415,7 @@ uid_t suid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setresuid); @@ -1288,6 +1427,7 @@ test_proc_check_setuid(struct ucred *cred, uid_t uid) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_setuid); @@ -1299,6 +1439,7 @@ test_proc_check_wait(struct ucred *cred, struct proc *p) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(p->p_ucred->cr_label, MAGIC_CRED); COUNTER_INC(proc_check_wait); @@ -1311,6 +1452,7 @@ test_proc_create_init(struct ucred *cred) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_create_init); } @@ -1320,6 +1462,7 @@ test_proc_create_swapper(struct ucred *cred) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); COUNTER_INC(proc_create_swapper); } @@ -1329,6 +1472,7 @@ test_proc_destroy_label(struct label *label) { + LOG_DECL LABEL_DESTROY(label, MAGIC_PROC); COUNTER_INC(proc_destroy_label); } @@ -1338,6 +1482,7 @@ test_proc_init_label(struct label *label) { + LOG_DECL LABEL_INIT(label, MAGIC_PROC); COUNTER_INC(proc_init_label); } @@ -1348,6 +1493,7 @@ struct label *solabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(solabel, MAGIC_SOCKET); COUNTER_INC(socket_check_accept); @@ -1361,6 +1507,7 @@ struct label *solabel, struct sockaddr *sa) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(solabel, MAGIC_SOCKET); COUNTER_INC(socket_check_bind); @@ -1374,6 +1521,7 @@ struct label *solabel, struct sockaddr *sa) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(solabel, MAGIC_SOCKET); COUNTER_INC(socket_check_connect); @@ -1387,6 +1535,7 @@ struct mbuf *m, struct label *mlabel) { + LOG_DECL LABEL_CHECK(solabel, MAGIC_SOCKET); LABEL_CHECK(mlabel, MAGIC_MBUF); COUNTER_INC(socket_check_deliver); @@ -1400,6 +1549,7 @@ struct label *solabel) { + LOG_DECL LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(solabel, MAGIC_SOCKET); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 9 12:26:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 12BD616A41A; Fri, 9 Nov 2007 12:26:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9784116A418 for ; Fri, 9 Nov 2007 12:26:35 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5C77A13C4CC for ; Fri, 9 Nov 2007 12:26:35 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA9CQZrR008251 for ; Fri, 9 Nov 2007 12:26:35 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA9CQZVZ008248 for perforce@freebsd.org; Fri, 9 Nov 2007 12:26:35 GMT (envelope-from rpaulo@FreeBSD.org) Date: Fri, 9 Nov 2007 12:26:35 GMT Message-Id: <200711091226.lA9CQZVZ008248@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 128865 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, 09 Nov 2007 12:26:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=128865 Change 128865 by rpaulo@rpaulo_alpha on 2007/11/09 12:26:00 aird - Apple IR daemon. Userland utility that understands keycodes from an Apple Remote. Most likely this will never go into the src/ tree, but p4 seems a good place to continue development. Sponsored by: Googlem Summer of Code 2007 Affected files ... .. //depot/projects/aird/Makefile#1 add .. //depot/projects/aird/aird.1#1 add .. //depot/projects/aird/aird.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Nov 9 18:56:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6D53016A419; Fri, 9 Nov 2007 18:56:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E36B116A421 for ; Fri, 9 Nov 2007 18:56:37 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E09D913C4C5 for ; Fri, 9 Nov 2007 18:56:37 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA9IubGs004975 for ; Fri, 9 Nov 2007 18:56:37 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA9IubEA004958 for perforce@freebsd.org; Fri, 9 Nov 2007 18:56:37 GMT (envelope-from swise@FreeBSD.org) Date: Fri, 9 Nov 2007 18:56:37 GMT Message-Id: <200711091856.lA9IubEA004958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 128871 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, 09 Nov 2007 18:56:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=128871 Change 128871 by swise@swise:vic10:iwarp on 2007/11/09 18:55:42 rmda_iwcm compiles. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/rdma_cma.c#4 edit .. //depot/projects/iwarp/sys/contrib/rdma/rdma_iwcm.c#2 edit .. //depot/projects/iwarp/sys/sys/linux_compat.h#4 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/rdma_cma.c#4 (text+ko) ==== @@ -2931,4 +2931,6 @@ }; MODULE_VERSION(rdma_cma, 1); +MODULE_DEPEND(rdma_cma, rdma_core, 1, 1, 1); +MODULE_DEPEND(rdma_cma, rdma_addr, 1, 1, 1); DECLARE_MODULE(rdma_cma, mod_data, SI_SUB_EXEC, SI_ORDER_ANY); ==== //depot/projects/iwarp/sys/contrib/rdma/rdma_iwcm.c#2 (text+ko) ==== @@ -35,31 +35,68 @@ * SOFTWARE. * */ -#include -#include -#include -#include -#include -#include -#include -#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include -#include +#include +#include -#include "iwcm.h" +#include MODULE_AUTHOR("Tom Tucker"); MODULE_DESCRIPTION("iWARP CM"); MODULE_LICENSE("Dual BSD/GPL"); -static struct workqueue_struct *iwcm_wq; +enum iw_cm_state { + IW_CM_STATE_IDLE, /* unbound, inactive */ + IW_CM_STATE_LISTEN, /* listen waiting for connect */ + IW_CM_STATE_CONN_RECV, /* inbound waiting for user accept */ + IW_CM_STATE_CONN_SENT, /* outbound waiting for peer accept */ + IW_CM_STATE_ESTABLISHED, /* established */ + IW_CM_STATE_CLOSING, /* disconnect */ + IW_CM_STATE_DESTROYING /* object being deleted */ +}; + +struct iwcm_id_private { + struct iw_cm_id id; + enum iw_cm_state state; + unsigned long flags; + struct ib_qp *qp; + struct cv destroy_comp; + struct cv connect_wait; + TAILQ_HEAD(, iwcm_work) work_list; + struct mtx lock; + atomic_t refcount; + TAILQ_HEAD(, iwcm_work) work_free_list; +}; + +#define IWCM_F_CALLBACK_DESTROY 1 +#define IWCM_F_CONNECT_WAIT 2 + +static struct taskqueue *iwcm_wq; struct iwcm_work { - struct work_struct work; + struct task task; struct iwcm_id_private *cm_id; - struct list_head list; + TAILQ_ENTRY(iwcm_work) list; struct iw_cm_event event; - struct list_head free_list; + TAILQ_ENTRY(iwcm_work) free_list; }; /* @@ -90,40 +127,38 @@ { struct iwcm_work *work; - if (TAILQ_EMPTY((&cm_id_priv->work_free_list)) + if (TAILQ_EMPTY(&cm_id_priv->work_free_list)) return NULL; - work = list_entry(cm_id_priv->work_free_list.next, struct iwcm_work, - free_list); - list_del_init(&work->free_list); + work = TAILQ_FIRST(&cm_id_priv->work_free_list); + TAILQ_REMOVE(&cm_id_priv->work_free_list, work, free_list); return work; } static void put_work(struct iwcm_work *work) { - list_add(&work->free_list, &work->cm_id->work_free_list); + TAILQ_INSERT_HEAD(&work->cm_id->work_free_list, work, free_list); } static void dealloc_work_entries(struct iwcm_id_private *cm_id_priv) { - struct list_head *e, *tmp; + struct iwcm_work *e, *tmp; - list_for_each_safe(e, tmp, &cm_id_priv->work_free_list) - kfree(list_entry(e, struct iwcm_work, free_list)); + TAILQ_FOREACH_SAFE(e, &cm_id_priv->work_free_list, free_list, tmp) + free(e, M_DEVBUF); } static int alloc_work_entries(struct iwcm_id_private *cm_id_priv, int count) { struct iwcm_work *work; - BUG_ON(!TAILQ_EMPTY((&cm_id_priv->work_free_list)); + BUG_ON(!TAILQ_EMPTY(&cm_id_priv->work_free_list)); while (count--) { - work = kmalloc(sizeof(struct iwcm_work), GFP_KERNEL); + work = malloc(sizeof(struct iwcm_work), M_DEVBUF, M_WAITOK); if (!work) { dealloc_work_entries(cm_id_priv); return (ENOMEM); } work->cm_id = cm_id_priv; - INIT_LIST_HEAD(&work->list); put_work(work); } return 0; @@ -138,9 +173,10 @@ { void *p; - p = kmemdup(event->private_data, event->private_data_len, GFP_ATOMIC); + p = malloc(event->private_data_len, M_DEVBUF, M_NOWAIT); if (!p) return (ENOMEM); + bcopy(event->private_data, p, event->private_data_len); event->private_data = p; return 0; } @@ -148,7 +184,7 @@ static void free_cm_id(struct iwcm_id_private *cm_id_priv) { dealloc_work_entries(cm_id_priv); - kfree(cm_id_priv); + free(cm_id_priv, M_DEVBUF); } /* @@ -158,12 +194,15 @@ */ static int iwcm_deref_id(struct iwcm_id_private *cm_id_priv) { + mtx_lock(&cm_id_priv->lock); BUG_ON(atomic_read(&cm_id_priv->refcount)==0); if (atomic_dec_and_test(&cm_id_priv->refcount)) { - BUG_ON(!TAILQ_EMPTY((&cm_id_priv->work_list)); - complete(&cm_id_priv->destroy_comp); + BUG_ON(!TAILQ_EMPTY(&cm_id_priv->work_list)); + cv_broadcast(&cm_id_priv->destroy_comp); + mtx_unlock(&cm_id_priv->lock); return 1; } + mtx_unlock(&cm_id_priv->lock); return 0; } @@ -181,7 +220,7 @@ cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); if (iwcm_deref_id(cm_id_priv) && test_bit(IWCM_F_CALLBACK_DESTROY, &cm_id_priv->flags)) { - BUG_ON(!TAILQ_EMPTY((&cm_id_priv->work_list)); + BUG_ON(!TAILQ_EMPTY(&cm_id_priv->work_list)); free_cm_id(cm_id_priv); } } @@ -194,9 +233,10 @@ { struct iwcm_id_private *cm_id_priv; - cm_id_priv = kzalloc(sizeof(*cm_id_priv), GFP_KERNEL); + cm_id_priv = malloc(sizeof(*cm_id_priv), M_DEVBUF, M_WAITOK); if (!cm_id_priv) return ERR_PTR(ENOMEM); + bzero(cm_id_priv, sizeof *cm_id_priv); cm_id_priv->state = IW_CM_STATE_IDLE; cm_id_priv->id.device = device; @@ -205,10 +245,10 @@ cm_id_priv->id.event_handler = cm_event_handler; cm_id_priv->id.add_ref = add_ref; cm_id_priv->id.rem_ref = rem_ref; - mtx_init(&cm_id_priv->lock, "cm id priv", NULL, MTX_DUPOK|MTX_DEF); + mtx_init(&cm_id_priv->lock, "cm_id_priv", NULL, MTX_DUPOK|MTX_SPIN); atomic_set(&cm_id_priv->refcount, 1); - cv_init(&cm_id_priv->connect_wait, "cm_id_priv connect wait"); - init_completion(&cm_id_priv->destroy_comp); + cv_init(&cm_id_priv->connect_wait, "cm_id_priv connect_wait"); + cv_init(&cm_id_priv->destroy_comp, "cm_id_priv destroy_comp"); TAILQ_INIT(&cm_id_priv->work_list); TAILQ_INIT(&cm_id_priv->work_free_list); @@ -261,11 +301,10 @@ cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); /* Wait if we're currently in a connect or accept downcall */ + mtx_lock(&cm_id_priv->lock); if (test_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags)) - wait_event(&cm_id_priv->connect_wait, &cm_id_priv->lock) - + cv_wait(&cm_id_priv->connect_wait, &cm_id_priv->lock); - mtx_lock(&cm_id_priv->lock); switch (cm_id_priv->state) { case IW_CM_STATE_ESTABLISHED: cm_id_priv->state = IW_CM_STATE_CLOSING; @@ -330,10 +369,10 @@ * Wait if we're currently in a connect or accept downcall. A * listening endpoint should never block here. */ + mtx_lock(&cm_id_priv->lock); if (test_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags)) - wait_event(&cm_id_priv->connect_wait, &cm_id_priv->lock); + cv_wait(&cm_id_priv->connect_wait, &cm_id_priv->lock); - mtx_lock(&cm_id_priv->lock); switch (cm_id_priv->state) { case IW_CM_STATE_LISTEN: cm_id_priv->state = IW_CM_STATE_DESTROYING; @@ -380,7 +419,7 @@ /* * This function is only called by the application thread and cannot * be called by the event thread. The function will wait for all - * references to be released on the cm_id and then kfree the cm_id + * references to be released on the cm_id and then free the cm_id * object. */ void iw_destroy_cm_id(struct iw_cm_id *cm_id) @@ -392,7 +431,8 @@ destroy_cm_id(cm_id); - wait_for_completion(&cm_id_priv->destroy_comp); + mtx_lock(&cm_id_priv->lock); + cv_wait(&cm_id_priv->destroy_comp, &cm_id_priv->lock); free_cm_id(cm_id_priv); } @@ -451,9 +491,9 @@ mtx_lock(&cm_id_priv->lock); if (cm_id_priv->state != IW_CM_STATE_CONN_RECV) { + clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); + cv_broadcast(&cm_id_priv->connect_wait); mtx_unlock(&cm_id_priv->lock); - clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); - wake_up_all(&cm_id_priv->connect_wait, &cm_id_priv->lock); return (EINVAL); } cm_id_priv->state = IW_CM_STATE_IDLE; @@ -462,8 +502,10 @@ ret = cm_id->device->iwcm->reject(cm_id, private_data, private_data_len); + mtx_lock(&cm_id_priv->lock); clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); - wake_up_all(&cm_id_priv->connect_wait, &cm_id_priv->lock); + cv_broadcast(&cm_id_priv->connect_wait); + mtx_unlock(&cm_id_priv->lock); return ret; } @@ -488,9 +530,9 @@ mtx_lock(&cm_id_priv->lock); if (cm_id_priv->state != IW_CM_STATE_CONN_RECV) { + clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); + cv_broadcast(&cm_id_priv->connect_wait); mtx_unlock(&cm_id_priv->lock); - clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); - wake_up_all(&cm_id_priv->connect_wait, &cm_id_priv->lock); return (EINVAL); } @@ -514,9 +556,9 @@ cm_id->device->iwcm->rem_ref(qp); cm_id_priv->qp = NULL; } + clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); + cv_broadcast(&cm_id_priv->connect_wait); mtx_unlock(&cm_id_priv->lock); - clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); - wake_up_all(&cm_id_priv->connect_wait, &cm_id_priv->lock); } return ret; @@ -546,9 +588,9 @@ mtx_lock(&cm_id_priv->lock); if (cm_id_priv->state != IW_CM_STATE_IDLE) { + clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); + cv_broadcast(&cm_id_priv->connect_wait); mtx_unlock(&cm_id_priv->lock); - clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); - wake_up_all(&cm_id_priv->connect_wait, &cm_id_priv->lock); return (EINVAL); } @@ -571,11 +613,11 @@ cm_id->device->iwcm->rem_ref(qp); cm_id_priv->qp = NULL; } - mtx_unlock(&cm_id_priv->lock); BUG_ON(cm_id_priv->state != IW_CM_STATE_CONN_SENT); cm_id_priv->state = IW_CM_STATE_IDLE; clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); - wake_up_all(&cm_id_priv->connect_wait, &cm_id_priv->lock); + cv_broadcast(&cm_id_priv->connect_wait); + mtx_unlock(&cm_id_priv->lock); } @@ -655,7 +697,7 @@ out: if (iw_event->private_data_len) - kfree(iw_event->private_data); + free(iw_event->private_data, M_DEVBUF); } /* @@ -685,9 +727,9 @@ clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags); BUG_ON(cm_id_priv->state != IW_CM_STATE_CONN_RECV); cm_id_priv->state = IW_CM_STATE_ESTABLISHED; + ret = cm_id_priv->id.cm_handler(&cm_id_priv->id, iw_event); + cv_broadcast(&cm_id_priv->connect_wait); mtx_unlock(&cm_id_priv->lock); - ret = cm_id_priv->id.cm_handler(&cm_id_priv->id, iw_event); - wake_up_all(&cm_id_priv->connect_wait, &cm_id_priv->lock); return ret; } @@ -724,11 +766,13 @@ mtx_unlock(&cm_id_priv->lock); ret = cm_id_priv->id.cm_handler(&cm_id_priv->id, iw_event); + mtx_lock(&cm_id_priv->lock); if (iw_event->private_data_len) - kfree(iw_event->private_data); + free(iw_event->private_data, M_DEVBUF); /* Wake up waiters on connect complete */ - wake_up_all(&cm_id_priv->connect_wait, &cm_id_priv->lock); + cv_broadcast(&cm_id_priv->connect_wait); + mtx_unlock(&cm_id_priv->lock); return ret; } @@ -824,20 +868,20 @@ * thread asleep on the destroy_comp list vs. an object destroyed * here synchronously when the last reference is removed. */ -static void cm_work_handler(struct work_struct *_work) +static void cm_work_handler(void *context, int pending) { - struct iwcm_work *work = container_of(_work, struct iwcm_work, work); + struct iwcm_work *work = context; struct iw_cm_event levent; struct iwcm_id_private *cm_id_priv = work->cm_id; int empty; int ret = 0; mtx_lock(&cm_id_priv->lock); - empty = TAILQ_EMPTY((&cm_id_priv->work_list); + empty = TAILQ_EMPTY(&cm_id_priv->work_list); while (!empty) { work = TAILQ_FIRST(&cm_id_priv->work_list); - TAILQ_REMOVE(&cm_id_priv->work_list, work, entry); - empty = TAILQ_EMPTY((&cm_id_priv->work_list); + TAILQ_REMOVE(&cm_id_priv->work_list, work, list); + empty = TAILQ_EMPTY(&cm_id_priv->work_list); levent = work->event; put_work(work); mtx_unlock(&cm_id_priv->lock); @@ -851,7 +895,7 @@ if (iwcm_deref_id(cm_id_priv)) { if (test_bit(IWCM_F_CALLBACK_DESTROY, &cm_id_priv->flags)) { - BUG_ON(!TAILQ_EMPTY((&cm_id_priv->work_list)); + BUG_ON(!TAILQ_EMPTY(&cm_id_priv->work_list)); free_cm_id(cm_id_priv); } return; @@ -892,7 +936,7 @@ goto out; } - INIT_WORK(&work->work, cm_work_handler); + TASK_INIT(&work->task, 0, cm_work_handler, work); work->cm_id = cm_id_priv; work->event = *iw_event; @@ -907,11 +951,11 @@ } atomic_inc(&cm_id_priv->refcount); - if (TAILQ_EMPTY((&cm_id_priv->work_list)) { - list_add_tail(&work->list, &cm_id_priv->work_list); - taskqueue_enqueue(iwcm_wq, &work->work); + if (TAILQ_EMPTY(&cm_id_priv->work_list)) { + TAILQ_INSERT_TAIL(&cm_id_priv->work_list, work, list); + taskqueue_enqueue(iwcm_wq, &work->task); } else - list_add_tail(&work->list, &cm_id_priv->work_list); + TAILQ_INSERT_TAIL(&cm_id_priv->work_list, work, list); out: mtx_unlock(&cm_id_priv->lock); return ret; @@ -994,7 +1038,7 @@ static int __init iw_cm_init(void) { - iwcm_wq = taskqueue_create("iw_cm_wq", M_NOWAIT, taskqueue_thread_enqueue, &iwcm_wq); + iwcm_wq = taskqueue_create("iw_cm_wq", M_WAITOK, taskqueue_thread_enqueue, &iwcm_wq); if (!iwcm_wq) return (ENOMEM); @@ -1007,5 +1051,39 @@ taskqueue_free(iwcm_wq); } -module_init(iw_cm_init); -module_exit(iw_cm_cleanup); +static int +iw_cm_load(module_t mod, int cmd, void *arg) +{ + int err = 0; + + switch (cmd) { + case MOD_LOAD: + printf("Loading iwcm.\n"); + + iw_cm_init(); + break; + case MOD_QUIESCE: + break; + case MOD_UNLOAD: + printf("Unloading iwcm.\n"); + iw_cm_cleanup(); + break; + case MOD_SHUTDOWN: + break; + default: + err = EOPNOTSUPP; + break; + } + + return (err); +} + +static moduledata_t mod_data = { + "rdma_iwcm", + iw_cm_load, + 0 +}; + +MODULE_VERSION(rdma_iwcm, 1); +MODULE_DEPEND(rdma_iwcm, rdma_core, 1, 1, 1); +DECLARE_MODULE(rdma_iwcm, mod_data, SI_SUB_EXEC, SI_ORDER_ANY); ==== //depot/projects/iwarp/sys/sys/linux_compat.h#4 (text+ko) ==== @@ -75,6 +75,13 @@ } #define dst_mtu(rt) ((rt)->rt_rmx.rmx_mtu) + +static __inline void +BUG(void) +{ + panic("BUG: %s:%d", __FILE__, __LINE__); +} + #define BUG_ON(e) \ do { \ if (e) { \ @@ -153,6 +160,23 @@ } } +static __inline void +set_bit(int b, volatile void *p) +{ + atomic_set_int(((volatile int *)p) + (b >> 5), 1 << (b & 0x1f)); +} + +static __inline int +test_bit(int b, volatile void *p) +{ + return ((volatile int *)p)[b >> 5] & (1 << (b & 0x1f)); +} + +static __inline void +clear_bit(int b, volatile void *p) +{ + atomic_clear_int(((volatile int *)p) + (b >> 5), 1 << (b & 0x1f)); +} #define copy_from_user(a,b,c) copyin(b,a,c) #define copy_to_user(a,b,c) copyout(b,a,c) From owner-p4-projects@FreeBSD.ORG Fri Nov 9 19:30:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3B2B016A41A; Fri, 9 Nov 2007 19:30:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E06416A421 for ; Fri, 9 Nov 2007 19:30:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 721F113C4AA for ; Fri, 9 Nov 2007 19:30:15 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA9JUFOJ015445 for ; Fri, 9 Nov 2007 19:30:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA9JUEjO015434 for perforce@freebsd.org; Fri, 9 Nov 2007 19:30:14 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 9 Nov 2007 19:30:14 GMT Message-Id: <200711091930.lA9JUEjO015434@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 128872 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, 09 Nov 2007 19:30:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=128872 Change 128872 by hselasky@hselasky_laptop001 on 2007/11/09 19:29:16 The first step into fully supporting Zero-Copy. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#49 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#39 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#49 (text+ko) ==== @@ -697,6 +697,7 @@ void usbd_start_hardware(struct usbd_xfer *xfer); void usbd_transfer_start(struct usbd_xfer *xfer); void usbd_transfer_stop(struct usbd_xfer *xfer); +void usbd_set_frame_data(struct usbd_xfer *xfer, void *ptr, uint32_t len, uint32_t frindex); void __usbd_callback(struct usbd_xfer *xfer); void usbd_do_callback(struct usbd_xfer **pp_xfer, struct thread *td); void usbd_transfer_enqueue(struct usbd_xfer *xfer); ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#39 (text+ko) ==== @@ -1421,6 +1421,19 @@ return; } +/*------------------------------------------------------------------------* + * usbd_set_frame_data + * + * This function sets the pointer and length of data that should loaded + * directly into DMA for the given USB frame. + *------------------------------------------------------------------------*/ +void +usbd_set_frame_data(struct usbd_xfer *xfer, void *ptr, uint32_t len, + uint32_t frindex) +{ + return; +} + /*---------------------------------------------------------------------------* * __usbd_callback * From owner-p4-projects@FreeBSD.ORG Fri Nov 9 21:08:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 721EE16A420; Fri, 9 Nov 2007 21:08:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2470B16A417 for ; Fri, 9 Nov 2007 21:08:22 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 336F113C4B9 for ; Fri, 9 Nov 2007 21:08:22 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA9L8LKX033895 for ; Fri, 9 Nov 2007 21:08:21 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA9L8LQr033892 for perforce@freebsd.org; Fri, 9 Nov 2007 21:08:21 GMT (envelope-from swise@FreeBSD.org) Date: Fri, 9 Nov 2007 21:08:21 GMT Message-Id: <200711092108.lA9L8LQr033892@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 128874 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, 09 Nov 2007 21:08:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=128874 Change 128874 by swise@swise:vic10:iwarp on 2007/11/09 21:08:01 rdma_device.c compiles. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/core_priv.h#1 add .. //depot/projects/iwarp/sys/contrib/rdma/ib_verbs.h#3 edit .. //depot/projects/iwarp/sys/contrib/rdma/rdma_cache.c#1 add .. //depot/projects/iwarp/sys/contrib/rdma/rdma_device.c#2 edit .. //depot/projects/iwarp/sys/modules/rdma/core/Makefile#2 edit .. //depot/projects/iwarp/sys/sys/linux_compat.h#5 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/ib_verbs.h#3 (text+ko) ==== @@ -289,7 +289,7 @@ struct ib_event_handler { struct ib_device *device; void (*handler)(struct ib_event_handler *, struct ib_event *); - TAILQ_ENTRY(ib_event_handler) entry; + TAILQ_ENTRY(ib_event_handler) list; }; #define INIT_IB_EVENT_HANDLER(_ptr, _device, _handler) \ @@ -884,11 +884,11 @@ char name[IB_DEVICE_NAME_MAX]; - TAILQ_ENTRY(ib_device) event_handler_entry; + TAILQ_HEAD(, ib_event_handler) event_handler_list; spinlock_t event_handler_lock; - TAILQ_ENTRY(ib_device) core_entry; - TAILQ_ENTRY(ib_device) client_data_entry; + TAILQ_ENTRY(ib_device) core_list; + TAILQ_HEAD(, ib_client_data) client_data_list; spinlock_t client_data_lock; struct ib_cache cache; @@ -1054,7 +1054,7 @@ char *name; void (*add) (struct ib_device *); void (*remove)(struct ib_device *); - TAILQ_ENTRY(ib_client) entry; + TAILQ_ENTRY(ib_client) list; }; struct ib_device *ib_alloc_device(size_t size); ==== //depot/projects/iwarp/sys/contrib/rdma/rdma_device.c#2 (text+ko) ==== @@ -33,29 +33,38 @@ * $Id: device.c 1349 2004-12-16 21:09:43Z roland $ */ -#include -#include -#include -#include -#include -#include -#include -#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include "core_priv.h" +#include MODULE_AUTHOR("Roland Dreier"); MODULE_DESCRIPTION("core kernel InfiniBand API"); MODULE_LICENSE("Dual BSD/GPL"); struct ib_client_data { - struct list_head list; + TAILQ_ENTRY(ib_client_data) list; struct ib_client *client; void * data; }; -static LIST_HEAD(device_list); -static LIST_HEAD(client_list); +static TAILQ_HEAD(, ib_device) device_list; +static TAILQ_HEAD(client_list_s, ib_client) client_list; /* * device_mutex protects access to both device_list and client_list. @@ -64,11 +73,12 @@ * modifying one list or the other list. In any case this is not a * hot path so there's no point in trying to optimize. */ -static DEFINE_MUTEX(device_mutex); +static struct mtx device_mutex; static int ib_device_check_mandatory(struct ib_device *device) { #define IB_MANDATORY_FUNC(x) { offsetof(struct ib_device, x), #x } +#define MANDATORY_TABLE_DEPTH 19 static const struct { size_t offset; char *name; @@ -95,9 +105,9 @@ }; int i; - for (i = 0; i < ARRAY_SIZE(mandatory_table); ++i) { - if (!*(void **) ((void *) device + mandatory_table[i].offset)) { - log(LOG_WARN, "Device %s is missing mandatory function %s\n", + for (i = 0; i < MANDATORY_TABLE_DEPTH; ++i) { + if (!*(void **) ((void *) ((unsigned long)device + mandatory_table[i].offset))) { + log(LOG_WARNING, "Device %s is missing mandatory function %s\n", device->name, mandatory_table[i].name); return (EINVAL); } @@ -110,7 +120,7 @@ { struct ib_device *device; - list_for_each_entry(device, &device_list, core_list) + TAILQ_FOREACH(device, &device_list, core_list) if (!strncmp(name, device->name, IB_DEVICE_NAME_MAX)) return device; @@ -125,11 +135,11 @@ struct ib_device *device; int i; - inuse = (long *) get_zeroed_page(GFP_KERNEL); + inuse = malloc(PAGE_SIZE, M_DEVBUF, M_WAITOK); if (!inuse) return (ENOMEM); - list_for_each_entry(device, &device_list, core_list) { + TAILQ_FOREACH(device, &device_list, core_list) { if (!sscanf(device->name, name, &i)) continue; if (i < 0 || i >= PAGE_SIZE * 8) @@ -140,7 +150,7 @@ } i = find_first_zero_bit(inuse, PAGE_SIZE * 8); - free_page((unsigned long) inuse); + free(inuse, M_DEVBUF); snprintf(buf, sizeof buf, name, i); if (__ib_device_get_by_name(buf)) @@ -174,9 +184,14 @@ */ struct ib_device *ib_alloc_device(size_t size) { + void *dev; + BUG_ON(size < sizeof (struct ib_device)); - return kzalloc(size, GFP_KERNEL); + dev = malloc(size, M_DEVBUF, M_WAITOK); + if (dev) + bzero(dev, size); + return dev; } EXPORT_SYMBOL(ib_alloc_device); @@ -189,24 +204,24 @@ void ib_dealloc_device(struct ib_device *device) { if (device->reg_state == IB_DEV_UNINITIALIZED) { - kfree(device); + free(device, M_DEVBUF); return; } BUG_ON(device->reg_state != IB_DEV_UNREGISTERED); - +#ifdef notyet ib_device_unregister_sysfs(device); +#endif } EXPORT_SYMBOL(ib_dealloc_device); static int add_client_context(struct ib_device *device, struct ib_client *client) { struct ib_client_data *context; - unsigned long flags; - context = kmalloc(sizeof *context, GFP_KERNEL); + context = malloc(sizeof *context, M_DEVBUF, M_WAITOK); if (!context) { - log(LOG_WARN, "Couldn't allocate client context for %s/%s\n", + log(LOG_WARNING, "Couldn't allocate client context for %s/%s\n", device->name, client->name); return (ENOMEM); } @@ -214,9 +229,9 @@ context->client = client; context->data = NULL; - mtx_lock(&device->client_data_lock, flags); - list_add(&context->list, &device->client_data_list); - mtx_unlock(&device->client_data_lock, flags); + mtx_lock_spin(&device->client_data_lock); + TAILQ_INSERT_TAIL(&device->client_data_list, context, list); + mtx_unlock_spin(&device->client_data_lock); return 0; } @@ -227,16 +242,16 @@ int num_ports, ret = ENOMEM; u8 port_index; - tprops = kmalloc(sizeof *tprops, GFP_KERNEL); + tprops = malloc(sizeof *tprops, M_DEVBUF, M_WAITOK); if (!tprops) goto out; num_ports = end_port(device) - start_port(device) + 1; - device->pkey_tbl_len = kmalloc(sizeof *device->pkey_tbl_len * num_ports, - GFP_KERNEL); - device->gid_tbl_len = kmalloc(sizeof *device->gid_tbl_len * num_ports, - GFP_KERNEL); + device->pkey_tbl_len = malloc(sizeof *device->pkey_tbl_len * num_ports, + M_DEVBUF, M_WAITOK); + device->gid_tbl_len = malloc(sizeof *device->gid_tbl_len * num_ports, + M_DEVBUF, M_WAITOK); if (!device->pkey_tbl_len || !device->gid_tbl_len) goto err; @@ -253,10 +268,10 @@ goto out; err: - kfree(device->gid_tbl_len); - kfree(device->pkey_tbl_len); + free(device->gid_tbl_len, M_DEVBUF); + free(device->pkey_tbl_len, M_DEVBUF); out: - kfree(tprops); + free(tprops, M_DEVBUF); return ret; } @@ -273,7 +288,7 @@ { int ret; - mutex_lock(&device_mutex); + mtx_lock(&device_mutex); if (strchr(device->name, '%')) { ret = alloc_name(device->name); @@ -286,41 +301,43 @@ goto out; } - INIT_LIST_HEAD(&device->event_handler_list); - INIT_LIST_HEAD(&device->client_data_list); - mtx_init(&device->event_handler_lock, "ib event handler", NULL, MTX_DUPOK|MTX_DEF); - mtx_init(&device->client_data_lock, "ib client data", NULL, MTX_DUPOK|MTX_DEF); + TAILQ_INIT(&device->event_handler_list); + TAILQ_INIT(&device->client_data_list); + mtx_init(&device->event_handler_lock, "ib event handler", NULL, MTX_DUPOK|MTX_SPIN); + mtx_init(&device->client_data_lock, "ib client data", NULL, MTX_DUPOK|MTX_SPIN); ret = read_port_table_lengths(device); if (ret) { - log(LOG_WARN, "Couldn't create table lengths cache for device %s\n", + log(LOG_WARNING, "Couldn't create table lengths cache for device %s\n", device->name); goto out; } +#ifdef notyet ret = ib_device_register_sysfs(device); if (ret) { - log(LOG_WARN, "Couldn't register device %s with driver model\n", + log(LOG_WARNING, "Couldn't register device %s with driver model\n", device->name); - kfree(device->gid_tbl_len); - kfree(device->pkey_tbl_len); + free(device->gid_tbl_len, M_DEVBUF); + free(device->pkey_tbl_len, M_DEVBUF); goto out; } +#endif - list_add_tail(&device->core_list, &device_list); + TAILQ_INSERT_TAIL(&device_list, device, core_list); device->reg_state = IB_DEV_REGISTERED; { struct ib_client *client; - list_for_each_entry(client, &client_list, list) + TAILQ_FOREACH(client, &client_list, list) if (client->add && !add_client_context(device, client)) client->add(device); } out: - mutex_unlock(&device_mutex); + mtx_unlock(&device_mutex); return ret; } EXPORT_SYMBOL(ib_register_device); @@ -335,25 +352,24 @@ { struct ib_client *client; struct ib_client_data *context, *tmp; - unsigned long flags; - mutex_lock(&device_mutex); + mtx_lock(&device_mutex); - list_for_each_entry_reverse(client, &client_list, list) + TAILQ_FOREACH_REVERSE(client, &client_list, client_list_s, list) if (client->remove) client->remove(device); - list_del(&device->core_list); + TAILQ_REMOVE(&device_list, device, core_list); - kfree(device->gid_tbl_len); - kfree(device->pkey_tbl_len); + free(device->gid_tbl_len, M_DEVBUF); + free(device->pkey_tbl_len, M_DEVBUF); - mutex_unlock(&device_mutex); + mtx_unlock(&device_mutex); - mtx_lock(&device->client_data_lock, flags); - list_for_each_entry_safe(context, tmp, &device->client_data_list, list) - kfree(context); - mtx_unlock(&device->client_data_lock, flags); + mtx_lock_spin(&device->client_data_lock); + TAILQ_FOREACH_SAFE(context, &device->client_data_list, list, tmp) + free(context, M_DEVBUF); + mtx_unlock_spin(&device->client_data_lock); device->reg_state = IB_DEV_UNREGISTERED; } @@ -376,14 +392,14 @@ { struct ib_device *device; - mutex_lock(&device_mutex); + mtx_lock(&device_mutex); - list_add_tail(&client->list, &client_list); - list_for_each_entry(device, &device_list, core_list) + TAILQ_INSERT_TAIL(&client_list, client, list); + TAILQ_FOREACH(device, &device_list, core_list) if (client->add && !add_client_context(device, client)) client->add(device); - mutex_unlock(&device_mutex); + mtx_unlock(&device_mutex); return 0; } @@ -401,25 +417,25 @@ { struct ib_client_data *context, *tmp; struct ib_device *device; - unsigned long flags; - mutex_lock(&device_mutex); + mtx_lock(&device_mutex); - list_for_each_entry(device, &device_list, core_list) { + TAILQ_FOREACH(device, &device_list, core_list) { if (client->remove) client->remove(device); - mtx_lock(&device->client_data_lock, flags); - list_for_each_entry_safe(context, tmp, &device->client_data_list, list) + mtx_lock_spin(&device->client_data_lock); + TAILQ_FOREACH_SAFE(context, &device->client_data_list, list,tmp) if (context->client == client) { - list_del(&context->list); - kfree(context); + TAILQ_REMOVE(&device->client_data_list, context, + list); + free(context, M_DEVBUF); } - mtx_unlock(&device->client_data_lock, flags); + mtx_unlock_spin(&device->client_data_lock); } - list_del(&client->list); + TAILQ_REMOVE(&client_list, client, list); - mutex_unlock(&device_mutex); + mtx_unlock(&device_mutex); } EXPORT_SYMBOL(ib_unregister_client); @@ -435,15 +451,14 @@ { struct ib_client_data *context; void *ret = NULL; - unsigned long flags; - mtx_lock(&device->client_data_lock, flags); - list_for_each_entry(context, &device->client_data_list, list) + mtx_lock_spin(&device->client_data_lock); + TAILQ_FOREACH(context, &device->client_data_list, list) if (context->client == client) { ret = context->data; break; } - mtx_unlock(&device->client_data_lock, flags); + mtx_unlock_spin(&device->client_data_lock); return ret; } @@ -462,20 +477,19 @@ void *data) { struct ib_client_data *context; - unsigned long flags; - mtx_lock(&device->client_data_lock, flags); - list_for_each_entry(context, &device->client_data_list, list) + mtx_lock_spin(&device->client_data_lock); + TAILQ_FOREACH(context, &device->client_data_list, list) if (context->client == client) { context->data = data; goto out; } - log(LOG_WARN, "No client context found for %s/%s\n", + log(LOG_WARNING, "No client context found for %s/%s\n", device->name, client->name); out: - mtx_unlock(&device->client_data_lock, flags); + mtx_unlock_spin(&device->client_data_lock); } EXPORT_SYMBOL(ib_set_client_data); @@ -490,12 +504,10 @@ */ int ib_register_event_handler (struct ib_event_handler *event_handler) { - unsigned long flags; - - mtx_lock(&event_handler->device->event_handler_lock, flags); - list_add_tail(&event_handler->list, - &event_handler->device->event_handler_list); - mtx_unlock(&event_handler->device->event_handler_lock, flags); + mtx_lock_spin(&event_handler->device->event_handler_lock); + TAILQ_INSERT_TAIL(&event_handler->device->event_handler_list, + event_handler, list); + mtx_unlock_spin(&event_handler->device->event_handler_lock); return 0; } @@ -510,12 +522,11 @@ */ int ib_unregister_event_handler(struct ib_event_handler *event_handler) { - unsigned long flags; + mtx_lock_spin(&event_handler->device->event_handler_lock); + TAILQ_REMOVE(&event_handler->device->event_handler_list, event_handler, + list); + mtx_unlock_spin(&event_handler->device->event_handler_lock); - mtx_lock(&event_handler->device->event_handler_lock, flags); - list_del(&event_handler->list); - mtx_unlock(&event_handler->device->event_handler_lock, flags); - return 0; } EXPORT_SYMBOL(ib_unregister_event_handler); @@ -530,15 +541,14 @@ */ void ib_dispatch_event(struct ib_event *event) { - unsigned long flags; struct ib_event_handler *handler; - mtx_lock(&event->device->event_handler_lock, flags); + mtx_lock_spin(&event->device->event_handler_lock); - list_for_each_entry(handler, &event->device->event_handler_list, list) + TAILQ_FOREACH(handler, &event->device->event_handler_list, list) handler->handler(handler, event); - mtx_unlock(&event->device->event_handler_lock, flags); + mtx_unlock_spin(&event->device->event_handler_lock); } EXPORT_SYMBOL(ib_dispatch_event); @@ -712,30 +722,69 @@ } EXPORT_SYMBOL(ib_find_pkey); -static int __init ib_core_init(void) +static int __init rdma_core_init(void) { int ret; - +#ifdef notyet ret = ib_sysfs_setup(); if (ret) - log(LOG_WARN, "Couldn't create InfiniBand device class\n"); + log(LOG_WARNING, "Couldn't create InfiniBand device class\n"); +#endif + mtx_init(&device_mutex, "rdma_device mutex", NULL, MTX_DUPOK|MTX_DEF); ret = ib_cache_setup(); if (ret) { - log(LOG_WARN, "Couldn't set up InfiniBand P_Key/GID cache\n"); + log(LOG_WARNING, "Couldn't set up InfiniBand P_Key/GID cache\n"); +#ifdef notyet ib_sysfs_cleanup(); +#endif } return ret; } -static void __exit ib_core_cleanup(void) +static void __exit rdma_core_cleanup(void) { ib_cache_cleanup(); +#ifdef notyet ib_sysfs_cleanup(); /* Make sure that any pending umem accounting work is done. */ flush_scheduled_work(); +#endif +} + +static int +rdma_core_load(module_t mod, int cmd, void *arg) +{ + int err = 0; + + switch (cmd) { + case MOD_LOAD: + printf("Loading iwcm.\n"); + + rdma_core_init(); + break; + case MOD_QUIESCE: + break; + case MOD_UNLOAD: + printf("Unloading iwcm.\n"); + rdma_core_cleanup(); + break; + case MOD_SHUTDOWN: + break; + default: + err = EOPNOTSUPP; + break; + } + + return (err); } -module_init(ib_core_init); -module_exit(ib_core_cleanup); +static moduledata_t mod_data = { + "rdma_core", + rdma_core_load, + 0 +}; + +MODULE_VERSION(rdma_core, 1); +DECLARE_MODULE(rdma_core, mod_data, SI_SUB_EXEC, SI_ORDER_ANY); ==== //depot/projects/iwarp/sys/modules/rdma/core/Makefile#2 (text+ko) ==== @@ -5,6 +5,8 @@ KMOD= rdma_core SRCS= device_if.h bus_if.h pci_if.h pcib_if.h -SRCS+= rdma_verbs.c rdma_device.c +SRCS+= rdma_device.c +#SRCS+= rdma_verbs.c +#SRCS+= rdma_cache.c .include ==== //depot/projects/iwarp/sys/sys/linux_compat.h#5 (text+ko) ==== @@ -178,6 +178,24 @@ atomic_clear_int(((volatile int *)p) + (b >> 5), 1 << (b & 0x1f)); } +static __inline int +find_first_zero_bit(volatile void *p, int max) +{ + int b; + volatile int *ptr = (volatile int *)p; + + for (b = 0; b < max; b += 32) { + if (ptr[b >> 5] != ~0) { + for (;;) { + if ((ptr[b >> 5] & (1 << (b & 0x1f))) == 0) + return b; + b++; + } + } + } + return max; +} + #define copy_from_user(a,b,c) copyin(b,a,c) #define copy_to_user(a,b,c) copyout(b,a,c) #define __user From owner-p4-projects@FreeBSD.ORG Fri Nov 9 22:16:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C222E16A476; Fri, 9 Nov 2007 22:16:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6156C16A46C for ; Fri, 9 Nov 2007 22:16:36 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5849813C49D for ; Fri, 9 Nov 2007 22:16:36 +0000 (UTC) (envelope-from swise@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lA9MGZOL037869 for ; Fri, 9 Nov 2007 22:16:35 GMT (envelope-from swise@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lA9MGZ3J037866 for perforce@freebsd.org; Fri, 9 Nov 2007 22:16:35 GMT (envelope-from swise@FreeBSD.org) Date: Fri, 9 Nov 2007 22:16:35 GMT Message-Id: <200711092216.lA9MGZ3J037866@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to swise@FreeBSD.org using -f From: Steve Wise To: Perforce Change Reviews Cc: Subject: PERFORCE change 128876 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, 09 Nov 2007 22:16:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=128876 Change 128876 by swise@swise:vic10:iwarp on 2007/11/09 22:16:24 rdma_cache.c compiles. Affected files ... .. //depot/projects/iwarp/sys/contrib/rdma/ib_verbs.h#4 edit .. //depot/projects/iwarp/sys/contrib/rdma/rdma_cache.c#2 edit .. //depot/projects/iwarp/sys/modules/rdma/core/Makefile#3 edit Differences ... ==== //depot/projects/iwarp/sys/contrib/rdma/ib_verbs.h#4 (text+ko) ==== @@ -296,7 +296,6 @@ do { \ (_ptr)->device = _device; \ (_ptr)->handler = _handler; \ - INIT_LIST_HEAD(&(_ptr)->list); \ } while (0) struct ib_global_route { @@ -827,7 +826,7 @@ #define IB_DEVICE_NAME_MAX 64 struct ib_cache { - rwlock_t lock; + struct mtx lock; struct ib_event_handler event_handler; struct ib_pkey_cache **pkey_cache; struct ib_gid_cache **gid_cache; ==== //depot/projects/iwarp/sys/contrib/rdma/rdma_cache.c#2 (text+ko) ==== @@ -35,12 +35,26 @@ * $Id: cache.c 1349 2004-12-16 21:09:43Z roland $ */ -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#ifdef needed +#include +#include +#include +#include +#endif -#include +#include #include "core_priv.h" @@ -55,7 +69,7 @@ }; struct ib_update_work { - struct work_struct work; + struct task task; struct ib_device *device; u8 port_num; }; @@ -77,13 +91,12 @@ union ib_gid *gid) { struct ib_gid_cache *cache; - unsigned long flags; int ret = 0; if (port_num < start_port(device) || port_num > end_port(device)) return -EINVAL; - read_lock_irqsave(&device->cache.lock, flags); + mtx_lock_spin(&device->cache.lock); cache = device->cache.gid_cache[port_num - start_port(device)]; @@ -92,7 +105,7 @@ else *gid = cache->table[index]; - read_unlock_irqrestore(&device->cache.lock, flags); + mtx_unlock_spin(&device->cache.lock); return ret; } @@ -104,7 +117,6 @@ u16 *index) { struct ib_gid_cache *cache; - unsigned long flags; int p, i; int ret = -ENOENT; @@ -112,7 +124,7 @@ if (index) *index = -1; - read_lock_irqsave(&device->cache.lock, flags); + mtx_lock_spin(&device->cache.lock); for (p = 0; p <= end_port(device) - start_port(device); ++p) { cache = device->cache.gid_cache[p]; @@ -127,7 +139,7 @@ } } found: - read_unlock_irqrestore(&device->cache.lock, flags); + mtx_unlock_spin(&device->cache.lock); return ret; } @@ -139,13 +151,12 @@ u16 *pkey) { struct ib_pkey_cache *cache; - unsigned long flags; int ret = 0; if (port_num < start_port(device) || port_num > end_port(device)) return -EINVAL; - read_lock_irqsave(&device->cache.lock, flags); + mtx_lock_spin(&device->cache.lock); cache = device->cache.pkey_cache[port_num - start_port(device)]; @@ -154,7 +165,7 @@ else *pkey = cache->table[index]; - read_unlock_irqrestore(&device->cache.lock, flags); + mtx_unlock_spin(&device->cache.lock); return ret; } @@ -166,14 +177,13 @@ u16 *index) { struct ib_pkey_cache *cache; - unsigned long flags; int i; int ret = -ENOENT; if (port_num < start_port(device) || port_num > end_port(device)) return -EINVAL; - read_lock_irqsave(&device->cache.lock, flags); + mtx_lock_spin(&device->cache.lock); cache = device->cache.pkey_cache[port_num - start_port(device)]; @@ -186,7 +196,7 @@ break; } - read_unlock_irqrestore(&device->cache.lock, flags); + mtx_unlock_spin(&device->cache.lock); return ret; } @@ -196,15 +206,14 @@ u8 port_num, u8 *lmc) { - unsigned long flags; int ret = 0; if (port_num < start_port(device) || port_num > end_port(device)) return -EINVAL; - read_lock_irqsave(&device->cache.lock, flags); + mtx_lock_spin(&device->cache.lock); *lmc = device->cache.lmc_cache[port_num - start_port(device)]; - read_unlock_irqrestore(&device->cache.lock, flags); + mtx_unlock_spin(&device->cache.lock); return ret; } @@ -219,26 +228,26 @@ int i; int ret; - tprops = kmalloc(sizeof *tprops, GFP_KERNEL); + tprops = malloc(sizeof *tprops, M_DEVBUF, M_WAITOK); if (!tprops) return; ret = ib_query_port(device, port, tprops); if (ret) { - printk(KERN_WARNING "ib_query_port failed (%d) for %s\n", + log(LOG_WARNING, "ib_query_port failed (%d) for %s\n", ret, device->name); goto err; } - pkey_cache = kmalloc(sizeof *pkey_cache + tprops->pkey_tbl_len * - sizeof *pkey_cache->table, GFP_KERNEL); + pkey_cache = malloc(sizeof *pkey_cache + tprops->pkey_tbl_len * + sizeof *pkey_cache->table, M_DEVBUF, M_WAITOK); if (!pkey_cache) goto err; pkey_cache->table_len = tprops->pkey_tbl_len; - gid_cache = kmalloc(sizeof *gid_cache + tprops->gid_tbl_len * - sizeof *gid_cache->table, GFP_KERNEL); + gid_cache = malloc(sizeof *gid_cache + tprops->gid_tbl_len * + sizeof *gid_cache->table, M_DEVBUF, M_WAITOK); if (!gid_cache) goto err; @@ -247,7 +256,7 @@ for (i = 0; i < pkey_cache->table_len; ++i) { ret = ib_query_pkey(device, port, i, pkey_cache->table + i); if (ret) { - printk(KERN_WARNING "ib_query_pkey failed (%d) for %s (index %d)\n", + log(LOG_WARNING, "ib_query_pkey failed (%d) for %s (index %d)\n", ret, device->name, i); goto err; } @@ -256,13 +265,13 @@ for (i = 0; i < gid_cache->table_len; ++i) { ret = ib_query_gid(device, port, i, gid_cache->table + i); if (ret) { - printk(KERN_WARNING "ib_query_gid failed (%d) for %s (index %d)\n", + log(LOG_WARNING, "ib_query_gid failed (%d) for %s (index %d)\n", ret, device->name, i); goto err; } } - write_lock_irq(&device->cache.lock); + mtx_lock_spin(&device->cache.lock); old_pkey_cache = device->cache.pkey_cache[port - start_port(device)]; old_gid_cache = device->cache.gid_cache [port - start_port(device)]; @@ -272,26 +281,25 @@ device->cache.lmc_cache[port - start_port(device)] = tprops->lmc; - write_unlock_irq(&device->cache.lock); + mtx_unlock_spin(&device->cache.lock); - kfree(old_pkey_cache); - kfree(old_gid_cache); - kfree(tprops); + free(old_pkey_cache, M_DEVBUF); + free(old_gid_cache, M_DEVBUF); + free(tprops, M_DEVBUF); return; err: - kfree(pkey_cache); - kfree(gid_cache); - kfree(tprops); + free(pkey_cache, M_DEVBUF); + free(gid_cache, M_DEVBUF); + free(tprops, M_DEVBUF); } -static void ib_cache_task(struct work_struct *_work) +static void ib_cache_task(void *context, int pending) { - struct ib_update_work *work = - container_of(_work, struct ib_update_work, work); + struct ib_update_work *work = context; ib_cache_update(work->device, work->port_num); - kfree(work); + free(work, M_DEVBUF); } static void ib_cache_event(struct ib_event_handler *handler, @@ -305,12 +313,12 @@ event->event == IB_EVENT_PKEY_CHANGE || event->event == IB_EVENT_SM_CHANGE || event->event == IB_EVENT_CLIENT_REREGISTER) { - work = kmalloc(sizeof *work, GFP_ATOMIC); + work = malloc(sizeof *work, M_DEVBUF, M_WAITOK); if (work) { - INIT_WORK(&work->work, ib_cache_task); + TASK_INIT(&work->task, 0, ib_cache_task, work); work->device = event->device; work->port_num = event->element.port_num; - schedule_work(&work->work); + taskqueue_enqueue(taskqueue_thread, &work->task); } } } @@ -319,23 +327,26 @@ { int p; - rwlock_init(&device->cache.lock); + mtx_init(&device->cache.lock, "ib device cache", NULL, + MTX_DUPOK|MTX_SPIN); device->cache.pkey_cache = - kmalloc(sizeof *device->cache.pkey_cache * - (end_port(device) - start_port(device) + 1), GFP_KERNEL); + malloc(sizeof *device->cache.pkey_cache * + (end_port(device) - start_port(device) + 1), M_DEVBUF, + M_WAITOK); device->cache.gid_cache = - kmalloc(sizeof *device->cache.gid_cache * - (end_port(device) - start_port(device) + 1), GFP_KERNEL); + malloc(sizeof *device->cache.gid_cache * + (end_port(device) - start_port(device) + 1), M_DEVBUF, + M_WAITOK); - device->cache.lmc_cache = kmalloc(sizeof *device->cache.lmc_cache * + device->cache.lmc_cache = malloc(sizeof *device->cache.lmc_cache * (end_port(device) - - start_port(device) + 1), - GFP_KERNEL); + start_port(device) + 1), + M_DEVBUF, M_WAITOK); if (!device->cache.pkey_cache || !device->cache.gid_cache || !device->cache.lmc_cache) { - printk(KERN_WARNING "Couldn't allocate cache " + log(LOG_WARNING, "Couldn't allocate cache " "for %s\n", device->name); goto err; } @@ -355,14 +366,14 @@ err_cache: for (p = 0; p <= end_port(device) - start_port(device); ++p) { - kfree(device->cache.pkey_cache[p]); - kfree(device->cache.gid_cache[p]); + free(device->cache.pkey_cache[p], M_DEVBUF); + free(device->cache.gid_cache[p], M_DEVBUF); } err: - kfree(device->cache.pkey_cache); - kfree(device->cache.gid_cache); - kfree(device->cache.lmc_cache); + free(device->cache.pkey_cache, M_DEVBUF); + free(device->cache.gid_cache, M_DEVBUF); + free(device->cache.lmc_cache, M_DEVBUF); } static void ib_cache_cleanup_one(struct ib_device *device) @@ -370,16 +381,18 @@ int p; ib_unregister_event_handler(&device->cache.event_handler); +#ifdef XXX flush_scheduled_work(); +#endif for (p = 0; p <= end_port(device) - start_port(device); ++p) { - kfree(device->cache.pkey_cache[p]); - kfree(device->cache.gid_cache[p]); + free(device->cache.pkey_cache[p], M_DEVBUF); + free(device->cache.gid_cache[p], M_DEVBUF); } - kfree(device->cache.pkey_cache); - kfree(device->cache.gid_cache); - kfree(device->cache.lmc_cache); + free(device->cache.pkey_cache, M_DEVBUF); + free(device->cache.gid_cache, M_DEVBUF); + free(device->cache.lmc_cache, M_DEVBUF); } static struct ib_client cache_client = { ==== //depot/projects/iwarp/sys/modules/rdma/core/Makefile#3 (text+ko) ==== @@ -6,7 +6,7 @@ KMOD= rdma_core SRCS= device_if.h bus_if.h pci_if.h pcib_if.h SRCS+= rdma_device.c +SRCS+= rdma_cache.c #SRCS+= rdma_verbs.c -#SRCS+= rdma_cache.c .include From owner-p4-projects@FreeBSD.ORG Sat Nov 10 13:41:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 485D616A418; Sat, 10 Nov 2007 13:41:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A780316A41B for ; Sat, 10 Nov 2007 13:41:14 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8D55E13C4A6 for ; Sat, 10 Nov 2007 13:41:14 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAADfELJ050864 for ; Sat, 10 Nov 2007 13:41:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAADf9Sd050860 for perforce@freebsd.org; Sat, 10 Nov 2007 13:41:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 10 Nov 2007 13:41:09 GMT Message-Id: <200711101341.lAADf9Sd050860@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128893 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, 10 Nov 2007 13:41:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=128893 Change 128893 by rwatson@rwatson_zoo on 2007/11/10 13:40:50 Integrate TrustedBSD base branch from FreeBSD CVS HEAD: - More pts bug fixes for user apps - sendmail 8.14.2 - rmlocks (read-mostly locks) - asmc(4) - wpi(4) - more ptys - nfsrv_setcred() removed - fstat ZFS support Affected files ... .. //depot/projects/trustedbsd/base/ObsoleteFiles.inc#32 integrate .. //depot/projects/trustedbsd/base/bin/ps/ps.c#24 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/FREEBSD-upgrade#8 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/complete.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/display.c#8 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/input.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/isearch.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/misc.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/readline.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/text.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/vi_mode.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/CACerts#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/FREEBSD-upgrade#23 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/INSTALL#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/RELEASE_NOTES#20 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/cf/submit.cf#19 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/feature/ldap_routing.m4#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/m4/proto.m4#17 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/m4/version.m4#20 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/contrib/buildvirtuser#8 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/doc/op/op.me#17 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/editmap/editmap.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/include/sm/conf.h#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/include/sm/ldap.h#8 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/include/sm/tailq.h#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/docs/xxfi_unknown.html#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/engine.c#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/listener.c#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/main.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/monitor.c#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/smfi.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/ldap.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/mpeix.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/makemap/makemap.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/praliases/praliases.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/Makefile.m4#9 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/conf.c#20 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/deliver.c#19 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/envelope.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/headers.c#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/macro.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/main.c#18 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/map.c#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/milter.c#18 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/mime.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/parseaddr.c#18 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/queue.c#20 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/readcf.c#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/recipient.c#11 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/sendmail.8#9 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/sendmail.h#19 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/sm_resolve.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/srvrsmtp.c#20 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/usersmtp.c#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/util.c#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/version.c#20 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/vacation/vacation.c#11 integrate .. //depot/projects/trustedbsd/base/etc/defaults/Makefile#6 integrate .. //depot/projects/trustedbsd/base/etc/defaults/pccard.conf#26 delete .. //depot/projects/trustedbsd/base/etc/mtree/BSD.usr.dist#49 integrate .. //depot/projects/trustedbsd/base/etc/network.subr#19 integrate .. //depot/projects/trustedbsd/base/etc/sendmail/freebsd.mc#14 integrate .. //depot/projects/trustedbsd/base/etc/sendmail/freebsd.submit.mc#6 integrate .. //depot/projects/trustedbsd/base/games/fortune/datfiles/fortunes#65 integrate .. //depot/projects/trustedbsd/base/games/fortune/fortune/fortune.6#5 integrate .. //depot/projects/trustedbsd/base/games/fortune/fortune/fortune.c#9 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/mblocal.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_spec.c#6 integrate .. //depot/projects/trustedbsd/base/release/Makefile#87 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/relnotes/article.sgml#16 integrate .. //depot/projects/trustedbsd/base/release/scripts/package-split.py#10 integrate .. //depot/projects/trustedbsd/base/release/scripts/src-install.sh#5 integrate .. //depot/projects/trustedbsd/base/sbin/mdconfig/mdconfig.8#18 integrate .. //depot/projects/trustedbsd/base/sbin/rcorder/ealloc.c#2 integrate .. //depot/projects/trustedbsd/base/sbin/rcorder/ealloc.h#2 integrate .. //depot/projects/trustedbsd/base/sbin/rcorder/hash.c#2 integrate .. //depot/projects/trustedbsd/base/sbin/rcorder/hash.h#2 integrate .. //depot/projects/trustedbsd/base/sbin/rcorder/rcorder.c#6 integrate .. //depot/projects/trustedbsd/base/sbin/setkey/parse.y#3 integrate .. //depot/projects/trustedbsd/base/sbin/setkey/setkey.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/setkey/test-pfkey.c#3 integrate .. //depot/projects/trustedbsd/base/sbin/setkey/token.l#4 integrate .. //depot/projects/trustedbsd/base/share/doc/legal/Makefile#2 integrate .. //depot/projects/trustedbsd/base/share/doc/legal/intel_wpi/Makefile#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/Makefile#83 integrate .. //depot/projects/trustedbsd/base/share/man/man4/wpi.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man7/tuning.7#28 integrate .. //depot/projects/trustedbsd/base/share/man/man9/locking.9#5 integrate .. //depot/projects/trustedbsd/base/share/man/man9/rmlock.9#1 branch .. //depot/projects/trustedbsd/base/share/mk/sys.mk#27 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/machdep.c#38 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/pmap.c#46 integrate .. //depot/projects/trustedbsd/base/sys/amd64/conf/NOTES#25 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/cpufunc.c#14 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/pmap.c#26 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/kb920x_machdep.c#15 integrate .. //depot/projects/trustedbsd/base/sys/arm/sa11x0/assabet_machdep.c#12 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i80321/ep80219_machdep.c#6 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i80321/iq31244_machdep.c#16 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/trustedbsd/base/sys/boot/common/loader.8#38 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_ioctl.c#38 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_ioctl.h#13 integrate .. //depot/projects/trustedbsd/base/sys/compat/opensolaris/sys/kcondvar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/opensolaris/sys/mutex.h#4 integrate .. //depot/projects/trustedbsd/base/sys/compat/opensolaris/sys/rwlock.h#4 integrate .. //depot/projects/trustedbsd/base/sys/compat/pecoff/imgact_pecoff.c#20 integrate .. //depot/projects/trustedbsd/base/sys/compat/svr4/imgact_svr4.c#13 integrate .. //depot/projects/trustedbsd/base/sys/conf/NOTES#94 integrate .. //depot/projects/trustedbsd/base/sys/conf/files#124 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.amd64#45 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.i386#78 integrate .. //depot/projects/trustedbsd/base/sys/contrib/dev/wpi/LICENSE#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu#1 branch .. //depot/projects/trustedbsd/base/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/trustedbsd/base/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#4 integrate .. //depot/projects/trustedbsd/base/sys/contrib/opensolaris/uts/common/sys/vfs.h#2 delete .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_ec.c#34 integrate .. //depot/projects/trustedbsd/base/sys/dev/asmc/asmc.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/asmc/asmcvar.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/ciss/ciss.c#45 integrate .. //depot/projects/trustedbsd/base/sys/dev/isp/isp_sbus.c#21 integrate .. //depot/projects/trustedbsd/base/sys/dev/md/md.c#54 integrate .. //depot/projects/trustedbsd/base/sys/dev/nfe/if_nfe.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/rt2560.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/rt2661.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/atiixp.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/atiixp.h#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/t4dwave.c#21 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_rum.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_ural.c#26 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_zyd.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_zydreg.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ukbd.c#28 integrate .. //depot/projects/trustedbsd/base/sys/dev/wpi/if_wpi.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/wpi/if_wpireg.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/wpi/if_wpivar.h#1 branch .. //depot/projects/trustedbsd/base/sys/i386/conf/NOTES#79 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/machdep.c#75 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/pmap.c#81 integrate .. //depot/projects/trustedbsd/base/sys/i386/ibcs2/imgact_coff.c#22 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/imgact_linux.c#17 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/machdep.c#70 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/pmap.c#62 integrate .. //depot/projects/trustedbsd/base/sys/kern/imgact_aout.c#20 integrate .. //depot/projects/trustedbsd/base/sys/kern/imgact_elf.c#40 integrate .. //depot/projects/trustedbsd/base/sys/kern/imgact_gzip.c#12 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_exec.c#71 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_fork.c#71 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_kse.c#20 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_proc.c#59 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_rmlock.c#1 branch .. //depot/projects/trustedbsd/base/sys/kern/kern_sig.c#77 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_thr.c#30 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_thread.c#65 integrate .. //depot/projects/trustedbsd/base/sys/kern/sched_4bsd.c#38 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_lock.c#8 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_pcpu.c#7 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_smp.c#30 integrate .. //depot/projects/trustedbsd/base/sys/kern/sys_process.c#39 integrate .. //depot/projects/trustedbsd/base/sys/kern/tty_pty.c#29 integrate .. //depot/projects/trustedbsd/base/sys/modules/Makefile#96 integrate .. //depot/projects/trustedbsd/base/sys/modules/asmc/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/modules/wpi/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/modules/wpifw/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/net/if_bridge.c#27 integrate .. //depot/projects/trustedbsd/base/sys/net/if_ethersubr.c#61 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_scan_sta.c#5 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_dummynet.c#43 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_dummynet.h#18 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_fw_pfil.c#11 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_indata.c#16 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctputil.c#19 integrate .. //depot/projects/trustedbsd/base/sys/nfsserver/nfs.h#16 integrate .. //depot/projects/trustedbsd/base/sys/nfsserver/nfs_srvsubs.c#28 integrate .. //depot/projects/trustedbsd/base/sys/pc98/pc98/machdep.c#21 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/machdep.c#45 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/pmap_dispatch.c#7 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/machdep.c#57 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/pmap.c#65 integrate .. //depot/projects/trustedbsd/base/sys/sun4v/sun4v/machdep.c#8 integrate .. //depot/projects/trustedbsd/base/sys/sun4v/sun4v/pmap.c#8 integrate .. //depot/projects/trustedbsd/base/sys/sys/_rmlock.h#1 branch .. //depot/projects/trustedbsd/base/sys/sys/lock.h#19 integrate .. //depot/projects/trustedbsd/base/sys/sys/pcpu.h#20 integrate .. //depot/projects/trustedbsd/base/sys/sys/proc.h#91 integrate .. //depot/projects/trustedbsd/base/sys/sys/rmlock.h#1 branch .. //depot/projects/trustedbsd/base/sys/sys/signalvar.h#26 integrate .. //depot/projects/trustedbsd/base/sys/sys/smp.h#13 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ffs/ffs_alloc.c#40 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ffs/ffs_balloc.c#16 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ffs/ffs_inode.c#24 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ffs/ffs_snapshot.c#47 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ffs/ffs_softdep.c#50 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ffs/ffs_vnops.c#46 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ufs/ufs_bmap.c#18 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ufs/ufs_lookup.c#22 integrate .. //depot/projects/trustedbsd/base/sys/ufs/ufs/ufs_vnops.c#57 integrate .. //depot/projects/trustedbsd/base/sys/vm/pmap.h#32 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_extern.h#22 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_glue.c#52 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_kern.c#35 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_map.c#58 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_map.h#31 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_page.c#81 integrate .. //depot/projects/trustedbsd/base/tools/build/options/makeman#5 integrate .. //depot/projects/trustedbsd/base/usr.bin/du/du.c#19 integrate .. //depot/projects/trustedbsd/base/usr.bin/fstat/Makefile#5 integrate .. //depot/projects/trustedbsd/base/usr.bin/fstat/fstat.c#21 integrate .. //depot/projects/trustedbsd/base/usr.bin/fstat/fstat.h#5 integrate .. //depot/projects/trustedbsd/base/usr.bin/fstat/zfs/Makefile#1 branch .. //depot/projects/trustedbsd/base/usr.bin/fstat/zfs/zfs.c#1 branch .. //depot/projects/trustedbsd/base/usr.bin/killall/killall.1#13 integrate .. //depot/projects/trustedbsd/base/usr.bin/killall/killall.c#11 integrate .. //depot/projects/trustedbsd/base/usr.bin/mail/aux.c#8 integrate .. //depot/projects/trustedbsd/base/usr.bin/mail/cmd1.c#4 integrate .. //depot/projects/trustedbsd/base/usr.bin/mail/lex.c#6 integrate .. //depot/projects/trustedbsd/base/usr.bin/mail/list.c#6 integrate .. //depot/projects/trustedbsd/base/usr.bin/mail/main.c#6 integrate .. //depot/projects/trustedbsd/base/usr.bin/mklocale/ldef.h#4 integrate .. //depot/projects/trustedbsd/base/usr.bin/passwd/passwd.1#9 integrate .. //depot/projects/trustedbsd/base/usr.bin/sed/main.c#16 integrate .. //depot/projects/trustedbsd/base/usr.bin/tftp/tftp.1#10 integrate .. //depot/projects/trustedbsd/base/usr.sbin/bluetooth/sdpcontrol/search.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/bootparamd/bootparamd/bootparamd.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/bootparamd/bootparamd/main.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/bootparamd/callbootd/callbootd.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cron/cron/cron.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cron/cron/cron.h#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cron/cron/database.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cron/cron/do_command.c#8 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cron/cron/externs.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cron/crontab/crontab.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/cron/lib/entry.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/crunch/crunchide/crunchide.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/faithd/faithd.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/faithd/faithd.h#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/faithd/ftp.c#7 integrate .. //depot/projects/trustedbsd/base/usr.sbin/faithd/prefix.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/faithd/prefix.h#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/faithd/tcp.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/freebsd-update/freebsd-update.sh#7 integrate .. //depot/projects/trustedbsd/base/usr.sbin/ip6addrctl/ip6addrctl.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/keyserv/keyserv.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/keyserv/keyserv.h#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/keyserv/setkey.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/lpr/lpd/lpd.c#9 integrate .. //depot/projects/trustedbsd/base/usr.sbin/ndp/ndp.c#12 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pccard/pccardc/enabler.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pciconf/pciconf.8#13 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/add/add.h#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/add/main.c#20 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/add/perform.c#10 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/add/pkg_add.1#18 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/create/main.c#11 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/delete/main.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/info/main.c#14 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/lib/lib.h#17 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/sign/extern.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/sign/gzip.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/sign/pgp.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/sign/stand.h#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/updating/Makefile#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/updating/main.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/updating/pathnames.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/version/main.c#8 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pkg_install/version/version.h#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/auth.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/cbcp.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/ccp.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/chap.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/chap.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/chap_ms.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/chap_ms.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/demand.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/eui64.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/fsm.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/fsm.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/ipcp.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/ipcp.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/ipv6cp.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/ipv6cp.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/ipxcp.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/lcp.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/lcp.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/magic.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/magic.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/main.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/options.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/pppd.h#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/sys-bsd.c#7 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/upap.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppd/upap.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/pppstats/pppstats.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rip6query/rip6query.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/route6d/route6d.c#9 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpc.lockd/lockd.c#12 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpc.statd/statd.c#10 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/check_bound.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/pmap_svc.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/rpcb_svc.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/rpcb_svc_4.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/rpcb_svc_com.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/rpcbind.c#14 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/rpcbind.h#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/util.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rpcbind/warmstart.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rrenumd/lexer.l#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rrenumd/parser.y#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rrenumd/rrenumd.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/advcap.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/advcap.h#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/config.c#11 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/config.h#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/dump.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/dump.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/if.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/if.h#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/rrenum.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/rtadvd.c#8 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/rtadvd.h#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/timer.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtadvd/timer.h#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtsold/dump.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtsold/if.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtsold/probe.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtsold/rtsock.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtsold/rtsol.c#5 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtsold/rtsold.c#6 integrate .. //depot/projects/trustedbsd/base/usr.sbin/rtsold/rtsold.h#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/dist.c#39 integrate .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/dist.h#14 integrate .. //depot/projects/trustedbsd/base/usr.sbin/sysinstall/menus.c#54 integrate .. //depot/projects/trustedbsd/base/usr.sbin/timed/timed/correct.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/timed/timed/extern.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/timed/timed/master.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/timed/timed/networkdelta.c#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/timed/timed/slave.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/timed/timedc/extern.h#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/timed/timedc/timedc.c#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/traceroute6/traceroute6.c#12 integrate .. //depot/projects/trustedbsd/base/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#9 integrate Differences ... ==== //depot/projects/trustedbsd/base/ObsoleteFiles.inc#32 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.116 2007/10/30 11:37:37 bushman Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.117 2007/11/08 17:43:13 imp 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,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20071108: Removed very crunch OLDCARD support file +OLD_FILES+=etc/defaults/pccard.conf # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd ==== //depot/projects/trustedbsd/base/bin/ps/ps.c#24 (text+ko) ==== @@ -47,7 +47,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.112 2007/10/26 08:00:40 julian Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.113 2007/11/08 22:31:28 jhb Exp $"); #include #include @@ -74,6 +74,8 @@ #include "ps.h" +#define _PATH_PTS "/dev/pts/" + #define W_SEP " \t" /* "Whitespace" list separators */ #define T_SEP "," /* "Terminate-element" list separators */ @@ -706,9 +708,9 @@ /*- * The user can specify a device via one of three formats: - * 1) fully qualified, e.g.: /dev/ttyp0 /dev/console - * 2) missing "/dev", e.g.: ttyp0 console - * 3) two-letters, e.g.: p0 co + * 1) fully qualified, e.g.: /dev/ttyp0 /dev/console /dev/pts/0 + * 2) missing "/dev", e.g.: ttyp0 console pts/0 + * 3) two-letters, e.g.: p0 co 0 * (matching letters that would be seen in the "TT" column) */ static int @@ -716,10 +718,11 @@ { const char *ttypath; struct stat sb; - char pathbuf[PATH_MAX], pathbuf2[PATH_MAX]; + char pathbuf[PATH_MAX], pathbuf2[PATH_MAX], pathbuf3[PATH_MAX]; ttypath = NULL; pathbuf2[0] = '\0'; + pathbuf3[0] = '\0'; switch (*elem) { case '/': ttypath = elem; @@ -736,6 +739,8 @@ ttypath = pathbuf; if (strncmp(pathbuf, _PATH_TTY, strlen(_PATH_TTY)) == 0) break; + if (strncmp(pathbuf, _PATH_PTS, strlen(_PATH_PTS)) == 0) + break; if (strcmp(pathbuf, _PATH_CONSOLE) == 0) break; /* Check to see if /dev/tty${elem} exists */ @@ -746,21 +751,30 @@ ttypath = NULL; break; } + /* Check to see if /dev/pts/${elem} exists */ + strlcpy(pathbuf3, _PATH_PTS, sizeof(pathbuf3)); + strlcat(pathbuf3, elem, sizeof(pathbuf3)); + if (stat(pathbuf3, &sb) == 0 && S_ISCHR(sb.st_mode)) { + /* No need to repeat stat() && S_ISCHR() checks */ + ttypath = NULL; + break; + } break; } if (ttypath) { if (stat(ttypath, &sb) == -1) { - if (pathbuf2[0] != '\0') - warn("%s and %s", pathbuf2, ttypath); + if (pathbuf3[0] != '\0') + warn("%s, %s, and %s", pathbuf3, pathbuf2, + ttypath); else warn("%s", ttypath); optfatal = 1; return (0); } if (!S_ISCHR(sb.st_mode)) { - if (pathbuf2[0] != '\0') - warnx("%s and %s: Not a terminal", pathbuf2, - ttypath); + if (pathbuf3[0] != '\0') + warnx("%s, %s, and %s: Not a terminal", + pathbuf3, pathbuf2, ttypath); else warnx("%s: Not a terminal", ttypath); optfatal = 1; ==== //depot/projects/trustedbsd/base/contrib/libreadline/FREEBSD-upgrade#8 (text+ko) ==== @@ -1,7 +1,8 @@ -# $FreeBSD: src/contrib/libreadline/FREEBSD-upgrade,v 1.10 2007/04/12 14:45:25 ache Exp $ +# $FreeBSD: src/contrib/libreadline/FREEBSD-upgrade,v 1.11 2007/11/07 04:44:11 ache Exp $ # # Official patch 001 imported as v5_2_p1 # Official patch 002 imported as v5_2_p2 +# Official patches 003-007 imported as v5_2_p3_p7 # rm doc/*.dvi doc/*.html doc/*.ps doc/*.0 doc/*.info doc/*.tex doc/texi2* doc/*.pdf ==== //depot/projects/trustedbsd/base/contrib/libreadline/complete.c#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/complete.c,v 1.13 2006/12/31 09:22:31 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/complete.c,v 1.14 2007/11/07 04:42:20 ache Exp $ */ /* complete.c -- filename completion for readline. */ /* Copyright (C) 1987-2005 Free Software Foundation, Inc. @@ -429,7 +429,7 @@ return (1); if (c == 'n' || c == 'N' || c == RUBOUT) return (0); - if (c == ABORT_CHAR) + if (c == ABORT_CHAR || c < 0) _rl_abort_internal (); if (for_pager && (c == NEWLINE || c == RETURN)) return (2); ==== //depot/projects/trustedbsd/base/contrib/libreadline/display.c#8 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/display.c,v 1.13 2007/04/12 14:45:25 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/display.c,v 1.14 2007/11/07 04:42:20 ache Exp $ */ /* display.c -- readline redisplay facility. */ /* Copyright (C) 1987-2006 Free Software Foundation, Inc. @@ -1519,11 +1519,31 @@ { /* Non-zero if we're increasing the number of lines. */ int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin; + /* If col_lendiff is > 0, implying that the new string takes up more + screen real estate than the old, but lendiff is < 0, meaning that it + takes fewer bytes, we need to just output the characters starting + from the first difference. These will overwrite what is on the + display, so there's no reason to do a smart update. This can really + only happen in a multibyte environment. */ + if (lendiff < 0) + { + _rl_output_some_chars (nfd, temp); + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + /* If nfd begins before any invisible characters in the prompt, + adjust _rl_last_c_pos to account for wrap_offset and set + cpos_adjusted to let the caller know. */ + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + return; + } /* Sometimes it is cheaper to print the characters rather than use the terminal's capabilities. If we're growing the number of lines, make sure we actually cause the new line to wrap around on auto-wrapping terminals. */ - if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) + else if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) { /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and _rl_horizontal_scroll_mode == 1, inserting the characters with @@ -1599,8 +1619,22 @@ temp = nls - nfd; if (temp > 0) { + /* If nfd begins at the prompt, or before the invisible + characters in the prompt, we need to adjust _rl_last_c_pos + in a multibyte locale to account for the wrap offset and + set cpos_adjusted accordingly. */ _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += _rl_col_width (nfd, 0, temp);; + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + } + else + _rl_last_c_pos += temp; } } /* Otherwise, print over the existing material. */ @@ -1608,8 +1642,20 @@ { if (temp > 0) { + /* If nfd begins at the prompt, or before the invisible + characters in the prompt, we need to adjust _rl_last_c_pos + in a multibyte locale to account for the wrap offset and + set cpos_adjusted accordingly. */ _rl_output_some_chars (nfd, temp); _rl_last_c_pos += col_temp; /* XXX */ + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + } } lendiff = (oe - old) - (ne - new); if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) @@ -1745,7 +1791,10 @@ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) { dpos = _rl_col_width (data, 0, new); - if (dpos > prompt_last_invisible) /* XXX - don't use woff here */ + /* Use NEW when comparing against the last invisible character in the + prompt string, since they're both buffer indices and DPOS is a + desired display position. */ + if (new > prompt_last_invisible) /* XXX - don't use woff here */ { dpos -= woff; /* Since this will be assigned to _rl_last_c_pos at the end (more ==== //depot/projects/trustedbsd/base/contrib/libreadline/input.c#6 (text+ko) ==== @@ -133,8 +133,11 @@ return (0); *key = ibuffer[pop_index++]; - +#if 0 if (pop_index >= ibuffer_len) +#else + if (pop_index > ibuffer_len) +#endif pop_index = 0; return (1); @@ -250,7 +253,8 @@ while (chars_avail--) { k = (*rl_getc_function) (rl_instream); - rl_stuff_char (k); + if (rl_stuff_char (k) == 0) + break; /* some problem; no more room */ if (k == NEWLINE || k == RETURN) break; } @@ -373,7 +377,11 @@ RL_SETSTATE (RL_STATE_INPUTPENDING); } ibuffer[push_index++] = key; +#if 0 if (push_index >= ibuffer_len) +#else + if (push_index > ibuffer_len) +#endif push_index = 0; return 1; @@ -513,20 +521,26 @@ char *mbchar; int size; { - int mb_len = 0; + int mb_len, c; size_t mbchar_bytes_length; wchar_t wc; mbstate_t ps, ps_back; memset(&ps, 0, sizeof (mbstate_t)); memset(&ps_back, 0, sizeof (mbstate_t)); - + + mb_len = 0; while (mb_len < size) { RL_SETSTATE(RL_STATE_MOREINPUT); - mbchar[mb_len++] = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + break; + + mbchar[mb_len++] = c; + mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps); if (mbchar_bytes_length == (size_t)(-1)) break; /* invalid byte sequence for the current locale */ @@ -564,7 +578,7 @@ c = first; memset (mb, 0, mlen); - for (i = 0; i < mlen; i++) + for (i = 0; c >= 0 && i < mlen; i++) { mb[i] = (char)c; memset (&ps, 0, sizeof (mbstate_t)); ==== //depot/projects/trustedbsd/base/contrib/libreadline/isearch.c#5 (text+ko) ==== @@ -327,8 +327,15 @@ rl_command_func_t *f; f = (rl_command_func_t *)NULL; - - /* Translate the keys we do something with to opcodes. */ + + if (c < 0) + { + cxt->sflags |= SF_FAILED; + cxt->history_pos = cxt->last_found_line; + return -1; + } + + /* Translate the keys we do something with to opcodes. */ if (c >= 0 && _rl_keymap[c].type == ISFUNC) { f = _rl_keymap[c].function; ==== //depot/projects/trustedbsd/base/contrib/libreadline/misc.c#5 (text+ko) ==== @@ -146,6 +146,8 @@ rl_restore_prompt (); rl_clear_message (); RL_UNSETSTATE(RL_STATE_NUMERICARG); + if (key < 0) + return -1; return (_rl_dispatch (key, _rl_keymap)); } } ==== //depot/projects/trustedbsd/base/contrib/libreadline/readline.c#7 (text+ko) ==== @@ -645,6 +645,11 @@ if ((cxt->flags & KSEQ_DISPATCHED) == 0) { nkey = _rl_subseq_getchar (cxt->okey); + if (nkey < 0) + { + _rl_abort_internal (); + return -1; + } r = _rl_dispatch_subseq (nkey, cxt->dmap, cxt->subseq_arg); cxt->flags |= KSEQ_DISPATCHED; } ==== //depot/projects/trustedbsd/base/contrib/libreadline/text.c#5 (text+ko) ==== @@ -857,6 +857,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + #if defined (HANDLE_SIGNALS) if (RL_ISSTATE (RL_STATE_CALLBACK) == 0) _rl_restore_tty_signals (); @@ -1520,6 +1523,9 @@ mb_len = _rl_read_mbchar (mbchar, MB_LEN_MAX); + if (mb_len <= 0) + return -1; + if (count < 0) return (_rl_char_search_internal (-count, bdir, mbchar, mb_len)); else @@ -1536,6 +1542,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + if (count < 0) return (_rl_char_search_internal (-count, bdir, c)); else ==== //depot/projects/trustedbsd/base/contrib/libreadline/vi_mode.c#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/vi_mode.c,v 1.6 2006/12/31 09:22:31 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/vi_mode.c,v 1.7 2007/11/07 04:42:20 ache Exp $ */ /* vi_mode.c -- A vi emulation mode for Bash. Derived from code written by Jeff Sparkes (jsparkes@bnr.ca). */ @@ -887,6 +887,13 @@ RL_SETSTATE(RL_STATE_MOREINPUT); c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + + if (c < 0) + { + *nextkey = 0; + return -1; + } + *nextkey = c; if (!member (c, vi_motion)) @@ -903,6 +910,11 @@ RL_SETSTATE(RL_STATE_MOREINPUT); c = rl_read_key (); /* real command */ RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + { + *nextkey = 0; + return -1; + } *nextkey = c; } else if (key == c && (key == 'd' || key == 'y' || key == 'c')) @@ -1225,14 +1237,22 @@ _rl_vi_callback_char_search (data) _rl_callback_generic_arg *data; { + int c; #if defined (HANDLE_MULTIBYTE) - _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + c = _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); #else RL_SETSTATE(RL_STATE_MOREINPUT); - _rl_vi_last_search_char = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); #endif + if (c <= 0) + return -1; + +#if !defined (HANDLE_MULTIBYTE) + _rl_vi_last_search_char = c; +#endif + _rl_callback_func = 0; _rl_want_redisplay = 1; @@ -1248,6 +1268,7 @@ rl_vi_char_search (count, key) int count, key; { + int c; #if defined (HANDLE_MULTIBYTE) static char *target; static int tlen; @@ -1294,11 +1315,17 @@ else { #if defined (HANDLE_MULTIBYTE) - _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + c = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + if (c <= 0) + return -1; + _rl_vi_last_search_mblen = c; #else RL_SETSTATE(RL_STATE_MOREINPUT); - _rl_vi_last_search_char = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + _rl_vi_last_search_char = c; #endif } } @@ -1468,6 +1495,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + #if defined (HANDLE_MULTIBYTE) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) c = _rl_read_mbstring (c, mb, mlen); @@ -1486,6 +1516,9 @@ _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); + if (c < 0) + return -1; + _rl_callback_func = 0; _rl_want_redisplay = 1; @@ -1517,6 +1550,9 @@ else _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); + if (c < 0) + return -1; + return (_rl_vi_change_char (count, c, mb)); } @@ -1651,7 +1687,7 @@ ch = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); - if (ch < 'a' || ch > 'z') + if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ { rl_ding (); return -1; @@ -1703,7 +1739,7 @@ rl_point = rl_mark; return 0; } - else if (ch < 'a' || ch > 'z') + else if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ { rl_ding (); return -1; ==== //depot/projects/trustedbsd/base/contrib/sendmail/CACerts#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $Id: CACerts,v 8.1 2004/03/01 22:05:47 ca Exp $ +# $Id: CACerts,v 8.3 2007/06/11 22:04:46 ca Exp $ # This file contains some CA certificates that are used to sign the # certificates of mail servers of members of the sendmail consortium # who may reply to questions etc sent to sendmail.org. @@ -78,73 +78,6 @@ Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, ST=California, L=Emeryville, O=gshapiro.net, CN=Certificate Authority/emailAddress=certificates@gshapiro.net - Validity - Not Before: Jan 1 04:39:54 2002 GMT - Not After : Dec 31 04:39:54 2006 GMT - Subject: C=US, ST=California, L=Emeryville, O=gshapiro.net, CN=Certificate Authority/emailAddress=certificates@gshapiro.net - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:aa:dd:a2:fe:3b:fa:2f:5c:3d:f1:e1:d4:1d:55: - 04:27:6b:01:62:00:d7:02:cb:74:47:69:84:d7:c6: - c5:71:55:79:35:3a:a8:ce:de:48:23:53:80:3c:cd: - 54:2e:e9:fe:b1:76:5a:be:cb:fd:2d:dc:a3:36:c5: - c7:1e:4e:ef:76:f0:55:8f:a0:a5:f8:07:c5:52:1d: - a2:42:81:4d:8a:c8:42:3f:f3:01:80:f9:46:35:a6: - bc:c0:9b:9f:33:8b:49:9b:1d:87:8f:19:48:15:21: - 23:57:df:6e:4d:03:ed:ae:9f:0b:91:b7:a9:47:66: - f1:0d:1b:1c:5d:b4:57:60:c7 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - A0:6D:E0:06:AF:61:94:B4:C6:84:15:B4:8B:74:22:67:4A:43:60:CA - X509v3 Authority Key Identifier: - keyid:A0:6D:E0:06:AF:61:94:B4:C6:84:15:B4:8B:74:22:67:4A:43:60:CA - DirName:/C=US/ST=California/L=Emeryville/O=gshapiro.net/CN=Certificate Authority/emailAddress=certificates@gshapiro.net - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 87:27:d2:2a:3a:dc:04:cd:ef:e8:7b:1c:34:47:2e:13:34:a5: - 08:f9:4d:df:d8:e1:6d:e6:9a:db:38:ee:20:6d:4a:ae:6f:1e: - bc:71:61:a4:b4:d6:40:24:ee:65:ca:e9:81:5a:ef:ee:62:57: - 70:05:46:91:6b:d0:c6:a6:e9:38:65:ae:ea:50:b3:5c:27:c4: - 7a:bd:95:8c:cb:45:ef:fc:fc:99:e5:6a:61:c3:44:77:d8:1f: - d6:b4:17:44:15:9a:bc:26:5b:ec:4e:29:5d:fd:cf:61:f3:be: - 91:a4:3b:51:e6:73:5b:17:82:9d:5a:56:2c:63:c2:f1:d6:a2: - 4c:5a ------BEGIN CERTIFICATE----- -MIIDoTCCAwqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCVVMx -EzARBgNVBAgTCkNhbGlmb3JuaWExEzARBgNVBAcTCkVtZXJ5dmlsbGUxFTATBgNV -BAoTDGdzaGFwaXJvLm5ldDEeMBwGA1UEAxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5 -MSgwJgYJKoZIhvcNAQkBFhljZXJ0aWZpY2F0ZXNAZ3NoYXBpcm8ubmV0MB4XDTAy -MDEwMTA0Mzk1NFoXDTA2MTIzMTA0Mzk1NFowgZgxCzAJBgNVBAYTAlVTMRMwEQYD -VQQIEwpDYWxpZm9ybmlhMRMwEQYDVQQHEwpFbWVyeXZpbGxlMRUwEwYDVQQKEwxn -c2hhcGlyby5uZXQxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0eTEoMCYG -CSqGSIb3DQEJARYZY2VydGlmaWNhdGVzQGdzaGFwaXJvLm5ldDCBnzANBgkqhkiG -9w0BAQEFAAOBjQAwgYkCgYEAqt2i/jv6L1w98eHUHVUEJ2sBYgDXAst0R2mE18bF -cVV5NTqozt5II1OAPM1ULun+sXZavsv9LdyjNsXHHk7vdvBVj6Cl+AfFUh2iQoFN -ishCP/MBgPlGNaa8wJufM4tJmx2HjxlIFSEjV99uTQPtrp8LkbepR2bxDRscXbRX -YMcCAwEAAaOB+DCB9TAdBgNVHQ4EFgQUoG3gBq9hlLTGhBW0i3QiZ0pDYMowgcUG -A1UdIwSBvTCBuoAUoG3gBq9hlLTGhBW0i3QiZ0pDYMqhgZ6kgZswgZgxCzAJBgNV -BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRMwEQYDVQQHEwpFbWVyeXZpbGxl -MRUwEwYDVQQKEwxnc2hhcGlyby5uZXQxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1 -dGhvcml0eTEoMCYGCSqGSIb3DQEJARYZY2VydGlmaWNhdGVzQGdzaGFwaXJvLm5l -dIIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAIcn0io63ATN7+h7 -HDRHLhM0pQj5Td/Y4W3mmts47iBtSq5vHrxxYaS01kAk7mXK6YFa7+5iV3AFRpFr -0Mam6ThlrupQs1wnxHq9lYzLRe/8/JnlamHDRHfYH9a0F0QVmrwmW+xOKV39z2Hz -vpGkO1Hmc1sXgp1aVixjwvHWokxa ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption Issuer: C=US, ST=Illinois, L=De Kalb, O=Northern Illinois University, OU=Computer Science, CN=Neil Rickert/emailAddress=rickert@cs.niu.edu Validity Not Before: May 12 00:40:50 2000 GMT @@ -210,93 +143,94 @@ Certificate: Data: Version: 3 (0x2) - Serial Number: 0 (0x0) + Serial Number: + fa:7c:2c:80:29:3f:c2:64 Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2003/emailAddress=ca+ca-rsa2003@esmtp.org + Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2007/emailAddress=ca+ca-rsa2007@esmtp.org Validity - Not Before: Aug 7 15:56:45 2003 GMT - Not After : Aug 6 15:56:45 2006 GMT - Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2003/emailAddress=ca+ca-rsa2003@esmtp.org + Not Before: May 4 02:07:56 2007 GMT + Not After : May 3 02:07:56 2010 GMT + Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2007/emailAddress=ca+ca-rsa2007@esmtp.org Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 10 13:49:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 508CE16A41B; Sat, 10 Nov 2007 13:49:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9E5D16A419 for ; Sat, 10 Nov 2007 13:49:28 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8F64A13C4D5 for ; Sat, 10 Nov 2007 13:49:28 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAADnSPH053083 for ; Sat, 10 Nov 2007 13:49:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAADnN5s053080 for perforce@freebsd.org; Sat, 10 Nov 2007 13:49:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 10 Nov 2007 13:49:23 GMT Message-Id: <200711101349.lAADnN5s053080@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128894 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, 10 Nov 2007 13:49:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=128894 Change 128894 by rwatson@rwatson_zoo on 2007/11/10 13:49:02 Integrate TrustedBSD audit3 branch from TrustedBSD base branch through @128893. Affected files ... .. //depot/projects/trustedbsd/audit3/ObsoleteFiles.inc#23 integrate .. //depot/projects/trustedbsd/audit3/bin/ps/ps.c#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/FREEBSD-upgrade#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/complete.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/display.c#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/input.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/isearch.c#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/misc.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/readline.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/text.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/libreadline/vi_mode.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/CACerts#2 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/FREEBSD-upgrade#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/INSTALL#2 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/RELEASE_NOTES#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/cf/cf/submit.cf#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/cf/feature/ldap_routing.m4#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/cf/m4/proto.m4#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/cf/m4/version.m4#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/contrib/buildvirtuser#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/doc/op/op.me#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/editmap/editmap.c#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/include/sm/conf.h#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/include/sm/ldap.h#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/include/sm/tailq.h#2 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/libmilter/docs/xxfi_unknown.html#2 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/libmilter/engine.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/libmilter/listener.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/libmilter/main.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/libmilter/monitor.c#2 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/libmilter/smfi.c#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/libsm/ldap.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/libsm/mpeix.c#2 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/makemap/makemap.c#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/praliases/praliases.c#2 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/Makefile.m4#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/conf.c#8 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/deliver.c#8 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/envelope.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/headers.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/macro.c#4 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/main.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/map.c#8 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/milter.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/mime.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/parseaddr.c#8 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/queue.c#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/readcf.c#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/recipient.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/sendmail.8#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/sendmail.h#8 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/sm_resolve.c#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/srvrsmtp.c#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/usersmtp.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/util.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/src/version.c#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/sendmail/vacation/vacation.c#5 integrate .. //depot/projects/trustedbsd/audit3/etc/defaults/Makefile#5 integrate .. //depot/projects/trustedbsd/audit3/etc/defaults/pccard.conf#4 delete .. //depot/projects/trustedbsd/audit3/etc/mtree/BSD.usr.dist#13 integrate .. //depot/projects/trustedbsd/audit3/etc/network.subr#12 integrate .. //depot/projects/trustedbsd/audit3/etc/sendmail/freebsd.mc#7 integrate .. //depot/projects/trustedbsd/audit3/etc/sendmail/freebsd.submit.mc#6 integrate .. //depot/projects/trustedbsd/audit3/games/fortune/datfiles/fortunes#23 integrate .. //depot/projects/trustedbsd/audit3/games/fortune/fortune/fortune.6#4 integrate .. //depot/projects/trustedbsd/audit3/games/fortune/fortune/fortune.c#5 integrate .. //depot/projects/trustedbsd/audit3/lib/libc/locale/mblocal.h#3 integrate .. //depot/projects/trustedbsd/audit3/lib/libthr/thread/thr_spec.c#6 integrate .. //depot/projects/trustedbsd/audit3/release/Makefile#18 integrate .. //depot/projects/trustedbsd/audit3/release/doc/en_US.ISO8859-1/relnotes/article.sgml#13 integrate .. //depot/projects/trustedbsd/audit3/release/scripts/package-split.py#7 integrate .. //depot/projects/trustedbsd/audit3/release/scripts/src-install.sh#4 integrate .. //depot/projects/trustedbsd/audit3/sbin/mdconfig/mdconfig.8#6 integrate .. //depot/projects/trustedbsd/audit3/sbin/rcorder/ealloc.c#2 integrate .. //depot/projects/trustedbsd/audit3/sbin/rcorder/ealloc.h#2 integrate .. //depot/projects/trustedbsd/audit3/sbin/rcorder/hash.c#2 integrate .. //depot/projects/trustedbsd/audit3/sbin/rcorder/hash.h#2 integrate .. //depot/projects/trustedbsd/audit3/sbin/rcorder/rcorder.c#4 integrate .. //depot/projects/trustedbsd/audit3/sbin/setkey/parse.y#3 integrate .. //depot/projects/trustedbsd/audit3/sbin/setkey/setkey.c#3 integrate .. //depot/projects/trustedbsd/audit3/sbin/setkey/test-pfkey.c#3 integrate .. //depot/projects/trustedbsd/audit3/sbin/setkey/token.l#4 integrate .. //depot/projects/trustedbsd/audit3/share/doc/legal/Makefile#2 integrate .. //depot/projects/trustedbsd/audit3/share/doc/legal/intel_wpi/Makefile#1 branch .. //depot/projects/trustedbsd/audit3/share/man/man4/Makefile#25 integrate .. //depot/projects/trustedbsd/audit3/share/man/man4/wpi.4#1 branch .. //depot/projects/trustedbsd/audit3/share/man/man7/tuning.7#7 integrate .. //depot/projects/trustedbsd/audit3/share/man/man9/locking.9#5 integrate .. //depot/projects/trustedbsd/audit3/share/man/man9/rmlock.9#1 branch .. //depot/projects/trustedbsd/audit3/share/mk/sys.mk#10 integrate .. //depot/projects/trustedbsd/audit3/sys/amd64/amd64/machdep.c#19 integrate .. //depot/projects/trustedbsd/audit3/sys/amd64/amd64/pmap.c#23 integrate .. //depot/projects/trustedbsd/audit3/sys/amd64/conf/NOTES#15 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/arm/cpufunc.c#10 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/arm/pmap.c#18 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/at91/kb920x_machdep.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/sa11x0/assabet_machdep.c#10 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/xscale/i80321/ep80219_machdep.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/xscale/i80321/iq31244_machdep.c#12 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/arm/xscale/ixp425/if_npe.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/boot/common/loader.8#12 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/linux/linux_ioctl.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/linux/linux_ioctl.h#8 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/opensolaris/sys/kcondvar.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/opensolaris/sys/mutex.h#4 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/opensolaris/sys/rwlock.h#4 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/pecoff/imgact_pecoff.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/compat/svr4/imgact_svr4.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/conf/NOTES#28 integrate .. //depot/projects/trustedbsd/audit3/sys/conf/files#38 integrate .. //depot/projects/trustedbsd/audit3/sys/conf/files.amd64#19 integrate .. //depot/projects/trustedbsd/audit3/sys/conf/files.i386#20 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/dev/wpi/LICENSE#1 branch .. //depot/projects/trustedbsd/audit3/sys/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu#1 branch .. //depot/projects/trustedbsd/audit3/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/contrib/opensolaris/uts/common/sys/vfs.h#2 delete .. //depot/projects/trustedbsd/audit3/sys/dev/acpica/acpi_ec.c#11 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/asmc/asmc.c#1 branch .. //depot/projects/trustedbsd/audit3/sys/dev/asmc/asmcvar.h#1 branch .. //depot/projects/trustedbsd/audit3/sys/dev/ciss/ciss.c#17 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/isp/isp_sbus.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/md/md.c#14 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/nfe/if_nfe.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/ral/rt2560.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/ral/rt2661.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/sound/pci/atiixp.c#12 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/sound/pci/atiixp.h#4 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/sound/pci/t4dwave.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/usb/if_rum.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/usb/if_ural.c#20 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/usb/if_zyd.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/usb/if_zydreg.h#2 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/usb/ukbd.c#12 integrate .. //depot/projects/trustedbsd/audit3/sys/dev/wpi/if_wpi.c#1 branch .. //depot/projects/trustedbsd/audit3/sys/dev/wpi/if_wpireg.h#1 branch .. //depot/projects/trustedbsd/audit3/sys/dev/wpi/if_wpivar.h#1 branch .. //depot/projects/trustedbsd/audit3/sys/i386/conf/NOTES#19 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/i386/machdep.c#23 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/i386/pmap.c#24 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/ibcs2/imgact_coff.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/i386/linux/imgact_linux.c#5 integrate .. //depot/projects/trustedbsd/audit3/sys/ia64/ia64/machdep.c#16 integrate .. //depot/projects/trustedbsd/audit3/sys/ia64/ia64/pmap.c#16 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/imgact_aout.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/imgact_elf.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/imgact_gzip.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_exec.c#22 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_fork.c#30 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_kse.c#14 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_proc.c#12 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_rmlock.c#1 branch .. //depot/projects/trustedbsd/audit3/sys/kern/kern_sig.c#24 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_thr.c#18 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/kern_thread.c#21 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/sched_4bsd.c#18 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/subr_lock.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/subr_pcpu.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/subr_smp.c#10 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/sys_process.c#17 integrate .. //depot/projects/trustedbsd/audit3/sys/kern/tty_pty.c#9 integrate .. //depot/projects/trustedbsd/audit3/sys/modules/Makefile#26 integrate .. //depot/projects/trustedbsd/audit3/sys/modules/asmc/Makefile#1 branch .. //depot/projects/trustedbsd/audit3/sys/modules/wpi/Makefile#1 branch .. //depot/projects/trustedbsd/audit3/sys/modules/wpifw/Makefile#1 branch .. //depot/projects/trustedbsd/audit3/sys/net/if_bridge.c#20 integrate .. //depot/projects/trustedbsd/audit3/sys/net/if_ethersubr.c#19 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/ip_dummynet.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/ip_dummynet.h#8 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/ip_fw_pfil.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctp_indata.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/netinet/sctputil.c#15 integrate .. //depot/projects/trustedbsd/audit3/sys/nfsserver/nfs.h#8 integrate .. //depot/projects/trustedbsd/audit3/sys/nfsserver/nfs_srvsubs.c#12 integrate .. //depot/projects/trustedbsd/audit3/sys/pc98/pc98/machdep.c#14 integrate .. //depot/projects/trustedbsd/audit3/sys/powerpc/powerpc/machdep.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/powerpc/powerpc/pmap_dispatch.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/sparc64/sparc64/machdep.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/sparc64/sparc64/pmap.c#17 integrate .. //depot/projects/trustedbsd/audit3/sys/sun4v/sun4v/machdep.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/sun4v/sun4v/pmap.c#6 integrate .. //depot/projects/trustedbsd/audit3/sys/sys/_rmlock.h#1 branch .. //depot/projects/trustedbsd/audit3/sys/sys/lock.h#8 integrate .. //depot/projects/trustedbsd/audit3/sys/sys/pcpu.h#8 integrate .. //depot/projects/trustedbsd/audit3/sys/sys/proc.h#29 integrate .. //depot/projects/trustedbsd/audit3/sys/sys/rmlock.h#1 branch .. //depot/projects/trustedbsd/audit3/sys/sys/signalvar.h#7 integrate .. //depot/projects/trustedbsd/audit3/sys/sys/smp.h#5 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ffs/ffs_alloc.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ffs/ffs_balloc.c#4 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ffs/ffs_inode.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ffs/ffs_snapshot.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ffs/ffs_softdep.c#15 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ffs/ffs_vnops.c#14 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ufs/ufs_bmap.c#7 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ufs/ufs_lookup.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/ufs/ufs/ufs_vnops.c#15 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/pmap.h#8 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/vm_extern.h#6 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/vm_glue.c#13 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/vm_kern.c#8 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/vm_map.c#17 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/vm_map.h#7 integrate .. //depot/projects/trustedbsd/audit3/sys/vm/vm_page.c#25 integrate .. //depot/projects/trustedbsd/audit3/tools/build/options/makeman#4 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/du/du.c#7 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/fstat/Makefile#3 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/fstat/fstat.c#8 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/fstat/fstat.h#3 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/fstat/zfs/Makefile#1 branch .. //depot/projects/trustedbsd/audit3/usr.bin/fstat/zfs/zfs.c#1 branch .. //depot/projects/trustedbsd/audit3/usr.bin/killall/killall.1#4 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/killall/killall.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/mail/aux.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/mail/cmd1.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/mail/lex.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/mail/list.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/mail/main.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/mklocale/ldef.h#3 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/passwd/passwd.1#6 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/sed/main.c#7 integrate .. //depot/projects/trustedbsd/audit3/usr.bin/tftp/tftp.1#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/bluetooth/sdpcontrol/search.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/bootparamd/bootparamd/bootparamd.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/bootparamd/bootparamd/main.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/bootparamd/callbootd/callbootd.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/cron/cron/cron.c#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/cron/cron/cron.h#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/cron/cron/database.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/cron/cron/do_command.c#7 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/cron/cron/externs.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/cron/crontab/crontab.c#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/cron/lib/entry.c#6 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/crunch/crunchide/crunchide.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/faithd/faithd.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/faithd/faithd.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/faithd/ftp.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/faithd/prefix.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/faithd/prefix.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/faithd/tcp.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/freebsd-update/freebsd-update.sh#7 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/ip6addrctl/ip6addrctl.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/keyserv/keyserv.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/keyserv/keyserv.h#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/keyserv/setkey.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/lpr/lpd/lpd.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/ndp/ndp.c#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pccard/pccardc/enabler.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pciconf/pciconf.8#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/add/add.h#6 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/add/main.c#12 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/add/perform.c#6 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/add/pkg_add.1#8 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/create/main.c#8 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/delete/main.c#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/info/main.c#6 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/lib/lib.h#10 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/sign/extern.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/sign/gzip.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/sign/pgp.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/sign/stand.h#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/updating/Makefile#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/updating/main.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/updating/pathnames.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/version/main.c#6 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pkg_install/version/version.h#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/auth.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/cbcp.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/ccp.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/chap.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/chap.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/chap_ms.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/chap_ms.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/demand.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/eui64.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/fsm.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/fsm.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/ipcp.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/ipcp.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/ipv6cp.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/ipv6cp.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/ipxcp.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/lcp.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/lcp.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/magic.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/magic.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/main.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/options.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/pppd.h#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/sys-bsd.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/upap.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppd/upap.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/pppstats/pppstats.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rip6query/rip6query.c#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/route6d/route6d.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpc.lockd/lockd.c#6 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpc.statd/statd.c#6 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/check_bound.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/pmap_svc.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/rpcb_svc.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/rpcb_svc_4.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/rpcb_svc_com.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/rpcbind.c#7 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/rpcbind.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/util.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rpcbind/warmstart.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rrenumd/lexer.l#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rrenumd/parser.y#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rrenumd/rrenumd.c#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/advcap.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/advcap.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/config.c#5 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/config.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/dump.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/dump.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/if.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/if.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/rrenum.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/rtadvd.c#4 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/rtadvd.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/timer.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtadvd/timer.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtsold/dump.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtsold/if.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtsold/probe.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtsold/rtsock.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtsold/rtsol.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtsold/rtsold.c#3 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/rtsold/rtsold.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/sysinstall/dist.c#10 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/sysinstall/dist.h#6 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/sysinstall/menus.c#14 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/timed/timed/correct.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/timed/timed/extern.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/timed/timed/master.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/timed/timed/networkdelta.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/timed/timed/slave.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/timed/timedc/extern.h#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/timed/timedc/timedc.c#2 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/traceroute6/traceroute6.c#7 integrate .. //depot/projects/trustedbsd/audit3/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#6 integrate Differences ... ==== //depot/projects/trustedbsd/audit3/ObsoleteFiles.inc#23 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.116 2007/10/30 11:37:37 bushman Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.117 2007/11/08 17:43:13 imp 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,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20071108: Removed very crunch OLDCARD support file +OLD_FILES+=etc/defaults/pccard.conf # 20071025: rc.d/nfslocking superceeded by rc.d/lockd and rc.d/statd OLD_FILES+=etc/rc.d/nfslocking # 20070930: rename of cached to nscd ==== //depot/projects/trustedbsd/audit3/bin/ps/ps.c#6 (text+ko) ==== @@ -47,7 +47,7 @@ #endif #include -__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.112 2007/10/26 08:00:40 julian Exp $"); +__FBSDID("$FreeBSD: src/bin/ps/ps.c,v 1.113 2007/11/08 22:31:28 jhb Exp $"); #include #include @@ -74,6 +74,8 @@ #include "ps.h" +#define _PATH_PTS "/dev/pts/" + #define W_SEP " \t" /* "Whitespace" list separators */ #define T_SEP "," /* "Terminate-element" list separators */ @@ -706,9 +708,9 @@ /*- * The user can specify a device via one of three formats: - * 1) fully qualified, e.g.: /dev/ttyp0 /dev/console - * 2) missing "/dev", e.g.: ttyp0 console - * 3) two-letters, e.g.: p0 co + * 1) fully qualified, e.g.: /dev/ttyp0 /dev/console /dev/pts/0 + * 2) missing "/dev", e.g.: ttyp0 console pts/0 + * 3) two-letters, e.g.: p0 co 0 * (matching letters that would be seen in the "TT" column) */ static int @@ -716,10 +718,11 @@ { const char *ttypath; struct stat sb; - char pathbuf[PATH_MAX], pathbuf2[PATH_MAX]; + char pathbuf[PATH_MAX], pathbuf2[PATH_MAX], pathbuf3[PATH_MAX]; ttypath = NULL; pathbuf2[0] = '\0'; + pathbuf3[0] = '\0'; switch (*elem) { case '/': ttypath = elem; @@ -736,6 +739,8 @@ ttypath = pathbuf; if (strncmp(pathbuf, _PATH_TTY, strlen(_PATH_TTY)) == 0) break; + if (strncmp(pathbuf, _PATH_PTS, strlen(_PATH_PTS)) == 0) + break; if (strcmp(pathbuf, _PATH_CONSOLE) == 0) break; /* Check to see if /dev/tty${elem} exists */ @@ -746,21 +751,30 @@ ttypath = NULL; break; } + /* Check to see if /dev/pts/${elem} exists */ + strlcpy(pathbuf3, _PATH_PTS, sizeof(pathbuf3)); + strlcat(pathbuf3, elem, sizeof(pathbuf3)); + if (stat(pathbuf3, &sb) == 0 && S_ISCHR(sb.st_mode)) { + /* No need to repeat stat() && S_ISCHR() checks */ + ttypath = NULL; + break; + } break; } if (ttypath) { if (stat(ttypath, &sb) == -1) { - if (pathbuf2[0] != '\0') - warn("%s and %s", pathbuf2, ttypath); + if (pathbuf3[0] != '\0') + warn("%s, %s, and %s", pathbuf3, pathbuf2, + ttypath); else warn("%s", ttypath); optfatal = 1; return (0); } if (!S_ISCHR(sb.st_mode)) { - if (pathbuf2[0] != '\0') - warnx("%s and %s: Not a terminal", pathbuf2, - ttypath); + if (pathbuf3[0] != '\0') + warnx("%s, %s, and %s: Not a terminal", + pathbuf3, pathbuf2, ttypath); else warnx("%s: Not a terminal", ttypath); optfatal = 1; ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/FREEBSD-upgrade#6 (text+ko) ==== @@ -1,7 +1,8 @@ -# $FreeBSD: src/contrib/libreadline/FREEBSD-upgrade,v 1.10 2007/04/12 14:45:25 ache Exp $ +# $FreeBSD: src/contrib/libreadline/FREEBSD-upgrade,v 1.11 2007/11/07 04:44:11 ache Exp $ # # Official patch 001 imported as v5_2_p1 # Official patch 002 imported as v5_2_p2 +# Official patches 003-007 imported as v5_2_p3_p7 # rm doc/*.dvi doc/*.html doc/*.ps doc/*.0 doc/*.info doc/*.tex doc/texi2* doc/*.pdf ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/complete.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/complete.c,v 1.13 2006/12/31 09:22:31 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/complete.c,v 1.14 2007/11/07 04:42:20 ache Exp $ */ /* complete.c -- filename completion for readline. */ /* Copyright (C) 1987-2005 Free Software Foundation, Inc. @@ -429,7 +429,7 @@ return (1); if (c == 'n' || c == 'N' || c == RUBOUT) return (0); - if (c == ABORT_CHAR) + if (c == ABORT_CHAR || c < 0) _rl_abort_internal (); if (for_pager && (c == NEWLINE || c == RETURN)) return (2); ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/display.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/display.c,v 1.13 2007/04/12 14:45:25 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/display.c,v 1.14 2007/11/07 04:42:20 ache Exp $ */ /* display.c -- readline redisplay facility. */ /* Copyright (C) 1987-2006 Free Software Foundation, Inc. @@ -1519,11 +1519,31 @@ { /* Non-zero if we're increasing the number of lines. */ int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin; + /* If col_lendiff is > 0, implying that the new string takes up more + screen real estate than the old, but lendiff is < 0, meaning that it + takes fewer bytes, we need to just output the characters starting + from the first difference. These will overwrite what is on the + display, so there's no reason to do a smart update. This can really + only happen in a multibyte environment. */ + if (lendiff < 0) + { + _rl_output_some_chars (nfd, temp); + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + /* If nfd begins before any invisible characters in the prompt, + adjust _rl_last_c_pos to account for wrap_offset and set + cpos_adjusted to let the caller know. */ + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + return; + } /* Sometimes it is cheaper to print the characters rather than use the terminal's capabilities. If we're growing the number of lines, make sure we actually cause the new line to wrap around on auto-wrapping terminals. */ - if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) + else if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) { /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and _rl_horizontal_scroll_mode == 1, inserting the characters with @@ -1599,8 +1619,22 @@ temp = nls - nfd; if (temp > 0) { + /* If nfd begins at the prompt, or before the invisible + characters in the prompt, we need to adjust _rl_last_c_pos + in a multibyte locale to account for the wrap offset and + set cpos_adjusted accordingly. */ _rl_output_some_chars (nfd, temp); - _rl_last_c_pos += _rl_col_width (nfd, 0, temp);; + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + _rl_last_c_pos += _rl_col_width (nfd, 0, temp); + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + } + else + _rl_last_c_pos += temp; } } /* Otherwise, print over the existing material. */ @@ -1608,8 +1642,20 @@ { if (temp > 0) { + /* If nfd begins at the prompt, or before the invisible + characters in the prompt, we need to adjust _rl_last_c_pos + in a multibyte locale to account for the wrap offset and + set cpos_adjusted accordingly. */ _rl_output_some_chars (nfd, temp); _rl_last_c_pos += col_temp; /* XXX */ + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) + { + _rl_last_c_pos -= wrap_offset; + cpos_adjusted = 1; + } + } } lendiff = (oe - old) - (ne - new); if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) @@ -1745,7 +1791,10 @@ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) { dpos = _rl_col_width (data, 0, new); - if (dpos > prompt_last_invisible) /* XXX - don't use woff here */ + /* Use NEW when comparing against the last invisible character in the + prompt string, since they're both buffer indices and DPOS is a + desired display position. */ + if (new > prompt_last_invisible) /* XXX - don't use woff here */ { dpos -= woff; /* Since this will be assigned to _rl_last_c_pos at the end (more ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/input.c#5 (text+ko) ==== @@ -133,8 +133,11 @@ return (0); *key = ibuffer[pop_index++]; - +#if 0 if (pop_index >= ibuffer_len) +#else + if (pop_index > ibuffer_len) +#endif pop_index = 0; return (1); @@ -250,7 +253,8 @@ while (chars_avail--) { k = (*rl_getc_function) (rl_instream); - rl_stuff_char (k); + if (rl_stuff_char (k) == 0) + break; /* some problem; no more room */ if (k == NEWLINE || k == RETURN) break; } @@ -373,7 +377,11 @@ RL_SETSTATE (RL_STATE_INPUTPENDING); } ibuffer[push_index++] = key; +#if 0 if (push_index >= ibuffer_len) +#else + if (push_index > ibuffer_len) +#endif push_index = 0; return 1; @@ -513,20 +521,26 @@ char *mbchar; int size; { - int mb_len = 0; + int mb_len, c; size_t mbchar_bytes_length; wchar_t wc; mbstate_t ps, ps_back; memset(&ps, 0, sizeof (mbstate_t)); memset(&ps_back, 0, sizeof (mbstate_t)); - + + mb_len = 0; while (mb_len < size) { RL_SETSTATE(RL_STATE_MOREINPUT); - mbchar[mb_len++] = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + break; + + mbchar[mb_len++] = c; + mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps); if (mbchar_bytes_length == (size_t)(-1)) break; /* invalid byte sequence for the current locale */ @@ -564,7 +578,7 @@ c = first; memset (mb, 0, mlen); - for (i = 0; i < mlen; i++) + for (i = 0; c >= 0 && i < mlen; i++) { mb[i] = (char)c; memset (&ps, 0, sizeof (mbstate_t)); ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/isearch.c#4 (text+ko) ==== @@ -327,8 +327,15 @@ rl_command_func_t *f; f = (rl_command_func_t *)NULL; - - /* Translate the keys we do something with to opcodes. */ + + if (c < 0) + { + cxt->sflags |= SF_FAILED; + cxt->history_pos = cxt->last_found_line; + return -1; + } + + /* Translate the keys we do something with to opcodes. */ if (c >= 0 && _rl_keymap[c].type == ISFUNC) { f = _rl_keymap[c].function; ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/misc.c#5 (text+ko) ==== @@ -146,6 +146,8 @@ rl_restore_prompt (); rl_clear_message (); RL_UNSETSTATE(RL_STATE_NUMERICARG); + if (key < 0) + return -1; return (_rl_dispatch (key, _rl_keymap)); } } ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/readline.c#5 (text+ko) ==== @@ -645,6 +645,11 @@ if ((cxt->flags & KSEQ_DISPATCHED) == 0) { nkey = _rl_subseq_getchar (cxt->okey); + if (nkey < 0) + { + _rl_abort_internal (); + return -1; + } r = _rl_dispatch_subseq (nkey, cxt->dmap, cxt->subseq_arg); cxt->flags |= KSEQ_DISPATCHED; } ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/text.c#5 (text+ko) ==== @@ -857,6 +857,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + #if defined (HANDLE_SIGNALS) if (RL_ISSTATE (RL_STATE_CALLBACK) == 0) _rl_restore_tty_signals (); @@ -1520,6 +1523,9 @@ mb_len = _rl_read_mbchar (mbchar, MB_LEN_MAX); + if (mb_len <= 0) + return -1; + if (count < 0) return (_rl_char_search_internal (-count, bdir, mbchar, mb_len)); else @@ -1536,6 +1542,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + if (count < 0) return (_rl_char_search_internal (-count, bdir, c)); else ==== //depot/projects/trustedbsd/audit3/contrib/libreadline/vi_mode.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/libreadline/vi_mode.c,v 1.6 2006/12/31 09:22:31 ache Exp $ */ +/* $FreeBSD: src/contrib/libreadline/vi_mode.c,v 1.7 2007/11/07 04:42:20 ache Exp $ */ /* vi_mode.c -- A vi emulation mode for Bash. Derived from code written by Jeff Sparkes (jsparkes@bnr.ca). */ @@ -887,6 +887,13 @@ RL_SETSTATE(RL_STATE_MOREINPUT); c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + + if (c < 0) + { + *nextkey = 0; + return -1; + } + *nextkey = c; if (!member (c, vi_motion)) @@ -903,6 +910,11 @@ RL_SETSTATE(RL_STATE_MOREINPUT); c = rl_read_key (); /* real command */ RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + { + *nextkey = 0; + return -1; + } *nextkey = c; } else if (key == c && (key == 'd' || key == 'y' || key == 'c')) @@ -1225,14 +1237,22 @@ _rl_vi_callback_char_search (data) _rl_callback_generic_arg *data; { + int c; #if defined (HANDLE_MULTIBYTE) - _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + c = _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); #else RL_SETSTATE(RL_STATE_MOREINPUT); - _rl_vi_last_search_char = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); #endif + if (c <= 0) + return -1; + +#if !defined (HANDLE_MULTIBYTE) + _rl_vi_last_search_char = c; +#endif + _rl_callback_func = 0; _rl_want_redisplay = 1; @@ -1248,6 +1268,7 @@ rl_vi_char_search (count, key) int count, key; { + int c; #if defined (HANDLE_MULTIBYTE) static char *target; static int tlen; @@ -1294,11 +1315,17 @@ else { #if defined (HANDLE_MULTIBYTE) - _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + c = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + if (c <= 0) + return -1; + _rl_vi_last_search_mblen = c; #else RL_SETSTATE(RL_STATE_MOREINPUT); - _rl_vi_last_search_char = rl_read_key (); + c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + _rl_vi_last_search_char = c; #endif } } @@ -1468,6 +1495,9 @@ c = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + #if defined (HANDLE_MULTIBYTE) if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) c = _rl_read_mbstring (c, mb, mlen); @@ -1486,6 +1516,9 @@ _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); + if (c < 0) + return -1; + _rl_callback_func = 0; _rl_want_redisplay = 1; @@ -1517,6 +1550,9 @@ else _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); + if (c < 0) + return -1; + return (_rl_vi_change_char (count, c, mb)); } @@ -1651,7 +1687,7 @@ ch = rl_read_key (); RL_UNSETSTATE(RL_STATE_MOREINPUT); - if (ch < 'a' || ch > 'z') + if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ { rl_ding (); return -1; @@ -1703,7 +1739,7 @@ rl_point = rl_mark; return 0; } - else if (ch < 'a' || ch > 'z') + else if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ { rl_ding (); return -1; ==== //depot/projects/trustedbsd/audit3/contrib/sendmail/CACerts#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $Id: CACerts,v 8.1 2004/03/01 22:05:47 ca Exp $ +# $Id: CACerts,v 8.3 2007/06/11 22:04:46 ca Exp $ # This file contains some CA certificates that are used to sign the # certificates of mail servers of members of the sendmail consortium # who may reply to questions etc sent to sendmail.org. @@ -78,73 +78,6 @@ Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, ST=California, L=Emeryville, O=gshapiro.net, CN=Certificate Authority/emailAddress=certificates@gshapiro.net - Validity - Not Before: Jan 1 04:39:54 2002 GMT - Not After : Dec 31 04:39:54 2006 GMT - Subject: C=US, ST=California, L=Emeryville, O=gshapiro.net, CN=Certificate Authority/emailAddress=certificates@gshapiro.net - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public Key: (1024 bit) - Modulus (1024 bit): - 00:aa:dd:a2:fe:3b:fa:2f:5c:3d:f1:e1:d4:1d:55: - 04:27:6b:01:62:00:d7:02:cb:74:47:69:84:d7:c6: - c5:71:55:79:35:3a:a8:ce:de:48:23:53:80:3c:cd: - 54:2e:e9:fe:b1:76:5a:be:cb:fd:2d:dc:a3:36:c5: - c7:1e:4e:ef:76:f0:55:8f:a0:a5:f8:07:c5:52:1d: - a2:42:81:4d:8a:c8:42:3f:f3:01:80:f9:46:35:a6: - bc:c0:9b:9f:33:8b:49:9b:1d:87:8f:19:48:15:21: - 23:57:df:6e:4d:03:ed:ae:9f:0b:91:b7:a9:47:66: - f1:0d:1b:1c:5d:b4:57:60:c7 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - A0:6D:E0:06:AF:61:94:B4:C6:84:15:B4:8B:74:22:67:4A:43:60:CA - X509v3 Authority Key Identifier: - keyid:A0:6D:E0:06:AF:61:94:B4:C6:84:15:B4:8B:74:22:67:4A:43:60:CA - DirName:/C=US/ST=California/L=Emeryville/O=gshapiro.net/CN=Certificate Authority/emailAddress=certificates@gshapiro.net - serial:00 - - X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: md5WithRSAEncryption - 87:27:d2:2a:3a:dc:04:cd:ef:e8:7b:1c:34:47:2e:13:34:a5: - 08:f9:4d:df:d8:e1:6d:e6:9a:db:38:ee:20:6d:4a:ae:6f:1e: - bc:71:61:a4:b4:d6:40:24:ee:65:ca:e9:81:5a:ef:ee:62:57: - 70:05:46:91:6b:d0:c6:a6:e9:38:65:ae:ea:50:b3:5c:27:c4: - 7a:bd:95:8c:cb:45:ef:fc:fc:99:e5:6a:61:c3:44:77:d8:1f: - d6:b4:17:44:15:9a:bc:26:5b:ec:4e:29:5d:fd:cf:61:f3:be: - 91:a4:3b:51:e6:73:5b:17:82:9d:5a:56:2c:63:c2:f1:d6:a2: - 4c:5a ------BEGIN CERTIFICATE----- -MIIDoTCCAwqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCVVMx -EzARBgNVBAgTCkNhbGlmb3JuaWExEzARBgNVBAcTCkVtZXJ5dmlsbGUxFTATBgNV -BAoTDGdzaGFwaXJvLm5ldDEeMBwGA1UEAxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5 -MSgwJgYJKoZIhvcNAQkBFhljZXJ0aWZpY2F0ZXNAZ3NoYXBpcm8ubmV0MB4XDTAy -MDEwMTA0Mzk1NFoXDTA2MTIzMTA0Mzk1NFowgZgxCzAJBgNVBAYTAlVTMRMwEQYD -VQQIEwpDYWxpZm9ybmlhMRMwEQYDVQQHEwpFbWVyeXZpbGxlMRUwEwYDVQQKEwxn -c2hhcGlyby5uZXQxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0eTEoMCYG -CSqGSIb3DQEJARYZY2VydGlmaWNhdGVzQGdzaGFwaXJvLm5ldDCBnzANBgkqhkiG -9w0BAQEFAAOBjQAwgYkCgYEAqt2i/jv6L1w98eHUHVUEJ2sBYgDXAst0R2mE18bF -cVV5NTqozt5II1OAPM1ULun+sXZavsv9LdyjNsXHHk7vdvBVj6Cl+AfFUh2iQoFN -ishCP/MBgPlGNaa8wJufM4tJmx2HjxlIFSEjV99uTQPtrp8LkbepR2bxDRscXbRX -YMcCAwEAAaOB+DCB9TAdBgNVHQ4EFgQUoG3gBq9hlLTGhBW0i3QiZ0pDYMowgcUG -A1UdIwSBvTCBuoAUoG3gBq9hlLTGhBW0i3QiZ0pDYMqhgZ6kgZswgZgxCzAJBgNV -BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRMwEQYDVQQHEwpFbWVyeXZpbGxl -MRUwEwYDVQQKEwxnc2hhcGlyby5uZXQxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1 -dGhvcml0eTEoMCYGCSqGSIb3DQEJARYZY2VydGlmaWNhdGVzQGdzaGFwaXJvLm5l -dIIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAIcn0io63ATN7+h7 -HDRHLhM0pQj5Td/Y4W3mmts47iBtSq5vHrxxYaS01kAk7mXK6YFa7+5iV3AFRpFr -0Mam6ThlrupQs1wnxHq9lYzLRe/8/JnlamHDRHfYH9a0F0QVmrwmW+xOKV39z2Hz -vpGkO1Hmc1sXgp1aVixjwvHWokxa ------END CERTIFICATE----- - - -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: md5WithRSAEncryption Issuer: C=US, ST=Illinois, L=De Kalb, O=Northern Illinois University, OU=Computer Science, CN=Neil Rickert/emailAddress=rickert@cs.niu.edu Validity Not Before: May 12 00:40:50 2000 GMT @@ -210,93 +143,94 @@ Certificate: Data: Version: 3 (0x2) - Serial Number: 0 (0x0) + Serial Number: + fa:7c:2c:80:29:3f:c2:64 Signature Algorithm: md5WithRSAEncryption - Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2003/emailAddress=ca+ca-rsa2003@esmtp.org + Issuer: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2007/emailAddress=ca+ca-rsa2007@esmtp.org Validity - Not Before: Aug 7 15:56:45 2003 GMT - Not After : Aug 6 15:56:45 2006 GMT - Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2003/emailAddress=ca+ca-rsa2003@esmtp.org + Not Before: May 4 02:07:56 2007 GMT + Not After : May 3 02:07:56 2010 GMT + Subject: C=US, ST=California, L=Berkeley, O=Endmail Org, OU=MTA, CN=Claus Assmann CA RSA 2007/emailAddress=ca+ca-rsa2007@esmtp.org Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): - 00:aa:37:0f:09:a9:1c:e3:1a:0c:fe:bd:6c:37:a4: - cf:87:db:af:6b:b4:19:d4:11:db:c6:56:ca:39:80: - c6:a4:38:b0:bc:ac:7e:be:71:30:86:2c:dc:fa:b5: - fd:58:23:a0:c1:ad:11:53:85:ca:fb:e6:d8:7e:28: - eb:84:3b:cd:a3:fa:28:a5:cb:c7:b2:54:99:3e:40: - 2a:27:43:4b:0c:26:4b:af:97:3d:92:82:d9:eb:2c: - 7f:77:fd:b8:cd:7e:1e:04:81:17:3c:e2:44:68:ce: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 10 15:41:00 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A16316A46C; Sat, 10 Nov 2007 15:41:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE8DF16A468 for ; Sat, 10 Nov 2007 15:40:59 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B3D3C13C4AC for ; Sat, 10 Nov 2007 15:40:59 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAAFexh9064941 for ; Sat, 10 Nov 2007 15:40:59 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAAFeSd9063789 for perforce@freebsd.org; Sat, 10 Nov 2007 15:40:28 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sat, 10 Nov 2007 15:40:28 GMT Message-Id: <200711101540.lAAFeSd9063789@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 128897 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, 10 Nov 2007 15:41:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=128897 Change 128897 by rpaulo@rpaulo_alpha on 2007/11/10 15:40:27 IFC Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/genassym.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/legacy.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/local_apic.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/msi.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/nexus.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/pmap.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/DEFAULTS#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/GENERIC#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/NOTES#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/include/clock.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/include/legacyvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/include/pc/bios.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/include/smp.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/include/vmparam.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/isa/clock.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/linux32/linux.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/linux32/linux32_proto.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/linux32/linux32_syscall.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/linux32/linux32_sysent.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/linux32/syscalls.master#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/pci/pci_bus.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/bcopy_page.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/bcopyinout.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc_asm_arm11.S#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc_asm_armv5.S#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc_asm_armv5_ec.S#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/identcpu.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/in_cksum_arm.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/locore.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/pmap.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/support.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/swtch.S#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/vm_machdep.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/at91_mci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/at91_mcireg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/at91_pmc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/at91rm92reg.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/if_ate.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/kb920x_machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/ohci_atmelarm.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/std.at91#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/std.kb920x#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/uart_cpu_at91rm9200usart.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/conf/AVILA#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/conf/CRB#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/armreg.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/asm.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/asmacros.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/cpuconf.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/cpufunc.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/vmparam.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/ep80219_machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/files.crb#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342reg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/iq81342_7seg.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/iq81342reg.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/iq81342var.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/files.ixp425#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/if_npe.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/ixp425_npe.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/ixp425_npevar.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/ixp425_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/ixp425/ixp425_qmgr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/arm/at91/boot2/boot2.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/arm/at91/libat91/eeprom.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/arm/at91/libat91/emac.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/common/loader.8#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/common/module.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/common/ufsread.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/ficl/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/forth/loader.conf#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/Makefile#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/gptboot/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/gptboot/gptboot.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/gptboot/gptldr.S#1 branch .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/libi386/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/libi386/bioscd.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/libi386/biosmem.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/libi386/biossmap.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/libi386/devicename.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/libi386/pxe.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/loader/main.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/pmbr/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/boot/i386/pmbr/pmbr.s#1 branch .. //depot/projects/soc2007/rpaulo-macbook/boot/pc98/Makefile.inc#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/pc98/libpc98/bioscd.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/boot/pc98/loader/main.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/bsm/audit.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/cam/cam_xpt.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/cam/scsi/scsi_all.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/ia32/ia32_sysvec.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linprocfs/linprocfs.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_file.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_misc.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_stats.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/ndis/subr_ntoskrnl.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/kern/opensolaris_vfs.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/sys/kcondvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/sys/mutex.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/sys/proc.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/sys/rwlock.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/pecoff/imgact_pecoff.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/svr4/imgact_svr4.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/svr4/svr4_fcntl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/svr4/svr4_misc.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#18 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files#23 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.amd64#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.arm#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.i386#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.ia64#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.pc98#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.powerpc#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.sun4v#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/newvers.sh#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options#15 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options.arm#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/dev/acpica/evmisc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/dev/acpica/evxface.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/dev/npe/IxNpeMicrocode.dat.uu#1 branch .. //depot/projects/soc2007/rpaulo-macbook/contrib/dev/npe/LICENSE#1 branch .. //depot/projects/soc2007/rpaulo-macbook/contrib/dev/wpi/LICENSE#1 branch .. //depot/projects/soc2007/rpaulo-macbook/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu#1 branch .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/fil.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_auth.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_compat.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_fil.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_fil_freebsd.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_frag.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_htable.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_log.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_lookup.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_lookup.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_nat.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_nat.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_pool.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_pool.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_proxy.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_rpcb_pxy.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_scan.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_state.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_state.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ip_sync.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/ipl.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/mlfk_ipl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/OPENSOLARIS.LICENSE#1 branch .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zvol.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/sys/vfs.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_if.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_ioctl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/pf_table.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ddb/db_examine.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ddb/db_ps.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/aac/aac.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/aac/aac_cam.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/aac/aac_pci.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpi_support/acpi_ibm.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_battery.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_cpu.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_hpet.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_pcib_acpi.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpivar.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/aic7xxx/aic_osm_lib.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-all.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-chipset.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-pci.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ata/atapi-cd.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/ath_rate/sample/sample.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/if_ath.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/if_ath_pci.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/bge/if_bge.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/bktr/msp34xx.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cardbus/cardbus.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ciss/ciss.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cm/smc90cx6.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/coretemp/coretemp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ctau/if_ct.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cx/if_cx.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/fdc/fdc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/firewire.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/flash/at45d.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/gem/if_gem.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/gem/if_gem_pci.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/gem/if_gemreg.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/gem/if_gemvar.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/hptmv/entry.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/idt/idt_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipmi/ipmi_kcs.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipmi/ipmi_smic.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipmi/ipmi_ssif.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipw/if_ipw.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipw/if_ipwreg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipw/if_ipwvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/isc_sm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_freebsd.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_sbus.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_target.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/iwi/if_iwi.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/md/md.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mfi/mfi_cam.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/e1000phy.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/e1000phyreg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/gentbi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/miidevs#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/rgephy.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/rgephyreg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mmc/mmcsd.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mpt/mpt.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mpt/mpt.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mpt/mpt_cam.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mpt/mpt_pci.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mpt/mpt_raid.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mxge/if_mxge.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mxge/if_mxge_var.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/my/if_my.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nvram/nvram.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/if_nxge.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/if_nxge.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/build-version.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/version.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-debug.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-defs.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-list.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-os-pal.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-os-template.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xge-queue.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-channel.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-config.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-device.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-driver.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-event.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-fifo.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-mgmt.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-mgmtaux.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-mm.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-regs.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-ring.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-stats.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal-types.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/include/xgehal.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xge-osdep.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xge-queue.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-channel-fp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-channel.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-config.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-device-fp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-device.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-driver.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-fifo-fp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-fifo.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-mgmt.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-mgmtaux.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-mm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-ring-fp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-ring.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgehal/xgehal-stats.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nxge/xgell-version.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pccard/pccard_cis_quirks.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pccard/pccarddevs#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pccbb/pccbb.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pccbb/pccbb_pci.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pccbb/pccbbvar.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci_pci.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci_private.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci_user.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pcib_private.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pcireg.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pcivar.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/puc/puc_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2560.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2661.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/random/harvest.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/random/randomdev_soft.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/safe/safe.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sio/sio.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/isa/ad1816.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/isa/ad1816.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/atiixp.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/emu10kx.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/envy24.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/envy24ht.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/hda/hdac.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/t4dwave.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/ac97.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/ac97_patch.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/sbus/cs4231.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/syscons/syscons.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/syscons/syscons.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_cl_init.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_cl_intr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_cl_io.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_cl_misc.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_cl_share.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_osl.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_osl_cam.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_osl_freebsd.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/twa/tw_osl_share.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ehci_pci.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axe.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axereg.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_rum.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_ural.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_zyd.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_zydfw.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_zydreg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uchcom.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uipaq.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_port.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#22 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uscanner.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/utopia/utopia.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/wi/if_wi.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/wpi/if_wpi.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/wpi/if_wpireg.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/wpi/if_wpivar.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/fs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/coda/coda_vfsops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/devfs/devfs_devs.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/devfs/devfs_vnops.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/fdescfs/fdesc_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/hpfs/hpfs_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/denode.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_denode.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_fat.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_lookup.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_vfsops.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_vnops.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/nullfs/null_subr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/nullfs/null_vfsops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/nullfs/null_vnops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/nwfs/nwfs_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/portalfs/portal_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/procfs/procfs_status.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/pseudofs/pseudofs.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/pseudofs/pseudofs_vnops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vfsops.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/unionfs/union.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/unionfs/union_subr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/unionfs/union_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/unionfs/union_vnops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/bde/g_bde.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/bde/g_bde_work.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/eli/g_eli.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/geom_event.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/geom_io.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/journal/g_journal.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/mirror/g_mirror.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/multipath/g_multipath.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/part/g_part.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/part/g_part.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/part/g_part_apm.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/part/g_part_gpt.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/raid3/g_raid3.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/vinum/geom_vinum_drive.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/vinum/geom_vinum_init.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/vinum/geom_vinum_plex.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/vinum/geom_vinum_volume.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/virstor/binstream.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/geom/virstor/binstream.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/geom/virstor/g_virstor.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/geom/virstor/g_virstor.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/geom/virstor/g_virstor_md.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/geom/virstor/g_virstor_md.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/gnu/fs/reiserfs/reiserfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/gnu/fs/xfs/FreeBSD/xfs_vfs.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/bios/apm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/DEFAULTS#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/GENERIC#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/NOTES#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/PAE#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/genassym.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/geode.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/in_cksum.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/legacy.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/machdep.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/msi.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/pmap.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/ibcs2/ibcs2_misc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/ibcs2/imgact_coff.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/bootinfo.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/clock.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/in_cksum.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/legacyvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/pc/bios.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/smp.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/vmparam.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/isa/clock.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/linux/imgact_linux.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/linux/linux.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/linux/linux_proto.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/linux/linux_ptrace.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/linux/linux_syscall.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/linux/linux_sysent.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/linux/syscalls.master#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/pci/pci_bus.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/layer1/isic/i4b_avm_a1.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/layer1/isic/i4b_elsa_pcc16.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/layer1/isic/i4b_isic.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/layer1/isic/i4b_itk_ix1.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/layer1/isic/i4b_tel_s016.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/layer1/isic/i4b_tel_s0163.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i4b/layer1/isic/i4b_tel_s08.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/disasm/disasm.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/db_machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/exception.S#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/machdep.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/pmap.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/support.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/uma_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/include/vmparam.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/imgact_aout.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/imgact_elf.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/imgact_gzip.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/init_main.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_acct.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_alq.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_clock.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_cpu.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_environment.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_exec.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_exit.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_fork.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_idle.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_intr.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_jail.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_kse.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_kthread.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_ktrace.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_linker.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_mbuf.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_proc.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_prot.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_rmlock.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_shutdown.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_sig.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_switch.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_sx.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_synch.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_sysctl.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_thr.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_thread.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_timeout.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/link_elf.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/link_elf_obj.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/p1003_1b.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sched_4bsd.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sched_ule.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_kdb.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_lock.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_param.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_pcpu.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_sleepqueue.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_smp.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_taskqueue.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_trap.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_witness.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sys_pipe.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sys_process.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sys_socket.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/syscalls.master#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sysv_msg.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sysv_sem.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sysv_shm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/tty_pty.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_mbuf.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_mbuf2.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_sem.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_sockbuf.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_socket.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_syscalls.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_usrreq.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_acl.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_aio.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_bio.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_cache.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_extattr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_lookup.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_mount.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_subr.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_syscalls.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_vnops.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/libkern/arm/ffs.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/Makefile#16 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/geom/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/geom/geom_virstor/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/modules/nvram/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/modules/nxge/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/uchcom/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/modules/wpi/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/modules/wpifw/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net/bpf.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/bpf.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/bpf_filter.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/bsd_comp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/ethernet.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_atmsubr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_bridge.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_bridgevar.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_disc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_ethersubr.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_fddisubr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_fwsubr.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_gif.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_iso88025subr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.c#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.h#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_loop.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_media.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_ppp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_stf.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_tun.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_vlan.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/route.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/_ieee80211.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_freebsd.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_freebsd.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_ht.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_input.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_ioctl.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_ioctl.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_node.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_node.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_output.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_power.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_proto.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_proto.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_regdomain.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan_ap.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan_sta.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_var.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netatalk/aarp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netatalk/ddp_input.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netatalk/ddp_output.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/netgraph.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_base.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_l2tp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_ppp.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_socket.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/accf_data.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/accf_http.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/if_ether.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/igmp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_cksum.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_gif.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_pcb.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_proto.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_rmx.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_carp.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_divert.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_dummynet.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_dummynet.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_ecn.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_encap.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_fw2.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_gre.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_icmp.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_id.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_input.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_ipsec.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_mroute.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_options.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_output.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/raw_ip.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp.h#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_asconf.c#13 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_asconf.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_bsd_addr.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_constants.h#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_indata.c#16 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_input.c#18 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_lock_bsd.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_os_bsd.h#13 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.c#18 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.c#18 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.h#13 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_structs.h#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_sysctl.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_sysctl.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_timer.c#13 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_timer.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_uio.h#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_usrreq.c#17 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_var.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.c#18 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.h#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_debug.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_hostcache.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_input.c#14 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_output.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_reass.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_subr.c#15 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_syncache.c#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_timer.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_timer.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_timewait.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_usrreq.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_var.h#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/udp_usrreq.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/nd6.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/sctp6_usrreq.c#16 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/sctp6_var.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_usrreq.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netsmb/smb_iod.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_bio.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_nfsiod.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfsmount.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_serv.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_srvsock.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_srvsubs.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_syscalls.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/opencrypto/crypto.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/opencrypto/cryptodev.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pc98/cbus/sio.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pc98/conf/GENERIC#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/pc98/pc98/machdep.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_ali.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_amd.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_amd64.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_ati.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_i810.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_intel.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_nvidia.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_sis.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agp_via.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/agppriv.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/if_vr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/if_wb.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/if_xl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/intpm.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/conf/NOTES#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/vmparam.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powermac/grackle.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powermac/uninorth.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/machdep.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/pmap_dispatch.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/swtch.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/uma_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/vm_machdep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_bsm.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_bsm_klib.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_pipe.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_syscalls.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_worker.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_atalk.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_audit.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_framework.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_inet.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_inet6.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_internal.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_net.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_pipe.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_policy.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_posix_sem.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_process.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_socket.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_syscalls.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_system.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_sysv_msg.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_sysv_sem.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_sysv_shm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_vfs.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_biba/mac_biba.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_bsdextended/mac_bsdextended.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_ifoff/mac_ifoff.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_lomac/mac_lomac.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_mls/mac_mls.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_none/mac_none.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_partition/mac_partition.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_portacl/mac_portacl.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_seeotheruids/mac_seeotheruids.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_stub/mac_stub.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_test/mac_test.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/conf/GENERIC#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/include/vmparam.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/isa/isa.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/pci/apb.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/pci/ofw_pcibus.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/pci/psycho.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/elf_machdep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/genassym.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/machdep.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/pmap.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/vm_machdep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/include/vmparam.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/sun4v/hv_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/sun4v/machdep.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/sun4v/pmap.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/sun4v/simdisk.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/sun4v/vm_machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/_rmlock.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/sys/apm.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/ata.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/callout.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/gpt.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/kthread.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/linker.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/lock.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/lock_profile.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/mbuf.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/param.h#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/pciio.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/pcpu.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/priv.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/proc.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/rmlock.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/sys/signalvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/smp.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/socket.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/sysctl.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/systm.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/user.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/vmmeter.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/vnode.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_alloc.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_balloc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_inode.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_snapshot.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_vnops.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ufs/ufs_bmap.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ufs/ufs_lookup.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ufs/ufs_vnops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/phys_pager.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/pmap.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/swap_pager.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/uma_core.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_contig.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_extern.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_fault.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_glue.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_kern.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_map.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_map.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_mmap.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_object.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_object.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_page.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_page.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_pageout.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_pageq.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_param.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_phys.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_phys.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_zeroidle.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vnode_pager.c#5 integrate Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/genassym.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.163 2007/06/06 07:35:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.165 2007/09/17 21:55:28 peter Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -74,7 +74,6 @@ ASSYM(P_VMSPACE, offsetof(struct proc, p_vmspace)); ASSYM(VM_PMAP, offsetof(struct vmspace, vm_pmap)); ASSYM(PM_ACTIVE, offsetof(struct pmap, pm_active)); -ASSYM(P_SFLAG, offsetof(struct proc, p_sflag)); ASSYM(TD_LOCK, offsetof(struct thread, td_lock)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); @@ -181,6 +180,7 @@ ASSYM(ENOENT, ENOENT); ASSYM(EFAULT, EFAULT); ASSYM(ENAMETOOLONG, ENAMETOOLONG); +ASSYM(MAXCPU, MAXCPU); ASSYM(MAXCOMLEN, MAXCOMLEN); ASSYM(MAXPATHLEN, MAXPATHLEN); ASSYM(PC_SIZEOF, sizeof(struct pcpu)); ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/legacy.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/legacy.c,v 1.60 2007/03/20 20:21:44 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/legacy.c,v 1.61 2007/09/30 11:05:13 marius Exp $"); /* * This code implements a system driver for legacy systems that do not @@ -207,6 +207,9 @@ struct legacy_device *atdev = DEVTOAT(child); switch (which) { + case LEGACY_IVAR_PCIDOMAIN: + *result = 0; + break; case LEGACY_IVAR_PCIBUS: *result = atdev->lg_pcibus; break; @@ -223,6 +226,8 @@ struct legacy_device *atdev = DEVTOAT(child); switch (which) { + case LEGACY_IVAR_PCIDOMAIN: + return EINVAL; case LEGACY_IVAR_PCIBUS: atdev->lg_pcibus = value; break; ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/local_apic.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.42 2007/09/11 22:54:08 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.43 2007/10/27 13:34:53 jhb Exp $"); #include "opt_hwpmc_hooks.h" @@ -1007,10 +1007,6 @@ struct apic_enumerator *enumerator; int retval, best; - /* We only support built in local APICs. */ - if (!(cpu_feature & CPUID_APIC)) - return; - /* Don't probe if APIC mode is disabled. */ if (resource_disabled("apic", 0)) return; ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/machdep.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.675 2007/06/06 07:35:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.677 2007/11/05 11:36:09 kib Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -881,7 +881,7 @@ printf("SMAP type=%02x base=%016lx len=%016lx\n", smap->type, smap->base, smap->length); - if (smap->type != 0x01) + if (smap->type != SMAP_TYPE_MEMORY) continue; if (smap->length == 0) @@ -1137,7 +1137,7 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/msi.c#4 (text+ko) ==== @@ -1,6 +1,7 @@ /*- - * Copyright (c) 2006 John Baldwin + * Copyright (c) 2006 Yahoo!, Inc. * All rights reserved. + * Written by: John Baldwin * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -34,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.6 2007/05/08 21:29:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.7 2007/10/24 21:16:22 jhb Exp $"); #include #include ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/nexus.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.77 2007/05/08 21:29:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.78 2007/10/28 21:23:48 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -587,7 +587,7 @@ rid = 0; for (smap = smapbase; smap < smapend; smap++) { - if (smap->type != 0x01 || smap->length == 0) + if (smap->type != SMAP_TYPE_MEMORY || smap->length == 0) continue; error = bus_set_resource(dev, SYS_RES_MEMORY, rid, smap->base, smap->length); ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/pmap.c#9 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.590 2007/08/21 04:59:33 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.593 2007/11/05 18:13:33 alc Exp $"); /* * Manages physical address maps. @@ -743,6 +743,22 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 10 15:44:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C678F16A481; Sat, 10 Nov 2007 15:44:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A8FA16A473 for ; Sat, 10 Nov 2007 15:44:03 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7173113C4BD for ; Sat, 10 Nov 2007 15:44:03 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAAFi3Qh065218 for ; Sat, 10 Nov 2007 15:44:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAAFi31E065208 for perforce@freebsd.org; Sat, 10 Nov 2007 15:44:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 10 Nov 2007 15:44:03 GMT Message-Id: <200711101544.lAAFi31E065208@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128899 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, 10 Nov 2007 15:44:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=128899 Change 128899 by rwatson@rwatson_cinnamon on 2007/11/10 15:43:12 Allow bpfnull to build on systems without zero-copy definitions, but then necessarily without zero-copy support. Affected files ... .. //depot/projects/zcopybpf/utils/bpfnull/bpfnull.c#19 edit Differences ... ==== //depot/projects/zcopybpf/utils/bpfnull/bpfnull.c#19 (text+ko) ==== @@ -75,6 +75,20 @@ static u_char *bufa, *bufb; static unsigned long packet_count; +#ifndef BPF_BUFMODE_ZBUF +/* + * bpfnull uses certain constructs that depend on zero-copy definitions being + * present in bpf.h even when running in normal buffer mode. If the system + * doesn't have these constructs, define them locally. + */ +struct bpf_zbuf { + void *bz_bufa; + void *bz_bufb; + size_t bz_buflen; +}; +#warning "BPF_BUFMODE_ZBUF not present, building without zero-copy support" +#endif + static int handle_int(int sig __unused) { @@ -189,7 +203,9 @@ (void) fprintf(stderr, "select wakeup\n"); if (n != 0 && !FD_ISSET(fd, &r_set) && vflag) printf("No timeout and fd is not ready!\n"); +#ifdef BPF_BUFMODE_ZBUF if (zflag == 0) { +#endif c = rdtsc(); n = read(fd, pbuf, bflag); d = rdtsc(); @@ -203,6 +219,7 @@ bpf_process_packets(&bz, "W"); a = rdtsc(); sum += a - b; +#ifdef BPF_BUFMODE_ZBUF } else { bzha = (struct bpf_zbuf_header *)bufa; bzhb = (struct bpf_zbuf_header *)bufb; @@ -242,6 +259,7 @@ bzhb->bzh_user_gen++; } } +#endif f = rdtsc(); ssum += f - e; } @@ -273,6 +291,7 @@ exit(0); } +#ifdef BPF_BUFMODE_ZBUF static int bpf_zbuf_init(int fd, struct bpf_zbuf *bz) { @@ -301,15 +320,18 @@ "DEBUG: bufa=%p bufb=%p\n", bufa, bufb); return (0); } +#endif static int bpf_rbuf_init(int fd) { int v, bmode; +#ifdef BPF_BUFMODE_ZBUF bmode = BPF_BUFMODE_BUFFER; if (ioctl(fd, BIOCGETBUFMODE, &bmode) < 0) err(1, "ioctl(BIOCGETBUFMODE)"); +#endif for (v = bflag; v != 0; v >>= 1) { (void) ioctl(fd, BIOCSBLEN, &v); if (ioctl(fd, BIOCSETIF, &ifr) == 0) @@ -364,9 +386,11 @@ case 'v': vflag++; break; +#ifdef BPF_BUFMODE_ZBUF case 'z': zflag++; break; +#endif default: usage(); } @@ -386,6 +410,7 @@ (void) fprintf(stderr, "DEBUG: obtained bpf fd=%d\n", in); bpf_init_dumpfile(); +#ifdef BPF_BUFMODE_ZBUF if (zflag) { if (vflag) (void) fprintf(stderr, @@ -395,11 +420,14 @@ if (ioctl(in, BIOCSETIF, &ifr) < 0) err(1, "ioctl(BIOCSETIF)"); } else { +#endif if (vflag) (void) fprintf(stderr, "DEBUG: bufmode=buffer\n"); bpf_rbuf_init(in); +#ifdef BPF_BUFMODE_ZBUF } +#endif if (Iflag) { if (vflag) (void) fprintf(stderr, From owner-p4-projects@FreeBSD.ORG Sat Nov 10 16:20:43 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D51F316A421; Sat, 10 Nov 2007 16:20:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72DB816A418 for ; Sat, 10 Nov 2007 16:20:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 584AA13C481 for ; Sat, 10 Nov 2007 16:20:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAAGKf2d068472 for ; Sat, 10 Nov 2007 16:20:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAAGKfbN068469 for perforce@freebsd.org; Sat, 10 Nov 2007 16:20:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 10 Nov 2007 16:20:41 GMT Message-Id: <200711101620.lAAGKfbN068469@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128901 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, 10 Nov 2007 16:20:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=128901 Change 128901 by rwatson@rwatson_cinnamon on 2007/11/10 16:19:53 Make 'fd' global so that it is available in signal handlers; when exiting bpfnull, also query the BPF descriptor for statistics and print them as well. Affected files ... .. //depot/projects/zcopybpf/utils/bpfnull/bpfnull.c#20 edit Differences ... ==== //depot/projects/zcopybpf/utils/bpfnull/bpfnull.c#20 (text+ko) ==== @@ -60,6 +60,7 @@ static struct ifreq ifr; static pcap_dumper_t *dp; static pcap_t *p; +static int bpffd = -1; static char *fflag = "-"; static unsigned long cflag; static int Iflag; @@ -92,6 +93,7 @@ static int handle_int(int sig __unused) { + struct bpf_stat bs; putchar('\n'); printf("%lu cycles spent processing packets\n", sum); @@ -99,6 +101,13 @@ printf("%lu cycles spent not sleeping\n", ssum); printf("%lu cycles spent before buffer reclaims\n", psum); printf("%lu packets processed\n", packet_count); + + if (ioctl(bpffd, BIOCGSTATS, &bs) < 0) + err(-1, "BIOCGSTATS"); + + printf("%u packets received (BPF)\n", bs.bs_recv); + printf("%u packets dropped (BPF)\n", bs.bs_drop); + exit(0); } @@ -173,7 +182,7 @@ } static void -bpf_wait_for_fullbuf(int fd) +bpf_wait_for_fullbuf(void) { fd_set s_set, r_set; struct bpf_zbuf bz; @@ -190,10 +199,10 @@ err(1, "malloc"); tv.tv_sec = 1; tv.tv_usec = 0; - FD_SET(fd, &s_set); + FD_SET(bpffd, &s_set); for (;;) { r_set = s_set; - n = select(fd + 1, &r_set, NULL, NULL, &tv); + n = select(bpffd + 1, &r_set, NULL, NULL, &tv); e = rdtsc(); if (n < 0) { fprintf(stderr,"owned by select\n"); @@ -201,13 +210,13 @@ } if (vflag) (void) fprintf(stderr, "select wakeup\n"); - if (n != 0 && !FD_ISSET(fd, &r_set) && vflag) + if (n != 0 && !FD_ISSET(bpffd, &r_set) && vflag) printf("No timeout and fd is not ready!\n"); #ifdef BPF_BUFMODE_ZBUF if (zflag == 0) { #endif c = rdtsc(); - n = read(fd, pbuf, bflag); + n = read(bpffd, pbuf, bflag); d = rdtsc(); if (n < 0) err(1, "read failed"); @@ -225,7 +234,7 @@ bzhb = (struct bpf_zbuf_header *)bufb; if (n == 0) { c = rdtsc(); - if (ioctl(fd, BIOCROTZBUF, &bz) < 0) + if (ioctl(bpffd, BIOCROTZBUF, &bz) < 0) err(1, "ioctl"); d = rdtsc(); rsum += d - c; @@ -293,7 +302,7 @@ #ifdef BPF_BUFMODE_ZBUF static int -bpf_zbuf_init(int fd, struct bpf_zbuf *bz) +bpf_zbuf_init(struct bpf_zbuf *bz) { int bmode; @@ -311,9 +320,9 @@ bz->bz_bufa = bufa; bz->bz_bufb = bufb; bmode = BPF_BUFMODE_ZBUF; - if (ioctl(fd, BIOCSETBUFMODE, &bmode) < 0) + if (ioctl(bpffd, BIOCSETBUFMODE, &bmode) < 0) err(1, "ioctl(BIOCGETBUFMODE)"); - if (ioctl(fd, BIOCSETZBUF, bz) < 0) + if (ioctl(bpffd, BIOCSETZBUF, bz) < 0) err(1, "ioctl(BIOCSETZBUF)"); if (vflag) (void) fprintf(stderr, @@ -323,21 +332,21 @@ #endif static int -bpf_rbuf_init(int fd) +bpf_rbuf_init(void) { int v, bmode; #ifdef BPF_BUFMODE_ZBUF bmode = BPF_BUFMODE_BUFFER; - if (ioctl(fd, BIOCGETBUFMODE, &bmode) < 0) + if (ioctl(bpffd, BIOCGETBUFMODE, &bmode) < 0) err(1, "ioctl(BIOCGETBUFMODE)"); #endif for (v = bflag; v != 0; v >>= 1) { - (void) ioctl(fd, BIOCSBLEN, &v); - if (ioctl(fd, BIOCSETIF, &ifr) == 0) + (void) ioctl(bpffd, BIOCSBLEN, &v); + if (ioctl(bpffd, BIOCSETIF, &ifr) == 0) break; } - if (ioctl(fd, BIOCFLUSH, NULL) < 0) + if (ioctl(bpffd, BIOCFLUSH, NULL) < 0) err(1, "ioctl(BIOCFLUSH)"); return (0); } @@ -345,7 +354,7 @@ int main(int argc, char *argv[]) { - int opt, in; + int opt; struct bpf_zbuf bz; char ch; @@ -401,14 +410,14 @@ } bzero(&ifr, sizeof(ifr)); strlcpy(ifr.ifr_name, iflag, sizeof(ifr.ifr_name)); - in = bpf_open(); - if (in == -1) { + bpffd = bpf_open(); + if (bpffd == -1) { (void) fprintf(stderr, "bpfnull: no bpf device available\n"); exit(1); } if (vflag) (void) fprintf(stderr, - "DEBUG: obtained bpf fd=%d\n", in); + "DEBUG: obtained bpf fd=%d\n", bpffd); bpf_init_dumpfile(); #ifdef BPF_BUFMODE_ZBUF if (zflag) { @@ -416,15 +425,15 @@ (void) fprintf(stderr, "DEBUG: bufmode=zerocopy\n"); bzero(&bz, sizeof(bz)); - bpf_zbuf_init(in, &bz); - if (ioctl(in, BIOCSETIF, &ifr) < 0) + bpf_zbuf_init(bpffd, &bz); + if (ioctl(bpffd, BIOCSETIF, &ifr) < 0) err(1, "ioctl(BIOCSETIF)"); } else { #endif if (vflag) (void) fprintf(stderr, "DEBUG: bufmode=buffer\n"); - bpf_rbuf_init(in); + bpf_rbuf_init(); #ifdef BPF_BUFMODE_ZBUF } #endif @@ -433,7 +442,7 @@ (void) fprintf(stderr, "DEBUG: setting BIOCIMMEDIATE\n"); opt = 1; - if (ioctl(in, BIOCIMMEDIATE, &opt) < 0) + if (ioctl(bpffd, BIOCIMMEDIATE, &opt) < 0) err(1, "BIOCIMMEDIATE"); } if (Pflag) { @@ -441,12 +450,12 @@ (void) fprintf(stderr, "DEBUG: putting card into promiscuous " "mode\n"); - if (ioctl(in, BIOCPROMISC, NULL) < 0) + if (ioctl(bpffd, BIOCPROMISC, NULL) < 0) err(1, "BIOCPROMISC"); } if (vflag) (void) fprintf(stderr, "DEBUG: attaching to %s\n", iflag); - bpf_wait_for_fullbuf(in); + bpf_wait_for_fullbuf(); return (0); } From owner-p4-projects@FreeBSD.ORG Sat Nov 10 16:24:46 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C839B16A41B; Sat, 10 Nov 2007 16:24:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 824D816A417 for ; Sat, 10 Nov 2007 16:24:46 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6A10413C4A3 for ; Sat, 10 Nov 2007 16:24:46 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAAGOk61068690 for ; Sat, 10 Nov 2007 16:24:46 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAAGOkUI068687 for perforce@freebsd.org; Sat, 10 Nov 2007 16:24:46 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 10 Nov 2007 16:24:46 GMT Message-Id: <200711101624.lAAGOkUI068687@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128902 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, 10 Nov 2007 16:24:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=128902 Change 128902 by rwatson@rwatson_cinnamon on 2007/11/10 16:24:42 Update one more past use of the bpf fd to use the global variable bpffd instead. Affected files ... .. //depot/projects/zcopybpf/utils/bpfnull/bpfnull.c#21 edit Differences ... ==== //depot/projects/zcopybpf/utils/bpfnull/bpfnull.c#21 (text+ko) ==== @@ -425,7 +425,7 @@ (void) fprintf(stderr, "DEBUG: bufmode=zerocopy\n"); bzero(&bz, sizeof(bz)); - bpf_zbuf_init(bpffd, &bz); + bpf_zbuf_init(&bz); if (ioctl(bpffd, BIOCSETIF, &ifr) < 0) err(1, "ioctl(BIOCSETIF)"); } else { From owner-p4-projects@FreeBSD.ORG Sat Nov 10 16:33:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D57016A46B; Sat, 10 Nov 2007 16:33:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A265316A417 for ; Sat, 10 Nov 2007 16:33:58 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8703F13C481 for ; Sat, 10 Nov 2007 16:33:58 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAAGXwLh069193 for ; Sat, 10 Nov 2007 16:33:58 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAAGXu1O069146 for perforce@freebsd.org; Sat, 10 Nov 2007 16:33:56 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 10 Nov 2007 16:33:56 GMT Message-Id: <200711101633.lAAGXu1O069146@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128904 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, 10 Nov 2007 16:33:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=128904 Change 128904 by rwatson@rwatson_noisy on 2007/11/10 16:33:04 Integrate zcopybpf branch. Affected files ... .. //depot/projects/zcopybpf/src/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/zcopybpf/src/sys/amd64/amd64/pmap.c#9 integrate .. //depot/projects/zcopybpf/src/sys/amd64/conf/NOTES#7 integrate .. //depot/projects/zcopybpf/src/sys/arm/arm/cpufunc.c#5 integrate .. //depot/projects/zcopybpf/src/sys/arm/arm/pmap.c#7 integrate .. //depot/projects/zcopybpf/src/sys/arm/at91/kb920x_machdep.c#6 integrate .. //depot/projects/zcopybpf/src/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/zcopybpf/src/sys/arm/xscale/i80321/ep80219_machdep.c#4 integrate .. //depot/projects/zcopybpf/src/sys/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/zcopybpf/src/sys/arm/xscale/i8134x/crb_machdep.c#3 integrate .. //depot/projects/zcopybpf/src/sys/arm/xscale/ixp425/avila_machdep.c#5 integrate .. //depot/projects/zcopybpf/src/sys/arm/xscale/ixp425/if_npe.c#4 integrate .. //depot/projects/zcopybpf/src/sys/boot/common/loader.8#4 integrate .. //depot/projects/zcopybpf/src/sys/compat/linux/linux_ioctl.c#3 integrate .. //depot/projects/zcopybpf/src/sys/compat/linux/linux_ioctl.h#3 integrate .. //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/kcondvar.h#2 integrate .. //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/mutex.h#4 integrate .. //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/rwlock.h#4 integrate .. //depot/projects/zcopybpf/src/sys/compat/pecoff/imgact_pecoff.c#3 integrate .. //depot/projects/zcopybpf/src/sys/compat/svr4/imgact_svr4.c#2 integrate .. //depot/projects/zcopybpf/src/sys/conf/NOTES#11 integrate .. //depot/projects/zcopybpf/src/sys/conf/files#13 integrate .. //depot/projects/zcopybpf/src/sys/conf/files.amd64#6 integrate .. //depot/projects/zcopybpf/src/sys/conf/files.i386#6 integrate .. //depot/projects/zcopybpf/src/sys/contrib/dev/wpi/LICENSE#1 branch .. //depot/projects/zcopybpf/src/sys/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu#1 branch .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#5 integrate .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 integrate .. //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/sys/vfs.h#2 delete .. //depot/projects/zcopybpf/src/sys/dev/acpica/acpi_ec.c#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/asmc/asmc.c#1 branch .. //depot/projects/zcopybpf/src/sys/dev/asmc/asmcvar.h#1 branch .. //depot/projects/zcopybpf/src/sys/dev/ciss/ciss.c#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/isp/isp_sbus.c#5 integrate .. //depot/projects/zcopybpf/src/sys/dev/md/md.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/mpt/mpt.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/ral/rt2560.c#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/ral/rt2661.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/safe/safe.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/sound/pci/atiixp.c#8 integrate .. //depot/projects/zcopybpf/src/sys/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/zcopybpf/src/sys/dev/sound/pci/t4dwave.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/if_axe.c#7 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/if_axereg.h#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/if_rum.c#4 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/if_ural.c#8 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/if_zyd.c#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/if_zydfw.h#2 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/if_zydreg.h#3 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/ukbd.c#6 integrate .. //depot/projects/zcopybpf/src/sys/dev/usb/usbdevs#11 integrate .. //depot/projects/zcopybpf/src/sys/dev/wpi/if_wpi.c#1 branch .. //depot/projects/zcopybpf/src/sys/dev/wpi/if_wpireg.h#1 branch .. //depot/projects/zcopybpf/src/sys/dev/wpi/if_wpivar.h#1 branch .. //depot/projects/zcopybpf/src/sys/i386/conf/NOTES#7 integrate .. //depot/projects/zcopybpf/src/sys/i386/conf/PAE#6 integrate .. //depot/projects/zcopybpf/src/sys/i386/i386/machdep.c#6 integrate .. //depot/projects/zcopybpf/src/sys/i386/i386/pmap.c#9 integrate .. //depot/projects/zcopybpf/src/sys/i386/ibcs2/imgact_coff.c#3 integrate .. //depot/projects/zcopybpf/src/sys/i386/linux/imgact_linux.c#3 integrate .. //depot/projects/zcopybpf/src/sys/ia64/ia64/machdep.c#5 integrate .. //depot/projects/zcopybpf/src/sys/ia64/ia64/pmap.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/imgact_aout.c#2 integrate .. //depot/projects/zcopybpf/src/sys/kern/imgact_elf.c#3 integrate .. //depot/projects/zcopybpf/src/sys/kern/imgact_gzip.c#2 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_exec.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_fork.c#8 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_kse.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_proc.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_rmlock.c#1 branch .. //depot/projects/zcopybpf/src/sys/kern/kern_sig.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_thr.c#4 integrate .. //depot/projects/zcopybpf/src/sys/kern/kern_thread.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/sched_4bsd.c#7 integrate .. //depot/projects/zcopybpf/src/sys/kern/subr_lock.c#6 integrate .. //depot/projects/zcopybpf/src/sys/kern/subr_pcpu.c#2 integrate .. //depot/projects/zcopybpf/src/sys/kern/subr_smp.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/sys_process.c#5 integrate .. //depot/projects/zcopybpf/src/sys/kern/tty_pty.c#3 integrate .. //depot/projects/zcopybpf/src/sys/modules/Makefile#11 integrate .. //depot/projects/zcopybpf/src/sys/modules/asmc/Makefile#1 branch .. //depot/projects/zcopybpf/src/sys/modules/wpi/Makefile#1 branch .. //depot/projects/zcopybpf/src/sys/modules/wpifw/Makefile#1 branch .. //depot/projects/zcopybpf/src/sys/net/if_bridge.c#8 integrate .. //depot/projects/zcopybpf/src/sys/net/if_bridgevar.h#4 integrate .. //depot/projects/zcopybpf/src/sys/net/if_ethersubr.c#10 integrate .. //depot/projects/zcopybpf/src/sys/net80211/ieee80211_ht.c#4 integrate .. //depot/projects/zcopybpf/src/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/zcopybpf/src/sys/netinet/ip_dummynet.c#6 integrate .. //depot/projects/zcopybpf/src/sys/netinet/ip_dummynet.h#3 integrate .. //depot/projects/zcopybpf/src/sys/netinet/ip_fw_pfil.c#3 integrate .. //depot/projects/zcopybpf/src/sys/netinet/sctp_indata.c#11 integrate .. //depot/projects/zcopybpf/src/sys/netinet/sctputil.c#11 integrate .. //depot/projects/zcopybpf/src/sys/nfsserver/nfs.h#3 integrate .. //depot/projects/zcopybpf/src/sys/nfsserver/nfs_srvsubs.c#4 integrate .. //depot/projects/zcopybpf/src/sys/pc98/pc98/machdep.c#5 integrate .. //depot/projects/zcopybpf/src/sys/powerpc/powerpc/machdep.c#4 integrate .. //depot/projects/zcopybpf/src/sys/powerpc/powerpc/pmap_dispatch.c#2 integrate .. //depot/projects/zcopybpf/src/sys/sparc64/sparc64/machdep.c#5 integrate .. //depot/projects/zcopybpf/src/sys/sparc64/sparc64/pmap.c#5 integrate .. //depot/projects/zcopybpf/src/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/zcopybpf/src/sys/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/zcopybpf/src/sys/sys/_rmlock.h#1 branch .. //depot/projects/zcopybpf/src/sys/sys/lock.h#4 integrate .. //depot/projects/zcopybpf/src/sys/sys/pcpu.h#4 integrate .. //depot/projects/zcopybpf/src/sys/sys/proc.h#9 integrate .. //depot/projects/zcopybpf/src/sys/sys/rmlock.h#1 branch .. //depot/projects/zcopybpf/src/sys/sys/signalvar.h#2 integrate .. //depot/projects/zcopybpf/src/sys/sys/smp.h#2 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_alloc.c#5 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_balloc.c#2 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_inode.c#3 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_snapshot.c#5 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_softdep.c#8 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ffs/ffs_vnops.c#6 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ufs/ufs_bmap.c#3 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ufs/ufs_lookup.c#3 integrate .. //depot/projects/zcopybpf/src/sys/ufs/ufs/ufs_vnops.c#6 integrate .. //depot/projects/zcopybpf/src/sys/vm/pmap.h#2 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_extern.h#2 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_glue.c#4 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_kern.c#4 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_map.c#8 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_map.h#3 integrate .. //depot/projects/zcopybpf/src/sys/vm/vm_page.c#8 integrate Differences ... ==== //depot/projects/zcopybpf/src/sys/amd64/amd64/machdep.c#6 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.676 2007/10/28 21:23:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.677 2007/11/05 11:36:09 kib Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1137,7 +1137,7 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/zcopybpf/src/sys/amd64/amd64/pmap.c#9 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.591 2007/11/03 05:15:25 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.593 2007/11/05 18:13:33 alc Exp $"); /* * Manages physical address maps. @@ -743,6 +743,22 @@ #ifdef SMP /* * For SMP, these functions have to use the IPI mechanism for coherence. + * + * N.B.: Before calling any of the following TLB invalidation functions, + * the calling processor must ensure that all stores updating a non- + * kernel page table are globally performed. Otherwise, another + * processor could cache an old, pre-update entry without being + * invalidated. This can happen one of two ways: (1) The pmap becomes + * active on another processor after its pm_active field is checked by + * one of the following functions but before a store updating the page + * table is globally performed. (2) The pmap becomes active on another + * processor before its pm_active field is checked but due to + * speculative loads one of the following functions stills reads the + * pmap as inactive on the other processor. + * + * The kernel page table is exempt because its pm_active field is + * immutable. The kernel page table is always active on every + * processor. */ void pmap_invalidate_page(pmap_t pmap, vm_offset_t va) @@ -1139,6 +1155,13 @@ } /* + * This is a release store so that the ordinary store unmapping + * the page table page is globally performed before TLB shoot- + * down is begun. + */ + atomic_subtract_rel_int(&cnt.v_wire_count, 1); + + /* * Do an invltlb to make the invalidated mapping * take effect immediately. */ @@ -1151,7 +1174,6 @@ m->right = *free; *free = m; - atomic_subtract_int(&cnt.v_wire_count, 1); return 1; } @@ -1186,7 +1208,7 @@ * Initialize a preallocated and zeroed pmap structure, * such as one in a vmspace structure. */ -void +int pmap_pinit(pmap_t pmap) { vm_page_t pml4pg; @@ -1216,6 +1238,8 @@ pmap->pm_active = 0; TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); + + return (1); } /* ==== //depot/projects/zcopybpf/src/sys/amd64/conf/NOTES#7 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.70 2007/10/29 22:19:08 peter Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.71 2007/11/08 22:09:37 benjsc Exp $ # # @@ -315,6 +315,7 @@ # 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 +# wpi: Intel 3945ABG Wireless LAN controller device ed options ED_3C503 @@ -326,6 +327,7 @@ device nve # nVidia nForce MCP on-board Ethernet Networking device ral device ural +device wpi device ath device ath_hal # Atheros HAL (includes binary component) ==== //depot/projects/zcopybpf/src/sys/arm/arm/cpufunc.c#5 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.20 2007/10/31 07:27:31 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.21 2007/11/08 13:19:08 cognet Exp $"); #include #include @@ -333,6 +333,11 @@ armv5_ec_idcache_wbinv_all, /* idcache_wbinv_all */ armv5_ec_idcache_wbinv_range, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + (void *)cpufunc_nullop, /* l2cache_wbinv_range */ + (void *)cpufunc_nullop, /* l2cache_inv_range */ + (void *)cpufunc_nullop, /* l2cache_wb_range */ + /* Other functions */ cpufunc_nullop, /* flush_prefetchbuf */ ==== //depot/projects/zcopybpf/src/sys/arm/arm/pmap.c#7 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.87 2007/10/16 20:40:04 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.88 2007/11/05 11:36:10 kib Exp $"); #include #include #include @@ -3813,7 +3813,7 @@ * such as one in a vmspace structure. */ -void +int pmap_pinit(pmap_t pmap) { PDEBUG(1, printf("pmap_pinit: pmap = %08x\n", (uint32_t) pmap)); @@ -3832,6 +3832,7 @@ pmap_enter(pmap, vector_page, PHYS_TO_VM_PAGE(systempage.pv_pa), VM_PROT_READ, 1); } + return (1); } ==== //depot/projects/zcopybpf/src/sys/arm/at91/kb920x_machdep.c#6 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.26 2007/10/25 22:43:17 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.27 2007/11/05 11:36:10 kib Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -449,7 +449,7 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/zcopybpf/src/sys/arm/sa11x0/assabet_machdep.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.21 2006/12/06 06:34:54 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.22 2007/11/05 11:36:10 kib Exp $"); #include "opt_md.h" @@ -422,7 +422,7 @@ /* Set stack for exception handlers */ - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/zcopybpf/src/sys/arm/xscale/i80321/ep80219_machdep.c#4 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.7 2007/05/23 13:20:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.8 2007/11/05 11:36:10 kib Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -426,7 +426,7 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/zcopybpf/src/sys/arm/xscale/i80321/iq31244_machdep.c#4 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.28 2007/05/23 13:20:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.29 2007/11/05 11:36:10 kib Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -424,7 +424,7 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/zcopybpf/src/sys/arm/xscale/i8134x/crb_machdep.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.2 2007/09/22 16:25:43 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i8134x/crb_machdep.c,v 1.3 2007/11/05 11:36:11 kib Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -409,7 +409,7 @@ #ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); #else - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); #endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) ==== //depot/projects/zcopybpf/src/sys/arm/xscale/ixp425/avila_machdep.c#5 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.5 2007/05/23 13:20:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_machdep.c,v 1.6 2007/11/05 11:36:11 kib Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -490,7 +490,7 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); - proc_linkup(&proc0, &thread0); + proc_linkup0(&proc0, &thread0); thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/zcopybpf/src/sys/arm/xscale/ixp425/if_npe.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.6 2007/05/24 16:31:22 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.7 2007/11/04 21:54:52 cognet Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -39,7 +39,6 @@ * in the Intel Access Library (IAL) and the OS-specific driver. * * XXX add vlan support - * XXX NPE-C port doesn't work yet */ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" ==== //depot/projects/zcopybpf/src/sys/boot/common/loader.8#4 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.93 2007/05/09 02:37:58 sepotvin Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.94 2007/11/08 11:59:38 ru Exp $ .\" -.Dd May 8, 2007 +.Dd November 8, 2007 .Dt LOADER 8 .Os .Sh NAME @@ -591,7 +591,8 @@ .It Va kern.maxbcache Limits the amount of KVM reserved for use by the buffer cache, specified in bytes. -The default maximum is 200MB. +The default maximum is 200MB on i386, +and 400MB on amd64, sparc64, and sun4v. This parameter is used to prevent the buffer cache from eating too much KVM in large-memory machine configurations. ==== //depot/projects/zcopybpf/src/sys/compat/linux/linux_ioctl.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.138 2007/04/07 19:40:58 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.139 2007/11/07 16:42:52 kib Exp $"); #include #include @@ -2323,6 +2323,7 @@ case LINUX_SIOCGIFCONF: case LINUX_SIOCGPGRP: case LINUX_SIOCSPGRP: + case LINUX_SIOCGIFCOUNT: /* these ioctls don't take an interface name */ #ifdef DEBUG printf("%s(): ioctl %d\n", __func__, @@ -2344,6 +2345,7 @@ case LINUX_SIOCSIFHWADDR: case LINUX_SIOCDEVPRIVATE: case LINUX_SIOCDEVPRIVATE+1: + case LINUX_SIOCGIFINDEX: /* copy in the interface name and translate it. */ error = copyin((void *)args->arg, lifname, LINUX_IFNAMSIZ); if (error != 0) @@ -2478,6 +2480,15 @@ error = ioctl(td, (struct ioctl_args *)args); break; + case LINUX_SIOCGIFINDEX: + args->cmd = SIOCGIFINDEX; + error = ioctl(td, (struct ioctl_args *)args); + break; + + case LINUX_SIOCGIFCOUNT: + error = 0; + break; + /* * XXX This is slightly bogus, but these ioctls are currently * XXX only used by the aironet (if_an) network driver. ==== //depot/projects/zcopybpf/src/sys/compat/linux/linux_ioctl.h#3 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/linux/linux_ioctl.h,v 1.26 2007/04/10 21:37:37 scottl Exp $ + * $FreeBSD: src/sys/compat/linux/linux_ioctl.h,v 1.27 2007/11/07 16:42:52 kib Exp $ */ #ifndef _LINUX_IOCTL_H_ @@ -230,9 +230,12 @@ #define LINUX_SIOCGIFHWADDR 0x8927 #define LINUX_SIOCADDMULTI 0x8931 #define LINUX_SIOCDELMULTI 0x8932 +#define LINUX_SIOCGIFINDEX 0x8933 +#define LINUX_SIOGIFINDEX LINUX_SIOCGIFINDEX +#define LINUX_SIOCGIFCOUNT 0x8938 #define LINUX_IOCTL_SOCKET_MIN LINUX_FIOSETOWN -#define LINUX_IOCTL_SOCKET_MAX LINUX_SIOCDELMULTI +#define LINUX_IOCTL_SOCKET_MAX LINUX_SIOCGIFCOUNT /* * Device private ioctl calls ==== //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/kcondvar.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/compat/opensolaris/sys/kcondvar.h,v 1.1 2007/04/06 01:09:06 pjd Exp $ + * $FreeBSD: src/sys/compat/opensolaris/sys/kcondvar.h,v 1.2 2007/11/05 18:40:55 pjd Exp $ */ #ifndef _OPENSOLARIS_SYS_CONDVAR_H_ @@ -45,8 +45,15 @@ } kcv_type_t; #define zfs_cv_init(cv, name, type, arg) do { \ + const char *_name; \ ASSERT((type) == CV_DEFAULT); \ - cv_init((cv), "zfs:" #cv); \ + for (_name = #cv; *_name != '\0'; _name++) { \ + if (*_name >= 'a' && *_name <= 'z') \ + break; \ + } \ + if (*_name == '\0') \ + _name = #cv; \ + cv_init((cv), _name); \ } while (0) #define cv_init(cv, name, type, arg) zfs_cv_init((cv), (name), (type), (arg)) ==== //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/mutex.h#4 (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/compat/opensolaris/sys/mutex.h,v 1.3 2007/05/26 21:37:14 pjd Exp $ + * $FreeBSD: src/sys/compat/opensolaris/sys/mutex.h,v 1.4 2007/11/05 18:40:55 pjd Exp $ */ #ifndef _OPENSOLARIS_SYS_MUTEX_H_ @@ -53,11 +53,18 @@ #endif #define mutex_init(lock, desc, type, arg) do { \ + const char *_name; \ ASSERT((type) == MUTEX_DEFAULT); \ KASSERT(((lock)->lock_object.lo_flags & LO_ALLMASK) != \ LO_EXPECTED, ("lock %s already initialized", #lock)); \ bzero((lock), sizeof(struct sx)); \ - sx_init_flags((lock), "zfs:" #lock, MUTEX_FLAGS); \ + for (_name = #lock; *_name != '\0'; _name++) { \ + if (*_name >= 'a' && *_name <= 'z') \ + break; \ + } \ + if (*_name == '\0') \ + _name = #lock; \ + sx_init_flags((lock), _name, MUTEX_FLAGS); \ } while (0) #define mutex_destroy(lock) sx_destroy(lock) #define mutex_enter(lock) sx_xlock(lock) ==== //depot/projects/zcopybpf/src/sys/compat/opensolaris/sys/rwlock.h#4 (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/compat/opensolaris/sys/rwlock.h,v 1.3 2007/05/26 21:37:14 pjd Exp $ + * $FreeBSD: src/sys/compat/opensolaris/sys/rwlock.h,v 1.4 2007/11/05 18:40:55 pjd Exp $ */ #ifndef _OPENSOLARIS_SYS_RWLOCK_H_ @@ -60,10 +60,17 @@ #define RW_ISWRITER(x) (rw_iswriter(x)) #define rw_init(lock, desc, type, arg) do { \ + const char *_name; \ KASSERT(((lock)->lock_object.lo_flags & LO_ALLMASK) != \ LO_EXPECTED, ("lock %s already initialized", #lock)); \ bzero((lock), sizeof(struct sx)); \ - sx_init_flags((lock), "zfs:" #lock, RW_FLAGS); \ + for (_name = #lock; *_name != '\0'; _name++) { \ + if (*_name >= 'a' && *_name <= 'z') \ + break; \ + } \ + if (*_name == '\0') \ + _name = #lock; \ + sx_init_flags((lock), _name, RW_FLAGS); \ } while (0) #define rw_destroy(lock) sx_destroy(lock) #define rw_enter(lock, how) do { \ ==== //depot/projects/zcopybpf/src/sys/compat/pecoff/imgact_pecoff.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/pecoff/imgact_pecoff.c,v 1.40 2007/07/05 07:38:17 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/pecoff/imgact_pecoff.c,v 1.41 2007/11/05 11:36:11 kib Exp $"); #include #include @@ -416,7 +416,11 @@ wp = (void *) ((char *) ap + sizeof(struct coff_aouthdr)); error = pecoff_read_from(FIRST_THREAD_IN_PROC(imgp->proc), imgp->vp, peofs + PECOFF_HDR_SIZE, (caddr_t) sh, scnsiz); - exec_new_vmspace(imgp, &pecoff_sysvec); + if (error) + return (error); + error = exec_new_vmspace(imgp, &pecoff_sysvec); + if (error) + return (error); vmspace = imgp->proc->p_vmspace; for (i = 0; i < fp->f_nscns; i++) { prot = VM_PROT_WRITE; /* XXX for relocation? */ ==== //depot/projects/zcopybpf/src/sys/compat/svr4/imgact_svr4.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/imgact_svr4.c,v 1.25 2005/04/01 20:00:10 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/imgact_svr4.c,v 1.26 2007/11/05 11:36:11 kib Exp $"); #include #include @@ -120,7 +120,9 @@ /* * Destroy old process VM and create a new one (with a new stack) */ - exec_new_vmspace(imgp, &svr4_sysvec); + error = exec_new_vmspace(imgp, &svr4_sysvec); + if (error) + goto fail; vmspace = imgp->proc->p_vmspace; /* ==== //depot/projects/zcopybpf/src/sys/conf/NOTES#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1454 2007/09/26 21:14:17 marius Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1455 2007/11/06 02:42:00 grog Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -604,7 +604,7 @@ # broken or changes with CPU throttling then you must also have the ALTQ_NOPCC # option. options ALTQ -options ALTQ_CBQ # Class Bases Queueing +options ALTQ_CBQ # Class Based Queueing options ALTQ_RED # Random Early Detection options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler ==== //depot/projects/zcopybpf/src/sys/conf/files#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1249 2007/10/28 15:55:20 rwatson Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1250 2007/11/08 14:47:54 ups Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1445,6 +1445,7 @@ kern/kern_proc.c standard kern/kern_prot.c standard kern/kern_resource.c standard +kern/kern_rmlock.c standard kern/kern_rwlock.c standard kern/kern_sema.c standard kern/kern_shutdown.c standard ==== //depot/projects/zcopybpf/src/sys/conf/files.amd64#6 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.111 2007/10/26 03:23:52 peter Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.113 2007/11/08 22:09:36 benjsc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -139,6 +139,7 @@ crypto/des/des_enc.c optional crypto | ipsec | netsmb dev/acpica/acpi_if.m standard dev/arcmsr/arcmsr.c optional arcmsr pci +dev/asmc/asmc.c optional asmc isa dev/atkbdc/atkbd.c optional atkbd atkbdc dev/atkbdc/atkbd_atkbdc.c optional atkbd atkbdc dev/atkbdc/atkbdc.c optional atkbdc @@ -200,6 +201,7 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_amd64.c optional uart +dev/wpi/if_wpi.c optional wpi isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/link_elf_obj.c standard ==== //depot/projects/zcopybpf/src/sys/conf/files.i386#6 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.584 2007/10/26 03:23:52 peter Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.586 2007/11/08 22:09:36 benjsc Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -148,6 +148,7 @@ dev/ar/if_ar_pci.c optional ar pci dev/arl/if_arl.c optional arl dev/arl/if_arl_isa.c optional arl isa +dev/asmc/asmc.c optional asmc isa dev/atkbdc/atkbd.c optional atkbd atkbdc dev/atkbdc/atkbd_atkbdc.c optional atkbd atkbdc dev/atkbdc/atkbdc.c optional atkbdc @@ -234,6 +235,7 @@ dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_i386.c optional uart dev/acpica/acpi_if.m standard +dev/wpi/if_wpi.c optional wpi i386/acpica/OsdEnvironment.c optional acpi i386/acpica/acpi_machdep.c optional acpi i386/acpica/acpi_wakeup.c optional acpi ==== //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#5 (text+ko) ==== @@ -2804,12 +2804,12 @@ if (((uint64_t)physmem * PAGESIZE) < (256 + 128 + 64) * (1 << 20)) { printf("ZFS WARNING: Recommended minimum RAM size is 512MB; " "expect unstable behavior.\n"); - } else if (kmem_size() < 256 * (1 << 20)) { - printf("ZFS WARNING: Recommended minimum kmem_size is 256MB; " + } else if (kmem_size() < 512 * (1 << 20)) { + printf("ZFS WARNING: Recommended minimum kmem_size is 512MB; " "expect unstable behavior.\n"); - printf(" Consider tuning vm.kmem_size or " - "vm.kmem_size_min\n"); - printf(" in /boot/loader.conf.\n"); + printf(" Consider tuning vm.kmem_size and " + "vm.kmem_size_max\n"); + printf(" in /boot/loader.conf.\n"); } #endif } ==== //depot/projects/zcopybpf/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 (text+ko) ==== @@ -1846,6 +1846,17 @@ vd->vdev_state = state; vd->vdev_stat.vs_aux = aux; + /* + * If we are setting the vdev state to anything but an open state, then + * always close the underlying device. Otherwise, we keep accessible + * but invalid devices open forever. We don't call vdev_close() itself, + * because that implies some extra checks (offline, etc) that we don't + * want here. This is limited to leaf devices, because otherwise + * closing the device will affect other children. + */ + if (vdev_is_dead(vd) && vd->vdev_ops->vdev_op_leaf) + vd->vdev_ops->vdev_op_close(vd); + if (state == VDEV_STATE_CANT_OPEN) { /* * If we fail to open a vdev during an import, we mark it as ==== //depot/projects/zcopybpf/src/sys/dev/acpica/acpi_ec.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.79 2007/10/25 20:02:38 takawata Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.80 2007/11/08 21:20:34 njl Exp $"); #include "opt_acpi.h" #include @@ -556,7 +556,6 @@ sc = device_get_softc(dev); sc->ec_suspending = TRUE; return (0); - } static int @@ -567,7 +566,6 @@ sc = device_get_softc(dev); sc->ec_suspending = FALSE; return (0); - } static int ==== //depot/projects/zcopybpf/src/sys/dev/ciss/ciss.c#7 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ciss/ciss.c,v 1.84 2007/10/20 23:23:14 julian Exp $ + * $FreeBSD: src/sys/dev/ciss/ciss.c,v 1.85 2007/11/05 13:54:23 iwasaki Exp $ */ /* @@ -183,6 +183,7 @@ /* periodic status monitoring */ static void ciss_periodic(void *arg); +static void ciss_nop_complete(struct ciss_request *cr); static void ciss_disable_adapter(struct ciss_softc *sc); static void ciss_notify_event(struct ciss_softc *sc); static void ciss_notify_complete(struct ciss_request *cr); @@ -3100,6 +3101,7 @@ */ if ((error = ciss_get_request(sc, &cr)) == 0) { cc = CISS_FIND_COMMAND(cr); + cr->cr_complete = ciss_nop_complete; cc->cdb.cdb_length = 1; cc->cdb.type = CISS_CDB_TYPE_MESSAGE; cc->cdb.attribute = CISS_CDB_ATTRIBUTE_SIMPLE; @@ -3107,11 +3109,9 @@ cc->cdb.timeout = 0; cc->cdb.cdb[0] = CISS_OPCODE_MESSAGE_NOP; - if ((error = ciss_synch_request(cr, 10 * 1000)) != 0) { + if ((error = ciss_start(cr)) != 0) { ciss_printf(sc, "SENDING NOP MESSAGE FAILED\n"); } - - ciss_release_request(cr); } /* @@ -3129,6 +3129,19 @@ callout_reset(&sc->ciss_periodic, CISS_HEARTBEAT_RATE * hz, ciss_periodic, sc); } +static void +ciss_nop_complete(struct ciss_request *cr) +{ + struct ciss_softc *sc; + + sc = cr->cr_sc; + if (ciss_report_request(cr, NULL, NULL) != 0) { + ciss_printf(sc, "SENDING NOP MESSAGE FAILED\n"); + } + + ciss_release_request(cr); +} + /************************************************************************ * Disable the adapter. * ==== //depot/projects/zcopybpf/src/sys/dev/isp/isp_sbus.c#5 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.35 2007/05/11 13:47:28 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.36 2007/11/05 11:22:18 scottl Exp $"); #include #include @@ -327,21 +327,26 @@ /* * Make sure we're in reset state. */ + ISP_LOCK(isp); isp_reset(isp); if (isp->isp_state != ISP_RESETSTATE) { isp_uninit(isp); + ISP_UNLOCK(isp); goto bad; } isp_init(isp); if (isp->isp_role != ISP_ROLE_NONE && isp->isp_state != ISP_INITSTATE) { isp_uninit(isp); + ISP_UNLOCK(isp); goto bad; } isp_attach(isp); if (isp->isp_role != ISP_ROLE_NONE && isp->isp_state != ISP_RUNSTATE) { isp_uninit(isp); + ISP_UNLOCK(isp); goto bad; } + ISP_UNLOCK(isp); return (0); bad: ==== //depot/projects/zcopybpf/src/sys/dev/md/md.c#4 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/dev/md/md.c,v 1.170 2007/10/20 23:23:16 julian Exp $ + * $FreeBSD: src/sys/dev/md/md.c,v 1.171 2007/11/07 22:47:41 sobomax Exp $ * */ @@ -60,6 +60,7 @@ #include #include #include +#include #include #include #include @@ -181,6 +182,7 @@ struct g_geom *gp; struct g_provider *pp; int (*start)(struct md_s *sc, struct bio *bp); + struct devstat *devstat; /* MD_MALLOC related fields */ struct indir *indir; @@ -392,6 +394,8 @@ struct md_s *sc; sc = bp->bio_to->geom->softc; + if ((bp->bio_cmd == BIO_READ) || (bp->bio_cmd == BIO_WRITE)) + devstat_start_transaction_bio(sc->devstat, bp); mtx_lock(&sc->queue_mtx); bioq_disksort(&sc->bio_queue, bp); mtx_unlock(&sc->queue_mtx); @@ -725,6 +729,8 @@ if (error != -1) { bp->bio_completed = bp->bio_length; g_io_deliver(bp, error); + if ((bp->bio_cmd == BIO_READ) || (bp->bio_cmd == BIO_WRITE)) + devstat_end_transaction_bio(sc->devstat, bp); } } } @@ -792,6 +798,8 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 10 20:21:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69E6C16A41A; Sat, 10 Nov 2007 20:21:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACE4716A417 for ; Sat, 10 Nov 2007 20:21:18 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7D2CD13C4CB for ; Sat, 10 Nov 2007 20:21:18 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAAKLIfo091876 for ; Sat, 10 Nov 2007 20:21:18 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAAKLHmn091873 for perforce@freebsd.org; Sat, 10 Nov 2007 20:21:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 10 Nov 2007 20:21:17 GMT Message-Id: <200711102021.lAAKLHmn091873@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128915 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, 10 Nov 2007 20:21:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=128915 Change 128915 by rwatson@rwatson_cinnamon on 2007/11/10 20:20:17 Add a basic man page for bpfnull so that I can remember what the flags are for. Affected files ... .. //depot/projects/zcopybpf/utils/bpfnull/Makefile#4 edit .. //depot/projects/zcopybpf/utils/bpfnull/bpfnull.1#1 add Differences ... ==== //depot/projects/zcopybpf/utils/bpfnull/Makefile#4 (text+ko) ==== @@ -2,6 +2,6 @@ SRCS= bpfnull.c DPADD= ${LIBPCAP} LDADD= -lpcap -NO_MAN= +MAN= bpfnull.1 .include From owner-p4-projects@FreeBSD.ORG Sat Nov 10 20:22:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C02D16A46B; Sat, 10 Nov 2007 20:22:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAE4B16A419 for ; Sat, 10 Nov 2007 20:22:19 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B490D13C49D for ; Sat, 10 Nov 2007 20:22:19 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id lAAKMJaE091965 for ; Sat, 10 Nov 2007 20:22:19 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lAAKMJb0091962 for perforce@freebsd.org; Sat, 10 Nov 2007 20:22:19 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 10 Nov 2007 20:22:19 GMT Message-Id: <200711102022.lAAKMJb0091962@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 128916 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, 10 Nov 2007 20:22:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=128916 Change 128916 by rwatson@rwatson_cinnamon on 2007/11/10 20:21:41 Update usage line. Affected files ... .. //depot/projects/zcopybpf/utils/bpfnull/bpfnull.c#22 edit Differences ... ==== //depot/projects/zcopybpf/utils/bpfnull/bpfnull.c#22 (text+ko) ==== @@ -296,7 +296,8 @@ usage() { - (void) fprintf(stderr, "usage: bpfnull [-h] -i if\n"); + (void) fprintf(stderr, "usage: bpfnull [-ipPTwvz] [-b bufsize] " + "[-c limit] [-f file] -i interface\n"); exit(0); } @@ -404,10 +405,8 @@ usage(); } } - if (iflag == NULL) { - (void) fprintf(stderr, "bpfnull: -i is required\n"); - exit(1); - } + if (iflag == NULL) + usage(); bzero(&ifr, sizeof(ifr)); strlcpy(ifr.ifr_name, iflag, sizeof(ifr.ifr_name)); bpffd = bpf_open();