From owner-p4-projects@FreeBSD.ORG Sun Mar 22 12:20:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C3B41106568A; Sun, 22 Mar 2009 12:20: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 83D8B1065687 for ; Sun, 22 Mar 2009 12:20:29 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 70B978FC1A for ; Sun, 22 Mar 2009 12:20:29 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MCKT6U016091 for ; Sun, 22 Mar 2009 12:20:29 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MCKT8b016089 for perforce@freebsd.org; Sun, 22 Mar 2009 12:20:29 GMT (envelope-from andre@freebsd.org) Date: Sun, 22 Mar 2009 12:20:29 GMT Message-Id: <200903221220.n2MCKT8b016089@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 159606 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 12:20:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=159606 Change 159606 by andre@andre_t61 on 2009/03/22 12:20:02 Checkpoint WIP. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_input.c#8 edit .. //depot/projects/tcp_new/netinet/tcp_output.c#5 edit .. //depot/projects/tcp_new/netinet/tcp_timer.c#2 edit .. //depot/projects/tcp_new/netinet/tcp_var.h#4 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_input.c#8 (text+ko) ==== @@ -1686,7 +1686,7 @@ ("%s: tlen < 0", __func__)); /* - * If new data is received on a connection after the + * <> * Stevens Vol.2: section 28.8, page 957, lines 687-696 * * NB: Segments without any data but ack'ing our FIN are @@ -1731,8 +1731,6 @@ /* * Update send SACK information and tell us how much more * data has left the network (relative to last SACK we got). - * XXXAO: Determine if there was a duplicate ACK going on - * based on the changes of the SACK information. */ if ((to.to_flags & TOF_SACK) || !TAILQ_EMPTY(&tp->snd_holes)) sacked = tcp_sack_doack(tp, &to, th->th_ack); @@ -1755,13 +1753,20 @@ tcp_do_time(tp, th, &to, acked, tlen, sacked); /* + * Process the ACK to advance the unacknowledged pointer, + * or to detect duplicate ACKs. + */ + tcp_do_ack(tp, th, tiwin, acked, tlen, sacked); + + /* * Update congestion control information. */ - nudgeoutput |= tcp_congest(tp, th, tiwin, acked, tlen, sacked); + tcp_cc_ack(tp, th, tiwin, acked, tlen, sacked); + KASSERT(tp->snd_cwnd > tp->snd_mss, + ("%s: cwnd < 1*mss after congestion control function", __func__)); /* - * Drop acknowledged data from send socket buffer - * and advance the unacknowledged pointer. + * Drop acknowledged data from send socket buffer. * RFC793: section 3.9, page 72, fifth check */ if (acked > 0) @@ -1789,11 +1794,6 @@ } /* - * Advance the unacknowledged pointer. - */ - tp->snd_una = th->th_ack; - - /* * Wake up and inform any writers on the socket. * * NB: sowwakeup_locked() does an implicit unlock. @@ -1811,6 +1811,10 @@ ("%s: got ack for FIN but haven't sent FIN yet", __func__)); + KASSERT(!tcp_timer_active(TT_RXMIT), + ("%s: ourfinisacked but RXMIT still active", + __func__); + /* * Handle ack'ed FIN according to previous state. */ @@ -1892,19 +1896,6 @@ * NB: Continue with segment. */ } - - /* - * Stop the retransmit timer if all data we sent - * has been acknowledged. Otherwise restart it - * if we still have outstanding data. - * - * XXXAO: Refine the test. The TF_NEEDFIN may not - * enough. - */ - if (tp->snd_una == tp->snd_nxt && !(tp->t_flags & TF_NEEDFIN)) - tcp_timer_activate(TT_RXMIT, 0); - else - tcp_timer_activate(TT_RXMIT, tp->snd_rto); } /* @@ -1947,7 +1938,7 @@ * segment with urgent that got pulled and now is zero */ if (!TCPS_HAVERCVDFIN(tp->t_state) && - (tlen > 0 || (tp->rcv_trq != NULL && th->th_flags & TH_FIN))) { + (tlen > 0 || (tp->rcv_trq != NULL && (th->th_flags & TH_FIN)))) { int newsize = 0; /* Rcvbuf autoscaling. */ /* @@ -2214,6 +2205,7 @@ * the ACK for our FIN. */ tcp_twstart(tp); + tp = NULL; INP_INFO_WUNLOCK(&tcbinfo); goto done; @@ -2262,15 +2254,19 @@ * delayed ACK timer and be done. * * XXXAO: Multi-delack? + * XXXAO: Always call into tcp_output and have it decide what to do. */ + (void)tcp_output(tp, TPO_TINPUT); +#if 0 if ((tp->t_flags & TF_ACKNOW) || tp->snd_delack > 1 || nudgeoutput || (tp->t_flags & TF_RXWIN0SENT) || !tcp_delack_enabled) { - (void) tcp_output(tp); + (void) tcp_output(tp, TPO_TINPUT); } else if (SEQ_GT(tp->rcv_nxt, tp->snd_lastack)) { tp->snd_delack++; tcp_timer_activate(tp, TT_DELACK, tcp_delacktime); } +#endif INP_UNLOCK(tp->t_inpcb); return; @@ -2295,7 +2291,7 @@ */ tp->t_flags |= TF_ACKNOW; m_freem(m); - (void) tcp_output(tp); + (void) tcp_output(tp, TPO_TINPUT); INP_UNLOCK(tp->t_inpcb); return; @@ -2848,7 +2844,7 @@ * on segments without ACK. The SYN_RECEIVED case is completely handled * in syncache and the initialization is done there. */ -int +static int tcp_do_wu(struct tcpcb *tp, struct tcphdr *th, struct tcpopt *to, int tiwin, int acked, int tlen, int sacked) { @@ -2912,8 +2908,8 @@ tp->snd_wnd = tiwin; if (SEQ_GT(th->th_seq, tp->snd_wu_seq)) tp->snd_wu_seq = th->th_seq; - if (tp->snd_wnd > tp->snd_maxwnd) - tp->snd_maxwnd = tp->snd_wnd; + if (tp->snd_maxwnd < tiwin) + tp->snd_maxwnd = tiwin; /* * Force a call to tcp_output only if we have data to send. @@ -2924,6 +2920,53 @@ return (0); } +static void +tcp_do_ack(tp, th, tiwin, acked, tlen, sacked) +{ + /* + * Without SACK detecting a duplicate ACK is based on an + * empty segment with the same ACK as we already know and + * the same advertised receive window. Otherwise we could + * mistake a simple window update for a duplicate ACK. + * + * With SACK is gets much simpler. Any increase in the + * sack'ed data equals to a duplicate ACK. + * + * Things become difficult when we have an ongoing two-way + * data exchange. Here the receiver seeing the loss has + * add new SACK information or to prevent the transmission + * of new data to make the ACK segment detectable as duplicate + * ACK. + * + * XXXAO: This is not entirely correct as it allows for other + * packets between the duplicate ACKs. + */ + if (sacked > 0 || + (tlen == 0 && acked == 0 && SEQ_LT(tp->snd_una, tp->snd_nxt) && tp->snd_wnd == tiwin)) + tp->snd_dupack += 1; + else if (acked > 0 && tp->snd_dupack > 0) + tp->snd_dupack = 0; + + KASSERT(SEQ_LT(tp->snd_una, tp->snd_nxt) || tp->snd_dupack == 0, + ("%s: snd_dupack > 0 but snd_una == snd_nxt", __func__)); + + /* + * Advance the unacknowledged pointer. + */ + tp->snd_una += acked; + + /* + * Stop the retransmit timer if all data we sent has been + * acknowledged. Otherwise restart it if we still have + * outstanding data. + */ + if (tp->snd_una == tp->snd_nxt) + tcp_timer_activate(TT_RXMIT, 0); + else if (acked > 0) + tcp_timer_activate(TT_RXMIT, tp->snd_rto); + +} + /* * Process urgent data in TCP segments. * ==== //depot/projects/tcp_new/netinet/tcp_output.c#5 (text+ko) ==== @@ -103,6 +103,13 @@ /* * Tcp output routine: figure out what should be sent and send it. * + * We get here through: + * 1. write/send/etc + * 2. tcp_input (not always) + * 3. read/recfrom + * 4. delayed ACK, retransmission or persistent timeout + * + * Our work is to find out: * 1. How much to send, if any * 1.1 subject to nagles algorithm (don't send small segments) * 1.2 subject to send window @@ -111,14 +118,14 @@ * 3. Send an outstanding ACK * 3.1 subject to delayed ack * 4. Send a window update - * 4.1 subject to silly window avoidance + * 4.1 subject to silly window avoidance (don't send small window updates) * 4.2 subject to delayed ack * 5. Send retransmit * 6. Send urgent data * 7. Send based on flags */ int -tcp_output(struct tcpcb *tp) +tcp_output(struct tcpcb *tp, int reason) { int off, flags, error, optlen; tcp_win len, recwin, swin; @@ -150,21 +157,23 @@ flags = tcp_outflags[tp->t_state]; /* - * Determine length of data that should be transmitted, - * and flags that will be used. - * If there is some data or critical controls (SYN, RST) - * to send, then transmit; otherwise, investigate further. + * Determine our current receive window. + * This value is used for the window field in the TCP + * header and to determine whether we have to send a + * window update. + * + * NB: rwin is already scaled. */ - + rwin = tcp_rcv_wnd(tp, so); - /* * We have been idle for "a while" and no acks are * expected to clock out any data we send -- * slow start to get ack "clock" running again. + * RFC2581: Restart window. * - * Set the slow-start flight size depending on whether - * this is a local network or not. + * XXXAO: Use a decaying algorithm. It's not useful + * to have cwnd to drop of a cliff. */ if (tp->snd_nxt == tp->snd_una && (ticks - tp->t_rcvtime) >= max(tp->t_rxtcur, tcp_min_idle)) { @@ -172,12 +181,9 @@ } /* - * Compute our current receive window. - * XXXAO: Handle window updates. - */ - rwin = tcp_rcv_wnd(tp, so); - - /* + * Determine length of data that should be transmitted, if there + * is some data to send, then transmit; otherwise, investigate further. + * * First step: how much to send. * * Check out our send window. @@ -192,41 +198,45 @@ * c) how much data we have to send * d) the pacing algorithm (optional) * - * XXXAO: Add output pacing where one can limit the amount - * of data that is sent in a time period through a socket - * option. + * duna = unacknowledged data in flight + * swnd = remaining space in send window as advertised by remote end + * cwnd = congestion window, remaing amount of data that can be unacknowledged in flight + * dlen = remaing amount of data in send buffer available for sending + * len = amount of data we have *and* can send righ now + * + * <- duna -><- swnd -> + * <- cwnd -> + * <-dlen-> + * seq .......|+++++++++xxxxxxxx---z---------|....... + * ^ ^ + * snd_una snd_nxt * - * XXXAO */ - swin = tp->snd_wnd - (tp->snd_nxt - tp->snd_una); - swin = tp->snd_wnd - tp->snd_inflight; /* XXXAO: Alternative, SACK */ + duna = SEQ_DELTA(tp->snd_nxt, tp->snd_una); + swnd = imax(0, tp->snd_wnd - duna); + cwnd = imax(0, tp->snd_cwnd - duna); + dlen = so->so_snd.sb_cc - duna; + len = min(dlen, min(swnd, cwnd)); - len = min(swin, tp->snd_cwnd); - len = so->so_snd.sb_cc - (tp->snd_nxt - tp->snd_una); - len = tcp_snd_pace(tp, len); /* XXXAO: todo token bucket */ - - if (tp->t_flags & TF_REXMT) { - len = tcp_snd_rexmt(tp, len); - goto send; + if (len > 0 && (tp->t_flags & TF_PACE)) { + len = tcp_snd_pace(tp, len); /* XXXAO: todo token bucket, mss sized */ + if (len == 0) + return (0); /* next token is pending */ } - /* - * Second step: Do we send? - */ - if (tp->t_flags & TF_ACKNOW) - goto send; + inflight = duna - tp->snd_sacked; /* * Send out a SYN immediatly. */ - if (flags & TH_SYN) + if ((flags & TH_SYN) && !(tp->t_flags & TF_SENTSYN)) goto send; /* * If our state indicates that FIN should be sent * and we have not yet done so, then we need to send. */ - if (flags & TH_FIN) { + if ((flags & TH_FIN) && !(tp->t_flags & TF_SENTFIN)) { /* * All data is already sent and only the FIN is outstanding. */ @@ -238,11 +248,23 @@ * if the window is big enough. Do not care about nagle * and others. Otherwise things will go their normal way. */ - if (len <= snd_wnd) + if (len > 0) goto send; } /* + * Pending ACK? + */ + if (tp->t_flags & TF_ACKNOW) + goto send; + if (SEQ_LT(tp->snd_lastack, tp->snd_nxt) && !(tp->t_flags & TF_DELACK)) + goto send; + if (tp->t_flags & TF_DUPACK) { + len = 0; + goto send; + } + + /* * Sender silly window avoidance. We transmit under the following * conditions when len is non-zero: * @@ -254,11 +276,17 @@ * data (receiver may be limited the window size) * - We need to retransmit * + * The idea behind delayed ACK is twofold: + * a) aggregate multiple ACKs together + * b) aggregate the response from application with the ACK + * In both cases the events are probably very close together + * and thus the delayed ACK time should be very short. + * * a) Nagle algorithm: tinygram problem * b) silly window syndrome: buffer almost full * * Quoting Nagle: - * The concept behind delayed ACKs is to bet, when receiving some data from the net, + * <> * http://developers.slashdot.org/comments.pl?sid=174457&threshold=1&commentsort=0&mode=thread&cid=14515105 * * XXXAO: mss - options! */ if (len) { + /* + * Always send if there is no outstanding data in flight. + */ if (tp->snd_nxt == tp->snd_una) goto send; + + /* + * Always send if NODELAY is enabled. This gives at least + * one segment per application write no matter how small + * the amount of data. + */ if (tp->t_flags & TF_NODELAY) goto send; + + /* + * Always send if we have more than one MSS worth of data. + */ if (len >= tp->snd_mss) goto send; + + /* + * For small windows send if we have half a window worth + * of data. + */ if (tp->snd_maxwnd > 0 && len >= tp->snd_maxwnd / 2) goto send; } /* - * Send window update? We only send them if the window opened - * up again either because the socket buffer was drained or + * Persistent mode. + * Send out probe byte if there is data available. + * RFC793: section 3.7, page 42-44 + * RFC1122: section 4.2.2.17 + */ + if (swnd == 0 && dlen > 0 && (tp->t_flags & TF_FORCEDATA)) { + len = 1; + goto send; + } + if (swnd == 0 && duna > tp->snd_wnd) { + /* + * Window shrank + * after we sent into it. If window shrank to 0, + * cancel pending retransmit, pull snd_nxt back + * to (closed) window, and set the persist timer + * if it isn't already going. If the window didn't + * close completely, just wait for an ACK. + */ + tcp_timer_activate(tp, TT_REXMT, 0); + tp->t_rxtshift = 0; + if (!tcp_timer_active(tp, TT_PERSIST)) + tcp_setpersist(tp); + } + + /* + * Send window update? + * + * The receive window informs the remote side about the + * remaining space in our receive buffer. We only send + * window updates if the socket buffer was drained or * enlarged. - * When the application reads data from the socket we get notified - * to potentially inform the remote end about more receive space. + * + * When the application reads (and by it removes) data + * from the receive buffer we get notified and have to + * decide whether the change justifies a window update + * segment. + * + * We must avoid to the silly window syndrome whereas + * every read from the receive buffer, no matter how + * small, causes a window update to be sent. + * + * To prevent this we employ a silly window avoidance + * algorithm which causes updates to the window only + * when the new window is enlarged by at least two MSS + * sized segments. This part is done by tcp_rcv_wnd() + * and already incorporated into the rwin value we got. * - * XXXAO: Do not send many small window updates if we are not - * expecting more data and there was enough space adversized - * the last time. + * Our logic to determine whether to send an independent + * window update segment is more stringent. We only + * send window updates if the new space in the receive + * buffer is at least double the previous value. This + * prevents a flurry of independent window updates when + * the socket buffer has queued a lot of data and the + * application is doing small reads. This may leave + * some available space in the receive buffer not + * advertised to the remote side. As soon as it is + * sending data again our resulting ACKs will contain + * full value and no stalling will happen. * - * NB: Do not send window updates if the remote end won't send + * Independent window updates are not sent if a delayed + * ACK is pending. There we can simply piggy back the + * new window information on the pending ACK. Neither + * do we send window updates if we have received a FIN. + * It would be pointless as we are unable to receive * more data. + * + * RFC793: section 3.7, page 42-44 + * RFC1122: section 4.2.2.16 + * Stevens Vol.2: section 26.3, page 858-861, figure 26.8 */ - if (!TCPS_HAVERCVDFIN(tp->t_state) && rwin > tp->rcv_advwnd) { - delta = rwin - tp->rcv_advwnd; - - if (delta >= 2 * tp->snd_mss) - goto send; - if (2 * delta >= (long)so->so_rcv.sb_hiwat) + if (tp->rcv_advwin < rwin && !(tp->t_flags & TF_DELACK) && + !TCPS_HAVERCVDFIN(tp->t_state)) + if (rwin >= 2 * tp->rcv_advwin) goto send; - } /* * No reason to send a segment, just return. */ - SOCKBUF_UNLOCK(&so->so_snd); return (0); send: @@ -415,17 +513,20 @@ * According to RFC1323 the window field in a SYN (i.e., a * or ) segment itself is never scaled. The * case is handled in syncache. + * + * XXXAO: when sending dup-acks do not mix with window updates, otherwise + * the logic at the receiver may mistake the dup-ack + * XXXAO: rwin is already scaled. */ if (flags & TH_SYN) th->th_win = (u_short)(min(rwin, TCP_MAXWIN)); + else if (tp->t_flags & TF_DUPACK) + th->th_win = (u_short)tp->rcv_advwin; else th->th_win = (u_short)(rwin >> tp->rcv_scale); /* * Fill in fields. - * - * XXXAO: remembering maximum advertised window for - * use in delaying messages about window sizes. */ if (tp->snd_nxt == tp->snd_rxmit) { th->th_seq = tp->snd_nxt; @@ -436,8 +537,7 @@ } /* - * If resending a FIN, be sure not to use a new sequence number. - * XXXAO: Resending SYN? + * If resending a SYN or FIN, be sure not to use a new sequence number. */ if ((flags & TH_SYN) && (tp->t_flags & TF_SENTSYN)) th->th_seq--; @@ -453,7 +553,10 @@ SOCKBUF_UNLOCK(&so->so_snd); /* - * NB: len > 0 means we sent this much data w/o an error. + * NB: len > 0 means we sent this much data w/o error. + * error == 0 means we sent at least a single segment w/o error. + * + * XXXAO: Avoid unconditional writes to the tcpcb. */ if (len > 0) { /* @@ -463,35 +566,45 @@ tp->snd_nxt += len; else tp->snd_rxmit += len; + } + if (error == 0) { /* - * Data sent (as far as we can tell). - * If this advertises a larger window than any other segment, - * then remember the size of the advertised window. - * Any pending ACK has now been sent. + * Integrate FIN into sequence space. */ - if (rwin > 0 && SEQ_GT(tp->rcv_nxt + rwin, tp->rcv_adv)) - tp->rcv_adv = tp->rcv_nxt + rwin; + if ((flags & TH_FIN) && !(tp-t_flags & TF_SENTFIN)) { + tp->snd_nxt++; + tp->t_flags |= TF_SENTFIN; + } } - if (error == 0) { + if (len > 0 || error == 0) { /* - * Integrate SYN and FIN into sequence space. - * XXXAO: If we send data with SYN this breaks. + * Integrate SYN into sequence space. */ if ((flags & TH_SYN) && !(tp->t_flags & TF_SENTSYN)) { tp->snd_nxt++; tp->t_flags |= TF_SENTSYN; } - if ((flags & TH_FIN) && !(tp-t_flags & TF_SENTFIN)) { - tp->snd_nxt++; - tp->t_flags |= TF_SENTFIN; - } + + /* + * Any pending ACK has been sent. + * Clear related flags and disarm the delayed ACK timer. + */ + tp->t_flags &= ~(TF_ACKNOW | TF_DELACK); + if (SEQ_LT(tp->snd_lastack, tp->rcv_nxt) + tp->snd_lastack = tp->rcv_nxt; + if (tcp_timer_active(tp, TT_DELACK)) + tcp_timer_activate(tp, TT_DELACK, 0); /* * Remember last advertised receive window. + * We need this information to send proper + * duplicate ACKs and to know whether we + * have to send a window update later on. */ - tp->rcv_advwnd = rwin; + if (tp->rcv_advwin != rwin) + tp->rcv_advwin = rwin; /* * Adjust the RXWIN0SENT flag - indicate that we have advertised @@ -507,15 +620,6 @@ tp->t_flags &= ~TF_RXWIN0SENT; } - if (len > 0 || error == 0) { - if (SEQ_LT(tp->last_ack_sent, tp->rcv_nxt) - tp->last_ack_sent = tp->rcv_nxt; - - tp->t_flags &= ~(TF_ACKNOW | TF_DELACK); - if (tcp_timer_active(tp, TT_DELACK)) - tcp_timer_activate(tp, TT_DELACK, 0); - } - if (len > 0 && error == 0) { if ((tp->t_flags & TF_FORCEDATA) == 0 || !tcp_timer_active(tp, TT_PERSIST)) @@ -639,7 +743,7 @@ } tcpstat.tcps_sndtotal++; - if (tp->t_flags & TF_ACKNOW) /* XXXAO: test whether we increased last_ack_sent */ + if (tp->t_flags & TF_ACKNOW) /* XXXAO: test whether we increased snd_lastack */ tcpstat.tcps_sndacks++; else if (flags & (TH_SYN|TH_FIN|TH_RST)) tcpstat.tcps_sndctrl++; @@ -651,131 +755,12 @@ return (0); } -int -tcp_junk() -{ - /* - * If in persist timeout with window of 0, send 1 byte. - * Otherwise, if window is small but nonzero - * and timer expired, we will send what we can - * and go to transmit state. - */ - if (tp->t_flags & TF_FORCEDATA) { - if (snd_wnd == 0) { - /* - * If we still have some data to send, then - * clear the FIN bit. Usually this would - * happen below when it realizes that we - * aren't sending all the data. However, - * if we have exactly 1 byte of unsent data, - * then it won't clear the FIN bit below, - * and if we are in persist state, we wind - * up sending the packet without recording - * that we sent the FIN bit. - * - * We can't just blindly clear the FIN bit, - * because if we don't have any more data - * to send then the probe will be the FIN - * itself. - */ - if (off < so->so_snd.sb_cc) - flags &= ~TH_FIN; - snd_wnd = 1; - } else { - tcp_timer_activate(tp, TT_PERSIST, 0); - tp->t_rxtshift = 0; - } - - if (tp->t_flags & TF_FORCEDATA) /* typ. timeout case */ - goto send; - /* - * TCP window updates are not reliable, rather a polling protocol - * using ``persist'' packets is used to insure receipt of window - * updates. The three ``states'' for the output side are: - * idle not doing retransmits or persists - * persisting to move a small or zero window - * (re)transmitting and thereby not persisting - * - * If send window is too small, there is data to transmit, and no - * retransmit or persist is pending, then go to persist state. - * If nothing happens soon, send when timer expires: - * if window is nonzero, transmit what we can, - * otherwise force out a byte. - * XXX: We don't force anything here, only return!? - */ - if (len > 0 && !tcp_timer_active(tp, TT_REXMT) && - !tcp_timer_active(tp, TT_PERSIST)) { - tp->t_rxtshift = 0; - tcp_setpersist(tp); - } - } - - /* - * Urgent data pending. - */ - if (SEQ_GT(tp->snd_up, tp->snd_una)) - goto send; - - if (len < 0) { - /* - * If FIN has been sent but not acked, - * but we haven't been called to retransmit, - * len will be < 0. Otherwise, window shrank - * after we sent into it. If window shrank to 0, - * cancel pending retransmit, pull snd_nxt back - * to (closed) window, and set the persist timer - * if it isn't already going. If the window didn't - * close completely, just wait for an ACK. - */ - len = 0; - if (snd_wnd == 0) { - tcp_timer_activate(tp, TT_REXMT, 0); - tp->t_rxtshift = 0; - if (!tcp_timer_active(tp, TT_PERSIST)) - tcp_setpersist(tp); - } - } - - /* - * TSO may only be used if we are in a pure bulk sending state. The - * presence of TCP-MD5, SACK retransmits, SACK advertizements and - * IP options prevent using TSO. With TSO the TCP header is the same - * (except for the sequence number) for all generated packets. This - * makes it impossible to transmit any options which vary per generated - * segment or packet. - */ - if ((tp->t_flags & TF_TSO) && tcp_do_tso && - ((tp->t_flags & TF_SIGNATURE) == 0) && - inp->inp_options == NULL && - inp->in6p_options == NULL && - inp->inp_sp == NULL) /* XXXAO: update */ - tso = 1; - -#if 0 - /* - * Urgent pointer handling. - */ - if (SEQ_GT(tp->snd_up, tp->snd_nxt)) { - th->th_urp = htons((u_short)(tp->snd_up - tp->snd_nxt)); - th->th_flags |= TH_URG; - } else { - /* - * If no urgent pointer to send, then we pull - * the urgent pointer to the left edge of the send window - * so that it doesn't drift into the send window on sequence - * number wraparound. - */ - tp->snd_up = tp->snd_una; /* drag it along */ - } -#endif -} - /* * Do a retransmit from snd_nxt or a later point. This is separate * from the normal transmit case as the logic is quite a bit different. */ static int -tcp_do_retransmit() +tcp_retransmit(struct tcpcb *tp, int len) { /* @@ -786,27 +771,12 @@ */ /* * We have the following mechanisms: - * 1. Fast retransmit: After we get three duplicate ACKs - * 2. NewReno Fast recovery RFC3782 + * 1. Fast recovery: After we get three duplicate ACKs RFC2581 + * 2. NewReno RFC3782 * 3. Limited transmit RFC3042 * 4. SACK tells us where to send how much data RFC3517 */ - /* - * XXXAO: remembering maximum advertised window for - * use in delaying messages about window sizes. - */ - if (tp->snd_nxt == tp->snd_rxmit) { - th->th_seq = tp->snd_nxt; - off = tp->snd_nxt - tp->snd_una; - } else { - th->th_seq = tp->snd_rxmit; - off = min(tp->snd_rxmit - tp->snd_una, so->so_snd.sb_cc); - } - /* - * Check if we have to remove FIN on SACK retransmits. - */ - if (SEQ_LT(tp->snd_nxt + len, tp->snd_una + so->so_snd.sb_cc)) - flags &= ~TH_FIN; + } /* @@ -843,6 +813,9 @@ #ifdef FAST_IPSEC /* * NB: This is an expensive operation and involves memory allocation. + * + * XXXAO: If the IPSEC header size doesn't change during a session + * lifetime we could compute the number at establishment time. */ linkhdr += (int)ipsec_hdrsiz_tcp(tp); #endif @@ -1006,6 +979,14 @@ ("%s: data beyond FIN", __func__); /* + * Set the PUSH bit to indicate that we have reached + * the end of the send buffer. + */ + if (off + slen == so->so_snd.sb_cc) { + th->th_flags =| TH_PSH; + } + + /* * If we're sending everything we've got, set PUSH. * This will keep happy those implementations which * only give data to the user when a buffer fills or @@ -1124,49 +1105,86 @@ /* - * Shall we send data or not? - * And what window shall we advertize? + * Calculate and update our current receive window. + * Return the scaled receive window. */ -static int +static u_int tcp_rcv_wnd(struct tcpcb *tp, struct socket *so) { - int delta; + int delta, rwin; KASSERT(SEQ_GEQ(tp->rcv_wnd, tp->rcv_nxt), - ("%s: ", __func__)); - - delta = sbspace(so->so_rcv) - SEQ_DELTA(tp->rcv_wnd, tp->rcv_nxt); + ("%s: receive window below rcv_nxt", __func__)); /* - * Determine if we should send window update. - * Silly window avoidance: Only send window update - * if we've got at least two segments of space. - * If the socket buffer was shrunk then delta is - * a negative value. + * Calculate the amount of space in the receive buffer relative + * to the current end of the receive window. If the receive + * buffer was shrunk delta becomes negative. + * + * <- sb_hiwat -> + * <- sb_cc -> + * seq .......|++++++++++------------------z-|....... + * ^ ^ + * rcv_nxt rcv_wnd + * + * XXXAO: To avoid the locking overhead tcp_usr_rcvd could update + * a rcv_read pointer. */ + SB_LOCK(so->so_rcv); + if (so->so_rcv.sb_hiwat - so->so_rcv.sb_cc > 0) + delta = SEQ_DELTA(tp->rcv_wnd - so->so_rcv.sb_hiwat, + tp->rcv_nxt - so->so_rcv.sb_cc); + else + delta = so->so_rcv.sb_hiwat - so->so_rcv.sb_cc; + SB_UNLOCK(so->so_rcv); + /* - * - if socket buffer is less than 1/4 free, send many updates - * - piggy back window update on delayed ack - * - if socket buffer > 1/4 free send updates only from time to time - * - when sending dup-acks do not mix with window updates, otherwise - * the logic at the receiver may mistake the dup-ack - * - the new value must be larger than the minimal unscaled increment - * - if delta is more than 50% or we reach the full window + * Silly window avoidance: Only grow the window if we've + * got at least two segments of additional space available. + * Take into account the granularity of the window scale + * shift. + * + * NB: We do not shrink the window even if the receive + * buffer was shrunk on us. We won't re-open the window + * as more data comes in though. + * + * RFC793: section 3.7, page 42-44 + * RFC1122: section 4.2.2.16 + * Stevens Vol.2: section 26.3, page 858-861 */ if (delta > 0 && (delta >> tp->rcv_scale) > 0 && - delta >= 2 * tp->snd_mss) { + (tp->rcv_scale << (delta >> tp->rcv_scale)) >= 2 * tp->snd_mss) tp->rcv_wnd += delta; - } + + /* + * Report shrunk socket buffers. + */ if (delta < 0) tcp_log("our receive socket buffer was shrunk"); - rwin = (tp->rcv_wnd - tp->rcv_nxt) - so->so_rcv.sb_cc; + /* + * Our current open receive window to be advertized is + * the remaining space in the socket buffer. + */ + rwin = SEQ_DELTA(tp->rcv_wnd - tp->rcv_nxt); + + return (rwin >> tp->rcv_scale); +} - return (rwin); +/* + * Pace the segment stream by limiting the amount of data + * that is sent per time unit (tocken bucket). + * + * NB: Never go below one MSS per time unit. + */ +static void +tcp_snd_pace(struct tcpcp *tp) +{ + return; } -void -tcp_snd_autoscale(struct tcpcb *tp) +static void +tcp_snd_autoscale(struct tcpcb *tp, int swnd) { /* * Automatic sizing of send socket buffer. Often the send buffer @@ -1219,7 +1237,7 @@ if ((tp->snd_wnd / 4 * 5) >= so->so_snd.sb_hiwat && so->so_snd.sb_cc >= (so->so_snd.sb_hiwat / 8 * 7) && so->so_snd.sb_cc < tcp_autosndbuf_max && - sendwin >= (so->so_snd.sb_cc - (tp->snd_nxt - tp->snd_una))) { + swin >= (so->so_snd.sb_cc - (tp->snd_nxt - tp->snd_una))) { if (!sbreserve_locked(&so->so_snd, min(so->so_snd.sb_hiwat + tcp_autosndbuf_inc, tcp_autosndbuf_max), so, curthread)) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Mar 22 12:31:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5872F1065705; Sun, 22 Mar 2009 12:31: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 131EF1065701 for ; Sun, 22 Mar 2009 12:31:41 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB6988FC0A for ; Sun, 22 Mar 2009 12:31:40 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MCVeKb017034 for ; Sun, 22 Mar 2009 12:31:40 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MCVe9L017032 for perforce@freebsd.org; Sun, 22 Mar 2009 12:31:40 GMT (envelope-from andre@freebsd.org) Date: Sun, 22 Mar 2009 12:31:40 GMT Message-Id: <200903221231.n2MCVe9L017032@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 159607 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 12:31:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=159607 Change 159607 by andre@andre_t61 on 2009/03/22 12:31:00 Add the default congestion control algorithm NewReno including ABC. The initial version of this file was taken from Lawrence Steward's pluggle congestion control project. The ABC code was merged in from the main FreeBSD repository. That code also came from Lawrence. Some more style adjustments and different use of variables. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_cc_newreno.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Mar 22 13:15:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2CA641065675; Sun, 22 Mar 2009 13:15:26 +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 DA214106566C for ; Sun, 22 Mar 2009 13:15:25 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ADFF08FC0C for ; Sun, 22 Mar 2009 13:15:25 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MDFP01031419 for ; Sun, 22 Mar 2009 13:15:25 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MDFPi3031417 for perforce@freebsd.org; Sun, 22 Mar 2009 13:15:25 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 22 Mar 2009 13:15:25 GMT Message-Id: <200903221315.n2MDFPi3031417@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159608 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 13:15:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=159608 Change 159608 by rene@rene_self on 2009/03/22 13:14:44 Add myself as translator. Maybe also add some past translators? Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/translators.ent#2 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/translators.ent#2 (text+ko) ==== @@ -6,3 +6,4 @@ --> xaa@timewasters.nl"> +rene@freebsd.org"> From owner-p4-projects@FreeBSD.ORG Sun Mar 22 17:07:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5550B1065677; Sun, 22 Mar 2009 17:07: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 F34EA1065676 for ; Sun, 22 Mar 2009 17:07:26 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E15A28FC1C for ; Sun, 22 Mar 2009 17:07:26 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MH7QA1068076 for ; Sun, 22 Mar 2009 17:07:26 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MH7Q5r068074 for perforce@freebsd.org; Sun, 22 Mar 2009 17:07:26 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 22 Mar 2009 17:07:26 GMT Message-Id: <200903221707.n2MH7Q5r068074@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159617 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 17:07:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=159617 Change 159617 by rene@rene_self on 2009/03/22 17:07:16 Add support files to translate some remaining parts of the infrastructure of the articles and books. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/articles.ent#1 add .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/mirrors-local.xsl#1 add .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/newsgroups.ent#1 add .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/teams.ent#1 add .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/trademarks.ent#1 add .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/trademarks.sgml#1 add .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/transtable-local.xsl#1 add .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/transtable.xml#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Mar 22 18:28:54 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4EE7410656F2; Sun, 22 Mar 2009 18:28: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 0773010656ED for ; Sun, 22 Mar 2009 18:28:54 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D00F18FC0A for ; Sun, 22 Mar 2009 18:28:53 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MISrFH081352 for ; Sun, 22 Mar 2009 18:28:53 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MISrav081350 for perforce@freebsd.org; Sun, 22 Mar 2009 18:28:53 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 22 Mar 2009 18:28:53 GMT Message-Id: <200903221828.n2MISrav081350@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159621 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 18:28:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=159621 Change 159621 by rene@rene_self on 2009/03/22 18:28:50 Add Dutch version of the bibliography. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/bibliography.sgml#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Mar 22 20:20:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FFFC1065672; Sun, 22 Mar 2009 20:20: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 0F344106566C for ; Sun, 22 Mar 2009 20:20:50 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F1A5C8FC0A for ; Sun, 22 Mar 2009 20:20:49 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MKKnVB005788 for ; Sun, 22 Mar 2009 20:20:49 GMT (envelope-from nwhitehorn@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MKKnp2005784 for perforce@freebsd.org; Sun, 22 Mar 2009 20:20:49 GMT (envelope-from nwhitehorn@freebsd.org) Date: Sun, 22 Mar 2009 20:20:49 GMT Message-Id: <200903222020.n2MKKnp2005784@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to nwhitehorn@freebsd.org using -f From: Nathan Whitehorn To: Perforce Change Reviews Cc: Subject: PERFORCE change 159625 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 20:20:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=159625 Change 159625 by nwhitehorn@nwhitehorn_comporellon on 2009/03/22 20:20:00 Change the UMA zone from which fictitious PVOs are allocated to the unmanaged PVO zone. This is the same as SVN revision 189675 to mmu_oea.c, and likewise prevents a panic when unmaping mmaped physical memory regions. Affected files ... .. //depot/projects/ppc-g5/sys/powerpc/aim/mmu_oea64.c#15 edit Differences ... ==== //depot/projects/ppc-g5/sys/powerpc/aim/mmu_oea64.c#15 (text+ko) ==== @@ -1216,8 +1216,11 @@ PMAP_LOCK_ASSERT(pmap, MA_OWNED); /* XXX change the pvo head for fake pages */ - if ((m->flags & PG_FICTITIOUS) == PG_FICTITIOUS) + if ((m->flags & PG_FICTITIOUS) == PG_FICTITIOUS) { + pvo_flags &= ~PVO_MANAGED; pvo_head = &moea64_pvo_kunmanaged; + zone = moea_upvo_zone; + } pte_lo = moea64_calc_wimg(VM_PAGE_TO_PHYS(m)); From owner-p4-projects@FreeBSD.ORG Sun Mar 22 20:54:24 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 83C261065675; Sun, 22 Mar 2009 20:54: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 38C251065672 for ; Sun, 22 Mar 2009 20:54:24 +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 2679C8FC0C for ; Sun, 22 Mar 2009 20:54:24 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MKsOML018491 for ; Sun, 22 Mar 2009 20:54:24 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MKsObR018489 for perforce@freebsd.org; Sun, 22 Mar 2009 20:54:24 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 22 Mar 2009 20:54:24 GMT Message-Id: <200903222054.n2MKsObR018489@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 159627 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 20:54:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=159627 Change 159627 by hselasky@hselasky_laptop001 on 2009/03/22 20:54:15 Spelling. Reported by: Chuck Robey and more. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/README.TXT#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/README.TXT#2 (text+ko) ==== @@ -147,8 +147,8 @@ === General USB transfer notes === 1) Something that one should be aware of is that all USB callbacks support -recursation. That means one can start/stop whatever transfer from the callback -of another transfer one desires. Also the transfer that is currently called +starting and stopping itself and other USB transfers. That means one can +start/stop whatever transfer from the callback of another transfer one desires. Also the transfer that is currently called back. Recursion is handled like this that when the callback that wants to recurse returns it is called one more time. From owner-p4-projects@FreeBSD.ORG Sun Mar 22 21:39:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C63C71065675; Sun, 22 Mar 2009 21:39: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 796551065676 for ; Sun, 22 Mar 2009 21:39:10 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 66D288FC1F for ; Sun, 22 Mar 2009 21:39:10 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MLdAT3026892 for ; Sun, 22 Mar 2009 21:39:10 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MLdALC026890 for perforce@freebsd.org; Sun, 22 Mar 2009 21:39:10 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 22 Mar 2009 21:39:10 GMT Message-Id: <200903222139.n2MLdALC026890@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159632 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 21:39:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=159632 Change 159632 by rene@rene_self on 2009/03/22 21:38:59 * Use Dutch versions for the automated server lists. * Don't tell the server lists are not translated. * Fix some translations. * Fix article builds, they now use //NL instead of //EN Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing-ports/article.sgml#8 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing/article.sgml#13 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/explaining-bsd/article.sgml#11 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/problem-reports/article.sgml#14 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/solid-state/article.sgml#8 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/appendix.decl#3 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml#18 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml#9 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml#18 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/articles.ent#2 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/bookinfo.ent#3 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/books.ent#4 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/catalog#3 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/mirrors-local.xsl#2 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/newsgroups.ent#2 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/teams.ent#2 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/transtable.xml#2 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing-ports/article.sgml#8 (text+ko) ==== @@ -5,7 +5,7 @@ --> + %articles.ent; ]> ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing/article.sgml#13 (text+ko) ==== @@ -3,7 +3,7 @@ + %articles.ent; ]> @@ -585,7 +585,7 @@ cvsup gebruiken. Als u zo'n spiegel wilt hosten, bekijk dan het artikel Mirroring &os; - voor meer informtie. + voor meer informiatie. ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/explaining-bsd/article.sgml#11 (text+ko) ==== @@ -5,7 +5,7 @@ + %articles.ent; ]> ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/problem-reports/article.sgml#14 (text+ko) ==== @@ -5,7 +5,7 @@ --> + %articles.ent; ]> ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/solid-state/article.sgml#8 (text+ko) ==== @@ -34,7 +34,7 @@ --> + %articles.ent; ]> ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/appendix.decl#3 (text+ko) ==== @@ -1,2 +1,2 @@ - + ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml#18 (text+ko) ==== @@ -2216,12 +2216,6 @@ Officiële spiegels - - Onderstaande lijst met World Wide Webservers wordt - automatisch samengesteld om zo actueel mogelijk te zijn en is - daarom niet vertaald. - - &chap.eresources.www.inc; ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml#9 (text+ko) ==== @@ -662,8 +662,8 @@ van te zijn dat er geen obstakels zijn. Informatie over alle uitgaven, inclusief de errata staan - in de release - information op de uitgave-informatie + op de &os; website. ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml#18 (text+ko) ==== @@ -256,9 +256,7 @@ maar hebben wellicht niet het complete archief. Alle sites geven toegang via anonieme FTP, maar een aantal sites hebben ook andere toegangsmogelijkheden. De toegangsmogelijkheden voor iedere site - staan tussen haakjes achter de hostnaam. De rest van deze - paragraaf wordt automatisch samengesteld en is niet - vertaald. + staan tussen haakjes achter de hostnaam. &chap.mirrors.ftp.inc; @@ -279,7 +277,7 @@ Nadat de ISO-afbeelding met BitTorrent is gedownload, kan het op CD of DVD gebrand worden zoals beschreven in burncd. + linkend="burncd">. @@ -2488,8 +2486,7 @@ CVSup sites CVSup servers voor &os; draaien - op de onderstaande sites. Het overige deel van deze paragraaf - wordt automatisch samengesteld en is daarom niet vertaald. + op de onderstaande sites. &chap.mirrors.cvsup.inc; @@ -3180,10 +3177,10 @@ - Sweden + Zweden - The path to the files are: + Het pad naar de bestanden is: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden @@ -3215,7 +3212,7 @@ - Tsjechische Republiek + Tsjechië rsync://ftp.cz.FreeBSD.org/ @@ -3289,7 +3286,7 @@ - Verenigde Staten + Verenigde Staten van Amerika rsync://ftp-master.FreeBSD.org/ ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/articles.ent#2 (text+ko) ==== ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/bookinfo.ent#3 (text+ko) ==== @@ -17,3 +17,8 @@ --> + + + + + ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/books.ent#4 (text+ko) ==== @@ -7,23 +7,25 @@ %SRCID% 1.2 --> - -%nl-bookinfo; %man; - + %bookinfo; %freebsd; %authors; - + %teams; - + %mailing-lists; - + %newsgroups; - + %trademarks; %urls; + +%l10n; + +%l10n-common; ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/catalog#3 (text+ko) ==== @@ -1,12 +1,14 @@ -- ...................................................................... -- -- FreeBSD SGML Public Identifiers ...................................... -- - + -- $FreeBSD: doc/nl_NL.ISO8859-1/share/sgml/catalog,v 1.6 2008/12/28 12:23:36 rene Exp $ -- -- $FreeBSDnl$ -- -- %SOURCE% en_US.ISO8859-1/share/sgml/catalog -- -- %SRCID% 1.5 -- +PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//NL" + "articles.ent" PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//NL" "books.ent" @@ -14,7 +16,13 @@ PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//EN" "freebsd.dsl" -PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//EN" +PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//NL" + "freebsd.dsl" + +PUBLIC "-//FreeBSD//DOCUMENT DocBook Language Neutral Stylesheet//NL" + "freebsd.dsl" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//NL" "mailing-lists.ent" PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//NL" @@ -22,3 +30,12 @@ PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN" "l10n.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//NL" + "trademarks.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//NL" + "teams.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//NL" + "newsgroups.ent" ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/mirrors-local.xsl#2 (text+ko) ==== @@ -14,6 +14,11 @@ omit-xml-declaration="yes" indent="yes"/> + + + + ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/newsgroups.ent#2 (text+ko) ==== @@ -9,3 +9,4 @@ comp.unix.bsd.freebsd.misc"> + ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/teams.ent#2 (text+ko) ==== @@ -17,17 +17,17 @@ admins@FreeBSD.org"> -bugmeister@FreeBSD.org"> +bugmeister@FreeBSD.org"> -core-secretary@FreeBSD.org"> +core-secretary@FreeBSD.org"> cvsadm@FreeBSD.org"> -cvsup-master@FreeBSD.org"> +cvsup-master@FreeBSD.org"> dcvs@FreeBSD.org"> -doceng@FreeBSD.org"> +doceng@FreeBSD.org"> donations@FreeBSD.org"> ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/transtable.xml#2 (text+ko) ==== @@ -29,6 +29,288 @@ + + + Primary Mirror Sites + Primaire spiegelsites + + + + Central Servers + Centrale servers + + + + Argentina + Argentinië + + + + Armenia + Armenië + + + + Australia + Australië + + + + Austria + Oostenrijk + + + + Belgium + België + + + + Brazil + Brazilië + + + + Bulgaria + Bulgarije + + + + Canada + Canada + + + + China + China + + + + Costa Rica + Costa Rica + + + + Croatia + Kroatië + + + + Czech Republic + Tsjechië + + + + Denmark + Denemarken + + + + Estonia + Estland + + + + Finland + Finland + + + + France + Frankrijk + + + + Germany + Duitsland + + + + Greece + Griekenland + + + + Hong Kong + Hong Kong + + + + Hungary + Hongarije + + + + Iceland + Ijsland + + + + Indonesia + Indonesië + + + + Ireland + Ierland + + + + Israel + Israël + + + + Italy + Italië + + + + Japan + Japan + + + + Korea + Korea + + + + Kuwait + Koeweit + + + + Kyrgyzstan + Kirghizistan + + + + Latvia + Letland + + + + Lithuania + Litouwen + + + + Netherlands + Nederland + + + + New Zealand + Nieuw-Zeeland + + + + Norway + Noorwegen + + + + Philippines + Filipijnen + + + + Poland + Polen + + + + Portugal + Portugal + + + + Romania + Roemenië + + + + Russia + Rusland + + + + San Marino + San Marino + + + + Saudi Arabia + Saudi-Arabië + + + + Singapore + Singapore + + + + Slovak Republic + Slowakije + + + + Slovenia + Slovenië + + + + South Africa + Zuid-Afrika + + + + Spain + Spanje + + + + Sweden + Zweden + + + + Switzerland + Zwitserland + + + + Taiwan + Taiwan + + + + Thailand + Thailand + + + + Turkey + Turkije + + + + Ukraine + Oekraïne + + + + United Kingdom + Verenigd Koninkrijk + + + + USA + Verenigde Staten van Amerika + + + 1 From owner-p4-projects@FreeBSD.ORG Sun Mar 22 21:44:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 506321065670; Sun, 22 Mar 2009 21:44: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 0CE97106566B for ; Sun, 22 Mar 2009 21:44:16 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D5BA18FC0C for ; Sun, 22 Mar 2009 21:44:15 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MLiFxD027314 for ; Sun, 22 Mar 2009 21:44:15 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MLiFL1027312 for perforce@freebsd.org; Sun, 22 Mar 2009 21:44:15 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 22 Mar 2009 21:44:15 GMT Message-Id: <200903222144.n2MLiFL1027312@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159634 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 21:44:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=159634 Change 159634 by rene@rene_self on 2009/03/22 21:43:35 Fix typo. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing/article.sgml#14 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing/article.sgml#14 (text+ko) ==== @@ -585,7 +585,7 @@ cvsup gebruiken. Als u zo'n spiegel wilt hosten, bekijk dan het artikel Mirroring &os; - voor meer informiatie. + voor meer informatie. From owner-p4-projects@FreeBSD.ORG Sun Mar 22 21:58:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1AC2D1065679; Sun, 22 Mar 2009 21:58: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 AEC121065676 for ; Sun, 22 Mar 2009 21:58:30 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 817EB8FC18 for ; Sun, 22 Mar 2009 21:58:30 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MLwUBO029623 for ; Sun, 22 Mar 2009 21:58:30 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MLwUAA029619 for perforce@freebsd.org; Sun, 22 Mar 2009 21:58:30 GMT (envelope-from andre@freebsd.org) Date: Sun, 22 Mar 2009 21:58:30 GMT Message-Id: <200903222158.n2MLwUAA029619@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 159636 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 21:58:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=159636 Change 159636 by andre@andre_t61 on 2009/03/22 21:58:15 Update comments and add notes. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_output.c#6 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_output.c#6 (text+ko) ==== @@ -162,7 +162,7 @@ * header and to determine whether we have to send a * window update. * - * NB: rwin is already scaled. + * NB: rwin is already downscaled. */ rwin = tcp_rcv_wnd(tp, so); @@ -173,7 +173,7 @@ * RFC2581: Restart window. * * XXXAO: Use a decaying algorithm. It's not useful - * to have cwnd to drop of a cliff. + * to have cwnd to drop of a cliff. See RFC2861. */ if (tp->snd_nxt == tp->snd_una && (ticks - tp->t_rcvtime) >= max(tp->t_rxtcur, tcp_min_idle)) { @@ -259,7 +259,17 @@ goto send; if (SEQ_LT(tp->snd_lastack, tp->snd_nxt) && !(tp->t_flags & TF_DELACK)) goto send; - if (tp->t_flags & TF_DUPACK) { + /* + * For a duplicate ACK to be acceptable it must not carry any + * data nor update the window. This is a serious problem for + * bi-directional data transfer. While we are sending dup-ACKs + * we can't send any data. With SACK the distinction is much + * simpler as any segment carrying SACK information is automatically + * a duplicate ACK (if the ack value didn't move forward). The + * question whether the other implementations see it the same way. + */ + if ((tp->t_flags & TF_DUPACK) && tp->snd_dupack > 0 && + (tp->t_flags & TF_SACK_PERMIT)) { len = 0; goto send; } @@ -554,7 +564,7 @@ /* * NB: len > 0 means we sent this much data w/o error. - * error == 0 means we sent at least a single segment w/o error. + * error == 0 means we sent everything w/o error. * * XXXAO: Avoid unconditional writes to the tcpcb. */ @@ -775,6 +785,14 @@ * 2. NewReno RFC3782 * 3. Limited transmit RFC3042 * 4. SACK tells us where to send how much data RFC3517 + * 5. TCP congestion window validation RFC2861 + */ + /* + * The moment we receive a duplicate ACK everything freezes. + * No more new data is sent except for those allowed by limited + * transmit. + * The fast recovery algorithms start their work by the third + * duplicate ACK. */ } From owner-p4-projects@FreeBSD.ORG Sun Mar 22 22:01:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D8351065670; Sun, 22 Mar 2009 22:01: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 D49D41065676 for ; Sun, 22 Mar 2009 22:01:33 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BF0388FC1F for ; Sun, 22 Mar 2009 22:01:33 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MM1X8p029911 for ; Sun, 22 Mar 2009 22:01:33 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MM1XeS029909 for perforce@freebsd.org; Sun, 22 Mar 2009 22:01:33 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 22 Mar 2009 22:01:33 GMT Message-Id: <200903222201.n2MM1XeS029909@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159637 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 22:01:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=159637 Change 159637 by rene@rene_self on 2009/03/22 22:01:19 More typo fixes. Modem has no gender in Dutch (i.e. 'het modem'). Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml#10 edit .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#20 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml#10 (text+ko) ==== @@ -638,7 +638,7 @@ - De COM: poort waaraan de modem zit + De COM: poort waaraan het modem zit ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#20 (text+ko) ==== @@ -42,7 +42,7 @@ &os; heeft een aantal manieren om de ene computer met de andere te verbinden. Om een netwerk of internet verbinding - op te zetten door een inbel modem, of om anderen toe te + op te zetten door een inbelmodem, of om anderen toe te staan dit te doen door de machine heen vereist het gebruik van PPP en SLIP. Dit hoofdstuk beschrijft het opzetten van op modems gebaseerde diensten in meer detail. @@ -399,7 +399,7 @@ Stelt de snelheid in waarmee verbinding gemaakt wordt. Als 115200 niet werkt (wat wel zou moeten - kunnen met elke nieuwe modem), probeert u dan de + kunnen met elk nieuw modem), probeert u dan de instelling van 38400. @@ -761,9 +761,9 @@ De voordelen van het gebruik van mgetty is dat het actief - communiceert met modems, wat betekend + communiceert met modems, wat betekent dat als de port uitgeschakeld is in - /etc/ttys, de modem de telefoon niet + /etc/ttys, het modem de telefoon niet zal beantwoorden. Latere versies van mgetty (vanaf @@ -1461,7 +1461,7 @@ Als een cliënt — u wilt uw machine verbinden met de buitenwereld via een seriële - PPP verbinding of een modem lijn. + PPP-verbinding of een modemlijn. @@ -1641,7 +1641,7 @@ netstat -n -I ppp0 ifconfig ppp0 - Om de modem op te hangen, voer het + Om het modem op te hangen, voer het /etc/ppp/kermit.hup script uit welke het volgende bevat: @@ -1813,15 +1813,15 @@ wordt gebruikt voor het bellen en authenticeren van de machine aan de andere kant. U moet deze aanpassen aan uw wensen. Vul uw inlognaam en wachtwoord in in dit script, u moet ook het input - statement aanpassen afhankelijk hoe uw modem antwoord en de + statement aanpassen afhankelijk hoe uw modem antwoordt en de communicatie van de machine aan de andere kant. ; -; Vul de seriële lijn in welke verbonden is met de modem +; Vul de seriële lijn in welke verbonden is met het modem ; set line /dev/tty01 ; -; Stel de modem snelheid in: +; Stel het modem snelheid in: ; set speed 19200 set file type binary ; volledige 8 bit bestands xfer @@ -1843,8 +1843,8 @@ def \%x 0 ; login prompt teller goto slhup -:slcmd ; stel de modem in op command mode -echo Stel de modem in op command mode. +:slcmd ; stel het modem in op commandomodus +echo Stel het modem in op commandomodus. clear ; Verwijder ongelezen karakters uit de input buffer pause 1 output +++ ; hayes escape sequence @@ -1854,7 +1854,7 @@ pause 1 output at\13 input 1 OK\13\10 -if fail goto slcmd ; Als de modem niet antwoord met OK, probeer het opnieuw +if fail goto slcmd ; Als het modem niet antwoordt met OK, probeer het opnieuw :slhup ; hang de telefoon op clear ; Verwijder ongelezen karakters uit de input buffer @@ -1862,7 +1862,7 @@ echo De telefoon wordt opgehangen. output ath0\13 ; hayes command voo on hook input 2 OK\13\10 -if fail goto slcmd ; Als er geen OK antwoord is, stel de modem in op command mode +if fail goto slcmd ; Als er geen OK antwoord is, stel het modem in op commandomodus :sldial ; Draai het nummer pause 1 @@ -1953,7 +1953,7 @@ Deze sectie behandelt een paar problemen die kunnen - optreden wanneer PPP wordt gebruikt over een modem verbinding. + optreden wanneer PPP wordt gebruikt over een modemverbinding. Bijvoorbeeld, misschien moet u exact weten wat de prompt is die het systeem waarop u inbelt presenteert. Sommige providers presenteren de ssword @@ -1989,7 +1989,7 @@ als zijnde sio1 of COM2. Als dat klopt hoeft u de kernel niet opnieuw te bouwen. Wanneer u de sio-apparaten controleert - en de modem is op sio1 te vinden of als + en het modem is op sio1 te vinden of als COM2 als u zich onder &ms-dos; bevindt, dan is uw modemapparaat /dev/cuad1. @@ -2035,7 +2035,7 @@ ppp ON example> term Wissel naar terminal mode zodat we handmatig - de modem kunnen bedienen. + het modem kunnen bedienen. deflink: Entering terminal mode on /dev/cuad1 type '~h' for help @@ -2044,7 +2044,7 @@ OK atdt123456789 - Gebruik at om de modem te initialiseren, + Gebruik at om het modem te initialiseren, en daarna atdt en het nummer voor uw provider om het inbel proces te beginnen. @@ -2134,7 +2134,7 @@ meestal XON/XOFF. Zie de &man.ppp.8; handleiding voor meer informatie over deze optie en hoe deze gebruikt kan worden. - Als u een oudere modem heeft, kan het voorkomen dat u ook + Als u een ouder modem heeft, kan het voorkomen dat u ook de optie moet gebruiken. De parity is standaard ingesteld op none maar wordt gebruikt voor fout controle (met als gevolg een grote verhoging van @@ -2306,7 +2306,7 @@ linkend="ports">Ports Collectie. Houd u echter in uw achterhoofd dat dit uw modem ernstige schade kan toebrengen, dus denkt u er goed over na voordat u het uitprobeert. - Installeer simpelweg het programma dat is meegeleverd bij de + Installeer simpelweg het programma dat is meegeleverd bij het modem door uw provider. Open hierna het System menu vanuit het programma. De naam van uw profiel moet hier te vinden zijn. Meestal is deze @@ -2352,7 +2352,7 @@ class="registered">HomeConnect ADSL Modem Dual Link - Deze modem volgt Dit modem volgt RFC 2516 niet (Een methode voor het versturen van PPP over Ethernet (PPPoE) geschreven door by L. Mamakos, @@ -2377,7 +2377,7 @@ niet mogelijk om tegelijkertijd met een normale PPPoE cliënt of server en een &tm.3com; HomeConnect - ADSL modem te communiceren. + ADSL-modem te communiceren. @@ -2463,8 +2463,8 @@ variateit aan diensten verbinding te maken, in het bijzonder PPTP diensten. U kunt mpd vinden in de Ports Collectie, net/mpd. - Veel ADSL modems vereisen dat er een PPTP tunnel wordt - gecreeërd tussen de modem en de computer, een voorbeeld + Veel ADSL-modems vereisen dat er een PPTP tunnel wordt + gecreeërd tussen het modem en de computer, een voorbeeld van zo'n modem is de Alcatel &speedtouch; Home. Eerst moet u de port installeren waarna @@ -2546,7 +2546,7 @@ - Het IP adres van uw ADSL modem. Voor de Alcatel + Het IP adres van uw ADSL-modem. Voor de Alcatel &speedtouch; Home is dit adres standaard 10.0.0.138. @@ -2622,7 +2622,7 @@ Dit opent een tunnel voor een PPP sessie naar uw DSL router. - Ethernet DSL modems hebben een voor geconfigureerd LAN IP + Ethernet DSL-modems hebben een voor geconfigureerd LAN IP adres waarmee u verbinding maakt. In het geval van de Alcatel &speedtouch; home is 10.0.0.138 het adres. Uw router documentatie vertelt u welk adres uw @@ -2708,7 +2708,7 @@ verwijst naar de echte naam van het apparaat /dev/cuadN. Dit geeft de mogelijkheid om naam abstract te houden, voor het geval - de modem ooit verplaatst wordt naar een andere poort. Het kan + het modem ooit verplaatst wordt naar een andere poort. Het kan best een vervelende klus zijn wanneer er een aantal bestanden in /etc en .kermrc bestanden verspreid over het gehele @@ -2903,7 +2903,7 @@ op te leveren. (ifconfig sl0 lijkt hetzelfde resultaat te geven.) - Soms kan het gebeuren dat de modem weigert om de carrier + Soms kan het gebeuren dat het modem weigert om de carrier los te laten. Start in dat geval simpelweg kermit en stop deze wederom. Meestal stopt het met de tweede poging. From owner-p4-projects@FreeBSD.ORG Sun Mar 22 22:05:38 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 990AD106574A; Sun, 22 Mar 2009 22:05: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 54B251065747 for ; Sun, 22 Mar 2009 22:05:38 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 42B998FC13 for ; Sun, 22 Mar 2009 22:05:38 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MM5bQK031180 for ; Sun, 22 Mar 2009 22:05:37 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MM5bIa031178 for perforce@freebsd.org; Sun, 22 Mar 2009 22:05:37 GMT (envelope-from andre@freebsd.org) Date: Sun, 22 Mar 2009 22:05:37 GMT Message-Id: <200903222205.n2MM5bIa031178@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 159638 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 22:05:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=159638 Change 159638 by andre@andre_t61 on 2009/03/22 22:04:51 Split the states the TCP sender can be in into clearly distinct phases to simplify the logic all over the place. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_var.h#5 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_var.h#5 (text+ko) ==== @@ -137,9 +137,14 @@ #define TF_TSO 0x1000000 /* TSO enabled on this connection */ - u_int t_cflags; /* congestion control flags */ -#define TF_FASTRECOVERY 0x0100000 /* in NewReno Fast Recovery */ -#define TF_WASFRECOVERY 0x0200000 /* was in NewReno Fast Recovery */ + u_int t_phase; /* send phase we are currently in */ +#define TP_IDLE 0 /* nothing to send */ +#define TP_SLOWSTART 1 /* slow start */ +#define TP_CONGAVOID 2 /* congestion avoidance */ +#define TP_LOSSRECOV 3 /* loss recovery */ +#define TP_LOSSREXMT 4 /* loss recovery failed, retransmit */ +#define TP_PERSIST 5 /* persistent mode */ +#define TP_URGENT 6 /* urgent mode */ int t_softerror; /* possible error not yet reported */ From owner-p4-projects@FreeBSD.ORG Sun Mar 22 22:07:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5D281065672; Sun, 22 Mar 2009 22:07: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 63BAC1065670 for ; Sun, 22 Mar 2009 22:07:40 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 396868FC25 for ; Sun, 22 Mar 2009 22:07:40 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MM7e81031333 for ; Sun, 22 Mar 2009 22:07:40 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MM7enW031330 for perforce@freebsd.org; Sun, 22 Mar 2009 22:07:40 GMT (envelope-from andre@freebsd.org) Date: Sun, 22 Mar 2009 22:07:40 GMT Message-Id: <200903222207.n2MM7enW031330@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 159639 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 22:07:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=159639 Change 159639 by andre@andre_t61 on 2009/03/22 22:07:35 Rearrange things and adjust logic. More to come. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_cc_newreno.c#2 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_cc_newreno.c#2 (text+ko) ==== @@ -9,23 +9,6 @@ } /* - * update ssthresh to approx 1/2 of cwnd - */ -void -newreno_ssthresh_update(struct tcpcb *tp) -{ - u_int win; - - /* reset ssthresh */ - win = min(tp->snd_wnd, tp->snd_cwnd) / 2 / tp->snd_mss; - - if (win < 2) - win = 2; - - tp->snd_ssthresh = win * tp->snd_mss; -} - -/* * initial cwnd at the start of a connection * if there is a hostcache entry for the foreign host, base cwnd on that * if rfc3390 is enabled, set cwnd to approx 4 MSS as recommended @@ -61,7 +44,7 @@ min(metrics.rmx_cwnd / 2, min(tp->snd_wnd, so->so_snd.sb_hiwat))); else - tp->snd_cwnd = min(4 * tp->snd_mss, max(2 * tp->snd_mss, 4380)); + tp->snd_cwnd = tcp_init_cwnd(tp); } /* @@ -73,7 +56,7 @@ newreno_ack_received(struct tcpcb *tp, struct tcphdr *th, tcp_win tiwin, int acked, int tlen, int sacked) { - u_int incr = tp->snd_mss; + u_int incr; /* * Do we have new information? @@ -108,8 +91,11 @@ * maxseg^2 / cwnd per ACK as the increment. * If cwnd > maxseg^2, fix the cwnd increment at 1 byte to * avoid capping cwnd. + * + * NB: Make sure to lower bound cwnd to one (two?) segments. */ if (tp->snd_cwnd > tp->snd_ssthresh) { + /* Congestion avoidance */ if (tcp_do_abc) { tp->snd_abcack += acked; if (tp->snd_abcack >= tp->snd_cwnd) { @@ -127,22 +113,32 @@ * snd_max check is sufficient to handle this). */ incr = min(acked, tcp_abc_l_var * tp->snd_mss); - } + } else + incr = tp->snd_mss; /* * ABC is on by default, so (incr == 0) frequently. + * + * NB: Make sure to upper bound cwnd to the maximum possible window. */ - if (incr > 0) + if (incr > 0 && tp->snd_wnd < (TCP_MAXWIN << tp->snd_scale)) tp->snd_cwnd = min(tp->snd_cwnd + incr, TCP_MAXWIN << tp->snd_scale); } /* - * update the value of ssthresh before entering FR + * update the value of ssthresh before entering loss recovery */ void -newreno_pre_fr(struct tcpcb *tp, struct tcphdr *th) +newreno_pre_lr(struct tcpcb *tp) { - newreno_ssthresh_update(tp); + /* + * RFC2581: + * ssthresh = cwnd = (FlightSize / 2) + * lower bound to twice mss + */ + tp->snd_ssthresh = max(2 * tp->snd_mss, SEQ_DELTA(tp->snd_una, tp->snd_nxt) / 2); + tp->snd_cwnd = tp->snd_ssthresh; + } /* @@ -151,7 +147,7 @@ * of new reno. */ void -newreno_post_fr(struct tcpcb *tp, struct tcphdr *th) +newreno_post_lr(struct tcpcb *tp, struct tcphdr *th) { /* * Out of fast recovery. @@ -190,7 +186,7 @@ * this is a local network or not. */ - tp->snd_cwnd = tp->t_maxseg * ss_fltsz; + tp->snd_cwnd = tcp_init_cwnd(tp); } /* From owner-p4-projects@FreeBSD.ORG Sun Mar 22 22:23:59 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D1BBF1065688; Sun, 22 Mar 2009 22:23:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8EA49106567E for ; Sun, 22 Mar 2009 22:23:58 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7D23B8FC15 for ; Sun, 22 Mar 2009 22:23:58 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2MMNwVG033078 for ; Sun, 22 Mar 2009 22:23:58 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2MMNwDl033076 for perforce@freebsd.org; Sun, 22 Mar 2009 22:23:58 GMT (envelope-from andre@freebsd.org) Date: Sun, 22 Mar 2009 22:23:58 GMT Message-Id: <200903222223.n2MMNwDl033076@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 159642 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 22 Mar 2009 22:24:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=159642 Change 159642 by andre@andre_t61 on 2009/03/22 22:23:33 Add tcp_win and tcp_ts types for more safety Affected files ... .. //depot/projects/tcp_new/netinet/tcp.h#3 edit .. //depot/projects/tcp_new/netinet/tcp_input.c#9 edit .. //depot/projects/tcp_new/netinet/tcp_var.h#6 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp.h#3 (text+ko) ==== @@ -38,6 +38,8 @@ #if __BSD_VISIBLE typedef u_int32_t tcp_seq; +typedef u_int32_t tcp_win; +typedef u_int32_t tcp_ts; #define tcp6_seq tcp_seq /* for KAME src sync over BSD*'s */ #define tcp6hdr tcphdr /* for KAME src sync over BSD*'s */ ==== //depot/projects/tcp_new/netinet/tcp_input.c#9 (text+ko) ==== @@ -2490,7 +2490,7 @@ int acked, int tlen, int sacked) { int rtt; - int tick = tcp_ticks; + tcp_ts tick = tcp_ticks; INP_LOCK_ASSERT(tp->t_inpcb); KASSERT(tp != NULL && th != NULL && to != NULL, ==== //depot/projects/tcp_new/netinet/tcp_var.h#6 (text+ko) ==== @@ -295,16 +295,16 @@ * options in tcp_addoptions. */ struct tcpopt { - u_long to_flags; /* which options are present */ + u_int to_flags; /* which options are present */ #define TOF_MSS 0x0001 /* maximum segment size */ #define TOF_SCALE 0x0002 /* window scaling */ #define TOF_SACKPERM 0x0004 /* SACK permitted */ #define TOF_TS 0x0010 /* timestamp */ #define TOF_SIGNATURE 0x0040 /* TCP-MD5 signature option (RFC2385) */ #define TOF_SACK 0x0080 /* Peer sent SACK option */ -#define TOF_MAXOPT 0x0100 - u_int32_t to_tsval; /* new timestamp */ - u_int32_t to_tsecr; /* reflected timestamp */ +#define TOF_MAXOPT 0x0100 /* highest option shift one */ + tcp_ts to_tsval; /* new timestamp */ + tcp_ts to_tsecr; /* reflected timestamp */ u_int16_t to_mss; /* maximum segment size */ u_int8_t to_wscale; /* window scaling */ u_int8_t to_nsacks; /* number of SACK blocks */ From owner-p4-projects@FreeBSD.ORG Mon Mar 23 09:17:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 240B11065674; Mon, 23 Mar 2009 09:17: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 D86461065672 for ; Mon, 23 Mar 2009 09:17:03 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C768A8FC1A for ; Mon, 23 Mar 2009 09:17:03 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2N9H3Rc069968 for ; Mon, 23 Mar 2009 09:17:03 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2N9H30R069966 for perforce@freebsd.org; Mon, 23 Mar 2009 09:17:03 GMT (envelope-from rene@FreeBSD.org) Date: Mon, 23 Mar 2009 09:17:03 GMT Message-Id: <200903230917.n2N9H30R069966@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159665 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2009 09:17:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=159665 Change 159665 by rene@rene_self on 2009/03/23 09:17:01 Fix build of FAQ after change 159632 and use Dutch bibliography. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#17 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/faq/book.sgml#17 (text+ko) ==== @@ -9,9 +9,9 @@ --> + %books.ent; - + ]> @@ -79,7 +79,7 @@ om te helpen met het project, stuur dan een email naar de &a.doc;. De laatste versie van dit document is altijd beschikbaar op de &os; Web server. + url="&url.books.faq.en;">&os; Web server. Het kan ook gedownload worden als één groot HTML bestand door middel van HTTP, of als gewone tekst, &postscript;, PDF, etc. vanaf de From owner-p4-projects@FreeBSD.ORG Mon Mar 23 10:24:12 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 470A0106566C; Mon, 23 Mar 2009 10:24: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 EF2A9106564A for ; Mon, 23 Mar 2009 10:24:11 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DCB418FC12 for ; Mon, 23 Mar 2009 10:24:11 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2NAOBMO078488 for ; Mon, 23 Mar 2009 10:24:11 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2NAOBJn078486 for perforce@freebsd.org; Mon, 23 Mar 2009 10:24:11 GMT (envelope-from rene@FreeBSD.org) Date: Mon, 23 Mar 2009 10:24:11 GMT Message-Id: <200903231024.n2NAOBJn078486@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159666 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2009 10:24:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=159666 Change 159666 by rene@rene_self on 2009/03/23 10:23:23 Dutch bibliography: * whitespace cleanup * use "authorgroup" tag when multiple authors are present * use "editie" and "pagina's" in "edition" and "pagenums" tags Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/bibliography.sgml#2 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/bibliography.sgml#2 (text+ko) ==== @@ -1,7 +1,7 @@ + + @@ -58,4 +58,215 @@ libraries. Please use them for I18N compliance. - + + + + + + Gábor + Kövesdán + Contributed by + + + + + Localized Messages with POSIX.1 Native Language Support (NLS) + + Beyond the basic I18N functions, like supporting various input + encodings or supporting national conventions, such as the different + decimal separators, at a higher level of I18N, it is possible to localize the + messages written to the output by the various programs. A common way of doing + this is using the POSIX.1 NLS functions, which are provided as a part + of the &os; base system. + + + Organizing Localized Messages into Catalog Files + + POSIX.1 NLS is based on catalog files, which contain the + localized messages in the desired encoding. The messages are + organized into sets and each message is identified by an integer + number in the containing set. The catalog files are conventionally + named after the locale they contain localized messages for, followed + by the .msg extension. For instance, the + Hungarian messages for ISO8859-2 encoding should be stored in a file + called hu_HU.ISO8859-2. + + These catalog files are common text files that contain the + numbered messages. It is possible to write comments by starting + the line with a $ sign. Set boundaries are also separated by + special comments, where the keyword set must + directly follow the $ sign. The set keyword + is then followed by the set number. For example: + + $set 1 + + The actual message entries start with the message number and + followed by the localized message. The well-known + modifiers from &man.printf.3; are accepted: + + 15 "File not found: %s\n" + + The language catalog files have to be compiled into a binary + form before they can be opened from the program. This conversion + is done with the &man.gencat.1; utility. Its first argument is the + filename of the compiled catalog and its further arguments are the + input catalogs. The localized messages can also be organized into + more catalog files and then all of them can be processed with + &man.gencat.1;. + + + + Using the Catalog Files from the Source Code + + Using the catalog files is simple. To use + the related functions, nl_types.h must be included. Before + using a catalog, it has to be opened with &man.catopen.3;. + The function takes two arguments. The first parameter is the name of the + installed and compiled catalog. Usually, the name of the + program is used, such as grep. + This name will be used when looking for the compiled + catalog file. The &man.catopen.3; call looks for this file + in /usr/share/nls/locale/catname + and in /usr/local/share/nls/locale/catname, + where locale is the locale set and + catname is the catalog name being + discussed. The second parameter is a constant, which can have + two values: + + + + NL_CAT_LOCALE, which means that + the used catalog file will be based on + LC_MESSAGES. + + + 0, which means that + LANG has to be used to open + the proper catalog. + + + The &man.catopen.3; call returns a catalog identifier of + type nl_catd. Please refer to the manual page for a list of possible returned error + codes. + + After opening a catalog &man.catgets.3; can be used to retrieve + a message. The first parameter is the catalog identifier returned + by &man.catopen.3;, the second one is the number of the set, the + third one is the number of the messages, and the fourth one is a + fallback message, which will be returned if the requested message + cannot be retrieved from the catalog file. + + After using the catalog file, it must be closed by calling + &man.catclose.3;, which has one argument, the catalog id. + + + + A Practical Example + + The following example will demonstrate an easy solution on how to + use NLS catalogs in a flexible way. + + The below lines need to be put into a common header file of + the program, which is included into all source files where + localized messages are necessary: + + +#ifdef WITHOUT_NLS +#define getstr(n) nlsstr[n] +#else +#include <nl_types.h> + +extern nl_catd catalog; +#define getstr(n) catgets(catalog, 1, n, nlsstr[n]) +#endif + +extern char *nlsstr[]; + + Next, put these lines into the global declaration part of the + main source file: + + +#ifndef WITHOUT_NLS +#include <nl_types.h> +nl_catd catalog; +#endif + +/* + * Default messages to use when NLS is disabled or no catalog + * is found. + */ +char *nlsstr[] = { + "", +/* 1*/ "some random message", +/* 2*/ "some other message" +}; + + Next come the real code snippets, which open, read, and + close the catalog: + + +#ifndef WITHOUT_NLS + catalog = catopen("myapp", NL_CAT_LOCALE); +#endif + +... + +printf(getstr(1)); + +... + +#ifndef WITHOUT_NLS + catclose(catalog); +#endif + + + + Making use of <filename>bsd.nls.mk</filename> + + Using the catalog files requires few repeatable steps, + such as compiling the catalogs and installing them to the + proper location. In order to simplify this process even + more, bsd.nls.mk introduces some macros. + It is not necessary to include bsd.nls.mk + explicitly, it is pulled in from the common Makefiles, + such as bsd.prog.mk or + bsd.lib.mk. + + Usually it is enough to define NLSNAME, + which should have the catalog name mentioned as the first + argument of &man.catopen.3; and list the catalog files in + NLS without their .msg + extension. Here is an example, which makes it possible to + to disable NLS when used with the code examples before. + The WITHOUT_NLS &man.make.1; variable has + to be defined in order to build the program without NLS + support. + + +.if !defined(WITHOUT_NLS) +NLS= es_ES.ISO8859-1 +NLS+= hu_HU.ISO8859-2 +NLS+= pt_BR.ISO8859-1 +.else +CFLAGS+= -DWITHOUT_NLS +.endif + + Conventionally, the catalog files are placed under the + nls subdirectory and + this is the default behaviour of bsd.nls.mk. + It is possible, though to override the location of the + catalogs with the NLSSRCDIR &man.make.1; + variable. The default name of the precompiled catalog files + also follow the naming convention mentioned before. It can be + overriden by setting the NLSNAME variable. + There are other options to fine tune the processing of the catalog + files but usually it is not needed, thus they are not described + here. For further information on bsd.nls.mk, + please refer to the file itself, it is short and easy to + understand. + + + ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#17 (text+ko) ==== @@ -12,7 +12,7 @@ The &os; Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1109 2009/02/02 19:46:41 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1110 2009/03/10 06:01:59 pgj Exp $ 1995 @@ -5035,7 +5035,7 @@ &prompt.root; newfs /dev/ad1s1a &prompt.root; mount /dev/ad1s1a /mnt &prompt.root; cd /mnt -&prompt.root; dump 0af - / | restore xf - +&prompt.root; dump 0af - / | restore rf - Rearranging your partitions with dump takes a bit more work. To merge a partition like @@ -5047,9 +5047,9 @@ &prompt.root; newfs /dev/ad1s1a &prompt.root; mount /dev/ad1s1a /mnt &prompt.root; cd /mnt -&prompt.root; dump 0af - / | restore xf - +&prompt.root; dump 0af - / | restore rf - &prompt.root; cd var -&prompt.root; dump 0af - /var | restore xf - +&prompt.root; dump 0af - /var | restore rf - To split a directory from its parent, say putting /var on its own partition when it was @@ -5063,7 +5063,7 @@ &prompt.root; mkdir /mnt/var &prompt.root; mount /dev/ad1s1d /mnt/var &prompt.root; cd /mnt -&prompt.root; dump 0af - / | restore xf - +&prompt.root; dump 0af - / | restore rf - You might prefer &man.cpio.1;, &man.pax.1;, &man.tar.1; to &man.dump.8; for user data. At the time of this writing, ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#24 (text+ko) ==== @@ -1,7 +1,7 @@ PERL_VERSION The full version of perl installed (e.g., - 5.00503). - - - - PERL_VER - - The short version of perl installed (e.g., - 5.005). + 5.8.9). PERL_LEVEL The installed perl version as an integer of the form MNNNPP - (e.g., 500503). + (e.g., 500809). @@ -8396,13 +8389,11 @@ %%PERL_VERSION%% will be substituted for appropriately. The value of %%OSREL%% is the numeric revision of the operating system (e.g., - 4.9). %%PERL_VERSION%% is - the full version number of perl (e.g., - 5.00502) and %%PERL_VER%% - is the perl version number minus - the patchlevel (e.g., 5.005). Several other - %%VARS%% related to - port's documentation files are described in 4.9). %%PERL_VERSION%% and + %%PERL_VER%% is the full version number of + perl (e.g., 5.8.9). + Several other %%VARS%% + related to port's documentation files are described in the relevant section. If you need to make other substitutions, you can set the @@ -9820,1233 +9811,1450 @@ __FreeBSD_version values - + + Value + Date Release - __FreeBSD_version + 119411 + 2.0-RELEASE - 119411 + 199501, 199503 + March 19, 1995 2.1-CURRENT - 199501, 199503 + 199504 + April 9, 1995 2.0.5-RELEASE - 199504 + 199508 + August 26, 1995 2.2-CURRENT before 2.1 - 199508 + 199511 + November 10, 1995 2.1.0-RELEASE - 199511 + 199512 + November 10, 1995 2.2-CURRENT before 2.1.5 - 199512 + 199607 + July 10, 1996 2.1.5-RELEASE - 199607 + 199608 + July 12, 1996 2.2-CURRENT before 2.1.6 - 199608 + 199612 + November 15, 1996 2.1.6-RELEASE - 199612 + 199612 + 2.1.7-RELEASE - 199612 + 220000 + February 19, 1997 2.2-RELEASE - 220000 + (not changed) + 2.2.1-RELEASE - 220000 (no change) + (not changed) + 2.2-STABLE after 2.2.1-RELEASE - 220000 (no change) + 221001 + April 15, 1997 2.2-STABLE after texinfo-3.9 - 221001 + 221002 + April 30, 1997 2.2-STABLE after top - 221002 + 222000 + May 16, 1997 2.2.2-RELEASE - 222000 + 222001 + May 19, 1997 2.2-STABLE after 2.2.2-RELEASE - 222001 + 225000 + October 2, 1997 2.2.5-RELEASE - 225000 + 225001 + November 20, 1997 2.2-STABLE after 2.2.5-RELEASE - 225001 + 225002 + December 27, 1997 2.2-STABLE after ldconfig -R merge - 225002 + 226000 + March 24, 1998 2.2.6-RELEASE - 226000 + 227000 + July 21, 1998 2.2.7-RELEASE - 227000 + 227001 + July 21, 1998 2.2-STABLE after 2.2.7-RELEASE - 227001 + 227002 + September 19, 1998 2.2-STABLE after &man.semctl.2; change - 227002 + 228000 + November 29, 1998 2.2.8-RELEASE - 228000 + 228001 + November 29, 1998 2.2-STABLE after 2.2.8-RELEASE - 228001 + 300000 + February 19, 1996 3.0-CURRENT before &man.mount.2; change - 300000 + 300001 + September 24, 1997 3.0-CURRENT after &man.mount.2; change - 300001 + 300002 + June 2, 1998 3.0-CURRENT after &man.semctl.2; change - 300002 + 300003 + June 7, 1998 3.0-CURRENT after ioctl arg changes - 300003 + 300004 + September 3, 1998 3.0-CURRENT after ELF conversion - 300004 + 300005 + October 16, 1998 3.0-RELEASE - 300005 + 300006 + October 16, 1998 3.0-CURRENT after 3.0-RELEASE - 300006 + 300007 + January 22, 1999 3.0-STABLE after 3/4 branch - 300007 + 310000 + February 9, 1999 3.1-RELEASE - 310000 + 310001 + March 27, 1999 3.1-STABLE after 3.1-RELEASE - 310001 + 310002 + April 14, 1999 3.1-STABLE after C++ constructor/destructor order change - 310002 + 320000 + 3.2-RELEASE - 320000 + 320001 + May 8, 1999 3.2-STABLE - 320001 + 320002 + August 29, 1999 3.2-STABLE after binary-incompatible IPFW and socket changes - 320002 + 330000 + September 2, 1999 3.3-RELEASE - 330000 + 330001 + September 16, 1999 3.3-STABLE - 330001 + 330002 + November 24, 1999 3.3-STABLE after adding &man.mkstemp.3; to libc - 330002 + 340000 + December 5, 1999 3.4-RELEASE - 340000 + 340001 + December 17, 1999 3.4-STABLE - 340001 + 350000 + June 20, 2000 3.5-RELEASE - 350000 + 350001 + July 12, 2000 3.5-STABLE - 350001 + 400000 + January 22, 1999 4.0-CURRENT after 3.4 branch - 400000 + 400001 + February 20, 1999 4.0-CURRENT after change in dynamic linker handling - 400001 + 400002 + March 13, 1999 4.0-CURRENT after C++ constructor/destructor order change - 400002 + 400003 + March 27, 1999 4.0-CURRENT after functioning &man.dladdr.3; - 400003 + 400004 + April 5, 1999 4.0-CURRENT after __deregister_frame_info dynamic linker bug fix (also 4.0-CURRENT after EGCS 1.1.2 integration) - 400004 + 400005 + April 27, 1999 4.0-CURRENT after &man.suser.9; API change (also 4.0-CURRENT after newbus) - 400005 + 400006 + May 31, 1999 4.0-CURRENT after cdevsw registration change - 400006 + 400007 + June 17, 1999 4.0-CURRENT after the addition of so_cred for socket level credentials - 400007 + 400008 + June 20, 1999 4.0-CURRENT after the addition of a poll syscall wrapper to libc_r - 400008 + 400009 + July 20, 1999 4.0-CURRENT after the change of the kernel's dev_t type to struct specinfo pointer - 400009 + 400010 + September 25, 1999 4.0-CURRENT after fixing a hole in &man.jail.2; - 400010 + 400011 + September 29, 1999 4.0-CURRENT after the sigset_t datatype change - 400011 + 400012 + November 15, 1999 4.0-CURRENT after the cutover to the GCC 2.95.2 compiler - 400012 + 400013 + December 4, 1999 4.0-CURRENT after adding pluggable linux-mode ioctl handlers - 400013 + 400014 + January 18, 2000 4.0-CURRENT after importing OpenSSL - 400014 + 400015 + January 27, 2000 4.0-CURRENT after the C++ ABI change in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default - 400015 + 400016 + February 27, 2000 4.0-CURRENT after importing OpenSSH - 400016 + 400017 + March 13, 2000 4.0-RELEASE - 400017 + 400018 + March 17, 2000 4.0-STABLE after 4.0-RELEASE - 400018 + 400019 + May 5, 2000 4.0-STABLE after the introduction of delayed checksums. - 400019 + 400020 + June 4, 2000 4.0-STABLE after merging libxpg4 code into libc. - 400020 + 400021 + July 8, 2000 4.0-STABLE after upgrading Binutils to 2.10.0, ELF branding changes, and tcsh in the base system. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 23 16:12:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B18E9106567B; Mon, 23 Mar 2009 16:12:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71B8B1065679 for ; Mon, 23 Mar 2009 16:12:13 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5FC228FC24 for ; Mon, 23 Mar 2009 16:12:13 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2NGCDJv033091 for ; Mon, 23 Mar 2009 16:12:13 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2NGCCGC033089 for perforce@freebsd.org; Mon, 23 Mar 2009 16:12:12 GMT (envelope-from rene@FreeBSD.org) Date: Mon, 23 Mar 2009 16:12:12 GMT Message-Id: <200903231612.n2NGCCGC033089@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159685 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2009 16:12:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=159685 Change 159685 by rene@rene_self on 2009/03/23 16:12:05 Minor changes to the committers guide: * ports freeze ends are also sent to ports@ * capitalize "Ports Management Team" * One instance of "VCS" seemed superfluous to me Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#17 edit Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#17 (text+ko) ==== @@ -1975,7 +1975,7 @@ Discuss any significant change before committing. - The VCS repository is not where changes should be + The repository is not where changes should be initially submitted for correctness or argued over, that should happen first in the mailing lists and the commit should only happen once something resembling consensus has @@ -2827,9 +2827,9 @@ During the ports freeze, you are not allowed to commit anything to the tree without explicit approval - from the ports management team. Explicit + from the Ports Management Team. Explicit approval here means that you send a patch to - the ports management team for review and get a reply + the Ports Management Team for review and get a reply saying, Go ahead and commit it. @@ -2862,7 +2862,7 @@ rolled. When the freeze starts, there will be another - announcement to the &a.committers;, of course. + announcement to the &a.ports; and &a.committers;, of course. From owner-p4-projects@FreeBSD.ORG Mon Mar 23 17:05:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4851B1065673; Mon, 23 Mar 2009 17:05: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 BB850106564A for ; Mon, 23 Mar 2009 17:05:07 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8EFB08FC12 for ; Mon, 23 Mar 2009 17:05:07 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2NH575j047894 for ; Mon, 23 Mar 2009 17:05:07 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2NH57eX047892 for perforce@freebsd.org; Mon, 23 Mar 2009 17:05:07 GMT (envelope-from rene@FreeBSD.org) Date: Mon, 23 Mar 2009 17:05:07 GMT Message-Id: <200903231705.n2NH57eX047892@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159688 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2009 17:05:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=159688 Change 159688 by rene@rene_self on 2009/03/23 17:04:12 Rewrite section 16.2 of the committers guide. Instead of an example on how to MFC using CVS, point to the appropriate sections on the wiki. An SVN example is too long IMHO and I cannot verify it myself anyway. Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#18 edit Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#18 (text+ko) ==== @@ -3362,35 +3362,16 @@ To add a file onto a branch, simply checkout or update to the branch you want to add to and then add the file using - vcs add as you normally would. For - example, if you wanted to MFC the file - src/sys/alpha/include/smp.h from head - to stable/7 and it does not exist in stable/7 yet, you would - use the following steps: - - + vcs add as you normally would. This works + fine for the doc and + ports trees. The src + tree uses SVN and requires more care because of the + mergeinfo properties. See section 1.4.6 + of the + Subversion Primer for details. Refer to + SubversionPrimer/Merging for details on how to + perform an MFC. From owner-p4-projects@FreeBSD.ORG Mon Mar 23 19:25:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 542D910656D2; Mon, 23 Mar 2009 19:25: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 0EC6E10656C1 for ; Mon, 23 Mar 2009 19:25:32 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EF59F8FC24 for ; Mon, 23 Mar 2009 19:25:31 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2NJPVMH063333 for ; Mon, 23 Mar 2009 19:25:31 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2NJPUrM063331 for perforce@freebsd.org; Mon, 23 Mar 2009 19:25:30 GMT (envelope-from trasz@freebsd.org) Date: Mon, 23 Mar 2009 19:25:30 GMT Message-Id: <200903231925.n2NJPUrM063331@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 159696 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2009 19:25:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=159696 Change 159696 by trasz@trasz_victim7 on 2009/03/23 19:24:41 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/MAINTAINERS#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/Makefile.inc1#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#20 integrate .. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#22 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/alias.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/miscbltin.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/CHANGES#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/lib/dns/validator.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/bind9/version#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/CHANGES#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/CREDITS#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/FILES#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/FREEBSD-Xlist#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/INSTALL.txt#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README.Win32#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README.aix#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README.dag#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README.hpux#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README.linux#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README.macosx#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README.septel#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/README.tru64#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/VERSION#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/acsite.m4#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/atmuni31.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/bpf/net/bpf_filter.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/bpf_dump.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/bpf_image.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/chmod_bpf#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/config.h.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/configure#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/configure.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/dlpisubs.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/dlpisubs.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/doc/pcap.html#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/doc/pcap.txt#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/doc/pcap.xml#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/etherent.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/ethertype.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/fad-getad.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/fad-gifc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/fad-glifc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/fad-sita.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/fad-win32.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/filtertest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/findalldevstest.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/gencode.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/gencode.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/grammar.y#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/ieee80211.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/inet.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/missing/snprintf.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/mkdep#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/nametoaddr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/net/bpf_filter.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/optimize.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/packaging/pcap.spec.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-bpf.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-bpf.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-bt-linux.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-bt-linux.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-config.1#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-config.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-dag.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-dag.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-dlpi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-dos.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-enet.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-filter.manmisc#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-filter.manmisc.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-int.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-libdlpi.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-linktype.manmisc#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-linktype.manmisc.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-linux.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-namedb.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-nit.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-nit.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-null.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-pf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-pf.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-savefile.manfile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-savefile.manfile.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-septel.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-septel.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-sita.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-sita.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-sita.html#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-snit.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-snoop.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-stdinc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-usb-linux.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-usb-linux.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap-win32.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap.3#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap.3pcap.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap/bluetooth.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap/bpf.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap/namedb.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap/pcap.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap/sll.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap/usb.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap/vlan.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap1.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_activate.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_breakloop.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_can_set_rfmon.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_close.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_compile.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_compile.3pcap.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_create.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_datalink.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_datalink.3pcap.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_datalink_name_to_val.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_datalink_val_to_name.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_dump.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_dump_close.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_dump_file.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_dump_flush.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_dump_ftell.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_dump_open.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_dump_open.3pcap.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_file.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_fileno.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_findalldevs.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_free_datalinks.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_freealldevs.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_freecode.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_get_selectable_fd.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_geterr.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_inject.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_is_swapped.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_lib_version.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_list_datalinks.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_list_datalinks.3pcap.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_lookupdev.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_lookupnet.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_loop.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_major_version.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_next_ex.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_offline_filter.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_open_dead.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_open_dead.3pcap.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_open_live.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_open_offline.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_open_offline.3pcap.in#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_set_buffer_size.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_set_datalink.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_set_promisc.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_set_rfmon.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_set_snaplen.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_set_timeout.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_setdirection.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_setfilter.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_setnonblock.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_snapshot.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_stats.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_statustostr.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/pcap_strerror.3pcap#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/runlex.sh#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/savefile.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/scanner.l#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/sll.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/CHANGES#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/CREDITS#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/FILES#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/FREEBSD-Xlist#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/INSTALL#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/INSTALL.txt#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/Makefile-devel-adds#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/Makefile.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/PLATFORMS#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/README#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/Readme.Win32#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/TODO#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/VERSION#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/addrtoname.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/addrtoname.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/af.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/af.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/aodv.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/appletalk.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/arcnet.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/atm.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/atmuni31.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/bgp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/bootp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/bpf_dump.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/chdlc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/checksum.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/config.h.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/configure#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/configure.in#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/dccp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/decnet.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/enc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ether.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ethertype.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/extract.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/fddi.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/gmpls.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/gmpls.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/gmt2local.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/gmt2local.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/icmp6.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ieee802_11.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ieee802_11_radio.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/igrp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/interface.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ip.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ip6.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ipfc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ipproto.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ipproto.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ipsec_doi.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ipx.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/isakmp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/l2tp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/l2vpn.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/l2vpn.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/lane.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/lbl/os-osf4.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/lbl/os-solaris2.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/lbl/os-sunos4.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/lbl/os-ultrix4.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/llc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/machdep.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/makemib#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/addrinfo.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/datalinks.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/dlnames.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/getaddrinfo.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/getnameinfo.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/inet_aton.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/inet_ntop.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/inet_pton.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/snprintf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/strdup.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/strlcat.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/strlcpy.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/missing/strsep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/mpls.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/nameser.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/netbios.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/netdissect.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/nfs.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/nfsfh.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/nlpid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/nlpid.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ntp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/oakley.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ospf.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ospf6.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/oui.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/oui.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/parsenfsfh.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/pcap-missing.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/pcap_dump_ftell.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/pmap_prot.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/ppp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-802_11.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ah.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-aodv.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ap1394.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-arcnet.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-arp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ascii.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-atalk.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-atm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-beep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-bfd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-bgp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-bootp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-bt.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-cdp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-cfm.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-chdlc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-cip.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-cnfp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-dccp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-decnet.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-dhcp6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-domain.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-dtp.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-dvmrp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-eap.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-egp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-eigrp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-enc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-esp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ether.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-fddi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-fr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-frag6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-gre.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-hsrp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-icmp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-icmp6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-igmp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-igrp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ip.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ip6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ip6opts.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ipcomp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ipfc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ipx.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-isakmp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-isoclns.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-juniper.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-krb.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-l2tp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-lane.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ldp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-llc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-lldp.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-lmp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-lspping.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-lwapp.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-lwres.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-mobile.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-mobility.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-mpcp.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-mpls.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-msdp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-netbios.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-nfs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ntp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-null.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ospf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ospf6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-pflog.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-pgm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-pim.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ppp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-pppoe.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-pptp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-radius.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-raw.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-rip.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-ripng.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-rrcp.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-rsvp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-rt6.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-rx.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-sctp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-sflow.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-sip.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-sl.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-sll.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-slow.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-smb.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-snmp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-stp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-sunatm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-sunrpc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-symantec.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-syslog.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-tcp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-telnet.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-tftp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-timed.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-token.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-udld.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-udp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-vjc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-vqp.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-vrrp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-vtp.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-wb.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/print-zephyr.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/route6d.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/rpc_auth.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/rpc_msg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/rx.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/sctpConstants.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/sctpHeader.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/setsignal.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/setsignal.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/slcompress.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/slip.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/sll.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/smb.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/smbutil.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/strcasecmp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tcp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tcpdump-stdinc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tcpdump.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tcpdump.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/telnet.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/.cvsignore#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/02-sunrise-sunset-esp.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/08-sunrise-sunset-aes.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/08-sunrise-sunset-esp2.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/alltests.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/bgp_vpn_attrset.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/bgp_vpn_attrset.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/eapon1.gdbinit#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/eapon1.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/eapon1.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/eapon1.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/eapon2.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp-secrets.txt#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp0.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp0.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp1.gdbinit#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp1.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp1.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp2.gdbinit#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp2.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp2.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp3.gdbinit#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp3.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp4.gdbinit#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp4.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp5.gdbinit#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp5.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/esp5.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/espudp1.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/espudp1.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/espudp1.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp-delete-segfault.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp-identification-segfault.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp-pointer-loop.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp1.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp1.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp2.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp2.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp3.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp3.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp4.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp4.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/isakmp4500.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/lmp.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/lmp.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/lmp.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/mpls-ldp-hello.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/mpls-ldp-hello.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/mpls-ldp-hello.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/ospf-gmpls.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/ospf-gmpls.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/ospf-gmpls.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-A.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-AA.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-X.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-XX.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-capX.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-capXX.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-flags.puu#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-flags.sh#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-x.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tests/print-xx.out#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/tftp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/timed.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/token.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/udp.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/util.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/tcpdump/vfprintf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/defaults/rc.conf#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/mail/aliases#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.include.dist#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/etc/netstart#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/Makefile.inc#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/pt_BR.ISO8859-1.msg#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/ru_RU.KOI8-R.msg#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/uk_UA.UTF-8.msg#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/string/strdup.3#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libpcap/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libpcap/config.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libthr/thread/thr_fork.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/map_object.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/rtld.1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/rtld.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/rtld.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/doc/en_US.ISO8859-1/hardware/article.sgml#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/doc/ru_RU.KOI8-R/hardware/common/dev.sgml#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/doc/share/misc/dev.archlist.txt#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/doc/zh_CN.GB2312/hardware/article.sgml#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/picobsd/build/picobsd#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/fdisk_pc98/fdisk.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ipfw/ipfw.8#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/recoverdisk/recoverdisk.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/Makefile#18 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/pccbb.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/usb.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/uscanner.4#3 delete .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man5/devfs.rules.5#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man9/bus_dma.9#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/pmap.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/GENERIC#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/pmap.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/HL200#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/KB920X#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/forth/loader.conf#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/pc98/libpc98/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/pc98/libpc98/bioscd.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/pc98/libpc98/time.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/pc98/loader/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/pc98/loader/main.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/dev/dtnfsclient/dtnfsclient.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#27 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#32 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/age/if_age.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/agp/agp.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/agp/agp_amd64.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/agp/agp_i810.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/agp/agp_intel.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/agp/agp_via.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_ath.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_athvar.h#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bge/if_bge.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/cxgb_main.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/dc/dcphy.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/dc/pnphy.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/ati_pcigart.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/drm_irq.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/drm_lock.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/drm_pciids.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/drm_scatter.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/drm_vm.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/i915_dma.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/i915_drv.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/i915_drv.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/i915_irq.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/i915_reg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/i915_suspend.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/mga_irq.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/radeon_irq.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ichwd/ichwd.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/msk/if_msk.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/my/if_my.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/syscons/teken/teken.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/syscons/teken/teken_subr.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/at91dci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/atmegadci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/atmegadci_atmelarm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ehci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ehci.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ehci_ixp4xx.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ehci_mbus.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ehci_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/musb_otg.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/musb_otg_atmelarm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ohci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ohci.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ohci_atmelarm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ohci_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/uhci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/uhci.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/uhci_pci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/usb_controller.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/uss820dci.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/uss820dci_atmelarm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/image/uscanner.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/input/uhid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/input/ums.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/misc/udbp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_cdce.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/u3g.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/ubser.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/ucycom.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/ufoma.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/ugensa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/umct.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/umodem.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/uplcom.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/uvisor.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/storage/umass.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/storage/urio.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/storage/ustorage_fs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/template/usb_template.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_bus.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_busdma.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_busdma.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_compat_linux.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_compat_linux.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_controller.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_core.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_debug.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_debug.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_defs.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_dev.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_dev.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_device.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_device.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_dynamic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_endian.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_generic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_handle_request.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hid.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hid.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hub.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_hub.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_lookup.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_lookup.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_mbuf.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_mbuf.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_msctest.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_process.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_process.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_request.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_request.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_sw_transfer.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_transfer.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_transfer.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_util.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_util.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdevs#23 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nullfs/null_vnops.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part_ebr.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/GENERIC#19 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/XBOX#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/vm_machdep.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/pmap.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/imgact_elf.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_environment.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_time.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_bus.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_cache.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/dtrace/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/dtrace/dtnfsclient/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/dtrace/dtraceall/dtraceall.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ip6_mroute_mod/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ip_mroute_mod/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/usb/Makefile#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/usb/uscanner/Makefile#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_input.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_node.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_output.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_scan_sta.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_tdma.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_tdma.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_var.h#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/igmp.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_mroute.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_mroute.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_subr.c#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_mroute.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/ip6_mroute.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/key.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfs4client/nfs4_vnops.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_krpc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vnops.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfsnode.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvkrpc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/GENERIC#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/powerpc/conf/GENERIC#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/central/central.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/conf/GENERIC#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/ebus/ebus.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/fhc/fhc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/include/trap.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/isa/isa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/isa/ofw_isa.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/pci/apb.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/pci/ofw_pcib.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/pci/ofw_pcibus.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/pci/psycho.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/pci/psychovar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/pci/schizo.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sbus/dma_sbus.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sbus/sbus.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sbus/sbusvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/db_disasm.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/eeprom.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/jbusppm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/machdep.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/mp_machdep.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/nexus.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/rtc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/sc_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/schppm.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/trap.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/upa.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/conf/GENERIC#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/include/trap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/sun4v/trap.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/dtrace_bsd.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/param.h#19 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/bin/sh/builtins/alias.0#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/bin/sh/builtins/alias.0.stdout#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/bin/sh/builtins/read1.0#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/bin/sh/builtins/read1.0.stdout#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/tools/tools/nanobsd/rescue/AMD64#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/tools/nanobsd/rescue/I386#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/tools/sysbuild/sysbuild.sh#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/ar/ar.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/kdump/kdump.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/netstat/main.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/netstat/mroute.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/netstat/netstat.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/eeprom/ofw_options.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/mergemaster/mergemaster.8#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/mergemaster/mergemaster.sh#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/tcpdump/tcpdump/Makefile#2 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/MAINTAINERS#4 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.151 2009/03/01 14:44:03 sos Exp $ +$FreeBSD: src/MAINTAINERS,v 1.152 2009/03/20 18:51:13 rnoland Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -76,7 +76,7 @@ share/mk ru This is a vital component of the build system, so I offer a pre-commit review for anything non-trivial. ipfw ipfw Pre-commit review preferred. send to ipfw@freebsd.org -drm anholt Just keep me informed of changes, try not to break it. +drm rnoland Just keep me informed of changes, try not to break it. libufs jmallett Willing to handle problems, help with work. fdc(4) joerg Just keep me informed of changes, try not to break it. sppp(4) joerg Just keep me informed of changes, try not to break it. ==== //depot/projects/soc2008/trasz_nfs4acl/Makefile.inc1#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.622 2009/03/15 23:52:13 imp Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.623 2009/03/19 00:44:22 imp Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -1017,6 +1017,7 @@ .for _tool in \ gnu/usr.bin/binutils \ gnu/usr.bin/cc \ + usr.bin/ar \ usr.bin/sed \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ ==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#20 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.176 2009/03/09 23:18:07 thompsa Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.178 2009/03/19 20:33:26 thompsa Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,10 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090319: uscanner(4) has been removed +OLD_FILES+=usr/share/man/man4/uscanner.4.gz +# 20090313: k8temp(4) renamed to amdtemp(4) +OLD_FILES+=usr/share/man/man4/k8temp.4.gz # 20090308: libusb.so.1 renamed OLD_LIBS+=usr/lib/libusb20.so.1 OLD_FILES+=usr/lib/libusb20.a ==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#22 (text+ko) ==== @@ -22,6 +22,39 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090320: + GEOM_PART has become the default partition slicer for storage devices, + replacing GEOM_MBR, GEOM_BSD, GEOM_PC98 and GEOM_GPT slicers. It + introduces some changes: + + MSDOS/EBR: the devices created from MSDOS extended partition entries + (EBR) can be named differently than with GEOM_MBR and are now symlinks + to devices with offset-based names. fstabs may need to be modified. + + BSD: the "geometry does not match label" warning is harmless in most + cases but it points to problems in file system misalignment with + disk geometry. The "c" partition is now implicit, covers the whole + top-level drive and cannot be (mis)used by users. + + General: Kernel dumps are now not allowed to be written to devices + whose partition types indicate they are meant to be used for file + systems (or, in case of MSDOS partitions, as something else than + the "386BSD" type). + + Most of these changes date approximately from 200812. + +20090319: + The uscanner(4) driver has been removed from the kernel. This follows + Linux removing theirs in 2.6 and making libusb the default interface + (supported by sane). + +20090319: + The multicast forwarding code has been cleaned up. netstat(1) + only relies on KVM now for printing bandwidth upcall meters. + The IPv4 and IPv6 modules are split into ip_mroute_mod and + ip6_mroute_mod respectively. The config(5) options for statically + compiling this code remain the same, i.e. 'options MROUTING'. + 20090315: Support for the IFF_NEEDSGIANT network interface flag has been removed, which means that non-MPSAFE network device drivers are no @@ -1342,4 +1375,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.583 2009/03/15 16:12:50 rwatson Exp $ +$FreeBSD: src/UPDATING,v 1.587 2009/03/20 23:13:32 ivoras Exp $ ==== //depot/projects/soc2008/trasz_nfs4acl/bin/sh/alias.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/alias.c,v 1.22 2008/06/07 16:28:20 rse Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/alias.c,v 1.24 2009/03/22 21:09:22 stefanf Exp $"); #include #include "shell.h" @@ -50,6 +50,7 @@ #define ATABSIZE 39 STATIC struct alias *atab[ATABSIZE]; +STATIC int aliases; STATIC void setalias(char *, char *); STATIC int unalias(const char *); @@ -106,6 +107,7 @@ ap->flag = 0; ap->next = *app; *app = ap; + aliases++; INTON; } @@ -135,6 +137,7 @@ ckfree(ap); INTON; } + aliases--; return (0); } } @@ -168,6 +171,7 @@ ckfree(tmp); } } + aliases = 0; INTON; } @@ -187,9 +191,47 @@ return (NULL); } -/* - * TODO - sort output - */ +static int +comparealiases(const void *p1, const void *p2) +{ + const struct alias *const *a1 = p1; + const struct alias *const *a2 = p2; + + return strcmp((*a1)->name, (*a2)->name); +} + +static void +printalias(const struct alias *a) +{ + char *p; + + out1fmt("%s=", a->name); + /* Don't print the space added above. */ + p = a->val + strlen(a->val) - 1; + *p = '\0'; + out1qstr(a->val); + *p = ' '; + out1c('\n'); +} + +static void +printaliases(void) +{ + int i, j; + struct alias **sorted, *ap; + + sorted = ckmalloc(aliases * sizeof(*sorted)); + j = 0; + for (i = 0; i < ATABSIZE; i++) + for (ap = atab[i]; ap; ap = ap->next) + if (*ap->name != '\0') + sorted[j++] = ap; + qsort(sorted, aliases, sizeof(*sorted), comparealiases); + for (i = 0; i < aliases; i++) + printalias(sorted[i]); + ckfree(sorted); +} + int aliascmd(int argc, char **argv) { @@ -198,16 +240,7 @@ struct alias *ap; if (argc == 1) { - int i; - - for (i = 0; i < ATABSIZE; i++) - for (ap = atab[i]; ap; ap = ap->next) { - if (*ap->name != '\0') { - out1fmt("alias %s=", ap->name); - out1qstr(ap->val); - out1c('\n'); - } - } + printaliases(); return (0); } while ((n = *++argv) != NULL) { @@ -215,11 +248,8 @@ if ((ap = lookupalias(n, 0)) == NULL) { outfmt(out2, "alias: %s not found\n", n); ret = 1; - } else { - out1fmt("alias %s=", n); - out1qstr(ap->val); - out1c('\n'); - } + } else + printalias(ap); else { *v++ = '\0'; setalias(n, v); ==== //depot/projects/soc2008/trasz_nfs4acl/bin/sh/miscbltin.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/miscbltin.c,v 1.37 2009/03/08 19:09:55 ed Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/miscbltin.c,v 1.39 2009/03/22 22:57:53 stefanf Exp $"); /* * Miscellaneous builtins. @@ -73,6 +73,16 @@ * ordinary characters. * * This uses unbuffered input, which may be avoidable in some cases. + * + * Note that if IFS=' :' then read x y should work so that: + * 'a b' x='a', y='b' + * ' a b ' x='a', y='b' + * ':b' x='', y='b' + * ':' x='', y='' + * '::' x='', y='' + * ': :' x='', y='' + * ':::' x='', y='::' + * ':b c:' x='', y='b c:' */ int @@ -88,6 +98,8 @@ int startword; int status; int i; + int is_ifs; + int saveall = 0; struct timeval tv; char *tvptr; fd_set ifds; @@ -135,7 +147,7 @@ if (*(ap = argptr) == NULL) error("arg count"); if ((ifs = bltinlookup("IFS", 1)) == NULL) - ifs = nullstr; + ifs = " \t\n"; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 23 20:01:09 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1539F1065675; Mon, 23 Mar 2009 20:01: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 8C30A1065674 for ; Mon, 23 Mar 2009 20:01:08 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7A5ED8FC13 for ; Mon, 23 Mar 2009 20:01:08 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2NK188B067006 for ; Mon, 23 Mar 2009 20:01:08 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2NK18cP067004 for perforce@freebsd.org; Mon, 23 Mar 2009 20:01:08 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 23 Mar 2009 20:01:08 GMT Message-Id: <200903232001.n2NK18cP067004@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 159700 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2009 20:01:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=159700 Change 159700 by hselasky@hselasky_laptop001 on 2009/03/23 20:00:37 USB controller: - get rid of the last CALLOUT_RETURNUNLOCKED reference. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#7 (text+ko) ==== @@ -277,7 +277,7 @@ usb2_bus_power_update(bus); - return; + USB_BUS_LOCK(bus); } /*------------------------------------------------------------------------* @@ -356,11 +356,8 @@ /* set softc - we are ready */ device_set_softc(dev, bus); - /* start watchdog - this function will unlock the BUS lock ! */ + /* start watchdog */ usb2_power_wdog(bus); - - /* need to return locked */ - USB_BUS_LOCK(bus); } /*------------------------------------------------------------------------* @@ -534,7 +531,7 @@ NULL, MTX_DEF | MTX_RECURSE); usb2_callout_init_mtx(&bus->power_wdog, - &bus->bus_mtx, CALLOUT_RETURNUNLOCKED); + &bus->bus_mtx, 0); TAILQ_INIT(&bus->intr_q.head); From owner-p4-projects@FreeBSD.ORG Mon Mar 23 20:20:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7963D1065692; Mon, 23 Mar 2009 20:20: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 23E26106567E for ; Mon, 23 Mar 2009 20:20:29 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0F8D08FC17 for ; Mon, 23 Mar 2009 20:20:29 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2NKKSbh069548 for ; Mon, 23 Mar 2009 20:20:28 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2NKKSUc069546 for perforce@freebsd.org; Mon, 23 Mar 2009 20:20:28 GMT (envelope-from jhb@freebsd.org) Date: Mon, 23 Mar 2009 20:20:28 GMT Message-Id: <200903232020.n2NKKSUc069546@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 159702 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2009 20:20:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=159702 Change 159702 by jhb@jhb_jhbbsd on 2009/03/23 20:19:50 IFC @159699 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#92 integrate .. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#41 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#74 integrate .. //depot/projects/smpng/sys/amd64/include/pmap.h#31 integrate .. //depot/projects/smpng/sys/arm/conf/HL200#8 integrate .. //depot/projects/smpng/sys/arm/conf/KB920X#15 integrate .. //depot/projects/smpng/sys/boot/forth/loader.conf#59 integrate .. //depot/projects/smpng/sys/boot/pc98/libpc98/bioscd.c#4 integrate .. //depot/projects/smpng/sys/boot/pc98/libpc98/biosdisk.c#16 integrate .. //depot/projects/smpng/sys/boot/pc98/libpc98/time.c#4 integrate .. //depot/projects/smpng/sys/cddl/dev/dtnfsclient/dtnfsclient.c#1 branch .. //depot/projects/smpng/sys/conf/NOTES#164 integrate .. //depot/projects/smpng/sys/conf/files#233 integrate .. //depot/projects/smpng/sys/dev/age/if_age.c#5 integrate .. //depot/projects/smpng/sys/dev/agp/agp.c#7 integrate .. //depot/projects/smpng/sys/dev/agp/agp_amd64.c#4 integrate .. //depot/projects/smpng/sys/dev/agp/agp_i810.c#8 integrate .. //depot/projects/smpng/sys/dev/agp/agp_intel.c#3 integrate .. //depot/projects/smpng/sys/dev/agp/agp_via.c#4 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.h#5 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#4 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#4 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#4 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#72 integrate .. //depot/projects/smpng/sys/dev/ath/if_athvar.h#44 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#105 integrate .. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#60 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#20 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_offload.c#5 integrate .. //depot/projects/smpng/sys/dev/dc/dcphy.c#7 integrate .. //depot/projects/smpng/sys/dev/dc/pnphy.c#5 integrate .. //depot/projects/smpng/sys/dev/drm/ati_pcigart.c#7 integrate .. //depot/projects/smpng/sys/dev/drm/drm_irq.c#9 integrate .. //depot/projects/smpng/sys/dev/drm/drm_pciids.h#12 integrate .. //depot/projects/smpng/sys/dev/drm/drm_scatter.c#8 integrate .. //depot/projects/smpng/sys/dev/drm/drm_vm.c#6 integrate .. //depot/projects/smpng/sys/dev/drm/i915_drv.c#9 integrate .. //depot/projects/smpng/sys/dev/drm/i915_suspend.c#4 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#15 integrate .. //depot/projects/smpng/sys/dev/my/if_my.c#30 integrate .. //depot/projects/smpng/sys/dev/syscons/teken/teken.c#5 integrate .. //depot/projects/smpng/sys/dev/syscons/teken/teken_subr.h#3 integrate .. //depot/projects/smpng/sys/dev/twa/tw_cl_init.c#5 integrate .. //depot/projects/smpng/sys/dev/twa/tw_osl.h#6 integrate .. //depot/projects/smpng/sys/dev/twa/tw_osl_freebsd.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/controller/at91dci.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/controller/atmegadci.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/controller/atmegadci_atmelarm.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_ixp4xx.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_mbus.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_pci.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/musb_otg.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/musb_otg_atmelarm.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci_atmelarm.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci_pci.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uhci.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uhci.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uhci_pci.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/usb_controller.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uss820dci.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uss820dci_atmelarm.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/image/uscanner.c#5 delete .. //depot/projects/smpng/sys/dev/usb/input/uhid.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/input/ums.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/misc/udbp.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cdce.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/serial/u3g.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ubser.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ucycom.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ufoma.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ugensa.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umct.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umodem.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uplcom.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uvisor.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/storage/umass.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/storage/urio.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/storage/ustorage_fs.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_bus.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_busdma.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_busdma.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_compat_linux.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_compat_linux.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_controller.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_core.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_debug.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_debug.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_defs.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dev.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dev.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dynamic.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_endian.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_generic.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_handle_request.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hid.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hid.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hub.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hub.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_lookup.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_lookup.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_mbuf.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_mbuf.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_msctest.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_process.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_process.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_request.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_request.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_sw_transfer.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_transfer.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_util.c#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_util.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#132 integrate .. //depot/projects/smpng/sys/geom/part/g_part.c#17 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#106 integrate .. //depot/projects/smpng/sys/i386/conf/XBOX#12 integrate .. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#91 integrate .. //depot/projects/smpng/sys/i386/include/pmap.h#42 integrate .. //depot/projects/smpng/sys/kern/imgact_elf.c#65 integrate .. //depot/projects/smpng/sys/kern/kern_environment.c#28 integrate .. //depot/projects/smpng/sys/kern/kern_time.c#56 integrate .. //depot/projects/smpng/sys/kern/subr_bus.c#76 integrate .. //depot/projects/smpng/sys/kern/vfs_cache.c#51 integrate .. //depot/projects/smpng/sys/modules/dtrace/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/dtrace/dtnfsclient/Makefile#1 branch .. //depot/projects/smpng/sys/modules/dtrace/dtraceall/dtraceall.c#2 integrate .. //depot/projects/smpng/sys/modules/usb/Makefile#14 integrate .. //depot/projects/smpng/sys/modules/usb/uscanner/Makefile#2 delete .. //depot/projects/smpng/sys/net/if.c#114 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.h#26 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_output.c#38 integrate .. //depot/projects/smpng/sys/netinet/ip_mroute.c#64 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#109 integrate .. //depot/projects/smpng/sys/netipsec/key.c#32 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vnops.c#31 integrate .. //depot/projects/smpng/sys/nfsclient/nfs.h#34 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_krpc.c#2 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#84 integrate .. //depot/projects/smpng/sys/nfsclient/nfsnode.h#23 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#82 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#56 integrate .. //depot/projects/smpng/sys/sparc64/central/central.c#10 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#91 integrate .. //depot/projects/smpng/sys/sparc64/ebus/ebus.c#26 integrate .. //depot/projects/smpng/sys/sparc64/fhc/fhc.c#13 integrate .. //depot/projects/smpng/sys/sparc64/include/trap.h#12 integrate .. //depot/projects/smpng/sys/sparc64/isa/isa.c#21 integrate .. //depot/projects/smpng/sys/sparc64/isa/ofw_isa.c#11 integrate .. //depot/projects/smpng/sys/sparc64/pci/apb.c#16 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pcib.c#11 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pcibus.c#15 integrate .. //depot/projects/smpng/sys/sparc64/pci/psycho.c#49 integrate .. //depot/projects/smpng/sys/sparc64/pci/psychovar.h#17 integrate .. //depot/projects/smpng/sys/sparc64/pci/schizo.c#5 integrate .. //depot/projects/smpng/sys/sparc64/sbus/dma_sbus.c#8 integrate .. //depot/projects/smpng/sys/sparc64/sbus/sbus.c#33 integrate .. //depot/projects/smpng/sys/sparc64/sbus/sbusvar.h#7 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/eeprom.c#11 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/jbusppm.c#2 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#94 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/mp_machdep.c#37 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/nexus.c#20 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/rtc.c#7 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/sc_machdep.c#4 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/schppm.c#2 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/trap.c#83 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/upa.c#10 integrate .. //depot/projects/smpng/sys/sun4v/conf/GENERIC#15 integrate .. //depot/projects/smpng/sys/sun4v/include/trap.h#5 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/trap.c#11 integrate .. //depot/projects/smpng/sys/sys/dtrace_bsd.h#2 integrate .. //depot/projects/smpng/sys/sys/param.h#139 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#92 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.656 2009/03/14 08:28:02 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.657 2009/03/22 04:32:05 alc Exp $"); /* * Manages physical address maps. @@ -542,7 +542,7 @@ * Initialize the kernel pmap (which is statically allocated). */ PMAP_LOCK_INIT(kernel_pmap); - kernel_pmap->pm_pml4 = (pdp_entry_t *) (KERNBASE + KPML4phys); + kernel_pmap->pm_pml4 = (pdp_entry_t *)PHYS_TO_DMAP(KPML4phys); kernel_pmap->pm_root = NULL; kernel_pmap->pm_active = -1; /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); @@ -1351,7 +1351,7 @@ { PMAP_LOCK_INIT(pmap); - pmap->pm_pml4 = (pml4_entry_t *)(KERNBASE + KPML4phys); + pmap->pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(KPML4phys); pmap->pm_root = NULL; pmap->pm_active = 0; TAILQ_INIT(&pmap->pm_pvchunk); @@ -4695,7 +4695,7 @@ oldpmap->pm_active &= ~PCPU_GET(cpumask); pmap->pm_active |= PCPU_GET(cpumask); #endif - cr3 = vtophys(pmap->pm_pml4); + cr3 = DMAP_TO_PHYS((vm_offset_t)pmap->pm_pml4); td->td_pcb->pcb_cr3 = cr3; load_cr3(cr3); critical_exit(); ==== //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#41 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.260 2009/03/02 18:43:50 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.262 2009/03/22 04:32:05 alc Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -103,6 +103,7 @@ register struct proc *p1; struct pcb *pcb2; struct mdproc *mdp2; + pmap_t pmap2; p1 = td1->td_proc; if ((flags & RFPROC) == 0) @@ -150,7 +151,8 @@ * Set registers for trampoline to user mode. Leave space for the * return address on stack. These are the kernel mode register values. */ - pcb2->pcb_cr3 = vtophys(vmspace_pmap(p2->p_vmspace)->pm_pml4); + pmap2 = vmspace_pmap(p2->p_vmspace); + pcb2->pcb_cr3 = DMAP_TO_PHYS((vm_offset_t)pmap2->pm_pml4); pcb2->pcb_r12 = (register_t)fork_return; /* fork_trampoline argument */ pcb2->pcb_rbp = 0; pcb2->pcb_rsp = (register_t)td2->td_frame - sizeof(void *); @@ -287,7 +289,6 @@ * Set registers for trampoline to user mode. Leave space for the * return address on stack. These are the kernel mode register values. */ - pcb2->pcb_cr3 = vtophys(vmspace_pmap(td->td_proc->p_vmspace)->pm_pml4); pcb2->pcb_r12 = (register_t)fork_return; /* trampoline arg */ pcb2->pcb_rbp = 0; pcb2->pcb_rsp = (register_t)td->td_frame - sizeof(void *); /* trampoline arg */ @@ -295,6 +296,7 @@ pcb2->pcb_rip = (register_t)fork_trampoline; /* * If we didn't copy the pcb, we'd need to do the following registers: + * pcb2->pcb_cr3: cloned above. * pcb2->pcb_dr*: cloned above. * pcb2->pcb_savefpu: cloned above. * pcb2->pcb_onfault: cloned above (always NULL here?). ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#74 (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.521 2009/02/23 18:34:56 thompsa Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.522 2009/03/19 20:33:26 thompsa Exp $ cpu HAMMER ident GENERIC @@ -295,7 +295,6 @@ 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 uark # Technologies ARK3116 based serial adapters device ubsa # Belkin F5U103 and compatible serial adapters ==== //depot/projects/smpng/sys/amd64/include/pmap.h#31 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.148 2008/08/04 08:04:09 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.150 2009/03/22 18:56:26 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -160,13 +160,7 @@ #define PDESHIFT (3) /* - * Address of current and alternate address space page table maps - * and directories. - * XXX it might be saner to just direct map all of physical memory - * into the kernel using 2MB pages. We have enough space to do - * it (2^47 bits of KVM, while current max physical addressability - * is 2^40 physical bits). Then we can get rid of the evil hole - * in the page tables and the evil overlapping. + * Address of current address space page table maps and directories. */ #ifdef _KERNEL #define addr_PTmap (KVADDR(PML4PML4I, 0, 0, 0)) @@ -243,6 +237,10 @@ TAILQ_HEAD(,pv_entry) pv_list; }; +/* + * The kernel virtual address (KVA) of the level 4 page table page is always + * within the direct map (DMAP) region. + */ struct pmap { struct mtx pm_mtx; pml4_entry_t *pm_pml4; /* KVA of level 4 page table */ ==== //depot/projects/smpng/sys/arm/conf/HL200#8 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/HL200,v 1.9 2009/02/23 18:34:56 thompsa Exp $ +# $FreeBSD: src/sys/arm/conf/HL200,v 1.10 2009/03/19 20:33:26 thompsa Exp $ ident HL200 @@ -103,7 +103,6 @@ device ural # Ralink Technology RT2500USB wireless NICs device rum # Ralink Technology RT2501USB wireless NICs device urio # Diamond Rio 500 MP3 player -device uscanner # Scanners # USB Ethernet, requires miibus device miibus device aue # ADMtek USB Ethernet ==== //depot/projects/smpng/sys/arm/conf/KB920X#15 (text) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/KB920X,v 1.22 2009/02/23 18:34:56 thompsa Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.23 2009/03/19 20:33:26 thompsa Exp $ ident KB920X @@ -104,7 +104,6 @@ device ural # Ralink Technology RT2500USB wireless NICs device rum # Ralink Technology RT2501USB wireless NICs device urio # Diamond Rio 500 MP3 player -device uscanner # Scanners # USB Ethernet, requires miibus device miibus device aue # ADMtek USB Ethernet ==== //depot/projects/smpng/sys/boot/forth/loader.conf#59 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.137 2009/03/16 10:36:24 dchagin Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.138 2009/03/19 20:33:26 thompsa Exp $ ############################################################## ### Basic configuration options ############################ @@ -379,7 +379,6 @@ ums_load="NO" # Mouse umass_load="NO" # Mass Storage Devices umodem_load="NO" # Modems -uscanner_load="NO" # Scanners if_aue_load="NO" # ADMtek USB ethernet if_axe_load="NO" # ASIX Electronics AX88172 USB ethernet if_cue_load="NO" # CATC USB ethernet ==== //depot/projects/smpng/sys/boot/pc98/libpc98/bioscd.c#4 (text) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/bioscd.c,v 1.3 2007/10/24 04:03:25 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/bioscd.c,v 1.5 2009/03/20 13:03:33 nyan Exp $"); /* * BIOS CD device handling for CD's that have been booted off of via no @@ -170,9 +170,9 @@ static void bc_print(int verbose) { + char line[80]; int i; - char line[80]; - + for (i = 0; i < nbcinfo; i++) { sprintf(line, " cd%d: Device 0x%x\n", i, bcinfo[i].bc_sp.sp_devicespec); @@ -232,7 +232,7 @@ if (dblk % (BIOSCD_SECSIZE / DEV_BSIZE) != 0) return (EINVAL); dblk /= (BIOSCD_SECSIZE / DEV_BSIZE); - DEBUG("read %d from %d to %p", blks, dblk, buf); + DEBUG("read %d from %lld to %p", blks, dblk, buf); if (rsize) *rsize = 0; @@ -241,9 +241,9 @@ return (EIO); } #ifdef BD_SUPPORT_FRAGS - DEBUG("bc_strategy: frag read %d from %d+%d to %p", + DEBUG("frag read %d from %lld+%d to %p", fragsize, dblk, blks, buf + (blks * BIOSCD_SECSIZE)); - if (fragsize && bc_read(unit, dblk + blks, 1, fragsize)) { + if (fragsize && bc_read(unit, dblk + blks, 1, fragbuf)) { DEBUG("frag read error"); return(EIO); } @@ -254,11 +254,14 @@ return (0); } +/* Max number of sectors to bounce-buffer at a time. */ +#define CD_BOUNCEBUF 8 + static int bc_read(int unit, daddr_t dblk, int blks, caddr_t dest) { - u_int result, retry; - static unsigned short packet[8]; + u_int maxfer, resid, result, retry, x; + caddr_t bbuf, p, xp; int biosdev; #ifdef DISK_DEBUG int error; @@ -272,40 +275,73 @@ if (blks == 0) return (0); + /* Decide whether we have to bounce */ + if (VTOP(dest) >> 20 != 0) { + /* + * The destination buffer is above first 1MB of + * physical memory so we have to arrange a suitable + * bounce buffer. + */ + x = min(CD_BOUNCEBUF, (unsigned)blks); + bbuf = alloca(x * BIOSCD_SECSIZE); + maxfer = x; + } else { + bbuf = NULL; + maxfer = 0; + } + biosdev = bc_unit2bios(unit); - /* - * Loop retrying the operation a couple of times. The BIOS - * may also retry. - */ - for (retry = 0; retry < 3; retry++) { - /* If retrying, reset the drive */ - if (retry > 0) { + resid = blks; + p = dest; + + while (resid > 0) { + if (bbuf) + xp = bbuf; + else + xp = p; + x = resid; + if (maxfer > 0) + x = min(x, maxfer); + + /* + * Loop retrying the operation a couple of times. The BIOS + * may also retry. + */ + for (retry = 0; retry < 3; retry++) { + /* If retrying, reset the drive */ + if (retry > 0) { + v86.ctl = V86_FLAGS; + v86.addr = 0x1b; + v86.eax = 0x0300 | biosdev; + v86int(); + } + v86.ctl = V86_FLAGS; v86.addr = 0x1b; - v86.eax = 0x0300 | biosdev; + v86.eax = 0x0600 | (biosdev & 0x7f); + v86.ebx = x * BIOSCD_SECSIZE; + v86.ecx = dblk & 0xffff; + v86.edx = (dblk >> 16) & 0xffff; + v86.ebp = VTOPOFF(xp); + v86.es = VTOPSEG(xp); v86int(); + result = (v86.efl & PSL_C); + if (result == 0) + break; } - - v86.ctl = V86_FLAGS; - v86.addr = 0x1b; - v86.eax = 0x0600 | (biosdev & 0x7f); - v86.ebx = blks * BIOSCD_SECSIZE; - v86.ecx = dblk & 0xffff; - v86.edx = (dblk >> 16) & 0xffff; - v86.ebp = VTOPOFF(dest); - v86.es = VTOPSEG(dest); - v86int(); - result = (v86.efl & PSL_C); - if (result == 0) - break; - } #ifdef DISK_DEBUG - error = (v86.eax >> 8) & 0xff; + error = (v86.eax >> 8) & 0xff; #endif - DEBUG("%d sectors from %ld to %p (0x%x) %s", blks, dblk, dest, - VTOP(dest), result ? "failed" : "ok"); - DEBUG("unit %d status 0x%x", unit, error); + DEBUG("%d sectors from %lld to %p (0x%x) %s", x, dblk, p, + VTOP(p), result ? "failed" : "ok"); + DEBUG("unit %d status 0x%x", unit, error); + if (bbuf != NULL) + bcopy(bbuf, p, x * BIOSCD_SECSIZE); + p += (x * BIOSCD_SECSIZE); + dblk += x; + resid -= x; + } /* hexdump(dest, (blks * BIOSCD_SECSIZE)); */ return(0); ==== //depot/projects/smpng/sys/boot/pc98/libpc98/biosdisk.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/biosdisk.c,v 1.40 2009/03/19 12:33:37 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/biosdisk.c,v 1.41 2009/03/20 05:33:58 nyan Exp $"); /* * BIOS disk device handling. @@ -269,17 +269,8 @@ /* Check for a "dedicated" disk */ for (j = 0; j < od->od_nslices; j++) { - switch(dptr[j].dp_mid) { - case DOSMID_386BSD: - sprintf(line, " disk%ds%d", i, j + 1); - bd_printbsdslice(od, - dptr[j].dp_scyl * od->od_hds * od->od_sec + - dptr[j].dp_shd * od->od_sec + dptr[j].dp_ssect, - line, verbose); - break; - default: - break; - } + sprintf(line, " disk%ds%d", i, j + 1); + bd_printslice(od, &dptr[j], line, verbose); } } bd_closedisk(od); @@ -311,6 +302,52 @@ } /* + * Print information about slices on a disk. For the size calculations we + * assume a 512 byte sector. + */ +static void +bd_printslice(struct open_disk *od, struct pc98_partition *dp, char *prefix, + int verbose) +{ + int cylsecs, start, size; + char stats[80]; + char line[80]; + + cylsecs = od->od_hds * od->od_sec; + start = dp->dp_scyl * cylsecs + dp->dp_shd * od->od_sec + dp->dp_ssect; + size = (dp->dp_ecyl - dp->dp_scyl + 1) * cylsecs; + + if (verbose) + sprintf(stats, " %s (%d - %d)", display_size(size), + start, start + size); + else + stats[0] = '\0'; + + switch(dp->dp_mid & PC98_MID_MASK) { + case PC98_MID_386BSD: + bd_printbsdslice(od, start, prefix, verbose); + return; + case 0x00: /* unused partition */ + return; + case 0x01: + sprintf(line, "%s: FAT-12%s\n", prefix, stats); + break; + case 0x11: + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + sprintf(line, "%s: FAT-16%s\n", prefix, stats); + break; + default: + sprintf(line, "%s: Unknown fs: 0x%x %s\n", prefix, dp->dp_mid, + stats); + } + pager_output(line); +} + +/* * Print out each valid partition in the disklabel of a FreeBSD slice. * For size calculations, we assume a 512 byte sector size. */ @@ -349,7 +386,7 @@ /* Only print out statistics in verbose mode */ if (verbose) - sprintf(line, " %s%c: %s %s (%d - %d)\n", prefix, 'a' + i, + sprintf(line, " %s%c: %s %s (%d - %d)\n", prefix, 'a' + i, (lp->d_partitions[i].p_fstype == FS_SWAP) ? "swap " : (lp->d_partitions[i].p_fstype == FS_VINUM) ? "vinum" : "FFS ", ==== //depot/projects/smpng/sys/boot/pc98/libpc98/time.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/time.c,v 1.6 2005/05/08 14:17:28 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/time.c,v 1.7 2009/03/20 05:21:29 nyan Exp $"); #include #include @@ -33,23 +33,21 @@ #include "bootstrap.h" #include "libi386.h" +static int bios_seconds(void); + /* - * Return the time in seconds since the beginning of the day. - * - * If we pass midnight, don't wrap back to 0. + * Return the BIOS time-of-day value. * * XXX uses undocumented BCD support from libstand. */ - -time_t -time(time_t *t) +static int +bios_seconds(void) { - static time_t lasttime, now; int hr, minute, sec; unsigned char bios_time[6]; - + v86.ctl = 0; - v86.addr = 0x1c; /* int 0x1c, function 0 */ + v86.addr = 0x1c; /* int 0x1c, function 0 */ v86.eax = 0x0000; v86.es = VTOPSEG(bios_time); v86.ebx = VTOPOFF(bios_time); @@ -59,7 +57,20 @@ minute = bcd2bin(bios_time[4]); sec = bcd2bin(bios_time[5]); - now = hr * 3600 + minute * 60 + sec; + return (hr * 3600 + minute * 60 + sec); +} + +/* + * Return the time in seconds since the beginning of the day. + */ +time_t +time(time_t *t) +{ + static time_t lasttime; + time_t now; + + now = bios_seconds(); + if (now < lasttime) now += 24 * 3600; lasttime = now; ==== //depot/projects/smpng/sys/conf/NOTES#164 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1531 2009/03/15 14:21:05 rwatson Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1532 2009/03/19 20:33:26 thompsa Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -2413,8 +2413,6 @@ device ums # Diamond Rio 500 MP3 player device urio -# USB scanners -device uscanner # # USB serial support device ucom ==== //depot/projects/smpng/sys/conf/files#233 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1382 2009/03/15 14:21:05 rwatson Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1383 2009/03/19 20:33:26 thompsa Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1656,10 +1656,6 @@ dev/usb/template/usb_template_msc.c optional usb_template dev/usb/template/usb_template_mtp.c optional usb_template # -# USB image drivers -# -dev/usb/image/uscanner.c optional uscanner -# # USB END # dev/utopia/idtphy.c optional utopia ==== //depot/projects/smpng/sys/dev/age/if_age.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */ #include -__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.6 2008/11/07 07:02:28 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.7 2009/03/23 00:27:46 yongari Exp $"); #include #include @@ -1369,7 +1369,7 @@ AGE_LOCK_ASSERT(sc); - if (pci_find_extcap(sc->age_dev, PCIY_PMG, &pmc) == 0) { + if (pci_find_extcap(sc->age_dev, PCIY_PMG, &pmc) != 0) { CSR_WRITE_4(sc, AGE_WOL_CFG, 0); /* * No PME capability, PHY power down. ==== //depot/projects/smpng/sys/dev/agp/agp.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp.c,v 1.63 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp.c,v 1.64 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_agp.h" #include "opt_bus.h" @@ -532,7 +532,7 @@ int error; /* Do some sanity checks first. */ - if (offset < 0 || (offset & (AGP_PAGE_SIZE - 1)) != 0 || + if ((offset & (AGP_PAGE_SIZE - 1)) != 0 || offset + mem->am_size > AGP_GET_APERTURE(dev)) { device_printf(dev, "binding memory at bad offset %#x\n", (int)offset); ==== //depot/projects/smpng/sys/dev/agp/agp_amd64.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp_amd64.c,v 1.18 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp_amd64.c,v 1.19 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_bus.h" @@ -337,7 +337,7 @@ { struct agp_amd64_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return (EINVAL); sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = @@ -351,7 +351,7 @@ { struct agp_amd64_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return (EINVAL); sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; ==== //depot/projects/smpng/sys/dev/agp/agp_i810.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp_i810.c,v 1.50 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp_i810.c,v 1.51 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_bus.h" @@ -840,7 +840,7 @@ { struct agp_i810_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) { + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) { device_printf(dev, "failed: offset is 0x%08jx, shift is %d, entries is %d\n", (intmax_t)offset, AGP_PAGE_SHIFT, sc->gatt->ag_entries); return EINVAL; } @@ -862,7 +862,7 @@ { struct agp_i810_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return EINVAL; if ( sc->chiptype != CHIP_I810 ) { @@ -1016,7 +1016,7 @@ vm_offset_t i; /* Do some sanity checks first. */ - if (offset < 0 || (offset & (AGP_PAGE_SIZE - 1)) != 0 || + if ((offset & (AGP_PAGE_SIZE - 1)) != 0 || offset + mem->am_size > AGP_GET_APERTURE(dev)) { device_printf(dev, "binding memory at bad offset %#x\n", (int)offset); ==== //depot/projects/smpng/sys/dev/agp/agp_intel.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp_intel.c,v 1.37 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp_intel.c,v 1.38 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_bus.h" @@ -371,7 +371,7 @@ sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return (EINVAL); sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical | 0x17; @@ -385,7 +385,7 @@ sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return (EINVAL); sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; ==== //depot/projects/smpng/sys/dev/agp/agp_via.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp_via.c,v 1.28 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp_via.c,v 1.29 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_bus.h" @@ -362,7 +362,7 @@ { struct agp_via_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return EINVAL; sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical; @@ -374,7 +374,7 @@ { struct agp_via_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return EINVAL; sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; ==== //depot/projects/smpng/sys/dev/ath/ath_hal/ah.h#5 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ah.h,v 1.6 2009/02/24 01:07:06 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ah.h,v 1.7 2009/03/19 19:29:10 sam Exp $ */ #ifndef _ATH_AH_H_ @@ -598,8 +598,6 @@ */ struct ath_hal { uint32_t ah_magic; /* consistency check magic number */ - uint32_t ah_abi; /* HAL ABI version */ -#define HAL_ABI_VERSION 0x08112800 /* YYMMDDnn */ uint16_t ah_devid; /* PCI device ID */ uint16_t ah_subvendorid; /* PCI subvendor ID */ HAL_SOFTC ah_sc; /* back pointer to driver/os state */ ==== //depot/projects/smpng/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c,v 1.4 2009/02/24 01:07:06 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c,v 1.5 2009/03/19 19:29:10 sam Exp $ */ #include "opt_ah.h" @@ -38,7 +38,6 @@ static const struct ath_hal_private ar5210hal = {{ .ah_magic = AR5210_MAGIC, - .ah_abi = HAL_ABI_VERSION, .ah_getRateTable = ar5210GetRateTable, .ah_detach = ar5210Detach, ==== //depot/projects/smpng/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c,v 1.5 2009/02/24 01:07:06 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c,v 1.6 2009/03/19 19:29:10 sam Exp $ */ #include "opt_ah.h" @@ -38,7 +38,6 @@ static const struct ath_hal_private ar5211hal = {{ .ah_magic = AR5211_MAGIC, - .ah_abi = HAL_ABI_VERSION, .ah_getRateTable = ar5211GetRateTable, .ah_detach = ar5211Detach, ==== //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c,v 1.4 2009/02/24 01:07:06 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c,v 1.5 2009/03/19 19:29:10 sam Exp $ */ #include "opt_ah.h" @@ -34,7 +34,6 @@ static const struct ath_hal_private ar5212hal = {{ .ah_magic = AR5212_MAGIC, - .ah_abi = HAL_ABI_VERSION, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Mar 23 23:30:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5FB381065688; Mon, 23 Mar 2009 23:30: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 13D9F1065677 for ; Mon, 23 Mar 2009 23:30:48 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EAEDF8FC15 for ; Mon, 23 Mar 2009 23:30:47 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2NNUl1j003939 for ; Mon, 23 Mar 2009 23:30:47 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2NNUlOY003937 for perforce@freebsd.org; Mon, 23 Mar 2009 23:30:47 GMT (envelope-from rene@FreeBSD.org) Date: Mon, 23 Mar 2009 23:30:47 GMT Message-Id: <200903232330.n2NNUlOY003937@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159717 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 23 Mar 2009 23:30:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=159717 Change 159717 by rene@rene_self on 2009/03/23 23:30:29 Mostly synchronize the Dutch BSD license with the translation at http://web.archive.org/web/20031224071840/http://www.ososs.nl/attachment.db?6572 Neither this nor the ososs translation is approved by the OSI and are therefore not suited as legal documents. Mention this in the comment header. Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/legalnotice.sgml#5 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/legalnotice.sgml#5 (text+ko) ==== @@ -1,5 +1,13 @@ @@ -699,43 +693,6 @@ repository version, followed by a marker line with seven > signs and the revision number you updated to. - - From owner-p4-projects@FreeBSD.ORG Wed Mar 25 14:58:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 18A971065670; Wed, 25 Mar 2009 14:58:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCBC7106566B for ; Wed, 25 Mar 2009 14:58:17 +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 A72648FC0C for ; Wed, 25 Mar 2009 14:58:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2PEwHeX065080 for ; Wed, 25 Mar 2009 14:58:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2PEwHi9065078 for perforce@freebsd.org; Wed, 25 Mar 2009 14:58:17 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 25 Mar 2009 14:58:17 GMT Message-Id: <200903251458.n2PEwHi9065078@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 159804 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Mar 2009 14:58:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=159804 Change 159804 by hselasky@hselasky_laptop001 on 2009/03/25 14:58:11 IFC @ 159802 Affected files ... .. //depot/projects/usb/src/sys/amd64/acpica/acpi_machdep.c#4 integrate .. //depot/projects/usb/src/sys/amd64/acpica/acpi_wakecode.S#2 integrate .. //depot/projects/usb/src/sys/amd64/acpica/acpi_wakeup.c#3 integrate .. //depot/projects/usb/src/sys/amd64/acpica/genwakecode.sh#2 integrate .. //depot/projects/usb/src/sys/amd64/amd64/fpu.c#6 integrate .. //depot/projects/usb/src/sys/amd64/amd64/pmap.c#20 integrate .. //depot/projects/usb/src/sys/amd64/amd64/vm_machdep.c#11 integrate .. //depot/projects/usb/src/sys/amd64/include/pmap.h#9 integrate .. //depot/projects/usb/src/sys/amd64/pci/pci_cfgreg.c#4 integrate .. //depot/projects/usb/src/sys/cddl/dev/dtnfsclient/dtnfsclient.c#1 branch .. //depot/projects/usb/src/sys/conf/files#57 integrate .. //depot/projects/usb/src/sys/conf/options#23 integrate .. //depot/projects/usb/src/sys/dev/acpica/acpi.c#15 integrate .. //depot/projects/usb/src/sys/dev/acpica/acpivar.h#9 integrate .. //depot/projects/usb/src/sys/dev/age/if_age.c#7 integrate .. //depot/projects/usb/src/sys/dev/ath/ah_osdep.c#7 integrate .. //depot/projects/usb/src/sys/dev/bge/if_bge.c#16 integrate .. //depot/projects/usb/src/sys/dev/bge/if_bgereg.h#10 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#14 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_offload.c#6 integrate .. //depot/projects/usb/src/sys/dev/drm/ati_pcigart.c#5 integrate .. //depot/projects/usb/src/sys/dev/drm/drmP.h#12 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_irq.c#8 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_scatter.c#6 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_dma.c#11 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_irq.c#8 integrate .. //depot/projects/usb/src/sys/dev/hptiop/hptiop.h#4 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#21 integrate .. //depot/projects/usb/src/sys/dev/iwn/if_iwn.c#5 integrate .. //depot/projects/usb/src/sys/dev/msk/if_msk.c#10 integrate .. //depot/projects/usb/src/sys/dev/my/if_my.c#7 integrate .. //depot/projects/usb/src/sys/dev/pccard/pccarddevs#11 integrate .. //depot/projects/usb/src/sys/dev/twa/tw_cl_init.c#4 integrate .. //depot/projects/usb/src/sys/dev/twa/tw_osl.h#5 integrate .. //depot/projects/usb/src/sys/dev/twa/tw_osl_freebsd.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#14 integrate .. //depot/projects/usb/src/sys/geom/part/g_part.c#16 integrate .. //depot/projects/usb/src/sys/i386/i386/vm_machdep.c#12 integrate .. //depot/projects/usb/src/sys/i386/include/pmap.h#9 integrate .. //depot/projects/usb/src/sys/i386/isa/npx.c#10 integrate .. //depot/projects/usb/src/sys/i386/pci/pci_cfgreg.c#5 integrate .. //depot/projects/usb/src/sys/kern/imgact_elf.c#11 integrate .. //depot/projects/usb/src/sys/kern/kern_environment.c#7 integrate .. //depot/projects/usb/src/sys/kern/kern_time.c#9 integrate .. //depot/projects/usb/src/sys/kern/subr_bus.c#20 integrate .. //depot/projects/usb/src/sys/kern/subr_param.c#10 integrate .. //depot/projects/usb/src/sys/kern/subr_rtc.c#4 integrate .. //depot/projects/usb/src/sys/kern/vfs_bio.c#16 integrate .. //depot/projects/usb/src/sys/kern/vfs_cache.c#20 integrate .. //depot/projects/usb/src/sys/kern/vfs_lookup.c#13 integrate .. //depot/projects/usb/src/sys/modules/Makefile#29 integrate .. //depot/projects/usb/src/sys/modules/dtrace/Makefile#2 integrate .. //depot/projects/usb/src/sys/modules/dtrace/dtnfsclient/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/dtrace/dtraceall/dtraceall.c#2 integrate .. //depot/projects/usb/src/sys/modules/opensolaris/Makefile#2 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211.c#17 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_adhoc.c#6 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_freebsd.h#13 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_hostap.c#8 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_input.c#14 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_input.h#3 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_ioctl.c#19 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_node.c#18 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_output.c#18 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_proto.c#16 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_proto.h#11 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_sta.c#6 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_superg.c#1 branch .. //depot/projects/usb/src/sys/net80211/ieee80211_superg.h#1 branch .. //depot/projects/usb/src/sys/net80211/ieee80211_tdma.c#6 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_tdma.h#3 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_wds.c#6 integrate .. //depot/projects/usb/src/sys/netinet/igmp.c#11 integrate .. //depot/projects/usb/src/sys/netinet/tcp_subr.c#20 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#13 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_bio.c#10 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_kdtrace.h#1 branch .. //depot/projects/usb/src/sys/nfsclient/nfs_krpc.c#2 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_subs.c#8 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/usb/src/sys/powerpc/powermac/ata_macio.c#4 integrate .. //depot/projects/usb/src/sys/sys/dtrace_bsd.h#2 integrate .. //depot/projects/usb/src/sys/sys/param.h#26 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/acpica/acpi_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.19 2009/03/17 00:48:11 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.20 2009/03/23 22:35:30 jkim Exp $"); #include #include @@ -40,11 +40,12 @@ SYSCTL_DECL(_debug_acpi); -uint32_t acpi_resume_beep; +int acpi_resume_beep; TUNABLE_INT("debug.acpi.resume_beep", &acpi_resume_beep); -SYSCTL_UINT(_debug_acpi, OID_AUTO, resume_beep, CTLFLAG_RW, &acpi_resume_beep, +SYSCTL_INT(_debug_acpi, OID_AUTO, resume_beep, CTLFLAG_RW, &acpi_resume_beep, 0, "Beep the PC speaker when resuming"); -uint32_t acpi_reset_video; + +int acpi_reset_video; TUNABLE_INT("hw.acpi.reset_video", &acpi_reset_video); static int intr_model = ACPI_INTR_PIC; ==== //depot/projects/usb/src/sys/amd64/acpica/acpi_wakecode.S#2 (text+ko) ==== @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008 Jung-uk Kim + * Copyright (c) 2008-2009 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.1 2009/03/17 00:48:11 jkim Exp $ + * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.2 2009/03/23 22:35:30 jkim Exp $ */ #define LOCORE @@ -66,12 +66,14 @@ mov %ax, %ds /* are offsets rather than selectors */ mov %ax, %ss movw $PAGE_SIZE - 8, %sp - pushw $0 + xorw %ax, %ax + pushw %ax popfw /* To debug resume hangs, beep the speaker if the user requested. */ - cmpw $0, resume_beep - wakeup_start - je 1f + testb $~0, resume_beep - wakeup_start + jz 1f + movb $0, resume_beep - wakeup_start movb $0xc0, %al outb %al, $0x42 movb $0x04, %al @@ -79,22 +81,16 @@ inb $0x61, %al orb $0x3, %al outb %al, $0x61 - movw $0, resume_beep - wakeup_start 1: /* Re-initialize video BIOS if the reset_video tunable is set. */ - cmpw $0, reset_video - wakeup_start - je 1f + testb $~0, reset_video - wakeup_start + jz 1f + movb $0, reset_video - wakeup_start lcall $0xc000, $3 - movw $0, reset_video - wakeup_start - /* - * Set up segment registers for real mode again in case the - * previous BIOS call clobbers them. - */ - mov %cs, %ax - mov %ax, %ds - mov %ax, %ss + /* Re-start in case the previous BIOS call clobbers them. */ + jmp wakeup_start 1: /* @@ -204,6 +200,7 @@ * space. Remember that jmp is relative and that we've been relocated, * so use an indirect jump. */ + ALIGN_TEXT .code64 wakeup_64: mov $bootdata64 - bootgdt, %eax @@ -215,6 +212,13 @@ movq wakeup_retaddr - wakeup_start(%rbx), %rax jmp *%rax + .data + +resume_beep: + .byte 0 +reset_video: + .byte 0 + ALIGN_DATA bootgdt: .long 0x00000000 @@ -245,10 +249,6 @@ .long bootgdt - wakeup_start /* Offset plus %ds << 4 */ ALIGN_DATA -resume_beep: - .long 0 -reset_video: - .long 0 wakeup_retaddr: .quad 0 wakeup_kpml4: ==== //depot/projects/usb/src/sys/amd64/acpica/acpi_wakeup.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.23 2009/03/17 00:48:11 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.24 2009/03/23 22:35:30 jkim Exp $"); #include #include @@ -37,7 +37,6 @@ #include #include #include -#include #include #include @@ -67,8 +66,8 @@ #error this file needs sys/cdefs.h as a prerequisite #endif -extern uint32_t acpi_resume_beep; -extern uint32_t acpi_reset_video; +extern int acpi_resume_beep; +extern int acpi_reset_video; #ifdef SMP extern struct xpcb *stopxpcbs; @@ -280,8 +279,8 @@ } #endif - WAKECODE_FIXUP(resume_beep, uint32_t, acpi_resume_beep); - WAKECODE_FIXUP(reset_video, uint32_t, acpi_reset_video); + WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0)); + WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0)); WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, &stopxpcbs[0]); WAKECODE_FIXUP(wakeup_gdt, uint16_t, @@ -309,13 +308,11 @@ ia32_pause(); } else { fpusetregs(curthread, stopfpu); - - WAKECODE_FIXUP(resume_beep, uint32_t, 0); - WAKECODE_FIXUP(reset_video, uint32_t, 0); #ifdef SMP if (wakeup_cpus != 0) acpi_wakeup_cpus(sc, wakeup_cpus); #endif + acpi_resync_clock(sc); ret = 0; } ==== //depot/projects/usb/src/sys/amd64/acpica/genwakecode.sh#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh -# $FreeBSD: src/sys/amd64/acpica/genwakecode.sh,v 1.1 2009/03/17 00:48:11 jkim Exp $ +# $FreeBSD: src/sys/amd64/acpica/genwakecode.sh,v 1.2 2009/03/23 22:35:30 jkim Exp $ # -file2c 'static char wakecode[] = {' '};' -__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.163 2009/03/05 19:42:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.164 2009/03/25 14:17:08 jhb Exp $"); #include #include @@ -101,7 +101,7 @@ SYSCTL_INT(_hw, HW_FLOATINGPT, floatingpoint, CTLFLAG_RD, NULL, 1, "Floating point instructions executed in hardware"); -static struct savefpu fpu_cleanstate; +static struct savefpu fpu_initialstate; /* * Initialize the floating point unit. On the boot CPU we generate a @@ -123,13 +123,13 @@ mxcsr = __INITIAL_MXCSR__; ldmxcsr(mxcsr); if (PCPU_GET(cpuid) == 0) { - fxsave(&fpu_cleanstate); - if (fpu_cleanstate.sv_env.en_mxcsr_mask) - cpu_mxcsr_mask = fpu_cleanstate.sv_env.en_mxcsr_mask; + fxsave(&fpu_initialstate); + if (fpu_initialstate.sv_env.en_mxcsr_mask) + cpu_mxcsr_mask = fpu_initialstate.sv_env.en_mxcsr_mask; else cpu_mxcsr_mask = 0xFFBF; - bzero(fpu_cleanstate.sv_fp, sizeof(fpu_cleanstate.sv_fp)); - bzero(fpu_cleanstate.sv_xmm, sizeof(fpu_cleanstate.sv_xmm)); + bzero(fpu_initialstate.sv_fp, sizeof(fpu_initialstate.sv_fp)); + bzero(fpu_initialstate.sv_xmm, sizeof(fpu_initialstate.sv_xmm)); } start_emulating(); intr_restore(savecrit); @@ -416,10 +416,11 @@ if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) { /* - * This is the first time this thread has used the FPU, - * explicitly load sanitized registers. + * This is the first time this thread has used the FPU or + * the PCB doesn't contain a clean FPU state. Explicitly + * load an initial state. */ - fxrstor(&fpu_cleanstate); + fxrstor(&fpu_initialstate); if (pcb->pcb_initial_fpucw != __INITIAL_FPUCW__) fldcw(&pcb->pcb_initial_fpucw); pcb->pcb_flags |= PCB_FPUINITDONE; @@ -453,7 +454,7 @@ register_t s; if ((td->td_pcb->pcb_flags & PCB_FPUINITDONE) == 0) { - bcopy(&fpu_cleanstate, addr, sizeof(fpu_cleanstate)); + bcopy(&fpu_initialstate, addr, sizeof(fpu_initialstate)); addr->sv_env.en_cw = td->td_pcb->pcb_initial_fpucw; return (_MC_FPOWNED_NONE); } ==== //depot/projects/usb/src/sys/amd64/amd64/pmap.c#20 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.656 2009/03/14 08:28:02 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.657 2009/03/22 04:32:05 alc Exp $"); /* * Manages physical address maps. @@ -542,7 +542,7 @@ * Initialize the kernel pmap (which is statically allocated). */ PMAP_LOCK_INIT(kernel_pmap); - kernel_pmap->pm_pml4 = (pdp_entry_t *) (KERNBASE + KPML4phys); + kernel_pmap->pm_pml4 = (pdp_entry_t *)PHYS_TO_DMAP(KPML4phys); kernel_pmap->pm_root = NULL; kernel_pmap->pm_active = -1; /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); @@ -1351,7 +1351,7 @@ { PMAP_LOCK_INIT(pmap); - pmap->pm_pml4 = (pml4_entry_t *)(KERNBASE + KPML4phys); + pmap->pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(KPML4phys); pmap->pm_root = NULL; pmap->pm_active = 0; TAILQ_INIT(&pmap->pm_pvchunk); @@ -4695,7 +4695,7 @@ oldpmap->pm_active &= ~PCPU_GET(cpumask); pmap->pm_active |= PCPU_GET(cpumask); #endif - cr3 = vtophys(pmap->pm_pml4); + cr3 = DMAP_TO_PHYS((vm_offset_t)pmap->pm_pml4); td->td_pcb->pcb_cr3 = cr3; load_cr3(cr3); critical_exit(); ==== //depot/projects/usb/src/sys/amd64/amd64/vm_machdep.c#11 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.260 2009/03/02 18:43:50 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.262 2009/03/22 04:32:05 alc Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -103,6 +103,7 @@ register struct proc *p1; struct pcb *pcb2; struct mdproc *mdp2; + pmap_t pmap2; p1 = td1->td_proc; if ((flags & RFPROC) == 0) @@ -150,7 +151,8 @@ * Set registers for trampoline to user mode. Leave space for the * return address on stack. These are the kernel mode register values. */ - pcb2->pcb_cr3 = vtophys(vmspace_pmap(p2->p_vmspace)->pm_pml4); + pmap2 = vmspace_pmap(p2->p_vmspace); + pcb2->pcb_cr3 = DMAP_TO_PHYS((vm_offset_t)pmap2->pm_pml4); pcb2->pcb_r12 = (register_t)fork_return; /* fork_trampoline argument */ pcb2->pcb_rbp = 0; pcb2->pcb_rsp = (register_t)td2->td_frame - sizeof(void *); @@ -287,7 +289,6 @@ * Set registers for trampoline to user mode. Leave space for the * return address on stack. These are the kernel mode register values. */ - pcb2->pcb_cr3 = vtophys(vmspace_pmap(td->td_proc->p_vmspace)->pm_pml4); pcb2->pcb_r12 = (register_t)fork_return; /* trampoline arg */ pcb2->pcb_rbp = 0; pcb2->pcb_rsp = (register_t)td->td_frame - sizeof(void *); /* trampoline arg */ @@ -295,6 +296,7 @@ pcb2->pcb_rip = (register_t)fork_trampoline; /* * If we didn't copy the pcb, we'd need to do the following registers: + * pcb2->pcb_cr3: cloned above. * pcb2->pcb_dr*: cloned above. * pcb2->pcb_savefpu: cloned above. * pcb2->pcb_onfault: cloned above (always NULL here?). ==== //depot/projects/usb/src/sys/amd64/include/pmap.h#9 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.148 2008/08/04 08:04:09 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.150 2009/03/22 18:56:26 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -160,13 +160,7 @@ #define PDESHIFT (3) /* - * Address of current and alternate address space page table maps - * and directories. - * XXX it might be saner to just direct map all of physical memory - * into the kernel using 2MB pages. We have enough space to do - * it (2^47 bits of KVM, while current max physical addressability - * is 2^40 physical bits). Then we can get rid of the evil hole - * in the page tables and the evil overlapping. + * Address of current address space page table maps and directories. */ #ifdef _KERNEL #define addr_PTmap (KVADDR(PML4PML4I, 0, 0, 0)) @@ -243,6 +237,10 @@ TAILQ_HEAD(,pv_entry) pv_list; }; +/* + * The kernel virtual address (KVA) of the level 4 page table page is always + * within the direct map (DMAP) region. + */ struct pmap { struct mtx pm_mtx; pml4_entry_t *pm_pml4; /* KVA of level 4 page table */ ==== //depot/projects/usb/src/sys/amd64/pci/pci_cfgreg.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.113 2008/09/11 21:42:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.114 2009/03/24 18:10:22 jhb Exp $"); #include #include @@ -119,6 +119,7 @@ { if (cfgmech == CFGMECH_PCIE && + (bus >= pcie_minbus && bus <= pcie_maxbus) && (bus != 0 || !(1 << slot & pcie_badslots))) return (pciereg_cfgread(bus, slot, func, reg, bytes)); else @@ -158,6 +159,7 @@ { if (cfgmech == CFGMECH_PCIE && + (bus >= pcie_minbus && bus <= pcie_maxbus) && (bus != 0 || !(1 << slot & pcie_badslots))) pciereg_cfgwrite(bus, slot, func, reg, data, bytes); else ==== //depot/projects/usb/src/sys/conf/files#57 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1383 2009/03/19 20:33:26 thompsa Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1386 2009/03/24 20:39:08 sam Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -2189,14 +2189,14 @@ mxge | netgraph_deflate | \ ddb_ctf net80211/ieee80211.c optional wlan -net80211/ieee80211_acl.c optional wlan_acl +net80211/ieee80211_acl.c optional wlan wlan_acl net80211/ieee80211_adhoc.c optional wlan -net80211/ieee80211_amrr.c optional wlan_amrr +net80211/ieee80211_amrr.c optional wlan wlan_amrr net80211/ieee80211_crypto.c optional wlan -net80211/ieee80211_crypto_ccmp.c optional wlan_ccmp +net80211/ieee80211_crypto_ccmp.c optional wlan wlan_ccmp net80211/ieee80211_crypto_none.c optional wlan -net80211/ieee80211_crypto_tkip.c optional wlan_tkip -net80211/ieee80211_crypto_wep.c optional wlan_wep +net80211/ieee80211_crypto_tkip.c optional wlan wlan_tkip +net80211/ieee80211_crypto_wep.c optional wlan wlan_wep net80211/ieee80211_ddb.c optional wlan ddb net80211/ieee80211_dfs.c optional wlan net80211/ieee80211_freebsd.c optional wlan @@ -2211,13 +2211,14 @@ net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan net80211/ieee80211_regdomain.c optional wlan -net80211/ieee80211_rssadapt.c optional wlan_rssadapt +net80211/ieee80211_rssadapt.c optional wlan wlan_rssadapt net80211/ieee80211_scan.c optional wlan net80211/ieee80211_scan_sta.c optional wlan net80211/ieee80211_sta.c optional wlan -net80211/ieee80211_tdma.c optional wlan +net80211/ieee80211_superg.c optional wlan ieee80211_support_superg +net80211/ieee80211_tdma.c optional wlan ieee80211_support_tdma net80211/ieee80211_wds.c optional wlan -net80211/ieee80211_xauth.c optional wlan_xauth +net80211/ieee80211_xauth.c optional wlan wlan_xauth netatalk/aarp.c optional netatalk netatalk/at_control.c optional netatalk netatalk/at_proto.c optional netatalk ==== //depot/projects/usb/src/sys/conf/options#23 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.662 2009/03/15 14:21:05 rwatson Exp $ +# $FreeBSD: src/sys/conf/options,v 1.663 2009/03/24 20:39:08 sam Exp $ # # On the handling of kernel options # @@ -789,6 +789,7 @@ IEEE80211_DEBUG opt_wlan.h IEEE80211_DEBUG_REFCNT opt_wlan.h IEEE80211_AMPDU_AGE opt_wlan.h +IEEE80211_SUPPORT_SUPERG opt_wlan.h IEEE80211_SUPPORT_TDMA opt_wlan.h # 802.11 TDMA support ==== //depot/projects/usb/src/sys/dev/acpica/acpi.c#15 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.255 2009/03/17 00:48:11 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.257 2009/03/23 22:12:33 jkim Exp $"); #include "opt_acpi.h" #include @@ -254,6 +254,12 @@ SYSCTL_INT(_debug_acpi, OID_AUTO, do_powerstate, CTLFLAG_RW, &acpi_do_powerstate, 1, "Turn off devices when suspending."); +/* Reset system clock while resuming. XXX Remove once tested. */ +static int acpi_reset_clock = 1; +TUNABLE_INT("debug.acpi.reset_clock", &acpi_reset_clock); +SYSCTL_INT(_debug_acpi, OID_AUTO, reset_clock, CTLFLAG_RW, + &acpi_reset_clock, 1, "Reset system clock while resuming."); + /* Allow users to override quirks. */ TUNABLE_INT("debug.acpi.quirks", &acpi_quirks); @@ -2336,7 +2342,7 @@ #endif /* If devd(8) is not running, immediately enter the sleep state. */ - if (devctl_process_running() == FALSE) { + if (!devctl_process_running()) { ACPI_UNLOCK(acpi); if (ACPI_SUCCESS(acpi_EnterSleepState(sc, sc->acpi_next_sstate))) { return (0); @@ -2345,9 +2351,6 @@ } } - /* Now notify devd(8) also. */ - acpi_UserNotify("Suspend", ACPI_ROOT_OBJECT, state); - /* * Set a timeout to fire if userland doesn't ack the suspend request * in time. This way we still eventually go to sleep if we were @@ -2357,6 +2360,10 @@ */ callout_reset(&sc->susp_force_to, 10 * hz, acpi_sleep_force, sc); ACPI_UNLOCK(acpi); + + /* Now notify devd(8) also. */ + acpi_UserNotify("Suspend", ACPI_ROOT_OBJECT, state); + return (0); #else /* This platform does not support acpi suspend/resume. */ @@ -2432,8 +2439,24 @@ static void acpi_sleep_enable(void *arg) { + struct acpi_softc *sc = (struct acpi_softc *)arg; + + ACPI_LOCK(acpi); + sc->acpi_sleep_disabled = 0; + ACPI_UNLOCK(acpi); +} + +static ACPI_STATUS +acpi_sleep_disable(struct acpi_softc *sc) +{ + ACPI_STATUS status; + + ACPI_LOCK(acpi); + status = sc->acpi_sleep_disabled ? AE_ERROR : AE_OK; + sc->acpi_sleep_disabled = 1; + ACPI_UNLOCK(acpi); - ((struct acpi_softc *)arg)->acpi_sleep_disabled = 0; + return (status); } enum acpi_sleep_state { @@ -2460,15 +2483,11 @@ ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state); /* Re-entry once we're suspending is not allowed. */ - status = AE_OK; - ACPI_LOCK(acpi); - if (sc->acpi_sleep_disabled) { - ACPI_UNLOCK(acpi); + status = acpi_sleep_disable(sc); + if (ACPI_FAILURE(status)) { printf("acpi: suspend request ignored (not ready yet)\n"); - return (AE_ERROR); + return (status); } - sc->acpi_sleep_disabled = 1; - ACPI_UNLOCK(acpi); #ifdef SMP thread_lock(curthread); @@ -2557,6 +2576,7 @@ * shutdown handlers. */ shutdown_nice(RB_POWEROFF); + status = AE_OK; break; case ACPI_STATE_S0: default: @@ -2580,26 +2600,38 @@ if (slp_state >= ACPI_SS_SLEPT) acpi_enable_fixed_events(sc); + mtx_unlock(&Giant); + +#ifdef SMP + thread_lock(curthread); + sched_unbind(curthread); + thread_unlock(curthread); +#endif + /* Allow another sleep request after a while. */ if (state != ACPI_STATE_S5) timeout(acpi_sleep_enable, sc, hz * ACPI_MINIMUM_AWAKETIME); /* Run /etc/rc.resume after we are back. */ - acpi_UserNotify("Resume", ACPI_ROOT_OBJECT, state); + if (devctl_process_running()) + acpi_UserNotify("Resume", ACPI_ROOT_OBJECT, state); + + return_ACPI_STATUS (status); +} + +void +acpi_resync_clock(struct acpi_softc *sc) +{ - mtx_unlock(&Giant); + if (!acpi_reset_clock) + return; - /* Warm up timecounter again */ + /* + * Warm up timecounter again and reset system clock. + */ (void)timecounter->tc_get_timecount(timecounter); (void)timecounter->tc_get_timecount(timecounter); - -#ifdef SMP - thread_lock(curthread); - sched_unbind(curthread); - thread_unlock(curthread); -#endif - - return_ACPI_STATUS (status); + inittodr(time_second + sc->acpi_sleep_delay); } /* Initialize a device's wake GPE. */ ==== //depot/projects/usb/src/sys/dev/acpica/acpivar.h#9 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.109 2008/03/13 20:39:03 jhb Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.110 2009/03/23 22:12:33 jkim Exp $ */ #ifndef _ACPIVAR_H_ @@ -330,6 +330,7 @@ int acpi_ReqSleepState(struct acpi_softc *sc, int state); int acpi_AckSleepState(struct apm_clone_data *clone, int error); ACPI_STATUS acpi_SetSleepState(struct acpi_softc *sc, int state); +void acpi_resync_clock(struct acpi_softc *sc); int acpi_wake_init(device_t dev, int type); int acpi_wake_set_enable(device_t dev, int enable); int acpi_parse_prw(ACPI_HANDLE h, struct acpi_prw_data *prw); ==== //depot/projects/usb/src/sys/dev/age/if_age.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ /* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */ #include -__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.6 2008/11/07 07:02:28 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/age/if_age.c,v 1.7 2009/03/23 00:27:46 yongari Exp $"); #include #include @@ -1369,7 +1369,7 @@ AGE_LOCK_ASSERT(sc); - if (pci_find_extcap(sc->age_dev, PCIY_PMG, &pmc) == 0) { + if (pci_find_extcap(sc->age_dev, PCIY_PMG, &pmc) != 0) { CSR_WRITE_4(sc, AGE_WOL_CFG, 0); /* * No PME capability, PHY power down. ==== //depot/projects/usb/src/sys/dev/ath/ah_osdep.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/ah_osdep.c,v 1.6 2008/12/01 16:53:01 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ah_osdep.c,v 1.7 2009/03/24 00:09:35 sam Exp $ */ #include "opt_ah.h" @@ -71,12 +71,7 @@ int lineno, const char* msg); #endif #ifdef AH_DEBUG -#if HAL_ABI_VERSION >= 0x08090101 extern void HALDEBUG(struct ath_hal *ah, u_int mask, const char* fmt, ...); -#else -extern void HALDEBUG(struct ath_hal *ah, const char* fmt, ...); -extern void HALDEBUGn(struct ath_hal *ah, u_int level, const char* fmt, ...); -#endif #endif /* AH_DEBUG */ /* NB: put this here instead of the driver to avoid circular references */ @@ -140,7 +135,6 @@ } #ifdef AH_DEBUG -#if HAL_ABI_VERSION >= 0x08090101 void HALDEBUG(struct ath_hal *ah, u_int mask, const char* fmt, ...) { @@ -151,29 +145,6 @@ va_end(ap); } } -#else -void -HALDEBUG(struct ath_hal *ah, const char* fmt, ...) -{ - if (ath_hal_debug) { - __va_list ap; - va_start(ap, fmt); - ath_hal_vprintf(ah, fmt, ap); - va_end(ap); - } -} - -void -HALDEBUGn(struct ath_hal *ah, u_int level, const char* fmt, ...) -{ - if (ath_hal_debug >= level) { - __va_list ap; - va_start(ap, fmt); - ath_hal_vprintf(ah, fmt, ap); - va_end(ap); - } -} -#endif #endif /* AH_DEBUG */ #ifdef AH_DEBUG_ALQ ==== //depot/projects/usb/src/sys/dev/bge/if_bge.c#16 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.218 2009/02/10 21:54:23 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.220 2009/03/23 14:36:50 marius Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -384,6 +384,7 @@ #endif static void bge_writemem_direct(struct bge_softc *, int, int); static void bge_writereg_ind(struct bge_softc *, int, int); +static void bge_set_max_readrq(struct bge_softc *, int); static int bge_miibus_readreg(device_t, int, int); static int bge_miibus_writereg(device_t, int, int, int); @@ -523,6 +524,34 @@ pci_write_config(dev, BGE_PCI_MEMWIN_BASEADDR, 0, 4); } +/* + * PCI Express only + */ +static void +bge_set_max_readrq(struct bge_softc *sc, int expr_ptr) +{ + device_t dev; + uint16_t val; + + KASSERT((sc->bge_flags & BGE_FLAG_PCIE) && expr_ptr != 0, + ("%s: not applicable", __func__)); + + dev = sc->bge_dev; + + val = pci_read_config(dev, expr_ptr + BGE_PCIE_DEVCTL, 2); + if ((val & BGE_PCIE_DEVCTL_MAX_READRQ_MASK) != + BGE_PCIE_DEVCTL_MAX_READRQ_4096) { + if (bootverbose) + device_printf(dev, "adjust device control 0x%04x ", + val); + val &= ~BGE_PCIE_DEVCTL_MAX_READRQ_MASK; + val |= BGE_PCIE_DEVCTL_MAX_READRQ_4096; + pci_write_config(dev, expr_ptr + BGE_PCIE_DEVCTL, val, 2); + if (bootverbose) + printf("-> 0x%04x\n", val); + } +} + #ifdef notdef static uint32_t bge_readreg_ind(struct bge_softc *sc, int off) @@ -1266,8 +1295,7 @@ } /* - * Do endian, PCI and DMA initialization. Also check the on-board ROM - * self-test results. + * Do endian, PCI and DMA initialization. */ static int bge_chipinit(struct bge_softc *sc) @@ -1278,18 +1306,6 @@ /* Set endianness before we access any non-PCI registers. */ pci_write_config(sc->bge_dev, BGE_PCI_MISC_CTL, BGE_INIT, 4); - /* - * Check the 'ROM failed' bit on the RX CPU to see if - * self-tests passed. Skip this check when there's no - * chip containing the Ethernet address fitted, since - * in that case it will always fail. - */ - if ((sc->bge_flags & BGE_FLAG_EADDR) && - CSR_READ_4(sc, BGE_RXCPU_MODE) & BGE_RXCPUMODE_ROMFAIL) { - device_printf(sc->bge_dev, "RX CPU self-diagnostics failed!\n"); - return (ENODEV); - } - /* Clear the MAC control register */ CSR_WRITE_4(sc, BGE_MAC_MODE, 0); @@ -1387,9 +1403,11 @@ /* * Disable memory write invalidate. Apparently it is not supported - * properly by these devices. + * properly by these devices. Also ensure that INTx isn't disabled, + * as these chips need it even when using MSI. */ - PCI_CLRBIT(sc->bge_dev, BGE_PCI_CMD, PCIM_CMD_MWIEN, 4); + PCI_CLRBIT(sc->bge_dev, BGE_PCI_CMD, + PCIM_CMD_INTxDIS | PCIM_CMD_MWIEN, 4); /* Set the timer prescaler (always 66Mhz) */ CSR_WRITE_4(sc, BGE_MISC_CFG, BGE_32BITTIME_66MHZ); @@ -1742,14 +1760,18 @@ /* Enable host coalescing bug fix. */ if (sc->bge_asicrev == BGE_ASICREV_BCM5755 || sc->bge_asicrev == BGE_ASICREV_BCM5787) - val |= 1 << 29; + val |= 1 << 29; /* Turn on write DMA state machine */ CSR_WRITE_4(sc, BGE_WDMA_MODE, val); + DELAY(40); /* Turn on read DMA state machine */ - CSR_WRITE_4(sc, BGE_RDMA_MODE, - BGE_RDMAMODE_ENABLE | BGE_RDMAMODE_ALL_ATTNS); + val = BGE_RDMAMODE_ENABLE | BGE_RDMAMODE_ALL_ATTNS; + if (sc->bge_flags & BGE_FLAG_PCIE) + val |= BGE_RDMAMODE_FIFO_LONG_BURST; + CSR_WRITE_4(sc, BGE_RDMA_MODE, val); + DELAY(40); /* Turn on RX data completion state machine */ CSR_WRITE_4(sc, BGE_RDC_MODE, BGE_RDCMODE_ENABLE); @@ -2387,7 +2409,7 @@ goto fail; } - /* Save ASIC rev. */ + /* Save various chip information. */ sc->bge_chipid = pci_read_config(dev, BGE_PCI_MISC_CTL, 4) & BGE_PCIMISCCTL_ASICREV; @@ -2470,14 +2492,17 @@ * Found a PCI Express capabilities register, this * must be a PCI Express device. */ - if (reg != 0) + if (reg != 0) { sc->bge_flags |= BGE_FLAG_PCIE; #else if (BGE_IS_5705_PLUS(sc)) { reg = pci_read_config(dev, BGE_PCIE_CAPID_REG, 4); - if ((reg & 0xFF) == BGE_PCIE_CAPID) + if ((reg & 0xFF) == BGE_PCIE_CAPID) { sc->bge_flags |= BGE_FLAG_PCIE; + reg = BGE_PCIE_CAPID; #endif + bge_set_max_readrq(sc, reg); + } } else { /* * Check if the device is in PCI-X Mode. @@ -2522,6 +2547,13 @@ goto fail; } + if (bootverbose) + device_printf(dev, + "CHIP ID 0x%08x; ASIC REV 0x%02x; CHIP REV 0x%02x; %s\n", + sc->bge_chipid, sc->bge_asicrev, sc->bge_chiprev, + (sc->bge_flags & BGE_FLAG_PCIX) ? "PCI-X" : + ((sc->bge_flags & BGE_FLAG_PCIE) ? "PCI-E" : "PCI")); + BGE_LOCK_INIT(sc, device_get_nameunit(dev)); /* Try to reset the chip. */ @@ -3882,6 +3914,7 @@ { struct bge_softc *sc = ifp->if_softc; struct mii_data *mii; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Mar 25 15:18:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C2FB106579E; Wed, 25 Mar 2009 15:18: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 B2E681065789 for ; Wed, 25 Mar 2009 15:18:38 +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 9ED688FC1F for ; Wed, 25 Mar 2009 15:18:38 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2PFIctt067961 for ; Wed, 25 Mar 2009 15:18:38 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2PFIc7Z067959 for perforce@freebsd.org; Wed, 25 Mar 2009 15:18:38 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 25 Mar 2009 15:18:38 GMT Message-Id: <200903251518.n2PFIc7Z067959@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 159806 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Mar 2009 15:18:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=159806 Change 159806 by hselasky@hselasky_laptop001 on 2009/03/25 15:18:28 USB core: - properly name usb2_uref_location() so that it is not confused with usb2_unref_location() . Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#15 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_dev.c#15 (text+ko) ==== @@ -89,7 +89,7 @@ struct usb2_cdev_privdata *); static void usb2_close(void *); static usb2_error_t usb2_ref_device(struct usb2_cdev_privdata *, int); -static usb2_error_t usb2_uref_location(struct usb2_cdev_privdata *); +static usb2_error_t usb2_usb_ref_location(struct usb2_cdev_privdata *); static void usb2_unref_device(struct usb2_cdev_privdata *); static d_open_t usb2_open; @@ -264,7 +264,7 @@ } /*------------------------------------------------------------------------* - * usb2_uref_location + * usb2_usb_ref_location * * This function is used to upgrade an USB reference to include the * USB device reference on a USB location. @@ -274,7 +274,7 @@ * Else: Failure. *------------------------------------------------------------------------*/ static usb2_error_t -usb2_uref_location(struct usb2_cdev_privdata *cpd) +usb2_usb_ref_location(struct usb2_cdev_privdata *cpd) { /* * Check if we already got an USB reference on this location: @@ -1038,7 +1038,7 @@ err = (f->methods->f_ioctl) (f, cmd, addr, fflags); DPRINTFN(2, "f_ioctl cmd 0x%lx = %d\n", cmd, err); if (err == ENOIOCTL) { - if (usb2_uref_location(cpd)) { + if (usb2_usb_ref_location(cpd)) { err = ENXIO; goto done; } From owner-p4-projects@FreeBSD.ORG Wed Mar 25 16:01:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DAF2A1065694; Wed, 25 Mar 2009 16:01: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 9AC631065673 for ; Wed, 25 Mar 2009 16:01: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 88ABB8FC1D for ; Wed, 25 Mar 2009 16:01:22 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2PG1MiR072470 for ; Wed, 25 Mar 2009 16:01:22 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2PG1M4g072468 for perforce@freebsd.org; Wed, 25 Mar 2009 16:01:22 GMT (envelope-from hselasky@FreeBSD.org) Date: Wed, 25 Mar 2009 16:01:22 GMT Message-Id: <200903251601.n2PG1M4g072468@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 159811 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 25 Mar 2009 16:01:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=159811 Change 159811 by hselasky@hselasky_laptop001 on 2009/03/25 16:00:54 USB core: - First patch in a series of memory save patches. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#15 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.h#4 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#15 (text+ko) ==== @@ -504,8 +504,9 @@ } /* free "cdesc" after "ifaces", if any */ - if (udev->cdesc) { - free(udev->cdesc, M_USB); + if (udev->cdesc != NULL) { + if (udev->flags.usb2_mode != USB_MODE_DEVICE) + free(udev->cdesc, M_USB); udev->cdesc = NULL; } /* set unconfigured state */ @@ -569,8 +570,14 @@ goto done; } /* get the full config descriptor */ - err = usb2_req_get_config_desc_full(udev, - NULL, &cdp, M_USB, index); + if (udev->flags.usb2_mode == USB_MODE_DEVICE) { + /* save some memory */ + err = usb2_req_get_config_desc_ptr(udev, &cdp, index); + } else { + /* normal request */ + err = usb2_req_get_config_desc_full(udev, + NULL, &cdp, M_USB, index); + } if (err) { goto done; } @@ -1713,10 +1720,9 @@ udev->ugen_symlink = usb2_alloc_symlink(udev->ugen_name); /* Announce device */ -#if USB_HAVE_STRINGS printf("%s: <%s> at %s\n", udev->ugen_name, udev->manufacturer, device_get_nameunit(udev->bus->bdev)); -#endif + usb2_notify_addq("+", udev); #endif done: @@ -1851,10 +1857,8 @@ #if USB_HAVE_UGEN usb2_notify_addq("-", udev); -#if USB_HAVE_STRINGS printf("%s: <%s> at %s (disconnected)\n", udev->ugen_name, udev->manufacturer, device_get_nameunit(bus->bdev)); -#endif /* Destroy UGEN symlink, if any */ if (udev->ugen_symlink) { ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#6 (text+ko) ==== @@ -833,6 +833,40 @@ } /*------------------------------------------------------------------------* + * usb2_req_get_config_desc_ptr + * + * This function is used in device side mode to retrieve the pointer + * to the generated config descriptor. This saves allocating space for + * an additional config descriptor when setting the configuration. + * + * Returns: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +usb2_error_t +usb2_req_get_config_desc_ptr(struct usb2_device *udev, + struct usb2_config_descriptor **ppcd, uint8_t config_index) +{ + uint16_t len; + + struct usb2_device_request req; + + if (udev->flags.usb2_mode != USB_MODE_DEVICE) + return (USB_ERR_INVAL); + + req.bmRequestType = UT_READ_CLASS_DEVICE; + req.bRequest = UR_GET_DESCRIPTOR; + USETW2(req.wValue, UDESC_CONFIG, config_index); + USETW(req.wIndex, 0); + USETW(req.wLength, 0); + + (usb2_temp_get_desc_p) (udev, &req, + __DECONST(const void **, ppcd), &len); + + return (*ppcd ? USB_ERR_NORMAL_COMPLETION : USB_ERR_INVAL); +} + +/*------------------------------------------------------------------------* * usb2_req_get_config_desc * * Returns: ==== //depot/projects/usb/src/sys/dev/usb/usb_request.h#4 (text+ko) ==== @@ -44,6 +44,8 @@ uint8_t iface_index); usb2_error_t usb2_req_get_config(struct usb2_device *udev, struct mtx *mtx, uint8_t *pconf); +usb2_error_t usb2_req_get_config_desc_ptr(struct usb2_device *udev, + struct usb2_config_descriptor **ppcd, uint8_t config_index); usb2_error_t usb2_req_get_config_desc(struct usb2_device *udev, struct mtx *mtx, struct usb2_config_descriptor *d, uint8_t conf_index); usb2_error_t usb2_req_get_config_desc_full(struct usb2_device *udev, From owner-p4-projects@FreeBSD.ORG Thu Mar 26 19:14:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 396A610656EF; Thu, 26 Mar 2009 19:14: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 D55E010656EB for ; Thu, 26 Mar 2009 19:14:23 +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 C1E358FC19 for ; Thu, 26 Mar 2009 19:14:23 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2QJENdK066160 for ; Thu, 26 Mar 2009 19:14:23 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2QJEN7e066158 for perforce@freebsd.org; Thu, 26 Mar 2009 19:14:23 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 26 Mar 2009 19:14:23 GMT Message-Id: <200903261914.n2QJEN7e066158@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 159863 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Mar 2009 19:14:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=159863 Change 159863 by hselasky@hselasky_laptop001 on 2009/03/26 19:13:32 USB bluetooth: - speed up the endpoint descriptor search Affected files ... .. //depot/projects/usb/src/sys/dev/usb/bluetooth/ng_ubt.c#3 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/bluetooth/ng_ubt.c#3 (text+ko) ==== @@ -426,6 +426,7 @@ struct usb2_attach_arg *uaa = device_get_ivars(dev); struct ubt_softc *sc = device_get_softc(dev); struct usb2_endpoint_descriptor *ed; + struct usb2_interface_descriptor *id; uint16_t wMaxPacketSize; uint8_t alt_index, i, j; uint8_t iface_index[2] = { 0, 1 }; @@ -496,31 +497,34 @@ alt_index = 0; i = 0; j = 0; + ed = NULL; - /* Search through all the descriptors looking for bidir mode */ - while (1) { - uint16_t temp; + /* + * Search through all the descriptors looking for the largest + * packet size: + */ + while ((ed = (struct usb2_endpoint_descriptor *)usb2_desc_foreach( + usb2_get_config_descriptor(uaa->device), + (struct usb2_descriptor *)ed))) { - ed = usb2_find_edesc(usb2_get_config_descriptor(uaa->device), - 1, i, j); - if (ed == NULL) { - if (j != 0) { - /* next interface */ - j = 0; - i ++; - continue; - } + if ((ed->bDescriptorType == UDESC_INTERFACE) && + (ed->bLength >= sizeof(*id))) { + id = (struct usb2_interface_descriptor *)ed; + i = id->bInterfaceNumber; + j = id->bAlternateSetting; + } - break; /* end of interfaces */ - } + if ((ed->bDescriptorType == UDESC_ENDPOINT) && + (ed->bLength >= sizeof(*ed)) && + (i == 1)) { + uint16_t temp; - temp = UGETW(ed->wMaxPacketSize); - if (temp > wMaxPacketSize) { - wMaxPacketSize = temp; - alt_index = i; + temp = UGETW(ed->wMaxPacketSize); + if (temp > wMaxPacketSize) { + wMaxPacketSize = temp; + alt_index = j; + } } - - j ++; } /* Set alt configuration on interface #1 only if we found it */ From owner-p4-projects@FreeBSD.ORG Thu Mar 26 19:15:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 63C021065678; Thu, 26 Mar 2009 19:15: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 21DB7106566B for ; Thu, 26 Mar 2009 19:15:25 +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 0FE868FC14 for ; Thu, 26 Mar 2009 19:15:25 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2QJFONb066391 for ; Thu, 26 Mar 2009 19:15:24 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2QJFOYu066387 for perforce@freebsd.org; Thu, 26 Mar 2009 19:15:24 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 26 Mar 2009 19:15:24 GMT Message-Id: <200903261915.n2QJFOYu066387@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 159864 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Mar 2009 19:15:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=159864 Change 159864 by hselasky@hselasky_laptop001 on 2009/03/26 19:14:52 USB core: - fix possible deadlock with UGEN at detach. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#16 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_dev.c#16 (text+ko) ==== @@ -89,7 +89,7 @@ struct usb2_cdev_privdata *); static void usb2_close(void *); static usb2_error_t usb2_ref_device(struct usb2_cdev_privdata *, int); -static usb2_error_t usb2_usb_ref_location(struct usb2_cdev_privdata *); +static usb2_error_t usb2_usb_ref_device(struct usb2_cdev_privdata *); static void usb2_unref_device(struct usb2_cdev_privdata *); static d_open_t usb2_open; @@ -180,6 +180,22 @@ DPRINTFN(2, "no dev ref\n"); goto error; } + if (need_uref) { + DPRINTFN(2, "ref udev - needed\n"); + cpd->udev->refcount++; + cpd->is_uref = 1; + + mtx_unlock(&usb2_ref_lock); + + /* + * We need to grab the sx-lock before grabbing the + * FIFO refs to avoid deadlock at detach! + */ + sx_xlock(cpd->udev->default_sx + 1); + + mtx_lock(&usb2_ref_lock); + } + /* check if we are doing an open */ if (cpd->fflags == 0) { /* set defaults */ @@ -240,31 +256,28 @@ DPRINTFN(2, "ref read\n"); cpd->rxfifo->refcount++; } - if (need_uref) { - DPRINTFN(2, "ref udev - needed\n"); - cpd->udev->refcount++; - cpd->is_uref = 1; - } mtx_unlock(&usb2_ref_lock); if (cpd->is_uref) { - /* - * We are about to alter the bus-state. Apply the - * required locks. - */ - sx_xlock(cpd->udev->default_sx + 1); mtx_lock(&Giant); /* XXX */ } return (0); error: + if (cpd->is_uref) { + sx_unlock(cpd->udev->default_sx + 1); + if (--(cpd->udev->refcount) == 0) { + usb2_cv_signal(cpd->udev->default_cv + 1); + } + cpd->is_uref = 0; + } mtx_unlock(&usb2_ref_lock); DPRINTFN(2, "fail\n"); return (USB_ERR_INVAL); } /*------------------------------------------------------------------------* - * usb2_usb_ref_location + * usb2_usb_ref_device * * This function is used to upgrade an USB reference to include the * USB device reference on a USB location. @@ -274,46 +287,21 @@ * Else: Failure. *------------------------------------------------------------------------*/ static usb2_error_t -usb2_usb_ref_location(struct usb2_cdev_privdata *cpd) +usb2_usb_ref_device(struct usb2_cdev_privdata *cpd) { /* * Check if we already got an USB reference on this location: */ - if (cpd->is_uref) { + if (cpd->is_uref) return (0); /* success */ - } - mtx_lock(&usb2_ref_lock); - if (cpd->bus != devclass_get_softc(usb2_devclass_ptr, cpd->bus_index)) { - DPRINTFN(2, "bus changed at %u\n", cpd->bus_index); - goto error; - } - if (cpd->udev != cpd->bus->devices[cpd->dev_index]) { - DPRINTFN(2, "device changed at %u\n", cpd->dev_index); - goto error; - } - if (cpd->udev->refcount == USB_DEV_REF_MAX) { - DPRINTFN(2, "no dev ref\n"); - goto error; - } - DPRINTFN(2, "ref udev\n"); - cpd->udev->refcount++; - mtx_unlock(&usb2_ref_lock); - /* set "uref" */ - cpd->is_uref = 1; - /* - * We are about to alter the bus-state. Apply the - * required locks. + * To avoid deadlock at detach we need to drop the FIFO ref + * and re-acquire a new ref! */ - sx_xlock(cpd->udev->default_sx + 1); - mtx_lock(&Giant); /* XXX */ - return (0); + usb2_unref_device(cpd); -error: - mtx_unlock(&usb2_ref_lock); - DPRINTFN(2, "fail\n"); - return (USB_ERR_INVAL); + return (usb2_ref_device(cpd, 1 /* need uref */)); } /*------------------------------------------------------------------------* @@ -1038,7 +1026,7 @@ err = (f->methods->f_ioctl) (f, cmd, addr, fflags); DPRINTFN(2, "f_ioctl cmd 0x%lx = %d\n", cmd, err); if (err == ENOIOCTL) { - if (usb2_usb_ref_location(cpd)) { + if (usb2_usb_ref_device(cpd)) { err = ENXIO; goto done; } From owner-p4-projects@FreeBSD.ORG Thu Mar 26 19:18:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF78F1065674; Thu, 26 Mar 2009 19:18: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 687DE106566C for ; Thu, 26 Mar 2009 19:18:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 554678FC1E for ; Thu, 26 Mar 2009 19:18:28 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2QJISBD068145 for ; Thu, 26 Mar 2009 19:18:28 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2QJISeQ068143 for perforce@freebsd.org; Thu, 26 Mar 2009 19:18:28 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 26 Mar 2009 19:18:28 GMT Message-Id: <200903261918.n2QJISeQ068143@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 159866 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Mar 2009 19:18:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=159866 Change 159866 by hselasky@hselasky_laptop001 on 2009/03/26 19:18:25 USB core: - memory usage reduction by only allocating the required USB pipes and USB interfaces. Saves some kilobytes of memory per USB device. - cleanup some USB parsing functions to be more flexible. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#16 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#12 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/usb_parse.c#2 edit .. //depot/projects/usb/src/sys/dev/usb/usb_parse.h#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#8 (text+ko) ==== @@ -254,8 +254,8 @@ * Free USB Root device, but not any sub-devices, hence they * are freed by the caller of this function: */ - usb2_detach_device(udev, USB_IFACE_INDEX_ANY, 0); - usb2_free_device(udev); + usb2_free_device(udev, + USB_UNCFG_FLAG_FREE_EP0); mtx_unlock(&Giant); USB_BUS_LOCK(bus); ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#16 (text+ko) ==== @@ -57,10 +57,10 @@ /* function prototypes */ -static void usb2_fill_pipe_data(struct usb2_device *, uint8_t, +static void usb2_init_pipe(struct usb2_device *, uint8_t, struct usb2_endpoint_descriptor *, struct usb2_pipe *); -static void usb2_free_pipe_data(struct usb2_device *, uint8_t, uint8_t); -static void usb2_free_iface_data(struct usb2_device *); +static void usb2_unconfigure(struct usb2_device *, uint8_t); +static void usb2_detach_device(struct usb2_device *, uint8_t, uint8_t); static void usb2_detach_device_sub(struct usb2_device *, device_t *, uint8_t); static uint8_t usb2_probe_and_attach_sub(struct usb2_device *, @@ -70,11 +70,10 @@ static void usb2_suspend_resume_sub(struct usb2_device *, device_t, uint8_t); static void usb2_clear_stall_proc(struct usb2_proc_msg *_pm); +usb2_error_t usb2_config_parse(struct usb2_device *, uint8_t, uint8_t); #if USB_HAVE_STRINGS static void usb2_check_strings(struct usb2_device *); #endif -static usb2_error_t usb2_fill_iface_data(struct usb2_device *, uint8_t, - uint8_t); #if USB_HAVE_UGEN static void usb2_notify_addq(const char *type, struct usb2_device *); static void usb2_fifo_free_wrap(struct usb2_device *, uint8_t, uint8_t); @@ -268,30 +267,32 @@ *count = 0; return (USB_ERR_NOT_CONFIGURED); } - *count = udev->cdesc->bNumInterface; + *count = udev->ifaces_max; return (USB_ERR_NORMAL_COMPLETION); } /*------------------------------------------------------------------------* - * usb2_fill_pipe_data + * usb2_init_pipe * * This function will initialise the USB pipe structure pointed to by - * the "pipe" argument. + * the "pipe" argument. The structure pointed to by "pipe" must be + * zeroed before calling this function. *------------------------------------------------------------------------*/ static void -usb2_fill_pipe_data(struct usb2_device *udev, uint8_t iface_index, +usb2_init_pipe(struct usb2_device *udev, uint8_t iface_index, struct usb2_endpoint_descriptor *edesc, struct usb2_pipe *pipe) { + struct usb2_bus_methods *methods; - bzero(pipe, sizeof(*pipe)); + methods = udev->bus->methods; - (udev->bus->methods->pipe_init) (udev, edesc, pipe); + (methods->pipe_init) (udev, edesc, pipe); - if (pipe->methods == NULL) { - /* the pipe is invalid: just return */ + /* check for invalid pipe */ + if (pipe->methods == NULL) return; - } + /* initialise USB pipe structure */ pipe->edesc = edesc; pipe->iface_index = iface_index; @@ -299,40 +300,14 @@ pipe->pipe_q.command = &usb2_pipe_start; /* clear stall, if any */ - if (udev->bus->methods->clear_stall) { + if (methods->clear_stall != NULL) { USB_BUS_LOCK(udev->bus); - (udev->bus->methods->clear_stall) (udev, pipe); + (methods->clear_stall) (udev, pipe); USB_BUS_UNLOCK(udev->bus); } } -/*------------------------------------------------------------------------* - * usb2_free_pipe_data - * - * This function will free USB pipe data for the given interface - * index. Hence we do not have any dynamic allocations we simply clear - * "pipe->edesc" to indicate that the USB pipe structure can be - * reused. The pipes belonging to the given interface should not be in - * use when this function is called and no check is performed to - * prevent this. - *------------------------------------------------------------------------*/ -static void -usb2_free_pipe_data(struct usb2_device *udev, - uint8_t iface_index, uint8_t iface_mask) -{ - struct usb2_pipe *pipe = udev->pipes; - struct usb2_pipe *pipe_end = udev->pipes + USB_EP_MAX; - - while (pipe != pipe_end) { - if ((pipe->iface_index & iface_mask) == iface_index) { - /* free pipe */ - pipe->edesc = NULL; - } - pipe++; - } -} - -/*------------------------------------------------------------------------* +/*-----------------------------------------------------------------------* * usb2_pipe_foreach * * This function will iterate all the USB endpoints except the control @@ -367,124 +342,39 @@ } /*------------------------------------------------------------------------* - * usb2_fill_iface_data + * usb2_unconfigure + * + * This function will free all USB interfaces and USB pipes belonging + * to an USB device. * - * This function will fill in interface data and allocate USB pipes - * for all the endpoints that belong to the given interface. This - * function is typically called when setting the configuration or when - * setting an alternate interface. + * Flag values, see "USB_UNCFG_FLAG_XXX". *------------------------------------------------------------------------*/ -static usb2_error_t -usb2_fill_iface_data(struct usb2_device *udev, - uint8_t iface_index, uint8_t alt_index) +static void +usb2_unconfigure(struct usb2_device *udev, uint8_t flag) { - struct usb2_interface *iface = usb2_get_iface(udev, iface_index); - struct usb2_pipe *pipe; - struct usb2_pipe *pipe_end; - struct usb2_interface_descriptor *id; - struct usb2_endpoint_descriptor *ed = NULL; - struct usb2_descriptor *desc; - uint8_t nendpt; + uint8_t do_unlock; - if (iface == NULL) { - return (USB_ERR_INVAL); + /* automatic locking */ + if (sx_xlocked(udev->default_sx + 1)) { + do_unlock = 0; + } else { + do_unlock = 1; + sx_xlock(udev->default_sx + 1); } - DPRINTFN(5, "iface_index=%d alt_index=%d\n", - iface_index, alt_index); - sx_assert(udev->default_sx + 1, SA_LOCKED); + /* detach all interface drivers */ + usb2_detach_device(udev, USB_IFACE_INDEX_ANY, flag); - pipe = udev->pipes; - pipe_end = udev->pipes + USB_EP_MAX; +#if USB_HAVE_UGEN + /* free all FIFOs except control endpoint FIFOs */ + usb2_fifo_free_wrap(udev, USB_IFACE_INDEX_ANY, flag); /* - * Check if any USB pipes on the given USB interface are in - * use: + * Free all cdev's, if any. */ - while (pipe != pipe_end) { - if ((pipe->edesc != NULL) && - (pipe->iface_index == iface_index) && - (pipe->refcount != 0)) { - return (USB_ERR_IN_USE); - } - pipe++; - } - - pipe = &udev->pipes[0]; - - id = usb2_find_idesc(udev->cdesc, iface_index, alt_index); - if (id == NULL) { - return (USB_ERR_INVAL); - } - /* - * Free old pipes after we know that an interface descriptor exists, - * if any. - */ - usb2_free_pipe_data(udev, iface_index, 0 - 1); - - /* Setup USB interface structure */ - iface->idesc = id; - iface->alt_index = alt_index; - iface->parent_iface_index = USB_IFACE_INDEX_ANY; - - nendpt = id->bNumEndpoints; - DPRINTFN(5, "found idesc nendpt=%d\n", nendpt); - - desc = (void *)id; - - while (nendpt--) { - DPRINTFN(11, "endpt=%d\n", nendpt); - - while ((desc = usb2_desc_foreach(udev->cdesc, desc))) { - if ((desc->bDescriptorType == UDESC_ENDPOINT) && - (desc->bLength >= sizeof(*ed))) { - goto found; - } - if (desc->bDescriptorType == UDESC_INTERFACE) { - break; - } - } - goto error; + usb2_cdev_free(udev); +#endif -found: - ed = (void *)desc; - - /* find a free pipe */ - while (pipe != pipe_end) { - if (pipe->edesc == NULL) { - /* pipe is free */ - usb2_fill_pipe_data(udev, iface_index, ed, pipe); - break; - } - pipe++; - } - } - return (USB_ERR_NORMAL_COMPLETION); - -error: - /* passed end, or bad desc */ - DPRINTFN(0, "%s: bad descriptor(s), addr=%d!\n", - __FUNCTION__, udev->address); - - /* free old pipes if any */ - usb2_free_pipe_data(udev, iface_index, 0 - 1); - return (USB_ERR_INVAL); -} - -/*------------------------------------------------------------------------* - * usb2_free_iface_data - * - * This function will free all USB interfaces and USB pipes belonging - * to an USB device. - *------------------------------------------------------------------------*/ -static void -usb2_free_iface_data(struct usb2_device *udev) -{ - struct usb2_interface *iface = udev->ifaces; - struct usb2_interface *iface_end = udev->ifaces + USB_IFACE_MAX; - - /* mtx_assert() */ - #if USB_HAVE_COMPAT_LINUX /* free Linux compat device, if any */ if (udev->linux_dev) { @@ -492,18 +382,10 @@ udev->linux_dev = NULL; } #endif - /* free all pipes, if any */ - usb2_free_pipe_data(udev, 0, 0); - /* free all interfaces, if any */ - while (iface != iface_end) { - iface->idesc = NULL; - iface->alt_index = 0; - iface->parent_iface_index = USB_IFACE_INDEX_ANY; - iface++; - } + usb2_config_parse(udev, USB_IFACE_INDEX_ANY, USB_CFG_FREE); - /* free "cdesc" after "ifaces", if any */ + /* free "cdesc" after "ifaces" and "pipes", if any */ if (udev->cdesc != NULL) { if (udev->flags.usb2_mode != USB_MODE_DEVICE) free(udev->cdesc, M_USB); @@ -512,6 +394,10 @@ /* set unconfigured state */ udev->curr_config_no = USB_UNCONFIG_NO; udev->curr_config_index = USB_UNCONFIG_INDEX; + + if (do_unlock) { + sx_unlock(udev->default_sx + 1); + } } /*------------------------------------------------------------------------* @@ -533,7 +419,6 @@ struct usb2_config_descriptor *cdp; uint16_t power; uint16_t max_power; - uint8_t nifc; uint8_t selfpowered; uint8_t do_unlock; usb2_error_t err; @@ -548,22 +433,12 @@ sx_xlock(udev->default_sx + 1); } - /* detach all interface drivers */ - usb2_detach_device(udev, USB_IFACE_INDEX_ANY, 1); - -#if USB_HAVE_UGEN - /* free all FIFOs except control endpoint FIFOs */ - usb2_fifo_free_wrap(udev, USB_IFACE_INDEX_ANY, 0); - - /* free all configuration data structures */ - usb2_cdev_free(udev); -#endif - usb2_free_iface_data(udev); + usb2_unconfigure(udev, USB_UNCFG_FLAG_FREE_SUBDEV); if (index == USB_UNCONFIG_INDEX) { /* * Leave unallocated when unconfiguring the - * device. "usb2_free_iface_data()" will also reset + * device. "usb2_unconfigure()" will also reset * the current config number and index. */ err = usb2_req_set_config(udev, NULL, USB_UNCONFIG_NO); @@ -585,10 +460,6 @@ udev->cdesc = cdp; - if (cdp->bNumInterface > USB_IFACE_MAX) { - DPRINTFN(0, "too many interfaces: %d\n", cdp->bNumInterface); - cdp->bNumInterface = USB_IFACE_MAX; - } /* Figure out if the device is self or bus powered. */ selfpowered = 0; if ((!udev->flags.uq_bus_powered) && @@ -665,14 +536,17 @@ if (err) { goto done; } - /* Allocate and fill interface data. */ - nifc = cdp->bNumInterface; - while (nifc--) { - err = usb2_fill_iface_data(udev, nifc, 0); - if (err) { - goto done; - } + + err = usb2_config_parse(udev, USB_IFACE_INDEX_ANY, USB_CFG_ALLOC); + if (err) { + goto done; + } + + err = usb2_config_parse(udev, USB_IFACE_INDEX_ANY, USB_CFG_INIT); + if (err) { + goto done; } + #if USB_HAVE_UGEN /* create device nodes for each endpoint */ usb2_cdev_create(udev); @@ -681,10 +555,7 @@ done: DPRINTF("error=%s\n", usb2_errstr(err)); if (err) { -#if USB_HAVE_UGEN - usb2_cdev_free(udev); -#endif - usb2_free_iface_data(udev); + usb2_unconfigure(udev, USB_UNCFG_FLAG_FREE_SUBDEV); } if (do_unlock) { sx_unlock(udev->default_sx + 1); @@ -693,6 +564,205 @@ } /*------------------------------------------------------------------------* + * usb2_config_parse + * + * This function will allocate and free USB interfaces and USB pipes, + * parse the USB configuration structure and initialise the USB pipes + * and interfaces. If "iface_index" is not equal to + * "USB_IFACE_INDEX_ANY" then the "cmd" parameter is the + * alternate_setting to be selected for the given interface. Else the + * "cmd" parameter is defined by "USB_CFG_XXX". "iface_index" can be + * "USB_IFACE_INDEX_ANY" or a valid USB interface index. This function + * is typically called when setting the configuration or when setting + * an alternate interface. + * + * Returns: + * 0: Success + * Else: Failure + *------------------------------------------------------------------------*/ +usb2_error_t +usb2_config_parse(struct usb2_device *udev, uint8_t iface_index, uint8_t cmd) +{ + struct usb2_idesc_parse_state ips; + struct usb2_interface_descriptor *id; + struct usb2_endpoint_descriptor *ed; + struct usb2_interface *iface; + struct usb2_pipe *pipe; + usb2_error_t err; + uint8_t ep_curr; + uint8_t ep_max; + uint8_t temp; + uint8_t do_init; + uint8_t alt_index; + + if (iface_index != USB_IFACE_INDEX_ANY) { + /* parameter overload */ + alt_index = cmd; + cmd = USB_CFG_INIT; + } else { + /* not used */ + alt_index = 0; + } + + err = 0; + + DPRINTFN(5, "iface_index=%d cmd=%d\n", + iface_index, cmd); + + if (cmd == USB_CFG_FREE) + goto cleanup; + + if (cmd == USB_CFG_INIT) { + sx_assert(udev->default_sx + 1, SA_LOCKED); + + /* check for in-use pipes */ + + pipe = udev->pipes; + ep_max = udev->pipes_max; + while (ep_max--) { + /* look for matching pipes */ + if ((iface_index == USB_IFACE_INDEX_ANY) || + (iface_index == pipe->iface_index)) { + if (pipe->refcount != 0) { + /* + * This typically indicates a + * more serious error. + */ + err = USB_ERR_IN_USE; + } else { + /* reset pipe */ + memset(pipe, 0, sizeof(*pipe)); + /* make sure we don't zero the pipe again */ + pipe->iface_index = USB_IFACE_INDEX_ANY; + } + } + pipe++; + } + + if (err) + return (err); + } + + memset(&ips, 0, sizeof(ips)); + + ep_curr = 0; + ep_max = 0; + + while ((id = usb2_idesc_foreach(udev->cdesc, &ips))) { + + /* check for interface overflow */ + if (ips.iface_index == USB_IFACE_MAX) + break; /* crazy */ + + iface = udev->ifaces + ips.iface_index; + + /* check for specific interface match */ + + if (cmd == USB_CFG_INIT) { + if ((iface_index != USB_IFACE_INDEX_ANY) && + (iface_index != ips.iface_index)) { + /* wrong interface */ + do_init = 0; + } else if (alt_index != ips.iface_index_alt) { + /* wrong alternate setting */ + do_init = 0; + } else { + /* initialise interface */ + do_init = 1; + } + } else + do_init = 0; + + /* check for new interface */ + if (ips.iface_index_alt == 0) { + /* update current number of endpoints */ + ep_curr = ep_max; + } + /* check for init */ + if (do_init) { + /* setup the USB interface structure */ + iface->idesc = id; + /* default setting */ + iface->parent_iface_index = USB_IFACE_INDEX_ANY; + /* set alternate index */ + iface->alt_index = alt_index; + } + + DPRINTFN(5, "found idesc nendpt=%d\n", id->bNumEndpoints); + + ed = (struct usb2_endpoint_descriptor *)id; + + temp = ep_curr; + + /* iterate all the endpoint descriptors */ + while ((ed = usb2_edesc_foreach(udev->cdesc, ed))) { + + if (temp == USB_EP_MAX) + break; /* crazy */ + + pipe = udev->pipes + temp; + + if (do_init) { + usb2_init_pipe(udev, + ips.iface_index, ed, pipe); + } + + temp ++; + + /* find maximum number of endpoints */ + if (ep_max < temp) + ep_max = temp; + + /* optimalisation */ + id = (struct usb2_interface_descriptor *)ed; + } + } + + /* NOTE: It is valid to have no interfaces and no endpoints! */ + + if (cmd == USB_CFG_ALLOC) { + udev->ifaces_max = ips.iface_index; + udev->ifaces = NULL; + if (udev->ifaces_max != 0) { + udev->ifaces = malloc(sizeof(*iface) * udev->ifaces_max, + M_USB, M_WAITOK | M_ZERO); + if (udev->ifaces == NULL) { + err = USB_ERR_NOMEM; + goto done; + } + } + udev->pipes_max = ep_max; + udev->pipes = NULL; + if (udev->pipes_max != 0) { + udev->pipes = malloc(sizeof(*pipe) * udev->pipes_max, + M_USB, M_WAITOK | M_ZERO); + if (udev->pipes == NULL) { + err = USB_ERR_NOMEM; + goto done; + } + } + } + +done: + if (err) { + if (cmd == USB_CFG_ALLOC) { +cleanup: + /* cleanup */ + if (udev->ifaces != NULL) + free(udev->ifaces, M_USB); + if (udev->pipes != NULL) + free(udev->pipes, M_USB); + + udev->ifaces = NULL; + udev->pipes = NULL; + udev->ifaces_max = 0; + udev->pipes_max = 0; + } + } + return (err); +} + +/*------------------------------------------------------------------------* * usb2_set_alt_interface_index * * This function will select an alternate interface index for the @@ -726,7 +796,8 @@ goto done; } if (udev->flags.usb2_mode == USB_MODE_DEVICE) { - usb2_detach_device(udev, iface_index, 1); + usb2_detach_device(udev, iface_index, + USB_UNCFG_FLAG_FREE_SUBDEV); } else { if (iface->alt_index == alt_index) { /* @@ -744,7 +815,8 @@ */ usb2_fifo_free_wrap(udev, iface_index, 0); #endif - err = usb2_fill_iface_data(udev, iface_index, alt_index); + + err = usb2_config_parse(udev, iface_index, alt_index); if (err) { goto done; } @@ -874,15 +946,17 @@ * * This function will try to detach an USB device. If it fails a panic * will result. + * + * Flag values, see "USB_UNCFG_FLAG_XXX". *------------------------------------------------------------------------*/ static void usb2_detach_device_sub(struct usb2_device *udev, device_t *ppdev, - uint8_t free_subdev) + uint8_t flag) { device_t dev; int err; - if (!free_subdev) { + if (!(flag & USB_UNCFG_FLAG_FREE_SUBDEV)) { *ppdev = NULL; @@ -928,14 +1002,15 @@ * * The following function will detach the matching interfaces. * This function is NULL safe. + * + * Flag values, see "USB_UNCFG_FLAG_XXX". *------------------------------------------------------------------------*/ void usb2_detach_device(struct usb2_device *udev, uint8_t iface_index, - uint8_t free_subdev) + uint8_t flag) { struct usb2_interface *iface; uint8_t i; - uint8_t do_unlock; if (udev == NULL) { /* nothing to do */ @@ -943,13 +1018,7 @@ } DPRINTFN(4, "udev=%p\n", udev); - /* automatic locking */ - if (sx_xlocked(udev->default_sx + 1)) { - do_unlock = 0; - } else { - do_unlock = 1; - sx_xlock(udev->default_sx + 1); - } + sx_assert(udev->default_sx + 1, SA_LOCKED); /* * First detach the child to give the child's detach routine a @@ -974,12 +1043,8 @@ /* looks like the end of the USB interfaces */ break; } - usb2_detach_device_sub(udev, &iface->subdev, free_subdev); + usb2_detach_device_sub(udev, &iface->subdev, flag); } - - if (do_unlock) { - sx_unlock(udev->default_sx + 1); - } } /*------------------------------------------------------------------------* @@ -1445,7 +1510,7 @@ } /* init the default pipe */ - usb2_fill_pipe_data(udev, 0, + usb2_init_pipe(udev, 0, &udev->default_ep_desc, &udev->default_pipe); @@ -1682,7 +1747,8 @@ } else if ((config_index + 1) < udev->ddesc.bNumConfigurations) { if ((udev->cdesc->bNumInterface < 2) && - (usb2_get_no_endpoints(udev->cdesc) == 0)) { + (usb2_get_no_descriptors(udev->cdesc, + UDESC_ENDPOINT) == 0)) { DPRINTFN(0, "Found no endpoints " "(trying next config)!\n"); config_index++; @@ -1728,7 +1794,9 @@ done: if (err) { /* free device */ - usb2_free_device(udev); + usb2_free_device(udev, + USB_UNCFG_FLAG_FREE_SUBDEV | + USB_UNCFG_FLAG_FREE_EP0); udev = NULL; } return (udev); @@ -1846,14 +1914,21 @@ * usb2_free_device * * This function is NULL safe and will free an USB device. + * + * Flag values, see "USB_UNCFG_FLAG_XXX". *------------------------------------------------------------------------*/ void -usb2_free_device(struct usb2_device *udev) +usb2_free_device(struct usb2_device *udev, uint8_t flag) { - struct usb2_bus *bus = udev->bus;; + struct usb2_bus *bus; + + if (udev == NULL) + return; /* already freed */ DPRINTFN(4, "udev=%p port=%d\n", udev, udev->port_no); + bus = udev->bus;; + #if USB_HAVE_UGEN usb2_notify_addq("-", udev); @@ -1882,26 +1957,18 @@ usb2_cv_wait(udev->default_cv + 1, &usb2_ref_lock); } mtx_unlock(&usb2_ref_lock); + + destroy_dev_sched_cb(udev->default_dev, usb2_cdev_cleanup, + udev->default_dev->si_drv1); #endif if (udev->flags.usb2_mode == USB_MODE_DEVICE) { /* stop receiving any control transfers (Device Side Mode) */ usb2_transfer_unsetup(udev->default_xfer, USB_DEFAULT_XFER_MAX); } -#if USB_HAVE_UGEN - /* free all FIFOs */ - usb2_fifo_free_wrap(udev, USB_IFACE_INDEX_ANY, 1); - /* - * Free all interface related data and FIFOs, if any. - */ - usb2_cdev_free(udev); -#endif - usb2_free_iface_data(udev); -#if USB_HAVE_UGEN - destroy_dev_sched_cb(udev->default_dev, usb2_cdev_cleanup, - udev->default_dev->si_drv1); -#endif + /* the following will get the device unconfigured in software */ + usb2_unconfigure(udev, flag); /* unsetup any leftover default USB transfers */ usb2_transfer_unsetup(udev->default_xfer, USB_DEFAULT_XFER_MAX); @@ -1948,12 +2015,8 @@ { struct usb2_interface *iface = udev->ifaces + iface_index; - if ((iface < udev->ifaces) || - (iface_index >= USB_IFACE_MAX) || - (udev->cdesc == NULL) || - (iface_index >= udev->cdesc->bNumInterface)) { + if (iface_index >= udev->ifaces_max) return (NULL); - } return (iface); } @@ -2303,12 +2366,12 @@ * * This function will free the FIFOs. * - * Flag values, if "iface_index" is equal to "USB_IFACE_INDEX_ANY". - * 0: Free all FIFOs except generic control endpoints. - * 1: Free all FIFOs. - * - * Flag values, if "iface_index" is not equal to "USB_IFACE_INDEX_ANY". - * Not used. + * Description of "flag" argument: If the USB_UNCFG_FLAG_FREE_EP0 flag + * is set and "iface_index" is set to "USB_IFACE_INDEX_ANY", we free + * all FIFOs. If the USB_UNCFG_FLAG_FREE_EP0 flag is not set and + * "iface_index" is set to "USB_IFACE_INDEX_ANY", we free all non + * control endpoint FIFOs. If "iface_index" is not set to + * "USB_IFACE_INDEX_ANY" the flag has no effect. *------------------------------------------------------------------------*/ static void usb2_fifo_free_wrap(struct usb2_device *udev, @@ -2341,7 +2404,8 @@ } } else if (iface_index == USB_IFACE_INDEX_ANY) { if ((f->methods == &usb2_ugen_methods) && - (f->dev_ep_index == 0) && (flag == 0) && + (f->dev_ep_index == 0) && + (!(flag & USB_UNCFG_FLAG_FREE_EP0)) && (f->fs_xfer == NULL)) { /* no need to free this FIFO */ continue; ==== //depot/projects/usb/src/sys/dev/usb/usb_device.h#12 (text+ko) ==== @@ -32,6 +32,18 @@ #define USB_DEFAULT_XFER_MAX 2 +/* "usb2_parse_config()" commands */ + +#define USB_CFG_ALLOC 0 +#define USB_CFG_FREE 1 +#define USB_CFG_INIT 2 + +/* "usb2_unconfigure()" flags */ + +#define USB_UNCFG_FLAG_NONE 0x00 +#define USB_UNCFG_FLAG_FREE_SUBDEV 0x01 /* subdevices are freed */ +#define USB_UNCFG_FLAG_FREE_EP0 0x02 /* endpoint zero is freed */ + struct usb2_clear_stall_msg { struct usb2_proc_msg hdr; struct usb2_device *udev; @@ -103,10 +115,9 @@ struct sx default_sx[2]; struct mtx default_mtx[1]; struct cv default_cv[2]; - struct usb2_interface ifaces[USB_IFACE_MAX]; + struct usb2_interface *ifaces; struct usb2_pipe default_pipe; /* Control Endpoint 0 */ - struct cdev *default_dev; /* Control Endpoint 0 device node */ - struct usb2_pipe pipes[USB_EP_MAX]; + struct usb2_pipe *pipes; struct usb2_power_save pwr_save;/* power save data */ struct usb2_bus *bus; /* our USB BUS */ @@ -123,6 +134,7 @@ #if USB_HAVE_UGEN struct usb2_fifo *fifo[USB_FIFO_MAX]; struct usb2_symlink *ugen_symlink; /* our generic symlink */ + struct cdev *default_dev; /* Control Endpoint 0 device node */ LIST_HEAD(,usb2_fs_privdata) pd_list; char ugen_name[20]; /* name of ugenX.X device */ #endif @@ -146,6 +158,8 @@ uint8_t hs_port_no; /* high-speed HUB port number */ uint8_t driver_added_refcount; /* our driver added generation count */ uint8_t power_mode; /* see USB_POWER_XXX */ + uint8_t ifaces_max; /* number of interfaces present */ + uint8_t pipes_max; /* number of pipes present */ /* the "flags" field is write-protected by "bus->mtx" */ @@ -184,10 +198,8 @@ struct usb2_pipe *pipe, uint8_t do_stall); usb2_error_t usb2_suspend_resume(struct usb2_device *udev, uint8_t do_suspend); -void usb2_detach_device(struct usb2_device *udev, uint8_t iface_index, - uint8_t free_subdev); void usb2_devinfo(struct usb2_device *udev, char *dst_ptr, uint16_t dst_len); -void usb2_free_device(struct usb2_device *udev); +void usb2_free_device(struct usb2_device *, uint8_t); void *usb2_find_descriptor(struct usb2_device *udev, void *id, uint8_t iface_index, uint8_t type, uint8_t type_mask, uint8_t subtype, uint8_t subtype_mask); ==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#8 (text+ko) ==== @@ -297,8 +297,9 @@ /* detach any existing devices */ if (child) { - usb2_detach_device(child, USB_IFACE_INDEX_ANY, 1); - usb2_free_device(child); + usb2_free_device(child, + USB_UNCFG_FLAG_FREE_SUBDEV | + USB_UNCFG_FLAG_FREE_EP0); child = NULL; } /* get fresh status */ @@ -417,8 +418,9 @@ error: if (child) { - usb2_detach_device(child, USB_IFACE_INDEX_ANY, 1); - usb2_free_device(child); + usb2_free_device(child, + USB_UNCFG_FLAG_FREE_SUBDEV | + USB_UNCFG_FLAG_FREE_EP0); child = NULL; } if (err == 0) { @@ -852,9 +854,8 @@ * Subdevices are not freed, because the caller of * uhub_detach() will do that. */ - usb2_detach_device(child, USB_IFACE_INDEX_ANY, 0); - usb2_free_device(child); - child = NULL; + usb2_free_device(child, + USB_UNCFG_FLAG_FREE_EP0); } usb2_transfer_unsetup(sc->sc_xfer, UHUB_N_TRANSFER); ==== //depot/projects/usb/src/sys/dev/usb/usb_parse.c#2 (text+ko) ==== @@ -84,113 +84,109 @@ } /*------------------------------------------------------------------------* - * usb2_find_idesc + * usb2_idesc_foreach * - * This function will return the interface descriptor, if any, that - * has index "iface_index" and alternate index "alt_index". + * This function will iterate the interface descriptors in the config + * descriptor. The parse state structure should be zeroed before + * calling this function the first time. * * Return values: * NULL: End of descriptors * Else: A valid interface descriptor *------------------------------------------------------------------------*/ struct usb2_interface_descriptor * -usb2_find_idesc(struct usb2_config_descriptor *cd, - uint8_t iface_index, uint8_t alt_index) +usb2_idesc_foreach(struct usb2_config_descriptor *cd, + struct usb2_idesc_parse_state *ps) { - struct usb2_descriptor *desc = NULL; struct usb2_interface_descriptor *id; - uint8_t curidx = 0; - uint8_t lastidx = 0; - uint8_t curaidx = 0; - uint8_t first = 1; + uint8_t new_iface; - while ((desc = usb2_desc_foreach(cd, desc))) { - if ((desc->bDescriptorType == UDESC_INTERFACE) && - (desc->bLength >= sizeof(*id))) { - id = (void *)desc; + /* retrieve current descriptor */ + id = (struct usb2_interface_descriptor *)ps->desc; + /* default is to start a new interface */ + new_iface = 1; - if (first) { - first = 0; - lastidx = id->bInterfaceNumber; + while (1) { + id = (struct usb2_interface_descriptor *) + usb2_desc_foreach(cd, (struct usb2_descriptor *)id); + if (id == NULL) + break; + if ((id->bDescriptorType == UDESC_INTERFACE) && + (id->bLength >= sizeof(*id))) { + if (ps->iface_no_last == id->bInterfaceNumber) + new_iface = 0; + ps->iface_no_last = id->bInterfaceNumber; + break; + } + } - } else if (id->bInterfaceNumber != lastidx) { + if (ps->desc == NULL) { + /* first time */ + } else if (new_iface) { + /* new interface */ + ps->iface_index ++; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Mar 26 19:41:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15AF7106566C; Thu, 26 Mar 2009 19:41: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 C8E59106564A for ; Thu, 26 Mar 2009 19:41:52 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B57998FC08 for ; Thu, 26 Mar 2009 19:41:52 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2QJfql1070810 for ; Thu, 26 Mar 2009 19:41:52 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2QJfqYp070805 for perforce@freebsd.org; Thu, 26 Mar 2009 19:41:52 GMT (envelope-from jhb@freebsd.org) Date: Thu, 26 Mar 2009 19:41:52 GMT Message-Id: <200903261941.n2QJfqYp070805@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 159870 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Mar 2009 19:41:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=159870 Change 159870 by jhb@jhb_jhbbsd on 2009/03/26 19:41:26 IFC @159867 Affected files ... .. //depot/projects/smpng/sys/amd64/acpica/acpi_machdep.c#12 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#2 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#6 integrate .. //depot/projects/smpng/sys/amd64/acpica/genwakecode.sh#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/fpu.c#14 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#76 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux.h#19 integrate .. //depot/projects/smpng/sys/amd64/pci/pci_cfgreg.c#12 integrate .. //depot/projects/smpng/sys/cddl/dev/dtnfsclient/dtnfsclient.c#2 delete .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#75 integrate .. //depot/projects/smpng/sys/compat/linux/linux_file.c#43 integrate .. //depot/projects/smpng/sys/conf/files#234 integrate .. //depot/projects/smpng/sys/conf/files.amd64#64 integrate .. //depot/projects/smpng/sys/conf/files.i386#121 integrate .. //depot/projects/smpng/sys/conf/options#164 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#111 integrate .. //depot/projects/smpng/sys/dev/acpica/acpivar.h#69 integrate .. //depot/projects/smpng/sys/dev/ath/ah_osdep.c#7 integrate .. //depot/projects/smpng/sys/dev/drm/ati_pcigart.c#8 integrate .. //depot/projects/smpng/sys/dev/drm/drmP.h#24 integrate .. //depot/projects/smpng/sys/dev/drm/drm_irq.c#10 integrate .. //depot/projects/smpng/sys/dev/drm/drm_scatter.c#9 integrate .. //depot/projects/smpng/sys/dev/drm/i915_dma.c#14 integrate .. //depot/projects/smpng/sys/dev/drm/i915_irq.c#10 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed.c#41 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#44 integrate .. //depot/projects/smpng/sys/dev/fe/if_fe_pccard.c#21 integrate .. //depot/projects/smpng/sys/dev/hptiop/hptiop.h#4 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#54 integrate .. //depot/projects/smpng/sys/dev/ipmi/ipmi_linux.c#1 branch .. //depot/projects/smpng/sys/dev/iwn/if_iwn.c#4 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#16 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#64 integrate .. //depot/projects/smpng/sys/geom/label/g_label.c#14 integrate .. //depot/projects/smpng/sys/geom/label/g_label.h#8 integrate .. //depot/projects/smpng/sys/geom/label/g_label_ufs.c#9 integrate .. //depot/projects/smpng/sys/geom/part/g_part_ebr.c#5 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#137 integrate .. //depot/projects/smpng/sys/i386/isa/npx.c#66 integrate .. //depot/projects/smpng/sys/i386/pci/pci_cfgreg.c#37 integrate .. //depot/projects/smpng/sys/kern/subr_bus.c#77 integrate .. //depot/projects/smpng/sys/kern/subr_param.c#29 integrate .. //depot/projects/smpng/sys/kern/subr_rtc.c#4 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#118 integrate .. //depot/projects/smpng/sys/kern/vfs_cache.c#52 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#56 integrate .. //depot/projects/smpng/sys/modules/Makefile#158 integrate .. //depot/projects/smpng/sys/modules/dtrace/dtnfsclient/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/ipmi/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/ipmi/ipmi_linux/Makefile#1 branch .. //depot/projects/smpng/sys/modules/linprocfs/Makefile#7 integrate .. //depot/projects/smpng/sys/modules/opensolaris/Makefile#2 integrate .. //depot/projects/smpng/sys/net80211/ieee80211.c#37 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_adhoc.c#6 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_freebsd.h#17 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_hostap.c#8 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_input.c#45 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_input.h#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#44 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_node.c#43 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_output.c#39 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_proto.c#32 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_proto.h#21 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_sta.c#6 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_superg.c#1 branch .. //depot/projects/smpng/sys/net80211/ieee80211_superg.h#1 branch .. //depot/projects/smpng/sys/net80211/ieee80211_tdma.c#8 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_tdma.h#3 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_wds.c#6 integrate .. //depot/projects/smpng/sys/netinet/igmp.c#28 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#54 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_kdtrace.c#1 branch .. //depot/projects/smpng/sys/nfsclient/nfs_kdtrace.h#1 branch .. //depot/projects/smpng/sys/nfsclient/nfs_subs.c#37 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#85 integrate .. //depot/projects/smpng/sys/powerpc/powermac/ata_macio.c#17 integrate .. //depot/projects/smpng/sys/sys/dtrace_bsd.h#3 integrate .. //depot/projects/smpng/sys/sys/param.h#140 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/acpica/acpi_machdep.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.19 2009/03/17 00:48:11 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.20 2009/03/23 22:35:30 jkim Exp $"); #include #include @@ -40,11 +40,12 @@ SYSCTL_DECL(_debug_acpi); -uint32_t acpi_resume_beep; +int acpi_resume_beep; TUNABLE_INT("debug.acpi.resume_beep", &acpi_resume_beep); -SYSCTL_UINT(_debug_acpi, OID_AUTO, resume_beep, CTLFLAG_RW, &acpi_resume_beep, +SYSCTL_INT(_debug_acpi, OID_AUTO, resume_beep, CTLFLAG_RW, &acpi_resume_beep, 0, "Beep the PC speaker when resuming"); -uint32_t acpi_reset_video; + +int acpi_reset_video; TUNABLE_INT("hw.acpi.reset_video", &acpi_reset_video); static int intr_model = ACPI_INTR_PIC; ==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#2 (text+ko) ==== @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008 Jung-uk Kim + * Copyright (c) 2008-2009 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.1 2009/03/17 00:48:11 jkim Exp $ + * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.2 2009/03/23 22:35:30 jkim Exp $ */ #define LOCORE @@ -66,12 +66,14 @@ mov %ax, %ds /* are offsets rather than selectors */ mov %ax, %ss movw $PAGE_SIZE - 8, %sp - pushw $0 + xorw %ax, %ax + pushw %ax popfw /* To debug resume hangs, beep the speaker if the user requested. */ - cmpw $0, resume_beep - wakeup_start - je 1f + testb $~0, resume_beep - wakeup_start + jz 1f + movb $0, resume_beep - wakeup_start movb $0xc0, %al outb %al, $0x42 movb $0x04, %al @@ -79,22 +81,16 @@ inb $0x61, %al orb $0x3, %al outb %al, $0x61 - movw $0, resume_beep - wakeup_start 1: /* Re-initialize video BIOS if the reset_video tunable is set. */ - cmpw $0, reset_video - wakeup_start - je 1f + testb $~0, reset_video - wakeup_start + jz 1f + movb $0, reset_video - wakeup_start lcall $0xc000, $3 - movw $0, reset_video - wakeup_start - /* - * Set up segment registers for real mode again in case the - * previous BIOS call clobbers them. - */ - mov %cs, %ax - mov %ax, %ds - mov %ax, %ss + /* Re-start in case the previous BIOS call clobbers them. */ + jmp wakeup_start 1: /* @@ -204,6 +200,7 @@ * space. Remember that jmp is relative and that we've been relocated, * so use an indirect jump. */ + ALIGN_TEXT .code64 wakeup_64: mov $bootdata64 - bootgdt, %eax @@ -215,6 +212,13 @@ movq wakeup_retaddr - wakeup_start(%rbx), %rax jmp *%rax + .data + +resume_beep: + .byte 0 +reset_video: + .byte 0 + ALIGN_DATA bootgdt: .long 0x00000000 @@ -245,10 +249,6 @@ .long bootgdt - wakeup_start /* Offset plus %ds << 4 */ ALIGN_DATA -resume_beep: - .long 0 -reset_video: - .long 0 wakeup_retaddr: .quad 0 wakeup_kpml4: ==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.23 2009/03/17 00:48:11 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.24 2009/03/23 22:35:30 jkim Exp $"); #include #include @@ -37,7 +37,6 @@ #include #include #include -#include #include #include @@ -67,8 +66,8 @@ #error this file needs sys/cdefs.h as a prerequisite #endif -extern uint32_t acpi_resume_beep; -extern uint32_t acpi_reset_video; +extern int acpi_resume_beep; +extern int acpi_reset_video; #ifdef SMP extern struct xpcb *stopxpcbs; @@ -280,8 +279,8 @@ } #endif - WAKECODE_FIXUP(resume_beep, uint32_t, acpi_resume_beep); - WAKECODE_FIXUP(reset_video, uint32_t, acpi_reset_video); + WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0)); + WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0)); WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, &stopxpcbs[0]); WAKECODE_FIXUP(wakeup_gdt, uint16_t, @@ -309,13 +308,11 @@ ia32_pause(); } else { fpusetregs(curthread, stopfpu); - - WAKECODE_FIXUP(resume_beep, uint32_t, 0); - WAKECODE_FIXUP(reset_video, uint32_t, 0); #ifdef SMP if (wakeup_cpus != 0) acpi_wakeup_cpus(sc, wakeup_cpus); #endif + acpi_resync_clock(sc); ret = 0; } ==== //depot/projects/smpng/sys/amd64/acpica/genwakecode.sh#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh -# $FreeBSD: src/sys/amd64/acpica/genwakecode.sh,v 1.1 2009/03/17 00:48:11 jkim Exp $ +# $FreeBSD: src/sys/amd64/acpica/genwakecode.sh,v 1.2 2009/03/23 22:35:30 jkim Exp $ # -file2c 'static char wakecode[] = {' '};' -__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.163 2009/03/05 19:42:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.165 2009/03/25 22:08:30 jhb Exp $"); #include #include @@ -101,7 +101,7 @@ SYSCTL_INT(_hw, HW_FLOATINGPT, floatingpoint, CTLFLAG_RD, NULL, 1, "Floating point instructions executed in hardware"); -static struct savefpu fpu_cleanstate; +static struct savefpu fpu_initialstate; /* * Initialize the floating point unit. On the boot CPU we generate a @@ -123,13 +123,13 @@ mxcsr = __INITIAL_MXCSR__; ldmxcsr(mxcsr); if (PCPU_GET(cpuid) == 0) { - fxsave(&fpu_cleanstate); - if (fpu_cleanstate.sv_env.en_mxcsr_mask) - cpu_mxcsr_mask = fpu_cleanstate.sv_env.en_mxcsr_mask; + fxsave(&fpu_initialstate); + if (fpu_initialstate.sv_env.en_mxcsr_mask) + cpu_mxcsr_mask = fpu_initialstate.sv_env.en_mxcsr_mask; else cpu_mxcsr_mask = 0xFFBF; - bzero(fpu_cleanstate.sv_fp, sizeof(fpu_cleanstate.sv_fp)); - bzero(fpu_cleanstate.sv_xmm, sizeof(fpu_cleanstate.sv_xmm)); + bzero(fpu_initialstate.sv_fp, sizeof(fpu_initialstate.sv_fp)); + bzero(fpu_initialstate.sv_xmm, sizeof(fpu_initialstate.sv_xmm)); } start_emulating(); intr_restore(savecrit); @@ -416,10 +416,11 @@ if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) { /* - * This is the first time this thread has used the FPU, - * explicitly load sanitized registers. + * This is the first time this thread has used the FPU or + * the PCB doesn't contain a clean FPU state. Explicitly + * load an initial state. */ - fxrstor(&fpu_cleanstate); + fxrstor(&fpu_initialstate); if (pcb->pcb_initial_fpucw != __INITIAL_FPUCW__) fldcw(&pcb->pcb_initial_fpucw); pcb->pcb_flags |= PCB_FPUINITDONE; @@ -453,7 +454,7 @@ register_t s; if ((td->td_pcb->pcb_flags & PCB_FPUINITDONE) == 0) { - bcopy(&fpu_cleanstate, addr, sizeof(fpu_cleanstate)); + bcopy(&fpu_initialstate, addr, sizeof(fpu_initialstate)); addr->sv_env.en_cw = td->td_pcb->pcb_initial_fpucw; return (_MC_FPOWNED_NONE); } @@ -479,7 +480,6 @@ s = intr_disable(); if (td == PCPU_GET(fpcurthread)) { - fpu_clean_state(); fxrstor(addr); intr_restore(s); } else { @@ -498,10 +498,10 @@ * In order to avoid leaking this information across processes, we clean * these values by performing a dummy load before executing fxrstor(). */ -static double dummy_variable = 0.0; static void fpu_clean_state(void) { + static float dummy_variable = 0.0; u_short status; /* ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#76 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.693 2009/03/11 15:30:12 dfr Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.694 2009/03/26 18:07:13 kib Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -818,87 +818,86 @@ /* software prototypes -- in more palatable form */ struct soft_segment_descriptor gdt_segs[] = { /* GNULL_SEL 0 Null Descriptor */ -{ 0x0, /* segment base address */ - 0x0, /* length */ - 0, /* segment type */ - 0, /* segment descriptor priority level */ - 0, /* segment descriptor present */ - 0, /* long */ - 0, /* default 32 vs 16 bit size */ - 0 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0x0, + .ssd_type = 0, + .ssd_dpl = 0, + .ssd_p = 0, + .ssd_long = 0, + .ssd_def32 = 0, + .ssd_gran = 0 }, /* GCODE_SEL 1 Code Descriptor for kernel */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMERA, /* segment type */ - SEL_KPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 1, /* long */ - 0, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMERA, + .ssd_dpl = SEL_KPL, + .ssd_p = 1, + .ssd_long = 1, + .ssd_def32 = 0, + .ssd_gran = 1 }, /* GDATA_SEL 2 Data Descriptor for kernel */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMRWA, /* segment type */ - SEL_KPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 1, /* long */ - 0, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMRWA, + .ssd_dpl = SEL_KPL, + .ssd_p = 1, + .ssd_long = 1, + .ssd_def32 = 0, + .ssd_gran = 1 }, /* GUCODE32_SEL 3 32 bit Code Descriptor for user */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMERA, /* segment type */ - SEL_UPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 0, /* long */ - 1, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMERA, + .ssd_dpl = SEL_UPL, + .ssd_p = 1, + .ssd_long = 0, + .ssd_def32 = 1, + .ssd_gran = 1 }, /* GUDATA_SEL 4 32/64 bit Data Descriptor for user */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMRWA, /* segment type */ - SEL_UPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 0, /* long */ - 1, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMRWA, + .ssd_dpl = SEL_UPL, + .ssd_p = 1, + .ssd_long = 0, + .ssd_def32 = 1, + .ssd_gran = 1 }, /* GUCODE_SEL 5 64 bit Code Descriptor for user */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMERA, /* segment type */ - SEL_UPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 1, /* long */ - 0, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMERA, + .ssd_dpl = SEL_UPL, + .ssd_p = 1, + .ssd_long = 1, + .ssd_def32 = 0, + .ssd_gran = 1 }, /* GPROC0_SEL 6 Proc 0 Tss Descriptor */ -{ - 0x0, /* segment base address */ - sizeof(struct amd64tss)-1,/* length */ - SDT_SYSTSS, /* segment type */ - SEL_KPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 0, /* long */ - 0, /* unused - default 32 vs 16 bit size */ - 0 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = sizeof(struct amd64tss)-1, + .ssd_type = SDT_SYSTSS, + .ssd_dpl = SEL_KPL, + .ssd_p = 1, + .ssd_long = 0, + .ssd_def32 = 0, + .ssd_gran = 0 }, /* Actually, the TSS is a system descriptor which is double size */ -{ 0x0, /* segment base address */ - 0x0, /* length */ - 0, /* segment type */ - 0, /* segment descriptor priority level */ - 0, /* segment descriptor present */ - 0, /* long */ - 0, /* default 32 vs 16 bit size */ - 0 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0x0, + .ssd_type = 0, + .ssd_dpl = 0, + .ssd_p = 0, + .ssd_long = 0, + .ssd_def32 = 0, + .ssd_gran = 0 }, /* GUGS32_SEL 8 32 bit GS Descriptor for user */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMRWA, /* segment type */ - SEL_UPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 0, /* long */ - 1, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMRWA, + .ssd_dpl = SEL_UPL, + .ssd_p = 1, + .ssd_long = 0, + .ssd_def32 = 1, + .ssd_gran = 1 }, }; void ==== //depot/projects/smpng/sys/amd64/linux32/linux.h#19 (text+ko) ==== @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.23 2009/03/04 12:14:33 dchagin Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.24 2009/03/26 17:14:22 ambrisko Exp $ */ #ifndef _AMD64_LINUX_H_ @@ -79,7 +79,7 @@ typedef l_int l_key_t; typedef l_longlong l_loff_t; typedef l_ushort l_mode_t; -typedef l_long l_off_t; +typedef l_ulong l_off_t; typedef l_int l_pid_t; typedef l_uint l_size_t; typedef l_long l_suseconds_t; ==== //depot/projects/smpng/sys/amd64/pci/pci_cfgreg.c#12 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.113 2008/09/11 21:42:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.114 2009/03/24 18:10:22 jhb Exp $"); #include #include @@ -119,6 +119,7 @@ { if (cfgmech == CFGMECH_PCIE && + (bus >= pcie_minbus && bus <= pcie_maxbus) && (bus != 0 || !(1 << slot & pcie_badslots))) return (pciereg_cfgread(bus, slot, func, reg, bytes)); else @@ -158,6 +159,7 @@ { if (cfgmech == CFGMECH_PCIE && + (bus >= pcie_minbus && bus <= pcie_maxbus) && (bus != 0 || !(1 << slot & pcie_badslots))) pciereg_cfgwrite(bus, slot, func, reg, data, bytes); else ==== //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#75 (text+ko) ==== @@ -43,7 +43,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.136 2009/02/27 14:12:05 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.137 2009/03/26 17:14:22 ambrisko Exp $"); #include #include @@ -75,6 +75,7 @@ #include #include #include +#include #include #include @@ -90,6 +91,9 @@ #include +#include +#include + #if defined(__i386__) || defined(__amd64__) #include #include @@ -359,6 +363,9 @@ sbuf_printf(sb, "/sys %s sysfs %s", mntto, mp->mnt_stat.f_flags & MNT_RDONLY ? "ro" : "rw"); } else { + /* For Linux msdosfs is called vfat */ + if (strcmp(fstype, "msdosfs") == 0) + fstype = "vfat"; sbuf_printf(sb, "%s %s %s %s", mntfrom, mntto, fstype, mp->mnt_stat.f_flags & MNT_RDONLY ? "ro" : "rw"); } @@ -383,6 +390,69 @@ } /* + * Filler function for proc/partitions + * + */ +static int +linprocfs_dopartitions(PFS_FILL_ARGS) +{ + struct g_class *cp; + struct g_geom *gp; + struct g_provider *pp; + struct nameidata nd; + const char *lep; + char *dlep, *flep; + size_t lep_len; + int error; + int major, minor; + + /* resolve symlinks etc. in the emulation tree prefix */ + NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, linux_emul_path, td); + flep = NULL; + error = namei(&nd); + lep = linux_emul_path; + if (error == 0) { + if (vn_fullpath(td, nd.ni_vp, &dlep, &flep) == 0) + lep = dlep; + vrele(nd.ni_vp); + VFS_UNLOCK_GIANT(NDHASGIANT(&nd)); + } + lep_len = strlen(lep); + + g_topology_lock(); + error = 0; + sbuf_printf(sb, "major minor #blocks name rio rmerge rsect " + "ruse wio wmerge wsect wuse running use aveq\n"); + + LIST_FOREACH(cp, &g_classes, class) { + if (strcmp(cp->name, "DISK") == 0 || + strcmp(cp->name, "PART") == 0) + LIST_FOREACH(gp, &cp->geom, geom) { + LIST_FOREACH(pp, &gp->provider, provider) { + if (linux_driver_get_major_minor( + pp->name, &major, &minor) != 0) { + major = 0; + minor = 0; + } + sbuf_printf(sb, "%d %d %lld %s " + "%d %d %d %d %d " + "%d %d %d %d %d %d\n", + major, minor, + (long long)pp->mediasize, pp->name, + 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0); + } + } + } + g_topology_unlock(); + + if (flep != NULL) + free(flep, M_TEMP); + return (error); +} + + +/* * Filler function for proc/stat */ static int @@ -1206,6 +1276,8 @@ NULL, NULL, NULL, PFS_RD); pfs_create_file(root, "mtab", &linprocfs_domtab, NULL, NULL, NULL, PFS_RD); + pfs_create_file(root, "partitions", &linprocfs_dopartitions, + NULL, NULL, NULL, PFS_RD); pfs_create_link(root, "self", &procfs_docurproc, NULL, NULL, NULL, 0); pfs_create_file(root, "stat", &linprocfs_dostat, ==== //depot/projects/smpng/sys/compat/linux/linux_file.c#43 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.117 2009/02/13 18:18:14 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.118 2009/03/26 17:14:22 ambrisko Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -1109,6 +1109,9 @@ } else if (strcmp(fstypename, "proc") == 0) { strcpy(fstypename, "linprocfs"); fsdata = NULL; + } else if (strcmp(fstypename, "vfat") == 0) { + strcpy(fstypename, "msdosfs"); + fsdata = NULL; } else { return (ENODEV); } @@ -1135,6 +1138,12 @@ "fstype", fstypename, "fspath", mntonname, NULL); + } else if (strcmp(fstypename, "msdosfs") == 0) { + error = kernel_vmount(fsflags, + "fstype", fstypename, + "fspath", mntonname, + "from", mntfromname, + NULL); } else error = EOPNOTSUPP; return (error); ==== //depot/projects/smpng/sys/conf/files#234 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1383 2009/03/19 20:33:26 thompsa Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1386 2009/03/24 20:39:08 sam Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -2189,14 +2189,14 @@ mxge | netgraph_deflate | \ ddb_ctf net80211/ieee80211.c optional wlan -net80211/ieee80211_acl.c optional wlan_acl +net80211/ieee80211_acl.c optional wlan wlan_acl net80211/ieee80211_adhoc.c optional wlan -net80211/ieee80211_amrr.c optional wlan_amrr +net80211/ieee80211_amrr.c optional wlan wlan_amrr net80211/ieee80211_crypto.c optional wlan -net80211/ieee80211_crypto_ccmp.c optional wlan_ccmp +net80211/ieee80211_crypto_ccmp.c optional wlan wlan_ccmp net80211/ieee80211_crypto_none.c optional wlan -net80211/ieee80211_crypto_tkip.c optional wlan_tkip -net80211/ieee80211_crypto_wep.c optional wlan_wep +net80211/ieee80211_crypto_tkip.c optional wlan wlan_tkip +net80211/ieee80211_crypto_wep.c optional wlan wlan_wep net80211/ieee80211_ddb.c optional wlan ddb net80211/ieee80211_dfs.c optional wlan net80211/ieee80211_freebsd.c optional wlan @@ -2211,13 +2211,14 @@ net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan net80211/ieee80211_regdomain.c optional wlan -net80211/ieee80211_rssadapt.c optional wlan_rssadapt +net80211/ieee80211_rssadapt.c optional wlan wlan_rssadapt net80211/ieee80211_scan.c optional wlan net80211/ieee80211_scan_sta.c optional wlan net80211/ieee80211_sta.c optional wlan -net80211/ieee80211_tdma.c optional wlan +net80211/ieee80211_superg.c optional wlan ieee80211_support_superg +net80211/ieee80211_tdma.c optional wlan ieee80211_support_tdma net80211/ieee80211_wds.c optional wlan -net80211/ieee80211_xauth.c optional wlan_xauth +net80211/ieee80211_xauth.c optional wlan wlan_xauth netatalk/aarp.c optional netatalk netatalk/at_control.c optional netatalk netatalk/at_proto.c optional netatalk ==== //depot/projects/smpng/sys/conf/files.amd64#64 (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.133 2009/03/17 00:48:11 jkim Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.134 2009/03/26 17:14:22 ambrisko Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -183,6 +183,7 @@ dev/ipmi/ipmi_smbios.c optional ipmi dev/ipmi/ipmi_ssif.c optional ipmi smbus dev/ipmi/ipmi_pci.c optional ipmi pci +dev/ipmi/ipmi_linux.c optional ipmi linux_compat32 dev/fdc/fdc.c optional fdc dev/fdc/fdc_acpi.c optional fdc dev/fdc/fdc_isa.c optional fdc isa ==== //depot/projects/smpng/sys/conf/files.i386#121 (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.617 2009/03/15 14:21:05 rwatson Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.618 2009/03/26 17:14:22 ambrisko Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -196,6 +196,7 @@ dev/ipmi/ipmi_smbios.c optional ipmi dev/ipmi/ipmi_ssif.c optional ipmi smbus dev/ipmi/ipmi_pci.c optional ipmi pci +dev/ipmi/ipmi_linux.c optional ipmi linux_compat dev/kbd/kbd.c optional atkbd | sc | ukbd | usb2_input_kbd dev/le/if_le_isa.c optional le isa dev/mem/memutil.c optional mem ==== //depot/projects/smpng/sys/conf/options#164 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.662 2009/03/15 14:21:05 rwatson Exp $ +# $FreeBSD: src/sys/conf/options,v 1.663 2009/03/24 20:39:08 sam Exp $ # # On the handling of kernel options # @@ -789,6 +789,7 @@ IEEE80211_DEBUG opt_wlan.h IEEE80211_DEBUG_REFCNT opt_wlan.h IEEE80211_AMPDU_AGE opt_wlan.h +IEEE80211_SUPPORT_SUPERG opt_wlan.h IEEE80211_SUPPORT_TDMA opt_wlan.h # 802.11 TDMA support ==== //depot/projects/smpng/sys/dev/acpica/acpi.c#111 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.255 2009/03/17 00:48:11 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.257 2009/03/23 22:12:33 jkim Exp $"); #include "opt_acpi.h" #include @@ -254,6 +254,12 @@ SYSCTL_INT(_debug_acpi, OID_AUTO, do_powerstate, CTLFLAG_RW, &acpi_do_powerstate, 1, "Turn off devices when suspending."); +/* Reset system clock while resuming. XXX Remove once tested. */ +static int acpi_reset_clock = 1; +TUNABLE_INT("debug.acpi.reset_clock", &acpi_reset_clock); +SYSCTL_INT(_debug_acpi, OID_AUTO, reset_clock, CTLFLAG_RW, + &acpi_reset_clock, 1, "Reset system clock while resuming."); + /* Allow users to override quirks. */ TUNABLE_INT("debug.acpi.quirks", &acpi_quirks); @@ -2336,7 +2342,7 @@ #endif /* If devd(8) is not running, immediately enter the sleep state. */ - if (devctl_process_running() == FALSE) { + if (!devctl_process_running()) { ACPI_UNLOCK(acpi); if (ACPI_SUCCESS(acpi_EnterSleepState(sc, sc->acpi_next_sstate))) { return (0); @@ -2345,9 +2351,6 @@ } } - /* Now notify devd(8) also. */ - acpi_UserNotify("Suspend", ACPI_ROOT_OBJECT, state); - /* * Set a timeout to fire if userland doesn't ack the suspend request * in time. This way we still eventually go to sleep if we were @@ -2357,6 +2360,10 @@ */ callout_reset(&sc->susp_force_to, 10 * hz, acpi_sleep_force, sc); ACPI_UNLOCK(acpi); + + /* Now notify devd(8) also. */ + acpi_UserNotify("Suspend", ACPI_ROOT_OBJECT, state); + return (0); #else /* This platform does not support acpi suspend/resume. */ @@ -2432,8 +2439,24 @@ static void acpi_sleep_enable(void *arg) { + struct acpi_softc *sc = (struct acpi_softc *)arg; + + ACPI_LOCK(acpi); + sc->acpi_sleep_disabled = 0; + ACPI_UNLOCK(acpi); +} + +static ACPI_STATUS +acpi_sleep_disable(struct acpi_softc *sc) +{ + ACPI_STATUS status; + + ACPI_LOCK(acpi); + status = sc->acpi_sleep_disabled ? AE_ERROR : AE_OK; + sc->acpi_sleep_disabled = 1; + ACPI_UNLOCK(acpi); - ((struct acpi_softc *)arg)->acpi_sleep_disabled = 0; + return (status); } enum acpi_sleep_state { @@ -2460,15 +2483,11 @@ ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state); /* Re-entry once we're suspending is not allowed. */ - status = AE_OK; - ACPI_LOCK(acpi); - if (sc->acpi_sleep_disabled) { - ACPI_UNLOCK(acpi); + status = acpi_sleep_disable(sc); + if (ACPI_FAILURE(status)) { printf("acpi: suspend request ignored (not ready yet)\n"); - return (AE_ERROR); + return (status); } - sc->acpi_sleep_disabled = 1; - ACPI_UNLOCK(acpi); #ifdef SMP thread_lock(curthread); @@ -2557,6 +2576,7 @@ * shutdown handlers. */ shutdown_nice(RB_POWEROFF); + status = AE_OK; break; case ACPI_STATE_S0: default: @@ -2580,26 +2600,38 @@ if (slp_state >= ACPI_SS_SLEPT) acpi_enable_fixed_events(sc); + mtx_unlock(&Giant); + +#ifdef SMP + thread_lock(curthread); + sched_unbind(curthread); + thread_unlock(curthread); +#endif + /* Allow another sleep request after a while. */ if (state != ACPI_STATE_S5) timeout(acpi_sleep_enable, sc, hz * ACPI_MINIMUM_AWAKETIME); /* Run /etc/rc.resume after we are back. */ - acpi_UserNotify("Resume", ACPI_ROOT_OBJECT, state); + if (devctl_process_running()) + acpi_UserNotify("Resume", ACPI_ROOT_OBJECT, state); + + return_ACPI_STATUS (status); +} + +void +acpi_resync_clock(struct acpi_softc *sc) +{ - mtx_unlock(&Giant); + if (!acpi_reset_clock) + return; - /* Warm up timecounter again */ + /* + * Warm up timecounter again and reset system clock. + */ (void)timecounter->tc_get_timecount(timecounter); (void)timecounter->tc_get_timecount(timecounter); - -#ifdef SMP - thread_lock(curthread); - sched_unbind(curthread); - thread_unlock(curthread); -#endif - - return_ACPI_STATUS (status); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Mar 26 20:09:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F056B106567E; Thu, 26 Mar 2009 20:09: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 A82001065677 for ; Thu, 26 Mar 2009 20:09:20 +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 95FE18FC1D for ; Thu, 26 Mar 2009 20:09:20 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2QK9K2g076696 for ; Thu, 26 Mar 2009 20:09:20 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2QK9KnK076694 for perforce@freebsd.org; Thu, 26 Mar 2009 20:09:20 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 26 Mar 2009 20:09:20 GMT Message-Id: <200903262009.n2QK9KnK076694@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 159871 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Mar 2009 20:09:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=159871 Change 159871 by hselasky@hselasky_laptop001 on 2009/03/26 20:08:59 USB core: - bugfixes after the memory usage reduction patch - Use "udev->pipes_max" instead of USB_EP_MAX - Use correct "bmRequestType" for getting the config descriptor. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#17 (text+ko) ==== @@ -105,7 +105,7 @@ usb2_get_pipe_by_addr(struct usb2_device *udev, uint8_t ea_val) { struct usb2_pipe *pipe = udev->pipes; - struct usb2_pipe *pipe_end = udev->pipes + USB_EP_MAX; + struct usb2_pipe *pipe_end = udev->pipes + udev->pipes_max; enum { EA_MASK = (UE_DIR_IN | UE_DIR_OUT | UE_ADDR), }; @@ -160,7 +160,7 @@ const struct usb2_config *setup) { struct usb2_pipe *pipe = udev->pipes; - struct usb2_pipe *pipe_end = udev->pipes + USB_EP_MAX; + struct usb2_pipe *pipe_end = udev->pipes + udev->pipes_max; uint8_t index = setup->ep_index; uint8_t ea_mask; uint8_t ea_val; @@ -320,7 +320,7 @@ struct usb2_pipe * usb2_pipe_foreach(struct usb2_device *udev, struct usb2_pipe *pipe) { - struct usb2_pipe *pipe_end = udev->pipes + USB_EP_MAX; + struct usb2_pipe *pipe_end = udev->pipes + udev->pipes_max; /* be NULL safe */ if (udev == NULL) @@ -924,7 +924,7 @@ usb2_error_t err; pipe = udev->pipes; - pipe_end = udev->pipes + USB_EP_MAX; + pipe_end = udev->pipes + udev->pipes_max; for (; pipe != pipe_end; pipe++) { ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#7 (text+ko) ==== @@ -97,7 +97,7 @@ struct usb2_pipe *pipe; struct usb2_pipe *pipe_end; struct usb2_pipe *pipe_first; - uint8_t to = USB_EP_MAX; + uint8_t to; udev = xfer->xroot->udev; @@ -106,8 +106,9 @@ /* round robin pipe clear stall */ pipe = udev->pipe_curr; - pipe_end = udev->pipes + USB_EP_MAX; + pipe_end = udev->pipes + udev->pipes_max; pipe_first = udev->pipes; + to = udev->pipes_max; if (pipe == NULL) { pipe = pipe_first; } @@ -854,7 +855,7 @@ if (udev->flags.usb2_mode != USB_MODE_DEVICE) return (USB_ERR_INVAL); - req.bmRequestType = UT_READ_CLASS_DEVICE; + req.bmRequestType = UT_READ_DEVICE; req.bRequest = UR_GET_DESCRIPTOR; USETW2(req.wValue, UDESC_CONFIG, config_index); USETW(req.wIndex, 0); From owner-p4-projects@FreeBSD.ORG Thu Mar 26 22:24:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E375110656C3; Thu, 26 Mar 2009 22:24: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 9663E10656D9 for ; Thu, 26 Mar 2009 22:24:38 +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 81CFF8FC1C for ; Thu, 26 Mar 2009 22:24:38 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2QMOcnn000566 for ; Thu, 26 Mar 2009 22:24:38 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2QMOcPd000564 for perforce@freebsd.org; Thu, 26 Mar 2009 22:24:38 GMT (envelope-from gabor@freebsd.org) Date: Thu, 26 Mar 2009 22:24:38 GMT Message-Id: <200903262224.n2QMOcPd000564@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 159877 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Mar 2009 22:24:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=159877 Change 159877 by gabor@gabor_server on 2009/03/26 22:24:22 - /var/tmp is the default temp directory - Support TMPDIR envvar - Try to make manpage consistent with current behavior - Return 2 on errors - Use ENOTDIR libc message instead of custom error messages Affected files ... .. //depot/projects/soc2008/gabor_textproc/newsort/file.c#3 edit .. //depot/projects/soc2008/gabor_textproc/newsort/sort.1#2 edit .. //depot/projects/soc2008/gabor_textproc/newsort/sort.c#4 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/newsort/file.c#3 (text+ko) ==== @@ -105,12 +105,12 @@ sprintf(tempfiles[tempno - 1], "%s" TMPPAT, tmpdir); fd = mkstemp(tempfiles[tempno - 1]); if ((file = fdopen(fd, "w")) == NULL) - err(1, NULL); + err(2, NULL); } else if (strcmp(fn, "-") == 0) { return (stdout); } else { if((file = fopen(fn, mode)) == NULL) - err(1, NULL); + err(2, NULL); } return (file); @@ -150,7 +150,7 @@ return (bufsiz); if (stat(fn, &st) != 0) - err(1, NULL); + err(2, NULL); if (st.st_size/OPT_SLICES < OPT_BUFSIZE) return (OPT_BUFSIZE); ==== //depot/projects/soc2008/gabor_textproc/newsort/sort.1#2 (text+ko) ==== @@ -40,13 +40,11 @@ .Nd sort or merge text files .Sh SYNOPSIS .Nm sort -.Op Fl bcdfHimnrSsuz +.Op Fl bcdfghiMmnrSuVz .Sm off .Op Fl k\ \& Ar field1 Op , Ar field2 .Sm on .Op Fl o Ar output -.Op Fl R Ar char -.Bk -words .Op Fl T Ar dir .Ek .Op Fl t Ar char @@ -78,11 +76,11 @@ .Em stderr . .It Fl m , Fl Fl merge Merge only; the input files are assumed to be pre-sorted. +If they are not sorted the output order is undefined. .It Fl o Ar output , Fl Fl output Ns = Ns Ar output The argument given is the name of an .Ar output file to be used instead of the standard output. -This file can be the same as one of the input files. .It Fl S Ar size, Fl Fl buffer-size Ns = Ns Ar size Use .Ar size @@ -116,38 +114,30 @@ the ordering options override all global ordering options for that key. .Bl -tag -width indent +.It Fl b, Fl Fl ignore-leading-blanks +Ignores the leading blank characters when comparing lines. +The current setting of LC_TYPE might affect the concrete behavior. .It Fl d , Fl Fl dictionary-order Only blank space and alphanumeric characters -.\" according -.\" to the current setting of LC_CTYPE are used in making comparisons. +The current setting of LC_TYPE might affect the concrete behavior. .It Fl f , Fl Fl ignore-case Considers all lowercase characters that have uppercase equivalents to be the same for purposes of comparison. -.It Fl H -Use a merge sort instead of a radix sort. -This option should be used for files larger than 60Mb. +.It Fl g, Fl Fl general-numeric-sort +Sort by general numerical value. .It Fl i , Fl Fl ignore-nonprinting Ignore all non-printable characters. +.It Fl M, Fl Fl month-sort +Used to sort by month abbreviations. +Unknown strings will come first then come month names in ascending +order. .It Fl n , Fl Fl numeric-sort An initial numeric string, consisting of optional blank space, optional minus sign, and zero or more digits (including decimal point) -.\" with -.\" optional radix character and thousands -.\" separator -.\" (as defined in the current locale), is sorted by arithmetic value. -(The -.Fl n -option no longer implies the -.Fl b -option.) .It Fl r , Fl Fl reverse Reverse the sense of comparisons. -.It Fl s , Fl Fl stable -Enable stable sort. -Uses additional resources (see -.Xr sradixsort 3 ) . .El .Pp The treatment of field separators can be altered using these options: @@ -192,13 +182,6 @@ .Cm \(pl Ns Ar pos1 and .Fl Ns Ar pos2 . -.It Fl R Ar char -.Ar char -is used as the record separator character. -This should be used with discretion; -.Fl R Aq Ar alphanumeric -usually produces undesirable results. -The default record separator is newline. .It Fl t Ar char , Fl Fl field-separator Ns = Ns Ar char .Ar char is used as the field separator character. ==== //depot/projects/soc2008/gabor_textproc/newsort/sort.c#4 (text+ko) ==== @@ -64,7 +64,7 @@ wchar_t **list; wchar_t field_sep = L' '; char **tempfiles; -char *tmpdir = "/tmp"; +char *tmpdir = "/var/tmp"; unsigned long sfield, lfield; unsigned long long bufsiz = 0; bool cflag; @@ -123,6 +123,17 @@ setlocale(LC_ALL, ""); + if ((sptr = getenv("TMPDIR")) != NULL) { + stat(sptr, &st); + + if (!S_ISDIR(st.st_mode)) { + errno = ENOTDIR; + err(2, NULL); + } + + tmpdir = sptr; + } + while (((c = getopt_long(argc, argv, OPTIONS, long_options, NULL)) != -1)) { switch (c) { case 'b': @@ -152,19 +163,19 @@ sfield = strtoul(optarg, &eptr, 10); if (((errno == ERANGE) && (sfield == ULONG_MAX)) || ((errno == EINVAL) && (sfield == 0))) - err(1, NULL); + err(2, NULL); else if (eptr[0] != ',') { errno = EINVAL; - err(1, NULL); + err(2, NULL); } lfield = strtoul(&sptr[1], &eptr, 10); if (((errno == ERANGE) && (lfield == ULONG_MAX)) || ((errno == EINVAL) && (lfield == 0))) - err(1, NULL); + err(2, NULL); else if (eptr[0] != '\0') { errno = EINVAL; - err(1, NULL); + err(2, NULL); } } else { char *eptr; @@ -172,10 +183,10 @@ sfield = lfield = strtoul(optarg, &eptr, 10); if (((errno == ERANGE) && (sfield == ULONG_MAX)) || ((errno == EINVAL) && (sfield == 0))) - err(1, NULL); + err(2, NULL); else if (eptr[0] != '\0') { errno = EINVAL; - err(1, NULL); + err(2, NULL); } } break; @@ -200,7 +211,7 @@ case 'S': bufsiz = strtoull(optarg, (char **)NULL, 10); if ((errno == ERANGE) && (bufsiz == ULLONG_MAX)) - err(1, NULL); + err(2, NULL); break; case 't': if (strlen(optarg) > 1) @@ -210,7 +221,7 @@ if (field_sep == WEOF) { errno = EINVAL; - err(1, NULL); + err(2, NULL); } printf("field_sep = %lc\n", field_sep); } @@ -218,8 +229,10 @@ case 'T': stat(optarg, &st); - if (!S_ISDIR(st.st_mode)) - err(1, "argument is not a directory"); + if (!S_ISDIR(st.st_mode)) { + errno = ENOTDIR; + err(2, NULL); + } tmpdir = sort_malloc(sizeof(char) * (strlen(optarg) + 2)); strlcpy(tmpdir, optarg, strlen(optarg) + 1); From owner-p4-projects@FreeBSD.ORG Thu Mar 26 22:33:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 431931065688; Thu, 26 Mar 2009 22:33: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 F227E1065686 for ; Thu, 26 Mar 2009 22:33:47 +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 DF8728FC1E for ; Thu, 26 Mar 2009 22:33:47 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2QMXlna002087 for ; Thu, 26 Mar 2009 22:33:47 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2QMXlNr002085 for perforce@freebsd.org; Thu, 26 Mar 2009 22:33:47 GMT (envelope-from gabor@freebsd.org) Date: Thu, 26 Mar 2009 22:33:47 GMT Message-Id: <200903262233.n2QMXlNr002085@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 159878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Mar 2009 22:33:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=159878 Change 159878 by gabor@gabor_server on 2009/03/26 22:33:26 - Fix rwo nits that slipped in during NLS catalog cleanup Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/grep.c#86 edit .. //depot/projects/soc2008/gabor_textproc/grep/util.c#81 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#86 (text+ko) ==== @@ -71,7 +71,7 @@ /* 6*/ "\t[--context[=num]] [--directories=action] [--label] [--line-buffered]\n", /* 7*/ "\t[--null] [pattern] [file ...]\n", /* 8*/ "unknown --binary-files option", -/* 9*/ "Binary file %s matches\n" +/* 9*/ "Binary file %s matches\n", /*10*/ "%s (BSD grep) %s\n", }; ==== //depot/projects/soc2008/gabor_textproc/grep/util.c#81 (text+ko) ==== @@ -232,7 +232,7 @@ printf("%s\n", fn); if (c && !cflag && !lflag && !Lflag && binbehave == BINFILE_BIN && f->binary && !qflag) - printf(getstr(12), fn); + printf(getstr(9), fn); return (c); } From owner-p4-projects@FreeBSD.ORG Thu Mar 26 22:46:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF1401065673; Thu, 26 Mar 2009 22:46: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 7E92F1065670 for ; Thu, 26 Mar 2009 22:46: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 615738FC17 for ; Thu, 26 Mar 2009 22:46:00 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2QMk0O4003340 for ; Thu, 26 Mar 2009 22:46:00 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2QMk0if003338 for perforce@freebsd.org; Thu, 26 Mar 2009 22:46:00 GMT (envelope-from gabor@freebsd.org) Date: Thu, 26 Mar 2009 22:46:00 GMT Message-Id: <200903262246.n2QMk0if003338@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 159879 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 26 Mar 2009 22:46:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=159879 Change 159879 by gabor@gabor_server on 2009/03/26 22:45:13 - C99ify bool variables Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/fastgrep.c#12 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.c#87 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.h#48 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/fastgrep.c#12 (text+ko) ==== @@ -41,6 +41,7 @@ #endif /* not lint */ #include +#include #include #include #include @@ -111,7 +112,7 @@ strncmp(pattern + fg->bol + fg->len - 7, "[[:>:]]", 7) == 0) { fg->len -= 14; /* Word boundary is handled separately in util.c */ - wflag = 1; + wflag = true; } /* ==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#87 (text+ko) ==== @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -98,25 +99,25 @@ /* Command-line flags */ unsigned long long Aflag; /* -A x: print x lines trailing each match */ unsigned long long Bflag; /* -B x: print x lines leading each match */ -int Hflag; /* -H: always print file name */ -int Lflag; /* -L: only show names of files with no matches */ -int bflag; /* -b: show block numbers for each match */ -int cflag; /* -c: only show a count of matching lines */ -int hflag; /* -h: don't print filename headers */ -int iflag; /* -i: ignore case */ -int lflag; /* -l: only show names of files with matches */ -int mflag; /* -m x: stop reading the files after x matches */ +bool Hflag; /* -H: always print file name */ +bool Lflag; /* -L: only show names of files with no matches */ +bool bflag; /* -b: show block numbers for each match */ +bool cflag; /* -c: only show a count of matching lines */ +bool hflag; /* -h: don't print filename headers */ +bool iflag; /* -i: ignore case */ +bool lflag; /* -l: only show names of files with matches */ +bool mflag; /* -m x: stop reading the files after x matches */ unsigned long long mcount; /* count for -m */ -int nflag; /* -n: show line numbers in front of matching lines */ -int oflag; /* -o: print only matching part */ -int qflag; /* -q: quiet mode (don't output anything) */ -int sflag; /* -s: silent mode (ignore errors) */ -int vflag; /* -v: only show non-matching lines */ -int wflag; /* -w: pattern must start and end on word boundaries */ -int xflag; /* -x: pattern must match entire line */ -int lbflag; /* --line-buffered */ -int nullflag; /* --null */ -int exclflag; /* --exclude */ +bool nflag; /* -n: show line numbers in front of matching lines */ +bool oflag; /* -o: print only matching part */ +bool qflag; /* -q: quiet mode (don't output anything) */ +bool sflag; /* -s: silent mode (ignore errors) */ +bool vflag; /* -v: only show non-matching lines */ +bool wflag; /* -w: pattern must start and end on word boundaries */ +bool xflag; /* -x: pattern must match entire line */ +bool lbflag; /* --line-buffered */ +bool nullflag; /* --null */ +bool exclflag; /* --exclude */ char *label; /* --label */ char *color; /* --color */ int grepbehave = GREP_BASIC; /* -EFGP: type of the regex */ @@ -406,10 +407,10 @@ binbehave = BINFILE_TEXT; break; case 'b': - bflag = 1; + bflag = true; break; case 'c': - cflag = 1; + cflag = true; break; case 'D': if (strcmp(optarg, "skip") == 0) @@ -417,7 +418,7 @@ break; case 'd': if (strcmp("recurse", optarg) == 0) { - Hflag++; + Hflag = true; dirbehave = DIR_RECURSE; } else if (strcmp("skip", optarg) == 0) dirbehave = DIR_SKIP; @@ -444,33 +445,33 @@ grepbehave = GREP_BASIC; break; case 'H': - Hflag++; + Hflag = true; break; case 'h': - Hflag = 0; - hflag = 1; + Hflag = false; + hflag = true; break; case 'I': binbehave = BINFILE_SKIP; break; case 'i': case 'y': - iflag = 1; + iflag = true; cflags |= REG_ICASE; break; case 'J': filebehave = FILE_BZIP; break; case 'L': - lflag = 0; - Lflag = qflag = 1; + lflag = false; + Lflag = qflag = true; break; case 'l': - Lflag = 0; - lflag = qflag = 1; + Lflag = false; + lflag = qflag = true; break; case 'm': - mflag++; + mflag = true; mcount = strtoull(optarg, &ep, 10); if (((errno == ERANGE) && (mcount == ULLONG_MAX)) || ((errno == EINVAL) && (mcount == 0))) @@ -481,19 +482,19 @@ } break; case 'n': - nflag = 1; + nflag = true; break; case 'O': linkbehave = LINK_EXPLICIT; break; case 'o': - oflag++; + oflag = true; break; case 'p': linkbehave = LINK_SKIP; break; case 'q': - qflag = 1; + qflag = true; break; case 'S': linkbehave = LINK_GREP; @@ -501,10 +502,10 @@ case 'R': case 'r': dirbehave = DIR_RECURSE; - Hflag++; + Hflag = true; break; case 's': - sflag = 1; + sflag = true; break; case 'U': binbehave = BINFILE_BIN; @@ -517,13 +518,13 @@ printf(getstr(10), __progname, VERSION); exit(0); case 'v': - vflag = 1; + vflag = true; break; case 'w': - wflag = 1; + wflag = true; break; case 'x': - xflag = 1; + xflag = true; break; case 'Z': filebehave = FILE_GZIP; @@ -554,25 +555,25 @@ label = optarg; break; case LINEBUF_OPT: - lbflag = 1; + lbflag = true; break; case NULL_OPT: - nullflag = 1; + nullflag = true; break; case R_INCLUDE_OPT: - exclflag = 1; + exclflag = true; add_epattern(basename(optarg), strlen(basename(optarg)), FILE_PAT, INCL_PAT); break; case R_EXCLUDE_OPT: - exclflag = 1; + exclflag = true; add_epattern(basename(optarg), strlen(basename(optarg)), FILE_PAT, EXCL_PAT); break; case R_DINCLUDE_OPT: - exclflag = 1; + exclflag = true; add_epattern(basename(optarg), strlen(basename(optarg)), DIR_PAT, INCL_PAT); break; case R_DEXCLUDE_OPT: - exclflag = 1; + exclflag = true; add_epattern(basename(optarg), strlen(basename(optarg)), DIR_PAT, EXCL_PAT); break; case HELP_OPT: @@ -636,7 +637,7 @@ setlinebuf(stdout); if ((aargc == 0 || aargc == 1) && !Hflag) - hflag = 1; + hflag = true; if (aargc == 0) exit(!procfile("-")); ==== //depot/projects/soc2008/gabor_textproc/grep/grep.h#48 (text+ko) ==== @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -113,10 +114,10 @@ extern int cflags, eflags; /* Command line flags */ -extern int Eflag, Fflag, Gflag, Hflag, Lflag, +extern bool Eflag, Fflag, Gflag, Hflag, Lflag, bflag, cflag, hflag, iflag, lflag, mflag, nflag, oflag, qflag, sflag, vflag, wflag, xflag; -extern int nullflag, exclflag; +extern bool nullflag, exclflag; extern unsigned long long Aflag, Bflag, mcount; extern char *color, *label; extern int grepbehave, binbehave, filebehave, devbehave, dirbehave, linkbehave; From owner-p4-projects@FreeBSD.ORG Fri Mar 27 07:56:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 907181065692; Fri, 27 Mar 2009 07:56:26 +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 71B421065691 for ; Fri, 27 Mar 2009 07:56:25 +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 C60CD8FC1E for ; Fri, 27 Mar 2009 07:56:24 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2R7uOmA028447 for ; Fri, 27 Mar 2009 07:56:24 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2R7uO6n028443 for perforce@freebsd.org; Fri, 27 Mar 2009 07:56:24 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 07:56:24 GMT Message-Id: <200903270756.n2R7uO6n028443@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 159897 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 07:56:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=159897 Change 159897 by hselasky@hselasky_laptop001 on 2009/03/27 07:56:16 USB core: - add new endpoint direction values for use with usb2_config Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb.h#38 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#18 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb.h#38 (text+ko) ==== @@ -461,8 +461,10 @@ uByte bEndpointAddress; #define UE_GET_DIR(a) ((a) & 0x80) #define UE_SET_DIR(a,d) ((a) | (((d)&1) << 7)) -#define UE_DIR_IN 0x80 -#define UE_DIR_OUT 0x00 +#define UE_DIR_IN 0x80 /* IN-token endpoint, fixed */ +#define UE_DIR_OUT 0x00 /* OUT-token endpoint, fixed */ +#define UE_DIR_RX 0xfd /* for internal use only! */ +#define UE_DIR_TX 0xfe /* for internal use only! */ #define UE_DIR_ANY 0xff /* for internal use only! */ #define UE_ADDR 0x0f #define UE_ADDR_ANY 0xff /* for internal use only! */ ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#18 (text+ko) ==== @@ -174,7 +174,15 @@ /* setup expected endpoint direction mask and value */ - if (setup->direction == UE_DIR_ANY) { + if (setup->direction == UE_DIR_RX) { + ea_mask = (UE_DIR_IN | UE_DIR_OUT); + ea_val = (udev->flags.usb2_mode == USB_MODE_DEVICE) ? + UE_DIR_OUT : UE_DIR_IN; + } else if (setup->direction == UE_DIR_TX) { + ea_mask = (UE_DIR_IN | UE_DIR_OUT); + ea_val = (udev->flags.usb2_mode == USB_MODE_DEVICE) ? + UE_DIR_IN : UE_DIR_OUT; + } else if (setup->direction == UE_DIR_ANY) { /* match any endpoint direction */ ea_mask = 0; ea_val = 0; From owner-p4-projects@FreeBSD.ORG Fri Mar 27 14:40:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3EEDF1065675; Fri, 27 Mar 2009 14:40: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 E9E14106564A for ; Fri, 27 Mar 2009 14:40: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 D6EF08FC1B for ; Fri, 27 Mar 2009 14:40:09 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2REe98J000304 for ; Fri, 27 Mar 2009 14:40:09 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2REe9mt000302 for perforce@freebsd.org; Fri, 27 Mar 2009 14:40:09 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 27 Mar 2009 14:40:09 GMT Message-Id: <200903271440.n2REe9mt000302@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 159905 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 14:40:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=159905 Change 159905 by pgj@beehive on 2009/03/27 14:39:11 MFC Affected files ... .. //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#25 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#41 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#19 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys.ent#19 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/skreuzer.key#1 branch .. //depot/projects/docproj_hu/doc/share/sgml/bibliography.sgml#2 integrate .. //depot/projects/docproj_hu/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#10 integrate .. //depot/projects/docproj_hu/src/release/doc/share/misc/dev.archlist.txt#4 integrate .. //depot/projects/docproj_hu/www/en/developers.sgml#21 integrate .. //depot/projects/docproj_hu/www/en/multimedia/multimedia-input.xml#8 integrate .. //depot/projects/docproj_hu/www/en/projects/ideas/ideas.xml#10 integrate .. //depot/projects/docproj_hu/www/en/projects/summerofcode.xsl#4 integrate .. //depot/projects/docproj_hu/www/en/releases/7.2R/schedule.sgml#2 integrate .. //depot/projects/docproj_hu/www/en/releases/7.2R/status.sgml#1 branch .. //depot/projects/docproj_hu/www/en/releng/index.sgml#16 integrate .. //depot/projects/docproj_hu/www/en/search/opensearch/Makefile#2 integrate .. //depot/projects/docproj_hu/www/en/search/opensearch/opensearch.sgml#2 integrate .. //depot/projects/docproj_hu/www/en/search/opensearch/portoverview.xml#1 branch .. //depot/projects/docproj_hu/www/share/sgml/advisories.xml#10 integrate .. //depot/projects/docproj_hu/www/share/sgml/commercial.isp.xml#10 integrate .. //depot/projects/docproj_hu/www/share/sgml/news.xml#44 integrate .. //depot/projects/docproj_hu/www/share/sgml/notices.xml#3 integrate Differences ... ==== //depot/projects/docproj_hu/doc/en_US.ISO8859-1/share/sgml/authors.ent#25 (text+ko) ==== @@ -13,7 +13,7 @@ builds for the other languages, and we will poke fun of you in public. - $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.474 2009/03/17 14:52:00 fabient Exp $ + $FreeBSD: doc/en_US.ISO8859-1/share/sgml/authors.ent,v 1.475 2009/03/25 18:41:42 skreuzer Exp $ --> aaron@FreeBSD.org"> @@ -992,6 +992,8 @@ simon@FreeBSD.org"> +skreuzer@FreeBSD.org"> + skv@FreeBSD.org"> smace@FreeBSD.org"> ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#41 (text+ko) ==== @@ -20,7 +20,7 @@ A &os; Dokumentációs Projekt - $FreeBSD: doc/hu_HU.ISO8859-2/books/faq/book.sgml,v 1.10 2009/02/03 20:15:30 pgj Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/books/faq/book.sgml,v 1.11 2009/03/18 10:46:05 pgj Exp $ 1995 ==== //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#19 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -551,6 +551,11 @@ &pgpkey.kris; + + &a.skreuzer; + &pgpkey.skreuzer; + + &a.fjoe; &pgpkey.fjoe; ==== //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys.ent#19 (text+ko) ==== @@ -1,5 +1,5 @@ - + @@ -264,6 +264,7 @@ + ==== //depot/projects/docproj_hu/doc/share/sgml/bibliography.sgml#2 (text+ko) ==== @@ -1,5 +1,5 @@ @@ -24,9 +24,9 @@ Sams - 1st Edition + 1st edition - 992 + 992 pages October 2001 @@ -45,7 +45,7 @@ O'Reilly and Associates - 1st Edition + 1st edition June 1994 @@ -66,7 +66,7 @@ O'Reilly and Associates - 1st Edition + 1st edition June 1994 @@ -87,7 +87,7 @@ O'Reilly and Associates - 1st Edition + 1st edition June 1994 @@ -108,7 +108,7 @@ O'Reilly and Associates - 1st Edition + 1st edition June 1994 @@ -129,7 +129,7 @@ O'Reilly and Associates - 1st Edition + 1st edition June 1994 @@ -301,7 +301,7 @@ BSDi - 1st Edition + 1st edition November 1999 @@ -433,6 +433,7 @@ Elex Media Komputindo + Onno W Purbo @@ -449,6 +450,7 @@ Widjil Widodo + @@ -516,6 +518,7 @@ O'Reilly & Associates, Inc ISBN 1-56592-512-2 + Paul Albitz Albitz @@ -524,8 +527,9 @@ Cricket Liu + 1998 - 3rd + 3rd edition @@ -536,7 +540,7 @@ O'Reilly & Associates, Inc 1997 - 2nd + 2nd edition Brian Costales @@ -552,7 +556,7 @@ Æleen Frisch - 2nd + 2nd edition O'Reilly & Associates @@ -568,7 +572,7 @@ Craig Hunt - 2nd + 2nd edition O'Reilly & Associates, Inc @@ -628,7 +632,8 @@ Prentice Hall 1995 - 4th + 4th edition + Samuel P. Harbison @@ -637,6 +642,7 @@ Guy L. Jr. Steele + ISBN 0-13-326224-3 @@ -648,10 +654,16 @@ Prentice Hall 1998 - - Brian, Kernighan and Dennis - Ritchie - + + + Brian + Kernighan + + + Dennis + Ritchie + + ISBN 0-13-110362-9 @@ -712,7 +724,7 @@ Prentice Hall 1998 - 2nd + 2nd edition ISBN 0-13-490012-X @@ -824,6 +836,7 @@ TCP/IP Illustrated, Volume 2: The Implementation + Gary R. Wright @@ -832,6 +845,7 @@ W. Richard Stevens + 1995 Addison-Wesley @@ -843,6 +857,7 @@ Firewalls and Internet Security: Repelling the Wily Hacker + William R. CHeswick @@ -851,6 +866,7 @@ Steven M. Bellovin + Addison-Wesley @@ -862,6 +878,7 @@ Practical UNIX Security + Simson Garfinkel @@ -870,8 +887,9 @@ Gene Spafford + 1996 - 2nd + 2nd edition O'Reilly & Associates, Inc @@ -897,6 +915,7 @@ Pentium Processor System Architecture + Don Anderson @@ -905,11 +924,12 @@ Tom Shanley + Addison-Wesley 1995 - 2nd + 2nd edition ISBN 0-201-40992-5 @@ -921,7 +941,7 @@ Richard F. Ferraro - 3rd + 3rd edition Addison-Wesley @@ -941,7 +961,7 @@ Addison-Wesley 1995 - 3rd + 3rd edition ISBN 0-201-40994-1 @@ -956,7 +976,7 @@ Addison-Wesley - 3rd + 3rd edition 1995 ISBN 0-201-40996-8 @@ -973,7 +993,7 @@ Addison-Wesley 1995 - 3rd + 3rd edition ISBN 0-201-40993-3 @@ -1016,7 +1036,7 @@ ITP Media Group 1996 - 6th + 6th edition ISBN 1573980137 @@ -1032,7 +1052,7 @@ MIT Press 1996 - 3rd + 3rd edition ISBN 0-262-68092-0 @@ -1055,6 +1075,7 @@ The UNIX-HATERS Handbook + Steven Strassman @@ -1067,6 +1088,7 @@ Simon Garfinkel + IDG Books Worldwide, Inc @@ -1078,6 +1100,7 @@ Life with UNIX — special edition + Don Libes @@ -1086,6 +1109,7 @@ Sandy Ressler + Prentice-Hall ==== //depot/projects/docproj_hu/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#10 (text+ko) ==== @@ -17,7 +17,7 @@ The &os; Documentation Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.346 2008/12/17 18:05:30 murray Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.347 2009/03/20 09:25:21 brueffer Exp $ 2000 @@ -1468,8 +1468,6 @@ &hwlist.umct; - &hwlist.uscanner; - &hwlist.umass; [&arch.amd64;, &arch.i386;, &arch.pc98;] Audio Devices ==== //depot/projects/docproj_hu/src/release/doc/share/misc/dev.archlist.txt#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/release/doc/share/misc/dev.archlist.txt,v 1.107 2009/03/12 09:52:42 brueffer Exp $ +# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.108 2009/03/20 09:25:21 brueffer Exp $ # # @@ -162,7 +162,6 @@ uplcom i386,pc98,amd64 ural i386,amd64 urio i386,pc98,amd64,powerpc -uscanner i386,pc98,amd64,powerpc uvisor i386,pc98,amd64 uvscom i386,pc98,amd64 vge i386,pc98,amd64 ==== //depot/projects/docproj_hu/www/en/developers.sgml#21 (text+ko) ==== @@ -6,7 +6,7 @@ us to update author names, or the representation of those names (such as adding email addresses), by just editing a single file. -$FreeBSD: www/en/developers.sgml,v 1.216 2009/03/17 14:52:00 fabient Exp $ +$FreeBSD: www/en/developers.sgml,v 1.217 2009/03/25 19:43:16 skreuzer Exp $ --> @@ -496,6 +496,7 @@ + ==== //depot/projects/docproj_hu/www/en/multimedia/multimedia-input.xml#8 (text+ko) ==== @@ -10566,10 +10566,42 @@ + + FreeBSD Google Summer of Code posters + http://www.freebsd.org/projects/summerofcode.html + + Two posters usable for the announcement of the + participation of the FreeBSD Project in the Google + Summer of Code. + + freebsd,google,summer of code + + + http://people.freebsd.org/~manolis/2009-freebsd-gsoc-alternate.png + 1.1 Mb + 2480 x 3507 pixels + PNG version + png + + + http://people.freebsd.org/~manolis/2009-freebsd-gsoc-alternate.pdf + 815 Kb + 1 page + PDF version + pdf + + + + + + FreeBSD Google Summer of Code + http://www.freebsd.org/projects/summerofcode.html + + bsdtalk http://bsdtalk.blogspot.com/ ==== //depot/projects/docproj_hu/www/en/projects/ideas/ideas.xml#10 (text+ko) ==== @@ -15,7 +15,7 @@ - $FreeBSD: www/en/projects/ideas/ideas.xml,v 1.123 2009/03/17 18:28:37 rpaulo Exp $ + $FreeBSD: www/en/projects/ideas/ideas.xml,v 1.130 2009/03/26 14:14:18 brooks Exp $ @@ -50,7 +50,7 @@ NAND Flash driver support

Technical Contact: Warner Losh

-

Add support for nand flash support.

+

Add support for NAND flash devices.

Requirements:

  • Good C programming skills
  • @@ -326,10 +326,11 @@ + Timecounter Performance Improvements @@ -402,7 +404,9 @@ Avoiding syscall overhead -

    Technical contact: Kris Kennaway

    +

    Technical contact: + Attilio Rao, + Kris Kennaway

    setproctitle() calls are a serious performance bottleneck in a default pgsql configuration (they are @@ -422,6 +426,10 @@ massive security holes, performance issues (perhaps not visible in simple benchmarks), etc.

    +

    Work is currently in progress on this and is undergoing review. + It is not complete, but interested parties should contact Attilio + before beginning work.

    +

    Requirements:

    • Strong knowledge of C.
    • @@ -430,6 +438,35 @@ + + CPU online/offline project + +

      Technical contact: John Baldwin

      + +

      The project would need to extend the current CPU states of + absent and present to include absent, offline, and online. A + set of event handlers (probably using EVENTHANDLER(9)) will + need to be created to allow subsystems to be notified of CPU + state changes. At a minimum, the functionality of the + current 'hlt_cpus_mask' should be reimplemented in both the + 4BSD and ULE schedulers using this mechanism. Note that the + ability to disable all but one thread within a core must + still be supported easily. (This is currently done on x86 + via the machdep.hyperthreading_allowed sysctl.) Each + subsystem that uses CPU_ABSENT() will need to be evaluated to + see if it needs updating to handle online vs offline CPUs. + Further improvements may include teaching UMA to free per-CPU + buckets when a CPU is taken offline.

      +

      Requirements:

      +
        +
      • Strong knowledge of C.
      • +
      • Experience with multi-threaded programming.
      • +
      • Experience with kernel programming.
      • +
      +
      +
      + Document all sysctls @@ -666,22 +703,6 @@ - - Implement and profile algorithms for powerd - -

      Implement a range of predictive algorithms (and perhaps design your own) - and profile them for power usage and performance loss. The best - algorithm will save the most power while losing the least performance. This - has been discussed on the ACPI mailing - list and Bruno Ducrot has some early patches.

      -

      Requirements:

      -
        -
      • Basic C knowledge.
      • -
      • Laptop supported by cpufreq(4).
      • -
      -
      -
      - Interactive Splash Screen @@ -1108,22 +1129,6 @@ - - Cleanup of USE and WITH variables - - -

      Technical contact: Erwin Lansing

      -

      Make these more consistent. WITH_* should be user-settable - variables while USE_* only is for internal use in the ports.

      -

      Requirement:

      -
        -
      • Strong knowledge of shell and make code.
      • -
      • A basic understanding of the inner workings of the ports tree.
      • -
      -
      -
      - Package tools improvements ==== //depot/projects/docproj_hu/www/en/projects/summerofcode.xsl#4 (text+ko) ==== @@ -7,7 +7,7 @@ %developers; ]> - + @@ -40,7 +40,7 @@

      The FreeBSD Project is looking forward to participating as a mentoring organization in Google Summer of + href="http://socghop.appspot.com/">Google Summer of Code 2009. This program funds students to contribute to an open source project over the summer break. We have had over 70 successful students working on FreeBSD as part of this program in - + @@ -38,7 +38,7 @@

- + @@ -56,7 +56,7 @@ - + - - + + ==== //depot/projects/docproj_hu/www/en/search/opensearch/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: www/en/search/opensearch/Makefile,v 1.5 2008/09/23 16:31:45 wosch Exp $ +# $FreeBSD: www/en/search/opensearch/Makefile,v 1.6 2009/03/22 14:53:36 wosch Exp $ .if exists(../Makefile.conf) .include "../Makefile.conf" @@ -24,5 +24,6 @@ # external sites DATA+= markmail.xml DATA+= rambler.xml +DATA+= portoverview.xml .include "${WEB_PREFIX}/share/mk/web.site.mk" ==== //depot/projects/docproj_hu/www/en/search/opensearch/opensearch.sgml#2 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -40,6 +40,7 @@

External Plugins

==== //depot/projects/docproj_hu/www/share/sgml/advisories.xml#10 (text+ko) ==== @@ -2,7 +2,7 @@ - $FreeBSD: www/share/sgml/advisories.xml,v 1.227 2009/02/16 22:04:13 cperciva Exp $ + $FreeBSD: www/share/sgml/advisories.xml,v 1.228 2009/03/23 00:10:01 cperciva Exp $ @@ -10,6 +10,18 @@ 2009 + 3 + + + 23 + + + FreeBSD-SA-09:06.ktimer + + + + + 2 ==== //depot/projects/docproj_hu/www/share/sgml/commercial.isp.xml#10 (text+ko) ==== @@ -1,12 +1,12 @@ - + - $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.43 2009/02/26 21:01:20 jkois Exp $ + $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.44 2009/03/25 18:47:28 jkois Exp $ @@ -379,6 +379,22 @@ + + Association Kazar + http://kazar.net + + Association Kazar, located in Paris, France, is a non-profit + organization that provides for everybody the ability to host + servers in our co-location, but also to use our co-location + services for web, email, ftp, and databases. We are online since + 1996, and use FreeBSD for almost everything. We provide as well + connectivity and many other services for people located in Paris. + We host mailing lists for free if a member uses at least one of + our services. We are fans of FreeBSD and use it on + intel/amd64/sparc64 machines. + + + Venigo Internet Services http://www.venigo.fr/ ==== //depot/projects/docproj_hu/www/share/sgml/news.xml#44 (text+ko) ==== @@ -25,7 +25,7 @@ - $FreeBSD: www/share/sgml/news.xml,v 1.233 2009/03/17 14:52:00 fabient Exp $ + $FreeBSD: www/share/sgml/news.xml,v 1.235 2009/03/25 19:43:16 skreuzer Exp $ @@ -36,6 +36,35 @@ 3 + 25 + + +

New committer: Steven + Kreuzer (ports)

+
+
+ + + 22 + + + The &os; Project participates in the Google Summer of + Code 2009 program + +

We are pleased to annouce that Google has invited the &os; + Project to participate in their Summer of Code 2009 program, + which allows students to get paid to work on the &os; source + code. We invite students interested in working on &os; to + submit their proposals as soon as possible.

+ +

For more information please see the &os; Summer Projects + page for recommended project ideas and the official announcement.

+
+
+ + 16 ==== //depot/projects/docproj_hu/www/share/sgml/notices.xml#3 (text+ko) ==== @@ -2,11 +2,27 @@ - $FreeBSD: www/share/sgml/notices.xml,v 1.12 2008/06/19 06:55:30 cperciva Exp $ + $FreeBSD: www/share/sgml/notices.xml,v 1.13 2009/03/23 00:10:01 cperciva Exp $ + 2009 + + + 3 + + + 23 + + + FreeBSD-EN-09:01.kenv + + + + + + 2008 From owner-p4-projects@FreeBSD.ORG Fri Mar 27 14:57:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 945941065695; Fri, 27 Mar 2009 14:57: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 F0CA31065691 for ; Fri, 27 Mar 2009 14:57:27 +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 790C58FC21 for ; Fri, 27 Mar 2009 14:57:27 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2REvROo001687 for ; Fri, 27 Mar 2009 14:57:27 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2REvR9q001685 for perforce@freebsd.org; Fri, 27 Mar 2009 14:57:27 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 27 Mar 2009 14:57:27 GMT Message-Id: <200903271457.n2REvR9q001685@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 159906 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 14:57:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=159906 Change 159906 by pgj@beehive on 2009/03/27 14:56:34 MFen (doc): 1.9 -> 1.10 hu_HU.ISO8859-2/share/sgml/bibliography.sgml MFP4 after: 1 day Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/bibliography.sgml#10 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/share/sgml/bibliography.sgml#10 (text+ko) ==== @@ -4,7 +4,7 @@ @@ -442,22 +442,28 @@ Elex Media Komputindo - - Onno W - Purbo - - - Dodi - Maryanto - - - Syahrial - Hubbany - - - Widjil - Widodo - + + + + Onno W + Purbo + + + + Dodi + Maryanto + + + + Syahrial + Hubbany + + + + Widjil + Widodo + + @@ -526,14 +532,19 @@ O'Reilly & Associates, Inc ISBN 1-56592-512-2 - - Paul Albitz - Albitz - - - Cricket - Liu - + + + + Paul Albitz + Albitz + + + + Cricket + Liu + + + 1998 harmadik kiadás @@ -659,10 +670,19 @@ Prentice Hall 1998 - - Brian, Kernighan and Dennis - Ritchie - + + + + Brian + Kernighan + + + + Dennis + Ritchie + + + ISBN 0-13-110362-9 @@ -835,14 +855,19 @@ TCP/IP Illustrated, Volume 2: The Implementation - - Gary R. - Wright - - - W. Richard - Stevens - + + + + Gary R. + Wright + + + + W. Richard + Stevens + + + 1995 Addison-Wesley @@ -854,14 +879,19 @@ Firewalls and Internet Security: Repelling the Wily Hacker - - William R. - CHeswick - - - Steven M. - Bellovin - + + + + William R. + Cheswick + + + + Steven M. + Bellovin + + + Addison-Wesley @@ -873,14 +903,19 @@ Practical UNIX Security - - Simson - Garfinkel - - - Gene - Spafford - + + + + Simson + Garfinkel + + + + Gene + Spafford + + + 1996 második kiadás @@ -908,14 +943,19 @@ Pentium Processor System Architecture - - Don - Anderson - - - Tom - Shanley - + + + + Don + Anderson + + + + Tom + Shanley + + + Addison-Wesley @@ -1014,7 +1054,7 @@ Vol 57, No 6, Part 2 ISSN0005-8580 - + @@ -1066,18 +1106,24 @@ The UNIX-HATERS Handbook - - Steven - Strassman - - - Daniel - Weise - - - Simon - Garfinkel - + + + + Steven + Strassman + + + + Daniel + Weise + + + + Simon + Garfinkel + + + IDG Books Worldwide, Inc @@ -1088,7 +1134,7 @@ - Life with UNIX — special edition + Life with UNIX — Special Edition Don Libes From owner-p4-projects@FreeBSD.ORG Fri Mar 27 15:12:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 83F6510656BC; Fri, 27 Mar 2009 15:12: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 3D6B01065697 for ; Fri, 27 Mar 2009 15:12:43 +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 2AF0E8FC13 for ; Fri, 27 Mar 2009 15:12:43 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RFCha7003762 for ; Fri, 27 Mar 2009 15:12:43 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RFChP2003760 for perforce@freebsd.org; Fri, 27 Mar 2009 15:12:43 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 27 Mar 2009 15:12:43 GMT Message-Id: <200903271512.n2RFChP2003760@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 159907 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 15:12:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=159907 Change 159907 by pgj@beehive on 2009/03/27 15:12:25 MFen (www): 1.233 -> 1.235 hu/share/sgml/news.xml Affected files ... .. //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#7 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#7 (text+ko) ==== @@ -5,7 +5,7 @@ @@ -22,6 +22,41 @@ 3 + 25 + + +

Új tag: Steven + Kreuzer (ports)

+
+
+ + + 22 + + + A &os; Projekt is résztvesz a Google Summer of + Code 2009 programjában + +

Örömmel jelentjük be, hogy a &os; Projekt + meghívást nyert a Google Summer of Code 2009 + programjába, amelynek köszönhetõen + ösztöndíjat tudunk adni a &os; + forráskódjával dolgozó + hallgatóinknak. Szeretettel várunk minden + érdeklõdõt, és javasoljuk, hogy + minél hamarabb adják be a + jelentkezésünket!

+ +

További információkért + lásd a &os; + nyári projektötleteit, illetve a hivatalos + bejelentést.

+
+
+ + 16 From owner-p4-projects@FreeBSD.ORG Fri Mar 27 15:18:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BDD071065673; Fri, 27 Mar 2009 15:18: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 792AB106566C for ; Fri, 27 Mar 2009 15:18:49 +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 5CCBD8FC13 for ; Fri, 27 Mar 2009 15:18:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RFIntf004181 for ; Fri, 27 Mar 2009 15:18:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RFInQd004179 for perforce@freebsd.org; Fri, 27 Mar 2009 15:18:49 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 15:18:49 GMT Message-Id: <200903271518.n2RFInQd004179@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 159908 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 15:18:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=159908 Change 159908 by hselasky@hselasky_laptop001 on 2009/03/27 15:18:41 USB storage: - reduce the amount of memory used - some other changes "s/.mh././g" which belong to another commit. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#9 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#9 (text+ko) ==== @@ -63,7 +63,15 @@ #define USTORAGE_FS_BULK_SIZE (1UL << 17) /* bytes */ #endif -#define USTORAGE_FS_MAX_LUN 8 /* units */ +#ifndef USTORAGE_FS_MAX_LUN +#define USTORAGE_FS_MAX_LUN 8 /* units */ +#endif + +#ifndef USTORAGE_QDATA_MAX +#define USTORAGE_QDATA_MAX 40 /* bytes */ +#endif + +#define sc_cmd_data sc_cbw.CBWCDB /* * The SCSI ID string must be exactly 28 characters long @@ -172,7 +180,6 @@ uint8_t cbw_dir; uint8_t cmd_dir; uint8_t lun; - uint8_t cmd_data[CBWCDBLENGTH]; uint8_t cmd_len; uint8_t data_short:1; uint8_t data_error:1; @@ -182,13 +189,10 @@ struct usb2_device *sc_udev; struct usb2_xfer *sc_xfer[USTORAGE_FS_T_BBB_MAX]; - uint32_t sc_unit; - - uint8_t sc_name[16]; uint8_t sc_iface_no; /* interface number */ uint8_t sc_last_lun; uint8_t sc_last_xfer_index; - uint8_t sc_qdata[1024]; + uint8_t sc_qdata[USTORAGE_QDATA_MAX]; }; /* prototypes */ @@ -258,45 +262,50 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .md.bufsize = sizeof(ustorage_fs_bbb_cbw_t), - .md.flags = {.ext_buffer = 1,}, - .md.callback = &ustorage_fs_t_bbb_command_callback, + .bufsize = sizeof(ustorage_fs_bbb_cbw_t), + .flags = {.ext_buffer = 1,}, + .callback = &ustorage_fs_t_bbb_command_callback, + .usb_mode = USB_MODE_DEVICE, }, [USTORAGE_FS_T_BBB_DATA_DUMP] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .md.bufsize = 0, /* use wMaxPacketSize */ - .md.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, - .md.callback = &ustorage_fs_t_bbb_data_dump_callback, + .bufsize = 0, /* use wMaxPacketSize */ + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &ustorage_fs_t_bbb_data_dump_callback, + .usb_mode = USB_MODE_DEVICE, }, [USTORAGE_FS_T_BBB_DATA_READ] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .md.bufsize = USTORAGE_FS_BULK_SIZE, - .md.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,.ext_buffer = 1}, - .md.callback = &ustorage_fs_t_bbb_data_read_callback, + .bufsize = USTORAGE_FS_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,.ext_buffer = 1}, + .callback = &ustorage_fs_t_bbb_data_read_callback, + .usb_mode = USB_MODE_DEVICE, }, [USTORAGE_FS_T_BBB_DATA_WRITE] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .md.bufsize = USTORAGE_FS_BULK_SIZE, - .md.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,.ext_buffer = 1}, - .md.callback = &ustorage_fs_t_bbb_data_write_callback, + .bufsize = USTORAGE_FS_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,.ext_buffer = 1}, + .callback = &ustorage_fs_t_bbb_data_write_callback, + .usb_mode = USB_MODE_DEVICE, }, [USTORAGE_FS_T_BBB_STATUS] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .md.bufsize = sizeof(ustorage_fs_bbb_csw_t), - .md.flags = {.short_xfer_ok = 1,.ext_buffer = 1,}, - .md.callback = &ustorage_fs_t_bbb_status_callback, + .bufsize = sizeof(ustorage_fs_bbb_csw_t), + .flags = {.short_xfer_ok = 1,.ext_buffer = 1,}, + .callback = &ustorage_fs_t_bbb_status_callback, + .usb_mode = USB_MODE_DEVICE, }, }; @@ -335,6 +344,7 @@ struct usb2_attach_arg *uaa = device_get_ivars(dev); struct usb2_interface_descriptor *id; int err; + int unit; /* * NOTE: the softc struct is bzero-ed in device_set_driver. @@ -344,9 +354,9 @@ sc->sc_dev = dev; sc->sc_udev = uaa->device; - sc->sc_unit = device_get_unit(dev); + unit = device_get_unit(dev); - if (sc->sc_unit == 0) { + if (unit == 0) { if (ustorage_fs_ramdisk == NULL) { /* * allocate a memory image for our ramdisk until @@ -362,8 +372,6 @@ sc->sc_lun[0].num_sectors = USTORAGE_FS_RAM_SECT; sc->sc_lun[0].removable = 1; } - snprintf(sc->sc_name, sizeof(sc->sc_name), - "%s", device_get_nameunit(dev)); device_set_usb2_desc(dev); @@ -544,12 +552,7 @@ sc->sc_transfer.cmd_len); break; } - bcopy(sc->sc_cbw.CBWCDB, sc->sc_transfer.cmd_data, - sc->sc_transfer.cmd_len); - bzero(sc->sc_cbw.CBWCDB + sc->sc_transfer.cmd_len, - sizeof(sc->sc_cbw.CBWCDB) - sc->sc_transfer.cmd_len); - error = ustorage_fs_do_cmd(sc); if (error) { /* got an error */ @@ -927,17 +930,17 @@ /* * Get the starting Logical Block Address */ - lba = get_be32(&sc->sc_transfer.cmd_data[2]); + lba = get_be32(&sc->sc_cmd_data[2]); /* * We allow DPO (Disable Page Out = don't save data in the cache) * but we don't implement it. */ - if ((sc->sc_transfer.cmd_data[1] & ~0x10) != 0) { + if ((sc->sc_cmd_data[1] & ~0x10) != 0) { currlun->sense_data = SS_INVALID_FIELD_IN_CDB; return (1); } - vlen = get_be16(&sc->sc_transfer.cmd_data[7]); + vlen = get_be16(&sc->sc_cmd_data[7]); if (vlen == 0) { goto done; } @@ -998,6 +1001,9 @@ /* Copy in ID string */ memcpy(buf + 8, USTORAGE_FS_ID_STRING, 28); +#if (USTORAGE_QDATA_MAX < 36) +#error "(USTORAGE_QDATA_MAX < 36)" +#endif return (ustorage_fs_min_len(sc, 36, 0 - 1)); } @@ -1063,10 +1069,13 @@ /* Additional sense length */ buf[12] = ASC(sd); buf[13] = ASCQ(sd); + +#if (USTORAGE_QDATA_MAX < 18) +#error "(USTORAGE_QDATA_MAX < 18)" +#endif return (ustorage_fs_min_len(sc, 18, 0 - 1)); } - /*------------------------------------------------------------------------* * ustorage_fs_read_capacity * @@ -1079,22 +1088,25 @@ { uint8_t *buf = sc->sc_transfer.data_ptr; struct ustorage_fs_lun *currlun = sc->sc_transfer.currlun; - uint32_t lba = get_be32(&sc->sc_transfer.cmd_data[2]); - uint8_t pmi = sc->sc_transfer.cmd_data[8]; + uint32_t lba = get_be32(&sc->sc_cmd_data[2]); + uint8_t pmi = sc->sc_cmd_data[8]; /* Check the PMI and LBA fields */ if ((pmi > 1) || ((pmi == 0) && (lba != 0))) { currlun->sense_data = SS_INVALID_FIELD_IN_CDB; return (1); } + /* Max logical block */ put_be32(&buf[0], currlun->num_sectors - 1); - /* Max logical block */ + /* Block length */ put_be32(&buf[4], 512); - /* Block length */ + +#if (USTORAGE_QDATA_MAX < 8) +#error "(USTORAGE_QDATA_MAX < 8)" +#endif return (ustorage_fs_min_len(sc, 8, 0 - 1)); } - /*------------------------------------------------------------------------* * ustorage_fs_mode_sense * @@ -1110,7 +1122,7 @@ uint8_t *buf0; uint16_t len; uint16_t limit; - uint8_t mscmnd = sc->sc_transfer.cmd_data[0]; + uint8_t mscmnd = sc->sc_cmd_data[0]; uint8_t pc; uint8_t page_code; uint8_t changeable_values; @@ -1118,13 +1130,13 @@ buf0 = buf; - if ((sc->sc_transfer.cmd_data[1] & ~0x08) != 0) { + if ((sc->sc_cmd_data[1] & ~0x08) != 0) { /* Mask away DBD */ currlun->sense_data = SS_INVALID_FIELD_IN_CDB; return (1); } - pc = sc->sc_transfer.cmd_data[2] >> 6; - page_code = sc->sc_transfer.cmd_data[2] & 0x3f; + pc = sc->sc_cmd_data[2] >> 6; + page_code = sc->sc_cmd_data[2] & 0x3f; if (pc == 3) { currlun->sense_data = SS_SAVING_PARAMETERS_NOT_SUPPORTED; return (1); @@ -1195,6 +1207,10 @@ buf0[0] = len - 1; else put_be16(buf0, len - 2); + +#if (USTORAGE_QDATA_MAX < 24) +#error "(USTORAGE_QDATA_MAX < 24)" +#endif return (ustorage_fs_min_len(sc, len, 0 - 1)); } @@ -1217,9 +1233,9 @@ currlun->sense_data = SS_INVALID_COMMAND; return (1); } - immed = sc->sc_transfer.cmd_data[1] & 0x01; - loej = sc->sc_transfer.cmd_data[4] & 0x02; - start = sc->sc_transfer.cmd_data[4] & 0x01; + immed = sc->sc_cmd_data[1] & 0x01; + loej = sc->sc_cmd_data[4] & 0x02; + start = sc->sc_cmd_data[4] & 0x01; if (immed || loej || start) { /* compile fix */ @@ -1244,8 +1260,8 @@ currlun->sense_data = SS_INVALID_COMMAND; return (1); } - prevent = sc->sc_transfer.cmd_data[4] & 0x01; - if ((sc->sc_transfer.cmd_data[4] & ~0x01) != 0) { + prevent = sc->sc_cmd_data[4] & 0x01; + if ((sc->sc_cmd_data[4] & ~0x01) != 0) { /* Mask away Prevent */ currlun->sense_data = SS_INVALID_FIELD_IN_CDB; return (1); @@ -1275,12 +1291,16 @@ /* Only the Current / Maximum Capacity Descriptor */ buf += 4; + /* Number of blocks */ put_be32(&buf[0], currlun->num_sectors); - /* Number of blocks */ + /* Block length */ put_be32(&buf[4], 512); - /* Block length */ + /* Current capacity */ buf[4] = 0x02; - /* Current capacity */ + +#if (USTORAGE_QDATA_MAX < 12) +#error "(USTORAGE_QDATA_MAX < 12)" +#endif return (ustorage_fs_min_len(sc, 12, 0 - 1)); } @@ -1345,18 +1365,18 @@ * Get the starting Logical Block Address and check that it's not * too big */ - if (sc->sc_transfer.cmd_data[0] == SC_READ_6) { - lba = (((uint32_t)sc->sc_transfer.cmd_data[1]) << 16) | - get_be16(&sc->sc_transfer.cmd_data[2]); + if (sc->sc_cmd_data[0] == SC_READ_6) { + lba = (((uint32_t)sc->sc_cmd_data[1]) << 16) | + get_be16(&sc->sc_cmd_data[2]); } else { - lba = get_be32(&sc->sc_transfer.cmd_data[2]); + lba = get_be32(&sc->sc_cmd_data[2]); /* * We allow DPO (Disable Page Out = don't save data in the * cache) and FUA (Force Unit Access = don't read from the * cache), but we don't implement them. */ - if ((sc->sc_transfer.cmd_data[1] & ~0x18) != 0) { + if ((sc->sc_cmd_data[1] & ~0x18) != 0) { currlun->sense_data = SS_INVALID_FIELD_IN_CDB; return (1); } @@ -1403,11 +1423,11 @@ * Get the starting Logical Block Address and check that it's not * too big. */ - if (sc->sc_transfer.cmd_data[0] == SC_WRITE_6) - lba = (((uint32_t)sc->sc_transfer.cmd_data[1]) << 16) | - get_be16(&sc->sc_transfer.cmd_data[2]); + if (sc->sc_cmd_data[0] == SC_WRITE_6) + lba = (((uint32_t)sc->sc_cmd_data[1]) << 16) | + get_be16(&sc->sc_cmd_data[2]); else { - lba = get_be32(&sc->sc_transfer.cmd_data[2]); + lba = get_be32(&sc->sc_cmd_data[2]); /* * We allow DPO (Disable Page Out = don't save data in the @@ -1415,11 +1435,11 @@ * medium). We don't implement DPO; we implement FUA by * performing synchronous output. */ - if ((sc->sc_transfer.cmd_data[1] & ~0x18) != 0) { + if ((sc->sc_cmd_data[1] & ~0x18) != 0) { currlun->sense_data = SS_INVALID_FIELD_IN_CDB; return (1); } - if (sc->sc_transfer.cmd_data[1] & 0x08) { + if (sc->sc_cmd_data[1] & 0x08) { /* FUA */ /* XXX set SYNC flag here */ } @@ -1495,7 +1515,7 @@ uint16_t mask, uint8_t needs_medium) { struct ustorage_fs_lun *currlun; - uint8_t lun = (sc->sc_transfer.cmd_data[1] >> 5); + uint8_t lun = (sc->sc_cmd_data[1] >> 5); uint8_t i; /* Verify the length of the command itself */ @@ -1506,7 +1526,7 @@ return (1); } /* Mask away the LUN */ - sc->sc_transfer.cmd_data[1] &= 0x1f; + sc->sc_cmd_data[1] &= 0x1f; /* Check if LUN is correct */ if (lun != sc->sc_transfer.lun) { @@ -1516,7 +1536,7 @@ if (sc->sc_transfer.lun <= sc->sc_last_lun) { sc->sc_transfer.currlun = currlun = sc->sc_lun + sc->sc_transfer.lun; - if (sc->sc_transfer.cmd_data[0] != SC_REQUEST_SENSE) { + if (sc->sc_cmd_data[0] != SC_REQUEST_SENSE) { currlun->sense_data = SS_NO_SENSE; currlun->sense_data_info = 0; currlun->info_valid = 0; @@ -1527,8 +1547,8 @@ * else must fail! */ if ((currlun->unit_attention_data != SS_NO_SENSE) && - (sc->sc_transfer.cmd_data[0] != SC_INQUIRY) && - (sc->sc_transfer.cmd_data[0] != SC_REQUEST_SENSE)) { + (sc->sc_cmd_data[0] != SC_INQUIRY) && + (sc->sc_cmd_data[0] != SC_REQUEST_SENSE)) { currlun->sense_data = currlun->unit_attention_data; currlun->unit_attention_data = SS_NO_SENSE; return (1); @@ -1540,8 +1560,8 @@ * INQUIRY and REQUEST SENSE commands are explicitly allowed * to use unsupported LUNs; all others may not. */ - if ((sc->sc_transfer.cmd_data[0] != SC_INQUIRY) && - (sc->sc_transfer.cmd_data[0] != SC_REQUEST_SENSE)) { + if ((sc->sc_cmd_data[0] != SC_INQUIRY) && + (sc->sc_cmd_data[0] != SC_REQUEST_SENSE)) { return (1); } } @@ -1551,7 +1571,7 @@ * non-zero. */ for (i = 0; i != min_cmd_size; i++) { - if (sc->sc_transfer.cmd_data[i] && !(mask & (1UL << i))) { + if (sc->sc_cmd_data[i] && !(mask & (1UL << i))) { if (currlun) { currlun->sense_data = SS_INVALID_FIELD_IN_CDB; } @@ -1589,12 +1609,12 @@ sc->sc_transfer.data_ptr = sc->sc_qdata; DPRINTF("cmd_data[0]=0x%02x, data_rem=0x%08x\n", - sc->sc_transfer.cmd_data[0], sc->sc_transfer.data_rem); + sc->sc_cmd_data[0], sc->sc_transfer.data_rem); - switch (sc->sc_transfer.cmd_data[0]) { + switch (sc->sc_cmd_data[0]) { case SC_INQUIRY: sc->sc_transfer.cmd_dir = DIR_WRITE; - error = ustorage_fs_min_len(sc, sc->sc_transfer.cmd_data[4], 0 - 1); + error = ustorage_fs_min_len(sc, sc->sc_cmd_data[4], 0 - 1); if (error) { break; } @@ -1609,7 +1629,7 @@ case SC_MODE_SELECT_6: sc->sc_transfer.cmd_dir = DIR_READ; - error = ustorage_fs_min_len(sc, sc->sc_transfer.cmd_data[4], 0 - 1); + error = ustorage_fs_min_len(sc, sc->sc_cmd_data[4], 0 - 1); if (error) { break; } @@ -1625,7 +1645,7 @@ case SC_MODE_SELECT_10: sc->sc_transfer.cmd_dir = DIR_READ; error = ustorage_fs_min_len(sc, - get_be16(&sc->sc_transfer.cmd_data[7]), 0 - 1); + get_be16(&sc->sc_cmd_data[7]), 0 - 1); if (error) { break; } @@ -1640,7 +1660,7 @@ case SC_MODE_SENSE_6: sc->sc_transfer.cmd_dir = DIR_WRITE; - error = ustorage_fs_min_len(sc, sc->sc_transfer.cmd_data[4], 0 - 1); + error = ustorage_fs_min_len(sc, sc->sc_cmd_data[4], 0 - 1); if (error) { break; } @@ -1656,7 +1676,7 @@ case SC_MODE_SENSE_10: sc->sc_transfer.cmd_dir = DIR_WRITE; error = ustorage_fs_min_len(sc, - get_be16(&sc->sc_transfer.cmd_data[7]), 0 - 1); + get_be16(&sc->sc_cmd_data[7]), 0 - 1); if (error) { break; } @@ -1684,7 +1704,7 @@ break; case SC_READ_6: - i = sc->sc_transfer.cmd_data[4]; + i = sc->sc_cmd_data[4]; sc->sc_transfer.cmd_dir = DIR_WRITE; temp = ((i == 0) ? 256UL : i); error = ustorage_fs_min_len(sc, temp << 9, mask9); @@ -1702,7 +1722,7 @@ case SC_READ_10: sc->sc_transfer.cmd_dir = DIR_WRITE; - temp = get_be16(&sc->sc_transfer.cmd_data[7]); + temp = get_be16(&sc->sc_cmd_data[7]); error = ustorage_fs_min_len(sc, temp << 9, mask9); if (error) { break; @@ -1718,7 +1738,7 @@ case SC_READ_12: sc->sc_transfer.cmd_dir = DIR_WRITE; - temp = get_be32(&sc->sc_transfer.cmd_data[6]); + temp = get_be32(&sc->sc_cmd_data[6]); if (temp >= (1UL << (32 - 9))) { /* numerical overflow */ sc->sc_csw.bCSWStatus = CSWSTATUS_FAILED; @@ -1752,7 +1772,7 @@ case SC_READ_FORMAT_CAPACITIES: sc->sc_transfer.cmd_dir = DIR_WRITE; error = ustorage_fs_min_len(sc, - get_be16(&sc->sc_transfer.cmd_data[7]), 0 - 1); + get_be16(&sc->sc_cmd_data[7]), 0 - 1); if (error) { break; } @@ -1767,7 +1787,7 @@ case SC_REQUEST_SENSE: sc->sc_transfer.cmd_dir = DIR_WRITE; - error = ustorage_fs_min_len(sc, sc->sc_transfer.cmd_data[4], 0 - 1); + error = ustorage_fs_min_len(sc, sc->sc_cmd_data[4], 0 - 1); if (error) { break; } @@ -1836,7 +1856,7 @@ break; case SC_WRITE_6: - i = sc->sc_transfer.cmd_data[4]; + i = sc->sc_cmd_data[4]; sc->sc_transfer.cmd_dir = DIR_READ; temp = ((i == 0) ? 256UL : i); error = ustorage_fs_min_len(sc, temp << 9, mask9); @@ -1854,7 +1874,7 @@ case SC_WRITE_10: sc->sc_transfer.cmd_dir = DIR_READ; - temp = get_be16(&sc->sc_transfer.cmd_data[7]); + temp = get_be16(&sc->sc_cmd_data[7]); error = ustorage_fs_min_len(sc, temp << 9, mask9); if (error) { break; @@ -1870,7 +1890,7 @@ case SC_WRITE_12: sc->sc_transfer.cmd_dir = DIR_READ; - temp = get_be32(&sc->sc_transfer.cmd_data[6]); + temp = get_be32(&sc->sc_cmd_data[6]); if (temp > (mask9 >> 9)) { /* numerical overflow */ sc->sc_csw.bCSWStatus = CSWSTATUS_FAILED; From owner-p4-projects@FreeBSD.ORG Fri Mar 27 15:27:59 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F69C1065677; Fri, 27 Mar 2009 15:27: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 D1E3D1065675 for ; Fri, 27 Mar 2009 15:27:58 +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 BDD668FC14 for ; Fri, 27 Mar 2009 15:27:58 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RFRwcC004922 for ; Fri, 27 Mar 2009 15:27:58 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RFRwTg004920 for perforce@freebsd.org; Fri, 27 Mar 2009 15:27:58 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 15:27:58 GMT Message-Id: <200903271527.n2RFRwTg004920@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 159909 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 15:28:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=159909 Change 159909 by hselasky@hselasky_laptop001 on 2009/03/27 15:27:42 USB core + drivers + minor API-change - add new functionality conditionals: - USB_HAVE_POWERD - USB_HAVE_TT_SUPPORT - USB_HAVE_MSCTEST - make usb2_power_mask_t 16-bit - remove "usb2_config_sub" structure from "usb2_config". To compensate for this "usb2_config" has a new field called "usb_mode" which select for which mode the current xfer entry is active. Options are: a) Device mode only b) Host mode only (default-by-zero) c) Both modes. This change was scripted using the following sed script: "s/\.mh\././g". - the standard packet size table in "usb_transfer.c" is now a function, hence the code for the function uses less memory than the table itself. Tested on 8-bit AVR. Assumed to also be the case on 32-bit platforms when the table size grows. Affected files ... .. //depot/projects/usb/src/sys/compat/ndis/subr_usbd.c#10 edit .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#38 edit .. //depot/projects/usb/src/sys/dev/usb/bluetooth/ng_ubt.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/bluetooth/ubtbcmfw.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/input/uhid.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/input/ums.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/misc/udbp.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/net/if_cdcereg.h#2 edit .. //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#7 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uark.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/serial/ubsa.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/serial/ubser.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uchcom.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/serial/ucycom.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/serial/ufoma.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uftdi.c#4 edit .. //depot/projects/usb/src/sys/dev/usb/serial/ugensa.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uipaq.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#7 edit .. //depot/projects/usb/src/sys/dev/usb/serial/umct.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/serial/umodem.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/serial/umoscom.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uplcom.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uslcom.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uvisor.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uvscom.c#3 edit .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/storage/urio.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#33 edit .. //depot/projects/usb/src/sys/dev/usb/usb_core.h#9 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#13 edit .. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.h#6 edit .. //depot/projects/usb/src/sys/dev/usb/usb_msctest.c#6 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#136 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.h#6 edit .. //depot/projects/usb/src/sys/dev/usb/wlan/if_rum.c#7 edit .. //depot/projects/usb/src/sys/dev/usb/wlan/if_ural.c#7 edit .. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/compat/ndis/subr_usbd.c#10 (text+ko) ==== @@ -93,20 +93,20 @@ .endpoint = 0x00, /* control pipe */ .direction = UE_DIR_ANY, .if_index = 0, - .mh.bufsize = USBD_CTRL_READ_BUFFER_SIZE, - .mh.flags = { .short_xfer_ok = 1, }, - .mh.callback = &usbd_ctrl_callback, - .mh.timeout = 5000, /* 5 seconds */ + .bufsize = USBD_CTRL_READ_BUFFER_SIZE, + .flags = { .short_xfer_ok = 1, }, + .callback = &usbd_ctrl_callback, + .timeout = 5000, /* 5 seconds */ }, [USBD_CTRL_WRITE_PIPE] = { .type = UE_CONTROL, .endpoint = 0x00, /* control pipe */ .direction = UE_DIR_ANY, .if_index = 0, - .mh.bufsize = USBD_CTRL_WRITE_BUFFER_SIZE, - .mh.flags = { .proxy_buffer = 1, }, - .mh.callback = &usbd_ctrl_callback, - .mh.timeout = 5000, /* 5 seconds */ + .bufsize = USBD_CTRL_WRITE_BUFFER_SIZE, + .flags = { .proxy_buffer = 1, }, + .callback = &usbd_ctrl_callback, + .timeout = 5000, /* 5 seconds */ } }; @@ -674,11 +674,11 @@ cfg.type = UE_GET_XFERTYPE(ep->bmAttributes); cfg.endpoint = UE_GET_ADDR(ep->bEndpointAddress); cfg.direction = UE_GET_DIR(ep->bEndpointAddress); - cfg.mh.callback = &usbd_non_isoc_callback; - cfg.mh.bufsize = UGETW(ep->wMaxPacketSize); - cfg.mh.flags.proxy_buffer = 1; + cfg.callback = &usbd_non_isoc_callback; + cfg.bufsize = UGETW(ep->wMaxPacketSize); + cfg.flags.proxy_buffer = 1; if (UE_GET_DIR(ep->bEndpointAddress) == UE_DIR_IN) - cfg.mh.flags.short_xfer_ok = 1; + cfg.flags.short_xfer_ok = 1; status = usb2_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, &cfg, 1, sc, &sc->ndisusb_mtx); ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#38 (text+ko) ==== @@ -400,20 +400,20 @@ .type = UE_ISOCHRONOUS, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = 0, /* use "wMaxPacketSize * frames" */ - .mh.frames = UAUDIO_MINFRAMES, - .mh.flags = {.short_xfer_ok = 1,}, - .mh.callback = &uaudio_chan_record_callback, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UAUDIO_MINFRAMES, + .flags = {.short_xfer_ok = 1,}, + .callback = &uaudio_chan_record_callback, }, [1] = { .type = UE_ISOCHRONOUS, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = 0, /* use "wMaxPacketSize * frames" */ - .mh.frames = UAUDIO_MINFRAMES, - .mh.flags = {.short_xfer_ok = 1,}, - .mh.callback = &uaudio_chan_record_callback, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UAUDIO_MINFRAMES, + .flags = {.short_xfer_ok = 1,}, + .callback = &uaudio_chan_record_callback, }, }; @@ -423,20 +423,20 @@ .type = UE_ISOCHRONOUS, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = 0, /* use "wMaxPacketSize * frames" */ - .mh.frames = UAUDIO_MINFRAMES, - .mh.flags = {.short_xfer_ok = 1,}, - .mh.callback = &uaudio_chan_play_callback, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UAUDIO_MINFRAMES, + .flags = {.short_xfer_ok = 1,}, + .callback = &uaudio_chan_play_callback, }, [1] = { .type = UE_ISOCHRONOUS, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = 0, /* use "wMaxPacketSize * frames" */ - .mh.frames = UAUDIO_MINFRAMES, - .mh.flags = {.short_xfer_ok = 1,}, - .mh.callback = &uaudio_chan_play_callback, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UAUDIO_MINFRAMES, + .flags = {.short_xfer_ok = 1,}, + .callback = &uaudio_chan_play_callback, }, }; @@ -446,9 +446,9 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = (sizeof(struct usb2_device_request) + 4), - .mh.callback = &uaudio_mixer_write_cfg_callback, - .mh.timeout = 1000, /* 1 second */ + .bufsize = (sizeof(struct usb2_device_request) + 4), + .callback = &uaudio_mixer_write_cfg_callback, + .timeout = 1000, /* 1 second */ }, }; @@ -478,40 +478,40 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = UMIDI_BULK_SIZE, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = &umidi_bulk_write_callback, + .bufsize = UMIDI_BULK_SIZE, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .callback = &umidi_bulk_write_callback, }, [1] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = UMIDI_BULK_SIZE, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = &umidi_bulk_read_callback, + .bufsize = UMIDI_BULK_SIZE, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .callback = &umidi_bulk_read_callback, }, [2] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb2_device_request), - .mh.flags = {}, - .mh.callback = &umidi_write_clear_stall_callback, - .mh.timeout = 1000, /* 1 second */ - .mh.interval = 50, /* 50ms */ + .bufsize = sizeof(struct usb2_device_request), + .flags = {}, + .callback = &umidi_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + .interval = 50, /* 50ms */ }, [3] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb2_device_request), - .mh.flags = {}, - .mh.callback = &umidi_read_clear_stall_callback, - .mh.timeout = 1000, /* 1 second */ - .mh.interval = 50, /* 50ms */ + .bufsize = sizeof(struct usb2_device_request), + .flags = {}, + .callback = &umidi_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + .interval = 50, /* 50ms */ }, }; ==== //depot/projects/usb/src/sys/dev/usb/bluetooth/ng_ubt.c#4 (text+ko) ==== @@ -276,9 +276,9 @@ .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, .if_index = 0, - .mh.bufsize = UBT_BULK_WRITE_BUFFER_SIZE, - .mh.flags = { .pipe_bof = 1, .force_short_xfer = 1, }, - .mh.callback = &ubt_bulk_write_callback, + .bufsize = UBT_BULK_WRITE_BUFFER_SIZE, + .flags = { .pipe_bof = 1, .force_short_xfer = 1, }, + .callback = &ubt_bulk_write_callback, }, /* Incoming bulk transfer - ACL packets */ [UBT_IF_0_BULK_DT_RD] = { @@ -286,9 +286,9 @@ .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, .if_index = 0, - .mh.bufsize = UBT_BULK_READ_BUFFER_SIZE, - .mh.flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, - .mh.callback = &ubt_bulk_read_callback, + .bufsize = UBT_BULK_READ_BUFFER_SIZE, + .flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, + .callback = &ubt_bulk_read_callback, }, /* Incoming interrupt transfer - HCI events */ [UBT_IF_0_INTR_DT_RD] = { @@ -296,9 +296,9 @@ .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, .if_index = 0, - .mh.flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, - .mh.bufsize = UBT_INTR_BUFFER_SIZE, - .mh.callback = &ubt_intr_read_callback, + .flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, + .bufsize = UBT_INTR_BUFFER_SIZE, + .callback = &ubt_intr_read_callback, }, /* Outgoing control transfer - HCI commands */ [UBT_IF_0_CTRL_DT_WR] = { @@ -306,9 +306,9 @@ .endpoint = 0x00, /* control pipe */ .direction = UE_DIR_ANY, .if_index = 0, - .mh.bufsize = UBT_CTRL_BUFFER_SIZE, - .mh.callback = &ubt_ctrl_write_callback, - .mh.timeout = 5000, /* 5 seconds */ + .bufsize = UBT_CTRL_BUFFER_SIZE, + .callback = &ubt_ctrl_write_callback, + .timeout = 5000, /* 5 seconds */ }, /* @@ -321,10 +321,10 @@ .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, .if_index = 1, - .mh.bufsize = 0, /* use "wMaxPacketSize * frames" */ - .mh.frames = UBT_ISOC_NFRAMES, - .mh.flags = { .short_xfer_ok = 1, }, - .mh.callback = &ubt_isoc_read_callback, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UBT_ISOC_NFRAMES, + .flags = { .short_xfer_ok = 1, }, + .callback = &ubt_isoc_read_callback, }, /* Incoming isochronous transfer #2 - SCO packets */ [UBT_IF_1_ISOC_DT_RD2] = { @@ -332,10 +332,10 @@ .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, .if_index = 1, - .mh.bufsize = 0, /* use "wMaxPacketSize * frames" */ - .mh.frames = UBT_ISOC_NFRAMES, - .mh.flags = { .short_xfer_ok = 1, }, - .mh.callback = &ubt_isoc_read_callback, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UBT_ISOC_NFRAMES, + .flags = { .short_xfer_ok = 1, }, + .callback = &ubt_isoc_read_callback, }, /* Outgoing isochronous transfer #1 - SCO packets */ [UBT_IF_1_ISOC_DT_WR1] = { @@ -343,10 +343,10 @@ .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, .if_index = 1, - .mh.bufsize = 0, /* use "wMaxPacketSize * frames" */ - .mh.frames = UBT_ISOC_NFRAMES, - .mh.flags = { .short_xfer_ok = 1, }, - .mh.callback = &ubt_isoc_write_callback, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UBT_ISOC_NFRAMES, + .flags = { .short_xfer_ok = 1, }, + .callback = &ubt_isoc_write_callback, }, /* Outgoing isochronous transfer #2 - SCO packets */ [UBT_IF_1_ISOC_DT_WR2] = { @@ -354,10 +354,10 @@ .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, .if_index = 1, - .mh.bufsize = 0, /* use "wMaxPacketSize * frames" */ - .mh.frames = UBT_ISOC_NFRAMES, - .mh.flags = { .short_xfer_ok = 1, }, - .mh.callback = &ubt_isoc_write_callback, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UBT_ISOC_NFRAMES, + .flags = { .short_xfer_ok = 1, }, + .callback = &ubt_isoc_write_callback, }, }; ==== //depot/projects/usb/src/sys/dev/usb/bluetooth/ubtbcmfw.c#4 (text+ko) ==== @@ -118,10 +118,10 @@ .endpoint = 0x02, /* fixed */ .direction = UE_DIR_OUT, .if_index = UBTBCMFW_IFACE_IDX, - .mh.bufsize = UBTBCMFW_BSIZE, - .mh.flags = { .pipe_bof = 1, .force_short_xfer = 1, + .bufsize = UBTBCMFW_BSIZE, + .flags = { .pipe_bof = 1, .force_short_xfer = 1, .proxy_buffer = 1, }, - .mh.callback = &ubtbcmfw_write_callback, + .callback = &ubtbcmfw_write_callback, }, [UBTBCMFW_INTR_DT_RD] = { @@ -129,10 +129,10 @@ .endpoint = 0x01, /* fixed */ .direction = UE_DIR_IN, .if_index = UBTBCMFW_IFACE_IDX, - .mh.bufsize = UBTBCMFW_BSIZE, - .mh.flags = { .pipe_bof = 1, .short_xfer_ok = 1, + .bufsize = UBTBCMFW_BSIZE, + .flags = { .pipe_bof = 1, .short_xfer_ok = 1, .proxy_buffer = 1, }, - .mh.callback = &ubtbcmfw_read_callback, + .callback = &ubtbcmfw_read_callback, }, }; ==== //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#9 (text+ko) ==== @@ -205,11 +205,12 @@ mtx_lock(&Giant); +#if USB_HAVE_POWERD /* * First update the USB power state! */ usb2_bus_powerd(bus); - +#endif /* * Explore the Root USB HUB. This call can sleep, * exiting Giant, which is actually Giant. @@ -263,6 +264,7 @@ bus->bdev = NULL; } +#if USB_HAVE_POWERD static void usb2_power_wdog(void *arg) { @@ -279,6 +281,7 @@ USB_BUS_LOCK(bus); } +#endif /*------------------------------------------------------------------------* * usb2_bus_attach @@ -328,6 +331,20 @@ USB_BUS_UNLOCK(bus); mtx_lock(&Giant); /* XXX not required by USB */ + /* default power_mask value */ + bus->hw_power_state = + USB_HW_POWER_CONTROL | + USB_HW_POWER_BULK | + USB_HW_POWER_INTERRUPT | + USB_HW_POWER_ISOC | + USB_HW_POWER_NON_ROOT_HUB; + + /* make sure power is set at least once */ + + if (bus->methods->set_hw_power != NULL) { + (bus->methods->set_hw_power) (bus); + } + /* Allocate the Root USB device */ child = usb2_alloc_device(bus->bdev, bus, NULL, 0, 0, 1, @@ -356,8 +373,10 @@ /* set softc - we are ready */ device_set_softc(dev, bus); +#if USB_HAVE_POWERD /* start watchdog */ usb2_power_wdog(bus); +#endif } /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/input/uhid.c#6 (text+ko) ==== @@ -316,27 +316,27 @@ .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.bufsize = UHID_BSIZE, - .mh.callback = &uhid_intr_callback, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .bufsize = UHID_BSIZE, + .callback = &uhid_intr_callback, }, [UHID_CTRL_DT_WR] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb2_device_request) + UHID_BSIZE, - .mh.callback = &uhid_write_callback, - .mh.timeout = 1000, /* 1 second */ + .bufsize = sizeof(struct usb2_device_request) + UHID_BSIZE, + .callback = &uhid_write_callback, + .timeout = 1000, /* 1 second */ }, [UHID_CTRL_DT_RD] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb2_device_request) + UHID_BSIZE, - .mh.callback = &uhid_read_callback, - .mh.timeout = 1000, /* 1 second */ + .bufsize = sizeof(struct usb2_device_request) + UHID_BSIZE, + .callback = &uhid_read_callback, + .timeout = 1000, /* 1 second */ }, }; ==== //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#3 (text+ko) ==== @@ -562,28 +562,28 @@ .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.bufsize = 0, /* use wMaxPacketSize */ - .mh.callback = &ukbd_intr_callback, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &ukbd_intr_callback, }, [UKBD_INTR_CS] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb2_device_request), - .mh.callback = &ukbd_clear_stall_callback, - .mh.timeout = 1000, /* 1 second */ - .mh.interval = 50, /* 50ms */ + .bufsize = sizeof(struct usb2_device_request), + .callback = &ukbd_clear_stall_callback, + .timeout = 1000, /* 1 second */ + .interval = 50, /* 50ms */ }, [UKBD_CTRL_LED] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb2_device_request) + 1, - .mh.callback = &ukbd_set_leds_callback, - .mh.timeout = 1000, /* 1 second */ + .bufsize = sizeof(struct usb2_device_request) + 1, + .callback = &ukbd_set_leds_callback, + .timeout = 1000, /* 1 second */ }, }; ==== //depot/projects/usb/src/sys/dev/usb/input/ums.c#8 (text+ko) ==== @@ -312,9 +312,9 @@ .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.bufsize = 0, /* use wMaxPacketSize */ - .mh.callback = &ums_intr_callback, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &ums_intr_callback, }, }; ==== //depot/projects/usb/src/sys/dev/usb/misc/udbp.c#5 (text+ko) ==== @@ -192,39 +192,39 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = UDBP_BUFFERSIZE, - .mh.flags = {.pipe_bof = 1,.force_short_xfer = 1,}, - .mh.callback = &udbp_bulk_write_callback, - .mh.timeout = UDBP_TIMEOUT, + .bufsize = UDBP_BUFFERSIZE, + .flags = {.pipe_bof = 1,.force_short_xfer = 1,}, + .callback = &udbp_bulk_write_callback, + .timeout = UDBP_TIMEOUT, }, [UDBP_T_RD] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = UDBP_BUFFERSIZE, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = &udbp_bulk_read_callback, + .bufsize = UDBP_BUFFERSIZE, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .callback = &udbp_bulk_read_callback, }, [UDBP_T_WR_CS] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb2_device_request), - .mh.callback = &udbp_bulk_write_clear_stall_callback, - .mh.timeout = 1000, /* 1 second */ - .mh.interval = 50, /* 50ms */ + .bufsize = sizeof(struct usb2_device_request), + .callback = &udbp_bulk_write_clear_stall_callback, + .timeout = 1000, /* 1 second */ + .interval = 50, /* 50ms */ }, [UDBP_T_RD_CS] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb2_device_request), - .mh.callback = &udbp_bulk_read_clear_stall_callback, - .mh.timeout = 1000, /* 1 second */ - .mh.interval = 50, /* 50ms */ + .bufsize = sizeof(struct usb2_device_request), + .callback = &udbp_bulk_read_clear_stall_callback, + .timeout = 1000, /* 1 second */ + .interval = 50, /* 50ms */ }, }; ==== //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#3 (text+ko) ==== @@ -209,28 +209,28 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = (MCLBYTES + 2), - .mh.flags = {.pipe_bof = 1,.force_short_xfer = 1,}, - .mh.callback = aue_bulk_write_callback, - .mh.timeout = 10000, /* 10 seconds */ + .bufsize = (MCLBYTES + 2), + .flags = {.pipe_bof = 1,.force_short_xfer = 1,}, + .callback = aue_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ }, [AUE_BULK_DT_RD] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = (MCLBYTES + 4 + ETHER_CRC_LEN), - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = aue_bulk_read_callback, + .bufsize = (MCLBYTES + 4 + ETHER_CRC_LEN), + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .callback = aue_bulk_read_callback, }, [AUE_INTR_DT_RD] = { .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.bufsize = 0, /* use wMaxPacketSize */ - .mh.callback = aue_intr_callback, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = aue_intr_callback, }, }; ==== //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#4 (text+ko) ==== @@ -182,10 +182,10 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = AXE_BULK_BUF_SIZE, - .mh.flags = {.pipe_bof = 1,.force_short_xfer = 1,}, - .mh.callback = axe_bulk_write_callback, - .mh.timeout = 10000, /* 10 seconds */ + .bufsize = AXE_BULK_BUF_SIZE, + .flags = {.pipe_bof = 1,.force_short_xfer = 1,}, + .callback = axe_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ }, [AXE_BULK_DT_RD] = { @@ -195,19 +195,19 @@ #if (MCLBYTES < 2048) #error "(MCLBYTES < 2048)" #endif - .mh.bufsize = MCLBYTES, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = axe_bulk_read_callback, - .mh.timeout = 0, /* no timeout */ + .bufsize = MCLBYTES, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .callback = axe_bulk_read_callback, + .timeout = 0, /* no timeout */ }, [AXE_INTR_DT_RD] = { .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.bufsize = 0, /* use wMaxPacketSize */ - .mh.callback = axe_intr_callback, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = axe_intr_callback, }, }; ==== //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#6 (text+ko) ==== @@ -96,59 +96,54 @@ static const struct usb2_config cdce_config[CDCE_N_TRANSFER] = { - [CDCE_BULK_A] = { + [CDCE_BULK_RX] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_OUT, + .direction = UE_DIR_RX, .if_index = 0, - /* Host Mode */ - .mh.frames = CDCE_FRAMES_MAX, - .mh.bufsize = (CDCE_FRAMES_MAX * MCLBYTES), - .mh.flags = {.pipe_bof = 1,.force_short_xfer = 1,.ext_buffer = 1,}, - .mh.callback = cdce_bulk_write_callback, - .mh.timeout = 10000, /* 10 seconds */ - /* Device Mode */ - .md.frames = CDCE_FRAMES_MAX, - .md.bufsize = (CDCE_FRAMES_MAX * MCLBYTES), - .md.flags = {.pipe_bof = 1,.short_frames_ok = 1,.short_xfer_ok = 1,.ext_buffer = 1,}, - .md.callback = cdce_bulk_read_callback, - .md.timeout = 0, /* no timeout */ + .frames = CDCE_FRAMES_MAX, + .bufsize = (CDCE_FRAMES_MAX * MCLBYTES), + .flags = {.pipe_bof = 1,.short_frames_ok = 1,.short_xfer_ok = 1,.ext_buffer = 1,}, + .callback = cdce_bulk_read_callback, + .timeout = 0, /* no timeout */ + .usb_mode = USB_MODE_MAX, /* both modes */ }, - [CDCE_BULK_B] = { + [CDCE_BULK_TX] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_IN, + .direction = UE_DIR_TX, .if_index = 0, - /* Host Mode */ - .mh.frames = CDCE_FRAMES_MAX, - .mh.bufsize = (CDCE_FRAMES_MAX * MCLBYTES), - .mh.flags = {.pipe_bof = 1,.short_frames_ok = 1,.short_xfer_ok = 1,.ext_buffer = 1,}, - .mh.callback = cdce_bulk_read_callback, - .mh.timeout = 0, /* no timeout */ - /* Device Mode */ - .md.frames = CDCE_FRAMES_MAX, - .md.bufsize = (CDCE_FRAMES_MAX * MCLBYTES), - .md.flags = {.pipe_bof = 1,.force_short_xfer = 1,.ext_buffer = 1,}, - .md.callback = cdce_bulk_write_callback, - .md.timeout = 10000, /* 10 seconds */ + .frames = CDCE_FRAMES_MAX, + .bufsize = (CDCE_FRAMES_MAX * MCLBYTES), + .flags = {.pipe_bof = 1,.force_short_xfer = 1,.ext_buffer = 1,}, + .callback = cdce_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ + .usb_mode = USB_MODE_MAX, /* both modes */ + }, + + [CDCE_INTR_RX] = { + .type = UE_INTERRUPT, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_RX, + .if_index = 1, + .bufsize = CDCE_IND_SIZE_MAX, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,.no_pipe_ok = 1,}, + .callback = cdce_intr_read_callback, + .timeout = 0, + .usb_mode = USB_MODE_HOST, }, - [CDCE_INTR] = { + [CDCE_INTR_TX] = { .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, - .direction = UE_DIR_IN, + .direction = UE_DIR_TX, .if_index = 1, - /* Host Mode */ - .mh.bufsize = CDCE_IND_SIZE_MAX, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,.no_pipe_ok = 1,}, - .mh.callback = cdce_intr_read_callback, - .mh.timeout = 0, - /* Device Mode */ - .md.bufsize = CDCE_IND_SIZE_MAX, - .md.flags = {.pipe_bof = 1,.force_short_xfer = 1,.no_pipe_ok = 1,}, - .md.callback = cdce_intr_write_callback, - .md.timeout = 10000, /* 10 seconds */ + .bufsize = CDCE_IND_SIZE_MAX, + .flags = {.pipe_bof = 1,.force_short_xfer = 1,.no_pipe_ok = 1,}, + .callback = cdce_intr_write_callback, + .timeout = 10000, /* 10 seconds */ + .usb_mode = USB_MODE_DEVICE, }, }; @@ -416,8 +411,8 @@ /* * Start the USB transfers, if not already started: */ - usb2_transfer_start(sc->sc_xfer[CDCE_BULK_B]); - usb2_transfer_start(sc->sc_xfer[CDCE_BULK_A]); + usb2_transfer_start(sc->sc_xfer[CDCE_BULK_TX]); + usb2_transfer_start(sc->sc_xfer[CDCE_BULK_RX]); } static void @@ -557,13 +552,11 @@ ifp->if_drv_flags |= IFF_DRV_RUNNING; /* start interrupt transfer */ - usb2_transfer_start(sc->sc_xfer[CDCE_INTR]); + usb2_transfer_start(sc->sc_xfer[CDCE_INTR_RX]); + usb2_transfer_start(sc->sc_xfer[CDCE_INTR_TX]); /* stall data write direction, which depends on USB mode */ - if (usb2_get_mode(sc->sc_ue.ue_udev) == USB_MODE_HOST) - usb2_transfer_set_stall(sc->sc_xfer[CDCE_BULK_A]); - else - usb2_transfer_set_stall(sc->sc_xfer[CDCE_BULK_B]); + usb2_transfer_set_stall(sc->sc_xfer[CDCE_BULK_TX]); /* start data transfers */ cdce_start(ue); @@ -582,9 +575,10 @@ /* * stop all the transfers, if not already stopped: */ - usb2_transfer_stop(sc->sc_xfer[CDCE_BULK_A]); - usb2_transfer_stop(sc->sc_xfer[CDCE_BULK_B]); - usb2_transfer_stop(sc->sc_xfer[CDCE_INTR]); + usb2_transfer_stop(sc->sc_xfer[CDCE_BULK_RX]); + usb2_transfer_stop(sc->sc_xfer[CDCE_BULK_TX]); + usb2_transfer_stop(sc->sc_xfer[CDCE_INTR_RX]); + usb2_transfer_stop(sc->sc_xfer[CDCE_INTR_TX]); } static void ==== //depot/projects/usb/src/sys/dev/usb/net/if_cdcereg.h#2 (text+ko) ==== @@ -39,9 +39,10 @@ #define CDCE_IND_SIZE_MAX 32 /* bytes */ enum { - CDCE_BULK_A, - CDCE_BULK_B, - CDCE_INTR, + CDCE_BULK_RX, + CDCE_BULK_TX, + CDCE_INTR_RX, + CDCE_INTR_TX, CDCE_N_TRANSFER, }; ==== //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#3 (text+ko) ==== @@ -121,19 +121,19 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = (MCLBYTES + 2), - .mh.flags = {.pipe_bof = 1,}, - .mh.callback = cue_bulk_write_callback, - .mh.timeout = 10000, /* 10 seconds */ + .bufsize = (MCLBYTES + 2), + .flags = {.pipe_bof = 1,}, + .callback = cue_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ }, [CUE_BULK_DT_RD] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = (MCLBYTES + 2), - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = cue_bulk_read_callback, + .bufsize = (MCLBYTES + 2), + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .callback = cue_bulk_read_callback, }, }; ==== //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#3 (text+ko) ==== @@ -163,20 +163,20 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = (MCLBYTES + 2 + 64), - .mh.flags = {.pipe_bof = 1,}, - .mh.callback = kue_bulk_write_callback, - .mh.timeout = 10000, /* 10 seconds */ + .bufsize = (MCLBYTES + 2 + 64), + .flags = {.pipe_bof = 1,}, + .callback = kue_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ }, [KUE_BULK_DT_RD] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = (MCLBYTES + 2), - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = kue_bulk_read_callback, - .mh.timeout = 0, /* no timeout */ + .bufsize = (MCLBYTES + 2), + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .callback = kue_bulk_read_callback, + .timeout = 0, /* no timeout */ }, }; ==== //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#3 (text+ko) ==== @@ -141,29 +141,29 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = MCLBYTES, - .mh.flags = {.pipe_bof = 1,.force_short_xfer = 1,}, - .mh.callback = rue_bulk_write_callback, - .mh.timeout = 10000, /* 10 seconds */ + .bufsize = MCLBYTES, + .flags = {.pipe_bof = 1,.force_short_xfer = 1,}, + .callback = rue_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ }, [RUE_BULK_DT_RD] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = (MCLBYTES + 4), - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = rue_bulk_read_callback, - .mh.timeout = 0, /* no timeout */ + .bufsize = (MCLBYTES + 4), + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .callback = rue_bulk_read_callback, + .timeout = 0, /* no timeout */ }, [RUE_INTR_DT_RD] = { .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.bufsize = 0, /* use wMaxPacketSize */ - .mh.callback = rue_intr_callback, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = rue_intr_callback, }, }; ==== //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#3 (text+ko) ==== @@ -101,29 +101,29 @@ .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = (MCLBYTES + 2), - .mh.flags = {.pipe_bof = 1,.force_short_xfer = 1,}, - .mh.callback = udav_bulk_write_callback, - .mh.timeout = 10000, /* 10 seconds */ + .bufsize = (MCLBYTES + 2), + .flags = {.pipe_bof = 1,.force_short_xfer = 1,}, + .callback = udav_bulk_write_callback, + .timeout = 10000, /* 10 seconds */ }, [UDAV_BULK_DT_RD] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = (MCLBYTES + 3), - .mh.flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, - .mh.callback = udav_bulk_read_callback, - .mh.timeout = 0, /* no timeout */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 27 15:44:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A97A21065673; Fri, 27 Mar 2009 15:44: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 67A5C106566B for ; Fri, 27 Mar 2009 15:44:15 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 553568FC1B for ; Fri, 27 Mar 2009 15:44:15 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RFiF0L006165 for ; Fri, 27 Mar 2009 15:44:15 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RFiFJB006163 for perforce@freebsd.org; Fri, 27 Mar 2009 15:44:15 GMT (envelope-from rene@FreeBSD.org) Date: Fri, 27 Mar 2009 15:44:15 GMT Message-Id: <200903271544.n2RFiFJB006163@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159910 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 15:44:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=159910 Change 159910 by rene@rene_self on 2009/03/27 15:44:12 Committers guide: * link to svn book at red-bean.com * mark vcs as replaceable in command tags * language nits Submitted by: trhodes,gabor Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#20 edit Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#20 (text+ko) ==== @@ -240,15 +240,15 @@ It is assumed that you are already familiar with the basic operation of the version control systems in use. Traditionally this was - CVS, but as of June 2008 Subversion is used for the src tree. The + CVS, but as of June 2008, Subversion is used for the src tree. The generic term VCS (or none at all) will be used unless the text is specific to CVS or SVN. The &a.cvsadm; are the owners of the repository and are responsible for direct modification of it for the purposes of - cleanup or fixing some grievous abuse of VCS by a committer. - Should you cause some repository accident, say a bad vcs - import or vcs tag operation, mail the + cleanup or fixing some unfortunate abuse of VCS by a committer. + Should you cause some repository accident, say a bad + import or tag creation, mail the responsible part of &a.cvsadm;, as stated in the table below, (or call one of them) and report the problem. For very important issues affecting the entire tree—not @@ -287,7 +287,7 @@ combined under a single CVSROOT when distributed via CVSup for the convenience of our users. The src tree is automatically exported to - CVSup. + CVS. Note that the www module containing sources for the FreeBSD website is @@ -848,7 +848,8 @@ things missing in Subversion when compared to CVS. The notes at - might also be useful. + might also be useful. Subversion is also described in-depth + in Version Control with Subversion. @@ -904,13 +905,13 @@ review your diffs, using - cvs diff + vcs diff Also, ALWAYS specify which files to commit explicitly on the command line, so you do not accidentally commit other files - than the ones you intended - vcs commit + than the ones you intended - vcs commit without any arguments will commit every modification in your current working directory and every subdirectory. @@ -1288,7 +1289,7 @@ listed MAINTAINER in the Makefile. For other parts of the repository, if you are unsure who the active maintainer might - be, it may help to scan the output of vcs log + be, it may help to scan the output of vcs log to see who has committed changes in the past. &a.fenner; has written a nice shell script that can help determine who the active maintainer might be. It lists each person who has @@ -2221,7 +2222,7 @@ Do not mix style fixes with new functionality. A style fix is any change which does not modify the functionality of the code. Mixing the changes obfuscates the functionality - change when using vcs diff, which can hide + change when using vcs diff, which can hide any new bugs. Do not include whitespace changes with content changes in commits to doc/ or www/. The extra clutter in the diffs @@ -3319,7 +3320,7 @@ To add a file onto a branch, simply checkout or update to the branch you want to add to and then add the file using - vcs add as you normally would. This works + vcs add as you normally would. This works fine for the doc and ports trees. The src tree uses SVN and requires more care because of the From owner-p4-projects@FreeBSD.ORG Fri Mar 27 18:13:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A462106567E; Fri, 27 Mar 2009 18:13: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 BC7C9106567C for ; Fri, 27 Mar 2009 18:13:49 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A46F58FC08 for ; Fri, 27 Mar 2009 18:13:49 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RIDmnY030581 for ; Fri, 27 Mar 2009 18:13:48 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RIDkmm030576 for perforce@freebsd.org; Fri, 27 Mar 2009 18:13:46 GMT (envelope-from thompsa@freebsd.org) Date: Fri, 27 Mar 2009 18:13:46 GMT Message-Id: <200903271813.n2RIDkmm030576@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 159915 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 18:13:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=159915 Change 159915 by thompsa@thompsa_burger on 2009/03/27 18:13:16 IFC @159914 Affected files ... .. //depot/projects/usb/src/sys/amd64/amd64/fpu.c#7 integrate .. //depot/projects/usb/src/sys/amd64/amd64/machdep.c#15 integrate .. //depot/projects/usb/src/sys/amd64/linux32/linux.h#11 integrate .. //depot/projects/usb/src/sys/cddl/dev/dtnfsclient/dtnfsclient.c#2 delete .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#15 integrate .. //depot/projects/usb/src/sys/compat/linprocfs/linprocfs.c#17 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_file.c#12 integrate .. //depot/projects/usb/src/sys/conf/files.amd64#19 integrate .. //depot/projects/usb/src/sys/conf/files.i386#21 integrate .. //depot/projects/usb/src/sys/dev/acpica/acpi_cpu.c#8 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_irq.c#9 integrate .. //depot/projects/usb/src/sys/dev/ed/if_ed.c#5 integrate .. //depot/projects/usb/src/sys/dev/ed/if_ed_pccard.c#7 integrate .. //depot/projects/usb/src/sys/dev/fe/if_fe_pccard.c#5 integrate .. //depot/projects/usb/src/sys/dev/ipmi/ipmi_linux.c#1 branch .. //depot/projects/usb/src/sys/dev/pccard/pccarddevs#12 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_endian.h#4 integrate .. //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#9 integrate .. //depot/projects/usb/src/sys/dev/wpi/if_wpireg.h#3 integrate .. //depot/projects/usb/src/sys/geom/label/g_label.c#3 integrate .. //depot/projects/usb/src/sys/geom/label/g_label.h#2 integrate .. //depot/projects/usb/src/sys/geom/label/g_label_ufs.c#3 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_apm.c#11 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_bsd.c#10 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_ebr.c#4 integrate .. //depot/projects/usb/src/sys/i386/i386/machdep.c#13 integrate .. //depot/projects/usb/src/sys/i386/isa/npx.c#11 integrate .. //depot/projects/usb/src/sys/kern/kern_jail.c#17 integrate .. //depot/projects/usb/src/sys/kern/subr_bus.c#21 integrate .. //depot/projects/usb/src/sys/kern/vfs_mount.c#19 integrate .. //depot/projects/usb/src/sys/modules/dtrace/dtnfsclient/Makefile#2 integrate .. //depot/projects/usb/src/sys/modules/ipmi/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/ipmi/ipmi_linux/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/linprocfs/Makefile#4 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211.h#13 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_output.c#19 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_proto.h#12 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_superg.c#2 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_superg.h#2 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_tdma.c#7 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_tdma.h#4 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_kdtrace.c#1 branch .. //depot/projects/usb/src/sys/pc98/pc98/machdep.c#11 integrate .. //depot/projects/usb/src/sys/sys/jail.h#11 integrate .. //depot/projects/usb/src/sys/ufs/ffs/ffs_vnops.c#13 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/amd64/fpu.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.164 2009/03/25 14:17:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.165 2009/03/25 22:08:30 jhb Exp $"); #include #include @@ -480,7 +480,6 @@ s = intr_disable(); if (td == PCPU_GET(fpcurthread)) { - fpu_clean_state(); fxrstor(addr); intr_restore(s); } else { @@ -499,10 +498,10 @@ * In order to avoid leaking this information across processes, we clean * these values by performing a dummy load before executing fxrstor(). */ -static double dummy_variable = 0.0; static void fpu_clean_state(void) { + static float dummy_variable = 0.0; u_short status; /* ==== //depot/projects/usb/src/sys/amd64/amd64/machdep.c#15 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.693 2009/03/11 15:30:12 dfr Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.694 2009/03/26 18:07:13 kib Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -818,87 +818,86 @@ /* software prototypes -- in more palatable form */ struct soft_segment_descriptor gdt_segs[] = { /* GNULL_SEL 0 Null Descriptor */ -{ 0x0, /* segment base address */ - 0x0, /* length */ - 0, /* segment type */ - 0, /* segment descriptor priority level */ - 0, /* segment descriptor present */ - 0, /* long */ - 0, /* default 32 vs 16 bit size */ - 0 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0x0, + .ssd_type = 0, + .ssd_dpl = 0, + .ssd_p = 0, + .ssd_long = 0, + .ssd_def32 = 0, + .ssd_gran = 0 }, /* GCODE_SEL 1 Code Descriptor for kernel */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMERA, /* segment type */ - SEL_KPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 1, /* long */ - 0, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMERA, + .ssd_dpl = SEL_KPL, + .ssd_p = 1, + .ssd_long = 1, + .ssd_def32 = 0, + .ssd_gran = 1 }, /* GDATA_SEL 2 Data Descriptor for kernel */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMRWA, /* segment type */ - SEL_KPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 1, /* long */ - 0, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMRWA, + .ssd_dpl = SEL_KPL, + .ssd_p = 1, + .ssd_long = 1, + .ssd_def32 = 0, + .ssd_gran = 1 }, /* GUCODE32_SEL 3 32 bit Code Descriptor for user */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMERA, /* segment type */ - SEL_UPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 0, /* long */ - 1, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMERA, + .ssd_dpl = SEL_UPL, + .ssd_p = 1, + .ssd_long = 0, + .ssd_def32 = 1, + .ssd_gran = 1 }, /* GUDATA_SEL 4 32/64 bit Data Descriptor for user */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMRWA, /* segment type */ - SEL_UPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 0, /* long */ - 1, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMRWA, + .ssd_dpl = SEL_UPL, + .ssd_p = 1, + .ssd_long = 0, + .ssd_def32 = 1, + .ssd_gran = 1 }, /* GUCODE_SEL 5 64 bit Code Descriptor for user */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMERA, /* segment type */ - SEL_UPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 1, /* long */ - 0, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMERA, + .ssd_dpl = SEL_UPL, + .ssd_p = 1, + .ssd_long = 1, + .ssd_def32 = 0, + .ssd_gran = 1 }, /* GPROC0_SEL 6 Proc 0 Tss Descriptor */ -{ - 0x0, /* segment base address */ - sizeof(struct amd64tss)-1,/* length */ - SDT_SYSTSS, /* segment type */ - SEL_KPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 0, /* long */ - 0, /* unused - default 32 vs 16 bit size */ - 0 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = sizeof(struct amd64tss)-1, + .ssd_type = SDT_SYSTSS, + .ssd_dpl = SEL_KPL, + .ssd_p = 1, + .ssd_long = 0, + .ssd_def32 = 0, + .ssd_gran = 0 }, /* Actually, the TSS is a system descriptor which is double size */ -{ 0x0, /* segment base address */ - 0x0, /* length */ - 0, /* segment type */ - 0, /* segment descriptor priority level */ - 0, /* segment descriptor present */ - 0, /* long */ - 0, /* default 32 vs 16 bit size */ - 0 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0x0, + .ssd_type = 0, + .ssd_dpl = 0, + .ssd_p = 0, + .ssd_long = 0, + .ssd_def32 = 0, + .ssd_gran = 0 }, /* GUGS32_SEL 8 32 bit GS Descriptor for user */ -{ 0x0, /* segment base address */ - 0xfffff, /* length - all address space */ - SDT_MEMRWA, /* segment type */ - SEL_UPL, /* segment descriptor priority level */ - 1, /* segment descriptor present */ - 0, /* long */ - 1, /* default 32 vs 16 bit size */ - 1 /* limit granularity (byte/page units)*/ }, +{ .ssd_base = 0x0, + .ssd_limit = 0xfffff, + .ssd_type = SDT_MEMRWA, + .ssd_dpl = SEL_UPL, + .ssd_p = 1, + .ssd_long = 0, + .ssd_def32 = 1, + .ssd_gran = 1 }, }; void ==== //depot/projects/usb/src/sys/amd64/linux32/linux.h#11 (text+ko) ==== @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.23 2009/03/04 12:14:33 dchagin Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.25 2009/03/27 17:00:49 ambrisko Exp $ */ #ifndef _AMD64_LINUX_H_ @@ -179,8 +179,8 @@ l_int prot; l_int flags; l_int fd; - l_off_t pgoff; -} __packed; + l_ulong pgoff; +}; /* * stat family of syscalls ==== //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.87 2009/03/02 23:26:30 jamie Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.88 2009/03/27 13:13:59 jamie Exp $"); #include "opt_compat.h" @@ -2043,8 +2043,9 @@ error = copyin(uap->jail, &version, sizeof(uint32_t)); if (error) return (error); + switch (version) { - case 0: + case 0: { /* FreeBSD single IPv4 jails. */ struct jail32_v0 j32_v0; ==== //depot/projects/usb/src/sys/compat/linprocfs/linprocfs.c#17 (text+ko) ==== @@ -43,7 +43,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.136 2009/02/27 14:12:05 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.137 2009/03/26 17:14:22 ambrisko Exp $"); #include #include @@ -75,6 +75,7 @@ #include #include #include +#include #include #include @@ -90,6 +91,9 @@ #include +#include +#include + #if defined(__i386__) || defined(__amd64__) #include #include @@ -359,6 +363,9 @@ sbuf_printf(sb, "/sys %s sysfs %s", mntto, mp->mnt_stat.f_flags & MNT_RDONLY ? "ro" : "rw"); } else { + /* For Linux msdosfs is called vfat */ + if (strcmp(fstype, "msdosfs") == 0) + fstype = "vfat"; sbuf_printf(sb, "%s %s %s %s", mntfrom, mntto, fstype, mp->mnt_stat.f_flags & MNT_RDONLY ? "ro" : "rw"); } @@ -383,6 +390,69 @@ } /* + * Filler function for proc/partitions + * + */ +static int +linprocfs_dopartitions(PFS_FILL_ARGS) +{ + struct g_class *cp; + struct g_geom *gp; + struct g_provider *pp; + struct nameidata nd; + const char *lep; + char *dlep, *flep; + size_t lep_len; + int error; + int major, minor; + + /* resolve symlinks etc. in the emulation tree prefix */ + NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, UIO_SYSSPACE, linux_emul_path, td); + flep = NULL; + error = namei(&nd); + lep = linux_emul_path; + if (error == 0) { + if (vn_fullpath(td, nd.ni_vp, &dlep, &flep) == 0) + lep = dlep; + vrele(nd.ni_vp); + VFS_UNLOCK_GIANT(NDHASGIANT(&nd)); + } + lep_len = strlen(lep); + + g_topology_lock(); + error = 0; + sbuf_printf(sb, "major minor #blocks name rio rmerge rsect " + "ruse wio wmerge wsect wuse running use aveq\n"); + + LIST_FOREACH(cp, &g_classes, class) { + if (strcmp(cp->name, "DISK") == 0 || + strcmp(cp->name, "PART") == 0) + LIST_FOREACH(gp, &cp->geom, geom) { + LIST_FOREACH(pp, &gp->provider, provider) { + if (linux_driver_get_major_minor( + pp->name, &major, &minor) != 0) { + major = 0; + minor = 0; + } + sbuf_printf(sb, "%d %d %lld %s " + "%d %d %d %d %d " + "%d %d %d %d %d %d\n", + major, minor, + (long long)pp->mediasize, pp->name, + 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0); + } + } + } + g_topology_unlock(); + + if (flep != NULL) + free(flep, M_TEMP); + return (error); +} + + +/* * Filler function for proc/stat */ static int @@ -1206,6 +1276,8 @@ NULL, NULL, NULL, PFS_RD); pfs_create_file(root, "mtab", &linprocfs_domtab, NULL, NULL, NULL, PFS_RD); + pfs_create_file(root, "partitions", &linprocfs_dopartitions, + NULL, NULL, NULL, PFS_RD); pfs_create_link(root, "self", &procfs_docurproc, NULL, NULL, NULL, 0); pfs_create_file(root, "stat", &linprocfs_dostat, ==== //depot/projects/usb/src/sys/compat/linux/linux_file.c#12 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.117 2009/02/13 18:18:14 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.118 2009/03/26 17:14:22 ambrisko Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -1109,6 +1109,9 @@ } else if (strcmp(fstypename, "proc") == 0) { strcpy(fstypename, "linprocfs"); fsdata = NULL; + } else if (strcmp(fstypename, "vfat") == 0) { + strcpy(fstypename, "msdosfs"); + fsdata = NULL; } else { return (ENODEV); } @@ -1135,6 +1138,12 @@ "fstype", fstypename, "fspath", mntonname, NULL); + } else if (strcmp(fstypename, "msdosfs") == 0) { + error = kernel_vmount(fsflags, + "fstype", fstypename, + "fspath", mntonname, + "from", mntfromname, + NULL); } else error = EOPNOTSUPP; return (error); ==== //depot/projects/usb/src/sys/conf/files.amd64#19 (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.133 2009/03/17 00:48:11 jkim Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.135 2009/03/26 20:23:21 ambrisko Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -183,6 +183,7 @@ dev/ipmi/ipmi_smbios.c optional ipmi dev/ipmi/ipmi_ssif.c optional ipmi smbus dev/ipmi/ipmi_pci.c optional ipmi pci +dev/ipmi/ipmi_linux.c optional ipmi compat_linux32 dev/fdc/fdc.c optional fdc dev/fdc/fdc_acpi.c optional fdc dev/fdc/fdc_isa.c optional fdc isa ==== //depot/projects/usb/src/sys/conf/files.i386#21 (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.617 2009/03/15 14:21:05 rwatson Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.619 2009/03/26 20:23:21 ambrisko Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -196,6 +196,7 @@ dev/ipmi/ipmi_smbios.c optional ipmi dev/ipmi/ipmi_ssif.c optional ipmi smbus dev/ipmi/ipmi_pci.c optional ipmi pci +dev/ipmi/ipmi_linux.c optional ipmi compat_linux dev/kbd/kbd.c optional atkbd | sc | ukbd | usb2_input_kbd dev/le/if_le_isa.c optional le isa dev/mem/memutil.c optional mem ==== //depot/projects/usb/src/sys/dev/acpica/acpi_cpu.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.73 2009/02/19 14:39:52 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.74 2009/03/26 21:10:35 jhb Exp $"); #include "opt_acpi.h" #include @@ -609,10 +609,6 @@ sc->cpu_cx_count++; } } - - /* Update the largest cx_count seen so far */ - if (sc->cpu_cx_count > cpu_cx_count) - cpu_cx_count = sc->cpu_cx_count; } /* @@ -752,6 +748,8 @@ for (i = 0; i < cpu_ndevices; i++) { sc = device_get_softc(cpu_devices[i]); acpi_cpu_generic_cx_probe(sc); + if (sc->cpu_cx_count > cpu_cx_count) + cpu_cx_count = sc->cpu_cx_count; } /* ==== //depot/projects/usb/src/sys/dev/drm/drm_irq.c#9 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/drm/drm_irq.c,v 1.13 2009/03/25 01:50:56 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/drm_irq.c,v 1.14 2009/03/26 02:10:18 rnoland Exp $"); /** @file drm_irq.c * Support code for handling setup/teardown of interrupt handlers and @@ -463,16 +463,19 @@ } else { DRM_DEBUG("waiting on vblank count %d, crtc %d\n", vblwait->request.sequence, crtc); - mtx_lock(&dev->irq_lock); dev->vblank[crtc].last = vblwait->request.sequence; for ( ret = 0 ; !ret && !(((drm_vblank_count(dev, crtc) - vblwait->request.sequence) <= (1 << 23)) || !dev->irq_enabled) ; ) { - ret = mtx_sleep(&dev->vblank[crtc].queue, - &dev->irq_lock, PCATCH, "vblwtq", - 3 * DRM_HZ); + mtx_lock(&dev->irq_lock); + if (!(((drm_vblank_count(dev, crtc) - + vblwait->request.sequence) <= (1 << 23)) || + !dev->irq_enabled)) + ret = mtx_sleep(&dev->vblank[crtc].queue, + &dev->irq_lock, PCATCH, "vblwtq", + 3 * DRM_HZ); + mtx_unlock(&dev->irq_lock); } - mtx_unlock(&dev->irq_lock); if (ret != EINTR && ret != ERESTART) { struct timeval now; ==== //depot/projects/usb/src/sys/dev/ed/if_ed.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.272 2008/08/06 22:22:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.274 2009/03/26 17:36:19 imp Exp $"); /* * Device driver for National Semiconductor DS8390/WD83C690 based ethernet @@ -389,7 +389,8 @@ callout_drain(&sc->tick_ch); ether_ifdetach(ifp); } - bus_teardown_intr(dev, sc->irq_res, sc->irq_handle); + if (sc->irq_res != NULL && sc->irq_handle) + bus_teardown_intr(dev, sc->irq_res, sc->irq_handle); ed_release_resources(dev); ED_LOCK_DESTROY(sc); bus_generic_detach(dev); @@ -806,14 +807,15 @@ /* * Length is a wild value. There's a good chance that * this was caused by the NIC being old and buggy. - * The bug is that the length low byte is duplicated in - * the high byte. Try to recalculate the length based on - * the pointer to the next packet. + * The bug is that the length low byte is duplicated + * in the high byte. Try to recalculate the length + * based on the pointer to the next packet. Also, + * need ot preserve offset into page. + * + * NOTE: sc->next_packet is pointing at the current + * packet. */ - /* - * NOTE: sc->next_packet is pointing at the current packet. - */ - len &= ED_PAGE_SIZE - 1; /* preserve offset into page */ + len &= ED_PAGE_SIZE - 1; if (packet_hdr.next_packet >= sc->next_packet) len += (packet_hdr.next_packet - sc->next_packet) * ED_PAGE_SIZE; @@ -834,14 +836,14 @@ } /* - * Be fairly liberal about what we allow as a "reasonable" length - * so that a [crufty] packet will make it to BPF (and can thus - * be analyzed). Note that all that is really important is that - * we have a length that will fit into one mbuf cluster or less; - * the upper layer protocols can then figure out the length from - * their own length field(s). - * But make sure that we have at least a full ethernet header - * or we would be unable to call ether_input() later. + * Be fairly liberal about what we allow as a "reasonable" + * length so that a [crufty] packet will make it to BPF (and + * can thus be analyzed). Note that all that is really + * important is that we have a length that will fit into one + * mbuf cluster or less; the upper layer protocols can then + * figure out the length from their own length field(s). But + * make sure that we have at least a full ethernet header or + * we would be unable to call ether_input() later. */ if ((len >= sizeof(struct ed_ring) + ETHER_HDR_LEN) && (len <= MCLBYTES) && ==== //depot/projects/usb/src/sys/dev/ed/if_ed_pccard.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ed/if_ed_pccard.c,v 1.116 2009/03/12 06:35:00 imp Exp $ + * $FreeBSD: src/sys/dev/ed/if_ed_pccard.c,v 1.117 2009/03/25 22:21:38 imp Exp $ */ /* @@ -206,6 +206,7 @@ { PCMCIA_CARD(RACORE, FASTENET), NE2000DVF_AX88X90}, { PCMCIA_CARD(RACORE, 8041TX), NE2000DVF_AX88X90 | NE2000DVF_TC5299J}, { PCMCIA_CARD(RELIA, COMBO), 0}, + { PCMCIA_CARD(RIOS, PCCARD3), 0}, { PCMCIA_CARD(RPTI, EP400), 0}, { PCMCIA_CARD(RPTI, EP401), 0}, { PCMCIA_CARD(SMC, EZCARD), 0}, ==== //depot/projects/usb/src/sys/dev/fe/if_fe_pccard.c#5 (text+ko) ==== @@ -22,7 +22,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fe/if_fe_pccard.c,v 1.37 2009/03/15 02:31:34 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fe/if_fe_pccard.c,v 1.38 2009/03/25 22:12:07 imp Exp $"); #include #include @@ -73,6 +73,7 @@ { PCMCIA_CARD(FUJITSU2, FMV_J182A), 0 }, { PCMCIA_CARD(FUJITSU2, ITCFJ182A), 0 }, /* These need to be second */ + { PCMCIA_CARD(TDK, LAK_CD011), 0 }, { PCMCIA_CARD(TDK, LAK_CD021BX), 0 }, { PCMCIA_CARD(TDK, LAK_CF010), 0 }, #if 0 /* XXX 86960-based? */ ==== //depot/projects/usb/src/sys/dev/pccard/pccarddevs#12 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/pccard/pccarddevs,v 1.139 2009/03/25 07:26:24 imp Exp $ +$FreeBSD: src/sys/dev/pccard/pccarddevs,v 1.140 2009/03/25 22:20:36 imp Exp $ /* $NetBSD: pcmciadevs,v 1.226 2008/06/19 18:20:33 imp Exp $ */ /* $OpenBSD: pcmciadevs,v 1.93 2002/06/21 08:31:10 henning Exp $ */ @@ -181,6 +181,7 @@ * with '0xc' look coherent enough that maybe somebody other than PCMCIA is * assigning numbers in that range. Maybe JEITA? */ +vendor RIOS 0x492f RIOS Systems Co vendor AIRVAST 0x50c2 AirVast Technology vendor ARCHOS 0x5241 Archos vendor DUAL 0x890f Dual @@ -545,6 +546,9 @@ /* RELIA Technologies Corporation */ product RELIA COMBO 0x2452 Reliable Combo-L/M-56K +/* RIOS Systems Co */ +product RIOS PCCARD3 0x0000 PC Card Ethernet + /* Roland */ product ROLAND SCP55 0x0001 Roland SCP-55 ==== //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ohci.c,v 1.5 2009/03/20 21:57:54 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/controller/ohci.c,v 1.6 2009/03/27 16:56:01 thompsa Exp $"); /* * USB Open Host Controller driver. @@ -1350,9 +1350,12 @@ temp->td_flags &= ~htole32(OHCI_TD_TOGGLE_MASK); if (average == 0) { - + /* + * The buffer start and end phys addresses should be + * 0x0 for a zero length packet. + */ td->td_cbp = 0; - td->td_be = ~0; + td->td_be = 0; td->len = 0; } else { ==== //depot/projects/usb/src/sys/dev/usb/usb_endian.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/usb/usb_endian.h,v 1.2 2009/03/20 18:59:53 thompsa Exp $ */ +/* $FreeBSD: src/sys/dev/usb/usb_endian.h,v 1.3 2009/03/21 05:44:22 thompsa Exp $ */ /* * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * @@ -48,19 +48,19 @@ #define UGETW(w) \ ((w)[0] | \ - (((uint16_t)((w)[1])) << 8)) + ((w)[1] << 8)) #define UGETDW(w) \ ((w)[0] | \ - (((uint16_t)((w)[1])) << 8) | \ - (((uint32_t)((w)[2])) << 16) | \ - (((uint32_t)((w)[3])) << 24)) + ((w)[1] << 8) | \ + ((w)[2] << 16) | \ + ((w)[3] << 24)) #define UGETQW(w) \ ((w)[0] | \ - (((uint16_t)((w)[1])) << 8) | \ - (((uint32_t)((w)[2])) << 16) | \ - (((uint32_t)((w)[3])) << 24) | \ + ((w)[1] << 8) | \ + ((w)[2] << 16) | \ + ((w)[3] << 24) | \ (((uint64_t)((w)[4])) << 32) | \ (((uint64_t)((w)[5])) << 40) | \ (((uint64_t)((w)[6])) << 48) | \ ==== //depot/projects/usb/src/sys/dev/wpi/if_wpi.c#9 (text+ko) ==== @@ -19,7 +19,7 @@ #define VERSION "20071127" #include -__FBSDID("$FreeBSD: src/sys/dev/wpi/if_wpi.c,v 1.19 2009/02/13 16:17:05 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wpi/if_wpi.c,v 1.21 2009/03/27 05:44:53 jmallett Exp $"); /* * Driver for Intel PRO/Wireless 3945ABG 802.11 network adapters. @@ -1473,6 +1473,20 @@ le16toh(head->len), (int8_t)stat->rssi, head->rate, head->chan, (uintmax_t)le64toh(tail->tstamp))); + /* discard Rx frames with bad CRC early */ + if ((le32toh(tail->flags) & WPI_RX_NOERROR) != WPI_RX_NOERROR) { + DPRINTFN(WPI_DEBUG_RX, ("%s: rx flags error %x\n", __func__, + le32toh(tail->flags))); + ifp->if_ierrors++; + return; + } + if (le16toh(head->len) < sizeof (struct ieee80211_frame)) { + DPRINTFN(WPI_DEBUG_RX, ("%s: frame too short: %d\n", __func__, + le16toh(head->len))); + ifp->if_ierrors++; + return; + } + /* XXX don't need mbuf, just dma buffer */ mnew = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, MJUMPAGESIZE); if (mnew == NULL) { @@ -1573,7 +1587,7 @@ */ wn->amn.amn_txcnt++; if (stat->ntries > 0) { - DPRINTFN(3, ("%d retries\n", stat->ntries)); + DPRINTFN(WPI_DEBUG_TX, ("%d retries\n", stat->ntries)); wn->amn.amn_retrycnt++; } @@ -2029,7 +2043,7 @@ return; for (;;) { - IFQ_POLL(&ifp->if_snd, m); + IFQ_DRV_DEQUEUE(&ifp->if_snd, m); if (m == NULL) break; /* no QoS encapsulation for EAPOL frames */ @@ -2040,7 +2054,6 @@ ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } - IFQ_DRV_DEQUEUE(&ifp->if_snd, m); ni = (struct ieee80211_node *) m->m_pkthdr.rcvif; m = ieee80211_encap(ni, m); if (m == NULL) { ==== //depot/projects/usb/src/sys/dev/wpi/if_wpireg.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/wpi/if_wpireg.h,v 1.3 2008/03/10 23:16:48 thompsa Exp $ */ +/* $FreeBSD: src/sys/dev/wpi/if_wpireg.h,v 1.4 2009/03/27 03:17:25 jmallett Exp $ */ /*- * Copyright (c) 2006,2007 @@ -235,12 +235,10 @@ struct wpi_rx_tail { uint32_t flags; -#if 0 #define WPI_RX_NO_CRC_ERR (1 << 0) #define WPI_RX_NO_OVFL_ERR (1 << 1) /* shortcut for the above */ #define WPI_RX_NOERROR (WPI_RX_NO_CRC_ERR | WPI_RX_NO_OVFL_ERR) -#endif uint64_t tstamp; uint32_t tbeacon; } __packed; ==== //depot/projects/usb/src/sys/geom/label/g_label.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/label/g_label.c,v 1.21 2006/08/12 15:30:24 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/label/g_label.c,v 1.22 2009/03/25 20:38:57 ivoras Exp $"); #include #include @@ -77,7 +77,8 @@ * 6. Add your file system to manual page sbin/geom/class/label/glabel.8. */ const struct g_label_desc *g_labels[] = { - &g_label_ufs, + &g_label_ufs_id, + &g_label_ufs_volume, &g_label_iso9660, &g_label_msdosfs, &g_label_ext2fs, ==== //depot/projects/usb/src/sys/geom/label/g_label.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/geom/label/g_label.h,v 1.7 2006/02/01 12:06:00 pjd Exp $ + * $FreeBSD: src/sys/geom/label/g_label.h,v 1.8 2009/03/25 20:38:57 ivoras Exp $ */ #ifndef _G_LABEL_H_ @@ -64,7 +64,8 @@ }; /* Supported labels. */ -extern const struct g_label_desc g_label_ufs; +extern const struct g_label_desc g_label_ufs_id; +extern const struct g_label_desc g_label_ufs_volume; extern const struct g_label_desc g_label_iso9660; extern const struct g_label_desc g_label_msdosfs; extern const struct g_label_desc g_label_ext2fs; ==== //depot/projects/usb/src/sys/geom/label/g_label_ufs.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/label/g_label_ufs.c,v 1.11 2006/09/16 11:24:41 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/label/g_label_ufs.c,v 1.12 2009/03/25 20:38:57 ivoras Exp $"); #include #include @@ -39,12 +39,16 @@ #include #include -#define G_LABEL_UFS_DIR "ufs" +#define G_LABEL_UFS_VOLUME_DIR "ufs" +#define G_LABEL_UFS_ID_DIR "ufsid" + +#define G_LABEL_UFS_VOLUME 0 +#define G_LABEL_UFS_ID 1 static const int superblocks[] = SBLOCKSEARCH; static void -g_label_ufs_taste(struct g_consumer *cp, char *label, size_t size) +g_label_ufs_taste_common(struct g_consumer *cp, char *label, size_t size, int what) { struct g_provider *pp; int sb, superblock; @@ -96,18 +100,50 @@ } G_LABEL_DEBUG(1, "%s file system detected on %s.", fs->fs_magic == FS_UFS1_MAGIC ? "UFS1" : "UFS2", pp->name); - /* Check for volume label */ - if (fs->fs_volname[0] == '\0') { - g_free(fs); - continue; + switch (what) { + case G_LABEL_UFS_VOLUME: + /* Check for volume label */ + if (fs->fs_volname[0] == '\0') { + g_free(fs); + continue; + } + strlcpy(label, fs->fs_volname, size); + break; + case G_LABEL_UFS_ID: + if (fs->fs_id[0] == 0 && fs->fs_id[1] == 0) { + g_free(fs); + continue; + } + snprintf(label, size, "%08x%08x", fs->fs_id[0], + fs->fs_id[1]); + break; } - strlcpy(label, fs->fs_volname, size); g_free(fs); break; } } -const struct g_label_desc g_label_ufs = { - .ld_taste = g_label_ufs_taste, - .ld_dir = G_LABEL_UFS_DIR +static void +g_label_ufs_volume_taste(struct g_consumer *cp, char *label, size_t size) +{ + + g_label_ufs_taste_common(cp, label, size, G_LABEL_UFS_VOLUME); +} + +static void +g_label_ufs_id_taste(struct g_consumer *cp, char *label, size_t size) +{ + + g_label_ufs_taste_common(cp, label, size, G_LABEL_UFS_ID); +} + + +const struct g_label_desc g_label_ufs_volume = { + .ld_taste = g_label_ufs_volume_taste, + .ld_dir = G_LABEL_UFS_VOLUME_DIR +}; + +const struct g_label_desc g_label_ufs_id = { + .ld_taste = g_label_ufs_id_taste, + .ld_dir = G_LABEL_UFS_ID_DIR }; ==== //depot/projects/usb/src/sys/geom/part/g_part_apm.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/part/g_part_apm.c,v 1.10 2009/02/10 02:43:07 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/part/g_part_apm.c,v 1.11 2009/03/27 05:35:25 svn Exp $"); #include #include @@ -216,6 +216,11 @@ { struct g_provider *pp; struct g_part_apm_table *table; + uint32_t last; + + /* We don't nest, which means that our depth should be 0. */ + if (basetable->gpt_depth != 0) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 27 20:05:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81C00106567A; Fri, 27 Mar 2009 20:05:47 +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 3AB771065673 for ; Fri, 27 Mar 2009 20:05:47 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 283EA8FC1F for ; Fri, 27 Mar 2009 20:05:47 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RK5lX1042288 for ; Fri, 27 Mar 2009 20:05:47 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RK5lgu042286 for perforce@freebsd.org; Fri, 27 Mar 2009 20:05:47 GMT (envelope-from trasz@freebsd.org) Date: Fri, 27 Mar 2009 20:05:47 GMT Message-Id: <200903272005.n2RK5lgu042286@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 159919 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 20:05:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=159919 Change 159919 by trasz@trasz_victim7 on 2009/03/27 20:05:28 Rename unixify_vaccess(). Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#15 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_posix1e.c#11 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#26 edit .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#20 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#15 (text+ko) ==== @@ -3969,7 +3969,7 @@ int error; accmode_t accmode = ap->a_accmode; - if (unixify_vaccess(&accmode, &error)) + if (vfs_unixify_accmode(&accmode, &error)) return (error); /* ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_posix1e.c#11 (text+ko) ==== @@ -71,7 +71,7 @@ if (privused != NULL) *privused = 0; - if (unixify_vaccess(&accmode, &error)) + if (vfs_unixify_accmode(&accmode, &error)) return (error); /* ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#26 (text+ko) ==== @@ -3548,7 +3548,7 @@ dac_granted = 0; - if (unixify_vaccess(&accmode, &error)) + if (vfs_unixify_accmode(&accmode, &error)) return (error); /* Check the owner. */ @@ -4274,8 +4274,9 @@ } /* - * The purpose of this routine is to remove granularity from vaccess_t, - * reducing it into standard unix access bits. + * The purpose of this routine is to remove granularity from accmode_t, + * reducing it into standard unix access bits - VEXEC, VREAD, VWRITE + * and VADMIN. * * This routine is supposed to be called from the beginning of vaccess * implementations that don't know anything about granularity. If it @@ -4283,7 +4284,7 @@ * puts into variable pointed to by "error". */ int -unixify_vaccess(accmode_t *accmode, int *error) +vfs_unixify_accmode(accmode_t *accmode, int *error) { /* * Unix does not provide any explicit "deny" access rules. ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#20 (text+ko) ==== @@ -629,7 +629,7 @@ int vaccess_acl_nfs4(enum vtype type, uid_t file_uid, gid_t file_gid, struct acl *acl, accmode_t accmode, struct ucred *cred, int *privused); -int unixify_vaccess(accmode_t *accmode, int *error); +int vfs_unixify_accmode(accmode_t *accmode, int *error); void vattr_null(struct vattr *vap); int vcount(struct vnode *vp); void vdrop(struct vnode *); From owner-p4-projects@FreeBSD.ORG Fri Mar 27 20:15:59 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3822B1065672; Fri, 27 Mar 2009 20:15:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2B99106566C for ; Fri, 27 Mar 2009 20:15:57 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B6FE28FC25 for ; Fri, 27 Mar 2009 20:15:57 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RKFv4b043020 for ; Fri, 27 Mar 2009 20:15:57 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RKFvWe043018 for perforce@freebsd.org; Fri, 27 Mar 2009 20:15:57 GMT (envelope-from trasz@freebsd.org) Date: Fri, 27 Mar 2009 20:15:57 GMT Message-Id: <200903272015.n2RKFvWe043018@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 159921 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 20:16:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=159921 Change 159921 by trasz@trasz_victim7 on 2009/03/27 20:15:03 Clean up sys/acl.h a little - remove Darwin compatibility defines and tweak a comment. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#28 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/acl.h#28 (text+ko) ==== @@ -115,12 +115,13 @@ int acl_magic; int acl_cnt; int acl_length; + /* Will be required e.g. to implement NFSv4.1 ACL inheritance. */ int acl_spare_field; struct acl_entry acl_entry[ACL_MAX_ENTRIES]; }; /* - * External ACL structure, used in API for userland applications (acl(3)). + * ACL structure internal to libc. */ struct acl_t_struct { struct acl ats_acl; @@ -198,23 +199,17 @@ #define ACL_APPEND_DATA 0x00040000 #define ACL_ADD_SUBDIRECTORY 0x00040000 #define ACL_READ_NAMED_ATTRS 0x00080000 -#define ACL_READ_EXTATTRIBUTES ACL_READ_NAMED_ATTRS /* Darwin compatibility. */ #define ACL_WRITE_NAMED_ATTRS 0x00100000 -#define ACL_WRITE_EXTATTRIBUTES ACL_WRITE_NAMED_ATTRS /* Darwin compatibility. */ #ifdef XXX_conflicting_defines #define ACL_EXECUTE 0x00200000 #endif -#define ACL_SEARCH ACL_EXECUTE /* Darwin compatibility. */ #define ACL_DELETE_CHILD 0x00400000 #define ACL_READ_ATTRIBUTES 0x00800000 #define ACL_WRITE_ATTRIBUTES 0x01000000 #define ACL_DELETE 0x02000000 #define ACL_READ_ACL 0x04000000 -#define ACL_READ_SECURITY ACL_READ_ACL /* Darwin compatibility. */ #define ACL_WRITE_ACL 0x08000000 -#define ACL_WRITE_SECURITY ACL_WRITE_ACL /* Darwin compatibility. */ #define ACL_WRITE_OWNER 0x10000000 -#define ACL_CHANGE_OWNER ACL_WRITE_OWNER /* Darwin compatibility. */ #define ACL_SYNCHRONIZE 0x20000000 #define ACL_NFS4_PERM_BITS (ACL_READ_DATA | ACL_WRITE_DATA | ACL_APPEND_DATA | \ @@ -223,7 +218,7 @@ ACL_WRITE_ACL | ACL_WRITE_OWNER | ACL_SYNCHRONIZE) /* - * Possible entry_id values for acl_get_entry() + * Possible entry_id values for acl_get_entry(3). */ #define ACL_FIRST_ENTRY 0 #define ACL_NEXT_ENTRY 1 @@ -231,19 +226,12 @@ /* * Possible values in ae_flags field; valid only for NFSv4 ACLs. */ -/* - * ACL_FLAG_DEFER_INHERIT does not seem to be used anywhere in Darwin, - * and there is no such flag in NFSv4 spec. - * - * #define ACL_FLAG_DEFER_INHERIT - */ #define ACL_ENTRY_FILE_INHERIT 0x00000001 #define ACL_ENTRY_DIRECTORY_INHERIT 0x00000002 #define ACL_ENTRY_LIMIT_INHERIT 0x00000004 /* "NO_PROPAGATE_INHERIT" */ #define ACL_ENTRY_ONLY_INHERIT 0x00000008 /* "INHERIT_ONLY" */ #define ACL_ENTRY_SUCCESSFUL_ACCESS 0x00000010 #define ACL_ENTRY_FAILED_ACCESS 0x00000020 -#define ACL_ENTRY_INHERITED 0x00000080 /* Currently unused. */ #define ACL_FLAGS_BITS (ACL_ENTRY_FILE_INHERIT | ACL_ENTRY_DIRECTORY_INHERIT | \ ACL_ENTRY_LIMIT_INHERIT | ACL_ENTRY_ONLY_INHERIT | ACL_ENTRY_SUCCESSFUL_ACCESS | \ From owner-p4-projects@FreeBSD.ORG Fri Mar 27 20:16:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 162B810656D4; Fri, 27 Mar 2009 20:15:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 01E121065670 for ; Fri, 27 Mar 2009 20:15:58 +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 E1B078FC26 for ; Fri, 27 Mar 2009 20:15:57 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RKFvXl043025 for ; Fri, 27 Mar 2009 20:15:57 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RKFv3V043023 for perforce@freebsd.org; Fri, 27 Mar 2009 20:15:57 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 20:15:57 GMT Message-Id: <200903272015.n2RKFv3V043023@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 159922 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 20:16:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=159922 Change 159922 by hselasky@hselasky_laptop001 on 2009/03/27 20:15:38 USB core + USB controller: - refactor how we interface with the root HUB. This cuts around 1200 lines of code totally and saves one thread per USB bus. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.h#2 edit .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#15 edit .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.h#5 edit .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.h#2 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#8 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uhci.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.h#2 edit .. //depot/projects/usb/src/sys/dev/usb/usb_bus.h#6 edit .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#4 edit .. //depot/projects/usb/src/sys/dev/usb/usb_core.h#10 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/usb_hub.h#7 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/usb_sw_transfer.c#5 edit .. //depot/projects/usb/src/sys/dev/usb/usb_sw_transfer.h#2 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#137 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#11 (text+ko) ==== @@ -88,8 +88,6 @@ struct usb2_pipe_methods at91dci_device_ctrl_methods; struct usb2_pipe_methods at91dci_device_intr_methods; struct usb2_pipe_methods at91dci_device_isoc_fs_methods; -struct usb2_pipe_methods at91dci_root_ctrl_methods; -struct usb2_pipe_methods at91dci_root_intr_methods; static at91dci_cmd_t at91dci_setup_rx; static at91dci_cmd_t at91dci_data_rx; @@ -97,11 +95,8 @@ static at91dci_cmd_t at91dci_data_tx_sync; static void at91dci_device_done(struct usb2_xfer *, usb2_error_t); static void at91dci_do_poll(struct usb2_bus *); -static void at91dci_root_ctrl_poll(struct at91dci_softc *); static void at91dci_standard_done(struct usb2_xfer *); - -static usb2_sw_transfer_func_t at91dci_root_intr_done; -static usb2_sw_transfer_func_t at91dci_root_ctrl_done; +static void at91dci_root_intr(struct at91dci_softc *sc); /* * NOTE: Some of the bits in the CSR register have inverse meaning so @@ -256,10 +251,8 @@ } static void -at91dci_wakeup_peer(struct usb2_xfer *xfer) +at91dci_wakeup_peer(struct at91dci_softc *sc) { - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - if (!(sc->sc_flags.status_suspend)) { return; } @@ -736,9 +729,7 @@ sc->sc_flags.status_vbus = 1; /* complete root HUB interrupt endpoint */ - - usb2_sw_transfer(&sc->sc_root_intr, - &at91dci_root_intr_done); + at91dci_root_intr(sc); } } else { if (sc->sc_flags.status_vbus) { @@ -749,9 +740,7 @@ sc->sc_flags.change_connect = 1; /* complete root HUB interrupt endpoint */ - - usb2_sw_transfer(&sc->sc_root_intr, - &at91dci_root_intr_done); + at91dci_root_intr(sc); } } USB_BUS_UNLOCK(&sc->sc_bus); @@ -828,9 +817,7 @@ } } /* complete root HUB interrupt endpoint */ - - usb2_sw_transfer(&sc->sc_root_intr, - &at91dci_root_intr_done); + at91dci_root_intr(sc); } /* check for any endpoint interrupts */ @@ -1070,31 +1057,17 @@ } static void -at91dci_root_intr_done(struct usb2_xfer *xfer, - struct usb2_sw_transfer *std) +at91dci_root_intr(struct at91dci_softc *sc) { - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - DPRINTFN(9, "\n"); USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - if (std->state != USB_SW_TR_PRE_DATA) { - if (std->state == USB_SW_TR_PRE_CALLBACK) { - /* transfer transferred */ - at91dci_device_done(xfer, std->err); - } - goto done; - } - /* setup buffer */ - std->ptr = sc->sc_hub_idata; - std->len = sizeof(sc->sc_hub_idata); - /* set port bit */ sc->sc_hub_idata[0] = 0x02; /* we only have one port */ -done: - return; + uhub_root_intr(&sc->sc_bus, sc->sc_hub_idata, + sizeof(sc->sc_hub_idata)); } static usb2_error_t @@ -1488,7 +1461,6 @@ USB_BUS_LOCK(&sc->sc_bus); at91dci_interrupt_poll(sc); - at91dci_root_ctrl_poll(sc); USB_BUS_UNLOCK(&sc->sc_bus); } @@ -1696,31 +1668,9 @@ /*------------------------------------------------------------------------* * at91dci root control support *------------------------------------------------------------------------* - * simulate a hardware HUB by handling - * all the necessary requests + * Simulate a hardware HUB by handling all the necessary requests. *------------------------------------------------------------------------*/ -static void -at91dci_root_ctrl_open(struct usb2_xfer *xfer) -{ - return; -} - -static void -at91dci_root_ctrl_close(struct usb2_xfer *xfer) -{ - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - - if (sc->sc_root_ctrl.xfer == xfer) { - sc->sc_root_ctrl.xfer = NULL; - } - at91dci_device_done(xfer, USB_ERR_CANCELLED); -} - -/* - * USB descriptors for the virtual Root HUB: - */ - static const struct usb2_device_descriptor at91dci_devd = { .bLength = sizeof(struct usb2_device_descriptor), .bDescriptorType = UDESC_DEVICE, @@ -1765,7 +1715,6 @@ .bInterfaceSubClass = UISUBCLASS_HUB, .bInterfaceProtocol = UIPROTO_HSHUBSTT, }, - .endpd = { .bLength = sizeof(struct usb2_endpoint_descriptor), .bDescriptorType = UDESC_ENDPOINT, @@ -1805,44 +1754,15 @@ USB_MAKE_STRING_DESC(STRING_PRODUCT, at91dci_product); static void -at91dci_root_ctrl_enter(struct usb2_xfer *xfer) +at91dci_roothub_exec(struct usb2_bus *bus) { - return; -} - -static void -at91dci_root_ctrl_start(struct usb2_xfer *xfer) -{ - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - - sc->sc_root_ctrl.xfer = xfer; - - usb2_bus_roothub_exec(xfer->xroot->bus); -} - -static void -at91dci_root_ctrl_task(struct usb2_bus *bus) -{ - at91dci_root_ctrl_poll(AT9100_DCI_BUS2SC(bus)); -} - -static void -at91dci_root_ctrl_done(struct usb2_xfer *xfer, - struct usb2_sw_transfer *std) -{ - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); + struct at91dci_softc *sc = AT9100_DCI_BUS2SC(bus); + struct usb2_sw_transfer *std = &sc->sc_bus.roothub_req; uint16_t value; uint16_t index; USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - if (std->state != USB_SW_TR_SETUP) { - if (std->state == USB_SW_TR_PRE_CALLBACK) { - /* transfer transferred */ - at91dci_device_done(xfer, std->err); - } - goto done; - } /* buffer reset */ std->ptr = USB_ADD_BYTES(&sc->sc_hub_temp, 0); std->len = 0; @@ -2101,7 +2021,7 @@ switch (value) { case UHF_PORT_SUSPEND: - at91dci_wakeup_peer(xfer); + at91dci_wakeup_peer(sc); break; case UHF_PORT_ENABLE: @@ -2225,67 +2145,6 @@ } static void -at91dci_root_ctrl_poll(struct at91dci_softc *sc) -{ - usb2_sw_transfer(&sc->sc_root_ctrl, - &at91dci_root_ctrl_done); -} - -struct usb2_pipe_methods at91dci_root_ctrl_methods = -{ - .open = at91dci_root_ctrl_open, - .close = at91dci_root_ctrl_close, - .enter = at91dci_root_ctrl_enter, - .start = at91dci_root_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 0, -}; - -/*------------------------------------------------------------------------* - * at91dci root interrupt support - *------------------------------------------------------------------------*/ -static void -at91dci_root_intr_open(struct usb2_xfer *xfer) -{ - return; -} - -static void -at91dci_root_intr_close(struct usb2_xfer *xfer) -{ - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - - if (sc->sc_root_intr.xfer == xfer) { - sc->sc_root_intr.xfer = NULL; - } - at91dci_device_done(xfer, USB_ERR_CANCELLED); -} - -static void -at91dci_root_intr_enter(struct usb2_xfer *xfer) -{ - return; -} - -static void -at91dci_root_intr_start(struct usb2_xfer *xfer) -{ - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); - - sc->sc_root_intr.xfer = xfer; -} - -struct usb2_pipe_methods at91dci_root_intr_methods = -{ - .open = at91dci_root_intr_open, - .close = at91dci_root_intr_close, - .enter = at91dci_root_intr_enter, - .start = at91dci_root_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, -}; - -static void at91dci_xfer_setup(struct usb2_setup_params *parm) { const struct usb2_hw_ep_profile *pf; @@ -2411,25 +2270,8 @@ edesc->bEndpointAddress, udev->flags.usb2_mode, sc->sc_rt_addr); - if (udev->device_index == sc->sc_rt_addr) { + if (udev->device_index != sc->sc_rt_addr) { - if (udev->flags.usb2_mode != USB_MODE_HOST) { - /* not supported */ - return; - } - switch (edesc->bEndpointAddress) { - case USB_CONTROL_ENDPOINT: - pipe->methods = &at91dci_root_ctrl_methods; - break; - case UE_DIR_IN | AT9100_DCI_INTR_ENDPT: - pipe->methods = &at91dci_root_intr_methods; - break; - default: - /* do nothing */ - break; - } - } else { - if (udev->flags.usb2_mode != USB_MODE_DEVICE) { /* not supported */ return; @@ -2466,5 +2308,5 @@ .get_hw_ep_profile = &at91dci_get_hw_ep_profile, .set_stall = &at91dci_set_stall, .clear_stall = &at91dci_clear_stall, - .roothub_exec = &at91dci_root_ctrl_task, + .roothub_exec = &at91dci_roothub_exec, }; ==== //depot/projects/usb/src/sys/dev/usb/controller/at91dci.h#2 (text+ko) ==== @@ -204,8 +204,6 @@ struct usb2_bus sc_bus; union at91dci_hub_temp sc_hub_temp; LIST_HEAD(, usb2_xfer) sc_interrupt_list_head; - struct usb2_sw_transfer sc_root_ctrl; - struct usb2_sw_transfer sc_root_intr; struct usb2_device *sc_devices[AT91_MAX_DEVICES]; struct resource *sc_io_res; ==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#15 (text+ko) ==== @@ -81,8 +81,6 @@ struct usb2_pipe_methods atmegadci_device_ctrl_methods; struct usb2_pipe_methods atmegadci_device_intr_methods; struct usb2_pipe_methods atmegadci_device_isoc_fs_methods; -struct usb2_pipe_methods atmegadci_root_ctrl_methods; -struct usb2_pipe_methods atmegadci_root_intr_methods; static atmegadci_cmd_t atmegadci_setup_rx; static atmegadci_cmd_t atmegadci_data_rx; @@ -90,11 +88,8 @@ static atmegadci_cmd_t atmegadci_data_tx_sync; static void atmegadci_device_done(struct usb2_xfer *, usb2_error_t); static void atmegadci_do_poll(struct usb2_bus *); -static void atmegadci_root_ctrl_poll(struct atmegadci_softc *); static void atmegadci_standard_done(struct usb2_xfer *); - -static usb2_sw_transfer_func_t atmegadci_root_intr_done; -static usb2_sw_transfer_func_t atmegadci_root_ctrl_done; +static void atmegadci_root_intr(struct atmegadci_softc *sc); /* * Here is a list of what the chip supports: @@ -201,9 +196,8 @@ } static void -atmegadci_wakeup_peer(struct usb2_xfer *xfer) +atmegadci_wakeup_peer(struct atmegadci_softc *sc) { - struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus); uint8_t temp; if (!sc->sc_flags.status_suspend) { @@ -625,8 +619,7 @@ /* complete root HUB interrupt endpoint */ - usb2_sw_transfer(&sc->sc_root_intr, - &atmegadci_root_intr_done); + atmegadci_root_intr(sc); } } else { if (sc->sc_flags.status_vbus) { @@ -638,8 +631,7 @@ /* complete root HUB interrupt endpoint */ - usb2_sw_transfer(&sc->sc_root_intr, - &atmegadci_root_intr_done); + atmegadci_root_intr(sc); } } } @@ -676,8 +668,7 @@ ATMEGA_UDINT_EORSTE); /* complete root HUB interrupt endpoint */ - usb2_sw_transfer(&sc->sc_root_intr, - &atmegadci_root_intr_done); + atmegadci_root_intr(sc); } /* * If resume and suspend is set at the same time we interpret @@ -699,8 +690,7 @@ ATMEGA_UDINT_EORSTE); /* complete root HUB interrupt endpoint */ - usb2_sw_transfer(&sc->sc_root_intr, - &atmegadci_root_intr_done); + atmegadci_root_intr(sc); } } else if (status & ATMEGA_UDINT_SUSPI) { @@ -717,8 +707,7 @@ ATMEGA_UDINT_EORSTE); /* complete root HUB interrupt endpoint */ - usb2_sw_transfer(&sc->sc_root_intr, - &atmegadci_root_intr_done); + atmegadci_root_intr(sc); } } /* check VBUS */ @@ -953,32 +942,18 @@ } static void -atmegadci_root_intr_done(struct usb2_xfer *xfer, - struct usb2_sw_transfer *std) +atmegadci_root_intr(struct atmegadci_softc *sc) { - struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus); - DPRINTFN(9, "\n"); USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - if (std->state != USB_SW_TR_PRE_DATA) { - if (std->state == USB_SW_TR_PRE_CALLBACK) { - /* transfer transferred */ - atmegadci_device_done(xfer, std->err); - } - goto done; - } - /* setup buffer */ - std->ptr = sc->sc_hub_idata; - std->len = sizeof(sc->sc_hub_idata); - /* set port bit */ sc->sc_hub_idata[0] = 0x02; /* we only have one port */ -done: - return; -} + uhub_root_intr(&sc->sc_bus, sc->sc_hub_idata, + sizeof(sc->sc_hub_idata)); + } static usb2_error_t atmegadci_standard_done_sub(struct usb2_xfer *xfer) @@ -1363,7 +1338,6 @@ USB_BUS_LOCK(&sc->sc_bus); atmegadci_interrupt_poll(sc); - atmegadci_root_ctrl_poll(sc); USB_BUS_UNLOCK(&sc->sc_bus); } @@ -1575,27 +1549,9 @@ /*------------------------------------------------------------------------* * at91dci root control support *------------------------------------------------------------------------* - * simulate a hardware HUB by handling - * all the necessary requests + * Simulate a hardware HUB by handling all the necessary requests. *------------------------------------------------------------------------*/ -static void -atmegadci_root_ctrl_open(struct usb2_xfer *xfer) -{ - return; -} - -static void -atmegadci_root_ctrl_close(struct usb2_xfer *xfer) -{ - struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus); - - if (sc->sc_root_ctrl.xfer == xfer) { - sc->sc_root_ctrl.xfer = NULL; - } - atmegadci_device_done(xfer, USB_ERR_CANCELLED); -} - /* * USB descriptors for the virtual Root HUB: */ @@ -1644,7 +1600,6 @@ .bInterfaceSubClass = UISUBCLASS_HUB, .bInterfaceProtocol = UIPROTO_HSHUBSTT, }, - .endpd = { .bLength = sizeof(struct usb2_endpoint_descriptor), .bDescriptorType = UDESC_ENDPOINT, @@ -1684,45 +1639,16 @@ USB_MAKE_STRING_DESC(STRING_PRODUCT, atmegadci_product); static void -atmegadci_root_ctrl_enter(struct usb2_xfer *xfer) +atmegadci_roothub_exec(struct usb2_bus *bus) { - return; -} - -static void -atmegadci_root_ctrl_start(struct usb2_xfer *xfer) -{ - struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus); - - sc->sc_root_ctrl.xfer = xfer; - - usb2_bus_roothub_exec(xfer->xroot->bus); -} - -static void -atmegadci_root_ctrl_task(struct usb2_bus *bus) -{ - atmegadci_root_ctrl_poll(ATMEGA_BUS2SC(bus)); -} - -static void -atmegadci_root_ctrl_done(struct usb2_xfer *xfer, - struct usb2_sw_transfer *std) -{ - struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus); + struct atmegadci_softc *sc = ATMEGA_BUS2SC(bus); + struct usb2_sw_transfer *std = &sc->sc_bus.roothub_req; uint16_t value; uint16_t index; uint8_t temp; USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - if (std->state != USB_SW_TR_SETUP) { - if (std->state == USB_SW_TR_PRE_CALLBACK) { - /* transfer transferred */ - atmegadci_device_done(xfer, std->err); - } - goto done; - } /* buffer reset */ std->ptr = USB_ADD_BYTES(&sc->sc_hub_temp, 0); std->len = 0; @@ -1981,7 +1907,7 @@ switch (value) { case UHF_PORT_SUSPEND: - atmegadci_wakeup_peer(xfer); + atmegadci_wakeup_peer(sc); break; case UHF_PORT_ENABLE: @@ -2130,67 +2056,6 @@ } static void -atmegadci_root_ctrl_poll(struct atmegadci_softc *sc) -{ - usb2_sw_transfer(&sc->sc_root_ctrl, - &atmegadci_root_ctrl_done); -} - -struct usb2_pipe_methods atmegadci_root_ctrl_methods = -{ - .open = atmegadci_root_ctrl_open, - .close = atmegadci_root_ctrl_close, - .enter = atmegadci_root_ctrl_enter, - .start = atmegadci_root_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 0, -}; - -/*------------------------------------------------------------------------* - * at91dci root interrupt support - *------------------------------------------------------------------------*/ -static void -atmegadci_root_intr_open(struct usb2_xfer *xfer) -{ - return; -} - -static void -atmegadci_root_intr_close(struct usb2_xfer *xfer) -{ - struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus); - - if (sc->sc_root_intr.xfer == xfer) { - sc->sc_root_intr.xfer = NULL; - } - atmegadci_device_done(xfer, USB_ERR_CANCELLED); -} - -static void -atmegadci_root_intr_enter(struct usb2_xfer *xfer) -{ - return; -} - -static void -atmegadci_root_intr_start(struct usb2_xfer *xfer) -{ - struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus); - - sc->sc_root_intr.xfer = xfer; -} - -struct usb2_pipe_methods atmegadci_root_intr_methods = -{ - .open = atmegadci_root_intr_open, - .close = atmegadci_root_intr_close, - .enter = atmegadci_root_intr_enter, - .start = atmegadci_root_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, -}; - -static void atmegadci_xfer_setup(struct usb2_setup_params *parm) { const struct usb2_hw_ep_profile *pf; @@ -2313,25 +2178,8 @@ edesc->bEndpointAddress, udev->flags.usb2_mode, sc->sc_rt_addr, udev->device_index); - if (udev->device_index == sc->sc_rt_addr) { + if (udev->device_index != sc->sc_rt_addr) { - if (udev->flags.usb2_mode != USB_MODE_HOST) { - /* not supported */ - return; - } - switch (edesc->bEndpointAddress) { - case USB_CONTROL_ENDPOINT: - pipe->methods = &atmegadci_root_ctrl_methods; - break; - case UE_DIR_IN | ATMEGA_INTR_ENDPT: - pipe->methods = &atmegadci_root_intr_methods; - break; - default: - /* do nothing */ - break; - } - } else { - if (udev->flags.usb2_mode != USB_MODE_DEVICE) { /* not supported */ return; @@ -2368,5 +2216,5 @@ .get_hw_ep_profile = &atmegadci_get_hw_ep_profile, .set_stall = &atmegadci_set_stall, .clear_stall = &atmegadci_clear_stall, - .roothub_exec = &atmegadci_root_ctrl_task, + .roothub_exec = &atmegadci_roothub_exec, }; ==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.h#4 (text+ko) ==== @@ -34,10 +34,6 @@ #define ATMEGA_MAX_DEVICES (USB_MIN_DEVICES + 1) -#ifndef ATMEGA_HAVE_BUS_SPACE -#define ATMEGA_HAVE_BUS_SPACE 1 -#endif - #define ATMEGA_UEINT 0xF4 #define ATMEGA_UEINT_MASK(n) (1 << (n)) /* endpoint interrupt mask */ @@ -241,8 +237,6 @@ struct usb2_bus sc_bus; union atmegadci_hub_temp sc_hub_temp; LIST_HEAD(, usb2_xfer) sc_interrupt_list_head; - struct usb2_sw_transfer sc_root_ctrl; - struct usb2_sw_transfer sc_root_intr; /* must be set by by the bus interface layer */ atmegadci_clocks_t *sc_clocks_on; @@ -251,11 +245,10 @@ struct usb2_device *sc_devices[ATMEGA_MAX_DEVICES]; struct resource *sc_irq_res; void *sc_intr_hdl; -#if (ATMEGA_HAVE_BUS_SPACE != 0) struct resource *sc_io_res; bus_space_tag_t sc_io_tag; bus_space_handle_t sc_io_hdl; -#endif + uint8_t sc_rt_addr; /* root hub address */ uint8_t sc_dv_addr; /* device address */ uint8_t sc_conf; /* root hub config */ ==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#12 (text+ko) ==== @@ -93,18 +93,13 @@ extern struct usb2_pipe_methods ehci_device_intr_methods; extern struct usb2_pipe_methods ehci_device_isoc_fs_methods; extern struct usb2_pipe_methods ehci_device_isoc_hs_methods; -extern struct usb2_pipe_methods ehci_root_ctrl_methods; -extern struct usb2_pipe_methods ehci_root_intr_methods; static void ehci_do_poll(struct usb2_bus *bus); -static void ehci_root_ctrl_poll(ehci_softc_t *sc); static void ehci_device_done(struct usb2_xfer *xfer, usb2_error_t error); static uint8_t ehci_check_transfer(struct usb2_xfer *xfer); static void ehci_timeout(void *arg); +static void ehci_root_intr(ehci_softc_t *sc); -static usb2_sw_transfer_func_t ehci_root_intr_done; -static usb2_sw_transfer_func_t ehci_root_ctrl_done; - struct ehci_std_temp { ehci_softc_t *sc; struct usb2_page_cache *pc; @@ -1415,8 +1410,7 @@ /* acknowledge any PCD interrupt */ EOWRITE4(sc, EHCI_USBSTS, EHCI_STS_PCD); - usb2_sw_transfer(&sc->sc_root_intr, - &ehci_root_intr_done); + ehci_root_intr(sc); } static void @@ -1486,8 +1480,7 @@ sc->sc_eintrs &= ~EHCI_STS_PCD; EOWRITE4(sc, EHCI_USBINTR, sc->sc_eintrs); - usb2_sw_transfer(&sc->sc_root_intr, - &ehci_root_intr_done); + ehci_root_intr(sc); /* do not allow RHSC interrupts > 1 per second */ usb2_callout_reset(&sc->sc_tmo_pcd, hz, @@ -1531,7 +1524,6 @@ USB_BUS_LOCK(&sc->sc_bus); ehci_interrupt_poll(sc); - ehci_root_ctrl_poll(sc); USB_BUS_UNLOCK(&sc->sc_bus); } @@ -1979,28 +1971,15 @@ } static void -ehci_root_intr_done(struct usb2_xfer *xfer, - struct usb2_sw_transfer *std) +ehci_root_intr(ehci_softc_t *sc) { - ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); uint16_t i; uint16_t m; USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - if (std->state != USB_SW_TR_PRE_DATA) { - if (std->state == USB_SW_TR_PRE_CALLBACK) { - /* transfer transferred */ - ehci_device_done(xfer, std->err); - } - goto done; - } - /* setup buffer */ - std->ptr = sc->sc_hub_idata; - std->len = sizeof(sc->sc_hub_idata); - /* clear any old interrupt data */ - bzero(sc->sc_hub_idata, sizeof(sc->sc_hub_idata)); + memset(sc->sc_hub_idata, 0, sizeof(sc->sc_hub_idata)); /* set bits */ m = (sc->sc_noport + 1); @@ -2014,8 +1993,8 @@ DPRINTF("port %d changed\n", i); } } -done: - return; + uhub_root_intr(&sc->sc_bus, sc->sc_hub_idata, + sizeof(sc->sc_hub_idata)); } static void @@ -2932,31 +2911,9 @@ /*------------------------------------------------------------------------* * ehci root control support *------------------------------------------------------------------------* - * simulate a hardware hub by handling - * all the necessary requests + * Simulate a hardware hub by handling all the necessary requests. *------------------------------------------------------------------------*/ -static void -ehci_root_ctrl_open(struct usb2_xfer *xfer) -{ - return; -} - -static void -ehci_root_ctrl_close(struct usb2_xfer *xfer) -{ - ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); - - if (sc->sc_root_ctrl.xfer == xfer) { - sc->sc_root_ctrl.xfer = NULL; - } - ehci_device_done(xfer, USB_ERR_CANCELLED); -} - -/* data structures and routines - * to emulate the root hub: - */ - static const struct usb2_device_descriptor ehci_devd = { @@ -2997,7 +2954,6 @@ .bmAttributes = UC_SELF_POWERED, .bMaxPower = 0 /* max power */ }, - .ifcd = { .bLength = sizeof(struct usb2_interface_descriptor), .bDescriptorType = UDESC_INTERFACE, @@ -3007,7 +2963,6 @@ .bInterfaceProtocol = UIPROTO_HSHUBSTT, 0 }, - .endpd = { .bLength = sizeof(struct usb2_endpoint_descriptor), .bDescriptorType = UDESC_ENDPOINT, @@ -3044,34 +2999,10 @@ } static void -ehci_root_ctrl_enter(struct usb2_xfer *xfer) +ehci_roothub_exec(struct usb2_bus *bus) { - return; -} - -static void -ehci_root_ctrl_start(struct usb2_xfer *xfer) -{ - ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); - - DPRINTF("\n"); - - sc->sc_root_ctrl.xfer = xfer; - - usb2_bus_roothub_exec(xfer->xroot->bus); -} - -static void -ehci_root_ctrl_task(struct usb2_bus *bus) -{ - ehci_root_ctrl_poll(EHCI_BUS2SC(bus)); -} - -static void -ehci_root_ctrl_done(struct usb2_xfer *xfer, - struct usb2_sw_transfer *std) -{ - ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); + ehci_softc_t *sc = EHCI_BUS2SC(bus); + struct usb2_sw_transfer *std = &sc->sc_bus.roothub_req; char *ptr; uint32_t port; uint32_t v; @@ -3082,13 +3013,6 @@ USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - if (std->state != USB_SW_TR_SETUP) { - if (std->state == USB_SW_TR_PRE_CALLBACK) { - /* transfer transferred */ - ehci_device_done(xfer, std->err); - } - goto done; - } /* buffer reset */ std->ptr = sc->sc_hub_desc.temp; std->len = 0; @@ -3462,67 +3386,6 @@ } static void -ehci_root_ctrl_poll(ehci_softc_t *sc) -{ - usb2_sw_transfer(&sc->sc_root_ctrl, - &ehci_root_ctrl_done); -} - -struct usb2_pipe_methods ehci_root_ctrl_methods = -{ - .open = ehci_root_ctrl_open, - .close = ehci_root_ctrl_close, - .enter = ehci_root_ctrl_enter, - .start = ehci_root_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 0, -}; - -/*------------------------------------------------------------------------* - * ehci root interrupt support - *------------------------------------------------------------------------*/ -static void -ehci_root_intr_open(struct usb2_xfer *xfer) -{ - return; -} - -static void -ehci_root_intr_close(struct usb2_xfer *xfer) -{ - ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); - - if (sc->sc_root_intr.xfer == xfer) { - sc->sc_root_intr.xfer = NULL; - } - ehci_device_done(xfer, USB_ERR_CANCELLED); -} - -static void -ehci_root_intr_enter(struct usb2_xfer *xfer) -{ - return; -} - -static void -ehci_root_intr_start(struct usb2_xfer *xfer) -{ - ehci_softc_t *sc = EHCI_BUS2SC(xfer->xroot->bus); - - sc->sc_root_intr.xfer = xfer; -} - -struct usb2_pipe_methods ehci_root_intr_methods = -{ - .open = ehci_root_intr_open, - .close = ehci_root_intr_close, - .enter = ehci_root_intr_enter, - .start = ehci_root_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, -}; - -static void ehci_xfer_setup(struct usb2_setup_params *parm) { struct usb2_page_search page_info; @@ -3794,19 +3657,8 @@ /* not supported */ return; } - if (udev->device_index == sc->sc_addr) { - switch (edesc->bEndpointAddress) { - case USB_CONTROL_ENDPOINT: - pipe->methods = &ehci_root_ctrl_methods; - break; - case UE_DIR_IN | EHCI_INTR_ENDPT: - pipe->methods = &ehci_root_intr_methods; - break; - default: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 27 20:19:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 849BF1065675; Fri, 27 Mar 2009 20:19:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C6861065674 for ; Fri, 27 Mar 2009 20:19:01 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0FDF18FC14 for ; Fri, 27 Mar 2009 20:19:01 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RKJ0R4043211 for ; Fri, 27 Mar 2009 20:19:00 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RKJ0JF043209 for perforce@freebsd.org; Fri, 27 Mar 2009 20:19:00 GMT (envelope-from trasz@freebsd.org) Date: Fri, 27 Mar 2009 20:19:00 GMT Message-Id: <200903272019.n2RKJ0JF043209@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 159923 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 20:19:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=159923 Change 159923 by trasz@trasz_victim7 on 2009/03/27 20:18:17 Formatting fixes. Also, get rid of VALLPERMS; it's not used for anything. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#21 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#21 (text+ko) ==== @@ -310,33 +310,30 @@ /* * Flags for accmode_t. */ -#define VEXEC 000000000100 /* execute/search permission */ -#define VWRITE 000000000200 /* write permission */ -#define VREAD 000000000400 /* read permission */ -#define VADMIN 000000010000 /* being the file owner */ -#define VSTAT 000000020000 /* permission to retrieve attrs */ -#define VAPPEND 000000040000 /* permission to write/append */ +#define VEXEC 000000000100 /* execute/search permission */ +#define VWRITE 000000000200 /* write permission */ +#define VREAD 000000000400 /* read permission */ +#define VADMIN 000000010000 /* being the file owner */ +#define VSTAT 000000020000 /* permission to retrieve attrs */ +#define VAPPEND 000000040000 /* permission to write/append */ /* - * Return EPERM or EACCES only if permission was denied explicitly, - * by a "deny" rule in NFS4 ACL. This never happens with ordinary - * unix access rights or POSIX.1e ACLs. Obviously, VEXPLICIT_DENY - * must be OR-ed with some other Vflag. + * VEXPLICIT_DENY makes VOP_ACCESS(9) return EPERM or EACCES only + * if permission was denied explicitly, by a "deny" rule in NFS4 ACL, + * and 0 otherwise. This never happens with ordinary unix access rights + * or POSIX.1e ACLs. Obviously, VEXPLICIT_DENY must be OR-ed with + * some other V* constant. */ #define VEXPLICIT_DENY 000000100000 -#define VREAD_NAMED_ATTRS 000000200000 /* not used */ -#define VWRITE_NAMED_ATTRS 000000400000 /* not used */ +#define VREAD_NAMED_ATTRS 000000200000 /* not used */ +#define VWRITE_NAMED_ATTRS 000000400000 /* not used */ #define VDELETE_CHILD 000001000000 -#define VREAD_ATTRIBUTES 000002000000 -#define VWRITE_ATTRIBUTES 000004000000 +#define VREAD_ATTRIBUTES 000002000000 /* permission to stat(2) */ +#define VWRITE_ATTRIBUTES 000004000000 /* change {m,c,a}time */ #define VDELETE 000010000000 -#define VREAD_ACL 000020000000 -#define VWRITE_ACL 000040000000 -#define VWRITE_OWNER 000100000000 -#define VSYNCHRONIZE 000200000000 /* not used */ -#define VALLPERM (VEXEC | VWRITE | VREAD | VADMIN | VSTAT | VAPPEND \ - VEXPLICIT_DENY | VREAD_NAMED_ATTRS | VWRITE_NAMED_ATTRS | VDELETE_CHILD \ - VREAD_ATTRIBUTES | VWRITE_ATTRIBUTES | VDELETE | VREAD_ACL | VWRITE_ACL \ - VWRITE_OWNER | VSYNCHRONIZE) +#define VREAD_ACL 000020000000 /* read ACL and file mode */ +#define VWRITE_ACL 000040000000 /* change ACL and/or file mode */ +#define VWRITE_OWNER 000100000000 /* change file owner */ +#define VSYNCHRONIZE 000200000000 /* not used */ /* * Permissions that were traditionally granted only to the file owner. From owner-p4-projects@FreeBSD.ORG Fri Mar 27 21:07:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8929D1065676; Fri, 27 Mar 2009 21:06: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 3AB1B1065672 for ; Fri, 27 Mar 2009 21:06:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C6A758FC15 for ; Fri, 27 Mar 2009 21:06:49 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RL6nk5057632 for ; Fri, 27 Mar 2009 21:06:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RL6nQu057630 for perforce@freebsd.org; Fri, 27 Mar 2009 21:06:49 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 21:06:49 GMT Message-Id: <200903272106.n2RL6nQu057630@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 159925 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 21:07:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=159925 Change 159925 by hselasky@hselasky_laptop001 on 2009/03/27 21:05:49 USB endian: - cast variables properly for non-32-bit platforms. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_endian.h#5 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_endian.h#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/usb/usb_endian.h,v 1.3 2009/03/21 05:44:22 thompsa Exp $ */ +/* $FreeBSD: src/sys/dev/usb/usb_endian.h,v 1.2 2009/03/20 18:59:53 thompsa Exp $ */ /* * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * @@ -48,19 +48,19 @@ #define UGETW(w) \ ((w)[0] | \ - ((w)[1] << 8)) + (((uint16_t)((w)[1])) << 8)) #define UGETDW(w) \ ((w)[0] | \ - ((w)[1] << 8) | \ - ((w)[2] << 16) | \ - ((w)[3] << 24)) + (((uint16_t)((w)[1])) << 8) | \ + (((uint32_t)((w)[2])) << 16) | \ + (((uint32_t)((w)[3])) << 24)) #define UGETQW(w) \ ((w)[0] | \ - ((w)[1] << 8) | \ - ((w)[2] << 16) | \ - ((w)[3] << 24) | \ + (((uint16_t)((w)[1])) << 8) | \ + (((uint32_t)((w)[2])) << 16) | \ + (((uint32_t)((w)[3])) << 24) | \ (((uint64_t)((w)[4])) << 32) | \ (((uint64_t)((w)[5])) << 40) | \ (((uint64_t)((w)[6])) << 48) | \ From owner-p4-projects@FreeBSD.ORG Fri Mar 27 21:11:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6814A1065675; Fri, 27 Mar 2009 21:11: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 27099106564A for ; Fri, 27 Mar 2009 21:11:55 +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 148D28FC19 for ; Fri, 27 Mar 2009 21:11:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RLBsHR058039 for ; Fri, 27 Mar 2009 21:11:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RLBse3058037 for perforce@freebsd.org; Fri, 27 Mar 2009 21:11:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 21:11:54 GMT Message-Id: <200903272111.n2RLBse3058037@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 159926 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 21:11:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=159926 Change 159926 by hselasky@hselasky_laptop001 on 2009/03/27 21:11:44 USB controller: - minor code factorisation in atmegadci.c Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#16 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#16 (text+ko) ==== @@ -77,9 +77,7 @@ /* prototypes */ struct usb2_bus_methods atmegadci_bus_methods; -struct usb2_pipe_methods atmegadci_device_bulk_methods; -struct usb2_pipe_methods atmegadci_device_ctrl_methods; -struct usb2_pipe_methods atmegadci_device_intr_methods; +struct usb2_pipe_methods atmegadci_device_non_isoc_methods; struct usb2_pipe_methods atmegadci_device_isoc_fs_methods; static atmegadci_cmd_t atmegadci_setup_rx; @@ -1343,117 +1341,41 @@ /*------------------------------------------------------------------------* * at91dci bulk support - *------------------------------------------------------------------------*/ -static void -atmegadci_device_bulk_open(struct usb2_xfer *xfer) -{ - return; -} - -static void -atmegadci_device_bulk_close(struct usb2_xfer *xfer) -{ - atmegadci_device_done(xfer, USB_ERR_CANCELLED); -} - -static void -atmegadci_device_bulk_enter(struct usb2_xfer *xfer) -{ - return; -} - -static void -atmegadci_device_bulk_start(struct usb2_xfer *xfer) -{ - /* setup TDs */ - atmegadci_setup_standard_chain(xfer); - atmegadci_start_standard_chain(xfer); -} - -struct usb2_pipe_methods atmegadci_device_bulk_methods = -{ - .open = atmegadci_device_bulk_open, - .close = atmegadci_device_bulk_close, - .enter = atmegadci_device_bulk_enter, - .start = atmegadci_device_bulk_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, -}; - -/*------------------------------------------------------------------------* * at91dci control support - *------------------------------------------------------------------------*/ -static void -atmegadci_device_ctrl_open(struct usb2_xfer *xfer) -{ - return; -} - -static void -atmegadci_device_ctrl_close(struct usb2_xfer *xfer) -{ - atmegadci_device_done(xfer, USB_ERR_CANCELLED); -} - -static void -atmegadci_device_ctrl_enter(struct usb2_xfer *xfer) -{ - return; -} - -static void -atmegadci_device_ctrl_start(struct usb2_xfer *xfer) -{ - /* setup TDs */ - atmegadci_setup_standard_chain(xfer); - atmegadci_start_standard_chain(xfer); -} - -struct usb2_pipe_methods atmegadci_device_ctrl_methods = -{ - .open = atmegadci_device_ctrl_open, - .close = atmegadci_device_ctrl_close, - .enter = atmegadci_device_ctrl_enter, - .start = atmegadci_device_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, -}; - -/*------------------------------------------------------------------------* * at91dci interrupt support *------------------------------------------------------------------------*/ static void -atmegadci_device_intr_open(struct usb2_xfer *xfer) +atmegadci_device_non_isoc_open(struct usb2_xfer *xfer) { return; } static void -atmegadci_device_intr_close(struct usb2_xfer *xfer) +atmegadci_device_non_isoc_close(struct usb2_xfer *xfer) { atmegadci_device_done(xfer, USB_ERR_CANCELLED); } static void -atmegadci_device_intr_enter(struct usb2_xfer *xfer) +atmegadci_device_non_isoc_enter(struct usb2_xfer *xfer) { return; } static void -atmegadci_device_intr_start(struct usb2_xfer *xfer) +atmegadci_device_non_isoc_start(struct usb2_xfer *xfer) { /* setup TDs */ atmegadci_setup_standard_chain(xfer); atmegadci_start_standard_chain(xfer); } -struct usb2_pipe_methods atmegadci_device_intr_methods = +struct usb2_pipe_methods atmegadci_device_non_isoc_methods = { - .open = atmegadci_device_intr_open, - .close = atmegadci_device_intr_close, - .enter = atmegadci_device_intr_enter, - .start = atmegadci_device_intr_start, + .open = atmegadci_device_non_isoc_open, + .close = atmegadci_device_non_isoc_close, + .enter = atmegadci_device_non_isoc_enter, + .start = atmegadci_device_non_isoc_start, .enter_is_cancelable = 1, .start_is_cancelable = 1, }; @@ -1552,10 +1474,6 @@ * Simulate a hardware HUB by handling all the necessary requests. *------------------------------------------------------------------------*/ -/* - * USB descriptors for the virtual Root HUB: - */ - static const struct usb2_device_descriptor atmegadci_devd = { .bLength = sizeof(struct usb2_device_descriptor), .bDescriptorType = UDESC_DEVICE, @@ -2083,34 +2001,21 @@ /* * compute maximum number of TDs */ - if (parm->methods == &atmegadci_device_ctrl_methods) { + if ((xfer->pipe->edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) { - ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC 1 */ + ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC 1 */ + 1 /* SYNC 2 */ ; - - } else if (parm->methods == &atmegadci_device_bulk_methods) { - - ntd = xfer->nframes + 1 /* SYNC */ ; - - } else if (parm->methods == &atmegadci_device_intr_methods) { - - ntd = xfer->nframes + 1 /* SYNC */ ; - - } else if (parm->methods == &atmegadci_device_isoc_fs_methods) { + } else { ntd = xfer->nframes + 1 /* SYNC */ ; - - } else { - - ntd = 0; } /* * check if "usb2_transfer_setup_sub" set an error */ - if (parm->err) { + if (parm->err) return; - } + /* * allocate transfer descriptors */ @@ -2119,19 +2024,13 @@ /* * get profile stuff */ - if (ntd) { + ep_no = xfer->endpoint & UE_ADDR; + atmegadci_get_hw_ep_profile(parm->udev, &pf, ep_no); - ep_no = xfer->endpoint & UE_ADDR; - atmegadci_get_hw_ep_profile(parm->udev, &pf, ep_no); - - if (pf == NULL) { - /* should not happen */ - parm->err = USB_ERR_INVAL; - return; - } - } else { - ep_no = 0; - pf = NULL; + if (pf == NULL) { + /* should not happen */ + parm->err = USB_ERR_INVAL; + return; } /* align data */ @@ -2188,23 +2087,10 @@ /* not supported */ return; } - switch (edesc->bmAttributes & UE_XFERTYPE) { - case UE_CONTROL: - pipe->methods = &atmegadci_device_ctrl_methods; - break; - case UE_INTERRUPT: - pipe->methods = &atmegadci_device_intr_methods; - break; - case UE_ISOCHRONOUS: + if ((edesc->bmAttributes & UE_XFERTYPE) == UE_ISOCHRONOUS) pipe->methods = &atmegadci_device_isoc_fs_methods; - break; - case UE_BULK: - pipe->methods = &atmegadci_device_bulk_methods; - break; - default: - /* do nothing */ - break; - } + else + pipe->methods = &atmegadci_device_non_isoc_methods; } } From owner-p4-projects@FreeBSD.ORG Fri Mar 27 21:41:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 593D01065674; Fri, 27 Mar 2009 21: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 195641065672 for ; Fri, 27 Mar 2009 21:41:25 +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 E17268FC14 for ; Fri, 27 Mar 2009 21:41:24 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RLfOQZ069598 for ; Fri, 27 Mar 2009 21:41:24 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RLfOxx069596 for perforce@freebsd.org; Fri, 27 Mar 2009 21:41:24 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 21:41:24 GMT Message-Id: <200903272141.n2RLfOxx069596@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 159928 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 21:41:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=159928 Change 159928 by hselasky@hselasky_laptop001 on 2009/03/27 21:41:22 USB core: - fix for early explore calls Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#11 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_hub.c#11 (text+ko) ==== @@ -1393,6 +1393,11 @@ DPRINTF("No bus pointer!\n"); return; } + if ((bus->devices == NULL) || + (bus->devices[USB_ROOT_HUB_ADDR] == NULL)) { + DPRINTF("No root HUB\n"); + return; + } if (mtx_owned(&bus->bus_mtx)) { do_unlock = 0; } else { From owner-p4-projects@FreeBSD.ORG Fri Mar 27 22:09:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F61D1065674; Fri, 27 Mar 2009 22:09: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 BEC9D106566B for ; Fri, 27 Mar 2009 22:09:54 +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 2206F8FC12 for ; Fri, 27 Mar 2009 22:09:54 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RM9sfM074402 for ; Fri, 27 Mar 2009 22:09:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RM9sef074400 for perforce@freebsd.org; Fri, 27 Mar 2009 22:09:54 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 22:09:54 GMT Message-Id: <200903272209.n2RM9sef074400@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 159931 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 22:09:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=159931 Change 159931 by hselasky@hselasky_laptop001 on 2009/03/27 22:09:12 USB CORE: - fix regression issue: - Root HUB was not displayed by USB config. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#20 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#138 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#20 (text+ko) ==== @@ -305,16 +305,16 @@ (methods->pipe_init) (udev, edesc, pipe); - /* check for invalid pipe */ - if (pipe->methods == NULL) - return; - /* initialise USB pipe structure */ pipe->edesc = edesc; pipe->iface_index = iface_index; TAILQ_INIT(&pipe->pipe_q.head); pipe->pipe_q.command = &usb2_pipe_start; + /* the pipe is not supported by the hardware */ + if (pipe->methods == NULL) + return; + /* clear stall, if any */ if (methods->clear_stall != NULL) { USB_BUS_LOCK(udev->bus); ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#138 (text+ko) ==== @@ -846,7 +846,7 @@ pipe = usb2_get_pipe(udev, ifaces[setup->if_index], setup); - if (!pipe) { + if ((pipe == NULL) || (pipe->methods == NULL)) { if (setup->flags.no_pipe_ok) continue; if ((setup->usb_mode != USB_MODE_MAX) && From owner-p4-projects@FreeBSD.ORG Fri Mar 27 22:19:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 040221065670; Fri, 27 Mar 2009 22:19: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 B6E1B106566B for ; Fri, 27 Mar 2009 22:19:03 +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 A4BE18FC1E for ; Fri, 27 Mar 2009 22:19:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RMJ3cB080376 for ; Fri, 27 Mar 2009 22:19:03 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RMJ3Xi080374 for perforce@freebsd.org; Fri, 27 Mar 2009 22:19:03 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 22:19:03 GMT Message-Id: <200903272219.n2RMJ3Xi080374@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 159933 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 22:19:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=159933 Change 159933 by hselasky@hselasky_laptop001 on 2009/03/27 22:19:00 Get libusb into repository. Affected files ... .. //depot/projects/usb/src/lib/libusb/Makefile#1 branch .. //depot/projects/usb/src/lib/libusb/libusb.3#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20.c#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20.h#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_compat01.c#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_compat10.c#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_compat10.h#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_desc.c#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_desc.h#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_int.h#1 branch .. //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#1 branch .. //depot/projects/usb/src/lib/libusb/usb.h#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Fri Mar 27 22:32:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B824B106566C; Fri, 27 Mar 2009 22:32: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 760CE1065672 for ; Fri, 27 Mar 2009 22:32:17 +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 61FE38FC1A for ; Fri, 27 Mar 2009 22:32:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RMWHpF083614 for ; Fri, 27 Mar 2009 22:32:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RMWHCF083612 for perforce@freebsd.org; Fri, 27 Mar 2009 22:32:17 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Mar 2009 22:32:17 GMT Message-Id: <200903272232.n2RMWHCF083612@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 159934 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 22:32:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=159934 Change 159934 by hselasky@hselasky_laptop001 on 2009/03/27 22:31:23 LibUSB: - Patch from Chuck Robey to update the manpage. Affected files ... .. //depot/projects/usb/src/lib/libusb/libusb.3#2 edit Differences ... ==== //depot/projects/usb/src/lib/libusb/libusb.3#2 (text+ko) ==== @@ -26,7 +26,7 @@ .\" .\" $FreeBSD: src/lib/libusb/libusb.3,v 1.1 2009/03/10 15:49:43 thompsa Exp $ .\" -.Dd Feb 14, 2009 +.Dd Mar 27, 2009 .Dt LIBUSB 3 .Os .Sh NAME @@ -43,9 +43,165 @@ . . .Sh SYNOPSIS -. -. .In libusb20.h +.Ft int +.Fn libusb20_tr_close "struct libusb20_transfer *xfer" +.Ft int +.Fn libusb20_tr_open "struct libusb20_transfer *xfer" "uint32_t max_buf_size" "uint32_t max_frame_count" "uint8_t ep_no" +.Ft struct libusb20_transfer* +.Fn libusb20_tr_get_pointer "struct libusb20_device *pdev" "uint16_t tr_index" +.Ft uint16_t +.Fn libusb20_tr_get_time_complete "struct libusb20_transfer *xfer" +.Ft uint32_t +.Fn libusb20_tr_get_actual_frames "struct libusb20_transfer *xfer" +.Ft uint32_t +.Fn libusb20_tr_get_actual_length "struct libusb20_transfer *xfer" +.Ft uint32_t +.Fn libusb20_tr_get_max_frames "struct libusb20_transfer *xfer" +.Ft uint32_t +.Fn libusb20_tr_get_max_packet_length "struct libusb20_transfer *xfer" +.Ft uint32_t +.Fn libusb20_tr_get_max_total_length "struct libusb20_transfer *xfer" +.Ft uint8_t +.Fn libusb20_tr_get_status "struct libusb20_transfer *xfer" +.Ft uint8_t +.Fn libusb20_tr_pending "struct libusb20_transfer *xfer" +.Ft void +.Fn libusb20_tr_callback_wrapper "struct libusb20_transfer *xfer" +.Ft void +.Fn libusb20_tr_clear_stall_sync "struct libusb20_transfer *xfer" +.Ft void +.Fn libusb20_tr_drain "struct libusb20_transfer *xfer" +.Ft void +.Fn libusb20_tr_set_buffer "struct libusb20_transfer *xfer" "void *buffer" "uint16_t fr_index" +.Ft void +.Fn libusb20_tr_set_callback "struct libusb20_transfer *xfer" "libusb20_tr_callback_t *cb" +.Ft void +.Fn libusb20_tr_set_flags "struct libusb20_transfer *xfer" "uint8_t flags" +.Ft void +.Fn libusb20_tr_set_length "struct libusb20_transfer *xfer" "uint32_t length" "uint16_t fr_index" +.Ft void +.Fn libusb20_tr_set_priv_sc0 "struct libusb20_transfer *xfer" "void *sc0" +.Ft void +.Fn libusb20_tr_set_priv_sc1 "struct libusb20_transfer *xfer" "void *sc1" +.Ft void +.Fn libusb20_tr_set_timeout "struct libusb20_transfer *xfer" "uint32_t timeout" +.Ft void +.Fn libusb20_tr_set_total_frames "struct libusb20_transfer *xfer" "uint32_t nframes" +.Ft void +.Fn libusb20_tr_setup_bulk "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint32_t timeout" +.Ft void +.Fn libusb20_tr_setup_control "struct libusb20_transfer *xfer" "void *psetup" "void *pbuf" "uint32_t timeout" +.Ft void +.Fn libusb20_tr_setup_intr "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint32_t timeout" +.Ft void +.Fn libusb20_tr_setup_isoc "struct libusb20_transfer *xfer" "void *pbuf" "uint32_t length" "uint61_t fr_index" +.Ft void +.Fn libusb20_tr_start "struct libusb20_transfer *xfer" +.Ft void +.Fn libusb20_tr_stop "struct libusb20_transfer *xfer" +.Ft void +.Fn libusb20_tr_submit "struct libusb20_transfer *xfer" +.Ft void * +.Fn libusb20_tr_get_priv_sc0 "struct libusb20_transfer *xfer" +.Ft void * +.Fn libusb20_tr_get_priv_sc1 "struct libusb20_transfer *xfer" +.Ft const char * +.Fn libusb20_dev_get_backend_name "struct libusb20_device *" +.Ft int +.Fn libusb20_dev_get_info "struct libusb20_device *pdev" "struct usb2_device_info *pinfo" +.Ft int +.Fn libusb20_dev_get_iface_desc "struct libusb20_device *pdev" "uint8_t iface_index" "char *buf" "uint8_t len" +.Ft const char * +.Fn libusb20_dev_get_desc "struct libusb20_device *pdev" +.Ft int +.Fn libusb20_dev_claim_interface "struct libusb20_device *pdev" "uint8_t iface_index" +.Ft int +.Fn libusb20_dev_close "struct libusb20_device *pdev" +.Ft int +.Fn libusb20_dev_detach_kernel_driver "struct libusb20_device *pdev" "uint8_t iface_index" +.Ft int +.Fn libusb20_dev_set_config_index "struct libusb20_device *pdev" "uint8_t configIndex" +.Ft int +.Fn libusb20_dev_get_debug "struct libusb20_device *pdev" +.Ft int +.Fn libusb20_dev_get_fd "struct libusb20_device *pdev" +.Ft int +.Fn libusb20_dev_kernel_driver_active "struct libusb20_device *pdev" "uint8_t iface_index" +.Ft int +.Fn libusb20_dev_open "struct libusb20_device *pdev" "uint16_t transfer_max" +.Ft int +.Fn libusb20_dev_process "struct libusb20_device *pdev" +.Ft int +.Fn libusb20_dev_release_interface "struct libusb20_device *pdev" "uint8_t iface_index" +.Ft int +.Fn libusb20_dev_request_sync "struct libusb20_device *pdev" "struct LIBUSB20_CONTROL_SETUP_DECODED *setup" "void *data" "uint16_t *pactlen" "uint32_t timeout" "uint8_t flags" +.Ft int +.Fn libusb20_dev_req_string_sync "struct libusb20_device *pdev" "uint8_t index" "uint16_t langid" "void *ptr" "uint16_t len" +.Ft int +.Fn libusb20_dev_req_string_simple_sync "struct libusb20_device *pdev" "uint8_t index" "void *ptr" "uint16_t len" +.Ft int +.Fn libusb20_dev_reset "struct libusb20_device *pdev" +.Ft int +.Fn libusb20_dev_set_power_mode "struct libusb20_device *pdev" "uint8_t power_mode" +.Ft uint8_t +.Fn libusb20_dev_get_power_mode "struct libusb20_device *pdev" +.Ft +.Fn libusb20_dev_set_alt_index "struct libusb20_device *pdev" "uint8_t iface_index" "uint8_t alt_index" +.Ft int +.Fn libusb20_dev_get_device_desc "struct libusb20_device *pdev" "uint8_t iface_indexr", "char *buf" "uint8_t len" +.Ft struct libusb20_config * +.Fn libusb20_dev_alloc_config "struct libusb20_device *pdev" "uint8_t config_index" +.Ft struct libusb20_device * +.Fn libusb20_dev_alloc "void" +.Ft uint8_t +.Fn libusb20_dev_get_address "struct libusb20_device *pdev" +.Ft uint8_t +.Fn libusb20_dev_get_bus_number "struct libusb20_device *pdev" +.Ft uint8_t +.Fn libusb20_dev_get_mode "struct libusb20_device *pdev" +.Ft uint8_t +.Fn libusb20_dev_get_speed "struct libusb20_device *pdev" +.Ft uint8_t +.Fn libusb20_dev_get_config_index "struct libusb20_device *pdev" +.Ft void +.Fn libusb20_dev_free "struct libusb20_device *pdev" +.Ft void +.Fn libusb20_dev_set_debug "struct libusb20_device *pdev" "int debug" +.Ft void +.Fn libusb20_dev_wait_process "struct libusb20_device *pdev" "int timeout" +.Ft int +.Fn libusb20_be_get_template "struct libusb20_backend *pbe" "int *ptemp" +.Ft int +.Fn libusb20_be_set_template "struct libusb20_backend *pbe" "int temp" +.Ft int +.Fn libusb20_be_get_dev_quirk "struct libusb20_backend *pber", "uint16_t index" "struct libusb20_quirk *pq" +.Ft int +.Fn libusb20_be_get_quirk_name "struct libusb20_backend *pbe" "uint16_t index" "struct libusb20_quirk *pq" +.Ft int +.Fn libusb20_be_add_dev_quirk "struct libusb20_backend *pbe" "struct libusb20_quirk *pq" +.Ft int +.Fn libusb20_be_remove_dev_quirk "struct libusb20_backend *pbe" "struct libusb20_quirk *pq" +.Ft struct libusb20_backend * +.Fn libusb20_be_alloc_linux "void" +.Ft struct libusb20_device * +.Fn libusb20_be_device_foreach "struct libusb20_backend *pbe" "struct libusb20_device *pdev" +.Ft void +.Fn libusb20_be_dequeue_device "struct libusb20_backend *pbe" "struct libusb20_device *pdev" +.Ft void +.Fn libusb20_be_enqueue_device "struct libusb20_backend *pbe" "struct libusb20_device *pdev" +.Ft void +.Fn libusb20_be_free "struct libusb20_backend *pbe" +.Ft uint8_t +.Fn libusb20_me_get_1 "const struct libusb20_me_struct *me" "uint16_t off" +.Ft uint16_t +.Fn libusb20_me_get_2 "const struct libusb20_me_struct *me" "uint16_t off" +.Ft uint16_t +.Fn libusb20_me_encode "void *pdata" "uint16_t len" "const void *pdecoded" +.Ft uint16_t +.Fn libusb20_me_decode "const void *pdata" "uint16_t len" "void *pdecoded" +.Ft "const uint8_t *" +.Fn libusb20_desc_foreach "const struct libusb20_me_struct *me" "const uint8_t *pdesc" . . .Sh DESCRIPTION @@ -60,9 +216,9 @@ . .Pp . -.Fn libusb20_tr_close pxfer -This function will release all kernel resources associated with an USB -.Fa pxfer . +.Fn libusb20_tr_close +will release all kernel resources associated with an USB +.Fa xfer . . This function returns zero upon success. . @@ -70,8 +226,8 @@ . .Pp . -.Fn libusb20_tr_open pxfer max_buf_size max_frame_count ep_no -This function will allocate kernel resources like +.Fn libusb20_tr_open +will allocate kernel resources like .Fa max_buf_size and .Fa max_frame_count @@ -86,8 +242,8 @@ . .Pp . -.Fn libusb20_tr_get_pointer pdev tr_index -This function will return a pointer to the allocated USB transfer according to the +.Fn libusb20_tr_get_pointer +will return a pointer to the allocated USB transfer according to the .Fa pdev and .Fa tr_index @@ -97,33 +253,33 @@ . .Pp . -.Fn libusb20_tr_get_time_complete pxfer -This function will return the completion time of an USB transfer in +.Fn libusb20_tr_get_time_complete +will return the completion time of an USB transfer in millisecond units. This function is most useful for isochronous USB transfers when doing echo cancelling. . .Pp . -.Fn libusb20_tr_get_actual_frames pxfer -This function will return the actual number of USB frames after an USB +.Fn libusb20_tr_get_actual_frames +will return the actual number of USB frames after an USB transfer completed. A value of zero means that no data was transferred. . .Pp . -.Fn libusb20_tr_get_actual_length pxfer -This function will return the sum of the actual length for all +.Fn libusb20_tr_get_actual_length +will return the sum of the actual length for all transferred USB frames for the given USB transfer. . .Pp . -.Fn libusb20_tr_get_max_frames pxfer -This function will return the maximum number of USB frames that were +.Fn libusb20_tr_get_max_frames +will return the maximum number of USB frames that were allocated when an USB transfer was setup for the given USB transfer. . .Pp . -.Fn libusb20_tr_get_max_packet_length pxfer -This function will return the maximum packet length in bytes +.Fn libusb20_tr_get_max_packet_length +will return the maximum packet length in bytes associated with the given USB transfer. . The packet length can be used round up buffer sizes so that short USB @@ -132,33 +288,33 @@ . .Pp . -.Fn libusb20_tr_get_max_total_length pxfer -This function will return the maximum value for the length sum of all +.Fn libusb20_tr_get_max_total_length +function will return the maximum value for the length sum of all USB frames associated with an USB transfer. . .Pp . -.Fn libusb20_tr_get_status pxfer -This function will return the status of an USB transfer. +.Fn libusb20_tr_get_status +will return the status of an USB transfer. . Status values are defined by a set of LIBUSB20_TRANSFER_XXX enums. . .Pp . -.Fn libusb20_tr_pending pxfer -This function will return non-zero if the given USB transfer is +.Fn libusb20_tr_pending +will return non-zero if the given USB transfer is pending for completion. . Else this function returns zero. . .Pp . -.Fn libusb20_tr_callback_wrapper pxfer +.Fn libusb20_tr_callback_wrapper This is an internal function used to wrap asynchronous USB callbacks. . .Pp . -.Fn libusb20_tr_clear_stall_sync pxfer +.Fn libusb20_tr_clear_stall_sync This is an internal function used to synchronously clear the stall on the given USB transfer. . @@ -171,14 +327,14 @@ . .Pp . -.Fn libusb20_tr_drain pxfer -This function will stop the given USB transfer and will not return +.Fn libusb20_tr_drain +will stop the given USB transfer and will not return until the USB transfer has been stopped in hardware. . .Pp . -.Fn libusb20_tr_set_buffer pxfer pbuf fr_index -This function is used to set the +.Fn libusb20_tr_set_buffer +is used to set the .Fa buffer pointer for the given USB transfer and .Fa fr_index . @@ -188,16 +344,16 @@ . .Pp . -.Fn libusb20_tr_set_callback pxfer pcallback -This function is used to set the USB callback for asynchronous USB +.Fn libusb20_tr_set_callback +is used to set the USB callback for asynchronous USB transfers. . The callback type is defined by libusb20_tr_callback_t. . .Pp . -.Fn libusb20_tr_set_flags pxfer flags -This function is used to set various USB flags for the given USB transfer. +.Fn libusb20_tr_set_flags +is used to set various USB flags for the given USB transfer. .Bl -tag .It LIBUSB20_TRANSFER_SINGLE_SHORT_NOT_OK Report a short frame as error. @@ -211,23 +367,23 @@ . .Pp . -.Fn libusb20_tr_set_length pxfer length fr_index -This function sets the length of a given USB transfer and frame index. +.Fn libusb20_tr_set_length +sets the length of a given USB transfer and frame index. . .Pp . -.Fn libusb20_tr_set_priv_sc0 pxfer psc0 -This function sets private driver pointer number zero. +.Fn libusb20_tr_set_priv_sc0 +sets private driver pointer number zero. . .Pp . -.Fn libusb20_tr_set_priv_sc1 pxfer psc1 -This function sets private driver pointer number one. +.Fn libusb20_tr_set_priv_sc1 +sets private driver pointer number one. . .Pp . -.Fn libusb20_tr_set_timeout pxfer timeout -This function sets the timeout for the given USB transfer. +.Fn libusb20_tr_set_timeout +sets the timeout for the given USB transfer. . A timeout value of zero means no timeout. . @@ -235,36 +391,36 @@ . .Pp . -.Fn libusb20_tr_set_total_frames pxfer nframes -This function sets the total number of frames that should be executed when the USB transfer is submitted. +.Fn libusb20_tr_set_total_frames +sets the total number of frames that should be executed when the USB transfer is submitted. . The total number of USB frames must be less than the maximum number of USB frames associated with the given USB transfer. . .Pp . -.Fn libusb20_tr_setup_bulk pxfer pbuf length timeout -This function is a helper function for setting up a single frame USB BULK transfer. +.Fn libusb20_tr_setup_bulk +is a helper function for setting up a single frame USB BULK transfer. . .Pp . -.Fn libusb20_tr_setup_control pxfer psetup pbuf timeout -This function is a helper function for setting up a single or dual +.Fn libusb20_tr_setup_control +is a helper function for setting up a single or dual frame USB CONTROL transfer depending on the control transfer length. . .Pp . -.Fn libusb20_tr_setup_intr pxfer pbuf length timeout -This function is a helper function for setting up a single frame USB INTERRUPT transfer. +.Fn libusb20_tr_setup_intr +is a helper function for setting up a single frame USB INTERRUPT transfer. . .Pp . -.Fn libusb20_tr_setup_isoc pxfer pbuf length fr_index -This function is a helper function for setting up a multi frame USB ISOCHRONOUS transfer. +.Fn libusb20_tr_setup_isoc +is a helper function for setting up a multi frame USB ISOCHRONOUS transfer. . .Pp . -.Fn libusb20_tr_start pxfer -This function will get the USB transfer started, if not already +.Fn libusb20_tr_start +will get the USB transfer started, if not already started. . This function will not get the transfer queued in hardware. @@ -273,29 +429,29 @@ . .Pp . -.Fn libusb20_tr_stop pxfer -This function will get the USB transfer stopped, if not already stopped. +.Fn libusb20_tr_stop +will get the USB transfer stopped, if not already stopped. . This function is non-blocking, which means that the actual stop can happen after the return of this function. . .Pp . -.Fn libusb20_tr_submit pxfer -This function will get the USB transfer queued in hardware. +.Fn libusb20_tr_submit +will get the USB transfer queued in hardware. . . .Pp . -.Fn libusb20_tr_get_priv_sc0 pxfer -This function returns private driver pointer number zero associated +.Fn libusb20_tr_get_priv_sc0 +returns private driver pointer number zero associated with an USB transfer. . . .Pp . -.Fn libusb20_tr_get_priv_sc1 pxfer -This function returns private driver pointer number one associated +.Fn libusb20_tr_get_priv_sc1 +returns private driver pointer number one associated with an USB transfer. . . @@ -303,13 +459,13 @@ . .Pp . -.Fn libusb20_dev_get_backend_name pdev -This function returns a zero terminated string describing the backend used. +.Fn libusb20_dev_get_backend_name +returns a zero terminated string describing the backend used. . .Pp . -.Fn libusb20_dev_get_info pdev pinfo -This function retrives the BSD specific usb2_device_info structure into the memory location given by +.Fn libusb20_dev_get_info +retrives the BSD specific usb2_device_info structure into the memory location given by .Fa pinfo . The USB device given by .Fa pdev @@ -318,8 +474,8 @@ . .Pp . -.Fn libusb20_dev_get_iface_desc pdev iface_index pbuf len -This function retrieves the kernel interface description for the given USB +.Fn libusb20_dev_get_iface_desc +retrieves the kernel interface description for the given USB .Fa iface_index . The format of the USB interface description is: "drivername: " The description string is always zero terminated. @@ -331,13 +487,13 @@ . .Pp . -.Fn libusb20_dev_get_desc pdev -This function returns a zero terminated string describing the given USB device. +.Fn libusb20_dev_get_desc +returns a zero terminated string describing the given USB device. The format of the string is: "drivername: " . .Pp . -.Fn libusb20_dev_claim_interface pdev iface_index +.Fn libusb20_dev_claim_interface This function will try to claim the given USB interface given by .Fa iface_index . This function returns zero on success else a LIBUSB20_ERROR value is @@ -345,16 +501,16 @@ . .Pp . -.Fn libusb20_dev_close pdev -This function will close the given USB device. +.Fn libusb20_dev_close +will close the given USB device. . This function returns zero on success else a LIBUSB20_ERROR value is returned. . .Pp . -.Fn libusb20_dev_detach_kernel_driver pdev iface_index -This function will try to detach the kernel driver for the USB interface given by +.Fn libusb20_dev_detach_kernel_driver +will try to detach the kernel driver for the USB interface given by .Fa iface_index . . This function returns zero on success else a LIBUSB20_ERROR value is @@ -362,8 +518,8 @@ . .Pp . -.Fn libusb20_dev_set_config_index pdev config_index -This function will try to set the configuration index on an USB +.Fn libusb20_dev_set_config_index +will try to set the configuration index on an USB device. . The first configuration index is zero. @@ -374,13 +530,13 @@ . .Pp . -.Fn libusb20_dev_get_debug pdev -This function returns the debug level of an USB device. +.Fn libusb20_dev_get_debug +returns the debug level of an USB device. . .Pp . -.Fn libusb20_dev_get_fd pdev -This function returns the file descriptor of the given USB device. +.Fn libusb20_dev_get_fd +returns the file descriptor of the given USB device. . A negative value is returned when no file descriptor is present. . @@ -388,16 +544,16 @@ . .Pp . -.Fn libusb20_dev_kernel_driver_active pdev iface_index -This function returns a non-zero value if a kernel driver is active on +.Fn libusb20_dev_kernel_driver_active +returns a non-zero value if a kernel driver is active on the given USB interface. . Else zero is returned. . .Pp . -.Fn libusb20_dev_open pdev transfer_max -This function opens an USB device so that setting up USB transfers +.Fn libusb20_dev_open +opens an USB device so that setting up USB transfers becomes possible. . The number of USB transfers can be zero which means only control @@ -411,8 +567,8 @@ . .Pp . -.Fn libusb20_dev_process pdev -This function is called to sync kernel USB transfers with userland USB +.Fn libusb20_dev_process +is called to sync kernel USB transfers with userland USB transfers. . This function returns zero on success else a LIBUSB20_ERROR value is @@ -421,16 +577,16 @@ . .Pp . -.Fn libusb20_dev_release_interface pdev iface_index -This function will try to release a claimed USB interface for the specified USB device. +.Fn libusb20_dev_release_interface +will try to release a claimed USB interface for the specified USB device. . This function returns zero on success else a LIBUSB20_ERROR value is returned. . .Pp . -.Fn libusb20_dev_request_sync pdev psetup pdata pactlen timeout flags -This function will perform a synchronous control request on the given +.Fn libusb20_dev_request_sync +will perform a synchronous control request on the given USB device. . Before this call will succeed the USB device must be opened. @@ -452,8 +608,8 @@ . .Pp . -.Fn libusb20_dev_req_string_sync pdev index lang_id pbuf len -This function will synchronously request an USB string by language ID +.Fn libusb20_dev_req_string_sync +will synchronously request an USB string by language ID and string index into the given buffer limited by a maximum length. . This function returns zero on success else a LIBUSB20_ERROR value is @@ -461,8 +617,8 @@ . .Pp . -.Fn libusb20_dev_req_string_simple_sync pdev index pbuf len -This function will synchronously request an USB string using the +.Fn libusb20_dev_req_string_simple_sync +will synchronously request an USB string using the default language ID and convert the string into ASCII before storing the string into the given buffer limited by a maximum length which includes the terminating zero. @@ -473,8 +629,8 @@ . .Pp . -.Fn libusb20_dev_reset pdev -This function will try to BUS reset the given USB device and restore +.Fn libusb20_dev_reset +will try to BUS reset the given USB device and restore the last set USB configuration. . This function returns zero on success else a LIBUSB20_ERROR value is @@ -482,8 +638,8 @@ . .Pp . -.Fn libusb20_dev_set_power_mode pdev power_mode -This function sets the power mode of the USB device. +.Fn libusb20_dev_set_power_mode +sets the power mode of the USB device. . Valid power modes: .Bl -tag @@ -499,14 +655,14 @@ . .Pp . -.Fn libusb20_dev_get_power_mode pdev -This function returns the currently selected power mode for the given +.Fn libusb20_dev_get_power_mode +returns the currently selected power mode for the given USB device. . .Pp . -.Fn libusb20_dev_set_alt_index pdev iface_index alt_index -This function will try to set the given alternate index for the given +.Fn libusb20_dev_set_alt_index +will try to set the given alternate index for the given USB interface index. . This function returns zero on success else a LIBUSB20_ERROR value is @@ -514,41 +670,41 @@ . .Pp . -.Fn libusb20_dev_get_device_desc pdev -This function returns a pointer to the decoded and host endian version +.Fn libusb20_dev_get_device_desc +returns a pointer to the decoded and host endian version of the device descriptor. . The USB device need not be opened when calling this function. . .Pp . -.Fn libusb20_dev_alloc_config pdev config_index -This function will read out and decode the USB config descriptor for +.Fn libusb20_dev_alloc_config +will read out and decode the USB config descriptor for the given USB device and config index. This function returns a pointer to the decoded configuration which must eventually be passed to free(). NULL is returned in case of failure. . .Pp . -.Fn libusb20_dev_alloc void -This is an internal function to allocate a new USB device. +.Fn libusb20_dev_alloc +is an internal function to allocate a new USB device. . .Pp . -.Fn libusb20_dev_get_address pdev -This function returns the internal and not necessarily the real +.Fn libusb20_dev_get_address +returns the internal and not necessarily the real hardware address of the given USB device. . .Pp . -.Fn libusb20_dev_get_bus_number pdev -This function return the internal bus number which the given USB +.Fn libusb20_dev_get_bus_number +returns the internal bus number which the given USB device belongs to. . .Pp . -.Fn libusb20_dev_get_mode pdev -This function returns the current operation mode of the USB entity. +.Fn libusb20_dev_get_mode +returns the current operation mode of the USB entity. . Valid return values are: .Bl -tag @@ -558,8 +714,8 @@ . .Pp . -.Fn libusb20_dev_get_speed pdev -This function returns the current speed of the given USB device. +.Fn libusb20_dev_get_speed +returns the current speed of the given USB device. . .Bl -tag .It LIBUSB20_SPEED_UNKNOWN @@ -572,25 +728,25 @@ . .Pp . -.Fn libusb20_dev_get_config_index pdev +.Fn libusb20_dev_get_config_index This function returns the currently select config index for the given USB device. . .Pp . -.Fn libusb20_dev_free pdev -This function will free the given USB device and all associated USB +.Fn libusb20_dev_free +will free the given USB device and all associated USB transfers. . .Pp . -.Fn libusb20_dev_set_debug pdev debug_level -This function will set the debug level for the given USB device. +.Fn libusb20_dev_set_debug +will set the debug level for the given USB device. . .Pp . -.Fn libusb20_dev_wait_process pdev timeout -This function will wait until a pending USB transfer has completed on +.Fn libusb20_dev_wait_process +function will wait until a pending USB transfer has completed on the given USB device. . A timeout value can be specified which is passed on to the @@ -599,8 +755,8 @@ . .Sh USB BACKEND OPERATIONS . -.Fn libusb20_be_get_template pbackend ptemp -This function will return the currently selected global USB device +.Fn libusb20_be_get_template +will return the currently selected global USB device side mode template into the integer pointer .Fa ptemp . This function returns zero on success else a LIBUSB20_ERROR value is @@ -608,8 +764,8 @@ . .Pp . -.Fn libusb20_be_set_template pbackend temp -This function will set the global USB device side mode template to +.Fn libusb20_be_set_template +will set the global USB device side mode template to .Fa temp . The new template is not activated until after the next USB enumeration. @@ -623,7 +779,7 @@ . .Pp . -.Fn libusb20_be_get_dev_quirk pbackend index pquirk +.Fn libusb20_be_get_dev_quirk This function will return the device quirk according to .Fa index into the libusb20_quirk structure pointed to by @@ -636,8 +792,8 @@ . .Pp . -.Fn libusb20_be_get_quirk_name pbackend index pquirk -This function will return the quirk name according to +.Fn libusb20_be_get_quirk_name +will return the quirk name according to .Fa index into the libusb20_quirk structure pointed to by .Fa pq . @@ -649,8 +805,8 @@ . .Pp . -.Fn libusb20_be_add_dev_quirk pbackend pquirk -This function will add the libusb20_quirk structure pointed to by the +.Fn libusb20_be_add_dev_quirk +will add the libusb20_quirk structure pointed to by the .Fa pq argument into the device quirk list. . @@ -662,8 +818,8 @@ . .Pp . -.Fn libusb20_be_remove_dev_quirk pbackend pquirk -This function will remove the quirk matching the libusb20_quirk structure pointed to by the +.Fn libusb20_be_remove_dev_quirk +will remove the quirk matching the libusb20_quirk structure pointed to by the .Fa pq argument from the device quirk list. . @@ -673,15 +829,15 @@ If the given quirk does not exist LIBUSB20_ERROR_NOT_FOUND is returned. . -.Fn libusb20_be_alloc_linux void +.Fn libusb20_be_alloc_linux These functions are used to allocate a specific USB backend or the operating system default USB backend. Allocating a backend is a way to scan for currently present USB devices. . .Pp . -.Fn libusb20_be_device_foreach pbackend pdev -This function is used to iterate USB devices present in a USB backend. +.Fn libusb20_be_device_foreach +is used to iterate USB devices present in a USB backend. . The starting value of .Fa pdev @@ -693,23 +849,23 @@ . .Pp . -.Fn libusb20_be_dequeue_device pbackend pdev -This function will dequeue the given USB device pointer from the +.Fn libusb20_be_dequeue_device +will dequeue the given USB device pointer from the backend USB device list. . Dequeued USB devices will not be freed when the backend is freed. . .Pp . -.Fn libusb20_be_enqueue_device pbackend pdev +.Fn libusb20_be_enqueue_device This function will enqueue the given USB device pointer in the backend USB device list. . Enqueued USB devices will get freed when the backend is freed. . .Pp . -.Fn libusb20_be_free pbackend -This function will free the given backend and all USB devices in its device list. +.Fn libusb20_be_free +will free the given backend and all USB devices in its device list. . . .Sh USB DESCRIPTOR PARSING From owner-p4-projects@FreeBSD.ORG Fri Mar 27 23:09:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 404A21065674; Fri, 27 Mar 2009 23:09:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DFC361065672 for ; Fri, 27 Mar 2009 23:09:55 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CAD438FC0A for ; Fri, 27 Mar 2009 23:09:55 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RN9tpv093164 for ; Fri, 27 Mar 2009 23:09:55 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RN9tlS093162 for perforce@freebsd.org; Fri, 27 Mar 2009 23:09:55 GMT (envelope-from trasz@freebsd.org) Date: Fri, 27 Mar 2009 23:09:55 GMT Message-Id: <200903272309.n2RN9tlS093162@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 159935 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 23:09:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=159935 Change 159935 by trasz@trasz_victim7 on 2009/03/27 23:09:53 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/rcsfile.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/rcsfile.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/rcsparse.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/updater.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/gcc/c-decl.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/savefile.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/include/stdio.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/db/btree/bt_debug.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/db/btree/bt_open.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/db/mpool/mpool.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/net/getaddrinfo.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/Makefile.inc#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/be_BY.UTF-8.msg#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/de_DE.ISO8859-1.msg#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/ptrace.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/pmc.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/pmclog.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/picobsd/bridge/PICOBSD#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/picobsd/bridge/config#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/picobsd/bridge/crunch.conf#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/picobsd/build/picobsd#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/picobsd/floppy.tree/etc/rc1#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/sparc64/mkisoimages.sh#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/class/label/glabel.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/ifieee80211.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ath.4#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ath_hal.4#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/malo.4#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/man4.i386/fe.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/wlan.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/skel/dot.login#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/skel/dot.profile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/zoneinfo/africa#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/zoneinfo/asia#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/zoneinfo/southamerica#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/acpica/acpi_machdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/acpica/acpi_wakecode.S#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/acpica/acpi_wakeup.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/acpica/genwakecode.sh#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/fpu.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/machdep.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/linux32/linux.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/pci/pci_cfgreg.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/dev/dtnfsclient/dtnfsclient.c#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/freebsd32/freebsd32_misc.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linprocfs/linprocfs.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/compat/linux/linux_file.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#33 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.amd64#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files.i386#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/options#21 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpica/acpi.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpica/acpi_cpu.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ah_osdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/cxgb_main.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cxgb/cxgb_offload.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/ati_pcigart.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/drmP.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/drm_irq.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/drm_scatter.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/i915_dma.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/drm/i915_irq.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ed/if_ed.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ed/if_ed_pccard.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/fe/if_fe_pccard.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hptiop/hptiop.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/if_ndis/if_ndis.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ipmi/ipmi_linux.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iwn/if_iwn.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/msk/if_msk.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pccard/pccarddevs#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/twa/tw_cl_init.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/twa/tw_osl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/twa/tw_osl_freebsd.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/ohci.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wpi/if_wpi.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/wpi/if_wpireg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/label/g_label.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/label/g_label.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/label/g_label_ufs.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part_apm.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part_bsd.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/part/g_part_ebr.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/machdep.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/isa/npx.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/pci/pci_cfgreg.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_jail.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_bus.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_param.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_rtc.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_bio.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_cache.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_lookup.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_mount.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/Makefile#22 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/dtrace/dtnfsclient/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ipmi/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ipmi/ipmi_linux/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/linprocfs/Makefile#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/opensolaris/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_adhoc.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_freebsd.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_hostap.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_input.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_input.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_ioctl.c#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_node.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_output.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_proto.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_proto.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_sta.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_superg.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_superg.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_tdma.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_tdma.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211_wds.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/igmp.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_bio.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_kdtrace.c#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_kdtrace.h#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_subs.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vnops.c#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/powerpc/powermac/ata_macio.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/dtrace_bsd.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/jail.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/param.h#20 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#22 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vnops.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/login/login.c#2 integrate Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/rcsfile.c#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/contrib/csup/rcsfile.c,v 1.1 2009/01/05 15:18:16 lulf Exp $ + * $FreeBSD: src/contrib/csup/rcsfile.c,v 1.2 2009/03/25 20:15:48 lulf Exp $ */ #include @@ -140,7 +140,7 @@ struct delta *); static struct stream *rcsfile_getdeltatext(struct rcsfile *, struct delta *, struct buf **); -static void rcsdelta_writestring(char *, size_t, struct stream *); +static int rcsdelta_writestring(char *, size_t, struct stream *); static void rcsdelta_insertbranch(struct delta *, struct branch *); /* Space formatting of RCS file. */ @@ -308,14 +308,19 @@ /* First write head. */ d = LIST_FIRST(&rf->trunk->deltalist); - stream_printf(dest, "head%s%s;\n", head_space, d->revnum); + if (stream_printf(dest, "head%s%s;\n", head_space, d->revnum) < 0) + return (-1); /* Write branch, if we have. */ - if (rf->branch != NULL) - stream_printf(dest, "branch%s%s;\n", branch_space, rf->branch); + if (rf->branch != NULL) { + if (stream_printf(dest, "branch%s%s;\n", branch_space, + rf->branch) < 0) + return (-1); + } /* Write access. */ - stream_printf(dest, "access"); + if (stream_printf(dest, "access") < 0) + return (-1); #if 0 if (!STAILQ_EMPTY(&rf->accesslist)) { /* @@ -324,32 +329,44 @@ */ } #endif - stream_printf(dest, ";\n"); + if (stream_printf(dest, ";\n") < 0) + return (-1); /* Write out taglist. */ - stream_printf(dest, "symbols"); + if (stream_printf(dest, "symbols") < 0) + return (-1); if (!STAILQ_EMPTY(&rf->taglist)) { STAILQ_FOREACH(t, &rf->taglist, tag_next) { - stream_printf(dest, "\n%s%s:%s", tag_space, t->tag, - t->revnum); + if (stream_printf(dest, "\n%s%s:%s", tag_space, t->tag, + t->revnum) < 0) + return (-1); } } - stream_printf(dest, ";\n"); /* Write out locks and strict. */ - stream_printf(dest, "locks;"); - if (rf->strictlock) - stream_printf(dest, " strict;"); - stream_printf(dest, "\n"); + if (stream_printf(dest, ";\nlocks;") < 0) + return (-1); + if (rf->strictlock) { + if (stream_printf(dest, " strict;") < 0) + return (-1); + } + if (stream_printf(dest, "\n") < 0) + return (-1); /* Write out the comment. */ - if (rf->comment != NULL) - stream_printf(dest, "comment%s%s;\n", comment_space, rf->comment); - if (rf->expand != EXPAND_DEFAULT) - stream_printf(dest, "expand%s@%s@;\n", expand_space, - keyword_encode_expand(rf->expand)); + if (rf->comment != NULL) { + if (stream_printf(dest, "comment%s%s;\n", comment_space, + rf->comment) < 0) + return (-1); + } + if (rf->expand != EXPAND_DEFAULT) { + if (stream_printf(dest, "expand%s@%s@;\n", expand_space, + keyword_encode_expand(rf->expand)) < 0) + return (-1); + } - stream_printf(dest, "\n\n"); + if (stream_printf(dest, "\n\n") < 0) + return (-1); /* * Write out deltas. We use a stack where we push the appropriate deltas @@ -364,14 +381,18 @@ /* Do not write out placeholders just to be safe. */ if (d->placeholder) continue; - stream_printf(dest, "%s\n", d->revnum); - stream_printf(dest, "date%s%s;%sauthor %s;%sstate", + if (stream_printf(dest, "%s\n", d->revnum) < 0) + return (-1); + if (stream_printf(dest, "date%s%s;%sauthor %s;%sstate", date_space, d->revdate, auth_space, d->author, - state_space); - if (d->state != NULL) - stream_printf(dest, " %s", d->state); - stream_printf(dest, ";\n"); - stream_printf(dest, "branches"); + state_space) < 0) + return (-1); + if (d->state != NULL) { + if (stream_printf(dest, " %s", d->state) < 0) + return (-1); + } + if (stream_printf(dest, ";\nbranches") < 0) + return (-1); /* * Write out our branches. Add them to a reversed list for use * later when we write out the text. @@ -385,30 +406,36 @@ /* Push branch heads on stack. */ STAILQ_FOREACH(d_tmp, &deltalist_inverted, delta_prev) { - if (d_tmp == NULL) - err(1, "empty branch!"); - stream_printf(dest, "\n%s%s", branches_space, - d_tmp->revnum); + if (d_tmp == NULL) { + lprintf(2, "Empty branch!\n"); + return (-1); + } + if (stream_printf(dest, "\n%s%s", branches_space, + d_tmp->revnum) < 0) + return (-1); } - stream_printf(dest, ";\n"); - stream_printf(dest, "next%s", next_space); + if (stream_printf(dest, ";\nnext%s", next_space) < 0) + return (-1); /* Push next delta on stack. */ d_next = LIST_NEXT(d, delta_next); if (d_next != NULL) { - stream_printf(dest, "%s", d_next->revnum); + if (stream_printf(dest, "%s", d_next->revnum) < 0) + return (-1); STAILQ_INSERT_HEAD(&deltastack, d_next, stack_next); } - stream_printf(dest, ";\n\n"); + if (stream_printf(dest, ";\n\n") < 0) + return (-1); } - stream_printf(dest, "\n"); /* Write out desc. */ - stream_printf(dest, "desc\n@@"); + if (stream_printf(dest, "\ndesc\n@@") < 0) + return (-1); d = LIST_FIRST(&rf->trunk->deltalist); /* Write out deltatexts. */ error = rcsfile_write_deltatext(rf, dest); - stream_printf(dest, "\n"); + if (stream_printf(dest, "\n") < 0) + return (-1); return (error); } @@ -438,21 +465,25 @@ /* Do not write out placeholders just to be safe. */ if (d->placeholder) return (0); - stream_printf(dest, "\n\n\n%s\n", d->revnum); - stream_printf(dest, "log\n@"); + if (stream_printf(dest, "\n\n\n%s\n", d->revnum) < 0) + return (-1); + if (stream_printf(dest, "log\n@") < 0) + return (-1); in = stream_open_buf(d->log); line = stream_getln(in, &size); while (line != NULL) { - stream_write(dest, line, size); + if (stream_write(dest, line, size) == -1) + return (-1); line = stream_getln(in, &size); } stream_close(in); - stream_printf(dest, "@\n"); - stream_printf(dest, "text\n@"); + if (stream_printf(dest, "@\ntext\n@") < 0) + return (-1); error = rcsfile_puttext(rf, dest, d, d->prev); if (error) return (error); - stream_printf(dest, "@"); + if (stream_printf(dest, "@") < 0) + return (-1); LIST_INIT(&branchlist_datesorted); d_next = LIST_NEXT(d, delta_next); @@ -535,7 +566,10 @@ in = stream_open_buf(d->text); line = stream_getln(in, &size); while (line != NULL) { - stream_write(dest, line, size); + if (stream_write(dest, line, size) == -1) { + error = -1; + goto cleanup; + } line = stream_getln(in, &size); } stream_close(in); @@ -549,7 +583,10 @@ } line = stream_getln(orig, &size); while (line != NULL) { - stream_write(dest, line, size); + if (stream_write(dest, line, size) == -1) { + error = -1; + goto cleanup; + } line = stream_getln(orig, &size); } stream_close(orig); @@ -1261,6 +1298,7 @@ rcsdelta_addlog(struct delta *d, char *log, int len) { struct stream *dest; + int nbytes; assert(d != NULL); /* Strip away '@' at beginning and end. */ @@ -1268,9 +1306,9 @@ len--; log[len - 1] = '\0'; dest = stream_open_buf(d->log); - stream_write(dest, log, len - 1); + nbytes = stream_write(dest, log, len - 1); stream_close(dest); - return (0); + return ((nbytes == -1) ? -1 : 0); } /* Add deltatext to a delta. Assume the delta already exists. */ @@ -1278,6 +1316,7 @@ rcsdelta_addtext(struct delta *d, char *text, int len) { struct stream *dest; + int nbytes; assert(d != NULL); /* Strip away '@' at beginning and end. */ @@ -1286,36 +1325,40 @@ text[len - 1] = '\0'; dest = stream_open_buf(d->text); - stream_write(dest, text, len - 1); + nbytes = stream_write(dest, text, len - 1); stream_close(dest); - return (0); + return ((nbytes == -1) ? -1 : 0); } /* Add a deltatext logline to a delta. */ -void +int rcsdelta_appendlog(struct delta *d, char *logline, size_t size) { struct stream *dest; + int error; assert(d != NULL); dest = stream_open_buf(d->log); - rcsdelta_writestring(logline, size, dest); + error = rcsdelta_writestring(logline, size, dest); stream_close(dest); + return (error); } /* Add a deltatext textline to a delta. */ -void +int rcsdelta_appendtext(struct delta *d, char *textline, size_t size) { struct stream *dest; + int error; assert(d != NULL); dest = stream_open_buf(d->text); - rcsdelta_writestring(textline, size, dest); + error = rcsdelta_writestring(textline, size, dest); stream_close(dest); + return (error); } -static void +static int rcsdelta_writestring(char *textline, size_t size, struct stream *dest) { char buf[3]; @@ -1332,8 +1375,10 @@ buf[2] = '\0'; count = 2; } - stream_write(dest, buf, count); + if (stream_write(dest, buf, count) == -1) + return (-1); } + return (0); } /* Set delta state. */ ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/rcsfile.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/contrib/csup/rcsfile.h,v 1.1 2009/01/05 15:18:16 lulf Exp $ + * $FreeBSD: src/contrib/csup/rcsfile.h,v 1.2 2009/03/25 20:15:48 lulf Exp $ */ #ifndef _RCSFILE_H_ @@ -65,8 +65,8 @@ int rcsdelta_addlog(struct delta *, char *, int); int rcsdelta_addtext(struct delta *, char *, int); -void rcsdelta_appendlog(struct delta *, char *, size_t); -void rcsdelta_appendtext(struct delta *, char *, size_t); +int rcsdelta_appendlog(struct delta *, char *, size_t); +int rcsdelta_appendtext(struct delta *, char *, size_t); void rcsdelta_setstate(struct delta *, char *); void rcsdelta_truncatetext(struct delta *, off_t); void rcsdelta_truncatelog(struct delta *, off_t); ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/rcsparse.c#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/contrib/csup/rcsparse.c,v 1.1 2009/01/05 15:18:16 lulf Exp $ + * $FreeBSD: src/contrib/csup/rcsparse.c,v 1.2 2009/03/25 20:15:48 lulf Exp $ */ #include @@ -309,7 +309,7 @@ error = 0; /* In case we don't have deltatexts. */ if (token != NUM) - return (token); + return (-1); do { /* num */ assert(token == NUM); ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/csup/updater.c#5 (text) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/contrib/csup/updater.c,v 1.4 2009/03/06 20:17:16 lulf Exp $ + * $FreeBSD: src/contrib/csup/updater.c,v 1.6 2009/03/25 20:15:48 lulf Exp $ */ #include @@ -1385,8 +1385,11 @@ do { nread = stream_read(up->rd, buf, (BUFSIZE > remains ? remains : BUFSIZE)); + if (nread == -1) + return (UPDATER_ERR_PROTO); remains -= nread; - stream_write(to, buf, nread); + if (stream_write(to, buf, nread) == -1) + goto bad; } while (remains > 0); stream_close(to); line = stream_getln(up->rd, NULL); @@ -1411,9 +1414,11 @@ FA_MODTIME | FA_MASK); error = updater_updatefile(up, fup, md5, isfixup); fup->wantmd5 = NULL; /* So that it doesn't get freed. */ - if (error) - return (error); - return (0); + return (error); +bad: + xasprintf(&up->errmsg, "%s: Cannot write: %s", fup->temppath, + strerror(errno)); + return (UPDATER_ERR_MSG); } static int @@ -1469,7 +1474,9 @@ if (nbytes == -1) goto bad; } - stream_write(to, line, size); + nbytes = stream_write(to, line, size); + if (nbytes == -1) + goto bad; line = stream_getln(up->rd, &size); first = 0; } @@ -1661,6 +1668,7 @@ else lprintf(1, " Touch %s", fup->coname); /* Install new attributes. */ + fattr_umask(sr->sr_serverattr, coll->co_umask); fattr_install(sr->sr_serverattr, fup->destpath, NULL); if (fup->attic) lprintf(1, " -> Attic"); @@ -1681,8 +1689,11 @@ error = rcsfile_write(rf, dest); stream_close(dest); rcsfile_free(rf); - if (error) - lprintf(-1, "Error writing %s\n", name); + if (error) { + xasprintf(&up->errmsg, "%s: Cannot write: %s", fup->temppath, + strerror(errno)); + return (UPDATER_ERR_MSG); + } finish: sr->sr_clientattr = fattr_frompath(path, FATTR_NOFOLLOW); @@ -1767,7 +1778,9 @@ size--; logline++; } - rcsdelta_appendlog(d, logline, size); + if (rcsdelta_appendlog(d, logline, size) + < 0) + return (-1); logline = stream_getln(rd, &size); } break; @@ -1798,7 +1811,9 @@ size--; textline++; } - rcsdelta_appendtext(d, textline, size); + if (rcsdelta_appendtext(d, textline, + size) < 0) + return (-1); textline = stream_getln(rd, &size); } break; @@ -1838,8 +1853,15 @@ stream_filter_start(to, STREAM_FILTER_MD5, md5); /* First write the existing content. */ - while ((nread = read(fd, buf, BUFSIZE)) > 0) - stream_write(to, buf, nread); + while ((nread = read(fd, buf, BUFSIZE)) > 0) { + if (stream_write(to, buf, nread) == -1) + goto bad; + } + if (nread == -1) { + xasprintf(&up->errmsg, "%s: Error reading: %s", + strerror(errno)); + return (UPDATER_ERR_MSG); + } close(fd); bytes = fattr_filesize(fa) - pos; @@ -1847,8 +1869,11 @@ do { nread = stream_read(up->rd, buf, (BUFSIZE > bytes) ? bytes : BUFSIZE); + if (nread == -1) + return (UPDATER_ERR_PROTO); bytes -= nread; - stream_write(to, buf, nread); + if (stream_write(to, buf, nread) == -1) + goto bad; } while (bytes > 0); stream_close(to); @@ -1874,9 +1899,11 @@ FA_MODTIME | FA_MASK); error = updater_updatefile(up, fup, md5, 0); fup->wantmd5 = NULL; /* So that it doesn't get freed. */ - if (error) - return (error); - return (0); + return (error); +bad: + xasprintf(&up->errmsg, "%s: Cannot write: %s", fup->temppath, + strerror(errno)); + return (UPDATER_ERR_MSG); } /* ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/gcc/c-decl.c#3 (text+ko) ==== @@ -19,7 +19,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -/* $FreeBSD: src/contrib/gcc/c-decl.c,v 1.16 2009/03/14 19:36:13 das Exp $ */ +/* $FreeBSD: src/contrib/gcc/c-decl.c,v 1.17 2009/03/25 05:10:32 das Exp $ */ /* Merged C99 inline changes from gcc trunk 122565 2007-03-05 */ /* Fixed problems with compiling inline-25.c and inline-26.c */ /* XXX still fails inline-29.c, inline-31.c, and inline-32.c */ @@ -798,7 +798,9 @@ && DECL_ABSTRACT_ORIGIN (p) != p) TREE_ADDRESSABLE (DECL_ABSTRACT_ORIGIN (p)) = 1; if (!DECL_EXTERNAL (p) - && DECL_INITIAL (p) == 0) + && DECL_INITIAL (p) == 0 + && scope != file_scope + && scope != external_scope) { error ("nested function %q+D declared but never defined", p); undef_nested_function = true; ==== //depot/projects/soc2008/trasz_nfs4acl/contrib/libpcap/savefile.c#4 (text+ko) ==== @@ -908,7 +908,7 @@ { DLT_IPMB, LINKTYPE_IPMB }, /* enc0 device */ - { DLT_ENC, LINKTYPE_ENC }, + { DLT_ENC, LINKTYPE_ENC }, /* Juniper Secure Tunnel */ { DLT_JUNIPER_ST, LINKTYPE_JUNIPER_ST }, ==== //depot/projects/soc2008/trasz_nfs4acl/include/stdio.h#3 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)stdio.h 8.5 (Berkeley) 4/29/95 - * $FreeBSD: src/include/stdio.h,v 1.77 2009/03/14 19:12:11 das Exp $ + * $FreeBSD: src/include/stdio.h,v 1.78 2009/03/25 08:07:52 das Exp $ */ #ifndef _STDIO_H_ @@ -381,7 +381,7 @@ #endif #ifdef _WITH_DPRINTF -int dprintf(int, const char * __restrict, ...); +int (dprintf)(int, const char * __restrict, ...); #endif #endif /* __BSD_VISIBLE || __POSIX_VISIBLE >= 200809 */ ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/db/btree/bt_debug.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ static char sccsid[] = "@(#)bt_debug.c 8.5 (Berkeley) 8/17/94"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/db/btree/bt_debug.c,v 1.5 2009/03/02 23:47:18 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/db/btree/bt_debug.c,v 1.6 2009/03/23 23:22:09 delphij Exp $"); #include @@ -61,7 +61,7 @@ char *sep; t = dbp->internal; - (void)fprintf(stderr, "%s: pgsz %d", + (void)fprintf(stderr, "%s: pgsz %u", F_ISSET(t, B_INMEM) ? "memory" : "disk", t->bt_psize); if (F_ISSET(t, R_RECNO)) (void)fprintf(stderr, " keys %u", t->bt_nrecs); @@ -157,7 +157,7 @@ indx_t cur, top; char *sep; - (void)fprintf(stderr, " page %d: (", h->pgno); + (void)fprintf(stderr, " page %u: (", h->pgno); #undef X #define X(flag, name) \ if (h->flags & flag) { \ @@ -174,7 +174,7 @@ (void)fprintf(stderr, ")\n"); #undef X - (void)fprintf(stderr, "\tprev %2d next %2d", h->prevpg, h->nextpg); + (void)fprintf(stderr, "\tprev %2u next %2u", h->prevpg, h->nextpg); if (h->flags & P_OVERFLOW) return; @@ -292,27 +292,27 @@ (void)mpool_put(t->bt_mp, h, 0); } - (void)fprintf(stderr, "%d level%s with %ld keys", + (void)fprintf(stderr, "%d level%s with %lu keys", levels, levels == 1 ? "" : "s", nkeys); if (F_ISSET(t, R_RECNO)) - (void)fprintf(stderr, " (%d header count)", t->bt_nrecs); + (void)fprintf(stderr, " (%u header count)", t->bt_nrecs); (void)fprintf(stderr, - "\n%u pages (leaf %d, internal %d, overflow %d)\n", + "\n%u pages (leaf %u, internal %u, overflow %u)\n", pinternal + pleaf + pcont, pleaf, pinternal, pcont); - (void)fprintf(stderr, "%ld cache hits, %ld cache misses\n", + (void)fprintf(stderr, "%lu cache hits, %lu cache misses\n", bt_cache_hit, bt_cache_miss); (void)fprintf(stderr, "%lu splits (%lu root splits, %lu sort splits)\n", bt_split, bt_rootsplit, bt_sortsplit); pleaf *= t->bt_psize - BTDATAOFF; if (pleaf) (void)fprintf(stderr, - "%.0f%% leaf fill (%ld bytes used, %ld bytes free)\n", + "%.0f%% leaf fill (%lu bytes used, %lu bytes free)\n", ((double)(pleaf - lfree) / pleaf) * 100, pleaf - lfree, lfree); pinternal *= t->bt_psize - BTDATAOFF; if (pinternal) (void)fprintf(stderr, - "%.0f%% internal fill (%ld bytes used, %ld bytes free\n", + "%.0f%% internal fill (%lu bytes used, %lu bytes free\n", ((double)(pinternal - ifree) / pinternal) * 100, pinternal - ifree, ifree); if (bt_pfxsaved) ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/db/btree/bt_open.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ static char sccsid[] = "@(#)bt_open.c 8.10 (Berkeley) 8/17/94"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/db/btree/bt_open.c,v 1.14 2009/03/04 00:58:04 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/db/btree/bt_open.c,v 1.15 2009/03/23 23:43:07 delphij Exp $"); /* * Implementation of btree access method for 4.4BSD. @@ -96,7 +96,7 @@ DB *dbp; pgno_t ncache; ssize_t nr; - int machine_lorder; + int machine_lorder, saved_errno; t = NULL; @@ -327,13 +327,15 @@ eftype: errno = EFTYPE; goto err; -err: if (t) { +err: saved_errno = errno; + if (t) { if (t->bt_dbp) free(t->bt_dbp); if (t->bt_fd != -1) (void)_close(t->bt_fd); free(t); } + errno = saved_errno; return (NULL); } ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/db/mpool/mpool.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ static char sccsid[] = "@(#)mpool.c 8.5 (Berkeley) 7/26/94"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/db/mpool/mpool.c,v 1.14 2009/03/02 23:47:18 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/db/mpool/mpool.c,v 1.15 2009/03/23 23:22:09 delphij Exp $"); #include "namespace.h" #include @@ -406,9 +406,9 @@ int cnt; char *sep; - (void)fprintf(stderr, "%u pages in the file\n", mp->npages); + (void)fprintf(stderr, "%lu pages in the file\n", mp->npages); (void)fprintf(stderr, - "page size %lu, cacheing %u pages of %u page max cache\n", + "page size %lu, cacheing %lu pages of %lu page max cache\n", mp->pagesize, mp->curcache, mp->maxcache); (void)fprintf(stderr, "%lu page puts, %lu page gets, %lu page new\n", mp->pageput, mp->pageget, mp->pagenew); ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/net/getaddrinfo.c#3 (text+ko) ==== @@ -54,7 +54,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.88 2009/02/08 16:58:05 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.90 2009/03/25 16:23:43 ume Exp $"); #include "namespace.h" #include @@ -165,18 +165,24 @@ static const struct explore explore[] = { #if 0 - { PF_LOCAL, 0, ANY, ANY, NULL, 0x01 }, + { PF_LOCAL, ANY, ANY, NULL, 0x01 }, #endif #ifdef INET6 { PF_INET6, SOCK_DGRAM, IPPROTO_UDP, "udp", 0x07 }, { PF_INET6, SOCK_STREAM, IPPROTO_TCP, "tcp", 0x07 }, + { PF_INET6, SOCK_STREAM, IPPROTO_SCTP, "sctp", 0x03 }, + { PF_INET6, SOCK_SEQPACKET, IPPROTO_SCTP, "sctp", 0x07 }, { PF_INET6, SOCK_RAW, ANY, NULL, 0x05 }, #endif { PF_INET, SOCK_DGRAM, IPPROTO_UDP, "udp", 0x07 }, { PF_INET, SOCK_STREAM, IPPROTO_TCP, "tcp", 0x07 }, + { PF_INET, SOCK_STREAM, IPPROTO_SCTP, "sctp", 0x03 }, + { PF_INET, SOCK_SEQPACKET, IPPROTO_SCTP, "sctp", 0x07 }, { PF_INET, SOCK_RAW, ANY, NULL, 0x05 }, { PF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, "udp", 0x07 }, { PF_UNSPEC, SOCK_STREAM, IPPROTO_TCP, "tcp", 0x07 }, + { PF_UNSPEC, SOCK_STREAM, IPPROTO_SCTP, "sctp", 0x03 }, + { PF_UNSPEC, SOCK_SEQPACKET, IPPROTO_SCTP, "sctp", 0x07 }, { PF_UNSPEC, SOCK_RAW, ANY, NULL, 0x05 }, { -1, 0, 0, NULL, 0 }, }; @@ -417,10 +423,12 @@ if (ex->e_protocol == ANY) continue; if (pai->ai_socktype == ex->e_socktype && - pai->ai_protocol != ex->e_protocol) { - ERR(EAI_BADHINTS); - } + pai->ai_protocol == ex->e_protocol) + break; } + + if (ex->e_af < 0) + ERR(EAI_BADHINTS); } } @@ -1344,10 +1352,21 @@ return EAI_SERVICE; case SOCK_DGRAM: case SOCK_STREAM: + case SOCK_SEQPACKET: allownumeric = 1; break; case ANY: - allownumeric = 0; + switch (ai->ai_family) { + case AF_INET: +#ifdef AF_INET6 + case AF_INET6: +#endif + allownumeric = 1; + break; + default: + allownumeric = 0; + break; + } break; default: return EAI_SOCKTYPE; @@ -1363,13 +1382,17 @@ } else { if (ai->ai_flags & AI_NUMERICSERV) return EAI_NONAME; - switch (ai->ai_socktype) { - case SOCK_DGRAM: + + switch (ai->ai_protocol) { + case IPPROTO_UDP: proto = "udp"; break; - case SOCK_STREAM: + case IPPROTO_TCP: proto = "tcp"; break; + case IPPROTO_SCTP: + proto = "sctp"; + break; default: proto = NULL; break; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/Makefile.inc#4 (text+ko) ==== @@ -1,5 +1,5 @@ # from $NetBSD: Makefile.inc,v 1.7 1995/02/27 13:06:20 cgd Exp $ -# $FreeBSD: src/lib/libc/nls/Makefile.inc,v 1.16 2009/03/20 23:55:01 gabor Exp $ +# $FreeBSD: src/lib/libc/nls/Makefile.inc,v 1.17 2009/03/24 23:31:41 gabor Exp $ .PATH: ${.CURDIR}/nls @@ -13,6 +13,7 @@ # for translators. NLSNAME= libc +NLS+= be_BY.UTF-8 NLS+= ca_ES.ISO8859-1 NLS+= de_DE.ISO8859-1 NLS+= el_GR.ISO8859-7 ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/nls/de_DE.ISO8859-1.msg#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$ $FreeBSD: src/lib/libc/nls/de_DE.ISO8859-1.msg,v 1.2 2009/03/16 16:33:08 gabor Exp $ +$ $FreeBSD: src/lib/libc/nls/de_DE.ISO8859-1.msg,v 1.3 2009/03/25 12:36:37 netchild Exp $ $ $ Message catalog for de_DE.ISO8859-1 locale $ @@ -14,7 +14,7 @@ $ EINTR 4 Interrupt innerhalb eines Systemaufrufs $ EIO -5 Ein/Ausgabefehler +5 Ein-/Ausgabefehler $ ENXIO 6 Gerät ist nicht konfiguriert $ E2BIG @@ -56,7 +56,7 @@ $ ENOTTY 25 Ungültiger IOCTL für dieses Gerät $ ETXTBSY -26 Text-Datei ist belegt +26 Datei wird benutzt $ EFBIG 27 Datei zu groß $ ENOSPC @@ -72,11 +72,11 @@ $ EDOM 33 Numerisches Argument außerhalb des Wertebereichs $ ERANGE -34 Ergebnis zu groß +34 Ergebnis außerhalb des Wertebereichs $ EAGAIN, EWOULDBLOCK 35 Ressource vorübergehend nicht verfügbar $ EINPROGRESS -36 Operation wird jetzt ausgeführt +36 Operation wird gerade ausgeführt $ EALREADY 37 Operation wird bereits ausgeführt $ ENOTSOCK @@ -164,7 +164,7 @@ $ EFTYPE 79 Ungültiger Dateityp oder Dateiformat >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Mar 27 23:12:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8784510656D5; Fri, 27 Mar 2009 23:11:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 312C810656CC for ; Fri, 27 Mar 2009 23:11:58 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 07E478FC28 for ; Fri, 27 Mar 2009 23:11:58 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RNBvC4093890 for ; Fri, 27 Mar 2009 23:11:57 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2RNBvDf093888 for perforce@freebsd.org; Fri, 27 Mar 2009 23:11:57 GMT (envelope-from rene@FreeBSD.org) Date: Fri, 27 Mar 2009 23:11:57 GMT Message-Id: <200903272311.n2RNBvDf093888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159936 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 27 Mar 2009 23:12:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=159936 Change 159936 by rene@rene_self on 2009/03/27 23:11:35 Replace all instances of "VCS" by a description in natural English. Submitted by: pgj Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#21 edit Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/committers-guide/article.sgml#21 (text+ko) ==== @@ -240,15 +240,13 @@ It is assumed that you are already familiar with the basic operation of the version control systems in use. Traditionally this was - CVS, but as of June 2008, Subversion is used for the src tree. The - generic term VCS (or none at all) will be used - unless the text is specific to CVS or SVN. + CVS, but as of June 2008, Subversion is used for the src tree. The &a.cvsadm; are the owners of the repository and are responsible for direct modification of it for the purposes of - cleanup or fixing some unfortunate abuse of VCS by a committer. + cleanup or fixing some unfortunate abuse of the version control system by a committer. Should you cause some repository accident, say a bad - import or tag creation, mail the + import or a bad tag creation, mail the responsible part of &a.cvsadm;, as stated in the table below, (or call one of them) and report the problem. For very important issues affecting the entire tree—not @@ -352,9 +350,7 @@ This way they can do all CVS operations locally and use Xcvs commit for committing - to the official CVS tree. If you wish to add - something which is wholly new, - cvs import should be used. + to the official CVS tree. Refer to the &man.cvs.1; manual page for usage. @@ -385,7 +381,7 @@ to their new name and/or location and let you know when it is done. The purpose of a repository copy is to preserve file change history, or logs. We in the FreeBSD Project greatly - value the change history that a VCS gives to the project. + value the change history that a version control system gives to the project. CVS reference information, tutorials, and FAQs can be found at: . @@ -447,14 +443,15 @@ &prompt.user; cvs co Tools You now have a directory named ports/Tools - with subdirectories portbuild, scripts, and CVS. + with subdirectories portbuild, + scripts, and + CVS. Check out the same files, but with full path: - &prompt.user; cvs co ports/Tools - + &prompt.user; cvs co ports/Tools You now have a directory named ports, with subdirectories CVS and Tools. The ports/Tools directory has @@ -904,15 +901,14 @@ - review your diffs, using - vcs diff + review your diffs, using the diff command of the version control system. Also, ALWAYS specify which files to commit explicitly on the command line, so you do not accidentally commit other files - than the ones you intended - vcs commit - without any arguments will commit every modification in your + than the ones you intended — a commit operation + without any arguments usually will commit every modification in your current working directory and every subdirectory. @@ -1289,7 +1285,7 @@ listed MAINTAINER in the Makefile. For other parts of the repository, if you are unsure who the active maintainer might - be, it may help to scan the output of vcs log + be, it may help to scan the revision history to see who has committed changes in the past. &a.fenner; has written a nice shell script that can help determine who the active maintainer might be. It lists each person who has @@ -1306,7 +1302,7 @@ rather than when it is part of the repository. If you do happen to commit something which results in controversy erupting, you may also wish to consider backing the change out - again until the matter is settled. Remember – with VCS we + again until the matter is settled. Remember – with a version control system we can always change it back. Do not impugn the intentions of someone you disagree with. @@ -1584,7 +1580,7 @@ &a.committers; - repository-committers is the entity that VCS uses to send you all your + repository-committers is the entity that the version control system uses to send you all your commit messages. You should never send email directly to this list. You should only send replies to this list when they are short and are directly related to a commit. @@ -1970,7 +1966,7 @@ maintainer need to be reviewed by at least one other maintainer. In cases where the maintainer-ship of something is not clear, - you can also look at the VCS logs for the file(s) in + you can also look at the repository logs for the file(s) in question and see if someone has been working recently or predominantly in that area. @@ -1992,7 +1988,7 @@ This may be hard to swallow in times of conflict (when each side is convinced that they are in the right, of - course) but VCS makes it unnecessary to have an ongoing + course) but a version control system makes it unnecessary to have an ongoing dispute raging when it is far easier to simply reverse the disputed change, get everyone calmed down again and then try to figure out what is the best way to proceed. If the change @@ -2222,7 +2218,7 @@ Do not mix style fixes with new functionality. A style fix is any change which does not modify the functionality of the code. Mixing the changes obfuscates the functionality - change when using vcs diff, which can hide + change when asking for differences between revisions, which can hide any new bugs. Do not include whitespace changes with content changes in commits to doc/ or www/. The extra clutter in the diffs @@ -3196,7 +3192,7 @@ and dedication in working on Problem Reports. Almost all of this document will apply to these developers as - well (except things specific to VCS commits and the mailing list + well (except things specific to commits and the mailing list memberships that go with them). In particular, we recommend that you read: @@ -3314,13 +3310,13 @@ - How do I add a new file to a VCS branch? + How do I add a new file to a branch? To add a file onto a branch, simply checkout or update to the branch you want to add to and then add the file using - vcs add as you normally would. This works + the add operation as you normally would. This works fine for the doc and ports trees. The src tree uses SVN and requires more care because of the From owner-p4-projects@FreeBSD.ORG Sat Mar 28 15:30:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 291BE1065673; Sat, 28 Mar 2009 15:30: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 D40EA106566B for ; Sat, 28 Mar 2009 15:30:42 +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 C0B708FC12 for ; Sat, 28 Mar 2009 15:30:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2SFUgM9041917 for ; Sat, 28 Mar 2009 15:30:42 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2SFUglI041915 for perforce@freebsd.org; Sat, 28 Mar 2009 15:30:42 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 28 Mar 2009 15:30:42 GMT Message-Id: <200903281530.n2SFUglI041915@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 159946 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Mar 2009 15:30:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=159946 Change 159946 by hselasky@hselasky_laptop001 on 2009/03/28 15:30:23 USB core + USB controller: - Some cancelable flags are always true. Substitute these away. These cancelable flags were mostly useful with the root HUB which is now handled differently. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#17 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#13 edit .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#10 edit .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#12 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#11 edit .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#5 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#139 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#12 (text+ko) ==== @@ -1499,8 +1499,6 @@ .close = at91dci_device_bulk_close, .enter = at91dci_device_bulk_enter, .start = at91dci_device_bulk_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1538,8 +1536,6 @@ .close = at91dci_device_ctrl_close, .enter = at91dci_device_ctrl_enter, .start = at91dci_device_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1577,8 +1573,6 @@ .close = at91dci_device_intr_close, .enter = at91dci_device_intr_enter, .start = at91dci_device_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1661,8 +1655,6 @@ .close = at91dci_device_isoc_fs_close, .enter = at91dci_device_isoc_fs_enter, .start = at91dci_device_isoc_fs_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#17 (text+ko) ==== @@ -1376,8 +1376,6 @@ .close = atmegadci_device_non_isoc_close, .enter = atmegadci_device_non_isoc_enter, .start = atmegadci_device_non_isoc_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1464,8 +1462,6 @@ .close = atmegadci_device_isoc_fs_close, .enter = atmegadci_device_isoc_fs_enter, .start = atmegadci_device_isoc_fs_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#13 (text+ko) ==== @@ -2210,8 +2210,6 @@ .close = ehci_device_bulk_close, .enter = ehci_device_bulk_enter, .start = ehci_device_bulk_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2253,8 +2251,6 @@ .close = ehci_device_ctrl_close, .enter = ehci_device_ctrl_enter, .start = ehci_device_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2351,8 +2347,6 @@ .close = ehci_device_intr_close, .enter = ehci_device_intr_enter, .start = ehci_device_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2636,8 +2630,6 @@ .close = ehci_device_isoc_fs_close, .enter = ehci_device_isoc_fs_enter, .start = ehci_device_isoc_fs_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2904,8 +2896,6 @@ .close = ehci_device_isoc_hs_close, .enter = ehci_device_isoc_hs_enter, .start = ehci_device_isoc_hs_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#10 (text+ko) ==== @@ -1899,8 +1899,6 @@ .close = musbotg_device_bulk_close, .enter = musbotg_device_bulk_enter, .start = musbotg_device_bulk_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1938,8 +1936,6 @@ .close = musbotg_device_ctrl_close, .enter = musbotg_device_ctrl_enter, .start = musbotg_device_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1977,8 +1973,6 @@ .close = musbotg_device_intr_close, .enter = musbotg_device_intr_enter, .start = musbotg_device_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2068,8 +2062,6 @@ .close = musbotg_device_isoc_close, .enter = musbotg_device_isoc_enter, .start = musbotg_device_isoc_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#12 (text+ko) ==== @@ -1720,8 +1720,6 @@ .close = ohci_device_bulk_close, .enter = ohci_device_bulk_enter, .start = ohci_device_bulk_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1763,8 +1761,6 @@ .close = ohci_device_ctrl_close, .enter = ohci_device_ctrl_enter, .start = ohci_device_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1837,8 +1833,6 @@ .close = ohci_device_intr_close, .enter = ohci_device_intr_enter, .start = ohci_device_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2047,8 +2041,6 @@ .close = ohci_device_isoc_close, .enter = ohci_device_isoc_enter, .start = ohci_device_isoc_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#9 (text+ko) ==== @@ -1940,8 +1940,6 @@ .close = uhci_device_bulk_close, .enter = uhci_device_bulk_enter, .start = uhci_device_bulk_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2004,8 +2002,6 @@ .close = uhci_device_ctrl_close, .enter = uhci_device_ctrl_enter, .start = uhci_device_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2095,8 +2091,6 @@ .close = uhci_device_intr_close, .enter = uhci_device_intr_enter, .start = uhci_device_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -2305,8 +2299,6 @@ .close = uhci_device_isoc_close, .enter = uhci_device_isoc_enter, .start = uhci_device_isoc_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#11 (text+ko) ==== @@ -1542,8 +1542,6 @@ .close = uss820dci_device_bulk_close, .enter = uss820dci_device_bulk_enter, .start = uss820dci_device_bulk_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1581,8 +1579,6 @@ .close = uss820dci_device_ctrl_close, .enter = uss820dci_device_ctrl_enter, .start = uss820dci_device_ctrl_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1620,8 +1616,6 @@ .close = uss820dci_device_intr_close, .enter = uss820dci_device_intr_enter, .start = uss820dci_device_intr_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* @@ -1704,8 +1698,6 @@ .close = uss820dci_device_isoc_fs_close, .enter = uss820dci_device_isoc_fs_enter, .start = uss820dci_device_isoc_fs_start, - .enter_is_cancelable = 1, - .start_is_cancelable = 1, }; /*------------------------------------------------------------------------* ==== //depot/projects/usb/src/sys/dev/usb/usb_controller.h#5 (text+ko) ==== @@ -108,20 +108,15 @@ /* Mandatory USB Device and Host mode callbacks: */ - void (*open) (struct usb2_xfer *xfer); - void (*close) (struct usb2_xfer *xfer); + usb2_callback_t *open; + usb2_callback_t *close; - void (*enter) (struct usb2_xfer *xfer); - void (*start) (struct usb2_xfer *xfer); + usb2_callback_t *enter; + usb2_callback_t *start; /* Optional */ void *info; - - /* Flags */ - - uint8_t enter_is_cancelable:1; - uint8_t start_is_cancelable:1; }; /* ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#139 (text+ko) ==== @@ -1541,18 +1541,14 @@ /* enter the transfer */ (pipe->methods->enter) (xfer); - /* check cancelability */ - if (pipe->methods->enter_is_cancelable) { - xfer->flags_int.can_cancel_immed = 1; - /* check for transfer error */ - if (xfer->error) { - /* some error has happened */ - usb2_transfer_done(xfer, 0); - USB_BUS_UNLOCK(xfer->xroot->bus); - return; - } - } else { - xfer->flags_int.can_cancel_immed = 0; + xfer->flags_int.can_cancel_immed = 1; + + /* check for transfer error */ + if (xfer->error) { + /* some error has happened */ + usb2_transfer_done(xfer, 0); + USB_BUS_UNLOCK(xfer->xroot->bus); + return; } /* start the transfer */ @@ -1866,8 +1862,8 @@ struct usb2_xfer *xfer = pq->curr; struct usb2_xfer_root *info = xfer->xroot; - USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED); - if (!mtx_owned(xfer->xroot->xfer_mtx)) { + USB_BUS_LOCK_ASSERT(info->bus, MA_OWNED); + if (!mtx_owned(info->xfer_mtx)) { /* * Cases that end up here: * @@ -1898,22 +1894,22 @@ /* get next USB transfer in the queue */ info->done_q.curr = NULL; - USB_BUS_UNLOCK(xfer->xroot->bus); - USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_NOTOWNED); + USB_BUS_UNLOCK(info->bus); + USB_BUS_LOCK_ASSERT(info->bus, MA_NOTOWNED); /* set correct USB state for callback */ if (!xfer->flags_int.transferring) { xfer->usb2_state = USB_ST_SETUP; if (!xfer->flags_int.started) { /* we got stopped before we even got started */ - USB_BUS_LOCK(xfer->xroot->bus); + USB_BUS_LOCK(info->bus); goto done; } } else { if (usb2_callback_wrapper_sub(xfer)) { /* the callback has been deferred */ - USB_BUS_LOCK(xfer->xroot->bus); + USB_BUS_LOCK(info->bus); goto done; } #if USB_HAVE_POWERD @@ -1941,7 +1937,7 @@ (xfer->callback) (xfer); /* pickup the USB mutex again */ - USB_BUS_LOCK(xfer->xroot->bus); + USB_BUS_LOCK(info->bus); /* * Check if we got started after that we got cancelled, but @@ -1963,7 +1959,7 @@ (!xfer->flags_int.transferring)) { /* "usb2_transfer_drain()" is waiting for end of transfer */ xfer->flags_int.draining = 0; - usb2_cv_broadcast(&xfer->xroot->cv_drain); + usb2_cv_broadcast(&info->cv_drain); } /* do the next callback, if any */ @@ -2122,15 +2118,12 @@ /* start the transfer */ (pipe->methods->start) (xfer); - /* check cancelability */ - if (pipe->methods->start_is_cancelable) { - xfer->flags_int.can_cancel_immed = 1; - if (xfer->error) { - /* some error has happened */ - usb2_transfer_done(xfer, 0); - } - } else { - xfer->flags_int.can_cancel_immed = 0; + xfer->flags_int.can_cancel_immed = 1; + + /* check for error */ + if (xfer->error) { + /* some error has happened */ + usb2_transfer_done(xfer, 0); } } @@ -2276,15 +2269,12 @@ /* start USB transfer */ (pipe->methods->start) (xfer); - /* check cancelability */ - if (pipe->methods->start_is_cancelable) { - xfer->flags_int.can_cancel_immed = 1; - if (xfer->error) { - /* some error has happened */ - usb2_transfer_done(xfer, 0); - } - } else { - xfer->flags_int.can_cancel_immed = 0; + xfer->flags_int.can_cancel_immed = 1; + + /* check for error */ + if (xfer->error) { + /* some error has happened */ + usb2_transfer_done(xfer, 0); } } From owner-p4-projects@FreeBSD.ORG Sat Mar 28 16:52:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DF8F106566B; Sat, 28 Mar 2009 16:52: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 325631065670 for ; Sat, 28 Mar 2009 16:52:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 056148FC1B for ; Sat, 28 Mar 2009 16:52:06 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2SGq5Aw062433 for ; Sat, 28 Mar 2009 16:52:05 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2SGq5iZ062431 for perforce@freebsd.org; Sat, 28 Mar 2009 16:52:05 GMT (envelope-from hselasky@FreeBSD.org) Date: Sat, 28 Mar 2009 16:52:05 GMT Message-Id: <200903281652.n2SGq5iZ062431@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 159948 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Mar 2009 16:52:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=159948 Change 159948 by hselasky@hselasky_laptop001 on 2009/03/28 16:52:02 USB core: - add more debugging output on enumeration failures - remove some redundant leftover code Requested by: Sam Leffler Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#10 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#21 (text+ko) ==== @@ -1507,10 +1507,6 @@ udev->speed = speed; udev->flags.usb2_mode = usb2_mode; - /* speed combination should be checked by the parent HUB */ - - hub = udev->parent_hub; - /* search for our High Speed USB HUB, if any */ adev = udev; @@ -1566,7 +1562,8 @@ */ if (err) { DPRINTFN(0, "set address %d failed " - "(ignored)\n", udev->address); + "(%s, ignored)\n", udev->address, + usb2_errstr(err)); } /* allow device time to set new address */ usb2_pause_mtx(NULL, @@ -1602,7 +1599,8 @@ USB_MAX_IPACKET, USB_MAX_IPACKET, 0, UDESC_DEVICE, 0, 0); if (err) { DPRINTFN(0, "getting device descriptor " - "at addr %d failed!\n", udev->address); + "at addr %d failed, %s!\n", udev->address, + usb2_errstr(err)); /* XXX try to re-enumerate the device */ err = usb2_req_re_enumerate(udev, NULL); if (err) { ==== //depot/projects/usb/src/sys/dev/usb/usb_request.c#10 (text+ko) ==== @@ -1487,7 +1487,8 @@ retry: err = usb2_req_reset_port(parent_hub, mtx, udev->port_no); if (err) { - DPRINTFN(0, "addr=%d, port reset failed\n", old_addr); + DPRINTFN(0, "addr=%d, port reset failed, %s\n", + old_addr, usb2_errstr(err)); goto done; } /* @@ -1505,8 +1506,8 @@ err = usb2_req_set_address(udev, mtx, old_addr); if (err) { /* XXX ignore any errors! */ - DPRINTFN(0, "addr=%d, set address failed! (ignored)\n", - old_addr); + DPRINTFN(0, "addr=%d, set address failed! (%s, ignored)\n", + old_addr, usb2_errstr(err)); } /* restore device address */ udev->address = old_addr; @@ -1519,14 +1520,16 @@ USB_MAX_IPACKET, USB_MAX_IPACKET, 0, UDESC_DEVICE, 0, 0); if (err) { DPRINTFN(0, "getting device descriptor " - "at addr %d failed!\n", udev->address); + "at addr %d failed, %s!\n", udev->address, + usb2_errstr(err)); goto done; } /* get the full device descriptor */ err = usb2_req_get_device_desc(udev, mtx, &udev->ddesc); if (err) { DPRINTFN(0, "addr=%d, getting device " - "descriptor failed!\n", old_addr); + "descriptor failed, %s!\n", old_addr, + usb2_errstr(err)); goto done; } done: From owner-p4-projects@FreeBSD.ORG Sat Mar 28 17:36:52 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 507B6106566B; Sat, 28 Mar 2009 17:36: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 E4EBB1065674 for ; Sat, 28 Mar 2009 17:36:51 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B8D458FC0C for ; Sat, 28 Mar 2009 17:36:51 +0000 (UTC) (envelope-from sson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2SHap0K067708 for ; Sat, 28 Mar 2009 17:36:51 GMT (envelope-from sson@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2SHapKL067706 for perforce@freebsd.org; Sat, 28 Mar 2009 17:36:51 GMT (envelope-from sson@FreeBSD.org) Date: Sat, 28 Mar 2009 17:36:51 GMT Message-Id: <200903281736.n2SHapKL067706@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sson@FreeBSD.org using -f From: Stacey Son To: Perforce Change Reviews Cc: Subject: PERFORCE change 159952 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.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, 28 Mar 2009 17:36:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=159952 Change 159952 by sson@sson_amd64 on 2009/03/28 17:36:37 Bug fixes for 'audit -s'. 'audit -s' didn't rotate the audit trail file and the kernel masks didn't get updated in the kernel. When audit_control go updated it was not re- read properly. Affected files ... .. //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#46 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_control.c#32 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#46 (text+ko) ==== @@ -26,7 +26,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. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#45 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#46 $ */ #include @@ -537,9 +537,12 @@ case AUDIT_TRIGGER_READ_FILE: auditd_log_info("Got read file trigger"); - if (au_state == AUD_STATE_ENABLED && - auditd_config_controls() == -1) - auditd_log_err("Error setting audit controls"); + if (au_state == AUD_STATE_ENABLED) { + if (auditd_config_controls() == -1) + auditd_log_err("Error setting audit controls"); + else if (do_trail_file() == -1) + auditd_log_err("Error swapping audit file"); + } break; case AUDIT_TRIGGER_CLOSE_AND_DIE: ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_control.c#32 (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/openbsm/libbsm/bsm_control.c#31 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_control.c#32 $ */ #include @@ -50,6 +50,8 @@ #include #endif +#include + /* * Parse the contents of the audit_control file to return the audit control * parameters. These static fields are protected by 'mutex'. @@ -287,10 +289,27 @@ static void setac_locked(void) { + static time_t lastctime = 0; + struct stat sbuf; ptrmoved = 1; - if (fp != NULL) + if (fp != NULL) { + /* + * Check to see if the file on disk has changed. If so, + * force a re-read of the file by closing it. + */ + if (fstat(fileno(fp), &sbuf) < 0) + goto closefp; + if (lastctime != sbuf.st_ctimespec.tv_sec) { + lastctime = sbuf.st_ctimespec.tv_sec; +closefp: + fclose(fp); + fp = NULL; + return; + } + fseek(fp, 0, SEEK_SET); + } } void
Reminder announcement 16 March 2009--17 March 2009 Release Engineers send announcement email to developers with a rough schedule for the FreeBSD &local.rel; release.
Code freeze begins 23 March 2009--23 March 2009 After this date, all commits to RELENG_7 must be approved by re@FreeBSD.org. Certain highly active documentation committers are exempt from this rule for ==== //depot/projects/docproj_hu/www/en/releng/index.sgml#16 (text+ko) ==== @@ -1,6 +1,6 @@ - + @@ -86,8 +86,8 @@
RELENG_7Open committersFrozen&contact.re; Development branch for 7-STABLE.