From andre at FreeBSD.org Wed Jul 1 08:00:46 2009 From: andre at FreeBSD.org (Andre Oppermann) Date: Wed Jul 1 08:01:06 2009 Subject: PERFORCE change 165494 for review Message-ID: <200907010800.n6180jQT057236@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165494 Change 165494 by andre@andre_t61 on 2009/07/01 08:00:14 Dump of WIP from my Laptop. Still much shuffling. Picture is refining a bit all the time blike a progressive jpeg. Affected files ... .. //depot/projects/tcp_new/netinet/tcp_output.c#9 edit .. //depot/projects/tcp_new/netinet/tcp_syncache.c#4 edit .. //depot/projects/tcp_new/netinet/tcp_var.h#9 edit Differences ... ==== //depot/projects/tcp_new/netinet/tcp_output.c#9 (text+ko) ==== @@ -100,6 +100,20 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, sendbuf_max, CTLFLAG_RW, &tcp_autosndbuf_max, 0, "Max size of automatic send buffer"); +static int +tcp_send(struct tcpcb *tp, struct tcpopt *to, int len, int rwin, int flags); +static int +tcp_retransmit(struct tcpcb *tp, int *len); +static int +tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, struct tcpopt *opt, + int off, int *olen, int optlen); +static u_int +tcp_rcv_wnd(struct tcpcb *tp, struct socket *so); +static void +tcp_snd_pace(struct tcpcp *tp); +static void +tcp_options(struct tcpcb *tp, struct tcpopt *to, int flags); + /* * Tcp output routine: figure out what should be sent and send it. * @@ -157,30 +171,6 @@ flags = tcp_outflags[tp->t_state]; /* - * 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 downscaled. - */ - 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. - * - * XXXAO: Use a decaying algorithm. It's not useful - * 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)) { - tp->snd_cwnd = tcp_init_cwnd(tp); - } - - /* * Determine length of data that should be transmitted, if there * is some data to send, then transmit; otherwise, investigate further. * @@ -230,18 +220,74 @@ return (0); /* next token is pending */ } + /* + * Conservative approximation of data still travelling in the network. + */ inflight = duna - tp->snd_sacked; + /* + * 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 downscaled. + */ + rwin = tcp_rcv_wnd(tp, so); + + /* + * Act based on the phase we are in. + */ switch (tp->t_phase) { case TP_IDLE: - case TP_SLOWSTART: - case TP_CONGAVOID: + /* + * 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. + * + * XXXAO: Use a decaying algorithm. It's not useful + * 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)) { + tp->snd_cwnd = tcp_init_cwnd(tp); + } + break; + case TP_SENDING: + break; case TP_LOSSRECOV: + case TP_REXMT: tcp_retransmit(tp, &len); if (len = 0) return (0); - case TP_LOSSREXMT: + break; case TP_PERSIST: + /* + * 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); + } + break; case TP_RETRY: case TP_URGENT: break; @@ -290,7 +336,7 @@ * 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) { + if ((tp->t_flags & TF_DUPACK) && tp->rcv_trqlen > 0) { if (!(tp->t_flags & TF_SACK_PERMIT)) len = 0; goto send; @@ -318,26 +364,30 @@ * b) silly window syndrome: buffer almost full * * Quoting Nagle: - * <> + * <> * http://developers.slashdot.org/comments.pl?sid=174457&threshold=1&commentsort=0&mode=thread&cid=14515105 * * XXXAO: mss - options! @@ -372,31 +422,6 @@ } /* - * 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 @@ -457,7 +482,7 @@ return (tcp_send(tp, &to, flags)); } -int +static int tcp_send(struct tcpcb *tp, struct tcpopt *to, int len, int rwin, int flags) { @@ -470,6 +495,7 @@ * Be careful not to send data and/or FIN on SYN segments. * This measure is needed to prevent interoperability problems * with not fully conformant TCP implementations. + * * NB: For now we don't send any data with SYN. This will have * to change if some reincarnation of T/TCP comes up again. */ @@ -492,25 +518,18 @@ 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); + th->th_win = (u_short)rwin; - SOCKBUF_LOCK(&so->so_snd); /* * Fill in fields. */ - 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); - } - + th->th_seq = tp->snd_nxt; th->th_flags = flags; th->th_ack = tp->rcv_nxt; + SOCKBUF_LOCK(&so->so_snd); + off = tp->snd_nxt - tp->snd_una; error = tcp_send_segments(tp, &ths, opt, off, &len, optlen); - SOCKBUF_UNLOCK(&so->so_snd); /* @@ -735,7 +754,7 @@ static int tcp_retransmit(struct tcpcb *tp, int *len) { - struct tcphdr ths; + struct tcphdr ths, *th; /* * Retransmit over the SACK holes. @@ -744,6 +763,13 @@ * Retransmit only the stuff that was not SACK'ed. */ /* + * 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. + */ + /* * We have the following mechanisms: * 1. Fast recovery: After we get three duplicate ACKs RFC2581 * 2. NewReno RFC3782 @@ -752,6 +778,28 @@ * 5. TCP congestion window validation RFC2861 */ + /* Limited transmit */ + if (tp->snd_dupack < 3) + *len = min(len, tp->snd_mss); /* one mss */ + else + *len = 0; + + if (tp->snd_dupack < 3) + return; + + /* + * XXXAO: Temporary. + */ + tp->snd_rxmit = tp->snd_una; + + /* + * Fill in headers. + */ + th->th_win = (u_short)rwin; + th->th_seq = tp->snd_rxmit; + th->th_flags = flags; + th->th_ack = tp->rcv_nxt; + /* * If resending a SYN or FIN, be sure NOT to use a new sequence number. */ @@ -761,21 +809,11 @@ th->th_seq == tp->snd_nxt) th->th_seq--; - /* - * 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. - */ + SOCKBUF_LOCK(&so->so_snd); + off = min(tp->snd_rxmit - tp->snd_una, so->so_snd.sb_cc); error = tcp_send_segments(tp, &ths, opt, off, olen, optlen); + SOCKBUF_UNLOCK(&so->so_snd); - /* Limited transmit */ - if (tp->snd_dupack < 3) - *len = min(len, tp->snd_mss); /* one mss */ - else - *len = 0; - return; } @@ -879,6 +917,14 @@ ("%s: segment too big", __func__)); /* + * Do not send small fragments unless we empty the buffer + * or this is the only segment. + */ + if (slen < tp->snd_mss - optlen && *olen > 0 && + off + slen == so->so_snd.sb_cc) + break; + + /* * Allocate an mbuf sufficiently large to hold all * headers for this segment plus space for the link * headers to remove the need for prepends in the @@ -987,7 +1033,8 @@ * Set the PUSH bit to indicate that we have reached * the end of the send buffer. */ - if (slen > 0 && off + slen == so->so_snd.sb_cc) + if (slen > 0 && !(tp->t_flags & TF_MORETOCOME) && + off + slen == so->so_snd.sb_cc) th->th_flags |= TH_PUSH; KASSERT(off + slen <= so->so_snd.sb_cc, @@ -1178,7 +1225,7 @@ return; } -void +static void tcp_options(struct tcpcb *tp, struct tcpopt *to, int flags) { /* ==== //depot/projects/tcp_new/netinet/tcp_syncache.c#4 (text+ko) ==== @@ -768,6 +768,10 @@ goto abort; } } + + /* + * Initialize the TCP control block. + */ tp = intotcpcb(inp); tp->t_state = TCPS_SYN_RECEIVED; tp->iss = sc->sc_iss; ==== //depot/projects/tcp_new/netinet/tcp_var.h#9 (text+ko) ==== @@ -139,13 +139,12 @@ 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_RETRY 6 /* retry after ENOMEM or ENOBUF */ -#define TP_URGENT 7 /* urgent mode */ +#define TP_SENDING 1 /* sending data */ +#define TP_LOSSRECOV 2 /* loss recovery */ +#define TP_REXMT 3 /* loss recovery failed, retransmit */ +#define TP_PERSIST 4 /* persistent mode */ +#define TP_RETRY 5 /* retry after ENOMEM or ENOBUF */ +#define TP_URGENT 6 /* urgent mode */ int t_softerror; /* possible error not yet reported */ @@ -173,7 +172,7 @@ u_int snd_delackdelay; /* time to delay an ACK in ticks */ int snd_dupack; /* number of duplicate ACK's reveived */ - tcp_seq snd_fr_recover; /* fast retransmit recover */ + tcp_seq snd_recover; /* fast retransmit recover */ int snd_abcack; /* count the ack'ed data for ABC */ tcp_seq snd_rtseq; /* seq# of current RTT measurement */ @@ -200,6 +199,7 @@ uint8_t rcv_scale; /* window scaling for recv window */ struct trq_head rcv_trq; /* segment reassembly queue */ int rcv_trqlen; /* segment reassembly queue length in bytes */ + int rcv_dupack; /* duplicate acks we sent */ tcp_ts tsecr_recent; /* timestamp echo data */ u_long tsecr_age; /* when echo last updated */ @@ -247,7 +247,6 @@ tcp_win snd_ssthresh_prev; /* ssthresh prior to retransmit */ tcp_seq snd_recover_prev; /* snd_recover prior to retransmit */ tcp_win t_badrxtwin; /* window for retransmit recovery */ - int snd_limited; /* segments limited transmitted */ }; /* From anchie at FreeBSD.org Wed Jul 1 16:43:18 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Wed Jul 1 16:43:25 2009 Subject: PERFORCE change 165506 for review Message-ID: <200907011643.n61GhGCh026326@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165506 Change 165506 by anchie@anchie_malimis on 2009/07/01 16:43:01 Editorial changes. New function (net/rtsock.c: rt_msg3()) in order to avoide the duplication of the code in rt_ieee80211msg() and rt_securendmsg(). Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/net/route.h#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet/icmp6.h#8 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#13 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#11 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#11 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#11 edit .. //depot/projects/soc2009/anchie_send/src/sys/sys/mbuf.h#5 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/net/route.h#5 (text+ko) ==== @@ -234,7 +234,6 @@ u_long rtm_inits; /* which metrics we are initializing */ struct rt_metrics rtm_rmx; /* metrics themselves */ }; - #define RTM_VERSION 5 /* Up the ante and ignore older versions */ /* @@ -380,7 +379,7 @@ struct ifmultiaddr; void rt_ieee80211msg(struct ifnet *, int, void *, size_t); -void rt_sndmsg(struct ifnet *, int, void *, size_t data_len); +void rt_securendmsg(struct ifnet *, int, void *, size_t data_len); void rt_ifannouncemsg(struct ifnet *, int); void rt_ifmsg(struct ifnet *); void rt_missmsg(int, struct rt_addrinfo *, int, int); ==== //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/*- +/* * Copyright (c) 1988, 1991, 1993 * The Regents of the University of California. All rights reserved. * @@ -60,12 +60,11 @@ #include #include -#include - #include #ifdef INET6 #include #endif +#include #if defined(INET) || defined(INET6) #ifdef SCTP @@ -106,6 +105,7 @@ static struct mbuf *rt_msg1(int type, struct rt_addrinfo *rtinfo); static int rt_msg2(int type, struct rt_addrinfo *rtinfo, caddr_t cp, struct walkarg *w); +static void rt_msg3(struct mbuf *, void *, size_t); static int rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo); static int sysctl_dumpentry(struct radix_node *rn, void *vw); @@ -1179,23 +1179,37 @@ * Generation of the routing socket message indicating SeND event. */ void -rt_sndmsg(struct ifnet *ifp, int in, void *data, size_t data_len) +rt_securendmsg(struct ifnet *ifp, int direction, void *data, size_t data_len) { struct mbuf *m; struct rt_addrinfo info; - if (in) { - /* Incoming traffic sent to userspace for SeND validation */ + switch (direction) { + case SEND_IN: + /* Incoming traffic sent to userspace for SeND validation. */ m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_IN, &info); - } else { - /* Outgoing traffic sent to userspace for SeND protection */ + break; + case SEND_OUT: + /* Outgoing traffic sent to userspace for SeND protection. */ m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_OUT, &info); + break; } + + rt_msg3(m, data, data_len); +} + +void +rt_msg3(struct mbuf *m, void *data, size_t data_len) +{ if (m != NULL) { /* - * Append ND/SeND message to ifannounce hdr. - * Taken from rt_ieee80211msg(). + * Append the ieee80211 or ND/SEND data. Try to stick it in the + * mbuf containing the ifannounce msg; otherwise allocate + * a new mbuf and append. + * + * NB: we assume m is a single mbuf. */ + if (data_len > M_TRAILINGSPACE(m)) { struct mbuf *n = m_get(M_NOWAIT, MT_DATA); if (n == NULL) { @@ -1228,6 +1242,10 @@ struct rt_addrinfo info; m = rt_makeifannouncemsg(ifp, RTM_IEEE80211, what, &info); + + rt_msg3(m, data, data_len); + +#if 0 if (m != NULL) { /* * Append the ieee80211 data. Try to stick it in the @@ -1254,6 +1272,7 @@ mtod(m, struct if_announcemsghdr *)->ifan_msglen += data_len; rt_dispatch(m, NULL); } +#endif } /* ==== //depot/projects/soc2009/anchie_send/src/sys/netinet/icmp6.h#8 (text+ko) ==== ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#13 (text+ko) ==== @@ -412,8 +412,6 @@ int in; int ip6len; - in = 1; - ifp = m->m_pkthdr.rcvif; #ifndef PULLDOWN_TEST @@ -767,17 +765,18 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* give up local */ - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - } else { + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else { + /* give up local */ nd6_rs_input(m, off, icmp6len); } m = NULL; goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, ip6len); + send_output_hook(n, ifp, SND_IN, ip6len); else nd6_rs_input(n, off, icmp6len); /* m stays. */ @@ -791,18 +790,16 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - } else { - /* give up local */ + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else nd6_ra_input(m, off, icmp6len); - } m = NULL; goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, ip6len); + send_output_hoo(n, ifp, SND_IN, ip6len); else nd6_ra_input(n, off, icmp6len); /* m stays. */ @@ -816,23 +813,20 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - /* nd6_ns_input() will be called in X_send_input_hook() */ - } else { + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else { /* give up local */ nd6_ns_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) { - send_output_hook(in, ifp, n, ip6len); - /* nd6_ns_input() will be called in X_send_input_hook() */ - } else { + if (send_output_hook != NULL) + send_output_hook(n, ifp, SND_IN, ip6len); + else nd6_ns_input(n, off, icmp6len); - } /* m stays. */ break; @@ -844,10 +838,10 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - } else { + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else { /* give up local */ nd6_na_input(m, off, icmp6len); } @@ -855,7 +849,7 @@ goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, ip6len); + send_output_hook(n, ifp, SND_IN, ip6len); else nd6_na_input(n, off, icmp6len); /* m stays. */ @@ -869,10 +863,10 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { - /* send incoming SeND-protected/ND packet to sendd */ - if (send_output_hook != NULL) { - send_output_hook(in, ifp, m, ip6len); - } else { + /* Send incoming SeND-protected/ND packet to user space. */ + if (send_output_hook != NULL) + send_output_hook(m, ifp, SND_IN, ip6len); + else { /* give up local */ icmp6_redirect_input(m, off); } @@ -880,24 +874,12 @@ goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, ip6len); + send_output_hook(n, ifp, SND_IN, ip6len); else icmp6_redirect_input(n, off); /* m stays. */ break; -#if 0 - case SEND_CERT_PATH_SOLICIT: - /* send CPS packet to sendd */ - send6_cps_input(); - break; - - case SEND_CERT_PATH_ADVERT: - /* send CPA packet to sendd */ - send6_cpa_input(); - break; -#endif - case ICMP6_ROUTER_RENUMBERING: if (code != ICMP6_ROUTER_RENUMBERING_COMMAND && code != ICMP6_ROUTER_RENUMBERING_RESULT) ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#11 (text+ko) ==== @@ -113,8 +113,8 @@ static struct sockaddr_in6 all1_sa; -int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int) = NULL; -int (*send_input_hook)(void) = NULL; +int (*send_output_hook)(struct mbuf*, struct ifnet *, int, int); +int (*send_input_hook)(void); static int nd6_is_new_addr_neighbor __P((struct sockaddr_in6 *, struct ifnet *)); @@ -1733,7 +1733,7 @@ printf("%s %d\n", __FUNCTION__, __LINE__); ip6 = mtod(m, struct ip6_hdr *); - ip6len = ntohs(ip6->ip6_plen) + sizeof(struct ip6_hdr); + ip6len = sizeof(struct ip6_hdr) + ntohs(ip6->ip6_plen); #ifdef INVARIANTS if (lle != NULL) { @@ -1910,16 +1910,16 @@ mac_netinet6_nd6_send(ifp, m); #endif - /* send outgoing NS/NA/RS/RA/REDIRECT packet to sendd. */ + /* send outgoing NS/NA/REDIRECT packet to sendd. */ if (send_output_hook != NULL) { mtag = m_tag_find(m, PACKET_TAG_ND_OUTGOING, NULL); if (mtag != NULL) { printf("%s %d: ND_OUTGOING tag found.\n", __FUNCTION__, __LINE__); nd_type = (unsigned short *)(mtag + 1); } else - return(error); + return(ENOMSG); - send_output_hook(0, ifp, m, ip6len); + send_output_hook(m, ifp, 0, ip6len); } else { /* @@ -1930,7 +1930,7 @@ * after the lock is dropped */ - /* This will be done in the input hook.. */ + /* This will be done in the input hook. */ if (lle != NULL) { if (*chain == NULL) *chain = m; @@ -1952,7 +1952,8 @@ * or nd6_na_output(). RS, RA, and Redirect do not have such output * routines. They are handled instead by rtadvd and rtsol daemons. * - * if_output() routines together with previous chaining will be called from input hook. + * if_output() routines together with previous chaining will be called + * from input hook. */ if ((ifp->if_flags & IFF_LOOPBACK) != 0) { ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#5 (text+ko) ==== @@ -425,27 +425,6 @@ m_freem(m); } -#if 0 -/* - * Receive Certification Path Solicitation [rfc3971]. - */ -void -send6_cps_input(struct mbuf *m, int off, int icmp6len) -{ -} - -/* - * Receive Certification Path Advertisement [rfc3971]. - */ -void -send6_cpa_input(struct mbuf *m, int off, int icmp6len) -{ -} - -/* send6_cps/cpa_output() should be places here as well.. */ -#endif - - /* * default router list proccessing sub routines */ ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#11 (text+ko) ==== @@ -4,53 +4,48 @@ #include #include #include +#include -#include #include #include -#if 0 -static int X_send_input_hook(void); -static int X_send_output_hook(int, struct ifnet *, struct mbuf *, int); -#endif -#if 0 -int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); -int (*send_input_hook)(void); -#endif - static int -X_send_input_hook(void) +send_input(void) { /* - * send module is loaded, process incoming packets passed from - * sendd to kernel. Outgoing packets are sent out using if_output(). + * Receive incoming (SEND-protected) or outgoing traffic (SEND-validated) + * from the SEND user space application. + * Outgoing packets are sent out using if_output(). */ - return 0; + return (0); } static int -X_send_output_hook(int in, struct ifnet *ifp, struct mbuf *m, int msglen) +send_output(int in, struct ifnet *ifp, struct mbuf *m, int msglen) { - /* send module is loaded, send incoming or outgoing traffic to sendd */ + + /* + * Send incoming or outgoing traffic to the user space either to be + * protected (outgoing) or validated (incoming) according to rfc3971. */ rt_sndmsg(ifp, in, m, msglen); - return 0; + return (0); } static int send_modevent(module_t mod, int type, void *unused) { - int err = 0; + int error = 0; /* Add locking? icmp6.c and nd6.c are maybe using hooks.. */ switch (type) { case MOD_LOAD: - send_output_hook = X_send_output_hook; - send_input_hook = X_send_input_hook; + send_output_hook = send_output; + send_input_hook = send_input; break; case MOD_UNLOAD: @@ -61,7 +56,7 @@ default: break; } - return err; + return (0); } static moduledata_t sendmod = { ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#11 (text+ko) ==== @@ -1,11 +1,14 @@ /* send.c */ -extern int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); +extern int (*send_output_hook)(struct mbuf *, struct ifnet *, int, int); extern int (*send_input_hook)(void); -/* Message formats for messages from ND to applications (sendd) via the +/* Message formats for messages from ND to applications (i.e. sendd) via the * routing socket. These messages are appended to an if_announcemsghdr * structure. */ -#define RTM_SND_OUT 0 /* outgoing traffic sent to sendd */ -#define RTM_SND_IN 1 /* incoming traffic sent to sendd */ +#define SEND_OUT 0 /* outgoing traffic sent to sendd */ +#define SEND_IN 1 + +#define RTM_SND_OUT 0 /* outgoing traffic with RTM header sent to sendd */ +#define RTM_SND_IN 1 /* incoming traffic with RTM header sent to sendd */ ==== //depot/projects/soc2009/anchie_send/src/sys/sys/mbuf.h#5 (text+ko) ==== @@ -899,7 +899,7 @@ #define PACKET_TAG_IPOPTIONS 27 /* Saved IP options */ #define PACKET_TAG_CARP 28 /* CARP info */ #define PACKET_TAG_IPSEC_NAT_T_PORTS 29 /* two uint16_t */ -#define PACKET_TAG_ND_OUTGOING 30 /* ND outgoing */ +#define PACKET_TAG_ND_OUTGOING 30 /* ND outgoing */ /* Specific cookies and tags. */ From anchie at FreeBSD.org Wed Jul 1 20:36:33 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Wed Jul 1 20:36:40 2009 Subject: PERFORCE change 165517 for review Message-ID: <200907012036.n61KaW55057576@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165517 Change 165517 by anchie@anchie_malimis on 2009/07/01 20:35:55 Return after passing the mbuf to the user space via the rtm interface. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#12 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#12 (text+ko) ==== @@ -1914,12 +1914,13 @@ if (send_output_hook != NULL) { mtag = m_tag_find(m, PACKET_TAG_ND_OUTGOING, NULL); if (mtag != NULL) { - printf("%s %d: ND_OUTGOING tag found.\n", __FUNCTION__, __LINE__); + printf("%s: ND_OUTGOING tag found.\n", __FUNCTION__); nd_type = (unsigned short *)(mtag + 1); + send_output_hook(m, ifp, 0, ip6len); } else - return(ENOMSG); + error = EOPNOTSUPP; - send_output_hook(m, ifp, 0, ip6len); + return error; } else { /* From rwatson at FreeBSD.org Thu Jul 2 08:50:05 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Thu Jul 2 08:50:28 2009 Subject: PERFORCE change 165531 for review Message-ID: <200907020850.n628o3S1062490@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165531 Change 165531 by rwatson@rwatson_cinnamon on 2009/07/02 08:49:43 Add missing errno mapping for some FreeBSD/MAc OS X-specific errno values, which might otherwise prevent these errors from being properly encoded and decoded. Affected files ... .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_errno.c#18 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_errno.c#18 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_errno.c#17 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_errno.c#18 $ */ #include @@ -453,6 +453,104 @@ { BSM_ERRNO_EINPROGRESS, EINPROGRESS, ES("Operation now in progress") }, { BSM_ERRNO_ESTALE, ESTALE, ES("Stale NFS file handle") }, + { BSM_ERRNO_EPROCLIM, +#ifdef EPROCLIM + EPROCLIM, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Too many processes") }, + { BSM_ERRNO_EBADRPC, +#ifdef EBADRPC + EBADRPC, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("RPC struct is bad") }, + { BSM_ERRNO_ERPCMISMATCH, +#ifdef ERPCMISMATCH + ERPCMISMATCH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("RPC version wrong") }, + { BSM_ERRNO_EPROGUNAVAIL, +#ifdef EPROGUNAVAIL + EPROGUNAVAIL, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("RPC prog. not avail") }, + { BSM_ERRNO_EPROGMISMATCH, +#ifdef EPROGMISMATCH + EPROGMISMATCH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("RPC version wrong") }, + { BSM_ERRNO_EPROCUNAVAIL, +#ifdef EPROCUNAVAIL + EPROCUNAVAIL, +#else + ERRNO_NO_LOCAL_MAPPING +#endif + ES("Bad procedure for program") }, + { BSM_ERRNO_EFTYPE, +#ifdef EFTYPE + EFTYPE, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Inappropriate file type or format") }, + { BSM_ERRNO_EAUTH, +#ifdef EAUTH + EAUTH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Authenticateion error") }, + { BSM_ERRNO_ENEEDAUTH, +#ifdef ENEEDAUTH + ENEEDAUTH, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Need authenticator") }, + { BSM_ERRNO_ENOATTR, +#ifdef ENOATTR + ENOATTR, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Attribute not found") }, + { BSM_ERRNO_EDOOFUS, +#ifdef EDOOFUS + EDOOFUS, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Programming error") }, + { BSM_ERRNO_EJUSTRETURN, +#ifdef EJUSTRETURN + EJUSTRETURN, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("Just return") }, + { BSM_ERRNO_ENOIOCTL, +#ifdef ENOIOCTL + ENOIOCTL, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("ioctl not handled by this layer") }, + { BSM_ERRNO_EDIRIOCTL, +#ifdef EDIRIOCTL + EDIRIOCTL, +#else + ERRNO_NO_LOCAL_MAPPING, +#endif + ES("do direct ioctl in GEOM") }, { BSM_ERRNO_EPWROFF, #ifdef EPWROFF EPWROFF, From rwatson at FreeBSD.org Thu Jul 2 08:58:14 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Thu Jul 2 08:58:21 2009 Subject: PERFORCE change 165532 for review Message-ID: <200907020858.n628wCoK063039@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165532 Change 165532 by rwatson@rwatson_cinnamon on 2009/07/02 08:57:45 Start to construct an OpenBSM 1.1p1, which will contain fixed errno handling for a few previously omitted error numbers. Affected files ... .. //depot/projects/trustedbsd/openbsm/NEWS#41 edit .. //depot/projects/trustedbsd/openbsm/VERSION#25 edit .. //depot/projects/trustedbsd/openbsm/configure#54 edit .. //depot/projects/trustedbsd/openbsm/configure.ac#53 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/NEWS#41 (text+ko) ==== @@ -1,5 +1,10 @@ OpenBSM Version History +OpenBSM 1.1p1 + +- Add missing conversion of a number of FreeBSD/Mac OS X errnos to/from BSM + error number space. + OpenBSM 1.1 - Change auditon(2) parameters and data structures to be 32/64-bit architecture @@ -449,4 +454,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/NEWS#40 $ +$P4: //depot/projects/trustedbsd/openbsm/NEWS#41 $ ==== //depot/projects/trustedbsd/openbsm/VERSION#25 (text+ko) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_1 +OPENBSM_1_1p1 ==== //depot/projects/trustedbsd/openbsm/configure#54 (xtext) ==== @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#51 . +# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#52 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62 for OpenBSM 1.1. +# Generated by GNU Autoconf 2.62 for OpenBSM 1.1p1. # # Report bugs to . # @@ -751,8 +751,8 @@ # Identity of this package. PACKAGE_NAME='OpenBSM' PACKAGE_TARNAME='openbsm' -PACKAGE_VERSION='1.1' -PACKAGE_STRING='OpenBSM 1.1' +PACKAGE_VERSION='1.1p1' +PACKAGE_STRING='OpenBSM 1.1p1' PACKAGE_BUGREPORT='trustedbsd-audit@TrustesdBSD.org' ac_unique_file="bin/auditreduce/auditreduce.c" @@ -1492,7 +1492,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenBSM 1.1 to adapt to many kinds of systems. +\`configure' configures OpenBSM 1.1p1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1562,7 +1562,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenBSM 1.1:";; + short | recursive ) echo "Configuration of OpenBSM 1.1p1:";; esac cat <<\_ACEOF @@ -1671,7 +1671,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenBSM configure 1.1 +OpenBSM configure 1.1p1 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1685,7 +1685,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenBSM $as_me 1.1, which was +It was created by OpenBSM $as_me 1.1p1, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -19662,7 +19662,7 @@ # Define the identity of the package. PACKAGE=OpenBSM - VERSION=1.1 + VERSION=1.1p1 cat >>confdefs.h <<_ACEOF @@ -24400,7 +24400,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenBSM $as_me 1.1, which was +This file was extended by OpenBSM $as_me 1.1p1, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -24453,7 +24453,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -OpenBSM config.status 1.1 +OpenBSM config.status 1.1p1 configured by $0, generated by GNU Autoconf 2.62, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" ==== //depot/projects/trustedbsd/openbsm/configure.ac#53 (text+ko) ==== @@ -2,8 +2,8 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT([OpenBSM], [1.1], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) -AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#52 $]) +AC_INIT([OpenBSM], [1.1p1], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) +AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#53 $]) AC_CONFIG_SRCDIR([bin/auditreduce/auditreduce.c]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_HEADER([config/config.h]) From rwatson at FreeBSD.org Thu Jul 2 09:02:18 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Thu Jul 2 09:02:25 2009 Subject: PERFORCE change 165533 for review Message-ID: <200907020902.n6292HpI063445@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165533 Change 165533 by rwatson@rwatson_cinnamon on 2009/07/02 09:01:53 Other work since OpenBSM 1.1. Affected files ... .. //depot/projects/trustedbsd/openbsm/NEWS#42 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/NEWS#42 (text+ko) ==== @@ -2,6 +2,10 @@ OpenBSM 1.1p1 +- Fixes to AUT_SOCKUNIX token parsing. +- IPv6 support for au_to_me(3). +- Improved robustness in the parsing of audit_control, especially long + flags/naflags strings and whitespace in all fields. - Add missing conversion of a number of FreeBSD/Mac OS X errnos to/from BSM error number space. @@ -454,4 +458,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/NEWS#41 $ +$P4: //depot/projects/trustedbsd/openbsm/NEWS#42 $ From zhaoshuai at FreeBSD.org Thu Jul 2 09:12:30 2009 From: zhaoshuai at FreeBSD.org (Zhao Shuai) Date: Thu Jul 2 09:12:40 2009 Subject: PERFORCE change 165534 for review Message-ID: <200907020912.n629CSJ3065194@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165534 Change 165534 by zhaoshuai@zhaoshuai on 2009/07/02 09:12:20 don't poll/select on a closed file descriptor. Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/regression/fifo_io/fifo_io.c#3 edit Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/regression/fifo_io/fifo_io.c#3 (text+ko) ==== @@ -1416,22 +1416,13 @@ } /* - * close the reader, which should cause - * - reader_fd unreadable, unwritable, not exceptional - * - writer_fd unreadable, unwritable, not exceptional + * close the reader, which should cause writer_fd unreadable, + * writable, not exceptional */ close(reader_fd); - /* - if (assert_status(reader_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, - NOT_EXCEPTION, __func__, "close_reader", "reader_fd") < 0) { - cleanfifo2("testfifo", writer_fd, kqueue_fd); - exit(-1); - } - */ - - if (assert_status(writer_fd, kqueue_fd, READABLE, WRITABLE, - EXCEPTION, __func__, "close_reader", "writer_fd") < 0) { + if (assert_status(writer_fd, kqueue_fd, NOT_READABLE, WRITABLE, + NOT_EXCEPTION, __func__, "close_reader", "writer_fd") < 0) { cleanfifo2("testfifo", writer_fd, kqueue_fd); exit(-1); } @@ -1473,26 +1464,17 @@ } /* - * close the writer, which should cause - * - reader_fd readable, unwritable, exceptional - * - writer_fd unreadable, unwritable, not exceptional + * close the writer, which should cause reader_fd readable, + * unwritable, not exceptional */ close(writer_fd); - if (assert_status(reader_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, + if (assert_status(reader_fd, kqueue_fd, READABLE, NOT_WRITABLE, NOT_EXCEPTION, __func__, "close_writer", "reader_fd") < 0) { cleanfifo2("testfifo", reader_fd, kqueue_fd); exit(-1); } - /* - if (assert_status(writer_fd, kqueue_fd, NOT_READABLE, NOT_WRITABLE, - NOT_EXCEPTION, __func__, "close_writer", "writer_fd") < 0) { - cleanfifo2("testfifo", reader_fd, kqueue_fd); - exit(-1); - } - */ - cleanfifo2("testfifo", reader_fd, kqueue_fd); } From anchie at FreeBSD.org Thu Jul 2 09:27:46 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Thu Jul 2 09:27:53 2009 Subject: PERFORCE change 165536 for review Message-ID: <200907020927.n629RjAq066375@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165536 Change 165536 by anchie@anchie_malimis on 2009/07/02 09:27:24 Return IPPROTO_DONE after sending the incoming packet to the user space. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#14 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#14 (text+ko) ==== @@ -766,18 +766,20 @@ /* give up local */ /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else { + return (IPPROTO_DONE); + } else { /* give up local */ nd6_rs_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(n, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else nd6_rs_input(n, off, icmp6len); /* m stays. */ break; @@ -791,16 +793,18 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else nd6_ra_input(m, off, icmp6len); m = NULL; goto freeit; } - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hoo(n, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else nd6_ra_input(n, off, icmp6len); /* m stays. */ break; @@ -814,18 +818,20 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else { + return (IPPROTO_DONE); + } else { /* give up local */ nd6_ns_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(n, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else nd6_ns_input(n, off, icmp6len); /* m stays. */ break; @@ -839,9 +845,10 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else { + return (IPPROTO_DONE); + } else { /* give up local */ nd6_na_input(m, off, icmp6len); } @@ -864,18 +871,20 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(m, ifp, SND_IN, ip6len); - else { + return (IPPROTO_DONE); + } else { /* give up local */ icmp6_redirect_input(m, off); } m = NULL; goto freeit; } - if (send_output_hook != NULL) + if (send_output_hook != NULL) { send_output_hook(n, ifp, SND_IN, ip6len); - else + return (IPPROTO_DONE); + } else icmp6_redirect_input(n, off); /* m stays. */ break; From andre at FreeBSD.org Thu Jul 2 11:18:48 2009 From: andre at FreeBSD.org (Andre Oppermann) Date: Thu Jul 2 11:18:55 2009 Subject: PERFORCE change 165539 for review Message-ID: <200907021118.n62BIktH076734@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165539 Change 165539 by andre@andre_flirtbox on 2009/07/02 11:18:45 Fix up function prototypes, add variables, comment out gone or currently unresolved stuff, hackery... Makes tcp_new syntactically correct enough to compile but not functional or useable yet. Affected files ... .. //depot/projects/tcp_new/modules/Makefile#3 edit .. //depot/projects/tcp_new/netinet/tcp.h#4 edit .. //depot/projects/tcp_new/netinet/tcp_input.c#12 edit .. //depot/projects/tcp_new/netinet/tcp_output.c#10 edit .. //depot/projects/tcp_new/netinet/tcp_reass.c#2 edit .. //depot/projects/tcp_new/netinet/tcp_sack.c#2 edit .. //depot/projects/tcp_new/netinet/tcp_seq.h#2 edit .. //depot/projects/tcp_new/netinet/tcp_subr.c#5 edit .. //depot/projects/tcp_new/netinet/tcp_syncache.c#5 edit .. //depot/projects/tcp_new/netinet/tcp_syncache.h#2 edit .. //depot/projects/tcp_new/netinet/tcp_timer.c#3 edit .. //depot/projects/tcp_new/netinet/tcp_timewait.c#2 edit .. //depot/projects/tcp_new/netinet/tcp_usrreq.c#4 edit .. //depot/projects/tcp_new/netinet/tcp_var.h#10 edit Differences ... ==== //depot/projects/tcp_new/modules/Makefile#3 (text+ko) ==== @@ -64,7 +64,6 @@ ${_ctau} \ cue \ ${_cx} \ - cxgb \ dc \ dcons \ dcons_crom \ ==== //depot/projects/tcp_new/netinet/tcp.h#4 (text+ko) ==== ==== //depot/projects/tcp_new/netinet/tcp_input.c#12 (text+ko) ==== @@ -128,10 +128,10 @@ &tcp_do_rfc3390, 0, "Enable RFC 3390 (Increasing TCP's Initial Congestion Window)"); -static int tcp_insecure_rst = 0; -SYSCTL_INT(_net_inet_tcp, OID_AUTO, insecure_rst, CTLFLAG_RW, - &tcp_insecure_rst, 0, - "Follow the old (insecure) criteria for accepting RST packets"); +static int tcp_secure_rst = 0; +SYSCTL_INT(_net_inet_tcp, OID_AUTO, secure_rst, CTLFLAG_RW, + &tcp_secure_rst, 0, + "Follow the new (secure) criteria for accepting RST packets"); int tcp_do_autorcvbuf = 1; SYSCTL_INT(_net_inet_tcp, OID_AUTO, recvbuf_auto, CTLFLAG_RW, @@ -150,21 +150,25 @@ #define tcb6 tcb /* for KAME src sync over BSD*'s */ struct inpcbinfo tcbinfo; -static void tcp_dooptions(struct tcpopt *, u_char *, int, int); +static void tcp_do_options(struct tcpopt *, u_char *, int, int); +static void tcp_do_ack(struct tcpcb *tp, struct tcphdr *th, int tiwin, + int acked, int tlen, int sacked); +static int tcp_do_rto(struct tcpcb *tp, int rtt); static void tcp_do_segment(struct mbuf *, struct tcphdr *, struct socket *, struct tcpcb *, int, int); static void tcp_do_time(struct tcpcb *tp, struct tcphdr *th, - struct tcpopt *to, int acked, int tlen); -static void tcp_do_urg(struct tcpcb *tp, struct tcphdr *th, int tlen); -static void tcp_do_wu(struct tcpcb *tp, struct tcphdr *th, + struct tcpopt *to, int acked, int tlen, int sacked); +static void tcp_do_urg(struct tcpcb *tp, struct socket *so, + struct tcphdr *th, int *tlen); +static int tcp_do_wu(struct tcpcb *tp, struct tcphdr *th, struct tcpopt *to, int tiwin, int acked, int tlen, int sacked); static void tcp_dropwithreset(struct mbuf *, struct tcphdr *, struct tcpcb *, int, int); +int tcp_init_cwnd(struct tcpcb *tp); +static void tcp_init_values(struct tcpcb *tp); static void tcp_pulloutofband(struct socket *, struct tcphdr *, struct mbuf *, int); -static void tcp_xmit_timer(struct tcpcb *, int); -static void tcp_newreno_partial_ack(struct tcpcb *, struct tcphdr *); /* Neighbor Discovery, Neighbor Unreachability Detection Upper layer hint. */ #ifdef INET6 @@ -504,7 +508,7 @@ */ if (inp->inp_vflag & INP_TIMEWAIT) { if (thflags & TH_SYN) - tcp_dooptions(&to, optp, optlen, TO_SYN); + tcp_do_options(&to, optp, optlen, TO_SYN); /* * NB: tcp_twcheck unlocks the INP and frees the mbuf. */ @@ -580,7 +584,7 @@ * syncookies need access to the reflected * timestamp. */ - tcp_dooptions(&to, optp, optlen, 0); + tcp_do_options(&to, optp, optlen, 0); /* * NB: syncache_expand() doesn't unlock * inp and tcpinfo locks. @@ -819,7 +823,7 @@ tcp_trace(TA_INPUT, ostate, tp, (void *)tcp_saveipgen, &tcp_savetcp, 0); #endif - tcp_dooptions(&to, optp, optlen, TO_SYN); + tcp_do_options(&to, optp, optlen, TO_SYN); syncache_add(&inc, &to, th, inp, &so, m); /* * Entry added to syncache and mbuf consumed. @@ -856,7 +860,7 @@ return; } -#define tcplog (s = tcp_log_addrs(tcpcbtoinc(tp), th, NULL, NULL)) +#define tcplog(x) (s = tcp_log_addrs(&tp->t_inpcb->inp_inc, th, NULL, NULL)) static void tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so, @@ -898,7 +902,7 @@ * RFC1122: section 4.2.2.5 */ if ((th->th_off << 2) != sizeof(struct tcphdr)) - tcp_dooptions(&to, (u_char *)(th + 1), + tcp_do_options(&to, (u_char *)(th + 1), (th->th_off << 2) - sizeof(struct tcphdr), (thflags & TH_SYN) ? TO_SYN : 0); else @@ -1021,9 +1025,9 @@ * SYN and once when get back the SYN-ACK. */ if (to.to_flags & TOF_MSS) - tp->snd_mss = tcp_mss(tptoinpinc(tp), to.to_mss, 0); + tp->snd_mss = tcp_mss(tcpcbtoinc(tp), to.to_mss, 0); else - tp->snd_mss = tcp_mss(tptoinpinc(tp), 0, 0); + tp->snd_mss = tcp_mss(tcpcbtoinc(tp), 0, 0); /* * Do window scaling on this connection? @@ -1048,7 +1052,7 @@ */ tcplog("Window Scaling Option unexpected, " "connection aborted"); - tp->t_error = ENETRESET; /* XXXAO: Correct error? */ + tp->t_softerror = ENETRESET; /* XXXAO: Correct error? */ tp = tcp_close(tp); rstreason = BANDLIM_UNLIMITED; goto dropwithreset; @@ -1070,7 +1074,7 @@ */ tcplog("Timestamp Option unexpected, " "connection aborted"); - tp->t_error = ENETRESET; + tp->t_softerror = ENETRESET; tp = tcp_close(tp); rstreason = BANDLIM_UNLIMITED; goto dropwithreset; @@ -1092,7 +1096,7 @@ */ tcplog("SACK Permitted unexpected, " "connection aborted"); - tp->t_error = ENETRESET; + tp->t_softerror = ENETRESET; tp = tcp_close(tp); rstreason = BANDLIM_UNLIMITED; goto dropwithreset; @@ -1102,13 +1106,12 @@ * Initialize receive structure. * XXXAO: TODO */ - tp->rcv_adv += rwin; /* XXX */ - tp->irs = th->th_seq; + tp->rcv_advwin += rwin; /* XXX */ tp->rcv_up = th->th_seq; - tcp_rcvseqinit(tp); - tcp_init_rcv(tp, seq); /* XXXAO */ - tcp_init_snd(tp, ack); /* XXXAO */ + //tcp_init_rcv(tp, seq); /* XXXAO */ + //tcp_init_snd(tp, ack); /* XXXAO */ + tcp_init_values(tp); /* * Process SYN and integrate sequence number. @@ -1132,8 +1135,8 @@ * Otherwise go into idle mode and wait for * either side to start transmitting data. */ - if (tp->snd_una != snd_nxt) { - tcp_timer_activate(tp, TT_RXMIT, ); /* XXXAO */ + if (tp->snd_una != tp->snd_nxt) { + tcp_timer_activate(tp, TT_REXMT, 1); /* XXXAO */ nudgeoutput = 1; } else { tcp_timer_activate(tp, TT_KEEP, tcp_keepidle); /* XXXAO */ @@ -1191,7 +1194,7 @@ * RFC2018: section 1, page 2, last paragraph */ if ((to.to_flags & TOF_SACK) && - !(tp->t_flags & TF_SACK_PERM)) { + !(tp->t_flags & TF_SACK_PERMIT)) { tcplog("SACK unexpected, segment ignored"); goto drop; } @@ -1214,21 +1217,21 @@ * Linux 2.6.25, net/ipv4/tcp_input.c, tcp_disordered_ack() */ if (to.to_flags & TOF_TS) { - time_t uptime = tcp_uptime(); + time_t uptime = (time_t)ticks; /* XXXAO */ if (uptime - tp->t_rcvtime < ((tcp_ts)0x0 - 1) / (hz * 2)) { - if (TSTMP_LT(to.to_tsval, tp->snd_tsecr) { + if (TSTMP_LT(to.to_tsval, tp->snd_tsecr)) { tcplog("Timestamp too old, " "sending challenge ack"); goto dropafterack; } - if (TSTMP_GT(to.to_tsecr, tp->snd_tsval) { + if (TSTMP_GT(to.to_tsecr, tp->snd_tslast)) { tcplog("Timestamp too new, " "sending challenge ack"); goto dropafterack; } } else - to->to_flags &= ~TOF_TS; + to.to_flags &= ~TOF_TS; } /* @@ -1276,7 +1279,7 @@ if (th->th_seq == tp->rcv_nxt - 1 && th->th_ack == tp->snd_nxt && tlen <= 1 && !(thflags & TH_URG) && - !TCPS_HAVERCVDFIN(tp)) { + !TCPS_HAVERCVDFIN(tp->t_state)) { /* * The connection is idle and this * is a keepalive. Force an ACK and @@ -1293,9 +1296,9 @@ thflags &= ~TH_FIN; } tp->t_flags |= TF_ACKNOW; - tcps.tcps_rcv_keepalive++; + //tcpstat.tcps_rcv_keepalive++; } else if (th->th_seq == tp->rcv_nxt - 1 && - TCPS_HAVERCVDFIN(tp) && (thflags & TH_FIN)) { + TCPS_HAVERCVDFIN(tp->t_state) && (thflags & TH_FIN)) { /* * Continue with duplicate FIN. * When we received the orginal FIN @@ -1309,7 +1312,7 @@ */ tp->t_flags |= TF_ACKNOW; } else if (th->th_seq == tp->rcv_nxt && tlen > 0 && - (thflags & TH_URG) && th->th_urg > 0) { + (thflags & TH_URG) && th->th_urp > 0) { /* * We must accept urgent data even when * the window is closed. Continue @@ -1355,7 +1358,7 @@ * XXXAO: Informal. Not part of any RFC. */ if (SEQ_GT(th->th_seq, tp->snd_lastack) && - SEQ_LT(th->th_seq, tp->rcv_nxt) { + SEQ_LT(th->th_seq, tp->rcv_nxt)) { tcplog("Received retransmit before we sent delayed ACK," " no action"); } @@ -1433,7 +1436,7 @@ * a SYN. */ if (th->th_ack != tp->snd_una || - th->th_ack != th->snd_nxt) { + th->th_ack != tp->snd_nxt) { tcplog("RST does not match, segment ignored"); tcpstat.tcps_badrst++; goto drop; @@ -1476,14 +1479,14 @@ */ if (tcp_secure_rst && (SEQ_DELTA(th->th_seq, tp->rcv_nxt) > 1 || - SEQ_DELTA(th->th_seq, tp->snd_last_ack) > 1) || - SEQ_DELTA(th->th_seq, tp->snd_last_ack + rwin) > 1) { + SEQ_DELTA(th->th_seq, tp->snd_lastack) > 1 || + SEQ_DELTA(th->th_seq, tp->snd_lastack + rwin) > 1)) { tcplog("RST does not match (secure), segment ignored"); tcpstat.tcps_badrst++; goto drop; } else if (!tcp_secure_rst && - (SEQ_LT(th->th_seq, tp->snd_last_ack - 1) || - SEQ_GT(th->th_seq, tp->snd_last_ack + rwin))) { + (SEQ_LT(th->th_seq, tp->snd_lastack - 1) || + SEQ_GT(th->th_seq, tp->snd_lastack + rwin))) { tcplog("RST does not match (insecure), segment ignored"); tcpstat.tcps_badrst++; goto drop; @@ -1646,11 +1649,11 @@ * drop trailing data (and PUSH and FIN); * if nothing left, just ACK. */ - todrop = th->th_seq + tlen, tp->rcv_nxt + rwin; + todrop = SEQ_DELTA(th->th_seq + tlen, tp->rcv_nxt + rwin); if (todrop > 0) { KASSERT(todrop <= tlen, ("%s: right todrop > tlen", __func__)); - KASSERT(!TCPS_HAVERCVDFIN(tp), + KASSERT(!TCPS_HAVERCVDFIN(tp->t_state), ("%s: FIN received, todrop > 0", __func__)); /* @@ -1760,7 +1763,7 @@ /* * Update congestion control information. */ - tcp_cc_ack(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__)); @@ -1768,14 +1771,14 @@ * Drop acknowledged data from send socket buffer. * RFC793: section 3.9, page 72, fifth check */ - if (acked > 0) + if (acked > 0) { SOCKBUF_LOCK(&so->so_snd); KASSERT(SEQ_GT(th->th_ack, tp->snd_nxt), ("%s: more acked than sent", __func__)); KASSERT(acked <= so->so_snd.sb_cc + 1, ("%s: more acked than in send buffer", __func__)); - KASSERT(!TCPS_HAVERCVDFIN(tp), + KASSERT(!TCPS_HAVERCVDFIN(tp->t_state), ("%s: FIN already processed but acked > 0", __func__)); /* @@ -1810,9 +1813,9 @@ ("%s: got ack for FIN but haven't sent FIN yet", __func__)); - KASSERT(!tcp_timer_active(TT_RXMIT), + KASSERT(!tcp_timer_active(tp, TT_REXMT), ("%s: ourfinisacked but RXMIT still active", - __func__); + __func__)); /* * Handle ack'ed FIN according to previous state. @@ -1903,7 +1906,7 @@ */ if (tlen == 0 && (th->th_flags & TH_FIN) == 0 && !TCPS_HAVERCVDFIN(tp->t_state)) { - INP_INFO_WUNLOCK(&tcpinfo); + INP_INFO_WUNLOCK(&tcbinfo); m_freem(m); m = NULL; th = NULL; @@ -1917,7 +1920,7 @@ */ if ((thflags & TH_URG) && th->th_urp > 0 && tlen > 0 && !TCPS_HAVERCVDFIN(tp->t_state)) { - tcp_do_urg(tp, th, &tlen); + tcp_do_urg(tp, so, th, &tlen); } else if (SEQ_GT(tp->rcv_nxt, tp->rcv_up)) { tp->rcv_up = tp->rcv_nxt; } @@ -1937,7 +1940,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 || (!TAILQ_EMPTY(&tp->rcv_trq) && (th->th_flags & TH_FIN)))) { int newsize = 0; /* Rcvbuf autoscaling. */ /* @@ -1955,14 +1958,14 @@ * XXXAO: This breaks with reassembly queue and * tlen == 0 and TH_FIN. */ - m_demote(m); + m_demote(m, 1); while (m->m_len == 0 && m->m_next != NULL) m = m_free(m); KASSERT(m->m_len > 0, ("%s: drop_hdrlen too big or mbuf chain broken", __func__)); } - KASSERT(tlen == m_length(m), + KASSERT(tlen == m_length(m, NULL), ("%s: tlen != mbuf chain length", __func__)); /* @@ -1980,7 +1983,8 @@ * RFC1122: section 4.2.2.21 */ if (th->th_seq != tp->rcv_nxt || !TAILQ_EMPTY(&tp->rcv_trq)) { - m = tcp_reass(tp, m, tlen, thflags); + //m = tcp_reass(tp, m, tlen, thflags); + m = NULL; if (m != NULL && (m->m_flags & M_PROTO1)) thflags |= TH_FIN; @@ -2029,7 +2033,7 @@ */ if (m != NULL && tcp_do_autorcvbuf && (to.to_flags & TOF_TS) && (so->so_rcv.sb_flags & SB_AUTOSIZE)) { - if (TS_GT(to.to_tsecr, tp->rfbuf_ts) && + if (TSTMP_GT(to.to_tsecr, tp->rfbuf_ts) && to.to_tsecr - tp->rfbuf_ts < hz) { if (tp->rfbuf_cnt > (so->so_rcv.sb_hiwat / 8 * 7) && so->so_rcv.sb_hiwat < tcp_autorcvbuf_max) { @@ -2091,7 +2095,7 @@ /* * Update size of receive window. */ - tp->rcv_wnd = sbspace(so->so_rcv); + tp->rcv_wnd = (tcp_seq)sbspace(&so->so_rcv); /* * NB: sorwakeup_locked implicitly unlocks. @@ -2125,10 +2129,10 @@ */ } } else { - KASSERT(!TCPS_HAVERCVDFIN(tp) || TAILQ_EMPTY(&tp->rcv_trq), + KASSERT(!TCPS_HAVERCVDFIN(tp->t_state) || TAILQ_EMPTY(&tp->rcv_trq), ("%s: FIN received but reassembly queue not empty", __func__)); KASSERT(tlen == 0, - ("%s: data unexpected", __func__)) + ("%s: data unexpected", __func__)); /* * Dispose of segment. The data was already dropped @@ -2255,7 +2259,7 @@ * XXXAO: Multi-delack? * XXXAO: Always call into tcp_output and have it decide what to do. */ - (void)tcp_output(tp, TPO_TINPUT); + (void)tcp_output(tp); #if 0 if ((tp->t_flags & TF_ACKNOW) || tp->snd_delack > 1 || nudgeoutput || (tp->t_flags & TF_RXWIN0SENT) || @@ -2271,7 +2275,7 @@ return; dropafterack: - INP_INFO_LOCK_ASSERT(&tcpinfo); + INP_INFO_WLOCK_ASSERT(&tcbinfo); INP_LOCK_ASSERT(tp->t_inpcb); KASSERT(!(thflags & TH_RST), ("%s: dropafterack with RST", __func__)); @@ -2290,12 +2294,12 @@ */ tp->t_flags |= TF_ACKNOW; m_freem(m); - (void) tcp_output(tp, TPO_TINPUT); + (void) tcp_output(tp); INP_UNLOCK(tp->t_inpcb); return; dropwithreset: - INP_INFO_LOCK_ASSERT(&tcpinfo); + INP_INFO_WLOCK_ASSERT(&tcbinfo); INP_INFO_WUNLOCK(&tcbinfo); KASSERT(th != NULL, ("%s: th for tcp_dropwithreset() is NULL", __func__)); @@ -2310,7 +2314,7 @@ return; drop: - INP_INFO_LOCK_ASSERT(&tcpinfo); + INP_INFO_WLOCK_ASSERT(&tcbinfo); /* * Drop space held by incoming segment and return. */ @@ -2489,7 +2493,7 @@ int acked, int tlen, int sacked) { int rtt; - tcp_ts tick = tcp_ticks; + tcp_ts tick = ticks; INP_LOCK_ASSERT(tp->t_inpcb); KASSERT(tp != NULL && th != NULL && to != NULL, @@ -2500,8 +2504,7 @@ * * Make note of most recent segment received time. */ - tp->t_rcvtime = tcp_uptime(); - tp->t_rcvticks = tick; + tp->t_rcvtime = time_uptime; /* * 2. If timestamps are used decide which to reflect. @@ -2527,27 +2530,29 @@ * Does this give PAWS problems? */ if (to->to_flags & TOF_TS) { +#define TCP_RFC1323_BRADEN #ifdef TCP_RFC1323_BRADEN - if (TS_GEQ(to->to_tsval, tp->snd_tsecr) && + if (TSTMP_GEQ(to->to_tsval, tp->snd_tsecr) && SEQ_LEQ(th->th_ack, tp->snd_lastack)) { #endif #ifdef TCP_RFC1323bis_plusSACK - if (TS_GT(to->to_tsval, tp->snd_tsecr) && + if (TSTMP_GT(to->to_tsval, tp->snd_tsecr) && ((th->th_seq == tp->rcv_nxt && tp->snd_delack == 0) || - sacked > 0) { + sacked > 0)) { #endif tp->snd_tsecr = to->to_tsval; - tp->snd_tsecrts = tcp_ticks; + //tp->snd_tsecrts = ticks; } - KASSERT(!TS_GT(to->to_secr, tick), + KASSERT(!TSTMP_GT(to->to_tsecr, tick), ("%s: timestamp newer than our time", __func__)); /* * Remember highest most recent reflected TS. */ if (SEQ_LEQ(th->th_seq, tp->snd_lastack) && - TS_GT(to->to_tsecr > tp->ts_recent)) - tp->ts_recent = to->to_tsecr; - tp->ts_recentts = tick; + TSTMP_GT(to->to_tsecr, tp->tsval_recent)) { + tp->tsval_recent = to->to_tsecr; + //tp->ts_recentts = tick; + } } /* @@ -2557,7 +2562,7 @@ rtt = tick - to->to_tsecr; } else if (acked > 0 && tp->snd_rtseq != 0 && SEQ_GT(th->th_ack, tp->snd_rtseq) && - TAILQ_EMPTY(tp->rcv_trq) && tp->snd_rtoshift == 0) { + TAILQ_EMPTY(&tp->rcv_trq) /*&& tp->snd_rtoshift == 0*/ ) { rtt = tick - tp->snd_rtts; tp->snd_rtseq = 0; } else @@ -2587,8 +2592,8 @@ * the time measurement or our estimate will be way off. */ if (tick - tp->snd_tslast > tp->snd_rto) { - if (tp->t_rtseq != 0) - tp->t_rtseq = 0; + if (tp->snd_rtseq != 0) + tp->snd_rtseq = 0; return; } @@ -2878,8 +2883,8 @@ #endif #ifdef TCP_WU_BSDNEW if (((to->to_flags & TOF_TS) && - TS_GT(to->to_tsecr, tp->ts_reflected_last) || - TS_GT(to->to_tsval, tp->ts_recent)) || + (TSTMP_GT(to->to_tsecr, tp->snd_tsecr) || + TSTMP_GT(to->to_tsval, tp->snd_tslast))) || acked > 0 || (SEQ_GT(th->th_seq, tp->snd_wu_seq) && acked >= 0) || (th->th_seq == tp->snd_wu_seq && th->th_ack == tp->snd_una && @@ -2898,8 +2903,9 @@ * RFC793: section 3.7, page 42-44, "Managing the Window" * RFC1122: section 4.2.2.16 */ - if (SEQ_DELTA(tp->snd_nxt, tp->snd_una + acked) + tiwin < tp->snd_wnd) - tcplog("peer shrank the window"); + if (SEQ_DELTA(tp->snd_nxt, tp->snd_una + acked) + tiwin < tp->snd_wnd) { + //tcplog("peer shrank the window"); + } /* * Update the window and keep track of this update. @@ -2920,7 +2926,8 @@ } static void -tcp_do_ack(tp, th, tiwin, acked, tlen, sacked) +tcp_do_ack(struct tcpcb *tp, struct tcphdr *th, int tiwin, int acked, + int tlen, int sacked) { /* * Without SACK detecting a duplicate ACK is based on an @@ -2959,8 +2966,8 @@ if (acked > 0) tp->snd_una += acked; - KASSERT(tp->snd_una == tp->snd_nxt || tcp_timer_active(TT_RXMIT), - ("%s: outstanding data but RXMIT timer not active", __func__)); + KASSERT(tp->snd_una == tp->snd_nxt || tcp_timer_active(tp, TT_REXMT), + ("%s: outstanding data but REXMT timer not active", __func__)); /* * Stop the retransmit timer if all data we sent has been @@ -2970,9 +2977,9 @@ * XXXAO: Handle backoff on multiple retransmits. */ if (acked > 0 && tp->snd_una == tp->snd_nxt) - tcp_timer_activate(TT_RXMIT, 0); + tcp_timer_activate(tp, TT_REXMT, 0); else if (acked > 0) - tcp_timer_activate(TT_RXMIT, tp->snd_rto); + tcp_timer_activate(tp, TT_REXMT, tp->snd_rto); } @@ -2983,14 +2990,16 @@ * Finish this function and validate against all relevant RFCs. */ void -tcp_do_urg(struct tcpcb *tp, struct tcphdr *th, int tlen) +tcp_do_urg(struct tcpcb *tp, struct socket *so, struct tcphdr *th, int *tlen) { + struct mbuf *m = NULL; + int drop_hdrlen = 0; KASSERT(tp != NULL && th != NULL, ("%s: ", __func__)); KASSERT(tlen > 0, ("%s: ", __func__)); - KASSERT(!HAVERCVDFIN(tp), + KASSERT(!TCPS_HAVERCVDFIN(tp->t_state), ("%s: ", __func__)); INP_LOCK_ASSERT(tp->t_inpcb); @@ -3003,7 +3012,7 @@ SOCKBUF_LOCK(&so->so_rcv); if (th->th_urp + so->so_rcv.sb_cc > sb_max) { th->th_urp = 0; /* XXX */ - thflags &= ~TH_URG; /* XXX */ + //thflags &= ~TH_URG; /* XXX */ SOCKBUF_UNLOCK(&so->so_rcv); /* XXX */ return; /* XXX */ } @@ -3110,13 +3119,13 @@ #ifdef INET6 if (isipv6) { mss = tcp_v6mssdflt; - maxmtu = tcp_maxmtu6(inc, mtuflags); + maxmtu = tcp_maxmtu6(inc, &mtuflags); min_protoh = sizeof(struct ip6_hdr) + sizeof(struct tcphdr); } else #endif { mss = tcp_mssdflt; - maxmtu = tcp_maxmtu(inc, mtuflags); + maxmtu = tcp_maxmtu(inc, &mtuflags); min_protoh = sizeof(struct tcpiphdr); } thcmtu = tcp_hc_getmtu(inc); /* IPv4 and IPv6 */ @@ -3173,14 +3182,8 @@ if (tcp_do_rfc3390) cwnd = min(4 * tp->snd_mss, max(2 * tp->snd_mss, 4380)); -#ifdef INET6 - else if (isipv6 && in6_localaddr(&inp->in6p_faddr)) - cwnd = tp->snd_mss * ss_fltsz_local; -#endif - else if (in_localaddr(inp->inp_faddr)) - cwnd = tp->snd_mss * ss_fltsz_local; else - cwnd = tp->snd_mss * ss_fltsz; + cwnd = tp->snd_mss; return (cwnd); } @@ -3194,13 +3197,8 @@ struct inpcb *inp = tp->t_inpcb; struct socket *so = inp->inp_socket; u_long bufsize; - u_long maxmtu; - int rtt, mss; - int origoffer = offer; + int rtt, mss = 0; int mtuflags = 0; -#ifdef INET6 - int isipv6 = ((inp->inp_vflag & INP_IPV6) != 0) ? 1 : 0; -#endif struct hc_metrics_lite metrics; /* @@ -3255,7 +3253,7 @@ (void)sbreserve_locked(&so->so_snd, bufsize, so, NULL); } SOCKBUF_UNLOCK(&so->so_snd); - tp->t_maxseg = mss; + //tp->t_maxseg = mss; SOCKBUF_LOCK(&so->so_rcv); if ((so->so_rcv.sb_hiwat == tcp_recvspace) && metrics.rmx_recvpipe) @@ -3276,7 +3274,7 @@ */ if (tp->t_srtt == 0 && (rtt = metrics.rmx_rtt)) { tp->t_srtt = rtt; - tp->t_rttbest = tp->t_srtt + TCP_RTT_SCALE; + //tp->t_rttbest = tp->t_srtt + TCP_RTT_SCALE; tcpstat.tcps_usedrtt++; if (metrics.rmx_rttvar) { tp->t_rttvar = metrics.rmx_rttvar; @@ -3286,9 +3284,9 @@ tp->t_rttvar = tp->t_srtt * TCP_RTTVAR_SCALE / TCP_RTT_SCALE; } - TCPT_RANGESET(tp->t_rxtcur, - ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1, - tp->t_rttmin, TCPTV_REXMTMAX); + //TCPT_RANGESET(tp->t_rxtcur, + // ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1, + // tp->t_rttmin, TCPTV_REXMTMAX); } if (metrics.rmx_ssthresh) { /* ==== //depot/projects/tcp_new/netinet/tcp_output.c#10 (text+ko) ==== @@ -80,6 +80,7 @@ #include +int path_mtu_discovery = 1; /* XXXAO: old style */ int tcp_do_pmtud = 1; SYSCTL_INT(_net_inet_tcp, OID_AUTO, path_mtu_discovery, CTLFLAG_RW, &tcp_do_pmtud, 1, "Enable Path MTU Discovery"); @@ -100,19 +101,21 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, sendbuf_max, CTLFLAG_RW, &tcp_autosndbuf_max, 0, "Max size of automatic send buffer"); -static int -tcp_send(struct tcpcb *tp, struct tcpopt *to, int len, int rwin, int flags); -static int -tcp_retransmit(struct tcpcb *tp, int *len); -static int -tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, struct tcpopt *opt, - int off, int *olen, int optlen); -static u_int -tcp_rcv_wnd(struct tcpcb *tp, struct socket *so); -static void -tcp_snd_pace(struct tcpcp *tp); -static void -tcp_options(struct tcpcb *tp, struct tcpopt *to, int flags); +static int ip_optlen(struct inpcb *inp); +static int tcp_send(struct tcpcb *tp, struct socket *so, + struct tcpopt *to, u_char *opt, int len, + int optlen, int rwin, int flags); +static int tcp_retransmit(struct tcpcb *tp, struct socket *so, + struct tcpopt *to, u_char *opt, int *len, + int optlen, int rwin, int flags); +static int tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, + u_char *opt, int off, int *olen, int optlen); +static u_int tcp_rcv_wnd(struct tcpcb *tp, struct socket *so); +static int tcp_snd_pace(struct tcpcb *tp, int len); +static void tcp_snd_autoscale(struct tcpcb *tp, struct socket *so, + int swin); +static int tcp_options(struct tcpcb *tp, struct socket *so, + struct tcpopt *to, u_char *opt, int flags); /* * Tcp output routine: figure out what should be sent and send it. @@ -139,13 +142,14 @@ * 7. Send based on flags */ int -tcp_output(struct tcpcb *tp, int reason) +tcp_output(struct tcpcb *tp) { - int off, flags, error, optlen; - tcp_win len, recwin, swin; + int flags, error, optlen = 0; + tcp_win len; + int duna, swnd, cwnd, dlen, inflight, rwin; + int tcp_min_idle = 1; /* XXXAO */ struct inpcb *inp = tp->t_inpcb; struct socket *so = inp->inp_socket; - struct tcphdr ths; struct tcpopt to; u_char opt[TCP_MAXOLEN]; #ifdef TCP_SIGNATURE @@ -159,10 +163,10 @@ KASSERT(tp->t_state < TCPS_TIME_WAIT, ("%s: TCPS_TIME_WAIT invalid", __func__)); - KASSERT(SEQ_GEQ(tp->snd_rxmit, tp->snd_una), - ("%s: snd_rxmit < snd_una", __func__)) - KASSERT(SEQ_LEQ(tp->snd_rxmit, tp->snd_nxt), - ("%s: snd_rxmit > snd_nxt", __func__)) + //KASSERT(SEQ_GEQ(tp->snd_rxmit, tp->snd_una), + // ("%s: snd_rxmit < snd_una", __func__)); + //KASSERT(SEQ_LEQ(tp->snd_rxmit, tp->snd_nxt), + // ("%s: snd_rxmit > snd_nxt", __func__)); /* * Get standard flags. Removal of inappropriate flags for a @@ -251,15 +255,15 @@ */ if (tp->snd_nxt == tp->snd_una && (ticks - tp->t_rcvtime) >= max(tp->t_rxtcur, tcp_min_idle)) { - tp->snd_cwnd = tcp_init_cwnd(tp); + tp->snd_cwnd = tp->snd_mss /*tcp_init_cwnd(tp)*/; } break; case TP_SENDING: break; case TP_LOSSRECOV: case TP_REXMT: - tcp_retransmit(tp, &len); - if (len = 0) + error = tcp_retransmit(tp, so, &to, &opt[0], &len, optlen, rwin, flags); + if (len == 0) return (0); break; case TP_PERSIST: @@ -478,13 +482,21 @@ return (0); send: - tcp_options(tp, &to, flags); - return (tcp_send(tp, &to, flags)); + optlen = tcp_options(tp, so, &to, &opt[0], flags); + error = tcp_send(tp, so, &to, &opt[0], len, optlen, rwin, flags); + + if (!error) + tcp_snd_autoscale(tp, so, swnd); + + return (error); } static int -tcp_send(struct tcpcb *tp, struct tcpopt *to, int len, int rwin, int flags) +tcp_send(struct tcpcb *tp, struct socket *so, struct tcpopt *to, + u_char *opt, int len, int optlen, int rwin, int flags) { + int off, error; + struct tcphdr ths, *th = &ths; KASSERT((flags & TH_SYN) || (tp->t_flags & TF_SENTSYN), ("%s: retransmitting SYN", __func__)); @@ -552,7 +564,7 @@ /* * Integrate FIN into sequence space. */ - if ((flags & TH_FIN) && !(tp-t_flags & TF_SENTFIN)) { + if ((flags & TH_FIN) && !(tp->t_flags & TF_SENTFIN)) { tp->snd_nxt++; tp->t_flags |= TF_SENTFIN; } @@ -584,7 +596,7 @@ * 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) + 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); @@ -620,9 +632,9 @@ * Time this transmission if not a retransmission and * not currently timing anything. */ - if (tp->t_rtttime == 0) { - tp->t_rtttime = ticks; - tp->t_rtseq = startseq; + if (tp->snd_rtts == 0) { + tp->snd_rtts = ticks; + tp->snd_rtseq = tp->snd_nxt - len; /* XXXAO */ tcpstat.tcps_segstimed++; } @@ -635,7 +647,7 @@ * of retransmit time. */ if (!tcp_timer_active(tp, TT_REXMT) && - (tp->snd_nxt != tp->snd_una))) { + (tp->snd_nxt != tp->snd_una)) { if (tcp_timer_active(tp, TT_PERSIST)) { tcp_timer_activate(tp, TT_PERSIST, 0); tp->t_rxtshift = 0; @@ -667,7 +679,7 @@ if (!tcp_timer_active(tp, TT_REXMT) && !tcp_timer_active(tp, TT_PERSIST)) tcp_timer_activate(tp, TT_REXMT, tp->t_rxtcur); - tp->snd_cwnd = tp->t_maxseg; + tp->snd_cwnd = tp->snd_mss; error = 0; break; @@ -687,7 +699,7 @@ * immediatly retry with MSS sized segments generated * by this function. */ - if (tso) + if (tp->t_flags & TF_TSO) tp->t_flags &= ~TF_TSO; else tcp_mtudisc(tp->t_inpcb, 0); @@ -724,11 +736,11 @@ * * XXXAO: Account for TSO. */ - if ((tp->t_flags & TF_FORCEDATA) && len == 1) + if ((tp->t_flags & TF_FORCEDATA) && len == 1) { tcpstat.tcps_sndprobe++; - else if (SEQ_LT(tp->snd_nxt, tp->snd_max)) { - tcpstat.tcps_sndrexmitpack++; - tcpstat.tcps_sndrexmitbyte += len; + //} else if (SEQ_LT(tp->snd_nxt, tp->snd_max)) { + // tcpstat.tcps_sndrexmitpack++; + // tcpstat.tcps_sndrexmitbyte += len; } else { tcpstat.tcps_sndpack++; tcpstat.tcps_sndbyte += len; @@ -752,9 +764,11 @@ * from the normal transmit case as the logic is quite a bit different. */ static int -tcp_retransmit(struct tcpcb *tp, int *len) +tcp_retransmit(struct tcpcb *tp, struct socket *so, struct tcpopt *to, + u_char *opt, int *len, int optlen, int rwin, int flags) { - struct tcphdr ths, *th; + int error, off, rlen = 0; + struct tcphdr ths, *th = &ths; /* * Retransmit over the SACK holes. @@ -780,12 +794,12 @@ /* Limited transmit */ if (tp->snd_dupack < 3) - *len = min(len, tp->snd_mss); /* one mss */ + *len = min(*len, tp->snd_mss); /* one mss */ else *len = 0; if (tp->snd_dupack < 3) - return; + return (0); /* * XXXAO: Temporary. @@ -811,10 +825,10 @@ SOCKBUF_LOCK(&so->so_snd); off = min(tp->snd_rxmit - tp->snd_una, so->so_snd.sb_cc); - error = tcp_send_segments(tp, &ths, opt, off, olen, optlen); + error = tcp_send_segments(tp, &ths, opt, off, &rlen, optlen); SOCKBUF_UNLOCK(&so->so_snd); - return; + return (error); } /* @@ -824,17 +838,18 @@ * XXXAO: We may leave some left-overs if we can't drain the whole send buffer. */ static int -tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, struct tcpopt *opt, +tcp_send_segments(struct tcpcb *tp, struct tcphdr *ths, u_char *opt, int off, int *olen, int optlen) { - int len, slen, hdrs, hdrlen, linkhdr, optlen, ipoptlen; + int len, slen, hdrs, hdrlen, linkhdr, ipoptlen; int error = 0; + struct mbuf *m; struct tcphdr *th; - struct ip *ip; + struct ip *ip = NULL; struct inpcb *inp = tp->t_inpcb; struct socket *so = inp->inp_socket; #ifdef INET6 - struct ip6_hdr *ip6; + struct ip6_hdr *ip6 = NULL; int isipv6 = (inp->inp_vflag & INP_IPV6) != 0; #endif INP_LOCK_ASSERT(tp->t_inpcb); @@ -905,7 +920,7 @@ * is already reflected in the MSS. */ if (tp->t_flags & TF_TSO) { - if (len > TCP_MAXWIN - (hdrs + linkhdr) { + if (len > TCP_MAXWIN - (hdrs + linkhdr)) { slen = TCP_MAXWIN - (hdrs + linkhdr); slen -= slen % (tp->snd_mss - optlen); } else @@ -975,7 +990,7 @@ * trailing space is available, or we attach an mbuf chain * with references to the mbuf storage in the socket buffer. */ - if (slen <= M_TAILINGSPACE(m)) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From andre at FreeBSD.org Thu Jul 2 12:38:24 2009 From: andre at FreeBSD.org (Andre Oppermann) Date: Thu Jul 2 12:38:32 2009 Subject: PERFORCE change 165540 for review Message-ID: <200907021238.n62CcDi0083534@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165540 Change 165540 by andre@andre_flirtbox on 2009/07/02 12:38:12 Integrate. Affected files ... .. //depot/projects/tcp_reass/amd64/amd64/genassym.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/identcpu.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/intr_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/io_apic.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/machdep.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/msi.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/sys_machdep.c#3 integrate .. //depot/projects/tcp_reass/amd64/include/intr_machdep.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/pmap.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/vm.h#1 branch .. //depot/projects/tcp_reass/amd64/isa/atpic.c#3 integrate .. //depot/projects/tcp_reass/amd64/isa/clock.c#6 integrate .. //depot/projects/tcp_reass/arm/arm/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/elf_trampoline.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/pmap.c#6 integrate .. //depot/projects/tcp_reass/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/if_ate.c#4 integrate .. //depot/projects/tcp_reass/arm/conf/AVILA.hints#4 integrate .. //depot/projects/tcp_reass/arm/conf/CAMBRIA.hints#3 integrate .. //depot/projects/tcp_reass/arm/conf/DB-78XXX#2 integrate .. //depot/projects/tcp_reass/arm/conf/DB-88F5XXX#2 integrate .. //depot/projects/tcp_reass/arm/conf/DB-88F6XXX#2 integrate .. //depot/projects/tcp_reass/arm/include/vm.h#1 branch .. //depot/projects/tcp_reass/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/files.mv#2 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/mv_sata.c#1 branch .. //depot/projects/tcp_reass/arm/mv/mvreg.h#3 integrate .. //depot/projects/tcp_reass/arm/mv/mvwin.h#2 integrate .. //depot/projects/tcp_reass/arm/mv/orion/orion.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/assabet_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/ep80219_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/crb_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_ata.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/tcp_reass/arm/xscale/ixp425/files.avila#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/if_npe.c#6 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425reg.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425var.h#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosdisk.c#5 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/version#2 integrate .. //depot/projects/tcp_reass/cam/cam_periph.c#5 integrate .. //depot/projects/tcp_reass/cam/cam_periph.h#3 integrate .. //depot/projects/tcp_reass/cam/scsi/scsi_target.c#4 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_kobj.c#3 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#4 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/tcp_reass/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/tcp_reass/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_proto.h#6 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_syscall.h#6 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_syscalls.c#6 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_sysent.c#6 integrate .. //depot/projects/tcp_reass/compat/freebsd32/syscalls.master#6 integrate .. //depot/projects/tcp_reass/compat/linprocfs/linprocfs.c#5 integrate .. //depot/projects/tcp_reass/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/tcp_reass/compat/linux/linux_ipc.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_misc.c#7 integrate .. //depot/projects/tcp_reass/compat/linux/linux_signal.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_uid16.c#3 integrate .. //depot/projects/tcp_reass/compat/ndis/kern_ndis.c#5 integrate .. //depot/projects/tcp_reass/compat/ndis/subr_ndis.c#5 integrate .. //depot/projects/tcp_reass/compat/ndis/subr_usbd.c#4 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_sockio.c#4 integrate .. //depot/projects/tcp_reass/conf/NOTES#6 integrate .. //depot/projects/tcp_reass/conf/files#7 integrate .. //depot/projects/tcp_reass/conf/files.amd64#6 integrate .. //depot/projects/tcp_reass/conf/files.i386#6 integrate .. //depot/projects/tcp_reass/conf/files.powerpc#6 integrate .. //depot/projects/tcp_reass/conf/kmod.mk#4 integrate .. //depot/projects/tcp_reass/conf/options#6 integrate .. //depot/projects/tcp_reass/contrib/altq/altq/altq_subr.c#4 integrate .. //depot/projects/tcp_reass/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/tcp_reass/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_if.c#5 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_ioctl.c#5 integrate .. //depot/projects/tcp_reass/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/tcp_reass/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/tcp_reass/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/tcp_reass/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdSynch.c#4 integrate .. //depot/projects/tcp_reass/dev/ae/if_ae.c#2 integrate .. //depot/projects/tcp_reass/dev/age/if_age.c#3 integrate .. //depot/projects/tcp_reass/dev/alc/if_alc.c#2 integrate .. //depot/projects/tcp_reass/dev/ale/if_ale.c#2 integrate .. //depot/projects/tcp_reass/dev/asmc/asmc.c#5 integrate .. //depot/projects/tcp_reass/dev/asmc/asmcvar.h#4 integrate .. //depot/projects/tcp_reass/dev/ata/ata-all.h#6 integrate .. //depot/projects/tcp_reass/dev/ata/ata-dma.c#4 integrate .. //depot/projects/tcp_reass/dev/ata/ata-pci.h#6 integrate .. //depot/projects/tcp_reass/dev/ata/ata-sata.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-acard.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-acerlabs.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-intel.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-nvidia.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-promise.c#3 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah.c#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah_internal.h#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5416/ar5416_attach.c#3 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5416/ar5416_reset.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/if_ath.c#6 integrate .. //depot/projects/tcp_reass/dev/ath/if_athvar.h#5 integrate .. //depot/projects/tcp_reass/dev/bce/if_bce.c#6 integrate .. //depot/projects/tcp_reass/dev/bce/if_bcereg.h#5 integrate .. //depot/projects/tcp_reass/dev/bfe/if_bfe.c#5 integrate .. //depot/projects/tcp_reass/dev/bge/if_bge.c#6 integrate .. //depot/projects/tcp_reass/dev/bm/if_bm.c#2 integrate .. //depot/projects/tcp_reass/dev/cas/if_cas.c#2 integrate .. //depot/projects/tcp_reass/dev/cas/if_casvar.h#2 integrate .. //depot/projects/tcp_reass/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/tcp_reass/dev/cs/if_cs.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_t3_cpl.h#4 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_adapter.h#7 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_main.c#7 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_multiq.c#5 delete .. //depot/projects/tcp_reass/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_sge.c#6 integrate .. //depot/projects/tcp_reass/dev/cxgb/sys/cxgb_support.c#6 delete .. //depot/projects/tcp_reass/dev/cxgb/sys/mvec.h#5 integrate .. //depot/projects/tcp_reass/dev/cxgb/sys/uipc_mvec.c#5 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 integrate .. //depot/projects/tcp_reass/dev/dc/if_dc.c#5 integrate .. //depot/projects/tcp_reass/dev/de/if_de.c#4 integrate .. //depot/projects/tcp_reass/dev/drm/drmP.h#3 integrate .. //depot/projects/tcp_reass/dev/drm/drm_bufs.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/drm_context.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/drm_drv.c#4 integrate .. //depot/projects/tcp_reass/dev/drm/drm_irq.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/drm_sysctl.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/i915_dma.c#4 integrate .. //depot/projects/tcp_reass/dev/drm/i915_drv.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/i915_drv.h#3 integrate .. //depot/projects/tcp_reass/dev/drm/i915_irq.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/radeon_cp.c#3 integrate .. //depot/projects/tcp_reass/dev/drm/radeon_irq.c#3 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/if_em.c#3 integrate .. //depot/projects/tcp_reass/dev/e1000/if_em.h#2 integrate .. //depot/projects/tcp_reass/dev/e1000/if_igb.c#3 integrate .. //depot/projects/tcp_reass/dev/e1000/if_igb.h#2 integrate .. //depot/projects/tcp_reass/dev/ed/if_ed.c#4 integrate .. //depot/projects/tcp_reass/dev/et/if_et.c#2 integrate .. //depot/projects/tcp_reass/dev/ex/if_ex.c#3 integrate .. //depot/projects/tcp_reass/dev/fdc/fdc.c#3 integrate .. //depot/projects/tcp_reass/dev/fe/if_fe.c#3 integrate .. //depot/projects/tcp_reass/dev/firewire/fwdev.c#3 integrate .. //depot/projects/tcp_reass/dev/fxp/if_fxp.c#5 integrate .. //depot/projects/tcp_reass/dev/fxp/if_fxpvar.h#3 integrate .. //depot/projects/tcp_reass/dev/gem/if_gem.c#6 integrate .. //depot/projects/tcp_reass/dev/gem/if_gem_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/tcp_reass/dev/gem/if_gemreg.h#3 integrate .. //depot/projects/tcp_reass/dev/gem/if_gemvar.h#3 integrate .. //depot/projects/tcp_reass/dev/hme/if_hme.c#3 integrate .. //depot/projects/tcp_reass/dev/hptmv/atapi.h#2 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_logging.c#3 integrate .. //depot/projects/tcp_reass/dev/hwpmc/hwpmc_mod.c#4 integrate .. //depot/projects/tcp_reass/dev/ic/ns16550.h#3 integrate .. //depot/projects/tcp_reass/dev/ie/if_ie.c#3 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis_pccard.c#3 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis_usb.c#4 integrate .. //depot/projects/tcp_reass/dev/iscsi/initiator/isc_soc.c#5 integrate .. //depot/projects/tcp_reass/dev/ixgb/if_ixgb.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_82598.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_api.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_api.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_common.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_osdep.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_phy.c#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_phy.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgbe/ixgbe_type.h#3 integrate .. //depot/projects/tcp_reass/dev/jme/if_jme.c#2 integrate .. //depot/projects/tcp_reass/dev/le/lance.c#2 integrate .. //depot/projects/tcp_reass/dev/lge/if_lge.c#4 integrate .. //depot/projects/tcp_reass/dev/malo/if_malo.c#4 integrate .. //depot/projects/tcp_reass/dev/md/md.c#6 integrate .. //depot/projects/tcp_reass/dev/mfi/mfi.c#6 integrate .. //depot/projects/tcp_reass/dev/mge/if_mge.c#3 integrate .. //depot/projects/tcp_reass/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/tcp_reass/dev/msk/if_msk.c#6 integrate .. //depot/projects/tcp_reass/dev/mwl/if_mwl.c#2 integrate .. //depot/projects/tcp_reass/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/tcp_reass/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/tcp_reass/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/tcp_reass/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/tcp_reass/dev/mxge/eth_z8e.h#4 integrate .. //depot/projects/tcp_reass/dev/mxge/ethp_z8e.h#4 integrate .. //depot/projects/tcp_reass/dev/mxge/if_mxge.c#7 integrate .. //depot/projects/tcp_reass/dev/mxge/if_mxge_var.h#6 integrate .. //depot/projects/tcp_reass/dev/mxge/mxge_lro.c#4 integrate .. //depot/projects/tcp_reass/dev/mxge/rss_eth_z8e.h#4 integrate .. //depot/projects/tcp_reass/dev/mxge/rss_ethp_z8e.h#4 integrate .. //depot/projects/tcp_reass/dev/my/if_my.c#3 integrate .. //depot/projects/tcp_reass/dev/nfe/if_nfe.c#7 integrate .. //depot/projects/tcp_reass/dev/nge/if_nge.c#3 integrate .. //depot/projects/tcp_reass/dev/nve/if_nve.c#3 integrate .. //depot/projects/tcp_reass/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/tcp_reass/dev/pci/pci.c#5 integrate .. //depot/projects/tcp_reass/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/tcp_reass/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/tcp_reass/dev/puc/pucdata.c#5 integrate .. //depot/projects/tcp_reass/dev/re/if_re.c#7 integrate .. //depot/projects/tcp_reass/dev/sf/if_sf.c#3 integrate .. //depot/projects/tcp_reass/dev/sis/if_sis.c#3 integrate .. //depot/projects/tcp_reass/dev/sk/if_sk.c#4 integrate .. //depot/projects/tcp_reass/dev/sn/if_sn.c#2 integrate .. //depot/projects/tcp_reass/dev/snc/dp83932.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/midi/midi.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/midi/sequencer.c#4 integrate .. //depot/projects/tcp_reass/dev/sound/pci/hda/hdac.c#5 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/tcp_reass/dev/speaker/spkr.c#4 integrate .. //depot/projects/tcp_reass/dev/ste/if_ste.c#3 integrate .. //depot/projects/tcp_reass/dev/stge/if_stge.c#5 integrate .. //depot/projects/tcp_reass/dev/ti/if_ti.c#4 integrate .. //depot/projects/tcp_reass/dev/tl/if_tl.c#2 integrate .. //depot/projects/tcp_reass/dev/tsec/if_tsec.c#4 integrate .. //depot/projects/tcp_reass/dev/tx/if_tx.c#3 integrate .. //depot/projects/tcp_reass/dev/txp/if_txp.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/at91dci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/at91dci_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/atmegadci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/atmegadci_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/avr32dci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_ixp4xx.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_mbus.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/musb_otg.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/musb_otg_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/usb_controller.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uss820dci.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uss820dci_atmelarm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/input/uhid.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/input/ukbd.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/input/ums.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/misc/udbp.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/misc/ufm.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_aue.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_axe.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cdce.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cue.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_kue.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_rue.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_udav.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/net/usb_ethernet.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/quirk/usb_quirk.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/u3g.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uark.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ubsa.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ubser.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uchcom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ucycom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ufoma.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uftdi.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ugensa.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uipaq.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ulpt.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umct.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umodem.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umoscom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uplcom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/usb_serial.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uslcom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uvisor.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uvscom.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/storage/umass.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/storage/urio.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/storage/ustorage_fs.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_cdce.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_msc.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_mtp.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_busdma.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_busdma.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_compat_linux.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_compat_linux.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_controller.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_core.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_core.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_debug.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_debug.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_defs.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_dev.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dev.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_device.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_device.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dynamic.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dynamic.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_error.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_error.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/tcp_reass/dev/usb/usb_generic.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_handle_request.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_hid.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_hid.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_hub.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_ioctl.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_lookup.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_lookup.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_mbuf.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_mbuf.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_msctest.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_parse.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_parse.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_process.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_process.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_request.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_request.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_revision.h#3 delete .. //depot/projects/tcp_reass/dev/usb/usb_transfer.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_transfer.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_util.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/usb_util.h#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_rum.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_uath.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_upgt.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_ural.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_urtw.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/wlan/if_zyd.c#3 integrate .. //depot/projects/tcp_reass/dev/vge/if_vge.c#4 integrate .. //depot/projects/tcp_reass/dev/vr/if_vr.c#4 integrate .. //depot/projects/tcp_reass/dev/wb/if_wb.c#3 integrate .. //depot/projects/tcp_reass/dev/wi/if_wi.c#5 integrate .. //depot/projects/tcp_reass/dev/wl/if_wl.c#2 integrate .. //depot/projects/tcp_reass/dev/xe/if_xe.c#3 integrate .. //depot/projects/tcp_reass/dev/xl/if_xl.c#3 integrate .. //depot/projects/tcp_reass/fs/coda/coda_psdev.c#3 integrate .. //depot/projects/tcp_reass/fs/coda/coda_vnops.c#5 integrate .. //depot/projects/tcp_reass/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/tcp_reass/fs/nfs/nfs.h#3 integrate .. //depot/projects/tcp_reass/fs/nfs/nfs_commonport.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsclient/nfs_clvnops.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsserver/nfs_nfsdport.c#3 integrate .. //depot/projects/tcp_reass/fs/nfsserver/nfs_nfsdstate.c#3 integrate .. //depot/projects/tcp_reass/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/tcp_reass/fs/nullfs/null_vnops.c#6 integrate .. //depot/projects/tcp_reass/fs/portalfs/portal.h#2 integrate .. //depot/projects/tcp_reass/fs/portalfs/portal_vnops.c#3 integrate .. //depot/projects/tcp_reass/fs/procfs/procfs_map.c#3 integrate .. //depot/projects/tcp_reass/fs/pseudofs/pseudofs_vnops.c#5 integrate .. //depot/projects/tcp_reass/fs/tmpfs/tmpfs_subr.c#5 integrate .. //depot/projects/tcp_reass/fs/unionfs/union_vnops.c#6 integrate .. //depot/projects/tcp_reass/geom/geom.h#5 integrate .. //depot/projects/tcp_reass/geom/geom_io.c#4 integrate .. //depot/projects/tcp_reass/geom/geom_redboot.c#2 integrate .. //depot/projects/tcp_reass/geom/geom_subr.c#5 integrate .. //depot/projects/tcp_reass/geom/geom_vfs.c#3 integrate .. //depot/projects/tcp_reass/geom/journal/g_journal.c#4 integrate .. //depot/projects/tcp_reass/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/FreeBSD/xfs_vnode.h#3 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/tcp_reass/gnu/fs/xfs/xfs_vnodeops.c#3 integrate .. //depot/projects/tcp_reass/i386/conf/NOTES#6 integrate .. //depot/projects/tcp_reass/i386/i386/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/i386/i386/genassym.c#3 integrate .. //depot/projects/tcp_reass/i386/i386/intr_machdep.c#5 integrate .. //depot/projects/tcp_reass/i386/i386/io_apic.c#3 integrate .. //depot/projects/tcp_reass/i386/i386/local_apic.c#5 integrate .. //depot/projects/tcp_reass/i386/i386/machdep.c#6 integrate .. //depot/projects/tcp_reass/i386/i386/mp_machdep.c#6 integrate .. //depot/projects/tcp_reass/i386/i386/msi.c#4 integrate .. //depot/projects/tcp_reass/i386/i386/sys_machdep.c#5 integrate .. //depot/projects/tcp_reass/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/tcp_reass/i386/ibcs2/ibcs2_misc.c#5 integrate .. //depot/projects/tcp_reass/i386/include/intr_machdep.h#4 integrate .. //depot/projects/tcp_reass/i386/include/pmap.h#6 integrate .. //depot/projects/tcp_reass/i386/include/vm.h#1 branch .. //depot/projects/tcp_reass/i386/isa/atpic.c#3 integrate .. //depot/projects/tcp_reass/i386/isa/clock.c#6 integrate .. //depot/projects/tcp_reass/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/tcp_reass/i386/xen/mp_machdep.c#3 integrate .. //depot/projects/tcp_reass/ia64/ia64/elf_machdep.c#5 integrate .. //depot/projects/tcp_reass/ia64/ia64/machdep.c#6 integrate .. //depot/projects/tcp_reass/ia64/ia64/mp_machdep.c#6 integrate .. //depot/projects/tcp_reass/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/tcp_reass/ia64/include/vm.h#1 branch .. //depot/projects/tcp_reass/kern/init_sysent.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_alq.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_cpuset.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_descrip.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_event.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_exec.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_exit.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_fork.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_intr.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_jail.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_linker.c#7 integrate .. //depot/projects/tcp_reass/kern/kern_lockf.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_mbuf.c#6 integrate .. //depot/projects/tcp_reass/kern/kern_poll.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_proc.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_prot.c#4 integrate .. //depot/projects/tcp_reass/kern/kern_resource.c#4 integrate .. //depot/projects/tcp_reass/kern/kern_sig.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_switch.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_thr.c#5 integrate .. //depot/projects/tcp_reass/kern/kern_uuid.c#4 integrate .. //depot/projects/tcp_reass/kern/kern_vimage.c#3 integrate .. //depot/projects/tcp_reass/kern/link_elf.c#6 integrate .. //depot/projects/tcp_reass/kern/link_elf_obj.c#6 integrate .. //depot/projects/tcp_reass/kern/makesyscalls.sh#5 integrate .. //depot/projects/tcp_reass/kern/sched_ule.c#6 integrate .. //depot/projects/tcp_reass/kern/subr_pcpu.c#3 integrate .. //depot/projects/tcp_reass/kern/subr_stack.c#3 integrate .. //depot/projects/tcp_reass/kern/sys_generic.c#5 integrate .. //depot/projects/tcp_reass/kern/sys_process.c#4 integrate .. //depot/projects/tcp_reass/kern/sys_socket.c#4 integrate .. //depot/projects/tcp_reass/kern/syscalls.c#6 integrate .. //depot/projects/tcp_reass/kern/syscalls.master#6 integrate .. //depot/projects/tcp_reass/kern/systrace_args.c#6 integrate .. //depot/projects/tcp_reass/kern/sysv_ipc.c#2 integrate .. //depot/projects/tcp_reass/kern/sysv_msg.c#3 integrate .. //depot/projects/tcp_reass/kern/sysv_sem.c#4 integrate .. //depot/projects/tcp_reass/kern/sysv_shm.c#5 integrate .. //depot/projects/tcp_reass/kern/tty.c#6 integrate .. //depot/projects/tcp_reass/kern/uipc_mbuf.c#7 integrate .. //depot/projects/tcp_reass/kern/uipc_shm.c#7 integrate .. //depot/projects/tcp_reass/kern/uipc_sockbuf.c#5 integrate .. //depot/projects/tcp_reass/kern/uipc_socket.c#6 integrate .. //depot/projects/tcp_reass/kern/uipc_syscalls.c#7 integrate .. //depot/projects/tcp_reass/kern/uipc_usrreq.c#6 integrate .. //depot/projects/tcp_reass/kern/vfs_cache.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_cluster.c#4 integrate .. //depot/projects/tcp_reass/kern/vfs_default.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_export.c#4 integrate .. //depot/projects/tcp_reass/kern/vfs_extattr.c#6 integrate .. //depot/projects/tcp_reass/kern/vfs_lookup.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_mount.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_syscalls.c#7 integrate .. //depot/projects/tcp_reass/kern/vfs_vnops.c#6 integrate .. //depot/projects/tcp_reass/kern/vnode_if.src#7 integrate .. //depot/projects/tcp_reass/libkern/iconv.c#3 integrate .. //depot/projects/tcp_reass/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/tcp_reass/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/tcp_reass/mips/adm5120/if_admsw.c#3 integrate .. //depot/projects/tcp_reass/mips/include/vm.h#1 branch .. //depot/projects/tcp_reass/mips/malta/yamon.c#2 integrate .. //depot/projects/tcp_reass/mips/mips/busdma_machdep.c#3 integrate .. //depot/projects/tcp_reass/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/tcp_reass/mips/mips/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/mips/mips/intr_machdep.c#3 integrate .. //depot/projects/tcp_reass/mips/mips/mp_machdep.c#3 integrate .. //depot/projects/tcp_reass/mips/mips/pmap.c#4 integrate .. //depot/projects/tcp_reass/modules/acpi/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/tcp_reass/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/tcp_reass/modules/cxgb/cxgb/Makefile#6 integrate .. //depot/projects/tcp_reass/modules/gem/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/igb/Makefile#4 integrate .. //depot/projects/tcp_reass/modules/ixgbe/Makefile#4 integrate .. //depot/projects/tcp_reass/modules/mxge/mxge/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/netgraph/Makefile#3 integrate .. //depot/projects/tcp_reass/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/tcp_reass/modules/nfsclient/Makefile#4 integrate .. //depot/projects/tcp_reass/modules/nfsserver/Makefile#4 integrate .. //depot/projects/tcp_reass/net/bpf.c#6 integrate .. //depot/projects/tcp_reass/net/bridgestp.c#4 integrate .. //depot/projects/tcp_reass/net/fddi.h#2 integrate .. //depot/projects/tcp_reass/net/firewire.h#2 integrate .. //depot/projects/tcp_reass/net/flowtable.c#3 integrate .. //depot/projects/tcp_reass/net/flowtable.h#3 integrate .. //depot/projects/tcp_reass/net/if.c#6 integrate .. //depot/projects/tcp_reass/net/if_arc.h#3 integrate .. //depot/projects/tcp_reass/net/if_arcsubr.c#4 integrate .. //depot/projects/tcp_reass/net/if_ef.c#5 integrate .. //depot/projects/tcp_reass/net/if_epair.c#1 branch .. //depot/projects/tcp_reass/net/if_ethersubr.c#6 integrate .. //depot/projects/tcp_reass/net/if_fddisubr.c#5 integrate .. //depot/projects/tcp_reass/net/if_fwsubr.c#4 integrate .. //depot/projects/tcp_reass/net/if_iso88025subr.c#5 integrate .. //depot/projects/tcp_reass/net/if_media.h#4 integrate .. //depot/projects/tcp_reass/net/if_mib.c#4 integrate .. //depot/projects/tcp_reass/net/if_spppsubr.c#3 integrate .. //depot/projects/tcp_reass/net/if_stf.c#4 integrate .. //depot/projects/tcp_reass/net/if_tap.c#5 integrate .. //depot/projects/tcp_reass/net/if_tun.c#4 integrate .. //depot/projects/tcp_reass/net/if_var.h#5 integrate .. //depot/projects/tcp_reass/net/if_vlan.c#4 integrate .. //depot/projects/tcp_reass/net/iso88025.h#3 integrate .. //depot/projects/tcp_reass/net/netisr.c#5 integrate .. //depot/projects/tcp_reass/net/raw_cb.c#5 integrate .. //depot/projects/tcp_reass/net/raw_usrreq.c#4 integrate .. //depot/projects/tcp_reass/net/route.c#6 integrate .. //depot/projects/tcp_reass/net/route.h#5 integrate .. //depot/projects/tcp_reass/net/rtsock.c#6 integrate .. //depot/projects/tcp_reass/net/vnet.h#3 integrate .. //depot/projects/tcp_reass/net80211/ieee80211.c#5 integrate .. //depot/projects/tcp_reass/net80211/ieee80211_ddb.c#4 integrate .. //depot/projects/tcp_reass/netatalk/COPYRIGHT#2 integrate .. //depot/projects/tcp_reass/netatalk/aarp.c#4 integrate .. //depot/projects/tcp_reass/netatalk/at_control.c#3 integrate .. //depot/projects/tcp_reass/netatalk/at_extern.h#3 integrate .. //depot/projects/tcp_reass/netatalk/at_rmx.c#2 integrate .. //depot/projects/tcp_reass/netatalk/at_var.h#2 integrate .. //depot/projects/tcp_reass/netatalk/ddp_input.c#3 integrate .. //depot/projects/tcp_reass/netatalk/ddp_output.c#3 integrate .. //depot/projects/tcp_reass/netatalk/ddp_pcb.c#3 integrate .. //depot/projects/tcp_reass/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/tcp_reass/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/tcp_reass/netgraph/atm/uni/ng_uni.c#2 integrate .. //depot/projects/tcp_reass/netgraph/ng_eiface.c#4 integrate .. //depot/projects/tcp_reass/netgraph/ng_ether.c#4 integrate .. //depot/projects/tcp_reass/netgraph/ng_iface.c#5 integrate .. //depot/projects/tcp_reass/netgraph/ng_ksocket.c#5 integrate .. //depot/projects/tcp_reass/netinet/if_ether.c#4 integrate .. //depot/projects/tcp_reass/netinet/igmp.c#4 integrate .. //depot/projects/tcp_reass/netinet/in.c#5 integrate .. //depot/projects/tcp_reass/netinet/in_gif.c#4 integrate .. //depot/projects/tcp_reass/netinet/in_mcast.c#5 integrate .. //depot/projects/tcp_reass/netinet/in_pcb.c#6 integrate .. //depot/projects/tcp_reass/netinet/in_pcb.h#5 integrate .. //depot/projects/tcp_reass/netinet/in_rmx.c#5 integrate .. //depot/projects/tcp_reass/netinet/in_var.h#3 integrate .. //depot/projects/tcp_reass/netinet/ip_carp.c#4 integrate .. //depot/projects/tcp_reass/netinet/ip_divert.c#5 integrate .. //depot/projects/tcp_reass/netinet/ip_dummynet.h#4 integrate .. //depot/projects/tcp_reass/netinet/ip_icmp.c#5 integrate .. //depot/projects/tcp_reass/netinet/ip_input.c#5 integrate .. //depot/projects/tcp_reass/netinet/ip_mroute.c#4 integrate .. //depot/projects/tcp_reass/netinet/ip_mroute.h#3 integrate .. //depot/projects/tcp_reass/netinet/ip_options.c#6 integrate .. //depot/projects/tcp_reass/netinet/ip_output.c#6 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_dummynet.c#2 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/tcp_reass/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/tcp_reass/netinet/raw_ip.c#5 integrate .. //depot/projects/tcp_reass/netinet/tcp_hostcache.c#4 integrate .. //depot/projects/tcp_reass/netinet/tcp_input.c#9 integrate .. //depot/projects/tcp_reass/netinet/tcp_offload.c#3 integrate .. //depot/projects/tcp_reass/netinet/tcp_usrreq.c#9 integrate .. //depot/projects/tcp_reass/netinet/vinet.h#3 integrate .. //depot/projects/tcp_reass/netinet6/frag6.c#4 integrate .. //depot/projects/tcp_reass/netinet6/icmp6.c#5 integrate .. //depot/projects/tcp_reass/netinet6/in6.c#5 integrate .. //depot/projects/tcp_reass/netinet6/in6_ifattach.c#4 integrate .. //depot/projects/tcp_reass/netinet6/in6_pcb.c#5 integrate .. //depot/projects/tcp_reass/netinet6/in6_pcb.h#3 integrate .. //depot/projects/tcp_reass/netinet6/in6_rmx.c#4 integrate .. //depot/projects/tcp_reass/netinet6/in6_src.c#5 integrate .. //depot/projects/tcp_reass/netinet6/in6_var.h#3 integrate .. //depot/projects/tcp_reass/netinet6/ip6_input.c#4 integrate .. //depot/projects/tcp_reass/netinet6/ip6_mroute.c#4 integrate .. //depot/projects/tcp_reass/netinet6/ip6_mroute.h#3 integrate .. //depot/projects/tcp_reass/netinet6/ip6_output.c#6 integrate .. //depot/projects/tcp_reass/netinet6/ip6_var.h#5 integrate .. //depot/projects/tcp_reass/netinet6/mld6.c#4 integrate .. //depot/projects/tcp_reass/netinet6/nd6.c#4 integrate .. //depot/projects/tcp_reass/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/tcp_reass/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/tcp_reass/netinet6/raw_ip6.c#6 integrate .. //depot/projects/tcp_reass/netinet6/scope6.c#4 integrate .. //depot/projects/tcp_reass/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/tcp_reass/netinet6/vinet6.h#3 integrate .. //depot/projects/tcp_reass/netipsec/key.c#6 integrate .. //depot/projects/tcp_reass/netipx/README#2 integrate .. //depot/projects/tcp_reass/netipx/ipx.c#3 integrate .. //depot/projects/tcp_reass/netipx/ipx_if.h#2 integrate .. //depot/projects/tcp_reass/netipx/ipx_input.c#4 integrate .. //depot/projects/tcp_reass/netipx/ipx_outputfl.c#3 integrate .. //depot/projects/tcp_reass/netipx/ipx_pcb.c#3 integrate .. //depot/projects/tcp_reass/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/tcp_reass/netipx/ipx_var.h#2 integrate .. //depot/projects/tcp_reass/netipx/spx.h#3 integrate .. //depot/projects/tcp_reass/netipx/spx_reass.c#2 integrate .. //depot/projects/tcp_reass/netipx/spx_usrreq.c#4 integrate .. //depot/projects/tcp_reass/netipx/spx_var.h#3 integrate .. //depot/projects/tcp_reass/nfs/nfs_common.c#4 integrate .. //depot/projects/tcp_reass/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/tcp_reass/nfs/rpcv2.h#2 delete .. //depot/projects/tcp_reass/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/tcp_reass/nfsclient/krpc_subr.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs.h#4 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_bio.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_diskless.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_krpc.c#3 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_lock.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_nfsiod.c#4 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_node.c#5 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_socket.c#7 delete .. //depot/projects/tcp_reass/nfsclient/nfs_subs.c#7 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_vfsops.c#7 integrate .. //depot/projects/tcp_reass/nfsclient/nfs_vnops.c#7 integrate .. //depot/projects/tcp_reass/nfsclient/nfsm_subs.h#4 integrate .. //depot/projects/tcp_reass/nfsclient/nfsmount.h#4 integrate .. //depot/projects/tcp_reass/nfsserver/nfs.h#4 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_fha.c#2 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_serv.c#7 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_srvcache.c#4 delete .. //depot/projects/tcp_reass/nfsserver/nfs_srvkrpc.c#3 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_srvsock.c#6 delete .. //depot/projects/tcp_reass/nfsserver/nfs_srvsubs.c#6 integrate .. //depot/projects/tcp_reass/nfsserver/nfs_syscalls.c#5 delete .. //depot/projects/tcp_reass/nfsserver/nfsrvcache.h#3 integrate .. //depot/projects/tcp_reass/pc98/include/vm.h#1 branch .. //depot/projects/tcp_reass/pc98/pc98/machdep.c#6 integrate .. //depot/projects/tcp_reass/pci/if_rl.c#6 integrate .. //depot/projects/tcp_reass/powerpc/aim/mmu_oea.c#5 integrate .. //depot/projects/tcp_reass/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/tcp_reass/powerpc/booke/pmap.c#5 integrate .. //depot/projects/tcp_reass/powerpc/conf/GENERIC#6 integrate .. //depot/projects/tcp_reass/powerpc/conf/MPC85XX#5 integrate .. //depot/projects/tcp_reass/powerpc/conf/NOTES#6 integrate .. //depot/projects/tcp_reass/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/tcp_reass/powerpc/include/spr.h#6 integrate .. //depot/projects/tcp_reass/powerpc/include/vm.h#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/tcp_reass/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/tcp_reass/powerpc/powermac/smu.c#1 branch .. //depot/projects/tcp_reass/powerpc/powerpc/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/powerpc/powerpc/mp_machdep.c#6 integrate .. //depot/projects/tcp_reass/rpc/clnt_dg.c#4 integrate .. //depot/projects/tcp_reass/rpc/clnt_rc.c#4 integrate .. //depot/projects/tcp_reass/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/tcp_reass/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/tcp_reass/rpc/svc_auth.c#4 integrate .. //depot/projects/tcp_reass/rpc/svc_auth_unix.c#3 integrate .. //depot/projects/tcp_reass/security/audit/audit.c#5 integrate .. //depot/projects/tcp_reass/security/audit/audit.h#4 integrate .. //depot/projects/tcp_reass/security/audit/audit_arg.c#6 integrate .. //depot/projects/tcp_reass/security/audit/audit_bsm.c#5 integrate .. //depot/projects/tcp_reass/security/audit/audit_private.h#4 integrate .. //depot/projects/tcp_reass/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/tcp_reass/security/mac_biba/mac_biba.c#4 integrate .. //depot/projects/tcp_reass/security/mac_lomac/mac_lomac.c#4 integrate .. //depot/projects/tcp_reass/sparc64/conf/GENERIC#6 integrate .. //depot/projects/tcp_reass/sparc64/include/pcpu.h#3 integrate .. //depot/projects/tcp_reass/sparc64/include/pmap.h#2 integrate .. //depot/projects/tcp_reass/sparc64/include/vm.h#1 branch .. //depot/projects/tcp_reass/sparc64/sparc64/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/machdep.c#5 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/mp_machdep.c#5 integrate .. //depot/projects/tcp_reass/sparc64/sparc64/pmap.c#4 integrate .. //depot/projects/tcp_reass/sun4v/conf/GENERIC#5 integrate .. //depot/projects/tcp_reass/sun4v/include/pcpu.h#4 integrate .. //depot/projects/tcp_reass/sun4v/include/vm.h#1 branch .. //depot/projects/tcp_reass/sun4v/sun4v/machdep.c#5 integrate .. //depot/projects/tcp_reass/sun4v/sun4v/mp_machdep.c#4 integrate .. //depot/projects/tcp_reass/sun4v/sun4v/pmap.c#3 integrate .. //depot/projects/tcp_reass/sys/acl.h#4 integrate .. //depot/projects/tcp_reass/sys/ata.h#4 integrate .. //depot/projects/tcp_reass/sys/conf.h#5 integrate .. //depot/projects/tcp_reass/sys/cpuctl.h#2 integrate .. //depot/projects/tcp_reass/sys/cpuset.h#5 integrate .. //depot/projects/tcp_reass/sys/event.h#5 integrate .. //depot/projects/tcp_reass/sys/fcntl.h#5 integrate .. //depot/projects/tcp_reass/sys/filio.h#2 integrate .. //depot/projects/tcp_reass/sys/iconv.h#2 integrate .. //depot/projects/tcp_reass/sys/ipc.h#3 integrate .. //depot/projects/tcp_reass/sys/jail.h#5 integrate .. //depot/projects/tcp_reass/sys/ktr.h#3 integrate .. //depot/projects/tcp_reass/sys/linker.h#3 integrate .. //depot/projects/tcp_reass/sys/lock.h#6 integrate .. //depot/projects/tcp_reass/sys/lock_profile.h#3 integrate .. //depot/projects/tcp_reass/sys/mbuf.h#7 integrate .. //depot/projects/tcp_reass/sys/mount.h#6 integrate .. //depot/projects/tcp_reass/sys/msg.h#2 integrate .. //depot/projects/tcp_reass/sys/mutex.h#4 integrate .. //depot/projects/tcp_reass/sys/param.h#7 integrate .. //depot/projects/tcp_reass/sys/pcpu.h#5 integrate .. //depot/projects/tcp_reass/sys/priv.h#5 integrate .. //depot/projects/tcp_reass/sys/resource.h#3 integrate .. //depot/projects/tcp_reass/sys/resourcevar.h#4 integrate .. //depot/projects/tcp_reass/sys/sched.h#5 integrate .. //depot/projects/tcp_reass/sys/sem.h#3 integrate .. //depot/projects/tcp_reass/sys/shm.h#4 integrate .. //depot/projects/tcp_reass/sys/socketvar.h#5 integrate .. //depot/projects/tcp_reass/sys/stack.h#3 integrate .. //depot/projects/tcp_reass/sys/sx.h#4 integrate .. //depot/projects/tcp_reass/sys/syscall.h#6 integrate .. //depot/projects/tcp_reass/sys/syscall.mk#6 integrate .. //depot/projects/tcp_reass/sys/sysctl.h#6 integrate .. //depot/projects/tcp_reass/sys/syslimits.h#2 integrate .. //depot/projects/tcp_reass/sys/sysproto.h#6 integrate .. //depot/projects/tcp_reass/sys/tty.h#4 integrate .. //depot/projects/tcp_reass/sys/ucred.h#4 integrate .. //depot/projects/tcp_reass/sys/uio.h#3 integrate .. //depot/projects/tcp_reass/sys/unistd.h#3 integrate .. //depot/projects/tcp_reass/sys/user.h#6 integrate .. //depot/projects/tcp_reass/sys/vimage.h#3 integrate .. //depot/projects/tcp_reass/sys/vnode.h#7 integrate .. //depot/projects/tcp_reass/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_softdep.c#7 integrate .. //depot/projects/tcp_reass/ufs/ffs/ffs_vnops.c#6 integrate .. //depot/projects/tcp_reass/ufs/ufs/ufs_dirhash.c#5 integrate .. //depot/projects/tcp_reass/ufs/ufs/ufs_vnops.c#6 integrate .. //depot/projects/tcp_reass/vm/default_pager.c#2 integrate .. //depot/projects/tcp_reass/vm/device_pager.c#3 integrate .. //depot/projects/tcp_reass/vm/phys_pager.c#3 integrate .. //depot/projects/tcp_reass/vm/swap_pager.c#5 integrate .. //depot/projects/tcp_reass/vm/vm.h#2 integrate .. //depot/projects/tcp_reass/vm/vm_contig.c#4 integrate .. //depot/projects/tcp_reass/vm/vm_extern.h#3 integrate .. //depot/projects/tcp_reass/vm/vm_fault.c#5 integrate .. //depot/projects/tcp_reass/vm/vm_kern.c#4 integrate .. //depot/projects/tcp_reass/vm/vm_map.c#6 integrate .. //depot/projects/tcp_reass/vm/vm_map.h#5 integrate .. //depot/projects/tcp_reass/vm/vm_mmap.c#6 integrate .. //depot/projects/tcp_reass/vm/vm_object.c#7 integrate .. //depot/projects/tcp_reass/vm/vm_object.h#4 integrate .. //depot/projects/tcp_reass/vm/vm_page.c#6 integrate .. //depot/projects/tcp_reass/vm/vm_pageout.c#5 integrate .. //depot/projects/tcp_reass/vm/vm_pager.c#3 integrate .. //depot/projects/tcp_reass/vm/vm_pager.h#3 integrate .. //depot/projects/tcp_reass/vm/vm_phys.c#3 integrate .. //depot/projects/tcp_reass/vm/vm_phys.h#2 integrate .. //depot/projects/tcp_reass/vm/vnode_pager.c#5 integrate Differences ... ==== //depot/projects/tcp_reass/amd64/amd64/genassym.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/tcp_reass/amd64/amd64/identcpu.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/tcp_reass/amd64/amd64/intr_machdep.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.42 2008/12/02 14:19:53 ganbold Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include @@ -73,14 +72,12 @@ static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; -static struct sx intr_table_lock; +static struct mtx intr_table_lock; static struct mtx intrcnt_lock; static STAILQ_HEAD(, pic) pics; #ifdef SMP static int assign_cpu; - -static void intr_assign_next_cpu(struct intsrc *isrc); #endif static int intr_assign_cpu(void *arg, u_char cpu); @@ -114,14 +111,14 @@ { int error; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (intr_pic_registered(pic)) error = EBUSY; else { STAILQ_INSERT_TAIL(&pics, pic, pics); error = 0; } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (error); } @@ -145,16 +142,16 @@ vector); if (error) return (error); - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); if (interrupt_sources[vector] != NULL) { - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); intr_event_destroy(isrc->is_event); return (EEXIST); } intrcnt_register(isrc); interrupt_sources[vector] = isrc; isrc->is_handlers = 0; - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); return (0); } @@ -166,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -178,18 +175,14 @@ error = intr_event_add_handler(isrc->is_event, name, filter, handler, arg, intr_priority(flags), flags, cookiep); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); intrcnt_updatename(isrc); isrc->is_handlers++; if (isrc->is_handlers == 1) { -#ifdef SMP - if (assign_cpu) - intr_assign_next_cpu(isrc); -#endif isrc->is_pic->pic_enable_intr(isrc); isrc->is_pic->pic_enable_source(isrc); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -203,14 +196,14 @@ isrc = intr_handler_source(cookie); error = intr_event_remove_handler(cookie); if (error == 0) { - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); isrc->is_handlers--; if (isrc->is_handlers == 0) { isrc->is_pic->pic_disable_source(isrc, PIC_NO_EOI); isrc->is_pic->pic_disable_intr(isrc); } intrcnt_updatename(isrc); - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } return (error); } @@ -284,12 +277,12 @@ #ifndef DEV_ATPIC atpic_reset(); #endif - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_resume != NULL) pic->pic_resume(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } void @@ -297,19 +290,20 @@ { struct pic *pic; - sx_xlock(&intr_table_lock); + mtx_lock(&intr_table_lock); STAILQ_FOREACH(pic, &pics, pics) { if (pic->pic_suspend != NULL) pic->pic_suspend(pic); } - sx_xunlock(&intr_table_lock); + mtx_unlock(&intr_table_lock); } static int intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -317,11 +311,12 @@ */ if (assign_cpu && cpu != NOCPU) { isrc = arg; - sx_xlock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); - sx_xunlock(&intr_table_lock); - } - return (0); + mtx_lock(&intr_table_lock); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + mtx_unlock(&intr_table_lock); >>> TRUNCATED FOR MAIL (1000 lines) <<< From syl at FreeBSD.org Thu Jul 2 13:14:02 2009 From: syl at FreeBSD.org (Sylvestre Gallon) Date: Thu Jul 2 13:14:08 2009 Subject: PERFORCE change 165541 for review Message-ID: <200907021314.n62DE0jB097247@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165541 Change 165541 by syl@syl_pablo on 2009/07/02 13:13:34 Add a a queue that contains a list of opened endpoints for a device handle. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#15 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#54 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#21 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#15 (text+ko) ==== @@ -200,6 +200,13 @@ uint8_t flags; }; +struct usb_ep_tr { + TAILQ_ENTRY(usb_ep_tr) list; + uint8_t addr; + uint8_t idx; + uint8_t flags; + void *os_priv; +}; /* libusb structures */ typedef void (*libusb_pollfd_added_cb) (int fd, short events, void *user_data); @@ -259,6 +266,7 @@ TAILQ_ENTRY(libusb_device_handle) list; struct libusb_device *dev; void *os_priv; + TAILQ_HEAD(ep_list, usb_ep_tr) ep_list; } libusb_device_handle; typedef struct libusb_device_descriptor { ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#54 (text+ko) ==== @@ -381,6 +381,7 @@ memset(hdl, 0, sizeof(*hdl)); pthread_mutex_init(&hdl->lock, NULL); + TAILQ_INIT(&hdl->ep_list); hdl->dev = libusb_ref_device(dev); hdl->claimed_interfaces = 0; hdl->os_priv = dev->os_priv; @@ -460,6 +461,7 @@ { libusb_context *ctx; struct libusb20_device *pdev; + struct usb_ep_tr *eptr; unsigned char dummy = 1; int err; @@ -486,6 +488,13 @@ usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); libusb20_dev_close(pdev); libusb_unref_device(devh->dev); + TAILQ_FOREACH(eptr, &devh->ep_list, list) { + TAILQ_REMOVE(&devh->ep_list, eptr, list); + libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[0]); + if (eptr->flags) + libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[1]); + free((libusb20_transfer *)eptr->os_priv); + } free(devh); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -503,6 +512,13 @@ usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev)); libusb20_dev_close(pdev); libusb_unref_device(devh->dev); + TAILQ_FOREACH(eptr, &devh->ep_list, list) { + TAILQ_REMOVE(&devh->ep_list, eptr, list); + libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[0]); + if (eptr->flags) + libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[1]); + free((libusb20_transfer *)eptr->os_priv); + } free(devh); pthread_mutex_lock(&ctx->pollfd_modify_lock); @@ -1004,9 +1020,11 @@ struct usb_transfer *usb_backend; struct usb_transfer *usb_node; struct libusb20_device *pdev; - struct libusb_context *ctx; + struct usb_ep_tr *eptr; struct timespec cur_ts; struct timeval *cur_tv; + libusb_device_handle *devh; + libusb_context *ctx; int maxframe; int buffsize; int num_frame; @@ -1023,6 +1041,7 @@ ctx = xfer->dev_handle->dev->ctx; pdev = xfer->dev_handle->os_priv; + devh = xfer->dev_handle; DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer enter"); @@ -1069,10 +1088,9 @@ out: pthread_mutex_unlock(&ctx->flying_transfers_lock); - usb20_xfer[0] = libusb20_tr_get_pointer(pdev, - ((xfer->endpoint / 0x40) | (xfer->endpoint * 4)) % (16 * 4)); - usb20_xfer[1] = libusb20_tr_get_pointer(pdev, - (((xfer->endpoint / 0x40) | (xfer->endpoint * 4)) % (16 * 4)) + 1); + ep_idx = (xfer->endpoints / 0x40) | (xfer->endpoints *4) % (16 * 4); + usb20_xfer[0] = libusb20_tr_get_pointer(pdev, ep_idx); + usb20_xfer[1] = libusb20_tr_get_pointer(pdev, ep_idx + 1); if (usb20_xfer[0] == NULL) return (LIBUSB_ERROR_OTHER); @@ -1084,18 +1102,31 @@ buffsize = libusb_get_buffsize(pdev, xfer); maxframe = libusb_get_maxframe(pdev, xfer); - ret = libusb20_tr_open(usb20_xfer[0], buffsize, - maxframe, xfer->endpoint); - if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) - ret |= libusb20_tr_open(usb20_xfer[1], buffsize, - maxframe, xfer->endpoint); + ret = 0; + TAILQ_FOREACH(eptr, &devh->ep_list, list) { + if (xfer->endpoint == eptr->addr) + ret++; + } + if (ret == 0) { + eptr = malloc(sizeof(usb_ep_tr)); + eptr.addr = xfer->endpoint; + eptr.idx = ep_idx; + eptr.os_priv = usb20_xfer; + eptr.flags = (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS)?1:0; + TAILQ_INSERT_HEAD(&devh->ep_list, eptr, list); + ret = libusb20_tr_open(usb20_xfer[0], buffsize, + maxframe, xfer->endpoint); + if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) + ret |= libusb20_tr_open(usb20_xfer[1], buffsize, + maxframe, xfer->endpoint); - if (ret != 0) { - pthread_mutex_unlock(&libusb20_lock); - pthread_mutex_lock(&ctx->flying_transfers_lock); - TAILQ_REMOVE(&ctx->flying_transfers, usb_backend, list); - pthread_mutex_unlock(&ctx->flying_transfers_lock); - return (LIBUSB_ERROR_OTHER); + if (ret != 0) { + pthread_mutex_unlock(&libusb20_lock); + pthread_mutex_lock(&ctx->flying_transfers_lock); + TAILQ_REMOVE(&ctx->flying_transfers, usb_backend, list); + pthread_mutex_unlock(&ctx->flying_transfers_lock); + return (LIBUSB_ERROR_OTHER); + } } libusb20_tr_set_priv_sc0(usb20_xfer[0], xfer); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#21 (text+ko) ==== From andre at FreeBSD.org Thu Jul 2 14:22:16 2009 From: andre at FreeBSD.org (Andre Oppermann) Date: Thu Jul 2 14:22:23 2009 Subject: PERFORCE change 165543 for review Message-ID: <200907021422.n62EMF6N003336@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165543 Change 165543 by andre@andre_flirtbox on 2009/07/02 14:21:57 Use TCPSTAT_INC/ADD macro to update tcp statistics. Move empty queue test up and remove chained if test in later tests. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_reass.c#26 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_reass.c#26 (text+ko) ==== @@ -295,8 +295,8 @@ */ if (th_seq != tp->rcv_nxt && tp->t_trqmcnt > (sbspace(&so->so_rcv) / 8 * 11)) { - tcpstat.tcps_reass_overflow++; - tcpstat.tcps_rcvmemdrop++; + TCPSTAT_INC(tcps_reass_overflow); + TCPSTAT_INC(tcps_rcvmemdrop); m_freem(m); *tlenp = 0; return (0); @@ -336,11 +336,15 @@ } else thflags &= ~TH_FIN; + /* Check if this is the first segment. */ + if (TAILQ_EMPTY(&tp->t_trq)) + goto insert; + /* Starting point for the following tests. */ tqe = TAILQ_LAST(&tp->t_trq, trq_head); /* Check if this segment directly attaches to the end. */ - if (tqe && tqe->trq_seq + tqe->trq_len == th_seq) { + if (tqe->trq_seq + tqe->trq_len == th_seq) { tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; tp->t_trqmcnt += mcnt; @@ -357,18 +361,14 @@ LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); } /* TCP statistics. */ - tcpstat.tcps_rcvoopack++; - tcpstat.tcps_rcvoobyte += *tlenp; - tcpstat.tcps_reass_tail++; + TCPSTAT_INC(tcps_rcvoopack); + TCPSTAT_ADD(tcps_rcvoobyte, *tlenp); + TCPSTAT_INC(tcps_reass_tail); return (0); } /* Check if beyond last block. */ - if (tqe && SEQ_LT(tqe->trq_seq + tqe->trq_len, th_seq)) - goto insert; - - /* Check if this is the first segment. */ - if (TAILQ_EMPTY(&tp->t_trq)) + if (SEQ_LT(tqe->trq_seq + tqe->trq_len, th_seq)) goto insert; /* Check if this is the missing segment. */ @@ -383,8 +383,8 @@ m_adj(m, -i); *tlenp -= i; /* TCP statistics. */ - tcpstat.tcps_rcvpartduppack++; - tcpstat.tcps_rcvpartdupbyte += i; + TCPSTAT_INC(tcps_rcvpartduppack); + TCPSTAT_ADD(tcps_rcvpartdupbyte, i); /* Update accounting. */ mcnt = m_storagesize(m); } @@ -399,9 +399,10 @@ } goto insert; /* No statistics, this segment is in line. */ } + + /* TCP statistics. */ TCPSTAT_INC(tcps_rcvoopack); TCPSTAT_ADD(tcps_rcvoobyte, *tlenp); - /* TCP statistics. */ /* See where it fits. */ TAILQ_FOREACH_SAFE(tqe, &tp->t_trq, trq_q, tqen) { @@ -415,10 +416,13 @@ /* Segment is already fully covered. */ if (SEQ_LEQ(tqe->trq_seq, th_seq) && SEQ_GEQ(tqe->trq_seq + tqe->trq_len, th_seq + *tlenp)) { - tcpstat.tcps_rcvduppack++; - tcpstat.tcps_rcvdupbyte += *tlenp; - tcpstat.tcps_reass_covered++; - /* XXXAO: What to SACK report when duplicate? */ + TCPSTAT_INC(tcps_rcvduppack); + TCPSTAT_ADD(tcps_rcvdupbyte, *tlenp); + TCPSTAT_INC(tcps_reass_covered); + /* + * XXXAO: What to SACK report when duplicate? + * See RFC2883: D-SACK (Duplicate SACK) + */ if (LIST_FIRST(&tp->t_trq_sack) != tqe) { LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); @@ -448,7 +452,7 @@ LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); } - tcpstat.tcps_reass_replace++; + TCPSTAT_INC(tcps_reass_replace); return (0); } @@ -463,8 +467,8 @@ m_adj(m, -i); *tlenp -= i; /* TCP statistics. */ - tcpstat.tcps_rcvpartduppack++; - tcpstat.tcps_rcvpartdupbyte += i; + TCPSTAT_INC(tcps_rcvpartduppack); + TCPSTAT_ADD(tcps_rcvpartdupbyte, i); /* Update accounting. */ mcnt = m_storagesize(m); } @@ -479,7 +483,7 @@ LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); } - tcpstat.tcps_reass_prepend++; + TCPSTAT_INC(tcps_reass_prepend); return (0); } @@ -492,8 +496,8 @@ m_adj(m, i); *tlenp -= i; /* TCP Statistics. */ - tcpstat.tcps_rcvpartduppack++; - tcpstat.tcps_rcvpartdupbyte += i; + TCPSTAT_INC(tcps_rcvpartduppack); + TCPSTAT_ADD(tcps_rcvpartdupbyte, i); } tqe->trq_len += *tlenp; tqe->trq_mcnt += mcnt; @@ -508,7 +512,7 @@ LIST_REMOVE(tqe, trq_s); LIST_INSERT_HEAD(&tp->t_trq_sack, tqe, trq_s); } - tcpstat.tcps_reass_append++; + TCPSTAT_INC(tcps_reass_append); return (0); } } @@ -525,12 +529,12 @@ } else { tqen = uma_zalloc(tcp_reass_zone, (M_NOWAIT|M_ZERO)); if (tqen == NULL) { - tcpstat.tcps_rcvmemdrop++; + TCPSTAT_INC(tcps_rcvmemdrop); m_freem(m); *tlenp = 0; return (0); } - tcpstat.tcps_reass_blocks++; + TCPSTAT_INC(tcps_reass_blocks); } tcp_reass_qsize++; if (tcp_reass_spacetime) { @@ -576,7 +580,7 @@ ("%s: queue empty at present", __func__)); KASSERT((TAILQ_FIRST(&tp->t_trq))->trq_seq == tp->rcv_nxt, ("%s: first block does not match rcv_nxt", __func__)); - tcpstat.tcps_reass_missingseg++; + TCPSTAT_INC(tcps_reass_missingseg); SOCKBUF_LOCK(&so->so_rcv); TAILQ_FOREACH_SAFE(tqe, &tp->t_trq, trq_q, tqen) { @@ -634,8 +638,8 @@ /* Appended block may reach beyond next block. */ while (SEQ_GEQ(tqe->trq_seq + tqe->trq_len, tqen->trq_seq + tqen->trq_len)) { /* TCP Statistics. */ - tcpstat.tcps_rcvpartdupbyte += tqen->trq_len; - tcpstat.tcps_reass_covered++; + TCPSTAT_ADD(tcps_rcvpartdupbyte, tqen->trq_len); + TCPSTAT_INC(tcps_reass_covered); tp->t_trqmcnt -= tqe->trq_mcnt; m_freem(tqen->trq_m); TAILQ_REMOVE(&tp->t_trq, tqen, trq_q); @@ -651,7 +655,7 @@ if ((i = SEQ_DELTA(tqe->trq_seq + tqe->trq_len, tqen->trq_seq))) { m_adj(tqen->trq_m, i); tqen->trq_len -= i; - tcpstat.tcps_rcvpartdupbyte += i; /* Statistics */ + TCPSTAT_ADD(tcps_rcvpartdupbyte, i); /* Statistics */ /* Dispose of empty mbufs. */ if (tcp_reass_spacetime) { tqen->trq_m = m_trimhead(tqen->trq_m); @@ -670,7 +674,7 @@ LIST_REMOVE(tqen, trq_s); uma_zfree(tcp_reass_zone, tqen); tcp_reass_qsize--; - tcpstat.tcps_reass_merge++; + TCPSTAT_INC(tcps_reass_merge); } /* From andre at FreeBSD.org Thu Jul 2 14:56:55 2009 From: andre at FreeBSD.org (Andre Oppermann) Date: Thu Jul 2 14:57:02 2009 Subject: PERFORCE change 165544 for review Message-ID: <200907021456.n62Eur6s005909@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165544 Change 165544 by andre@andre_flirtbox on 2009/07/02 14:56:13 Integrate some more stuff was missing before. There seems to be a problem with integrations after the cvs->svn switchover. Especially when files are moved or overwritten. It seems to be an artefact of the svn->svc->p4 exporter chain (?). Affected files ... .. //depot/projects/tcp_new/modules/Makefile#4 edit .. //depot/projects/tcp_reass/dev/ata/ata-usb.c#3 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbni.c#2 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbni_isa.c#2 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbni_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbnireg.h#2 integrate .. //depot/projects/tcp_reass/dev/sbni/if_sbnivar.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudio.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/usb/uaudioreg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_if.m#2 integrate .. //depot/projects/tcp_reass/dev/usb/usbdevs#4 integrate .. //depot/projects/tcp_reass/dev/usb/usbhid.h#2 integrate .. //depot/projects/tcp_reass/kern/vfs_subr.c#7 integrate .. //depot/projects/tcp_reass/modules/sbni/Makefile#2 integrate .. //depot/projects/tcp_reass/modules/usb/Makefile#2 integrate .. //depot/projects/tcp_reass/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/tcp_reass/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#3 integrate .. //depot/projects/tcp_reass/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate .. //depot/projects/tcp_reass/netinet/tcp_reass.c#27 edit Differences ... ==== //depot/projects/tcp_new/modules/Makefile#4 (text+ko) ==== @@ -218,7 +218,6 @@ rc \ rc4 \ re \ - reiserfs \ rl \ rp \ rue \ ==== //depot/projects/tcp_reass/dev/ata/ata-usb.c#3 (text) ==== @@ -2,6 +2,9 @@ * Copyright (c) 2006 - 2008 Søren Schmidt * All rights reserved. * + * Copyright (c) 2006 Hans Petter Selasky + * All rights reserved. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -25,950 +28,1099 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.8 2008/04/10 13:05:05 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.20 2009/06/23 02:19:59 thompsa Exp $"); -#include "opt_ata.h" +#include +#include #include -#include +#include +#include #include #include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "usbdevs.h" +#include +#include + #include -#include -#include -#include -#include +#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include + #include #include +#define ATAUSB_BULK_SIZE (1<<17) + /* Command Block Wrapper */ struct bbb_cbw { - u_int8_t signature[4]; -#define CBWSIGNATURE 0x43425355 + uint8_t signature[4]; +#define CBWSIGNATURE 0x43425355 - u_int8_t tag[4]; - u_int8_t transfer_length[4]; - u_int8_t flags; -#define CBWFLAGS_OUT 0x00 -#define CBWFLAGS_IN 0x80 + uint8_t tag[4]; + uint8_t transfer_length[4]; + uint8_t flags; +#define CBWFLAGS_OUT 0x00 +#define CBWFLAGS_IN 0x80 - u_int8_t lun; - u_int8_t length; -#define CBWCDBLENGTH 16 + uint8_t lun; + uint8_t length; +#define CBWCDBLENGTH 16 - u_int8_t cdb[CBWCDBLENGTH]; -}; + uint8_t cdb[CBWCDBLENGTH]; +} __packed; /* Command Status Wrapper */ struct bbb_csw { - u_int8_t signature[4]; -#define CSWSIGNATURE 0x53425355 + uint8_t signature[4]; +#define CSWSIGNATURE 0x53425355 - u_int8_t tag[4]; - u_int8_t residue[4]; - u_int8_t status; -#define CSWSTATUS_GOOD 0x0 -#define CSWSTATUS_FAILED 0x1 -#define CSWSTATUS_PHASE 0x2 -}; + uint8_t tag[4]; + uint8_t residue[4]; + uint8_t status; +#define CSWSTATUS_GOOD 0x0 +#define CSWSTATUS_FAILED 0x1 +#define CSWSTATUS_PHASE 0x2 +} __packed; /* USB-ATA 'controller' softc */ -struct atausb_softc { - device_t dev; /* base device */ - usbd_interface_handle iface; /* interface */ - int ifaceno; /* interface number */ - u_int8_t bulkin; /* endpoint address's */ - u_int8_t bulkout; - u_int8_t bulkirq; - usbd_pipe_handle bulkin_pipe; /* pipe handle's */ - usbd_pipe_handle bulkout_pipe; - usbd_pipe_handle bulkirq_pipe; - int maxlun; - int timeout; - struct ata_request *ata_request; - usb_device_request_t usb_request; - struct bbb_cbw cbw; - struct bbb_csw csw; +struct atausb2_softc { + struct bbb_cbw cbw; + struct bbb_csw csw; + struct mtx locked_mtx; + + struct ata_channel *locked_ch; + struct ata_channel *restart_ch; + struct ata_request *ata_request; + +#define ATAUSB_T_BBB_RESET1 0 +#define ATAUSB_T_BBB_RESET2 1 +#define ATAUSB_T_BBB_RESET3 2 +#define ATAUSB_T_BBB_COMMAND 3 +#define ATAUSB_T_BBB_DATA_READ 4 +#define ATAUSB_T_BBB_DATA_RD_CS 5 +#define ATAUSB_T_BBB_DATA_WRITE 6 +#define ATAUSB_T_BBB_DATA_WR_CS 7 +#define ATAUSB_T_BBB_STATUS 8 +#define ATAUSB_T_BBB_MAX 9 + +#define ATAUSB_T_MAX ATAUSB_T_BBB_MAX -#define ATAUSB_T_BBB_CBW 0 -#define ATAUSB_T_BBB_DATA 1 -#define ATAUSB_T_BBB_DCLEAR 2 -#define ATAUSB_T_BBB_CSW1 3 -#define ATAUSB_T_BBB_CSW2 4 -#define ATAUSB_T_BBB_SCLEAR 5 -#define ATAUSB_T_BBB_RESET1 6 -#define ATAUSB_T_BBB_RESET2 7 -#define ATAUSB_T_BBB_RESET3 8 -#define ATAUSB_T_MAX 9 - usbd_xfer_handle transfer[ATAUSB_T_MAX]; + struct usb_xfer *xfer[ATAUSB_T_MAX]; + caddr_t ata_data; + device_t dev; - int state; -#define ATAUSB_S_ATTACH 0 -#define ATAUSB_S_IDLE 1 -#define ATAUSB_S_BBB_COMMAND 2 -#define ATAUSB_S_BBB_DATA 3 -#define ATAUSB_S_BBB_DCLEAR 4 -#define ATAUSB_S_BBB_STATUS1 5 -#define ATAUSB_S_BBB_SCLEAR 6 -#define ATAUSB_S_BBB_STATUS2 7 -#define ATAUSB_S_BBB_RESET1 8 -#define ATAUSB_S_BBB_RESET2 9 -#define ATAUSB_S_BBB_RESET3 10 -#define ATAUSB_S_DETACH 11 + uint32_t timeout; + uint32_t ata_donecount; + uint32_t ata_bytecount; - struct mtx locked_mtx; - struct ata_channel *locked_ch; - struct ata_channel *restart_ch; + uint8_t last_xfer_no; + uint8_t usb2_speed; + uint8_t intr_stalled; + uint8_t maxlun; + uint8_t iface_no; + uint8_t status_try; }; -static int atausbdebug = 0; +static const int atausbdebug = 0; + +/* prototypes */ + +static device_probe_t atausb2_probe; +static device_attach_t atausb2_attach; +static device_detach_t atausb2_detach; + +static usb_callback_t atausb2_t_bbb_reset1_callback; +static usb_callback_t atausb2_t_bbb_reset2_callback; +static usb_callback_t atausb2_t_bbb_reset3_callback; +static usb_callback_t atausb2_t_bbb_command_callback; +static usb_callback_t atausb2_t_bbb_data_read_callback; +static usb_callback_t atausb2_t_bbb_data_rd_cs_callback; +static usb_callback_t atausb2_t_bbb_data_write_callback; +static usb_callback_t atausb2_t_bbb_data_wr_cs_callback; +static usb_callback_t atausb2_t_bbb_status_callback; +static usb_callback_t atausb2_tr_error; + +static void atausb2_cancel_request(struct atausb2_softc *sc); +static void atausb2_transfer_start(struct atausb2_softc *sc, uint8_t xfer_no); +static void atausb2_t_bbb_data_clear_stall_callback(struct usb_xfer *xfer, + uint8_t next_xfer, uint8_t stall_xfer, usb_error_t error); +static int ata_usbchannel_begin_transaction(struct ata_request *request); +static int ata_usbchannel_end_transaction(struct ata_request *request); -/* prototypes*/ -static usbd_status atausb_start(struct atausb_softc *sc, usbd_pipe_handle pipe, void *buffer, int buflen, int flags, usbd_xfer_handle xfer); -static usbd_status atausb_ctl_start(struct atausb_softc *sc, usbd_device_handle udev, usb_device_request_t *req, void *buffer, int buflen, int flags, usbd_xfer_handle xfer); -static void atausb_clear_stall(struct atausb_softc *sc, u_int8_t endpt, usbd_pipe_handle pipe, int state, usbd_xfer_handle xfer); -static void atausb_bbb_reset(struct atausb_softc *sc); -static int atausb_bbb_start(struct ata_request *request); -static void atausb_bbb_finish(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status err); -int ata_usbchannel_begin_transaction(struct ata_request *request); -int ata_usbchannel_end_transaction(struct ata_request *request); +static device_probe_t ata_usbchannel_probe; +static device_attach_t ata_usbchannel_attach; +static device_detach_t ata_usbchannel_detach; +static ata_setmode_t ata_usbchannel_setmode; +static ata_locking_t ata_usbchannel_locking; /* * USB frontend part */ -USB_DECLARE_DRIVER(atausb); -DRIVER_MODULE(atausb, uhub, atausb_driver, atausb_devclass, 0, 0); + +struct usb_config atausb2_config[ATAUSB_T_BBB_MAX] = { + + [ATAUSB_T_BBB_RESET1] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset1_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 500, /* 500 milliseconds */ + }, + + [ATAUSB_T_BBB_RESET2] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset2_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 50, /* 50 milliseconds */ + }, + + [ATAUSB_T_BBB_RESET3] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset3_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 50, /* 50 milliseconds */ + }, + + [ATAUSB_T_BBB_COMMAND] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .bufsize = sizeof(struct bbb_cbw), + .flags = {}, + .callback = &atausb2_t_bbb_command_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_DATA_READ] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .bufsize = ATAUSB_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_data_read_callback, + .timeout = 0, /* overwritten later */ + }, + + [ATAUSB_T_BBB_DATA_RD_CS] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_data_rd_cs_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_DATA_WRITE] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .bufsize = ATAUSB_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_data_write_callback, + .timeout = 0, /* overwritten later */ + }, + + [ATAUSB_T_BBB_DATA_WR_CS] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* Control pipe */ + .direction = UE_DIR_ANY, + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_data_wr_cs_callback, + .timeout = 5000, /* 5 seconds */ + }, + + [ATAUSB_T_BBB_STATUS] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .bufsize = sizeof(struct bbb_csw), + .flags = {.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_status_callback, + .timeout = 5000, /* ms */ + }, +}; + +static devclass_t atausb2_devclass; + +static device_method_t atausb2_methods[] = { + DEVMETHOD(device_probe, atausb2_probe), + DEVMETHOD(device_attach, atausb2_attach), + DEVMETHOD(device_detach, atausb2_detach), + {0, 0} +}; + +static driver_t atausb2_driver = { + .name = "atausb", + .methods = atausb2_methods, + .size = sizeof(struct atausb2_softc), +}; + +DRIVER_MODULE(atausb, uhub, atausb2_driver, atausb2_devclass, 0, 0); +MODULE_DEPEND(atausb, usb, 1, 1, 1); MODULE_VERSION(atausb, 1); static int -atausb_match(device_t dev) +atausb2_probe(device_t dev) +{ + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb_interface_descriptor *id; + + if (uaa->usb_mode != USB_MODE_HOST) { + return (ENXIO); + } + if (uaa->use_generic == 0) { + /* give other drivers a try first */ + return (ENXIO); + } + id = usbd_get_interface_descriptor(uaa->iface); + if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { + return (ENXIO); + } + switch (id->bInterfaceSubClass) { + case UISUBCLASS_QIC157: + case UISUBCLASS_RBC: + case UISUBCLASS_SCSI: + case UISUBCLASS_SFF8020I: + case UISUBCLASS_SFF8070I: + case UISUBCLASS_UFI: + switch (id->bInterfaceProtocol) { + case UIPROTO_MASS_CBI: + case UIPROTO_MASS_CBI_I: + case UIPROTO_MASS_BBB: + case UIPROTO_MASS_BBB_OLD: + return (0); + default: + return (0); + } + break; + default: + return (0); + } +} + +static int +atausb2_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; + struct atausb2_softc *sc = device_get_softc(dev); + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb_interface_descriptor *id; + const char *proto, *subclass; + struct usb_device_request request; + device_t child; + uint16_t i; + uint8_t maxlun; + uint8_t has_intr; + int err; - if (uaa->iface == NULL) - return UMATCH_NONE; + device_set_usb_desc(dev); - id = usbd_get_interface_descriptor(uaa->iface); - if (!id || id->bInterfaceClass != UICLASS_MASS) - return UMATCH_NONE; + sc->dev = dev; + sc->maxlun = 0; + sc->locked_ch = NULL; + sc->restart_ch = NULL; + sc->usb2_speed = usbd_get_speed(uaa->device); + mtx_init(&sc->locked_mtx, "ATAUSB lock", NULL, (MTX_DEF | MTX_RECURSE)); - switch (id->bInterfaceSubClass) { - case UISUBCLASS_QIC157: - case UISUBCLASS_RBC: - case UISUBCLASS_SCSI: - case UISUBCLASS_SFF8020I: - case UISUBCLASS_SFF8070I: - case UISUBCLASS_UFI: + id = usbd_get_interface_descriptor(uaa->iface); switch (id->bInterfaceProtocol) { + case UIPROTO_MASS_BBB: + case UIPROTO_MASS_BBB_OLD: + proto = "Bulk-Only"; + break; case UIPROTO_MASS_CBI: + proto = "CBI"; + break; case UIPROTO_MASS_CBI_I: - case UIPROTO_MASS_BBB: - case UIPROTO_MASS_BBB_OLD: - return UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; + proto = "CBI with CCI"; + break; + default: + proto = "Unknown"; + } + + switch (id->bInterfaceSubClass) { + case UISUBCLASS_RBC: + subclass = "RBC"; + break; + case UISUBCLASS_QIC157: + case UISUBCLASS_SFF8020I: + case UISUBCLASS_SFF8070I: + subclass = "ATAPI"; + break; + case UISUBCLASS_SCSI: + subclass = "SCSI"; + break; + case UISUBCLASS_UFI: + subclass = "UFI"; + break; default: - return UMATCH_IFACECLASS_IFACESUBCLASS; + subclass = "Unknown"; + } + + has_intr = (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I); + sc->iface_no = id->bInterfaceNumber; + + device_printf(dev, "using %s over %s\n", subclass, proto); + if (strcmp(proto, "Bulk-Only") || + (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) { + goto detach; + } + err = usbd_transfer_setup(uaa->device, &uaa->info.bIfaceIndex, + sc->xfer, atausb2_config, ATAUSB_T_BBB_MAX, sc, + &sc->locked_mtx); + + /* skip reset first time */ + sc->last_xfer_no = ATAUSB_T_BBB_COMMAND; + + if (err) { + device_printf(sc->dev, "could not setup required " + "transfers, %s\n", usbd_errstr(err)); + goto detach; + } + /* get number of devices so we can add matching channels */ + request.bmRequestType = UT_READ_CLASS_INTERFACE; + request.bRequest = 0xfe; /* GET_MAX_LUN; */ + USETW(request.wValue, 0); + USETW(request.wIndex, sc->iface_no); + USETW(request.wLength, sizeof(maxlun)); + err = usbd_do_request(uaa->device, &Giant, &request, &maxlun); + + if (err) { + if (bootverbose) { + device_printf(sc->dev, "get maxlun not supported %s\n", + usbd_errstr(err)); + } + } else { + sc->maxlun = maxlun; + if (bootverbose) { + device_printf(sc->dev, "maxlun=%d\n", sc->maxlun); + } + } + + /* ata channels are children to this USB control device */ + for (i = 0; i <= sc->maxlun; i++) { + if ((child = device_add_child(sc->dev, "ata", + devclass_find_free_unit(ata_devclass, 2))) == NULL) { + device_printf(sc->dev, "failed to add ata child device\n"); + } else + device_set_ivars(child, (void *)(intptr_t)i); } - break; - default: - return UMATCH_IFACECLASS; - } + bus_generic_attach(sc->dev); + + return (0); + +detach: + atausb2_detach(dev); + return (ENXIO); } static int -atausb_attach(device_t dev) +atausb2_detach(device_t dev) { - struct atausb_softc *sc = device_get_softc(dev); - struct usb_attach_arg *uaa = device_get_ivars(dev); - usb_interface_descriptor_t *id; - usb_endpoint_descriptor_t *ed; - usbd_device_handle udev; - usb_device_request_t request; - char devinfo[1024], *proto, *subclass; - u_int8_t maxlun; - int err, i; + struct atausb2_softc *sc = device_get_softc(dev); + device_t *children; + int nchildren, i; + + /* teardown our statemachine */ - sc->dev = dev; - usbd_devinfo(uaa->device, 0, devinfo); - device_set_desc_copy(dev, devinfo); - sc->bulkin = sc->bulkout = sc->bulkirq = -1; - sc->bulkin_pipe = sc->bulkout_pipe= sc->bulkirq_pipe = NULL; - sc->iface = uaa->iface; - sc->ifaceno = uaa->ifaceno; - sc->maxlun = 0; - sc->timeout = 5000; - sc->locked_ch = NULL; - sc->restart_ch = NULL; - mtx_init(&sc->locked_mtx, "ATAUSB lock", NULL, MTX_DEF); + usbd_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); - id = usbd_get_interface_descriptor(sc->iface); - switch (id->bInterfaceProtocol) { - case UIPROTO_MASS_BBB: - case UIPROTO_MASS_BBB_OLD: - proto = "Bulk-Only"; - break; - case UIPROTO_MASS_CBI: - proto = "CBI"; - break; - case UIPROTO_MASS_CBI_I: - proto = "CBI with CCI"; - break; - default: - proto = "Unknown"; - } - switch (id->bInterfaceSubClass) { - case UISUBCLASS_RBC: - subclass = "RBC"; - break; - case UISUBCLASS_QIC157: - case UISUBCLASS_SFF8020I: - case UISUBCLASS_SFF8070I: - subclass = "ATAPI"; - break; - case UISUBCLASS_SCSI: - subclass = "SCSI"; - break; - case UISUBCLASS_UFI: - subclass = "UFI"; - break; - default: - subclass = "Unknown"; - } - device_printf(dev, "using %s over %s\n", subclass, proto); - if (strcmp(proto, "Bulk-Only") || - (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) - return ENXIO; + /* detach & delete all children, if any */ - for (i = 0 ; i < id->bNumEndpoints ; i++) { - if (!(ed = usbd_interface2endpoint_descriptor(sc->iface, i))) { - device_printf(sc->dev, "could not read endpoint descriptor\n"); - return ENXIO; + if (!device_get_children(dev, &children, &nchildren)) { + for (i = 0; i < nchildren; i++) { + device_delete_child(dev, children[i]); + } + free(children, M_TEMP); } - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && - (ed->bmAttributes & UE_XFERTYPE) == UE_BULK) { - sc->bulkin = ed->bEndpointAddress; + mtx_destroy(&sc->locked_mtx); + return (0); +} + +static void +atausb2_transfer_start(struct atausb2_softc *sc, uint8_t xfer_no) +{ + if (atausbdebug) { + device_printf(sc->dev, "BBB transfer %d\n", xfer_no); } - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_OUT && - (ed->bmAttributes & UE_XFERTYPE) == UE_BULK) { - sc->bulkout = ed->bEndpointAddress; + if (sc->xfer[xfer_no]) { + sc->last_xfer_no = xfer_no; + usbd_transfer_start(sc->xfer[xfer_no]); + } else { + atausb2_cancel_request(sc); } - if (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I && - UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && - (ed->bmAttributes & UE_XFERTYPE) == UE_INTERRUPT) { - sc->bulkirq = ed->bEndpointAddress; +} + +static void +atausb2_t_bbb_reset1_callback(struct usb_xfer *xfer, usb_error_t error) +{ + struct atausb2_softc *sc = usbd_xfer_softc(xfer); + struct usb_device_request req; + struct usb_page_cache *pc; + + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + atausb2_transfer_start(sc, ATAUSB_T_BBB_RESET2); + return; + + case USB_ST_SETUP: + req.bmRequestType = UT_WRITE_CLASS_INTERFACE; + req.bRequest = 0xff; /* bulk-only reset */ + USETW(req.wValue, 0); + req.wIndex[0] = sc->iface_no; + req.wIndex[1] = 0; + USETW(req.wLength, 0); + + pc = usbd_xfer_get_frame(xfer, 0); + usbd_copy_in(pc, 0, &req, sizeof(req)); + + usbd_xfer_set_frame_len(xfer, 0, sizeof(req)); + usbd_xfer_set_frames(xfer, 1); + usbd_transfer_submit(xfer); + return; + + default: /* Error */ + atausb2_tr_error(xfer, error); + return; + } - } +} + +static void +atausb2_t_bbb_reset2_callback(struct usb_xfer *xfer, usb_error_t error) +{ + atausb2_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_RESET3, + ATAUSB_T_BBB_DATA_READ, error); +} - /* check whether we found at least the endpoints we need */ - if (!sc->bulkin || !sc->bulkout) { - device_printf(sc->dev, "needed endpoints not found (%d,%d)\n", - sc->bulkin, sc->bulkout); - atausb_detach(dev); - return ENXIO; - } +static void +atausb2_t_bbb_reset3_callback(struct usb_xfer *xfer, usb_error_t error) +{ + atausb2_t_bbb_data_clear_stall_callback(xfer, ATAUSB_T_BBB_COMMAND, + ATAUSB_T_BBB_DATA_WRITE, error); +} - /* open the pipes */ - if (usbd_open_pipe(sc->iface, sc->bulkout, - USBD_EXCLUSIVE_USE, &sc->bulkout_pipe)) { - device_printf(sc->dev, "cannot open bulkout pipe (%d)\n", sc->bulkout); - atausb_detach(dev); - return ENXIO; - } - if (usbd_open_pipe(sc->iface, sc->bulkin, - USBD_EXCLUSIVE_USE, &sc->bulkin_pipe)) { - device_printf(sc->dev, "cannot open bulkin pipe (%d)\n", sc->bulkin); - atausb_detach(dev); - return ENXIO; - } - if (id->bInterfaceProtocol == UIPROTO_MASS_CBI_I) { - if (usbd_open_pipe(sc->iface, sc->bulkirq, - USBD_EXCLUSIVE_USE, &sc->bulkirq_pipe)) { - device_printf(sc->dev, "cannot open bulkirq pipe (%d)\n", - sc->bulkirq); - atausb_detach(dev); - return ENXIO; - } - } - sc->state = ATAUSB_S_ATTACH; +static void +atausb2_t_bbb_data_clear_stall_callback(struct usb_xfer *xfer, + uint8_t next_xfer, uint8_t stall_xfer, usb_error_t error) +{ + struct atausb2_softc *sc = usbd_xfer_softc(xfer); - /* alloc needed number of transfer handles */ - for (i = 0; i < ATAUSB_T_MAX; i++) { - sc->transfer[i] = usbd_alloc_xfer(uaa->device); - if (!sc->transfer[i]) { - device_printf(sc->dev, "out of memory\n"); - atausb_detach(dev); - return ENXIO; - } - } + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: +tr_transferred: + atausb2_transfer_start(sc, next_xfer); + return; - /* driver is ready to process requests here */ - sc->state = ATAUSB_S_IDLE; + case USB_ST_SETUP: + if (usbd_clear_stall_callback(xfer, sc->xfer[stall_xfer])) { + goto tr_transferred; + } + return; - /* get number of devices so we can add matching channels */ - usbd_interface2device_handle(sc->iface, &udev); - request.bmRequestType = UT_READ_CLASS_INTERFACE; - request.bRequest = 0xfe; //GET_MAX_LUN; - USETW(request.wValue, 0); - USETW(request.wIndex, sc->ifaceno); - USETW(request.wLength, sizeof(maxlun)); - switch ((err = usbd_do_request(udev, &request, &maxlun))) { - case USBD_NORMAL_COMPLETION: - if (bootverbose) - device_printf(sc->dev, "maxlun=%d\n", maxlun); - sc->maxlun = maxlun; - break; - default: - if (bootverbose) - device_printf(sc->dev, "get maxlun not supported %s\n", - usbd_errstr(err)); - } + default: /* Error */ + atausb2_tr_error(xfer, error); + return; - /* ata channels are children to this USB control device */ - for (i = 0; i <= sc->maxlun; i++) { - if (!device_add_child(sc->dev, "ata", - devclass_find_free_unit(ata_devclass, 2))) { - device_printf(sc->dev, "failed to attach ata child device\n"); - atausb_detach(dev); - return ENXIO; } - } - bus_generic_attach(sc->dev); - return 0; } -static int -atausb_detach(device_t dev) +static void +atausb2_t_bbb_command_callback(struct usb_xfer *xfer, usb_error_t error) { - struct atausb_softc *sc = device_get_softc(dev); - usbd_device_handle udev; - device_t *children; - int nchildren, i; + struct atausb2_softc *sc = usbd_xfer_softc(xfer); + struct ata_request *request = sc->ata_request; + struct ata_channel *ch; + struct usb_page_cache *pc; + uint32_t tag; + + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + atausb2_transfer_start + (sc, ((request->flags & ATA_R_READ) ? ATAUSB_T_BBB_DATA_READ : + (request->flags & ATA_R_WRITE) ? ATAUSB_T_BBB_DATA_WRITE : + ATAUSB_T_BBB_STATUS)); + return; - /* signal that device is going away */ - sc->state = ATAUSB_S_DETACH; + case USB_ST_SETUP: - /* abort all the pipes in case there are active transfers */ - usbd_interface2device_handle(sc->iface, &udev); - usbd_abort_default_pipe(udev); - if (sc->bulkout_pipe) - usbd_abort_pipe(sc->bulkout_pipe); - if (sc->bulkin_pipe) - usbd_abort_pipe(sc->bulkin_pipe); - if (sc->bulkirq_pipe) - usbd_abort_pipe(sc->bulkirq_pipe); + sc->status_try = 0; - /* detach & delete all children */ - if (!device_get_children(dev, &children, &nchildren)) { - for (i = 0; i < nchildren; i++) - device_delete_child(dev, children[i]); - free(children, M_TEMP); - } + if (request) { + ch = device_get_softc(request->parent); - /* free the transfers */ - for (i = 0; i < ATAUSB_T_MAX; i++) - if (sc->transfer[i]) - usbd_free_xfer(sc->transfer[i]); + sc->timeout = (request->timeout * 1000) + 5000; - /* remove all the pipes */ - if (sc->bulkout_pipe) - usbd_close_pipe(sc->bulkout_pipe); - if (sc->bulkin_pipe) - usbd_close_pipe(sc->bulkin_pipe); - if (sc->bulkirq_pipe) - usbd_close_pipe(sc->bulkirq_pipe); + tag = UGETDW(sc->cbw.tag) + 1; - mtx_destroy(&sc->locked_mtx); - return 0; -} + USETDW(sc->cbw.signature, CBWSIGNATURE); + USETDW(sc->cbw.tag, tag); + USETDW(sc->cbw.transfer_length, request->bytecount); + sc->cbw.flags = (request->flags & ATA_R_READ) ? CBWFLAGS_IN : CBWFLAGS_OUT; + sc->cbw.lun = ch->unit; + sc->cbw.length = 16; + bzero(sc->cbw.cdb, 16); + bcopy(request->u.atapi.ccb, sc->cbw.cdb, 12); /* XXX SOS */ + pc = usbd_xfer_get_frame(xfer, 0); + usbd_copy_in(pc, 0, &sc->cbw, sizeof(sc->cbw)); -/* - * Generic USB transfer routines - */ -static usbd_status -atausb_start(struct atausb_softc *sc, usbd_pipe_handle pipe, - void *buffer, int buflen, int flags, usbd_xfer_handle xfer) -{ - usbd_status err; + usbd_xfer_set_frame_len(xfer, 0, sizeof(sc->cbw)); + usbd_transfer_submit(xfer); + } + return; - if (sc->state == ATAUSB_S_DETACH) - return USBD_NOT_STARTED; + default: /* Error */ + atausb2_tr_error(xfer, error); + return; - usbd_setup_xfer(xfer, pipe, (void *)sc, buffer, buflen, flags, - sc->timeout, atausb_bbb_finish); - err = usbd_transfer(xfer); - if (err && (err != USBD_IN_PROGRESS)) { - if (atausbdebug) - device_printf(sc->dev, "failed to setup transfer, %s\n", - usbd_errstr(err)); - return err; - } - return USBD_NORMAL_COMPLETION; + } } -static usbd_status -atausb_ctl_start(struct atausb_softc *sc, usbd_device_handle udev, - usb_device_request_t *req, void *buffer, int buflen, int flags, - usbd_xfer_handle xfer) +static void +atausb2_t_bbb_data_read_callback(struct usb_xfer *xfer, usb_error_t error) { - usbd_status err; + struct atausb2_softc *sc = usbd_xfer_softc(xfer); + uint32_t max_bulk = usbd_xfer_max_len(xfer); + struct usb_page_cache *pc; + int actlen, sumlen; + + usbd_xfer_status(xfer, &actlen, &sumlen, NULL, NULL); + + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + + pc = usbd_xfer_get_frame(xfer, 0); + usbd_copy_out(pc, 0, sc->ata_data, actlen); + + sc->ata_bytecount -= actlen; + sc->ata_data += actlen; + sc->ata_donecount += actlen; + + if (actlen < sumlen) { + /* short transfer */ + sc->ata_bytecount = 0; + } + case USB_ST_SETUP: + + if (atausbdebug > 1) { + device_printf(sc->dev, "%s: max_bulk=%d, ata_bytecount=%d\n", + __FUNCTION__, max_bulk, sc->ata_bytecount); + } + if (sc->ata_bytecount == 0) { + atausb2_transfer_start(sc, ATAUSB_T_BBB_STATUS); + return; + } + if (max_bulk > sc->ata_bytecount) { + max_bulk = sc->ata_bytecount; + } + usbd_xfer_set_timeout(xfer, sc->timeout); + usbd_xfer_set_frame_len(xfer, 0, max_bulk); + + usbd_transfer_submit(xfer); + return; >>> TRUNCATED FOR MAIL (1000 lines) <<< From truncs at FreeBSD.org Thu Jul 2 16:17:22 2009 From: truncs at FreeBSD.org (Aditya Sarawgi) Date: Thu Jul 2 16:17:29 2009 Subject: PERFORCE change 165545 for review Message-ID: <200907021617.n62GHLIh013500@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165545 Change 165545 by truncs@aditya on 2009/07/02 16:17:10 ext2_hashalloc is also used to find both a free inode and a free block. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#23 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#23 (text+ko) ==== @@ -57,7 +57,7 @@ static u_long ext2_dirpref(struct m_ext2fs *); static void ext2_fserr(struct m_ext2fs *, u_int, char *); static struct ext2_gd * get_group_desc2(struct m_ext2fs *, int, struct buf **); -static ino_t ext2_hashalloc(struct inode *, int, long, int, +static u_long ext2_hashalloc(struct inode *, int, long, int, daddr_t (*)(struct inode *, int, daddr_t, int)); static daddr_t ext2_nodealloccg(struct inode *, int, daddr_t, int); @@ -395,7 +395,7 @@ cg = ino_to_cg(fs, pip->i_number); ipref = cg * fs->e2fs->e2fs_ipg + 1; uprintf("b\n"); - ino = ext2_hashalloc(pip, cg, (long)ipref, mode, ext2_nodealloccg); + ino = (ino_t)ext2_hashalloc(pip, cg, (long)ipref, mode, ext2_nodealloccg); uprintf("c\n"); if (ino == 0) @@ -621,7 +621,7 @@ * 2) quadradically rehash on the cylinder group number. * 3) brute force search for a free block. */ -static ino_t +static u_long ext2_hashalloc(struct inode *ip, int cg, long pref, int size, daddr_t (*allocator)(struct inode *, int, daddr_t, int)) { From truncs at FreeBSD.org Thu Jul 2 16:46:55 2009 From: truncs at FreeBSD.org (Aditya Sarawgi) Date: Thu Jul 2 16:47:00 2009 Subject: PERFORCE change 165547 for review Message-ID: <200907021646.n62GkrU7015659@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165547 Change 165547 by truncs@aditya on 2009/07/02 16:46:32 1) Remove #ifdef 2) get group descriptors using get_group_desc2() Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#24 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#24 (text+ko) ==== @@ -51,9 +51,7 @@ #include #include -#ifdef notyet static daddr_t ext2_alloccg(struct inode *, int, daddr_t, int); -#endif static u_long ext2_dirpref(struct m_ext2fs *); static void ext2_fserr(struct m_ext2fs *, u_int, char *); static struct ext2_gd * get_group_desc2(struct m_ext2fs *, int, struct buf **); @@ -61,9 +59,7 @@ daddr_t (*)(struct inode *, int, daddr_t, int)); static daddr_t ext2_nodealloccg(struct inode *, int, daddr_t, int); -#ifdef notyet static daddr_t ext2_mapsearch(struct m_ext2fs *, char *, daddr_t); -#endif /* * Linux calls this functions at the following locations: @@ -670,7 +666,6 @@ * Check to see if a block of the appropriate size is available, * and if it is, allocate it. */ -#ifdef notyet static daddr_t ext2_alloccg(struct inode *ip, int cg, daddr_t bpref, int size) { @@ -682,16 +677,14 @@ int error, bno, start, end, loc; fs = ip->i_e2fs; - gdp = (struct ext2_gd *) fs->e2fs_group_desc[cg]->b_data; + gdp = get_group_desc2(fs, cg, NULL); if (gdp->ext2bgd_nbfree == 0) return (0); - lock_super(DEVVP(ip)); error = bread(ip->i_devvp, fsbtodb(fs, gdp->ext2bgd_b_bitmap), (int)fs->e2fs_bsize, NOCRED, &bp); if (error) { brelse(bp); - unlock_super(DEVVP(ip)); return (0); } bbp = (char *)bp->b_data; @@ -748,12 +741,10 @@ setbit(bbp, (daddr_t)bno); fs->e2fs->e2fs_fbcount--; gdp->ext2bgd_nbfree--; - mark_buffer_dirty2(bp); fs->e2fs_fmod = 1; - unlock_super(DEVVP(ip)); + bdwrite(bp); return (cg * fs->e2fs->e2fs_fpg + fs->e2fs->e2fs_first_dblock + bno); } -#endif /* * Determine whether an inode can be allocated. * @@ -842,7 +833,6 @@ * It is a panic if a request is made to find a block if none are * available. */ -#ifdef notyet static daddr_t ext2_mapsearch(struct m_ext2fs *fs, char *bbp, daddr_t bpref) { @@ -881,7 +871,6 @@ panic("ext2fs_mapsearch: block not in map"); /* NOTREACHED */ } -#endif /* * This function is taken from ext2_linux_ialloc.c and is under GPL. NetBSD has e2fs_gd which contains all the group desc and is From jhb at FreeBSD.org Thu Jul 2 18:36:57 2009 From: jhb at FreeBSD.org (John Baldwin) Date: Thu Jul 2 18:37:04 2009 Subject: PERFORCE change 165552 for review Message-ID: <200907021836.n62Ias2U035608@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165552 Change 165552 by jhb@jhb_jhbbsd on 2009/07/02 18:35:54 IFC @165549 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/genassym.c#28 integrate .. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#34 integrate .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#36 integrate .. //depot/projects/smpng/sys/amd64/amd64/io_apic.c#25 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#43 integrate .. //depot/projects/smpng/sys/amd64/amd64/msi.c#13 integrate .. //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#10 integrate .. //depot/projects/smpng/sys/amd64/include/intr_machdep.h#21 integrate .. //depot/projects/smpng/sys/amd64/include/vm.h#1 branch .. //depot/projects/smpng/sys/amd64/isa/atpic.c#19 integrate .. //depot/projects/smpng/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/smpng/sys/arm/at91/if_ate.c#23 integrate .. //depot/projects/smpng/sys/arm/include/vm.h#1 branch .. //depot/projects/smpng/sys/arm/mv/mv_machdep.c#6 integrate .. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#21 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#15 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#23 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#61 integrate .. //depot/projects/smpng/sys/compat/linux/linux_signal.c#26 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_usbd.c#15 integrate .. //depot/projects/smpng/sys/conf/NOTES#174 integrate .. //depot/projects/smpng/sys/conf/files#247 integrate .. //depot/projects/smpng/sys/conf/options#173 integrate .. //depot/projects/smpng/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/smpng/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/smpng/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/smpng/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/smpng/sys/dev/ae/if_ae.c#4 integrate .. //depot/projects/smpng/sys/dev/age/if_age.c#8 integrate .. //depot/projects/smpng/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/smpng/sys/dev/ale/if_ale.c#4 integrate .. //depot/projects/smpng/sys/dev/asmc/asmc.c#7 integrate .. //depot/projects/smpng/sys/dev/asmc/asmcvar.h#4 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.c#10 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.h#7 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_internal.h#9 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#6 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#5 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#8 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#79 integrate .. //depot/projects/smpng/sys/dev/ath/if_athvar.h#48 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#30 integrate .. //depot/projects/smpng/sys/dev/bfe/if_bfe.c#32 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#108 integrate .. //depot/projects/smpng/sys/dev/bm/if_bm.c#6 integrate .. //depot/projects/smpng/sys/dev/cas/if_cas.c#4 integrate .. //depot/projects/smpng/sys/dev/cpuctl/cpuctl.c#4 integrate .. //depot/projects/smpng/sys/dev/cs/if_cs.c#20 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#16 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#21 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/mvec.h#8 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/uipc_mvec.c#10 integrate .. //depot/projects/smpng/sys/dev/dc/if_dc.c#23 integrate .. //depot/projects/smpng/sys/dev/de/if_de.c#8 integrate .. //depot/projects/smpng/sys/dev/e1000/if_em.c#10 integrate .. //depot/projects/smpng/sys/dev/e1000/if_igb.c#11 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed.c#45 integrate .. //depot/projects/smpng/sys/dev/et/if_et.c#2 integrate .. //depot/projects/smpng/sys/dev/ex/if_ex.c#23 integrate .. //depot/projects/smpng/sys/dev/fe/if_fe.c#27 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#93 integrate .. //depot/projects/smpng/sys/dev/gem/if_gem.c#40 integrate .. //depot/projects/smpng/sys/dev/hme/if_hme.c#36 integrate .. //depot/projects/smpng/sys/dev/ie/if_ie.c#18 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#62 integrate .. //depot/projects/smpng/sys/dev/ixgb/if_ixgb.c#22 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#8 integrate .. //depot/projects/smpng/sys/dev/jme/if_jme.c#7 integrate .. //depot/projects/smpng/sys/dev/le/lance.c#5 integrate .. //depot/projects/smpng/sys/dev/lge/if_lge.c#41 integrate .. //depot/projects/smpng/sys/dev/malo/if_malo.c#5 integrate .. //depot/projects/smpng/sys/dev/mge/if_mge.c#6 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#30 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#19 integrate .. //depot/projects/smpng/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/smpng/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/smpng/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/smpng/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/smpng/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#32 integrate .. //depot/projects/smpng/sys/dev/my/if_my.c#31 integrate .. //depot/projects/smpng/sys/dev/nfe/if_nfe.c#18 integrate .. //depot/projects/smpng/sys/dev/nge/if_nge.c#57 integrate .. //depot/projects/smpng/sys/dev/nve/if_nve.c#20 integrate .. //depot/projects/smpng/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/smpng/sys/dev/pcn/if_pcn.c#4 integrate .. //depot/projects/smpng/sys/dev/pdq/pdq_ifsubr.c#15 integrate .. //depot/projects/smpng/sys/dev/re/if_re.c#76 integrate .. //depot/projects/smpng/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/smpng/sys/dev/sis/if_sis.c#6 integrate .. //depot/projects/smpng/sys/dev/sk/if_sk.c#17 integrate .. //depot/projects/smpng/sys/dev/sn/if_sn.c#29 integrate .. //depot/projects/smpng/sys/dev/snc/dp83932.c#19 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#30 integrate .. //depot/projects/smpng/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/smpng/sys/dev/stge/if_stge.c#11 integrate .. //depot/projects/smpng/sys/dev/ti/if_ti.c#13 integrate .. //depot/projects/smpng/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/smpng/sys/dev/tsec/if_tsec.c#6 integrate .. //depot/projects/smpng/sys/dev/tx/if_tx.c#32 integrate .. //depot/projects/smpng/sys/dev/txp/if_txp.c#40 integrate .. //depot/projects/smpng/sys/dev/usb/controller/at91dci.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/controller/atmegadci.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/controller/avr32dci.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/controller/musb_otg.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uss820dci.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_aue.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_axe.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cdce.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cue.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_kue.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_rue.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_udav.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/storage/umass.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/storage/ustorage_fs.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/usb_controller.h#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/usb_handle_request.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_if.m#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#141 integrate .. //depot/projects/smpng/sys/dev/usb/usbdi.h#26 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_upgt.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#11 integrate .. //depot/projects/smpng/sys/dev/vge/if_vge.c#26 integrate .. //depot/projects/smpng/sys/dev/vr/if_vr.c#6 integrate .. //depot/projects/smpng/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi.c#95 integrate .. //depot/projects/smpng/sys/dev/wl/if_wl.c#32 integrate .. //depot/projects/smpng/sys/dev/xe/if_xe.c#29 integrate .. //depot/projects/smpng/sys/dev/xl/if_xl.c#5 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_lookup.c#5 integrate .. //depot/projects/smpng/sys/geom/geom.h#56 integrate .. //depot/projects/smpng/sys/geom/geom_io.c#51 integrate .. //depot/projects/smpng/sys/geom/geom_subr.c#61 integrate .. //depot/projects/smpng/sys/geom/geom_vfs.c#9 integrate .. //depot/projects/smpng/sys/geom/journal/g_journal.c#14 integrate .. //depot/projects/smpng/sys/i386/i386/genassym.c#40 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#37 integrate .. //depot/projects/smpng/sys/i386/i386/io_apic.c#27 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#65 integrate .. //depot/projects/smpng/sys/i386/i386/msi.c#13 integrate .. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#56 integrate .. //depot/projects/smpng/sys/i386/include/intr_machdep.h#23 integrate .. //depot/projects/smpng/sys/i386/include/vm.h#1 branch .. //depot/projects/smpng/sys/i386/isa/atpic.c#22 integrate .. //depot/projects/smpng/sys/i386/linux/linux_machdep.c#51 integrate .. //depot/projects/smpng/sys/ia64/include/vm.h#1 branch .. //depot/projects/smpng/sys/kern/kern_descrip.c#129 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#59 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#120 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#142 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#123 integrate .. //depot/projects/smpng/sys/kern/kern_intr.c#100 integrate .. //depot/projects/smpng/sys/kern/kern_linker.c#103 integrate .. //depot/projects/smpng/sys/kern/kern_mbuf.c#33 integrate .. //depot/projects/smpng/sys/kern/kern_prot.c#113 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#149 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#51 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#60 integrate .. //depot/projects/smpng/sys/kern/sys_process.c#66 integrate .. //depot/projects/smpng/sys/kern/sys_socket.c#33 integrate .. //depot/projects/smpng/sys/kern/tty.c#96 integrate .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#120 integrate .. //depot/projects/smpng/sys/kern/vfs_cluster.c#51 integrate .. //depot/projects/smpng/sys/kern/vfs_export.c#35 integrate .. //depot/projects/smpng/sys/kern/vfs_extattr.c#10 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#61 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#96 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#170 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#150 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#98 integrate .. //depot/projects/smpng/sys/mips/adm5120/if_admsw.c#5 integrate .. //depot/projects/smpng/sys/mips/include/vm.h#1 branch .. //depot/projects/smpng/sys/mips/malta/yamon.c#3 integrate .. //depot/projects/smpng/sys/mips/mips/busdma_machdep.c#5 integrate .. //depot/projects/smpng/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/smpng/sys/mips/mips/intr_machdep.c#4 integrate .. //depot/projects/smpng/sys/modules/nfsclient/Makefile#16 integrate .. //depot/projects/smpng/sys/modules/nfsserver/Makefile#11 integrate .. //depot/projects/smpng/sys/net/if.c#124 integrate .. //depot/projects/smpng/sys/net/if_spppsubr.c#43 integrate .. //depot/projects/smpng/sys/net/if_stf.c#50 integrate .. //depot/projects/smpng/sys/net/if_tun.c#65 integrate .. //depot/projects/smpng/sys/net/if_var.h#68 integrate .. //depot/projects/smpng/sys/net/netisr.c#19 integrate .. //depot/projects/smpng/sys/net/vnet.h#13 integrate .. //depot/projects/smpng/sys/netgraph/ng_eiface.c#35 integrate .. //depot/projects/smpng/sys/netgraph/ng_ether.c#44 integrate .. //depot/projects/smpng/sys/netgraph/ng_iface.c#37 integrate .. //depot/projects/smpng/sys/netgraph/ng_ksocket.c#35 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#68 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_fw2.c#4 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#61 integrate .. //depot/projects/smpng/sys/netinet6/in6_var.h#25 integrate .. //depot/projects/smpng/sys/nfs/nfs_common.c#16 integrate .. //depot/projects/smpng/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/smpng/sys/nfs/rpcv2.h#6 delete .. //depot/projects/smpng/sys/nfsclient/bootp_subr.c#44 integrate .. //depot/projects/smpng/sys/nfsclient/krpc_subr.c#18 integrate .. //depot/projects/smpng/sys/nfsclient/nfs.h#38 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#61 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_diskless.c#25 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_krpc.c#6 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_lock.c#39 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_nfsiod.c#22 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_node.c#33 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#62 delete .. //depot/projects/smpng/sys/nfsclient/nfs_subs.c#40 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#74 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#91 integrate .. //depot/projects/smpng/sys/nfsclient/nfsm_subs.h#12 integrate .. //depot/projects/smpng/sys/nfsclient/nfsmount.h#17 integrate .. //depot/projects/smpng/sys/nfsserver/nfs.h#27 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_fha.c#4 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#66 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvcache.c#17 delete .. //depot/projects/smpng/sys/nfsserver/nfs_srvkrpc.c#10 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsock.c#41 delete .. //depot/projects/smpng/sys/nfsserver/nfs_srvsubs.c#51 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_syscalls.c#44 delete .. //depot/projects/smpng/sys/nfsserver/nfsrvcache.h#8 integrate .. //depot/projects/smpng/sys/pc98/include/vm.h#1 branch .. //depot/projects/smpng/sys/pci/if_rl.c#78 integrate .. //depot/projects/smpng/sys/powerpc/include/vm.h#1 branch .. //depot/projects/smpng/sys/rpc/clnt_dg.c#6 integrate .. //depot/projects/smpng/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate .. //depot/projects/smpng/sys/security/audit/audit.c#19 integrate .. //depot/projects/smpng/sys/security/audit/audit.h#12 integrate .. //depot/projects/smpng/sys/security/audit/audit_arg.c#17 integrate .. //depot/projects/smpng/sys/security/audit/audit_bsm.c#17 integrate .. //depot/projects/smpng/sys/security/audit/audit_private.h#15 integrate .. //depot/projects/smpng/sys/security/audit/audit_syscalls.c#23 integrate .. //depot/projects/smpng/sys/sparc64/include/pmap.h#33 integrate .. //depot/projects/smpng/sys/sparc64/include/vm.h#1 branch .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#97 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#80 integrate .. //depot/projects/smpng/sys/sun4v/include/vm.h#1 branch .. //depot/projects/smpng/sys/sun4v/sun4v/pmap.c#16 integrate .. //depot/projects/smpng/sys/sys/cpuctl.h#2 integrate .. //depot/projects/smpng/sys/sys/event.h#26 integrate .. //depot/projects/smpng/sys/sys/filio.h#5 integrate .. //depot/projects/smpng/sys/sys/mount.h#77 integrate .. //depot/projects/smpng/sys/sys/param.h#151 integrate .. //depot/projects/smpng/sys/sys/priv.h#23 integrate .. //depot/projects/smpng/sys/sys/vnode.h#103 integrate .. //depot/projects/smpng/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#75 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#66 integrate .. //depot/projects/smpng/sys/vm/vm.h#13 integrate .. //depot/projects/smpng/sys/vm/vm_contig.c#50 integrate .. //depot/projects/smpng/sys/vm/vm_extern.h#36 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#111 integrate .. //depot/projects/smpng/sys/vm/vm_phys.c#7 integrate .. //depot/projects/smpng/sys/vm/vm_phys.h#3 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/genassym.c#28 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#34 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#36 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -163,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); mtx_unlock(&intr_table_lock); - } - return (0); + } else + error = 0; + return (error); #else return (EOPNOTSUPP); #endif @@ -371,7 +373,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -441,14 +443,14 @@ if (!assign_cpu) return (cpu_apic_ids[0]); - mtx_lock(&intr_table_lock); + mtx_lock_spin(&icu_lock); apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); - mtx_unlock(&intr_table_lock); + mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -489,7 +491,6 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; - u_int apic_id; int i; /* Don't bother on UP. */ @@ -505,13 +506,17 @@ /* * If this event is already bound to a CPU, * then assign the source to that CPU instead - * of picking one via round-robin. + * of picking one via round-robin. Note that + * this is careful to only advance the + * round-robin if the CPU assignment succeeds. */ if (isrc->is_event->ie_cpu != NOCPU) - apic_id = isrc->is_event->ie_cpu; - else - apic_id = intr_next_cpu(); - isrc->is_pic->pic_assign_cpu(isrc, apic_id); + (void)isrc->is_pic->pic_assign_cpu(isrc, + isrc->is_event->ie_cpu); + else if (isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[current_cpu]) == 0) + (void)intr_next_cpu(); + } } mtx_unlock(&intr_table_lock); ==== //depot/projects/smpng/sys/amd64/amd64/io_apic.c#25 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.34 2009/07/01 17:20:07 jhb Exp $"); #include "opt_isa.h" @@ -120,7 +120,7 @@ static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void ioapic_resume(struct pic *pic); -static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); @@ -322,7 +322,7 @@ mtx_unlock_spin(&icu_lock); } -static void +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id) { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; @@ -342,7 +342,7 @@ old_vector = intpin->io_vector; old_id = intpin->io_cpu; if (old_vector && apic_id == old_id) - return; + return (0); /* * Allocate an APIC vector for this interrupt pin. Once @@ -350,6 +350,9 @@ */ intpin->io_cpu = apic_id; intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (intpin->io_vector == 0) + return (ENOSPC); + if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -364,6 +367,7 @@ */ if (old_vector) apic_free_vector(old_id, old_vector, intpin->io_irq); + return (0); } static void @@ -372,7 +376,9 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, intr_next_cpu()); + if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0) + panic("Couldn't find an APIC vector for IRQ %d", + intpin->io_irq); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } @@ -496,7 +502,7 @@ io->io_pic = ioapic_template; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; if (apic_id != -1 && io->io_apic_id != apic_id) { ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); mtx_unlock_spin(&icu_lock); @@ -730,7 +736,7 @@ if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); + return (EINVAL); edgetrigger = (trigger == INTR_TRIGGER_EDGE); if (io->io_pins[pin].io_edgetrigger == edgetrigger) return (0); ==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#43 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -139,7 +139,7 @@ }; -static u_int32_t lapic_timer_divisors[] = { +static u_int32_t lapic_timer_divisors[] = { APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16, APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128 }; @@ -797,7 +797,7 @@ return (vector + APIC_IO_INTS); } mtx_unlock_spin(&icu_lock); - panic("Couldn't find an APIC vector for IRQ %u", irq); + return (0); } /* @@ -1058,7 +1058,7 @@ static SLIST_HEAD(, apic_enumerator) enumerators = SLIST_HEAD_INITIALIZER(enumerators); static struct apic_enumerator *best_enum; - + void apic_register_enumerator(struct apic_enumerator *enumerator) { ==== //depot/projects/smpng/sys/amd64/amd64/msi.c#13 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.13 2009/07/01 17:20:07 jhb Exp $"); #include #include @@ -113,6 +113,8 @@ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ + u_int msi_maxcount:8; /* Alignment for this group. (g) */ + int *msi_irqs; /* Group's IRQ list. (g) */ }; static void msi_create_source(void); @@ -125,7 +127,7 @@ static int msi_source_pending(struct intsrc *isrc); static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_disable_intr, msi_vector, @@ -195,32 +197,52 @@ return (ENODEV); } -static void +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id) { - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; + struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc; int old_vector; u_int old_id; - int vector; + int i, vector; + + /* + * Only allow CPUs to be assigned to the first message for an + * MSI group. + */ + if (msi->msi_first != msi) + return (EINVAL); /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; if (old_id == apic_id) - return; - if (!msi->msi_msix && msi->msi_first->msi_count > 1) - return; + return (0); - /* Allocate IDT vector on this cpu. */ - vector = apic_alloc_vector(apic_id, msi->msi_irq); + /* Allocate IDT vectors on this cpu. */ + if (msi->msi_count > 1) { + KASSERT(msi->msi_msix == 0, ("MSI-X message group")); + vector = apic_alloc_vectors(apic_id, msi->msi_irqs, + msi->msi_count, msi->msi_maxcount); + } else + vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) - return; /* XXX alloc_vector panics on failure. */ + return (ENOSPC); + msi->msi_cpu = apic_id; msi->msi_vector = vector; if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + sib->msi_cpu = apic_id; + sib->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", + sib->msi_irq, sib->msi_cpu, sib->msi_vector); + } pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); /* @@ -228,6 +250,9 @@ * to prevent races where we could miss an interrupt. */ apic_free_vector(old_id, old_vector, msi->msi_irq); + for (i = 1; i < msi->msi_count; i++) + apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + return (0); } void @@ -268,7 +293,7 @@ msi_last_irq++; mtx_unlock(&msi_lock); - msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); + msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO); msi->msi_intsrc.is_pic = &msi_pic; msi->msi_irq = irq; intr_register_source(&msi->msi_intsrc); @@ -276,21 +301,22 @@ } /* - * Try to allocate 'count' interrupt sources with contiguous IDT values. If - * we allocate any new sources, then their IRQ values will be at the end of - * the irqs[] array, with *newirq being the index of the first new IRQ value - * and *newcount being the number of new IRQ values added. + * Try to allocate 'count' interrupt sources with contiguous IDT values. */ int msi_alloc(device_t dev, int count, int maxcount, int *irqs) { struct msi_intsrc *msi, *fsrc; u_int cpu; - int cnt, i, vector; + int cnt, i, *mirqs, vector; if (!msi_enabled) return (ENXIO); + if (count > 1) + mirqs = malloc(count * sizeof(*mirqs), M_MSI, M_WAITOK); + else + mirqs = NULL; again: mtx_lock(&msi_lock); @@ -317,6 +343,7 @@ /* If we would exceed the max, give up. */ if (i + (count - cnt) > FIRST_MSI_INT + NUM_MSI_INTS) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENXIO); } mtx_unlock(&msi_lock); @@ -337,6 +364,7 @@ vector = apic_alloc_vectors(cpu, irqs, count, maxcount); if (vector == 0) { mtx_unlock(&msi_lock); + free(mirqs, M_MSI); return (ENOSPC); } @@ -356,6 +384,10 @@ ("dead MSI has handlers")); } fsrc->msi_count = count; + fsrc->msi_maxcount = maxcount; + if (count > 1) + bcopy(irqs, mirqs, count * sizeof(*mirqs)); + fsrc->msi_irqs = mirqs; mtx_unlock(&msi_lock); return (0); @@ -413,6 +445,9 @@ apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq); first->msi_vector = 0; first->msi_count = 0; + first->msi_maxcount = 0; + free(first->msi_irqs, M_MSI); + first->msi_irqs = NULL; mtx_unlock(&msi_lock); return (0); @@ -498,15 +533,23 @@ /* Allocate an IDT vector. */ cpu = intr_next_cpu(); vector = apic_alloc_vector(cpu, i); + if (vector == 0) { + mtx_unlock(&msi_lock); + return (ENOSPC); + } if (bootverbose) printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n", msi->msi_irq, cpu, vector); - + /* Setup source. */ msi->msi_cpu = cpu; msi->msi_dev = dev; + msi->msi_first = msi; msi->msi_vector = vector; msi->msi_msix = 1; + msi->msi_count = 1; + msi->msi_maxcount = 1; + msi->msi_irqs = NULL; KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers")); mtx_unlock(&msi_lock); @@ -536,10 +579,13 @@ KASSERT(msi->msi_dev != NULL, ("unowned message")); /* Clear out the message. */ + msi->msi_first = NULL; msi->msi_dev = NULL; apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq); msi->msi_vector = 0; msi->msi_msix = 0; + msi->msi_count = 0; + msi->msi_maxcount = 0; mtx_unlock(&msi_lock); return (0); ==== //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.91 2009/04/01 13:09:26 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.93 2009/06/27 15:03:50 rwatson Exp $"); #include #include @@ -87,7 +87,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); if (uap_space == UIO_USERSPACE) { error = copyin(uap->parms, &la, sizeof(struct i386_ldt_args)); if (error != 0) @@ -170,7 +170,7 @@ * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); switch (uap->op) { case I386_GET_IOPERM: case I386_SET_IOPERM: ==== //depot/projects/smpng/sys/amd64/include/intr_machdep.h#21 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.23 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.24 2009/07/01 17:20:07 jhb Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ @@ -93,7 +93,7 @@ void (*pic_resume)(struct pic *); int (*pic_config_intr)(struct intsrc *, enum intr_trigger, enum intr_polarity); - void (*pic_assign_cpu)(struct intsrc *, u_int apic_id); + int (*pic_assign_cpu)(struct intsrc *, u_int apic_id); STAILQ_ENTRY(pic) pics; }; ==== //depot/projects/smpng/sys/amd64/isa/atpic.c#19 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.24 2008/03/20 21:53:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.25 2009/07/01 17:20:07 jhb Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" @@ -143,7 +143,7 @@ static int atpic_source_pending(struct intsrc *isrc); static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void i8259_init(struct atpic *pic, int slave); static struct atpic atpics[] = { @@ -357,7 +357,7 @@ return (0); } -static void +static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id) { ==== //depot/projects/smpng/sys/arm/at91/at91_machdep.c#4 (text+ko) ==== @@ -46,7 +46,7 @@ #include "opt_msgbuf.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.6 2009/07/01 20:07:44 raj Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -301,6 +301,11 @@ /* Map the vector page. */ pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + + /* Map the DPCPU pages */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); ==== //depot/projects/smpng/sys/arm/at91/if_ate.c#23 (text) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.38 2009/06/11 17:05:13 avg Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.39 2009/06/26 11:45:06 rwatson Exp $"); #include #include @@ -413,7 +413,7 @@ */ mcaf[0] = 0; mcaf[1] = 0; - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -421,14 +421,14 @@ ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; af[index >> 3] |= 1 << (index & 7); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); /* * Write the hash to the hash register. This card can also * accept unicast packets as well as multicast packets using this * register for easier bridging operations, but we don't take * advantage of that. Locks here are to avoid LOR with the - * IF_ADDR_LOCK, but might not be strictly necessary. + * if_maddr_rlock, but might not be strictly necessary. */ WR4(sc, ETH_HSL, mcaf[0]); WR4(sc, ETH_HSH, mcaf[1]); ==== //depot/projects/smpng/sys/arm/mv/mv_machdep.c#6 (text+ko) ==== @@ -39,7 +39,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.6 2009/07/01 20:07:44 raj Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -528,9 +528,9 @@ L2_TABLE_SIZE_REAL * l2size, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - /* Map allocated stacks and msgbuf */ - pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, - freemempos - irqstack.pv_va, + /* Map allocated DPCPU, stacks and msgbuf */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, + freemempos - dpcpu.pv_va, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Link and map the vector page */ ==== //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#21 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.29 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.30 2009/07/01 20:07:44 raj Exp $"); #include "opt_md.h" @@ -313,6 +313,9 @@ pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE, ((uint32_t)lastaddr - KERNBASE), VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); + /* Map the DPCPU pages */ + pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE, + VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); /* Map the stack pages */ pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); ==== //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#15 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.19 2009/06/17 02:53:05 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.20 2009/06/26 11:45:06 rwatson Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -435,7 +435,7 @@ memset(clr, 0, ETHER_ADDR_LEN); memset(set, 0xff, ETHER_ADDR_LEN); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -445,7 +445,7 @@ set[i] &= mac[i]; } } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); for (i = 0; i < ETHER_ADDR_LEN; i++) { mask[i] = set[i] | ~clr[i]; ==== //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#23 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.61 2009/06/08 15:07:35 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.62 2009/06/26 09:32:31 rpaulo Exp $"); /* * BIOS disk device handling. @@ -880,7 +880,7 @@ for (i = 0; i < NDOSPART; i++) { if (dp[i].dp_typ == 0xee) part++; - else if (dp[i].dp_typ != 0x00) + else if ((part != 1) && (dp[i].dp_typ != 0x00)) return (EINVAL); } if (part != 1) ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#61 (text+ko) ==== @@ -25,7 +25,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From jhb at FreeBSD.org Thu Jul 2 18:37:58 2009 From: jhb at FreeBSD.org (John Baldwin) Date: Thu Jul 2 18:38:04 2009 Subject: PERFORCE change 165553 for review Message-ID: <200907021837.n62IbuNL035666@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165553 Change 165553 by jhb@jhb_jhbbsd on 2009/07/02 18:37:00 IFC @165551 Affected files ... .. //depot/projects/smpng/sys/amd64/conf/GENERIC#81 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#112 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#67 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#85 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#61 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#97 integrate .. //depot/projects/smpng/sys/sun4v/conf/GENERIC#18 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#81 (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.529 2009/06/14 18:01:35 ed Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.530 2009/07/02 18:24:37 ed Exp $ cpu HAMMER ident GENERIC @@ -65,6 +65,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev ==== //depot/projects/smpng/sys/i386/conf/GENERIC#112 (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/i386/conf/GENERIC,v 1.517 2009/06/14 18:01:35 ed Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.518 2009/07/02 18:24:37 ed Exp $ cpu I486_CPU cpu I586_CPU @@ -66,6 +66,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev ==== //depot/projects/smpng/sys/ia64/conf/GENERIC#67 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/ia64/conf/GENERIC,v 1.104 2009/06/02 18:31:08 rwatson Exp $ +# $FreeBSD: src/sys/ia64/conf/GENERIC,v 1.105 2009/07/02 18:24:37 ed Exp $ cpu ITANIUM ident GENERIC @@ -58,6 +58,7 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options SYSVSHM # SYSV-style shared memory +options P1003_1B_SEMAPHORES # POSIX-style semaphores options UFS_ACL # Support for access control lists options UFS_DIRHASH # Hash-based directory lookup scheme options UFS_GJOURNAL # Enable gjournal-based UFS journaling ==== //depot/projects/smpng/sys/pc98/conf/GENERIC#85 (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/pc98/conf/GENERIC,v 1.320 2009/06/02 18:31:08 rwatson Exp $ +# $FreeBSD: src/sys/pc98/conf/GENERIC,v 1.321 2009/07/02 18:24:37 ed Exp $ cpu I486_CPU cpu I586_CPU @@ -69,6 +69,7 @@ #options SYSVSHM # SYSV-style shared memory #options SYSVMSG # SYSV-style message queues #options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) ==== //depot/projects/smpng/sys/powerpc/conf/GENERIC#61 (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/powerpc/conf/GENERIC,v 1.93 2009/06/23 04:28:32 nwhitehorn Exp $ +# $FreeBSD: src/sys/powerpc/conf/GENERIC,v 1.94 2009/07/02 18:24:37 ed Exp $ cpu AIM ident GENERIC @@ -61,6 +61,7 @@ options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing ==== //depot/projects/smpng/sys/sparc64/conf/GENERIC#97 (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/sparc64/conf/GENERIC,v 1.156 2009/06/24 20:49:02 marius Exp $ +# $FreeBSD: src/sys/sparc64/conf/GENERIC,v 1.157 2009/07/02 18:24:37 ed Exp $ cpu SUN4U ident GENERIC @@ -66,6 +66,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing ==== //depot/projects/smpng/sys/sun4v/conf/GENERIC#18 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/sun4v/conf/GENERIC,v 1.29 2009/06/25 19:26:23 ed Exp $ +# $FreeBSD: src/sys/sun4v/conf/GENERIC,v 1.30 2009/07/02 18:24:37 ed Exp $ cpu SUN4V ident GENERIC @@ -58,6 +58,7 @@ options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores +options P1003_1B_SEMAPHORES # POSIX-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. From mav at FreeBSD.org Thu Jul 2 18:40:00 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Jul 2 18:40:07 2009 Subject: PERFORCE change 165554 for review Message-ID: <200907021839.n62Idxxs035784@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165554 Change 165554 by mav@mav_mavbook on 2009/07/02 18:39:03 Comment out error interrupts logging, as driver seems to work fine. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#41 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#41 (text+ko) ==== @@ -878,9 +878,9 @@ ahci_phy_check_events(dev); /* Process command errors */ if (istatus & (AHCI_P_IX_IF|AHCI_P_IX_HBD|AHCI_P_IX_HBF|AHCI_P_IX_TFE)) { -device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x serr %08x\n", - __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD), - ATA_INL(ch->r_mem, AHCI_P_SERR)); +//device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x serr %08x\n", +// __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD), +// ATA_INL(ch->r_mem, AHCI_P_SERR)); ccs = (ATA_INL(ch->r_mem, AHCI_P_CMD) & AHCI_P_CMD_CCS_MASK) >> AHCI_P_CMD_CCS_SHIFT; /* Kick controller into sane state */ From syl at FreeBSD.org Thu Jul 2 18:52:14 2009 From: syl at FreeBSD.org (Sylvestre Gallon) Date: Thu Jul 2 18:52:21 2009 Subject: PERFORCE change 165555 for review Message-ID: <200907021852.n62IqCNL036703@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165555 Change 165555 by syl@syl_atuin on 2009/07/02 18:51:35 Fix some compilation error in libusb. Delete some traces in test3. Test3 now works and dump the 512 first bytes of a memory stick. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#6 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#55 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#6 (text+ko) ==== @@ -58,7 +58,6 @@ int transferred = 0; int ret= 0; - printf("do_io\n"); ret = libusb_bulk_transfer(devh, ep, buff, len, &transferred, timeout); return ret; } @@ -70,7 +69,6 @@ umass_bbb_csw_t csw; int ret = 0; - printf("do_msc\n"); bzero(&cbw, sizeof(cbw)); USETDW(cbw.dCBWSignature, CBWSIGNATURE); @@ -112,7 +110,6 @@ { static uint8_t cmd[10]; - printf("do_read\n"); cmd[0] = 0x28; len /= 512; ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#55 (text+ko) ==== @@ -490,10 +490,12 @@ libusb_unref_device(devh->dev); TAILQ_FOREACH(eptr, &devh->ep_list, list) { TAILQ_REMOVE(&devh->ep_list, eptr, list); - libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[0]); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[0]); if (eptr->flags) - libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[1]); - free((libusb20_transfer *)eptr->os_priv); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[1]); + free((struct libusb20_transfer **)eptr->os_priv); } free(devh); @@ -514,10 +516,12 @@ libusb_unref_device(devh->dev); TAILQ_FOREACH(eptr, &devh->ep_list, list) { TAILQ_REMOVE(&devh->ep_list, eptr, list); - libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[0]); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[0]); if (eptr->flags) - libusb20_tr_close(((libusb20_transfer *)eptr->os_priv)[1]); - free((libusb20_transfer *)eptr->os_priv); + libusb20_tr_close(((struct libusb20_transfer **) + eptr->os_priv)[1]); + free((struct libusb20_transfer **)eptr->os_priv); } free(devh); @@ -1088,7 +1092,7 @@ out: pthread_mutex_unlock(&ctx->flying_transfers_lock); - ep_idx = (xfer->endpoints / 0x40) | (xfer->endpoints *4) % (16 * 4); + ep_idx = (xfer->endpoint / 0x40) | (xfer->endpoint * 4) % (16 * 4); usb20_xfer[0] = libusb20_tr_get_pointer(pdev, ep_idx); usb20_xfer[1] = libusb20_tr_get_pointer(pdev, ep_idx + 1); @@ -1108,11 +1112,11 @@ ret++; } if (ret == 0) { - eptr = malloc(sizeof(usb_ep_tr)); - eptr.addr = xfer->endpoint; - eptr.idx = ep_idx; - eptr.os_priv = usb20_xfer; - eptr.flags = (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS)?1:0; + eptr = malloc(sizeof(struct usb_ep_tr)); + eptr->addr = xfer->endpoint; + eptr->idx = ep_idx; + eptr->os_priv = usb20_xfer; + eptr->flags = (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS)?1:0; TAILQ_INSERT_HEAD(&devh->ep_list, eptr, list); ret = libusb20_tr_open(usb20_xfer[0], buffsize, maxframe, xfer->endpoint); From nikron at FreeBSD.org Fri Jul 3 03:44:04 2009 From: nikron at FreeBSD.org (Nikhil Bysani) Date: Fri Jul 3 03:44:11 2009 Subject: PERFORCE change 165561 for review Message-ID: <200907030344.n633i2W1004395@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165561 Change 165561 by nikron@nmfreebsd on 2009/07/03 03:43:32 Updated from upstream and replay of my ethernet patches on top of it. Affected files ... .. //depot/projects/soc2009/nm-port/NetworkManager/libnm-util/nm-setting-pppoe.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/dbus-settings.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/dbus-settings.h#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/main.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/nm-polkit-helpers.c#4 edit .. //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/nm-polkit-helpers.h#4 edit Differences ... ==== //depot/projects/soc2009/nm-port/NetworkManager/libnm-util/nm-setting-pppoe.c#4 (text+ko) ==== @@ -149,10 +149,10 @@ } if (!g_slist_find_custom (all_settings, NM_SETTING_PPP_SETTING_NAME, find_setting_by_name)) { - g_set_error (error, - NM_SETTING_PPPOE_ERROR, - NM_SETTING_PPPOE_ERROR_MISSING_PPP_SETTING, - NULL); + g_set_error(error, + NM_SETTING_PPPOE_ERROR, + NM_SETTING_PPPOE_ERROR_MISSING_PPP_SETTING, + "Could not find custom."); return FALSE; } ==== //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/dbus-settings.c#4 (text+ko) ==== @@ -1,671 +1,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager system settings service - * - * Søren Sandmann - * Dan Williams - * Tambet Ingo - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * (C) Copyright 2007 - 2008 Red Hat, Inc. - * (C) Copyright 2008 Novell, Inc. - */ - -#include -#include - -#include -#include -#include -#include - -#include "nm-dbus-glib-types.h" -#include "dbus-settings.h" -#include "nm-polkit-helpers.h" -#include "nm-system-config-error.h" -#include "nm-utils.h" - -static gboolean -impl_settings_add_connection (NMSysconfigSettings *self, GHashTable *hash, DBusGMethodInvocation *context); - -static gboolean -impl_settings_save_hostname (NMSysconfigSettings *self, const char *hostname, DBusGMethodInvocation *context); - -#include "nm-settings-system-glue.h" - -static void unmanaged_devices_changed (NMSystemConfigInterface *config, gpointer user_data); - -typedef struct { - DBusGConnection *g_connection; - PolKitContext *pol_ctx; - NMSystemConfigHalManager *hal_mgr; - - GSList *plugins; - gboolean connections_loaded; - GHashTable *connections; - GHashTable *unmanaged_devices; - char *orig_hostname; -} NMSysconfigSettingsPrivate; - -G_DEFINE_TYPE (NMSysconfigSettings, nm_sysconfig_settings, NM_TYPE_SETTINGS); - -#define NM_SYSCONFIG_SETTINGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SYSCONFIG_SETTINGS, NMSysconfigSettingsPrivate)) - -enum { - PROPERTIES_CHANGED, - - LAST_SIGNAL -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -enum { - PROP_0, - PROP_UNMANAGED_DEVICES, - PROP_HOSTNAME, - PROP_CAN_MODIFY, - - LAST_PROP -}; - -static void -load_connections (NMSysconfigSettings *self) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *iter; - - if (priv->connections_loaded) - return; - - for (iter = priv->plugins; iter; iter = g_slist_next (iter)) { - NMSystemConfigInterface *plugin = NM_SYSTEM_CONFIG_INTERFACE (iter->data); - GSList *plugin_connections; - GSList *elt; - - plugin_connections = nm_system_config_interface_get_connections (plugin); - - // FIXME: ensure connections from plugins loaded with a lower priority - // get rejected when they conflict with connections from a higher - // priority plugin. - - for (elt = plugin_connections; elt; elt = g_slist_next (elt)) - nm_sysconfig_settings_add_connection (self, NM_EXPORTED_CONNECTION (elt->data), TRUE); - - g_slist_free (plugin_connections); - } - - priv->connections_loaded = TRUE; - - /* FIXME: Bad hack */ - unmanaged_devices_changed (NULL, self); -} - -static void -hash_keys_to_slist (gpointer key, gpointer val, gpointer user_data) -{ - GSList **list = (GSList **) user_data; - - *list = g_slist_prepend (*list, key); -} - -static GSList * -list_connections (NMSettings *settings) -{ - NMSysconfigSettings *self = NM_SYSCONFIG_SETTINGS (settings); - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *list = NULL; - - load_connections (self); - - g_hash_table_foreach (priv->connections, hash_keys_to_slist, &list); - - return list; -} - -static void -settings_finalize (GObject *object) -{ - NMSysconfigSettings *self = NM_SYSCONFIG_SETTINGS (object); - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - g_hash_table_destroy (priv->connections); - g_hash_table_destroy (priv->unmanaged_devices); - - g_slist_foreach (priv->plugins, (GFunc) g_object_unref, NULL); - g_slist_free (priv->plugins); - - if (priv->pol_ctx) - polkit_context_unref (priv->pol_ctx); - - g_object_unref (priv->hal_mgr); - dbus_g_connection_unref (priv->g_connection); - - g_free (priv->orig_hostname); - - G_OBJECT_CLASS (nm_sysconfig_settings_parent_class)->finalize (object); -} - -static void -add_one_unmanaged_device (gpointer key, gpointer data, gpointer user_data) -{ - GPtrArray *devices = (GPtrArray *) user_data; - - g_ptr_array_add (devices, g_strdup (key)); -} - -static char* -uscore_to_wincaps (const char *uscore) -{ - const char *p; - GString *str; - gboolean last_was_uscore; - - last_was_uscore = TRUE; - - str = g_string_new (NULL); - p = uscore; - while (p && *p) { - if (*p == '-' || *p == '_') - last_was_uscore = TRUE; - else { - if (last_was_uscore) { - g_string_append_c (str, g_ascii_toupper (*p)); - last_was_uscore = FALSE; - } else - g_string_append_c (str, *p); - } - ++p; - } - - return g_string_free (str, FALSE); -} - -static void -notify (GObject *object, GParamSpec *pspec) -{ - GValue *value; - GHashTable *hash; - - value = g_slice_new0 (GValue); - hash = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, NULL); - - g_value_init (value, pspec->value_type); - g_object_get_property (object, pspec->name, value); - g_hash_table_insert (hash, uscore_to_wincaps (pspec->name), value); - g_signal_emit (object, signals[PROPERTIES_CHANGED], 0, hash); - g_hash_table_destroy (hash); - g_value_unset (value); - g_slice_free (GValue, value); -} - -static GPtrArray * -get_unmanaged_devices (NMSysconfigSettings *self) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GPtrArray *devices; - - load_connections (self); - - devices = g_ptr_array_sized_new (3); - g_hash_table_foreach (priv->unmanaged_devices, (GHFunc) add_one_unmanaged_device, devices); - return devices; -} - -NMSystemConfigInterface * -nm_sysconfig_settings_get_plugin (NMSysconfigSettings *self, - guint32 capability) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *iter; - - g_return_val_if_fail (self != NULL, NULL); - - /* Do any of the plugins support setting the hostname? */ - for (iter = priv->plugins; iter; iter = iter->next) { - NMSystemConfigInterfaceCapabilities caps = NM_SYSTEM_CONFIG_INTERFACE_CAP_NONE; - - g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES, &caps, NULL); - if (caps & capability) - return NM_SYSTEM_CONFIG_INTERFACE (iter->data); - } - - return NULL; -} - -static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) -{ - NMSysconfigSettings *self = NM_SYSCONFIG_SETTINGS (object); - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *iter; - - - switch (prop_id) { - case PROP_UNMANAGED_DEVICES: - g_value_take_boxed (value, get_unmanaged_devices (self)); - break; - case PROP_HOSTNAME: - /* Hostname returned is the hostname returned from the first plugin - * that provides one. - */ - for (iter = priv->plugins; iter; iter = iter->next) { - NMSystemConfigInterfaceCapabilities caps = NM_SYSTEM_CONFIG_INTERFACE_CAP_NONE; - - g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES, &caps, NULL); - if (caps & NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME) { - char *hostname = NULL; - - g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_HOSTNAME, &hostname, NULL); - if (hostname && strlen (hostname)) { - g_value_take_string (value, hostname); - break; - } - } - } - - /* If no plugin provided a hostname, try the original hostname of the machine */ - if (!g_value_get_string (value) && priv->orig_hostname) - g_value_set_string (value, priv->orig_hostname); - - /* Don't ever pass NULL through D-Bus */ - if (!g_value_get_string (value)) - g_value_set_static_string (value, ""); - break; - case PROP_CAN_MODIFY: - g_value_set_boolean (value, !!nm_sysconfig_settings_get_plugin (self, NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_CONNECTIONS)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -nm_sysconfig_settings_class_init (NMSysconfigSettingsClass *class) -{ - GObjectClass *object_class = G_OBJECT_CLASS (class); - NMSettingsClass *settings_class = NM_SETTINGS_CLASS (class); - - g_type_class_add_private (class, sizeof (NMSysconfigSettingsPrivate)); - - /* virtual methods */ - object_class->notify = notify; - object_class->get_property = get_property; - object_class->finalize = settings_finalize; - settings_class->list_connections = list_connections; - - /* properties */ - g_object_class_install_property - (object_class, PROP_UNMANAGED_DEVICES, - g_param_spec_boxed (NM_SYSCONFIG_SETTINGS_UNMANAGED_DEVICES, - "Unamanged devices", - "Unmanaged devices", - DBUS_TYPE_G_ARRAY_OF_OBJECT_PATH, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_HOSTNAME, - g_param_spec_string (NM_SYSCONFIG_SETTINGS_HOSTNAME, - "Hostname", - "Hostname", - NULL, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_CAN_MODIFY, - g_param_spec_boolean (NM_SYSCONFIG_SETTINGS_CAN_MODIFY, - "CanModify", - "Can modify", - FALSE, - G_PARAM_READABLE)); - - /* signals */ - signals[PROPERTIES_CHANGED] = - g_signal_new ("properties-changed", - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (NMSysconfigSettingsClass, properties_changed), - NULL, NULL, - g_cclosure_marshal_VOID__BOXED, - G_TYPE_NONE, 1, DBUS_TYPE_G_MAP_OF_VARIANT); - - dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (settings_class), - &dbus_glib_nm_settings_system_object_info); - - dbus_g_error_domain_register (NM_SYSCONFIG_SETTINGS_ERROR, - NM_DBUS_IFACE_SETTINGS_SYSTEM, - NM_TYPE_SYSCONFIG_SETTINGS_ERROR); -} - -static void -nm_sysconfig_settings_init (NMSysconfigSettings *self) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - char hostname[HOST_NAME_MAX + 2]; - GError *error = NULL; - - priv->connections = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, NULL); - priv->unmanaged_devices = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); - - priv->pol_ctx = create_polkit_context (&error); - if (!priv->pol_ctx) { - g_warning ("%s: failed to create PolicyKit context: %s", - __func__, - (error && error->message) ? error->message : "(unknown)"); - } - - /* Grab hostname on startup and use that if no plugins provide one */ - memset (hostname, 0, sizeof (hostname)); - if (gethostname (&hostname[0], HOST_NAME_MAX) == 0) { - /* only cache it if it's a valid hostname */ - if (strlen (hostname) && strcmp (hostname, "localhost") && strcmp (hostname, "localhost.localdomain")) - priv->orig_hostname = g_strdup (hostname); - } -} - -NMSysconfigSettings * -nm_sysconfig_settings_new (DBusGConnection *g_conn, NMSystemConfigHalManager *hal_mgr) -{ - NMSysconfigSettings *settings; - NMSysconfigSettingsPrivate *priv; - - g_return_val_if_fail (g_conn != NULL, NULL); - g_return_val_if_fail (hal_mgr != NULL, NULL); - - settings = g_object_new (NM_TYPE_SYSCONFIG_SETTINGS, NULL); - dbus_g_connection_register_g_object (g_conn, NM_DBUS_PATH_SETTINGS, G_OBJECT (settings)); - - priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (settings); - priv->g_connection = dbus_g_connection_ref (g_conn); - priv->hal_mgr = g_object_ref (hal_mgr); - - return settings; -} - -static void -plugin_connection_added (NMSystemConfigInterface *config, - NMExportedConnection *connection, - gpointer user_data) -{ - nm_sysconfig_settings_add_connection (NM_SYSCONFIG_SETTINGS (user_data), connection, TRUE); -} - -static void -unmanaged_devices_changed (NMSystemConfigInterface *config, - gpointer user_data) -{ - NMSysconfigSettings *self = NM_SYSCONFIG_SETTINGS (user_data); - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GSList *iter; - - g_hash_table_remove_all (priv->unmanaged_devices); - - /* Ask all the plugins for their unmanaged devices */ - for (iter = priv->plugins; iter; iter = g_slist_next (iter)) { - GSList *udis = nm_system_config_interface_get_unmanaged_devices (NM_SYSTEM_CONFIG_INTERFACE (iter->data)); - GSList *udi_iter; - - for (udi_iter = udis; udi_iter; udi_iter = udi_iter->next) { - if (!g_hash_table_lookup (priv->unmanaged_devices, udi_iter->data)) { - g_hash_table_insert (priv->unmanaged_devices, - udi_iter->data, - GUINT_TO_POINTER (1)); - } else - g_free (udi_iter->data); - } - - g_slist_free (udis); - } - - g_object_notify (G_OBJECT (self), NM_SYSCONFIG_SETTINGS_UNMANAGED_DEVICES); -} - -static void -hostname_changed (NMSystemConfigInterface *config, - GParamSpec *pspec, - gpointer user_data) -{ - g_object_notify (G_OBJECT (user_data), NM_SYSCONFIG_SETTINGS_HOSTNAME); -} - -void -nm_sysconfig_settings_add_plugin (NMSysconfigSettings *self, - NMSystemConfigInterface *plugin) -{ - NMSysconfigSettingsPrivate *priv; - char *pname = NULL; - char *pinfo = NULL; - - g_return_if_fail (NM_IS_SYSCONFIG_SETTINGS (self)); - g_return_if_fail (NM_IS_SYSTEM_CONFIG_INTERFACE (plugin)); - - priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - priv->plugins = g_slist_append (priv->plugins, g_object_ref (plugin)); - - g_signal_connect (plugin, "connection-added", G_CALLBACK (plugin_connection_added), self); - g_signal_connect (plugin, "unmanaged-devices-changed", G_CALLBACK (unmanaged_devices_changed), self); - g_signal_connect (plugin, "notify::hostname", G_CALLBACK (hostname_changed), self); - - nm_system_config_interface_init (plugin, priv->hal_mgr); - - g_object_get (G_OBJECT (plugin), - NM_SYSTEM_CONFIG_INTERFACE_NAME, &pname, - NM_SYSTEM_CONFIG_INTERFACE_INFO, &pinfo, - NULL); - - g_message ("Loaded plugin %s: %s", pname, pinfo); - g_free (pname); - g_free (pinfo); -} - -static void -connection_removed (NMExportedConnection *connection, - gpointer user_data) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (user_data); - - g_hash_table_remove (priv->connections, connection); -} - -void -nm_sysconfig_settings_add_connection (NMSysconfigSettings *self, - NMExportedConnection *connection, - gboolean do_export) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - g_return_if_fail (NM_IS_SYSCONFIG_SETTINGS (self)); - g_return_if_fail (NM_IS_EXPORTED_CONNECTION (connection)); - - if (g_hash_table_lookup (priv->connections, connection)) - /* A plugin is lying to us. */ - return; - - g_hash_table_insert (priv->connections, g_object_ref (connection), GINT_TO_POINTER (1)); - g_signal_connect (connection, "removed", G_CALLBACK (connection_removed), self); - - if (do_export) { - nm_exported_connection_register_object (connection, NM_CONNECTION_SCOPE_SYSTEM, priv->g_connection); - nm_settings_signal_new_connection (NM_SETTINGS (self), connection); - } -} - -void -nm_sysconfig_settings_remove_connection (NMSysconfigSettings *self, - NMExportedConnection *connection, - gboolean do_signal) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - g_return_if_fail (NM_IS_SYSCONFIG_SETTINGS (self)); - g_return_if_fail (NM_IS_EXPORTED_CONNECTION (connection)); - - if (g_hash_table_lookup (priv->connections, connection)) { - nm_exported_connection_signal_removed (connection); - g_hash_table_remove (priv->connections, connection); - } -} - -gboolean -nm_sysconfig_settings_is_device_managed (NMSysconfigSettings *self, - const char *udi) -{ - NMSysconfigSettingsPrivate *priv; - - g_return_val_if_fail (NM_IS_SYSCONFIG_SETTINGS (self), FALSE); - - priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - - load_connections (self); - - if (g_hash_table_lookup (priv->unmanaged_devices, udi)) - return FALSE; - return TRUE; -} - -gboolean -nm_sysconfig_settings_add_new_connection (NMSysconfigSettings *self, - GHashTable *hash, - GError **error) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - NMConnection *connection; - GError *tmp_error = NULL, *last_error = NULL; - GSList *iter; - gboolean success = FALSE; - - connection = nm_connection_new_from_hash (hash, &tmp_error); - if (!connection) { - /* Invalid connection hash */ - g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION, - "Invalid connection: '%s' / '%s' invalid: %d", - tmp_error ? g_type_name (nm_connection_lookup_setting_type_by_quark (tmp_error->domain)) : "(unknown)", - tmp_error ? tmp_error->message : "(unknown)", tmp_error ? tmp_error->code : -1); - g_clear_error (&tmp_error); - return FALSE; - } - - /* Here's how it works: - 1) plugin writes a connection. - 2) plugin notices that a new connection is available for reading. - 3) plugin reads the new connection (the one it wrote in 1) and emits 'connection-added' signal. - 4) NMSysconfigSettings receives the signal and adds it to it's connection list. - */ - - for (iter = priv->plugins; iter && !success; iter = iter->next) { - success = nm_system_config_interface_add_connection (NM_SYSTEM_CONFIG_INTERFACE (iter->data), - connection, &tmp_error); - g_clear_error (&last_error); - if (!success) - last_error = tmp_error; - } - - g_object_unref (connection); - - if (!success) { - g_set_error (error, NM_SYSCONFIG_SETTINGS_ERROR, - NM_SYSCONFIG_SETTINGS_ERROR_ADD_FAILED, - "Saving connection failed: (%d) %s", - last_error ? last_error->code : -1, - last_error && last_error->message ? last_error->message : "(unknown)"); - g_clear_error (&last_error); - } - - return success; -} - -static gboolean -impl_settings_add_connection (NMSysconfigSettings *self, - GHashTable *hash, - DBusGMethodInvocation *context) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GError *err = NULL; - - /* Do any of the plugins support adding? */ - if (!nm_sysconfig_settings_get_plugin (self, NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_CONNECTIONS)) { - err = g_error_new (NM_SYSCONFIG_SETTINGS_ERROR, - NM_SYSCONFIG_SETTINGS_ERROR_ADD_NOT_SUPPORTED, - "%s", "None of the registered plugins support add."); - goto out; - } - - if (!check_polkit_privileges (priv->g_connection, priv->pol_ctx, context, &err)) - goto out; - - nm_sysconfig_settings_add_new_connection (self, hash, &err); - - out: - if (err) { - dbus_g_method_return_error (context, err); - g_error_free (err); - return FALSE; - } else { - dbus_g_method_return (context); - return TRUE; - } -} - -static gboolean -impl_settings_save_hostname (NMSysconfigSettings *self, - const char *hostname, - DBusGMethodInvocation *context) -{ - NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self); - GError *err = NULL; - GSList *iter; - gboolean success = FALSE; - - /* Do any of the plugins support setting the hostname? */ - if (!nm_sysconfig_settings_get_plugin (self, NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME)) { - err = g_error_new (NM_SYSCONFIG_SETTINGS_ERROR, - NM_SYSCONFIG_SETTINGS_ERROR_SAVE_HOSTNAME_NOT_SUPPORTED, - "%s", "None of the registered plugins support setting the hostname."); - goto out; - } - - if (!check_polkit_privileges (priv->g_connection, priv->pol_ctx, context, &err)) - goto out; - - /* Set the hostname in all plugins */ - for (iter = priv->plugins; iter; iter = iter->next) { - NMSystemConfigInterfaceCapabilities caps = NM_SYSTEM_CONFIG_INTERFACE_CAP_NONE; - - g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES, &caps, NULL); - if (caps & NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME) { - g_object_set (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_HOSTNAME, hostname, NULL); - success = TRUE; - } - } - - if (!success) { - err = g_error_new (NM_SYSCONFIG_SETTINGS_ERROR, - NM_SYSCONFIG_SETTINGS_ERROR_SAVE_HOSTNAME_FAILED, - "%s", "Saving the hostname failed."); - } - - out: - if (err) { - dbus_g_method_return_error (context, err); - g_error_free (err); - return FALSE; - } else { - dbus_g_method_return (context); - return TRUE; - } -} - ==== //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/dbus-settings.h#4 (text+ko) ==== @@ -1,95 +1,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager system settings service - * - * Søren Sandmann - * Dan Williams - * Tambet Ingo - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * (C) Copyright 2007 - 2008 Red Hat, Inc. - * (C) Copyright 2008 Novell, Inc. - */ - -#ifndef __DBUS_SETTINGS_H__ -#define __DBUS_SETTINGS_H__ - -#include -#include - -#include "nm-system-config-interface.h" -#include "nm-system-config-hal-manager.h" - -typedef struct _NMSysconfigSettings NMSysconfigSettings; -typedef struct _NMSysconfigSettingsClass NMSysconfigSettingsClass; - -#define NM_TYPE_SYSCONFIG_SETTINGS (nm_sysconfig_settings_get_type ()) -#define NM_SYSCONFIG_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SYSCONFIG_SETTINGS, NMSysconfigSettings)) -#define NM_SYSCONFIG_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SYSCONFIG_SETTINGS, NMSysconfigSettingsClass)) -#define NM_IS_SYSCONFIG_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SYSCONFIG_SETTINGS)) -#define NM_IS_SYSCONFIG_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SYSCONFIG_SETTINGS)) -#define NM_SYSCONFIG_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SYSCONFIG_SETTINGS, NMSysconfigSettingsClass)) - -#define NM_SYSCONFIG_SETTINGS_UNMANAGED_DEVICES "unmanaged-devices" -#define NM_SYSCONFIG_SETTINGS_HOSTNAME "hostname" -#define NM_SYSCONFIG_SETTINGS_CAN_MODIFY "can-modify" - -struct _NMSysconfigSettings -{ - NMSettings parent_instance; -}; - -struct _NMSysconfigSettingsClass -{ - NMSettingsClass parent_class; - - /* Signals */ - void (*properties_changed) (NMSysconfigSettings *settings, GHashTable *properties); -}; - -GType nm_sysconfig_settings_get_type (void); - -NMSysconfigSettings *nm_sysconfig_settings_new (DBusGConnection *g_conn, - NMSystemConfigHalManager *hal_mgr); - -void nm_sysconfig_settings_add_plugin (NMSysconfigSettings *settings, - NMSystemConfigInterface *plugin); - -/* Registers an exising connection with the settings service */ -void nm_sysconfig_settings_add_connection (NMSysconfigSettings *settings, - NMExportedConnection *connection, - gboolean do_export); - -void nm_sysconfig_settings_remove_connection (NMSysconfigSettings *settings, - NMExportedConnection *connection, - gboolean do_signal); - -void nm_sysconfig_settings_update_unamanged_devices (NMSysconfigSettings *settings, - GSList *new_list); - -gboolean nm_sysconfig_settings_is_device_managed (NMSysconfigSettings *settings, - const char *udi); - -NMSystemConfigInterface *nm_sysconfig_settings_get_plugin (NMSysconfigSettings *self, - guint32 capability); - -/* Adds a new connection from a hash of that connection's settings, - * potentially saving the new connection to persistent storage. - */ -gboolean nm_sysconfig_settings_add_new_connection (NMSysconfigSettings *self, - GHashTable *hash, - GError **error); - -#endif /* __DBUS_SETTINGS_H__ */ ==== //depot/projects/soc2009/nm-port/NetworkManager/system-settings/src/main.c#4 (text+ko) ==== @@ -1,900 +1,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager system settings service - * - * Søren Sandmann - * Dan Williams - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * (C) Copyright 2007 - 2008 Red Hat, Inc. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include "nm-glib-compat.h" - -#include "dbus-settings.h" -#include "nm-system-config-hal-manager.h" -#include "nm-system-config-interface.h" -#include "nm-default-wired-connection.h" - -#define CONFIG_KEY_NO_AUTO_DEFAULT "no-auto-default" - -static GMainLoop *loop = NULL; -static gboolean debug = FALSE; - -typedef struct { - DBusConnection *connection; - DBusGConnection *g_connection; - - DBusGProxy *bus_proxy; - NMSystemConfigHalManager *hal_mgr; - - NMSysconfigSettings *settings; - - GHashTable *wired_devices; - - const char *config; -} Application; - - -NMSystemConfigHalManager *nm_system_config_hal_manager_get (DBusGConnection *g_connection); -void nm_system_config_hal_manager_shutdown (NMSystemConfigHalManager *self); - -static gboolean dbus_init (Application *app); -static gboolean start_dbus_service (Application *app); -static void destroy_cb (DBusGProxy *proxy, gpointer user_data); -static void device_added_cb (DBusGProxy *proxy, const char *udi, NMDeviceType devtype, gpointer user_data); - - -static GQuark -plugins_error_quark (void) -{ - static GQuark error_quark = 0; - - if (G_UNLIKELY (error_quark == 0)) - error_quark = g_quark_from_static_string ("plugins-error-quark"); - - return error_quark; -} - -static GObject * -find_plugin (GSList *list, const char *pname) -{ - GSList *iter; - GObject *obj = NULL; - - g_return_val_if_fail (pname != NULL, FALSE); - - for (iter = list; iter && !obj; iter = g_slist_next (iter)) { - NMSystemConfigInterface *plugin = NM_SYSTEM_CONFIG_INTERFACE (iter->data); - char *list_pname = NULL; - - g_object_get (G_OBJECT (plugin), - NM_SYSTEM_CONFIG_INTERFACE_NAME, - &list_pname, - NULL); - if (list_pname && !strcmp (pname, list_pname)) - obj = G_OBJECT (plugin); - - g_free (list_pname); - } - - return obj; -} - -static gboolean -load_plugins (Application *app, const char *plugins, GError **error) -{ - GSList *list = NULL; - char **plist; - char **iter; - - plist = g_strsplit (plugins, ",", 0); - if (!plist) - return FALSE; - - for (iter = plist; *iter; iter++) { - GModule *plugin; - char *full_name, *path; - const char *pname = *iter; - GObject *obj; - GObject * (*factory_func) (void); - - /* ifcfg-fedora was renamed ifcfg-rh; handle old configs here */ - if (!strcmp (pname, "ifcfg-fedora")) - pname = "ifcfg-rh"; - - obj = find_plugin (list, pname); - if (obj) - continue; - - full_name = g_strdup_printf ("nm-settings-plugin-%s", pname); - path = g_module_build_path (PLUGINDIR, full_name); - - plugin = g_module_open (path, G_MODULE_BIND_LOCAL); - if (!plugin) { - g_set_error (error, plugins_error_quark (), 0, - "Could not load plugin '%s': %s", - pname, g_module_error ()); - g_free (full_name); - g_free (path); - break; - } - - g_free (full_name); - g_free (path); - - if (!g_module_symbol (plugin, "nm_system_config_factory", (gpointer) (&factory_func))) { - g_set_error (error, plugins_error_quark (), 0, - "Could not find plugin '%s' factory function.", - pname); - break; - } - - obj = (*factory_func) (); - if (!obj || !NM_IS_SYSTEM_CONFIG_INTERFACE (obj)) { - g_set_error (error, plugins_error_quark (), 0, - "Plugin '%s' returned invalid system config object.", - pname); - break; - } - - g_module_make_resident (plugin); - g_object_weak_ref (obj, (GWeakNotify) g_module_close, plugin); - nm_sysconfig_settings_add_plugin (app->settings, NM_SYSTEM_CONFIG_INTERFACE (obj)); - list = g_slist_append (list, obj); - } - - g_strfreev (plist); - - g_slist_foreach (list, (GFunc) g_object_unref, NULL); - g_slist_free (list); - - return TRUE; -} - -static gboolean >>> TRUNCATED FOR MAIL (1000 lines) <<< From zhaoshuai at FreeBSD.org Fri Jul 3 07:47:29 2009 From: zhaoshuai at FreeBSD.org (Zhao Shuai) Date: Fri Jul 3 07:47:35 2009 Subject: PERFORCE change 165562 for review Message-ID: <200907030747.n637lRWm035696@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165562 Change 165562 by zhaoshuai@zhaoshuai on 2009/07/03 07:46:45 remove PR 74242 test Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_74242.c#2 delete Differences ... From tsel at FreeBSD.org Fri Jul 3 09:21:40 2009 From: tsel at FreeBSD.org (Tatsiana Elavaya) Date: Fri Jul 3 09:21:47 2009 Subject: PERFORCE change 165563 for review Message-ID: <200907030921.n639LcYE054373@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165563 Change 165563 by tsel@tsel_mz on 2009/07/03 09:20:46 Cleanup. Remove debugging Affected files ... .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw.8#3 edit .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#9 edit .. //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/main.c#4 edit .. //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw.h#5 edit .. //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw2.c#6 edit Differences ... ==== //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw.8#3 (text+ko) ==== @@ -440,6 +440,7 @@ .Bd -ragged -offset indent .Bk -words .Op Ar rule_number +.Op Cm alias Ar rule_alias .Op Cm set Ar set_number .Op Cm prob Ar match_probability .Ar action @@ -521,6 +522,14 @@ If this is not possible (e.g.\& because we would go beyond the maximum allowed rule number), the number of the last non-default value is used instead. +.It Cm alias Ar rule_alias +Each rule can have optional alias name. +.Ar rule_alias +can be used where +.Ar rule_number +is expected (like +.Em delete , show , skipto , zero +commands.) .It Cm set Ar set_number Each rule is associated with a .Ar set_number @@ -2580,11 +2589,6 @@ Enables the firewall. Setting this variable to 0 lets you run your machine without firewall even if compiled in. -.It Va net.inet.ip.fw.optimization_enable : No 1 -Enables the rule processing optimization. -Optimization should also be enabled for a ruleset by -.Nm ipfw optimimize -command. .It Va net.inet6.ip6.fw.enable : No 1 provides the same functionality as above for the IPv6 case. .It Va net.inet.ip.fw.one_pass : No 1 ==== //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/ipfw2.c#9 (text+ko) ==== @@ -1199,7 +1199,8 @@ PRINT_UINT_ARG("setfib ", cmd->arg1); break; - case O_ALIAS: /* O_ALIAS is printed first */ + case O_ALIAS: + /* O_ALIAS is printed first */ break; case O_REASS: @@ -1620,11 +1621,13 @@ case O_OPTIMIZE: if (co.verbose) { + ipfw_insn_u16 *optimize_cmd = (ipfw_insn_u16 *) cmd; int i, cnt = (F_LEN(cmd) - 1) * 2; + printf(" [optimize"); for (i = 0; i < cnt; i++) - if (((ipfw_insn_u16*)cmd)->ports[i]) - printf(" %d", ((ipfw_insn_u16*)cmd)->ports[i]); + if (optimize_cmd->ports[i]) + printf(" %d", optimize_cmd->ports[i]); printf("]"); } break; @@ -1848,11 +1851,11 @@ #define NEXT(r) ((struct ip_fw *)((char *)r + RULESIZE(r))) char *lim; + void *data = NULL; int bcwidth, n, nbytes, nstat, ndyn, pcwidth, width; int exitval = EX_OK; int lac; char **lav; - void *data; u_long rnum, last; char *endptr; int seen = 0; @@ -2138,7 +2141,7 @@ } if (F_LEN(a) == 1) return 1; - if (memcmp(a, b, (F_LEN(a) - 1)* 4) == 0) + if (memcmp(a, b, (F_LEN(a) - 1) * 4) == 0) return 1; return 0; } @@ -2176,7 +2179,6 @@ void insn_match_remove(struct insn_match *m) { - // printf("remove match: cmd = %d, rule = %d\n", m->cmd->opcode, m->match_rule->rule->rulenum); LIST_REMOVE(m, rule_entries); LIST_REMOVE(m, match_entries); free(m); @@ -2207,11 +2209,6 @@ max_r = rulenum; } a[i]->rank = ((a[i]->match_count & 0x7fff) << 16) - (max_r - min_r); - /* - printf("rank %d: match_count: %d, dist: %d\n", - LIST_FIRST(&a[i]->match_head)->cmd->opcode, - a[i]->match_count, max_r - min_r); - */ } return a[1]->rank - a[0]->rank; @@ -2246,9 +2243,6 @@ continue; } g->label = (group_count++) + 1; - printf("sorted: %d; opcode %d; match_count %d; rank %d\n", - g->label, LIST_FIRST(&g->match_head)->cmd->opcode, - g->match_count, g->rank); } return group_count; } @@ -2332,6 +2326,9 @@ insn_match_group_sort(&groups, insn_match_group_cmp); group_count = optimization_filter_groups(&groups); + + if (group_count == 0) + return; optimization_setup(0, 0); @@ -2361,23 +2358,13 @@ optimize_cmd->o.opcode = O_OPTIMIZE; optimize_cmd->o.arg1 = 0; - /* - printf("rule %d; before sort: ", rules[i]->rulenum); - LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { - printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); - } - printf("\n"); - */ insn_match_rule_cmd_sort(&match_rules[i].rule_head, insn_match_rule_cmd_cmp); - //printf("rule %d; after sort: ", rules[i]->rulenum); LIST_FOREACH(m, &match_rules[i].rule_head, rule_entries) { - //printf("optimize %d:%d; ", m->cmd->opcode, m->group->rank); optimize_cmd->ports[optimize_cnt] = m->group->label; if (optimize_cnt % 2 == 0) optimize_cmd->ports[optimize_cnt + 1] = 0; optimize_cnt++; } - //printf("\n"); optimize_cmd->o.len = F_INSN_SIZE(ipfw_insn) + (optimize_cnt + 1) / 2; cmd += optimize_cmd->o.len; @@ -2407,9 +2394,6 @@ rcmd += F_LEN(rcmd); } - printf("before optimization: "); - show_ipfw(rules[i], 0, 0); - l = orule->rulenum & 0xffff; if (do_cmd(IP_FW_DEL, &l, sizeof(l))) errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_DEL)", orule->rulenum); @@ -2417,12 +2401,12 @@ l = RULESIZE(orule); if (do_cmd(IP_FW_ADD, orule, (uintptr_t)&l)) errx(EX_DATAERR, "rule %u: setsockopt(IP_FW_ADD)", orule->rulenum); + if (co.verbose) show_ipfw(orule, 0, 0); } - if (group_count) - optimization_setup(1, group_count); + optimization_setup(1, group_count); } static int ==== //depot/projects/soc2009/tsel_ipfw/sbin/ipfw/main.c#4 (text+ko) ==== @@ -50,6 +50,7 @@ "set N {show|list|zero|resetlog|delete} [N{,N}] | flush\n" "table N {add ip[/bits] [value] | delete ip[/bits] | flush | list}\n" "table all {flush | list}\n" +"optimize\n" "\n" "RULE-BODY: check-state [PARAMS] | ACTION [PARAMS] ADDR [OPTION_LIST]\n" "ACTION: check-state | allow | count | deny | unreach{,6} CODE |\n" ==== //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw.h#5 (text+ko) ==== @@ -180,7 +180,7 @@ O_FIB, /* arg1=FIB desired fib number */ O_ALIAS, - O_OPTIMIZE, /* u32 position in bitset */ + O_OPTIMIZE, /* list of labels */ O_LAST_OPCODE /* not an opcode! */ }; ==== //depot/projects/soc2009/tsel_ipfw/sys/netinet/ip_fw2.c#6 (text+ko) ==== @@ -367,7 +367,7 @@ return 0; for (i = 0; i < OPTIMIZATION_POOLS; i++) { - bufs[i] = malloc(OPTIMIZATION_BUF_MAX, M_IPFW, M_WAITOK | M_ZERO); + bufs[i] = malloc(sz, M_IPFW, M_WAITOK | M_ZERO); } IPFW_WLOCK(&V_layer3_chain); @@ -991,6 +991,7 @@ action = "Reass"; break; case O_ALIAS: + ((ipfw_insn_alias *)cmd)->alias[IPFW_ALIAS_NAME_SIZE - 1] = '\0'; snprintf(SNPARGS(action2, 0), "Alias %s", ((ipfw_insn_alias *)cmd)->alias); break; @@ -2743,19 +2744,19 @@ optimiz_ind++; if (GET_OPTIMIZ_LABEL(label)) { optimiz_match = label; +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: rule %d: optimized %d %d\n", f->rulenum, cmd->opcode, optimiz_match); -#ifndef IPFW_OPTIMIZE_DEBUG + optimiz_match_neg = 0; +#else continue; -#else - optimiz_match_neg = 0; #endif - } if (GET_NEG_OPTIMIZ_LABEL(label)) { + } else if (GET_NEG_OPTIMIZ_LABEL(label)) { optimiz_match = label; +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: rule %d: negative optimized %d %d\n", f->rulenum, cmd->opcode, optimiz_match); -#ifndef IPFW_OPTIMIZE_DEBUG + optimiz_match_neg = 1; +#else goto next_rule; -#else - optimiz_match_neg = 1; #endif } else { @@ -3320,13 +3321,17 @@ for (int i = 0; i < (F_LEN(cmd) - 1) * 2; i++) if (optimiz_cmd->ports[i] > V_optimization_buf_sz * 8 / 2) { +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: invalid O_OPTIMIZE instruction. ignoring"); +#endif optimiz_cmd = NULL; continue; } if (optimiz_match) { +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: unexpected O_OPTIMIZE instruction. ignoring"); +#endif continue; } continue; @@ -3648,7 +3653,9 @@ SET_OPTIMIZ_LABEL(optimiz_match); else SET_NEG_OPTIMIZ_LABEL(optimiz_match); +#ifdef IPFW_OPTIMIZE_DEBUG printf("ipfw: rule %d: set %soptimize match %d %d\n", f->rulenum, match ? "" : "negative ", cmd->opcode, optimiz_match); +#endif } optimiz_match = 0; } From andre at FreeBSD.org Fri Jul 3 10:12:33 2009 From: andre at FreeBSD.org (Andre Oppermann) Date: Fri Jul 3 10:12:42 2009 Subject: PERFORCE change 165564 for review Message-ID: <200907031012.n63ACI7g059060@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165564 Change 165564 by andre@andre_flirtbox on 2009/07/03 10:12:16 Forced integrate to clean up differences that came from previous integrations. Affected files ... .. //depot/projects/tcp_reass/Makefile#5 integrate .. //depot/projects/tcp_reass/amd64/Makefile#3 integrate .. //depot/projects/tcp_reass/amd64/acpica/Makefile#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/OsdEnvironment.c#3 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_switch.S#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_wakecode.S#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_wakeup.c#4 integrate .. //depot/projects/tcp_reass/amd64/acpica/genwakecode.sh#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/genwakedata.sh#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/madt.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/apic_vector.S#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/atomic.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/autoconf.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/bios.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/bpf_jit_machdep.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/bpf_jit_machdep.h#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/db_disasm.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/db_interface.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/db_trace.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/dump_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/elf_machdep.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/exception.S#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/fpu.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/gdb_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/genassym.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/identcpu.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/in_cksum.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/initcpu.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/intr_machdep.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/io.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/io_apic.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/legacy.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/local_apic.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/locore.S#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/machdep.c#7 integrate .. //depot/projects/tcp_reass/amd64/amd64/mca.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mem.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/minidump_machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_machdep.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_watchdog.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mpboot.S#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/mptable.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/msi.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/nexus.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/pmap.c#7 integrate .. //depot/projects/tcp_reass/amd64/amd64/prof_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/sigtramp.S#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/stack_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/support.S#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/trap.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/tsc.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/uio_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/tcp_reass/amd64/amd64/vm_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/compile/.cvsignore#2 integrate .. //depot/projects/tcp_reass/amd64/conf/.cvsignore#2 integrate .. //depot/projects/tcp_reass/amd64/conf/DEFAULTS#5 integrate .. //depot/projects/tcp_reass/amd64/conf/GENERIC#6 integrate .. //depot/projects/tcp_reass/amd64/conf/GENERIC.hints#4 integrate .. //depot/projects/tcp_reass/amd64/conf/Makefile#2 integrate .. //depot/projects/tcp_reass/amd64/conf/NOTES#6 integrate .. //depot/projects/tcp_reass/amd64/conf/XENHVM#2 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_exception.S#3 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_misc.c#2 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_reg.c#3 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_signal.c#5 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_sigtramp.S#3 integrate .. //depot/projects/tcp_reass/amd64/ia32/ia32_syscall.c#2 integrate .. //depot/projects/tcp_reass/amd64/include/_bus.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/_inttypes.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/_limits.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/_stdint.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/_types.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/acpica_machdep.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/apicreg.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/apicvar.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/asm.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/asmacros.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/atomic.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/bus.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/bus_dma.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/clock.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/cpu.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/cpufunc.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/cputypes.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/db_machdep.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/elf.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/endian.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/exec.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/float.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/floatingpoint.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/fpu.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/frame.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/gdb_machdep.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/ieeefp.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/in_cksum.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/intr_machdep.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/iodev.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/kdb.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/legacyvar.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/limits.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/mca.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/md_var.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/memdev.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/metadata.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/minidump.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/mp_watchdog.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/mptable.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/mutex.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/nexusvar.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/param.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/pc/bios.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/pc/display.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/pcb.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/pci_cfgreg.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/pcpu.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/pmap.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/pmc_mdep.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/ppireg.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/proc.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/profile.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/psl.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/ptrace.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/reg.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/reloc.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/resource.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/runq.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/segments.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/setjmp.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/sf_buf.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/sigframe.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/signal.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/smp.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/specialreg.h#5 integrate .. //depot/projects/tcp_reass/amd64/include/stack.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/stdarg.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/sysarch.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/timerreg.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/trap.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/tss.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/ucontext.h#3 integrate .. //depot/projects/tcp_reass/amd64/include/varargs.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/vm.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/vmparam.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/xen/hypercall.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/synch_bitops.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/xen-os.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/xenfunc.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/xenpmap.h#2 integrate .. //depot/projects/tcp_reass/amd64/include/xen/xenvar.h#2 integrate .. //depot/projects/tcp_reass/amd64/isa/atpic.c#4 integrate .. //depot/projects/tcp_reass/amd64/isa/atpic_vector.S#2 integrate .. //depot/projects/tcp_reass/amd64/isa/clock.c#7 integrate .. //depot/projects/tcp_reass/amd64/isa/elcr.c#2 integrate .. //depot/projects/tcp_reass/amd64/isa/icu.h#2 integrate .. //depot/projects/tcp_reass/amd64/isa/isa.c#2 integrate .. //depot/projects/tcp_reass/amd64/isa/isa.h#2 integrate .. //depot/projects/tcp_reass/amd64/isa/isa_dma.c#2 integrate .. //depot/projects/tcp_reass/amd64/isa/nmi.c#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/Makefile#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux.h#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_dummy.c#4 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_genassym.c#3 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_ipc64.h#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_locore.s#3 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_support.s#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_sysent.c#6 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_sysvec.c#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/syscalls.conf#2 integrate .. //depot/projects/tcp_reass/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/tcp_reass/amd64/pci/pci_bus.c#3 integrate .. //depot/projects/tcp_reass/amd64/pci/pci_cfgreg.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/autoconf.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/bcopy_page.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/bcopyinout.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/bcopyinout_xscale.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/blockio.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/bootconfig.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/bus_space_asm_generic.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/bus_space_generic.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/busdma_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/copystr.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm10.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm11.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm7tdmi.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm8.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_arm9.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_armv4.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_armv5.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_armv5_ec.S#3 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_ixp12x0.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_sa1.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_sa11x0.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_sheeva.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_xscale.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/cpufunc_asm_xscale_c3.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/db_disasm.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/db_interface.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/db_trace.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/disassem.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/dump_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/arm/elf_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/elf_trampoline.c#5 integrate .. //depot/projects/tcp_reass/arm/arm/exception.S#3 integrate .. //depot/projects/tcp_reass/arm/arm/fiq.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/fiq_subr.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/fusu.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/gdb_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/genassym.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/identcpu.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/in_cksum.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/in_cksum_arm.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/inckern.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/intr.c#6 integrate .. //depot/projects/tcp_reass/arm/arm/irq_dispatch.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/locore.S#6 integrate .. //depot/projects/tcp_reass/arm/arm/machdep.c#6 integrate .. //depot/projects/tcp_reass/arm/arm/mem.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/minidump_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/nexus.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/pmap.c#7 integrate .. //depot/projects/tcp_reass/arm/arm/setcpsr.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/setstack.s#2 integrate .. //depot/projects/tcp_reass/arm/arm/stack_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/support.S#3 integrate .. //depot/projects/tcp_reass/arm/arm/swtch.S#4 integrate .. //depot/projects/tcp_reass/arm/arm/sys_machdep.c#2 integrate .. //depot/projects/tcp_reass/arm/arm/trap.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/uio_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/undefined.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/vectors.S#2 integrate .. //depot/projects/tcp_reass/arm/arm/vm_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/at91/at91.c#5 integrate .. //depot/projects/tcp_reass/arm/at91/at91_cfata.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_mci.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_mcireg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pdcreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pio.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pio_rm9200.h#2 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pioreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_piovar.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pmc.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pmcreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_pmcvar.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_rtc.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_rtcreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_spi.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_spireg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_ssc.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_sscreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_st.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_streg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_twi.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_twiio.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_twireg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_usartreg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91board.h#2 integrate .. //depot/projects/tcp_reass/arm/at91/at91rm92reg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91var.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/board_bwct.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/board_hl200.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/board_kb920x.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/board_tsc4370.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/files.at91#3 integrate .. //depot/projects/tcp_reass/arm/at91/hints.at91rm9200#2 integrate .. //depot/projects/tcp_reass/arm/at91/hints.at91sam9261#2 integrate .. //depot/projects/tcp_reass/arm/at91/if_ate.c#5 integrate .. //depot/projects/tcp_reass/arm/at91/if_atereg.h#3 integrate .. //depot/projects/tcp_reass/arm/at91/std.at91#3 integrate .. //depot/projects/tcp_reass/arm/at91/std.bwct#2 integrate .. //depot/projects/tcp_reass/arm/at91/std.hl200#2 integrate .. //depot/projects/tcp_reass/arm/at91/std.kb920x#3 integrate .. //depot/projects/tcp_reass/arm/at91/std.tsc4370#2 integrate .. //depot/projects/tcp_reass/arm/at91/uart_bus_at91usart.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/uart_cpu_at91rm9200usart.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/uart_dev_at91usart.c#3 integrate .. //depot/projects/tcp_reass/arm/compile/.cvsignore#2 integrate .. //depot/projects/tcp_reass/arm/conf/.cvsignore#2 integrate .. //depot/projects/tcp_reass/arm/conf/AVILA#6 integrate .. //depot/projects/tcp_reass/arm/conf/AVILA.hints#5 integrate .. //depot/projects/tcp_reass/arm/conf/BWCT#4 integrate .. //depot/projects/tcp_reass/arm/conf/BWCT.hints#3 integrate .. //depot/projects/tcp_reass/arm/conf/CAMBRIA#2 integrate .. //depot/projects/tcp_reass/arm/conf/CAMBRIA.hints#4 integrate .. //depot/projects/tcp_reass/arm/conf/CRB#4 integrate .. //depot/projects/tcp_reass/arm/conf/DB-78XXX#3 integrate .. //depot/projects/tcp_reass/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/tcp_reass/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/tcp_reass/arm/conf/DEFAULTS#2 integrate .. //depot/projects/tcp_reass/arm/conf/EP80219#4 integrate .. //depot/projects/tcp_reass/arm/conf/GUMSTIX#2 integrate .. //depot/projects/tcp_reass/arm/conf/GUMSTIX.hints#2 integrate .. //depot/projects/tcp_reass/arm/conf/HL200#4 integrate .. //depot/projects/tcp_reass/arm/conf/IQ31244#4 integrate .. //depot/projects/tcp_reass/arm/conf/KB920X#4 integrate .. //depot/projects/tcp_reass/arm/conf/KB920X.hints#2 integrate .. //depot/projects/tcp_reass/arm/conf/NSLU#2 integrate .. //depot/projects/tcp_reass/arm/conf/NSLU.hints#2 integrate .. //depot/projects/tcp_reass/arm/conf/SIMICS#4 integrate .. //depot/projects/tcp_reass/arm/conf/SKYEYE#4 integrate .. //depot/projects/tcp_reass/arm/include/_bus.h#3 integrate .. //depot/projects/tcp_reass/arm/include/_inttypes.h#2 integrate .. //depot/projects/tcp_reass/arm/include/_limits.h#2 integrate .. //depot/projects/tcp_reass/arm/include/_stdint.h#2 integrate .. //depot/projects/tcp_reass/arm/include/_types.h#2 integrate .. //depot/projects/tcp_reass/arm/include/armreg.h#3 integrate .. //depot/projects/tcp_reass/arm/include/asm.h#2 integrate .. //depot/projects/tcp_reass/arm/include/asmacros.h#3 integrate .. //depot/projects/tcp_reass/arm/include/atomic.h#4 integrate .. //depot/projects/tcp_reass/arm/include/blockio.h#2 integrate .. //depot/projects/tcp_reass/arm/include/bootconfig.h#2 integrate .. //depot/projects/tcp_reass/arm/include/bootinfo.h#2 integrate .. //depot/projects/tcp_reass/arm/include/bus.h#2 integrate .. //depot/projects/tcp_reass/arm/include/bus_dma.h#2 integrate .. //depot/projects/tcp_reass/arm/include/clock.h#2 integrate .. //depot/projects/tcp_reass/arm/include/cpu.h#2 integrate .. //depot/projects/tcp_reass/arm/include/cpuconf.h#2 integrate .. //depot/projects/tcp_reass/arm/include/cpufunc.h#3 integrate .. //depot/projects/tcp_reass/arm/include/db_machdep.h#3 integrate .. //depot/projects/tcp_reass/arm/include/disassem.h#2 integrate .. //depot/projects/tcp_reass/arm/include/elf.h#3 integrate .. //depot/projects/tcp_reass/arm/include/endian.h#3 integrate .. //depot/projects/tcp_reass/arm/include/exec.h#2 integrate .. //depot/projects/tcp_reass/arm/include/fiq.h#2 integrate .. //depot/projects/tcp_reass/arm/include/float.h#2 integrate .. //depot/projects/tcp_reass/arm/include/floatingpoint.h#2 integrate .. //depot/projects/tcp_reass/arm/include/fp.h#2 integrate .. //depot/projects/tcp_reass/arm/include/frame.h#2 integrate .. //depot/projects/tcp_reass/arm/include/gdb_machdep.h#2 integrate .. //depot/projects/tcp_reass/arm/include/ieee.h#3 integrate .. //depot/projects/tcp_reass/arm/include/ieeefp.h#2 integrate .. //depot/projects/tcp_reass/arm/include/in_cksum.h#2 integrate .. //depot/projects/tcp_reass/arm/include/intr.h#5 integrate .. //depot/projects/tcp_reass/arm/include/katelib.h#2 integrate .. //depot/projects/tcp_reass/arm/include/kdb.h#2 integrate .. //depot/projects/tcp_reass/arm/include/limits.h#2 integrate .. //depot/projects/tcp_reass/arm/include/machdep.h#3 integrate .. //depot/projects/tcp_reass/arm/include/md_var.h#3 integrate .. //depot/projects/tcp_reass/arm/include/memdev.h#3 integrate .. //depot/projects/tcp_reass/arm/include/metadata.h#3 integrate .. //depot/projects/tcp_reass/arm/include/minidump.h#2 integrate .. //depot/projects/tcp_reass/arm/include/mutex.h#2 integrate .. //depot/projects/tcp_reass/arm/include/param.h#4 integrate .. //depot/projects/tcp_reass/arm/include/pcb.h#2 integrate .. //depot/projects/tcp_reass/arm/include/pcpu.h#3 integrate .. //depot/projects/tcp_reass/arm/include/pmap.h#5 integrate .. //depot/projects/tcp_reass/arm/include/pmc_mdep.h#2 integrate .. //depot/projects/tcp_reass/arm/include/proc.h#3 integrate .. //depot/projects/tcp_reass/arm/include/profile.h#2 integrate .. //depot/projects/tcp_reass/arm/include/psl.h#2 integrate .. //depot/projects/tcp_reass/arm/include/pte.h#2 integrate .. //depot/projects/tcp_reass/arm/include/ptrace.h#2 integrate .. //depot/projects/tcp_reass/arm/include/reg.h#2 integrate .. //depot/projects/tcp_reass/arm/include/reloc.h#2 integrate .. //depot/projects/tcp_reass/arm/include/resource.h#3 integrate .. //depot/projects/tcp_reass/arm/include/runq.h#2 integrate .. //depot/projects/tcp_reass/arm/include/setjmp.h#2 integrate .. //depot/projects/tcp_reass/arm/include/sf_buf.h#2 integrate .. //depot/projects/tcp_reass/arm/include/sigframe.h#2 integrate .. //depot/projects/tcp_reass/arm/include/signal.h#2 integrate .. //depot/projects/tcp_reass/arm/include/smp.h#2 integrate .. //depot/projects/tcp_reass/arm/include/stack.h#2 integrate .. //depot/projects/tcp_reass/arm/include/stdarg.h#2 integrate .. //depot/projects/tcp_reass/arm/include/swi.h#2 integrate .. //depot/projects/tcp_reass/arm/include/sysarch.h#4 integrate .. //depot/projects/tcp_reass/arm/include/trap.h#2 integrate .. //depot/projects/tcp_reass/arm/include/ucontext.h#2 integrate .. //depot/projects/tcp_reass/arm/include/undefined.h#2 integrate .. //depot/projects/tcp_reass/arm/include/utrap.h#2 integrate .. //depot/projects/tcp_reass/arm/include/vm.h#2 integrate .. //depot/projects/tcp_reass/arm/include/vmparam.h#3 integrate .. //depot/projects/tcp_reass/arm/mv/bus_space.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/common.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/db78xxx.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/discovery.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/files.db78xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/std.db78xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/files.mv#3 integrate .. //depot/projects/tcp_reass/arm/mv/gpio.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/ic.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/db88f6xxx.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/files.db88f6xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/kirkwood.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/std.db88f6xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/mv_pci.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/mv_sata.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/mvreg.h#4 integrate .. //depot/projects/tcp_reass/arm/mv/mvvar.h#2 integrate .. //depot/projects/tcp_reass/arm/mv/mvwin.h#3 integrate .. //depot/projects/tcp_reass/arm/mv/obio.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/orion/db88f5xxx.c#3 integrate .. //depot/projects/tcp_reass/arm/mv/orion/files.db88f5xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/orion/orion.c#4 integrate .. //depot/projects/tcp_reass/arm/mv/orion/std.db88f5xxx#2 integrate .. //depot/projects/tcp_reass/arm/mv/rtc.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/std.mv#2 integrate .. //depot/projects/tcp_reass/arm/mv/timer.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/twsi.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/sa11x0/files.sa11x0#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_dmacreg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_gpioreg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_io.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_io_asm.S#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_irq.S#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_irqhandler.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_ost.c#3 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_ostreg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_ppcreg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_reg.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_var.h#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/std.sa11x0#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/uart_bus_sa1110.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/uart_cpu_sa1110.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/uart_dev_sa1110.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/uart_dev_sa1110.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/ep80219_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/files.ep80219#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/files.i80219#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/files.i80321#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/files.iq31244#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_aau.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_dma.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_intr.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_mcu.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_timer.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq31244_7seg.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq31244_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq80321.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq80321reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/iq80321var.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/obio_space.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/obiovar.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/std.ep80219#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/std.i80219#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/std.i80321#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/std.iq31244#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/uart_bus_i80321.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/uart_cpu_i80321.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/crb_machdep.c#6 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/files.crb#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/files.i81342#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342_mcu.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342_pci.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342var.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/iq81342_7seg.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/iq81342reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/iq81342var.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/obio.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/obio_space.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/obiovar.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/std.crb#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/std.i81342#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/uart_bus_i81342.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/uart_cpu_i81342.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_ata.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_led.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_exp_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_fled.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_led.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/files.avila#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/files.ixp425#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/if_npe.c#7 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/if_npereg.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixdp425_pci.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixdp425reg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425.c#6 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_a4x_io.S#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_a4x_space.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_iic.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_intr.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_mem.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_npe.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_npereg.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_npevar.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_pci.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_pci_asm.S#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_pci_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_qmgr.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_qmgr.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_space.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_timer.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_wdog.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425reg.h#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425var.h#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/std.avila#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/std.ixp425#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/std.ixp435#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/uart_bus_ixp425.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/uart_cpu_ixp425.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/files.pxa#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/if_smc_smi.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_gpio.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_icu.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_machdep.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_obio.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_smi.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_space.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_timer.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxareg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxavar.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/std.pxa#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/uart_bus_pxa.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/uart_cpu_pxa.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/std.xscale#2 integrate .. //depot/projects/tcp_reass/arm/xscale/xscalereg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/xscalevar.h#2 integrate .. //depot/projects/tcp_reass/boot/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/README#2 integrate .. //depot/projects/tcp_reass/boot/arm/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/arm/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0/README#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0/linker.cfg#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0iic/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0iic/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0spi/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot0spi/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/board.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/boot2.c#3 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/bwct_board.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/centipad_board.c#3 integrate .. //depot/projects/tcp_reass/boot/arm/at91/boot2/kb920x_board.c#3 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/README#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/env_vars.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/env_vars.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/loader_prompt.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/loader_prompt.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootiic/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/README#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/ee.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/ee.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/env_vars.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/env_vars.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/loader_prompt.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/bootspi/main.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/arm_init.S#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/at91rm9200.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/delay.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/eeprom.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/getc.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/mci_device.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/memcmp.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/memcpy.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/memset.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/p_string.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/printf.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/putchar.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/reset.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/sd-card.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/sd-card.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/spi_flash.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/strcmp.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/strcpy.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/strcvt.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/strlen.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/tag_list.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/tag_list.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/libat91/xmodem.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/at91/linker.cfg#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/arm_init.S#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/boot2.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/cf_ata.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/ixp425_board.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/ixp425/boot2/lib.h#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/help.uboot#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/ldscript.arm#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/start.S#2 integrate .. //depot/projects/tcp_reass/boot/arm/uboot/version#2 integrate .. //depot/projects/tcp_reass/boot/common/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/common/bcache.c#2 integrate .. //depot/projects/tcp_reass/boot/common/boot.c#3 integrate .. //depot/projects/tcp_reass/boot/common/bootstrap.h#4 integrate .. //depot/projects/tcp_reass/boot/common/commands.c#2 integrate .. //depot/projects/tcp_reass/boot/common/console.c#2 integrate .. //depot/projects/tcp_reass/boot/common/dev_net.c#4 integrate .. //depot/projects/tcp_reass/boot/common/dev_net.h#2 integrate .. //depot/projects/tcp_reass/boot/common/devopen.c#3 integrate .. //depot/projects/tcp_reass/boot/common/help.common#2 integrate .. //depot/projects/tcp_reass/boot/common/interp.c#3 integrate .. //depot/projects/tcp_reass/boot/common/interp_backslash.c#2 integrate .. //depot/projects/tcp_reass/boot/common/interp_forth.c#2 integrate .. //depot/projects/tcp_reass/boot/common/interp_parse.c#2 integrate .. //depot/projects/tcp_reass/boot/common/isapnp.c#2 integrate .. //depot/projects/tcp_reass/boot/common/isapnp.h#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf.c#4 integrate .. //depot/projects/tcp_reass/boot/common/load_elf32.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf32_obj.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf64.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf64_obj.c#2 integrate .. //depot/projects/tcp_reass/boot/common/load_elf_obj.c#2 integrate .. //depot/projects/tcp_reass/boot/common/loader.8#3 integrate .. //depot/projects/tcp_reass/boot/common/ls.c#2 integrate .. //depot/projects/tcp_reass/boot/common/merge_help.awk#2 integrate .. //depot/projects/tcp_reass/boot/common/misc.c#3 integrate .. //depot/projects/tcp_reass/boot/common/module.c#3 integrate .. //depot/projects/tcp_reass/boot/common/newvers.sh#2 integrate .. //depot/projects/tcp_reass/boot/common/panic.c#2 integrate .. //depot/projects/tcp_reass/boot/common/pnp.c#2 integrate .. //depot/projects/tcp_reass/boot/common/reloc_elf.c#2 integrate .. //depot/projects/tcp_reass/boot/common/reloc_elf32.c#2 integrate .. //depot/projects/tcp_reass/boot/common/reloc_elf64.c#2 integrate .. //depot/projects/tcp_reass/boot/common/ufsread.c#4 integrate .. //depot/projects/tcp_reass/boot/efi/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/efi/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/efi/include/README#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efi.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efi_nii.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efiapi.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/eficon.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efidebug.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efidef.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efidevp.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efierr.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efifpswa.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efifs.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efilib.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efinet.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efipart.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efiprot.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efipxebc.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efiser.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/efistdarg.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/i386/efibind.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/i386/pe.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/ia64/efibind.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/include/ia64/pe.h#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/delay.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/efi_console.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/efifs.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/efinet.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/errno.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/handles.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/libefi.c#2 integrate .. //depot/projects/tcp_reass/boot/efi/libefi/time.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ficl/arm/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/arm/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/dict.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/ficl.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/ficl.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/fileaccess.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/float.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/i386/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/i386/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/ia64/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/ia64/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/loader.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/math64.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/math64.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/mips/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/mips/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/powerpc/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/powerpc/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/prefix.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/search.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/classes.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/ficlclass.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/ficllocal.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/fileaccess.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/forml.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/freebsd.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/ifbrack.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/jhlocal.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/marker.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/oo.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/prefix.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/softcore.awk#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/softcore.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/softwords/string.fr#2 integrate .. //depot/projects/tcp_reass/boot/ficl/sparc64/sysdep.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/sparc64/sysdep.h#2 integrate .. //depot/projects/tcp_reass/boot/ficl/stack.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/testmain.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/tools.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/unix.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/vm.c#2 integrate .. //depot/projects/tcp_reass/boot/ficl/words.c#2 integrate .. //depot/projects/tcp_reass/boot/forth/beastie.4th#2 integrate .. //depot/projects/tcp_reass/boot/forth/frames.4th#2 integrate .. //depot/projects/tcp_reass/boot/forth/loader.4th#3 integrate .. //depot/projects/tcp_reass/boot/forth/loader.4th.8#2 integrate .. //depot/projects/tcp_reass/boot/forth/loader.conf#5 integrate .. //depot/projects/tcp_reass/boot/forth/loader.conf.5#3 integrate .. //depot/projects/tcp_reass/boot/forth/loader.rc#2 integrate .. //depot/projects/tcp_reass/boot/forth/pnp.4th#3 integrate .. //depot/projects/tcp_reass/boot/forth/screen.4th#2 integrate .. //depot/projects/tcp_reass/boot/forth/support.4th#3 integrate .. //depot/projects/tcp_reass/boot/i386/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot0/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot0/boot0.S#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot0/boot0ext.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot0ext/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot0sio/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/boot1.S#3 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/boot2.c#4 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/lib.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/boot2/sio.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btx/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btx/btx.S#4 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btxldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/btxcsu.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/btxsys.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/btxv86.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/btx/lib/btxv86.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/cdboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/cdboot/cdboot.s#3 integrate .. //depot/projects/tcp_reass/boot/i386/gptboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/gptboot/gptboot.c#4 integrate .. //depot/projects/tcp_reass/boot/i386/gptboot/gptldr.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/gptzfsboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/boot.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/crt.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/kgzldr.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/lib.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/sio.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/kgzldr/start.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/dconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/firewire.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/fwohci.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/fwohci.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/libfirewire/fwohcireg.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/amd64_tramp.S#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosacpi.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/bioscd.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosdisk.c#6 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosmem.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biospci.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biospnp.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biossmap.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/bootinfo.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/bootinfo32.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/bootinfo64.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/comconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/devicename.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/elf32_freebsd.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/elf64_freebsd.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/i386_copy.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/i386_module.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/libi386.h#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/nullconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/pread.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/pxe.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/pxe.h#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/pxetramp.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/smbios.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/time.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/vidconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/loader/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/loader/conf.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/loader/help.i386#2 integrate .. //depot/projects/tcp_reass/boot/i386/loader/loader.rc#2 integrate .. //depot/projects/tcp_reass/boot/i386/loader/main.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/loader/version#2 integrate .. //depot/projects/tcp_reass/boot/i386/mbr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/mbr/mbr.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/pmbr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/pmbr/pmbr.s#2 integrate .. //depot/projects/tcp_reass/boot/i386/pxeldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/pxeldr/pxeboot.8#3 integrate .. //depot/projects/tcp_reass/boot/i386/pxeldr/pxeldr.S#4 integrate .. //depot/projects/tcp_reass/boot/i386/zfsboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/i386/zfsboot/zfsboot.c#3 integrate .. //depot/projects/tcp_reass/boot/i386/zfsboot/zfsldr.S#2 integrate .. //depot/projects/tcp_reass/boot/ia64/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/ia64/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/ia64/common/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ia64/common/autoload.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/bootinfo.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/copy.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/devicename.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/exec.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/common/libia64.h#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/efimd.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/ldscript.ia64#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/main.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/start.S#2 integrate .. //depot/projects/tcp_reass/boot/ia64/efi/version#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/acpi_stub.c#3 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/delay.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/efi_stub.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/exit.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/ldscript.ia64#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/libski.h#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/main.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/pal_stub.S#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/sal_stub.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/skiconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/skifs.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/skiload.cmd#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/skimd.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/ssc.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/start.S#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/time.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/version#2 integrate .. //depot/projects/tcp_reass/boot/ofw/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/ofw/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/ofw/common/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/ofw/common/main.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/devicename.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/elf_freebsd.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/libofw.h#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_console.c#4 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_copy.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_disk.c#3 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_memory.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_module.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_net.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_reboot.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/ofw_time.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/openfirm.c#2 integrate .. //depot/projects/tcp_reass/boot/ofw/libofw/openfirm.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/boot.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/boot0.5.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/disk.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/ldscript#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/putssjis.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/selector.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/start.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/support.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0.5/syscons.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot0/boot0.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/asm.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/asm.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/bios.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/boot.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/boot2.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/dinode.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/disk.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/fs.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/inode.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/io.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/probe_keyboard.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/quota.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/serial.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/serial_16550.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/serial_8251.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/start.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/sys.c#3 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/table.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btx/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btx/btx.S#3 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btxldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/btxldr/btxldr.S#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/btxcsu.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/btxsys.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/btxv86.h#2 integrate .. //depot/projects/tcp_reass/boot/pc98/btx/lib/btxv86.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/cdboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/cdboot/cdboot.s#3 integrate .. //depot/projects/tcp_reass/boot/pc98/kgzldr/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/pc98/kgzldr/crt.s#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/bioscd.c#3 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/biosdisk.c#4 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/biosmem.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/biossmap.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/comconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/i386_module.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/time.c#3 integrate .. //depot/projects/tcp_reass/boot/pc98/libpc98/vidconsole.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/loader/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/pc98/loader/conf.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/loader/help.pc98#2 integrate .. //depot/projects/tcp_reass/boot/pc98/loader/main.c#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/powerpc/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/Makefile.hfs#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/boot1.c#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/bootinfo.txt#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/generate-hfs.sh#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/boot1.chrp/hfs.tmpl.bz2.uu#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/Makefile#4 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/conf.c#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/help.ofw#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/ldscript.powerpc#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/metadata.c#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/start.c#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/ofw/version#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/conf.c#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/help.uboot#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/ldscript.powerpc#2 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/start.S#3 integrate .. //depot/projects/tcp_reass/boot/powerpc/uboot/version#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/boot1/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/boot1/_start.s#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/boot1/boot1.c#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/help.sparc64#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/locore.S#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/main.c#3 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/metadata.c#2 integrate .. //depot/projects/tcp_reass/boot/sparc64/loader/version#2 integrate .. //depot/projects/tcp_reass/boot/uboot/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/uboot/Makefile.inc#2 integrate .. //depot/projects/tcp_reass/boot/uboot/common/Makefile.inc#3 integrate .. //depot/projects/tcp_reass/boot/uboot/common/main.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/common/metadata.c#2 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/api_public.h#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/console.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/copy.c#2 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/devicename.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/disk.c#4 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/elf_freebsd.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/glue.h#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/libuboot.h#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/module.c#2 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/net.c#4 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/reboot.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/time.c#3 integrate .. //depot/projects/tcp_reass/boot/zfs/Makefile#2 integrate .. //depot/projects/tcp_reass/boot/zfs/zfs.c#2 integrate .. //depot/projects/tcp_reass/boot/zfs/zfsimpl.c#3 integrate .. //depot/projects/tcp_reass/bsm/audit.h#3 integrate .. //depot/projects/tcp_reass/bsm/audit_domain.h#2 integrate .. //depot/projects/tcp_reass/bsm/audit_errno.h#2 integrate .. //depot/projects/tcp_reass/bsm/audit_fcntl.h#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From andre at FreeBSD.org Fri Jul 3 10:24:46 2009 From: andre at FreeBSD.org (Andre Oppermann) Date: Fri Jul 3 10:24:52 2009 Subject: PERFORCE change 165565 for review Message-ID: <200907031024.n63AOjwP060038@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165565 Change 165565 by andre@andre_t61 on 2009/07/03 10:24:02 Undo the undo of the previous integration. Affected files ... .. //depot/projects/tcp_reass/netinet/tcp_sack.c#6 edit Differences ... ==== //depot/projects/tcp_reass/netinet/tcp_sack.c#6 (text+ko) ==== @@ -148,108 +148,6 @@ "Global number of TCP SACK holes currently allocated"); /* - * This function is called upon receipt of new valid data (while not in - * header prediction mode), and it updates the ordered list of sacks. - */ -void -tcp_update_sack_list(struct tcpcb *tp, tcp_seq rcv_start, tcp_seq rcv_end) -{ - /* - * First reported block MUST be the most recent one. Subsequent - * blocks SHOULD be in the order in which they arrived at the - * receiver. These two conditions make the implementation fully - * compliant with RFC 2018. - */ - struct sackblk head_blk, saved_blks[MAX_SACK_BLKS]; - int num_head, num_saved, i; - - INP_WLOCK_ASSERT(tp->t_inpcb); - - /* Check arguments. */ - KASSERT(SEQ_LT(rcv_start, rcv_end), ("rcv_start < rcv_end")); - - /* SACK block for the received segment. */ - head_blk.start = rcv_start; - head_blk.end = rcv_end; - - /* - * Merge updated SACK blocks into head_blk, and save unchanged SACK - * blocks into saved_blks[]. num_saved will have the number of the - * saved SACK blocks. - */ - num_saved = 0; - for (i = 0; i < tp->rcv_numsacks; i++) { - tcp_seq start = tp->sackblks[i].start; - tcp_seq end = tp->sackblks[i].end; - if (SEQ_GEQ(start, end) || SEQ_LEQ(start, tp->rcv_nxt)) { - /* - * Discard this SACK block. - */ - } else if (SEQ_LEQ(head_blk.start, end) && - SEQ_GEQ(head_blk.end, start)) { - /* - * Merge this SACK block into head_blk. This SACK - * block itself will be discarded. - */ - if (SEQ_GT(head_blk.start, start)) - head_blk.start = start; - if (SEQ_LT(head_blk.end, end)) - head_blk.end = end; - } else { - /* - * Save this SACK block. - */ - saved_blks[num_saved].start = start; - saved_blks[num_saved].end = end; - num_saved++; - } - } - - /* - * Update SACK list in tp->sackblks[]. - */ - num_head = 0; - if (SEQ_GT(head_blk.start, tp->rcv_nxt)) { - /* - * The received data segment is an out-of-order segment. Put - * head_blk at the top of SACK list. - */ - tp->sackblks[0] = head_blk; - num_head = 1; - /* - * If the number of saved SACK blocks exceeds its limit, - * discard the last SACK block. - */ - if (num_saved >= MAX_SACK_BLKS) - num_saved--; - } - if (num_saved > 0) { - /* - * Copy the saved SACK blocks back. - */ - bcopy(saved_blks, &tp->sackblks[num_head], - sizeof(struct sackblk) * num_saved); - } - - /* Save the number of SACK blocks. */ - tp->rcv_numsacks = num_head + num_saved; -} - -/* - * Delete all receiver-side SACK information. - */ -void -tcp_clean_sackreport(struct tcpcb *tp) -{ - int i; - - INP_WLOCK_ASSERT(tp->t_inpcb); - tp->rcv_numsacks = 0; - for (i = 0; i < MAX_SACK_BLKS; i++) - tp->sackblks[i].start = tp->sackblks[i].end=0; -} - -/* * Allocate struct sackhole. */ static struct sackhole * From sson at FreeBSD.org Fri Jul 3 15:38:29 2009 From: sson at FreeBSD.org (Stacey Son) Date: Fri Jul 3 15:38:35 2009 Subject: PERFORCE change 165566 for review Message-ID: <200907031538.n63FcRXk098862@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165566 Change 165566 by sson@sson_amd64 on 2009/07/03 15:38:08 Initial import of the amt utility. The amt (Abstract Machine Testing) utility is used to verify that the low level functions necessary to enforce the requirements of the Controlled Access Protection Profile (CAPP) are working correctly. Affected files ... .. //depot/projects/trustedbsd/amt#1 add .. //depot/projects/trustedbsd/amt/CREDITS#1 add .. //depot/projects/trustedbsd/amt/INSTALL#1 add .. //depot/projects/trustedbsd/amt/Makefile#1 add .. //depot/projects/trustedbsd/amt/README#1 add .. //depot/projects/trustedbsd/amt/amt.8#1 add .. //depot/projects/trustedbsd/amt/amt.c#1 add .. //depot/projects/trustedbsd/amt/amt.h#1 add .. //depot/projects/trustedbsd/amt/fault_test.c#1 add .. //depot/projects/trustedbsd/amt/mem_sep.c#1 add .. //depot/projects/trustedbsd/amt/memory.c#1 add .. //depot/projects/trustedbsd/amt/priv_inst.c#1 add Differences ... From hselasky at FreeBSD.org Fri Jul 3 16:21:15 2009 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Fri Jul 3 16:21:21 2009 Subject: PERFORCE change 165568 for review Message-ID: <200907031621.n63GLD1n003079@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165568 Change 165568 by hselasky@hselasky_laptop001 on 2009/07/03 16:20:53 USB audio: - fix regression issue introduced recently. - reported by: MIHIRA Sanpei Yoshiro Affected files ... .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#52 edit Differences ... ==== //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#52 (text+ko) ==== @@ -1256,7 +1256,7 @@ for (n = 0; n != nframes; n++) { offset1 = offset0; - pc = usbd_xfer_get_frame(xfer, n); + pc = usbd_xfer_get_frame(xfer, 0); len = usbd_xfer_frame_len(xfer, n); while (len > 0) { From gk at FreeBSD.org Fri Jul 3 17:06:04 2009 From: gk at FreeBSD.org (Gleb Kurtsou) Date: Fri Jul 3 17:06:11 2009 Subject: PERFORCE change 165570 for review Message-ID: <200907031706.n63H63FH017241@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165570 Change 165570 by gk@gk_h1 on 2009/07/03 17:05:56 temporally use rc4 for encryption Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#5 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_crypto.c#2 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#5 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#4 edit .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#5 edit Differences ... ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs.h#5 (text+ko) ==== @@ -59,16 +59,16 @@ char pk_data[PEFS_KEY_SIZE]; }; -struct pefs_node_key { - struct pefs_key *pnk_key; - char pnk_tweak[PEFS_TWEAK_SIZE]; +struct pefs_tkey { + struct pefs_key *ptk_key; + char ptk_tweak[PEFS_TWEAK_SIZE]; }; struct pefs_node { LIST_ENTRY(pefs_node) pn_hash; /* Hash list */ struct vnode *pn_lowervp; /* VREFed once */ struct vnode *pn_vnode; /* Back pointer */ - struct pefs_node_key pn_key; + struct pefs_tkey pn_tkey; }; struct pefs_mount { @@ -131,16 +131,19 @@ int pefs_init(struct vfsconf *vfsp); int pefs_uninit(struct vfsconf *vfsp); -int pefs_node_get(struct mount *mp, struct vnode *target, struct vnode **vpp); +int pefs_node_get(struct mount *mp, struct vnode *lowervp, struct vnode **vpp, struct pefs_tkey *ptk); void pefs_node_free(struct pefs_node *xp); +struct pefs_key* pefs_node_key(struct pefs_node *pn); +struct pefs_tkey* pefs_node_tkey(struct pefs_node *pn); -void pefs_data_encrypt(struct pefs_node *pn, off_t offset, struct pefs_chunk *pc); -void pefs_data_encrypt_buf(struct pefs_node *pn, off_t offset, void *mem, size_t size); -void pefs_data_decrypt(struct pefs_node *pn, off_t offset, struct pefs_chunk *pc); -void pefs_data_decrypt_buf(struct pefs_node *pn, off_t offset, void *mem, size_t size); +void pefs_data_encrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc); +void pefs_data_encrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size); +void pefs_data_decrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc); +void pefs_data_decrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size); + +int pefs_name_encrypt(struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size); +int pefs_name_decrypt(struct pefs_key *pk, struct pefs_tkey *ptk, const char *enc, size_t enc_len, char *plain, size_t plain_size); -int pefs_name_encrypt(struct pefs_node_key *pnk, const char *plain, size_t plain_len, char *enc, size_t enc_size); -int pefs_name_decrypt(struct pefs_node_key *pnk, const char *enc, size_t enc_len, char *plain, size_t plain_size); int pefs_name_ntop(u_char const *src, size_t srclength, char *target, size_t targsize); int pefs_name_pton(char const *src, size_t srclen, u_char *target, size_t targsize); ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_crypto.c#2 (text+ko) ==== @@ -32,9 +32,11 @@ #include #include +#include + #include - +#if 0 static void pefs_xor(void *mem, size_t size) { @@ -60,25 +62,63 @@ pefs_xor(mem, size); } } +#endif -void pefs_data_encrypt(struct pefs_node *pn, off_t offset, struct pefs_chunk *pc) +void +pefs_data_encrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) { - pefs_xor_chunk(pc); + long arg = 0; + char *mem; + size_t size; + + if (ptk->ptk_key == NULL) { + PEFSDEBUG("!!! %s: NULL ptk_key\n", __func__); + return; + } + if (offset % PEFS_BLOCK != 0) { + PEFSDEBUG("!!! %s: invalid offset %jd\n", __func__, offset); + return; + } + + // FIXME + struct rc4_state rc4state; + rc4_init(&rc4state, ptk->ptk_key->pk_data, PEFS_KEY_SIZE); + while (1) { + mem = pefs_chunk_get(pc, &size, &arg); + if (mem == NULL) + break; + rc4_crypt(&rc4state, mem, mem, size); + } } -void pefs_data_encrypt_buf(struct pefs_node *pn, off_t offset, void *mem, size_t size) +void +pefs_data_encrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size) { - pefs_xor(mem, size); + if (ptk->ptk_key == NULL) { + PEFSDEBUG("!!! %s: NULL ptk_key\n", __func__); + return; + } + if (offset % PEFS_BLOCK != 0) { + PEFSDEBUG("!!! %s: invalid offset %jd\n", __func__, offset); + return; + } + + // FIXME + struct rc4_state rc4state; + rc4_init(&rc4state, ptk->ptk_key->pk_data, PEFS_KEY_SIZE); + rc4_crypt(&rc4state, mem, mem, size); } -void pefs_data_decrypt(struct pefs_node *pn, off_t offset, struct pefs_chunk *pc) +void +pefs_data_decrypt(struct pefs_tkey *ptk, off_t offset, struct pefs_chunk *pc) { - pefs_xor_chunk(pc); + pefs_data_encrypt(ptk, offset, pc); } -void pefs_data_decrypt_buf(struct pefs_node *pn, off_t offset, void *mem, size_t size) +void +pefs_data_decrypt_buf(struct pefs_tkey *ptk, off_t offset, void *mem, size_t size) { - pefs_xor(mem, size); + pefs_data_encrypt_buf(ptk, offset, mem, size); } /* @@ -107,13 +147,18 @@ } int -pefs_name_encrypt(struct pefs_node_key *pnk, const char *plain, size_t plain_len, char *enc, size_t enc_size) +pefs_name_encrypt(struct pefs_tkey *ptk, const char *plain, size_t plain_len, char *enc, size_t enc_size) { char *buf; size_t size; u_short csum; int r; + if (ptk == NULL || ptk->ptk_key == NULL) { + PEFSDEBUG("!!!! %s: NULL key\n", __func__); + return (-1); + } + size = PEFS_TWEAK_SIZE + plain_len + PEFS_NAME_CSUM_SIZE; if (enc_size < PEFS_NAME_NTOP_SIZE(size)) { PEFSDEBUG("%s: encname buffer is too short: length=%d; required=%d\n", @@ -123,15 +168,16 @@ buf = malloc(size, M_PEFSBUF, M_WAITOK); - memcpy(buf, pnk->pnk_tweak, PEFS_TWEAK_SIZE); + memcpy(buf, ptk->ptk_tweak, PEFS_TWEAK_SIZE); memcpy(buf + PEFS_TWEAK_SIZE, plain, plain_len); bzero(buf + size - PEFS_NAME_CSUM_SIZE, PEFS_NAME_CSUM_SIZE); csum = pefs_name_checksum(buf, size); memcpy(buf + size - PEFS_NAME_CSUM_SIZE, &csum, PEFS_NAME_CSUM_SIZE); // FIXME - for (int i = 0; i < size; i++) - buf[i] ^= 0xAA + i; + struct rc4_state rc4state; + rc4_init(&rc4state, ptk->ptk_key->pk_name, PEFS_KEY_SIZE); + rc4_crypt(&rc4state, buf, buf, size); r = pefs_name_ntop(buf, size, enc, enc_size); @@ -143,11 +189,16 @@ } int -pefs_name_decrypt(struct pefs_node_key *pnk, const char *enc, size_t enc_len, char *plain, size_t plain_size) +pefs_name_decrypt(struct pefs_key *pk, struct pefs_tkey *ptk, const char *enc, size_t enc_len, char *plain, size_t plain_size) { u_short csum; int r; + if (pk == NULL) { + PEFSDEBUG("!!!! %s: NULL pk\n", __func__); + return (-1); + } + r = pefs_name_pton(enc, enc_len, plain, plain_size); if (r < 0 || r <= PEFS_TWEAK_SIZE + PEFS_NAME_CSUM_SIZE) { PEFSDEBUG("%s: error: r=%d\n", __func__, r); @@ -155,15 +206,20 @@ } // FIXME - for (int i = 0; i < r; i++) - plain[i] ^= 0xAA + i; + struct rc4_state rc4state; + rc4_init(&rc4state, pk->pk_name, PEFS_KEY_SIZE); + rc4_crypt(&rc4state, plain, plain, r); csum = pefs_name_checksum(plain, r); if (csum != 0) { PEFSDEBUG("%s: invalid csum = %d\n", __func__, csum); return (-1); } - memcpy(plain, pnk->pnk_tweak, PEFS_TWEAK_SIZE); + + if (ptk) { + ptk->ptk_key = pk; + memcpy(plain, ptk->ptk_tweak, PEFS_TWEAK_SIZE); + } r -= PEFS_TWEAK_SIZE + PEFS_NAME_CSUM_SIZE; memcpy(plain, plain + PEFS_TWEAK_SIZE, r); ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_subr.c#5 (text+ko) ==== @@ -186,7 +186,7 @@ * the caller's "spare" reference to created pefs vnode. */ int -pefs_node_get(struct mount *mp, struct vnode *lowervp, struct vnode **vpp) +pefs_node_get(struct mount *mp, struct vnode *lowervp, struct vnode **vpp, struct pefs_tkey *ptk) { struct pefs_node *xp; struct vnode *vp; @@ -221,6 +221,12 @@ return (error); } + if (ptk != NULL) + xp->pn_tkey = *ptk; + + if (!ptk) + PEFSDEBUG("%s: creating node without key: %p: %p->%p\n", __func__, xp, vp, lowervp); + xp->pn_vnode = vp; xp->pn_lowervp = lowervp; vp->v_type = lowervp->v_type; @@ -261,6 +267,28 @@ free(xp, M_PEFSNODE); } +struct pefs_key* +pefs_node_key(struct pefs_node *pn) +{ + if (pn->pn_tkey.ptk_key == NULL) { + PEFSDEBUG("!!!!! %s: key is not set: pn=%p\n", __func__, pn); + // FIXME !!!!! + pn->pn_tkey.ptk_key = SLIST_FIRST(&VFS_TO_PEFS(pn->pn_vnode->v_mount)->pm_keys); + } + return (pn->pn_tkey.ptk_key); + +} + +struct pefs_tkey* +pefs_node_tkey(struct pefs_node *pn) +{ + if (pn->pn_tkey.ptk_key == NULL) { + pefs_node_key(pn); + } + return (&pn->pn_tkey); + +} + struct pefs_chunk* pefs_chunk_create(size_t size) { ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vfsops.c#4 (text+ko) ==== @@ -67,6 +67,9 @@ int isvnunlocked = 0, len; struct nameidata nd, *ndp = &nd; + // FIXME + struct pefs_key *pk; + PEFSDEBUG("pefs_mount(mp = %p)\n", (void *)mp); if (mp->mnt_flag & MNT_ROOTFS) @@ -129,9 +132,18 @@ return (EDEADLK); } + // FIXME + pk = malloc(sizeof(struct pefs_key), M_PEFSBUF, M_WAITOK | M_ZERO); + memset(pk->pk_data, 0xaa, PEFS_KEY_SIZE); + memset(pk->pk_name, 0xbb, PEFS_KEY_SIZE); + xmp = (struct pefs_mount *) malloc(sizeof(struct pefs_mount), M_PEFSMNT, M_WAITOK); /* XXX */ + SLIST_INIT(&xmp->pm_keys); + // FIXME + SLIST_INSERT_HEAD(&xmp->pm_keys, pk, pk_entry); + /* * Save reference to underlying FS */ @@ -141,7 +153,7 @@ * Save reference. Each mount also holds * a reference on the root vnode. */ - error = pefs_node_get(mp, lowerrootvp, &vp); + error = pefs_node_get(mp, lowerrootvp, &vp, NULL); /* * Make sure the node alias worked */ @@ -189,7 +201,7 @@ static int pefs_unmount(struct mount *mp, int mntflags) { - void *mntdata; + struct pefs_mount *pm; int error; int flags = 0; @@ -206,9 +218,11 @@ /* * Finally, throw away the pefs_mount structure */ - mntdata = mp->mnt_data; + pm = VFS_TO_PEFS(mp); mp->mnt_data = 0; - free(mntdata, M_PEFSMNT); + //FIXME + free(SLIST_FIRST(&pm->pm_keys), M_PEFSMNT); + free(pm, M_PEFSMNT); return 0; } @@ -288,7 +302,7 @@ if (error) return (error); - return (pefs_node_get(mp, *vpp, vpp)); + return (pefs_node_get(mp, *vpp, vpp, NULL)); } static int @@ -300,7 +314,7 @@ if (error) return (error); - error = pefs_node_get(mp, *vpp, vpp); + error = pefs_node_get(mp, *vpp, vpp, NULL); printf("pefs_fhtovp: error=%d; vp=%p; v_object=%p\n", error, !error ? *vpp : NULL, !error ? (*vpp)->v_object : NULL); if (error) @@ -332,3 +346,4 @@ }; VFS_SET(pefs_vfsops, pefs, VFCF_LOOPBACK); +MODULE_DEPEND(pefs, rc4, 1, 1, 1); ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#5 (text+ko) ==== @@ -78,6 +78,7 @@ struct pefs_enccn { struct componentname pec_cn; void *pec_buf; + struct pefs_tkey pec_tkey; }; static inline int @@ -95,13 +96,18 @@ } static void -pefs_enccn_init(struct pefs_enccn *pec, char *encname, int encname_len, struct componentname *cnp) +pefs_enccn_init(struct pefs_enccn *pec, struct pefs_tkey *ptk, char *encname, int encname_len, struct componentname *cnp) { MPASS(pec != NULL && cnp != NULL); if (encname_len >= MAXPATHLEN) panic("invalid encrypted name length: %d", encname_len); + if (ptk) { + pec->pec_tkey = *ptk; + } else { + pec->pec_tkey.ptk_key = NULL; + } pec->pec_cn = *cnp; pec->pec_buf = uma_zalloc(namei_zone, M_WAITOK); memcpy(pec->pec_buf, encname, encname_len); @@ -116,20 +122,21 @@ static int pefs_enccn_create(struct pefs_enccn *pec, struct pefs_key *pk, struct componentname *cnp) { - struct pefs_node_key pnk; int r; MPASS(pec != NULL && cnp != NULL); pec->pec_cn = *cnp; if (/* pk == NULL || */ (cnp->cn_flags & ISDOTDOT) || pefs_name_skip(cnp->cn_nameptr, cnp->cn_namelen)) { - pefs_enccn_init(pec, cnp->cn_nameptr, cnp->cn_namelen, cnp); + pefs_enccn_init(pec, NULL, cnp->cn_nameptr, cnp->cn_namelen, cnp); return (0); } + arc4rand(pec->pec_tkey.ptk_tweak, PEFS_TWEAK_SIZE, 0); + pec->pec_tkey.ptk_key = pk; + PEFSDEBUG("%s: pk=%p\n", __func__, pk); pec->pec_buf = uma_zalloc(namei_zone, M_WAITOK); - pnk.pnk_key = pk; - arc4rand(pnk.pnk_tweak, PEFS_TWEAK_SIZE, 0); - r = pefs_name_encrypt(&pnk, cnp->cn_nameptr, cnp->cn_namelen, pec->pec_buf, MAXPATHLEN); + r = pefs_name_encrypt(&pec->pec_tkey, + cnp->cn_nameptr, cnp->cn_namelen, pec->pec_buf, MAXPATHLEN); if (r <= 0) { uma_zfree(namei_zone, pec->pec_buf); return (EIO); @@ -156,9 +163,8 @@ } static struct dirent* -pefs_enccn_lookup_dirent(void *mem, size_t sz, char *name, int namelen, char *buf, size_t buf_sz) +pefs_enccn_lookup_dirent(struct pefs_key *pk, struct pefs_tkey *ptk, void *mem, size_t sz, char *name, int namelen, char *buf, size_t buf_sz) { - struct pefs_node_key pnk; struct dirent *de; int d_namelen; int de_len; @@ -170,7 +176,7 @@ de_len = GENERIC_DIRSIZ(de); if (pefs_name_skip(de->d_name, de->d_namlen)) continue; - d_namelen = pefs_name_decrypt(&pnk, de->d_name, de->d_namlen, buf, buf_sz); + d_namelen = pefs_name_decrypt(pk, ptk, de->d_name, de->d_namlen, buf, buf_sz); PEFSDEBUG("%s =>; res=%d; %.*s --> %.*s\n", __func__, d_namelen, de->d_namlen, de->d_name, d_namelen < 0 ? 0 : d_namelen, buf); @@ -186,9 +192,11 @@ pefs_enccn_lookup(struct pefs_enccn *pec, struct vnode *dvp, struct componentname *cnp) { struct dirent *de; - struct pefs_chunk *pc; struct uio *uio; struct vnode *ldvp = PEFS_LOWERVP(dvp); + struct pefs_chunk *pc; + struct pefs_key *dpn_key; + struct pefs_tkey ptk; char *namebuf; off_t offset; int error, eofflag; @@ -196,34 +204,18 @@ MPASS(pec != NULL && dvp != NULL && cnp != NULL); if ((cnp->cn_flags & ISDOTDOT) || pefs_name_skip(cnp->cn_nameptr, cnp->cn_namelen)) { - pefs_enccn_init(pec, cnp->cn_nameptr, cnp->cn_namelen, cnp); + pefs_enccn_init(pec, NULL, cnp->cn_nameptr, cnp->cn_namelen, cnp); return (0); } - const char *op; - switch (cnp->cn_nameiop & OPMASK) { - case LOOKUP: - op = "LOOKUP"; - break; - case CREATE: - op = "CREATE"; - break; - case DELETE: - op = "DELETE"; - break; - case RENAME: - op = "RENAME"; - break; - default: - op = NULL; - } - PEFSDEBUG("XXX pefs_enccn_lookup: name=%.*s op=%s\n", (int) cnp->cn_namelen, cnp->cn_nameptr, op); + PEFSDEBUG("pefs_enccn_lookup: name=%.*s op=%d\n", (int) cnp->cn_namelen, cnp->cn_nameptr, (int) cnp->cn_nameiop); pc = pefs_chunk_create(PAGE_SIZE); namebuf = malloc(MAXNAMLEN + 1, M_PEFSBUF, M_WAITOK); offset = 0; eofflag = 0; de = NULL; + dpn_key = pefs_node_key(VP_TO_PN(dvp)); while (!eofflag && de == NULL) { long arg = 0; @@ -236,7 +228,6 @@ return (error); } - printf("%s: size = %d\n", __func__, pc->pc_size - uio->uio_resid); pefs_chunk_shrink(pc, pc->pc_size - uio->uio_resid); while (1) { size_t size; @@ -245,7 +236,7 @@ mem = pefs_chunk_get(pc, &size, &arg); if (mem == NULL) break; - de = pefs_enccn_lookup_dirent(mem, size, + de = pefs_enccn_lookup_dirent(dpn_key, &ptk, mem, size, cnp->cn_nameptr, cnp->cn_namelen, namebuf, MAXNAMLEN + 1); if (de != NULL) @@ -256,7 +247,7 @@ if (de != NULL) { PEFSDEBUG("%s: dirent found: %.*s\n", __func__, de->d_namlen, de->d_name); - pefs_enccn_init(pec, de->d_name, de->d_namlen, cnp); + pefs_enccn_init(pec, &ptk, de->d_name, de->d_namlen, cnp); } pefs_chunk_free(pc); @@ -274,8 +265,9 @@ error = pefs_enccn_lookup(pec, dvp, cnp); PEFSDEBUG("%s: lookup error = %d\n", __func__, error); - if (error == ENOENT) - error = pefs_enccn_create(pec, NULL, cnp); + if (error == ENOENT) { + error = pefs_enccn_create(pec, pefs_node_key(VP_TO_PN(dvp)), cnp); + } PEFSDEBUG("%s: returning = %d\n", __func__, error); return (error); @@ -306,7 +298,7 @@ * problems on rmdir'ing mount points and renaming?) */ static int -pefs_bypass(struct vop_generic_args *ap, struct pefs_enccn *enccn) +pefs_bypass(struct vop_generic_args *ap, struct pefs_tkey *ptk) { struct vnode **this_vp_p; int error; @@ -400,7 +392,7 @@ if (descp->vdesc_vpp_offset != VDESC_NO_OFFSET && !(descp->vdesc_flags & VDESC_NOMAP_VPP) && !error) { - if (enccn == NULL) { + if (ptk == NULL) { printf("PANIC: vop_bypass: map of outgoing vnode without encrypted name: %s", descp->vdesc_name); // panic("vop_bypass: map of outgoing vnode without encrypted name: %s", descp->vdesc_name); } @@ -415,7 +407,7 @@ vppp = VOPARG_OFFSETTO(struct vnode***, descp->vdesc_vpp_offset,ap); if (*vppp) - error = pefs_node_get(old_vps[0]->v_mount, **vppp, *vppp); + error = pefs_node_get(old_vps[0]->v_mount, **vppp, *vppp, ptk); } out: @@ -478,7 +470,7 @@ VREF(dvp); vrele(lvp); } else { - error = pefs_node_get(dvp->v_mount, lvp, &vp); + error = pefs_node_get(dvp->v_mount, lvp, &vp, &enccn.pec_tkey); if (error) { vput(lvp); } else { @@ -974,34 +966,30 @@ } static void -pefs_readdir_decrypt(void *mem, size_t sz) +pefs_readdir_decrypt(struct pefs_key *pk, void *mem, size_t sz, char *buf, size_t buf_sz) { - struct pefs_node_key pnk; struct dirent *de; - char *d_name; int d_namelen; int de_len; - d_name = malloc(MAXNAMLEN + 1, M_PEFSBUF, M_WAITOK); for (de = (struct dirent*) mem; sz > 0; sz -= de_len, de = (struct dirent *)(((caddr_t)de) + de_len)) { de_len = GENERIC_DIRSIZ(de); if (pefs_name_skip(de->d_name, de->d_namlen)) continue; - d_namelen = pefs_name_decrypt(&pnk, de->d_name, de->d_namlen, d_name, MAXPATHLEN + 1); + d_namelen = pefs_name_decrypt(pk, NULL, de->d_name, de->d_namlen, buf, buf_sz); PEFSDEBUG("%s =>; res=%d; %.*s --> %.*s\n", __func__, d_namelen, de->d_namlen, de->d_name, - d_namelen < 0 ? 0 : d_namelen, d_name); + d_namelen < 0 ? 0 : d_namelen, buf); if (d_namelen > 0) { /* * Do not change d_reclen */ - strlcpy(de->d_name, d_name, de->d_namlen + 1); + strlcpy(de->d_name, buf, de->d_namlen + 1); de->d_namlen = d_namelen; } } - free(d_name, M_PEFSBUF); } static int @@ -1009,7 +997,10 @@ { struct uio *uio = ap->a_uio; struct uio *puio; + struct pefs_node *pn = VP_TO_PN(ap->a_vp); + struct pefs_key *pn_key; struct pefs_chunk *pc; + char *buf; int o_resid; int error; @@ -1019,7 +1010,9 @@ ap->a_uio = puio; error = pefs_bypass((struct vop_generic_args *)ap, NULL); ap->a_uio = uio; + pn_key = pefs_node_key(pn); PEFSDEBUG("%s => %d; ncookies=%d\n", __func__, error, ap->a_ncookies ? *ap->a_ncookies : -1); + buf = malloc(MAXNAMLEN + 1, M_PEFSBUF, M_WAITOK); if (!error) { long arg = 0; char *mem; @@ -1032,12 +1025,13 @@ if (mem == NULL) break; printf("%s: convert mem=%p; size=%d\n", __func__, mem, size); - pefs_readdir_decrypt(mem, size); + pefs_readdir_decrypt(pn_key, mem, size, buf, MAXNAMLEN + 1); } pefs_chunk_copy(pc, 0, uio); uio->uio_offset = puio->uio_offset; uio->uio_resid = puio->uio_resid; } + free(buf, M_PEFSBUF); pefs_chunk_free(pc); return (error); } @@ -1058,7 +1052,7 @@ } ap->a_cnp = &enccn.pec_cn; - error = pefs_bypass((struct vop_generic_args *)ap, &enccn); + error = pefs_bypass((struct vop_generic_args *)ap, &enccn.pec_tkey); ap->a_cnp = cnp; pefs_enccn_free(&enccn); @@ -1114,7 +1108,7 @@ PEFSDEBUG("%s: cn_nameiop=%lx, cn_nameptr=%.*s\n", __func__, cnp->cn_nameiop, (int) cnp->cn_namelen, cnp->cn_nameptr); ap->a_cnp = &enccn.pec_cn; - error = pefs_bypass((struct vop_generic_args *)ap, &enccn); + error = pefs_bypass((struct vop_generic_args *)ap, &enccn.pec_tkey); ap->a_cnp = cnp; pefs_enccn_free(&enccn); @@ -1188,30 +1182,30 @@ size_t target_len; int error; + error = pefs_enccn_lookup_create(&enccn, dvp, cnp); + if (error) { + return (error); + } + target_len = strlen(ap->a_target); penc_target_len = PEFS_NAME_NTOP_SIZE(target_len) + 1; enc_target = malloc(target_len, M_PEFSBUF, M_WAITOK); penc_target = malloc(penc_target_len, M_PEFSBUF, M_WAITOK); memcpy(enc_target, target, target_len); - pefs_data_encrypt_buf(NULL, 0, enc_target, target_len); + pefs_data_encrypt_buf(&enccn.pec_tkey, 0, enc_target, target_len); pefs_name_ntop(enc_target, target_len, penc_target, penc_target_len); free(enc_target, M_PEFSBUF); enc_target = NULL; - error = pefs_enccn_lookup_create(&enccn, dvp, cnp); - if (error) { - return (error); - } - PEFSDEBUG("%s: %.*s; target=%s penc_target=%s\n", __func__, (int) cnp->cn_namelen, cnp->cn_nameptr, target, penc_target); ldvp = PEFS_LOWERVP(ap->a_dvp); error = VOP_SYMLINK(ldvp, &lvpp, &enccn.pec_cn, ap->a_vap, penc_target); if (!error) { - error = pefs_node_get(dvp->v_mount, lvpp, &vpp); + error = pefs_node_get(dvp->v_mount, lvpp, &vpp, &enccn.pec_tkey); if (error) vput(lvpp); else @@ -1232,6 +1226,7 @@ struct uio *uio = ap->a_uio; struct uio *puio; struct pefs_chunk *pc; + struct pefs_node *pn = VP_TO_PN(vp); off_t o_offset; int o_resid; int error; @@ -1261,7 +1256,7 @@ if (target_len < 0) { error = EIO; } else { - pefs_data_decrypt_buf(NULL, 0, target, target_len); + pefs_data_decrypt_buf(pefs_node_tkey(pn), 0, target, target_len); PEFSDEBUG("%s: target=%.*s\n", __func__, target_len, target); uiomove(target, target_len, uio); } @@ -1288,7 +1283,7 @@ PEFSDEBUG("%s: cn_nameiop=%lx, cn_nameptr=%.*s\n", __func__, cnp->cn_nameiop, (int) cnp->cn_namelen, cnp->cn_nameptr); ap->a_cnp = &enccn.pec_cn; - error = pefs_bypass((struct vop_generic_args *)ap, &enccn); + error = pefs_bypass((struct vop_generic_args *)ap, &enccn.pec_tkey); ap->a_cnp = cnp; pefs_enccn_free(&enccn); @@ -1350,7 +1345,7 @@ int done = pc->pc_size - puio->uio_resid; if (done > skip_begin) { pefs_chunk_shrink(pc, done); - pefs_data_decrypt(NULL, o_offset - skip_begin, pc); + pefs_data_decrypt(pefs_node_tkey(VP_TO_PN(vp)), o_offset - skip_begin, pc); pefs_chunk_copy(pc, skip_begin, uio); } } @@ -1367,6 +1362,7 @@ struct uio *uio = ap->a_uio; struct uio *puio; struct pefs_chunk *pc; + struct pefs_node *pn = VP_TO_PN(vp); struct vnode *lvp; size_t skip_begin, skip_end; off_t o_offset; @@ -1413,7 +1409,7 @@ done = PEFS_BLOCK - puio->uio_resid; PEFSDEBUG("%s: read skip_begin: puio_resid=%d; puio done=%d\n", __func__, puio->uio_resid, done); if (done > 0) { - pefs_data_decrypt_buf(NULL, o_offset - skip_begin, + pefs_data_decrypt_buf(pefs_node_tkey(pn), o_offset - skip_begin, (char *)puio->uio_iov[0].iov_base - done, done); } if (puio->uio_resid) { @@ -1442,7 +1438,7 @@ done = PEFS_BLOCK - puio->uio_resid; PEFSDEBUG("%s: read skip_end: puio_resid=%d\n", __func__, puio->uio_resid); if (done > 0) { - pefs_data_decrypt_buf(NULL, puio_offset, + pefs_data_decrypt_buf(pefs_node_tkey(pn), puio_offset, (char *)puio->uio_iov[0].iov_base - done, done); } } @@ -1460,7 +1456,7 @@ pefs_chunk_crop(pc, 0, va.va_size - o_offset - o_resid); } - pefs_data_encrypt(NULL, o_offset - skip_begin, pc); + pefs_data_encrypt(pefs_node_tkey(pn), o_offset - skip_begin, pc); puio = pefs_chunk_uio(pc, o_offset - skip_begin, uio->uio_rw); PEFSDEBUG("%s: puio_offset=%ju; o_offset=%ju; puio_resid=%d; o_resid=%d; pc_size=%d\n", __func__, (intmax_t) puio->uio_offset, (intmax_t) o_offset, From fangwang at FreeBSD.org Fri Jul 3 18:56:04 2009 From: fangwang at FreeBSD.org (Fang Wang) Date: Fri Jul 3 18:56:11 2009 Subject: PERFORCE change 165572 for review Message-ID: <200907031856.n63Iu3wV026040@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165572 Change 165572 by fangwang@fangwang_utobsd on 2009/07/03 18:55:40 Tcp uto can work now. Affected files ... .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp.h#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_input.c#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_output.c#8 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_subr.c#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#9 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.h#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.h#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_var.h#11 edit .. //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/Makefile#2 edit .. //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/tcputo.c#4 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp.h#6 (text+ko) ==== @@ -154,11 +154,11 @@ #define TCP_CONGESTION 0x40 /* get/set congestion control algorithm */ #define TCP_UTO 0x80 /* set tcp user timeout */ /* Used with TCP_UTO through setsockopt and getsockopt */ -struct tcp_uto { +struct tcputo { int uto; int flags; }; -/* Values for flags in struct tcp_uto */ +/* Values for flags in struct tcputo */ #define STORE_UTO 0x01 #define ENABLE_UTO 0x02 #define ENABLE_CHANGE 0x04 ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_input.c#6 (text+ko) ==== @@ -1188,8 +1188,11 @@ /* * If TCP user timeout option is received, because it's an - * optional option, we do nothing at this moment. And we will - * process when we need to use it. + * optional option, we do nothing at this moment. We will + * process when we need to use it. And we need it in two + * cases: + * 1. We need do retransmission. + * 2. Users request a UTO value. */ if (to.to_flags & TOF_UTO) { tp->uto_flags |= TCPUTO_RCVD; @@ -2246,11 +2249,14 @@ } process_ACK: + /* + * If we are sending the UTO option, and we receive a ACK acknowledge the + * segment carrying the UTO option, the UTO was send successfully. So we + * stop sending the UTO option. + */ if (tp->uto_flags & TCPUTO_SENDING) - if (SEQ_GT(th->th_ack, tp->uto_carrier)) { + if (SEQ_GEQ(th->th_ack, tp->uto_carrier)) tp->uto_flags &= ~TCPUTO_SENDING; - tp->uto_flags |= TCPUTO_SENT; - } INP_INFO_LOCK_ASSERT(&V_tcbinfo); KASSERT(ti_locked == TI_RLOCKED || ti_locked == TI_WLOCKED, ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_output.c#8 (text+ko) ==== @@ -701,7 +701,7 @@ * is a SYN or SYN | ACK segment, or the segment is a normal * data segment. */ - if (flags & TH_SYN || (len && (tp->t_flags & ~TF_FORCEDATA) == 0)) + if (flags & TH_SYN || (len && (tp->t_flags & TF_FORCEDATA) == 0)) if (tp->uto_flags & (TCPUTO_NEED | TCPUTO_SENDING)) { to.to_uto = tp->snd_uto; to.to_flags |= TOF_UTO; @@ -710,8 +710,16 @@ /* Processing the options. */ hdrlen += optlen = tcp_addoptions(&to, opt); - /* Check whether we place UTO in TCP header successfully */ - if (tp->uto_flags & (TCPUTO_NEED | TCPUTO_SENDING) && + /* + * According to RFC 5482: + * "In addition to exchanging UTO options in the SYN segments, a + * connection that has enabled UTO options SHOULD include a UTO option + * in the first packet that does not have the SYN flag set. This helps to minimize + * the amount of state information TCP must keep for connections in non-synchronized states." + * So even though UTO options is put in SYN segment successfully, we still transmit it. + */ + if ((flags & TH_SYN) == 0 && + tp->uto_flags & (TCPUTO_NEED | TCPUTO_SENDING) && (to.to_flags & TOF_UTO) == 0) { tp->uto_flags &= ~(TCPUTO_NEED | TCPUTO_SENDING); tp->uto_flags |= TCPUTO_SENDING; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_subr.c#5 (text+ko) ==== @@ -403,8 +403,8 @@ tcp_rexmit_slop = TCPTV_CPU_VAR; tcp_finwait2_timeout = TCPTV_FINWAIT2_TIMEOUT; tcp_tcbhashsize = hashsize; - tcp_uto_min = TCPTV_UTOMIN; - tcp_uto_max = TCPTV_UTOMAX; + tcp_uto_min = TCPTV_UTO_MIN; + tcp_uto_max = TCPTV_UTO_MAX; #ifdef INET6 #define TCP_MINPROTOHDR (sizeof(struct ip6_hdr) + sizeof(struct tcphdr)) @@ -740,13 +740,15 @@ tp->snd_ssthresh = TCP_MAXWIN << TCP_MAX_WINSHIFT; tp->t_rcvtime = ticks; tp->t_bw_rtttime = ticks; + + tp->uto_flags = TCPUTO_CHANGEABLE; + if (tcp_uto_enable) + tp->uto_flags |= TCPUTO_ENABLE; /* - * Init TCP user timeout (RFC5482) variables. We don't enable UTO by default, - * but we make it available if a UTO request is received or set through - * setsockopt system call. - */ - tp->uto_flags = TCPUTO_ENABLE | TCPUTO_CHANGEABLE; - tp->t_uto_adv = 64 * 4; + * According to RFC 5482, t_uto_adv is UTO option advertised to the remote TCP peer. + * It defaults to the default system-wide USER TIMEOUT. + */ + tp->t_uto_adv = TCPTV_UTO_DEFAULT; /* * IPv4 TTL initialization is necessary for an IPv6 socket as well, * because the socket may be bound to an IPv6 wildcard address, ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#9 (text+ko) ==== @@ -772,7 +772,7 @@ #endif if (sc->sc_flags & SCF_SACK) tp->t_flags |= TF_SACK_PERMIT; - if (sc->sc_flags & SCF_RCVD_UTO) { + if (sc->sc_flags & SCF_UTO) { tp->uto_flags |= TCPUTO_RCVD; tp->rcv_uto = sc->sc_peer_uto; } @@ -1220,11 +1220,7 @@ sc->sc_flags |= SCF_ECN; if (to->to_flags & TOF_UTO) { sc->sc_peer_uto = to->to_uto; - sc->sc_flags |= SCF_RCVD_UTO; - } - if (uto_flags & TCPUTO_NEED) { - sc->sc_uto = snd_uto; - sc->sc_flags = SCF_NEED_UTO; + sc->sc_flags |= SCF_UTO; } if (V_tcp_syncookies) { @@ -1393,10 +1389,6 @@ if (sc->sc_flags & SCF_SIGNATURE) to.to_flags |= TOF_SIGNATURE; #endif - if (sc->sc_flags & SCF_NEED_UTO) { - to.to_uto = sc->sc_uto; - to.to_flags |= TOF_UTO; - } optlen = tcp_addoptions(&to, (u_char *)(th + 1)); ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.h#6 (text+ko) ==== @@ -70,7 +70,6 @@ u_int8_t sc_requested_s_scale:4, sc_requested_r_scale:4; u_int16_t sc_peer_uto; /* peer's user timeout */ - u_int16_t sc_uto; /* our user timeout to send */ u_int16_t sc_flags; #ifndef TCP_OFFLOAD_DISABLE struct toe_usrreqs *sc_tu; /* TOE operations */ @@ -93,8 +92,7 @@ #define SCF_SIGNATURE 0x20 /* send MD5 digests */ #define SCF_SACK 0x80 /* send SACK option */ #define SCF_ECN 0x100 /* send ECN setup packet */ -#define SCF_NEED_UTO 0x200 /* send UTO option */ -#define SCF_RCVD_UTO 0x400 /* received UTO option */ +#define SCF_UTO 0x200 /* UTO option received */ #define SYNCOOKIE_SECRET_SIZE 8 /* dwords */ #define SYNCOOKIE_LIFETIME 16 /* seconds */ ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#6 (text+ko) ==== @@ -117,6 +117,9 @@ int tcp_uto_max; SYSCTL_PROC(_net_inet_tcp, OID_AUTO, uto_max, CTLTYPE_INT|CTLFLAG_RW, &tcp_uto_max, 0, sysctl_msec_to_ticks, "I", "Maximum user timeout"); +int tcp_uto_enable = 0; +SYSCTL_INT(_net_inet_tcp, OID_AUTO, always_enableuto, CTLFLAG_RW, + &tcp_uto_enable , 0, "Enable TCP user timeout option on all TCP connections"); static int tcp_keepcnt = TCPTV_KEEPCNT; /* max idle probes */ @@ -159,7 +162,6 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, timer_race, CTLFLAG_RD, &tcp_timer_race, 0, "Count of t_inpcb races on tcp_discardcb"); -static int tcp_timer_uto_interval(struct tcpcb *); /* * TCP timer processing. @@ -448,26 +450,6 @@ CURVNET_RESTORE(); } -static int -tcp_timer_uto_interval(struct tcpcb *tp) -{ - int rxtcur; - int rxttimes; - int rexmt; - int interval; - - rxttimes = min(TCP_MAXRXTSHIFT, tp->t_rxtshift); - rexmt = TCP_REXMTVAL(tp) * tcp_backoff[rxttimes]; - TCPT_RANGESET(rxtcur, rexmt, tp->t_rttmin, TCPTV_REXMTMAX); - interval = rxtcur / TCP_REXMTVAL(tp); - - if (tp->t_uto_left - interval < 0) - interval = tp->t_uto_left; - tp->t_uto_left -= interval; - - return (interval); -} - void tcp_timer_rexmt(void * xtp) { @@ -508,6 +490,20 @@ } callout_deactivate(&tp->t_timers->tt_rexmt); tcp_free_sackholes(tp); + + if (tp->t_rxtshift == 0) { + if (tp->uto_flags & TCPUTO_ENABLE && + tp->uto_flags & TCPUTO_RCVD && + tp->uto_flags & TCPUTO_CHANGEABLE) { + u_int utoval; + TCPT_UTOGET(utoval, tp->rcv_uto); + tp->t_uto_impl = min(tcp_uto_max, + max(tp->t_uto_adv, max(utoval, tcp_uto_min))); + tp->uto_flags &= ~TCPUTO_RCVD; + tp->uto_flags |= TCPUTO_IMPL; + } + tp->t_uto_left = tp->t_uto_impl / hz; + } /* * Retransmission timer went off. Message has not * been acked within retransmit interval. Back off @@ -541,17 +537,6 @@ else tp->t_flags &= ~TF_WASFRECOVERY; tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1)); - - if (tp->uto_flags & TCPUTO_ENABLE && - (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET) { - u_int utoval; - TCP_UTOVAL(utoval, tp->rcv_uto); - tp->t_uto_impl = min(tcp_uto_max, - max(tp->t_uto_adv, max(utoval, tcp_uto_min))); - tp->uto_flags &= ~TCPUTO_PEER_SET; - tp->uto_flags |= TCPUTO_IMPL; - } - tp->t_uto_left = tp->t_uto_impl; } TCPSTAT_INC(tcps_rexmttimeo); if (tp->t_state == TCPS_SYN_SENT) @@ -559,8 +544,13 @@ else if ((tp->uto_flags & TCPUTO_IMPL) == 0) rexmt = TCP_REXMTVAL(tp) * tcp_backoff[tp->t_rxtshift]; - else - rexmt = TCP_REXMTVAL(tp) * tcp_timer_uto_interval(tp); + else { + int rxtshift; + rxtshift = min(TCP_MAXRXTSHIFT, tp->t_rxtshift); + tp->t_uto_left -= min(tp->t_uto_left, + min(TCP_REXMTMAX, tcp_backoff[rxtshift])); + rexmt = TCP_REXMTVAL(tp) * tcp_backoff[rxtshift]; + } TCPT_RANGESET(tp->t_rxtcur, rexmt, tp->t_rttmin, TCPTV_REXMTMAX); ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.h#5 (text+ko) ==== @@ -91,8 +91,9 @@ #define TCPTV_FINWAIT2_TIMEOUT (60*hz) /* FIN_WAIT_2 timeout if no receiver */ -#define TCPTV_UTOMIN (120*hz) /* min user timeout */ -#define TCPTV_UTOMAX (720*hz) /* max user timeout */ +#define TCPTV_UTO_MIN ( 120*hz) /* min user timeout */ +#define TCPTV_UTO_MAX (1020*hz) /* max user timeout */ +#define TCPTV_UTO_DEFAULT ( 511*hz) /* default user timeout */ /* * Minimum retransmit timer is 3 ticks, for algorithmic stability. @@ -115,9 +116,9 @@ * networks faster then a modem that has minor (e.g. 1%) packet loss. */ #define TCPTV_MIN ( hz/33 ) /* minimum allowable value */ -#define TCPTV_CPU_VAR ( hz/5 ) /* cpu variance allowed (200ms) */ -#define TCPTV_REXMTMAX ( 64*hz) /* max allowable REXMT value */ - +#define TCPTV_CPU_VAR ( hz/5 ) /* cpu variance allowed (200ms) */ +#define TCPTV_REXMTMAX ( TCP_REXMTMAX*hz ) /* max allowable REXMT value */ +#define TCP_REXMTMAX 64 /* max allowable REXMT value in seconds */ #define TCPTV_TWTRUNC 8 /* RTO factor to truncate TW */ #define TCP_LINGERTIME 120 /* linger at most 2 minutes */ @@ -142,6 +143,16 @@ (tv) = (tvmax); \ } while(0) +/* +* Get user timeout value(ticks). +*/ +#define TCPT_UTOGET(utoval, uto) do { \ + (utoval) = (uto) >> 1; \ + if ((uto) & 1) \ + (utoval) *= 60; \ + (utoval) *= hz; \ +} while(0) + #ifdef _KERNEL struct tcp_timer { @@ -173,7 +184,7 @@ extern int tcp_fast_finwait2_recycle; extern int tcp_uto_min; extern int tcp_uto_max; - +extern int tcp_uto_enable; void tcp_timer_init(void); void tcp_timer_2msl(void *xtp); struct tcptw * ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#6 (text+ko) ==== @@ -1256,7 +1256,7 @@ struct inpcb *inp; struct tcpcb *tp; struct tcp_info ti; - struct tcp_uto tu; + struct tcputo tu; error = 0; inp = sotoinpcb(so); @@ -1374,33 +1374,37 @@ return (error); INP_WLOCK_RECHECK(inp); + if (tu.flags & ~(ENABLE_UTO | STORE_UTO | ENABLE_CHANGE)) { + error = EINVAL; + break; + } if (tu.flags & ENABLE_UTO) tp->uto_flags |= TCPUTO_ENABLE; - if (tu.flags & STORE_UTO) + if (tu.flags & STORE_UTO) { tp->uto_flags |= TCPUTO_NEED; + if (tu.uto > 0 && tu.uto <= 0x8FFF * 60) { + if (tu.uto > 0x8FFF) { + tp->snd_uto = tu.uto / 60; + tp->snd_uto <<= 1; + tp->snd_uto |= 1; + } else { + tp->snd_uto = tu.uto; + tp->snd_uto <<= 1; + } + if (tp->uto_flags & TCPUTO_ENABLE && + tp->uto_flags & TCPUTO_NEED) { + tp->t_uto_impl = min(tcp_uto_max, + max(tu.uto * hz, tcp_uto_min)); + tp->t_uto_adv = tp->t_uto_impl; + tp->uto_flags &= ~TCPUTO_CHANGEABLE; + tp->uto_flags |= TCPUTO_IMPL; + } + } + else + error = EINVAL; + } if ( tu.flags & ENABLE_CHANGE) tp->uto_flags |= TCPUTO_CHANGEABLE; - if (tu.flags & STORE_UTO && - tu.uto > 0 && tu.uto <= 0x8FFF * 60) { - if (tu.uto > 0x8FFF) { - tp->snd_uto = tu.uto / 60; - tp->snd_uto <<= 1; - tp->snd_uto |= 1; - } else { - tp->snd_uto = tu.uto; - tp->snd_uto <<= 1; - } - if (tp->uto_flags & TCPUTO_ENABLE && - tp->uto_flags & TCPUTO_NEED) { - tp->t_uto_impl = min(tcp_uto_max, - max(tu.uto, tcp_uto_min)); - tp->t_uto_adv = tp->t_uto_impl; - tp->uto_flags &= ~TCPUTO_CHANGEABLE; - tp->uto_flags |= TCPUTO_IMPL; - } - } - else - error = EINVAL; INP_WUNLOCK(inp); break; @@ -1454,11 +1458,12 @@ if (tp->uto_flags & TCPUTO_CHANGEABLE) tu.flags |= ENABLE_CHANGE; if (tp->uto_flags & TCPUTO_ENABLE && - (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET) { - TCP_UTOVAL(tu.uto, tp->rcv_uto); + tp->uto_flags & TCPUTO_RCVD && + tp->uto_flags & TCPUTO_CHANGEABLE) { + TCPT_UTOGET(tp->t_uto_impl, tp->rcv_uto); tp->t_uto_impl = min(tcp_uto_max, - max(tp->t_uto_adv, max(tu.uto, tcp_uto_min))); - tp->uto_flags &= ~TCPUTO_PEER_SET; + max(tp->t_uto_adv, max(tp->t_uto_impl, tcp_uto_min))); + tp->uto_flags &= ~TCPUTO_RCVD; tp->uto_flags |= TCPUTO_IMPL; } if (tp->uto_flags & TCPUTO_IMPL) { ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_var.h#11 (text+ko) ==== @@ -195,9 +195,9 @@ uint16_t rcv_uto; /* received user timeout */ uint16_t snd_uto; /* send user timeout */ uint8_t uto_flags; - u_int t_uto_adv; - u_int t_uto_impl; /* implemented user timeout */ - u_int t_uto_left; /* remained user timeout value */ + u_int t_uto_adv; /* user timeout send to remote peer(ticks) */ + u_int t_uto_impl; /* implemented user timeout(ticks) */ + u_int t_uto_left; /* remained user timeout value(seconds) */ tcp_seq uto_carrier; /* max sequence number that carry user timeout */ }; @@ -250,14 +250,6 @@ #define TCPUTO_RCVD 0x08 /* other side has requested user timeout */ #define TCPUTO_NEED 0x10 /* user timeout need to be sent */ #define TCPUTO_SENDING 0x20 /* user timeout is in the process of sending */ -#define TCPUTO_SENT 0x40 /* user timeout is sent successfully */ -#define TCPUTO_PEER_SET (TCPUTO_CHANGEABLE | TCPUTO_RCVD) - -#define TCP_UTOVAL(utoval, uto) do { \ - (utoval) = (uto) >> 1; \ - if ((uto) & 1) \ - (utoval) *= 60; \ -} while(0) #ifdef TCP_SIGNATURE /* ==== //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/Makefile#2 (text+ko) ==== @@ -1,8 +1,7 @@ # -# $FreeBSD: src/tools/regression/netinet/tcputo/Makefile,v 1.3 2009/6/28 08:47:22 ru Exp $ +# $FreeBSD: src/tools/regression/netinet/tcputo/Makefile,v 1.3 2009/6/28 08:47:22 fw Exp $ # -CFLAGS+= -Wall PROG= tcputo NO_MAN= ==== //depot/projects/soc2009/tcputo/src/tools/regression/netinet/tcputo/tcputo.c#4 (text+ko) ==== @@ -23,15 +23,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/tools/regression/netinet/tcputo/tcputo.c $ + * $FreeBSD: src/tools/regression/netinet/tcputo/tcputo.c 2009/7/4 02:54:36 fw $ */ #include #include #include -//#include -#include "tcp.h" +#include #include @@ -47,8 +46,8 @@ usage(void) { - fprintf(stderr, "tcpconnect server port\n"); - fprintf(stderr, "tcpconnect client ip port\n"); + fprintf(stderr, "tcpconnect server port [user timeout]\n"); + fprintf(stderr, "tcpconnect client ip port [user timeout]\n"); exit(-1); } @@ -82,8 +81,9 @@ long port; int user_timeout; int optval; + struct tcputo uto; - if (argc != 1) + if (argc != 1 && argc != 2) usage(); bzero(&sin, sizeof(sin)); @@ -99,10 +99,10 @@ listen_sock = socket(PF_INET, SOCK_STREAM, 0); if (listen_sock == -1) err(-1, "socket"); - optval = 150; - /*if (setsockopt(listen_sock, IPPROTO_TCP, TCP_UTO, &optval, sizeof(optval)) == -1) + optval = 1; + if (setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) == -1) err(-1, "setsockopt"); -*/ + if (bind(listen_sock, (struct sockaddr *)&sin, sizeof(sin)) == -1) err(-1, "bind"); @@ -110,10 +110,17 @@ err(-1, "listen"); accept_sock = accept(listen_sock, NULL, NULL); - close(listen_sock); optval = 4*1024; if (setsockopt(accept_sock, SOL_SOCKET, SO_SNDBUF, &optval, sizeof(optval)) == -1) err(-1, "setsockopt"); + uto.flags = ENABLE_UTO; + if (argc == 2) { + uto.uto = atoi(argv[1]); + uto.flags |= STORE_UTO; + } + if (setsockopt(accept_sock, IPPROTO_TCP, TCP_UTO, &uto, sizeof(uto)) == -1) + err(-1, "setsockopt"); + close(listen_sock); while(1) { sleep(1); printf("server again %d\n", optval++); @@ -142,8 +149,9 @@ int sock; int user_timeout; int optval = 4*1024; + struct tcputo uto; - if (argc != 2) + if (argc != 2 && argc != 3) usage(); bzero(&sin, sizeof(sin)); @@ -162,19 +170,13 @@ err(-1, "socket"); if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF, &optval, sizeof(optval)) == -1) err(-1, "setsockopt"); - optval = 150; -/* if (setsockopt(sock, IPPROTO_TCP, TCP_UTO, &optval, sizeof(optval)) == -1) - err(-1, "setsockopt"); -*/ - /* No warning in default case on ENOPROTOOPT. */ - /* if (setsockopt(sock, IPPROTO_TCP, TCP_MD5SIG, - &md5enable, sizeof(md5enable)) != 0) { - if (errno == ENOPROTOOPT && md5enable > 0) - err(-1, "setsockopt(TCP_MD5SIG)"); - else if (errno != ENOPROTOOPT) - warn("setsockopt(TCP_MD5SIG)"); - } */ - + + if (argc == 3) { + uto.uto = atoi(argv[2]); + uto.flags = ENABLE_UTO | STORE_UTO; + if (setsockopt(sock, IPPROTO_TCP, TCP_UTO, &uto, sizeof(uto)) == -1) + err(-1, "setsockopt"); + } if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) == -1) err(-1, "connect"); From mav at FreeBSD.org Fri Jul 3 19:05:14 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Fri Jul 3 19:05:20 2009 Subject: PERFORCE change 165573 for review Message-ID: <200907031905.n63J5Duq027641@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165573 Change 165573 by mav@mav_mavbook on 2009/07/03 19:04:15 Handle data overrun as fatal error. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#42 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#42 (text+ko) ==== @@ -877,7 +877,8 @@ if (istatus & (AHCI_P_IX_PRC | AHCI_P_IX_PC)) ahci_phy_check_events(dev); /* Process command errors */ - if (istatus & (AHCI_P_IX_IF|AHCI_P_IX_HBD|AHCI_P_IX_HBF|AHCI_P_IX_TFE)) { + if (istatus & (AHCI_P_IX_IF | AHCI_P_IX_HBD | AHCI_P_IX_HBF | + AHCI_P_IX_TFE | AHCI_P_IX_OF)) { //device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x serr %08x\n", // __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD), // ATA_INL(ch->r_mem, AHCI_P_SERR)); From truncs at FreeBSD.org Fri Jul 3 19:21:32 2009 From: truncs at FreeBSD.org (Aditya Sarawgi) Date: Fri Jul 3 19:21:38 2009 Subject: PERFORCE change 165574 for review Message-ID: <200907031921.n63JLVY1028825@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165574 Change 165574 by truncs@aditya on 2009/07/03 19:20:53 Introducing ext2_hashalloc and ext2_alloccg to find a new block. Currently preallocation is not implemented and preallocation. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#25 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#25 (text+ko) ==== @@ -107,7 +107,7 @@ { struct m_ext2fs *fs; int32_t bno; - + int cg; *bnp = 0; fs = ip->i_e2fs; #ifdef DIAGNOSTIC @@ -126,7 +126,21 @@ goto nospace; if (bpref >= fs->e2fs->e2fs_bcount) bpref = 0; - /* call the Linux code */ + if (bpref == 0) + cg = ino_to_cg(fs, ip->i_number); + else + cg = dtog(fs, bpref); + bno = (daddr_t)ext2_hashalloc(ip, cg, bpref, fs->e2fs_bsize, + ext2_alloccg); + if (bno > 0) { + ip->i_blocks += btodb(fs->e2fs_bsize); + ip->i_flag |= IN_CHANGE | IN_UPDATE; + *bnp = bno; + return (0); + } + + +#ifdef notused #ifdef EXT2_PREALLOCATE /* To have a preallocation hit, we must * - have at least one block preallocated @@ -171,6 +185,7 @@ *bnp = bno; return (0); } +#endif nospace: ext2_fserr(fs, cred->cr_uid, "file system full"); uprintf("\n%s: write failed, file system is full\n", fs->e2fs_fsmnt); @@ -727,7 +742,6 @@ bno = ext2_mapsearch(fs, bbp, bpref); if (bno < 0){ - unlock_super(DEVVP(ip)); return (0); } gotit: From pgj at FreeBSD.org Fri Jul 3 19:31:44 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Fri Jul 3 19:31:50 2009 Subject: PERFORCE change 165575 for review Message-ID: <200907031931.n63JVgoE029524@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165575 Change 165575 by pgj@petymeg-current on 2009/07/03 19:31:37 - Fix padding values of unpcb_data and inpcb_data, so they now work correctly between a 64-bit kernel and a 32-bit userland - Fix consistency of types Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#22 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#20 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#22 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/netinet/in_pcb.h#4 edit .. //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#5 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#22 (text+ko) ==== @@ -64,9 +64,9 @@ const char *netstat_st_get_extname(const struct socket_type *stp); const struct sockbuf_type *netstat_st_get_snd(const struct socket_type *stp); const struct sockbuf_type *netstat_st_get_rcv(const struct socket_type *stp); -uint16_t netstat_st_get_qlen(const struct socket_type *stp); -uint16_t netstat_st_get_incqlen(const struct socket_type *stp); -uint16_t netstat_st_get_qlimit(const struct socket_type *stp); +u_int16_t netstat_st_get_qlen(const struct socket_type *stp); +u_int16_t netstat_st_get_incqlen(const struct socket_type *stp); +u_int16_t netstat_st_get_qlimit(const struct socket_type *stp); u_int64_t netstat_st_get_pcb(const struct socket_type *stp); u_int64_t netstat_st_get_vnode(const struct socket_type *stp); u_int64_t netstat_st_get_conn(const struct socket_type *stp); @@ -82,7 +82,7 @@ const char *netstat_at_get_numeric(const struct addr_type *atp); int netstat_at_get_address(const struct addr_type *atp, char *addr, int addr_len); -uint16_t netstat_at_get_port(const struct addr_type *atp); +u_int16_t netstat_at_get_port(const struct addr_type *atp); const char *netstat_at_get_portname(struct addr_type *atp); /* Socket buffers: */ u_int32_t netstat_sbt_get_cc(const struct sockbuf_type *sbtp); ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#20 (text+ko) ==== @@ -73,10 +73,10 @@ struct sockbuf_type st_snd; struct sockbuf_type st_rcv; - uint16_t st_qlen; /* number of unaccepted connections */ - uint16_t st_incqlen; /* number of unaccepted incomplete + u_int16_t st_qlen; /* number of unaccepted connections */ + u_int16_t st_incqlen; /* number of unaccepted incomplete connections */ - uint16_t st_qlimit; /* max number queued connections */ + u_int16_t st_qlimit; /* max number queued connections */ u_int64_t st_pcb; /* protocol control block */ u_int64_t st_vnode; /* if associated with file */ u_int64_t st_conn; /* control block of connected socket */ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#22 (text+ko) ==== ==== //depot/projects/soc2009/pgj_libstat/src/sys/netinet/in_pcb.h#4 (text+ko) ==== @@ -293,7 +293,7 @@ u_int16_t id_fport; u_int8_t id_laddr[16]; u_int8_t id_faddr[16]; - u_int8_t _id_pad[8]; + u_int8_t _id_pad[2]; }; ==== //depot/projects/soc2009/pgj_libstat/src/sys/sys/unpcb.h#5 (text+ko) ==== @@ -184,7 +184,7 @@ u_int64_t ud_conn; u_int64_t ud_refs; u_int64_t ud_reflink; - u_int8_t _ud_pad[51]; + u_int8_t _ud_pad[38]; }; #endif /* _SYS_UNPCB_H_ */ From mav at FreeBSD.org Fri Jul 3 19:40:54 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Fri Jul 3 19:41:01 2009 Subject: PERFORCE change 165576 for review Message-ID: <200907031940.n63Jeqcd030275@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165576 Change 165576 by mav@mav_mavbook on 2009/07/03 19:40:50 Avoid confusing PM abbreviatob. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#43 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#43 (text+ko) ==== @@ -163,7 +163,7 @@ caps = ATA_INL(ctlr->r_mem, AHCI_CAP); speed = (caps & AHCI_CAP_ISS) >> AHCI_CAP_ISS_SHIFT; device_printf(dev, - "AHCI v%x.%02x controller with %d %sGbps ports, PM %s\n", + "AHCI v%x.%02x with %d %sGbps ports, Port Multiplier %s\n", ((version >> 20) & 0xf0) + ((version >> 16) & 0x0f), ((version >> 4) & 0xf0) + (version & 0x0f), (caps & AHCI_CAP_NPMASK) + 1, From mav at FreeBSD.org Sat Jul 4 05:02:07 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Sat Jul 4 05:02:14 2009 Subject: PERFORCE change 165585 for review Message-ID: <200907040502.n64525ot011773@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165585 Change 165585 by mav@mav_mavbook on 2009/07/04 05:01:36 IFC Affected files ... .. //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#8 integrate .. //depot/projects/scottl-camlock/src/UPDATING#9 integrate .. //depot/projects/scottl-camlock/src/bin/chmod/chmod.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/msgctl.3#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/getsockopt.2#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/sys/shmctl.2#3 integrate .. //depot/projects/scottl-camlock/src/release/amd64/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/i386/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/ia64/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/pc98/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/powerpc/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/sparc64/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/release/sun4v/boot_crunch.conf#3 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/acpi_hp.4#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/acpi_wmi.4#2 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/cpuctl.4#2 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/genassym.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/identcpu.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/intr_machdep.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/io_apic.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/local_apic.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/conf/GENERIC#24 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/intr_machdep.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/isa/atpic.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_machdep.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/assabet_machdep.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#37 integrate .. //depot/projects/scottl-camlock/src/sys/conf/options#27 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cpuctl/cpuctl.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/e1000/if_em.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgbe/ixgbe.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#30 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwl.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/cd9660/cd9660_lookup.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_io.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_subr.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_vfs.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/journal/g_journal.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/i386/conf/GENERIC#23 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/genassym.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/intr_machdep.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/io_apic.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/local_apic.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/msi.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/intr_machdep.h#17 integrate .. //depot/projects/scottl-camlock/src/sys/i386/isa/atpic.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/conf/GENERIC#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exit.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_intr.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_linker.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_generic.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_process.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_socket.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_syscalls.c#27 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_cluster.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_export.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_mount.c#29 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_subr.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_syscalls.c#25 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_vnops.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/mips/malta/yamon.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/busdma_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/intr_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/nfsclient/Makefile#9 integrate .. //depot/projects/scottl-camlock/src/sys/modules/nfsserver/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/sys/net/if.c#29 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_var.h#21 integrate .. //depot/projects/scottl-camlock/src/sys/net/netisr.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/net/vnet.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_iface.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_var.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/nfs/nfs_common.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/nfs/rpcv2.h#4 delete .. //depot/projects/scottl-camlock/src/sys/nfsclient/bootp_subr.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/krpc_subr.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs.h#14 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_bio.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_diskless.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_krpc.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_lock.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_nfsiod.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_node.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_socket.c#20 delete .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_subs.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vfsops.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vnops.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfsm_subs.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfsmount.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_fha.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_serv.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvcache.c#10 delete .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvkrpc.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvsock.c#16 delete .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvsubs.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_syscalls.c#16 delete .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfsrvcache.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/conf/GENERIC#18 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/GENERIC#21 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/clnt_dg.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_arg.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_bsm.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_private.h#13 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/conf/GENERIC#22 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/GENERIC#12 integrate .. //depot/projects/scottl-camlock/src/sys/sys/cpuctl.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/sys/filio.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/sys/param.h#26 integrate .. //depot/projects/scottl-camlock/src/sys/sys/priv.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ffs/ffs_softdep.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ffs/ffs_vnops.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ufs/ufs_vnops.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_extern.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_fault.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_map.c#20 integrate .. //depot/projects/scottl-camlock/src/tools/regression/acltools/tools-posix.test#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/cpio/cmdline.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.bin/cpio/cpio.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/cpucontrol/cpucontrol.8#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/cpucontrol/cpucontrol.c#2 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/pkg_install/lib/url.c#5 integrate .. //depot/projects/scottl-camlock/src/usr.sbin/wake/Makefile#1 branch .. //depot/projects/scottl-camlock/src/usr.sbin/wake/wake.8#1 branch .. //depot/projects/scottl-camlock/src/usr.sbin/wake/wake.c#1 branch Differences ... ==== //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.198 2009/06/27 10:11:15 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.199 2009/07/01 07:37:21 dfr Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090630: old kernel RPC implementation removal +OLD_FILES+=usr/include/nfs/rpcv2.h # 20090624: update usbdi(9) OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz ==== //depot/projects/scottl-camlock/src/UPDATING#9 (text+ko) ==== @@ -22,6 +22,17 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090630: + The NFS_LEGACYRPC option has been removed along with the old + kernel RPC implementation that this option selected. Kernel + configurations may need to be adjusted. + +20090629: + The network interface device nodes at /dev/net/ have + been removed. All ioctl operations can be performed the normal + way using routing sockets. The kqueue functionality can + generally be replaced with routing sockets. + 20090628: The documentation from the FreeBSD Documentation Project (Handbook, FAQ, etc.) is now installed via packages by @@ -1630,4 +1641,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.624 2009/06/28 08:59:46 blackend Exp $ +$FreeBSD: src/UPDATING,v 1.627 2009/07/01 18:12:50 dfr Exp $ ==== //depot/projects/scottl-camlock/src/bin/chmod/chmod.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.34 2009/06/23 23:30:56 delphij Exp $"); +__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.35 2009/07/01 15:52:19 trasz Exp $"); #include #include @@ -54,6 +54,7 @@ #include static void usage(void); +static int may_have_nfs4acl(const FTSENT *ent); int main(int argc, char *argv[]) @@ -180,8 +181,14 @@ break; } newmode = getmode(set, p->fts_statp->st_mode); - if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) - continue; + /* + * With NFSv4 ACLs, it is possible that applying a mode + * identical to the one computed from an ACL will change + * that ACL. + */ + if (may_have_nfs4acl(p) == 0 && + (newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) + continue; if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { warn("%s", p->fts_path); rval = 1; @@ -219,3 +226,24 @@ "usage: chmod [-fhv] [-R [-H | -L | -P]] mode file ...\n"); exit(1); } + +static int +may_have_nfs4acl(const FTSENT *ent) +{ + int ret; + static dev_t previous_dev = (dev_t)-1; + static int supports_acls = -1; + + if (previous_dev != ent->fts_statp->st_dev) { + previous_dev = ent->fts_statp->st_dev; + supports_acls = 0; + + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); + if (ret > 0) + supports_acls = 1; + else if (ret < 0 && errno != EINVAL) + warn("%s", ent->fts_path); + } + + return (supports_acls); +} ==== //depot/projects/scottl-camlock/src/lib/libc/gen/msgctl.3#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.21 2008/04/03 16:21:43 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.22 2009/06/29 18:54:17 kib Exp $ .\"/ .Dd April 3, 2008 .Dt MSGCTL 3 @@ -71,12 +71,8 @@ pid_t msg_lspid; /* pid of last msgsnd() */ pid_t msg_lrpid; /* pid of last msgrcv() */ time_t msg_stime; /* time of last msgsnd() */ - long msg_pad1; time_t msg_rtime; /* time of last msgrcv() */ - long msg_pad2; time_t msg_ctime; /* time of last msgctl() */ - long msg_pad3; - long msg_pad4[4]; }; .Ed .Pp @@ -89,11 +85,11 @@ and looks like this: .Bd -literal struct ipc_perm { - unsigned short cuid; /* creator user id */ - unsigned short cgid; /* creator group id */ - unsigned short uid; /* user id */ - unsigned short gid; /* group id */ - unsigned short mode; /* r/w permission */ + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* r/w permission */ unsigned short seq; /* sequence # (to generate unique ipcid) */ key_t key; /* user specified msg/sem/shm key */ }; ==== //depot/projects/scottl-camlock/src/lib/libc/sys/getsockopt.2#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95 -.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.40 2008/06/12 22:58:35 wkoszek Exp $ +.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.41 2009/06/30 20:53:56 trasz Exp $ .\" .Dd June 13, 2008 .Dt GETSOCKOPT 2 @@ -139,6 +139,11 @@ .In sys/time.h . .Pp The following options are recognized at the socket level. +For protocol-specific options, see protocol manual pages, +e.g. +.Xr ip 4 +or +.Xr tcp 4 . Except as noted, each may be examined with .Fn getsockopt and set with @@ -499,6 +504,10 @@ .Xr getprotoent 3 , .Xr mac 3 , .Xr sysctl 3 , +.Xr ip 4 , +.Xr ip6 4 , +.Xr sctp 4 , +.Xr tcp 4 , .Xr protocols 5 , .Xr sysctl 8 , .Xr accept_filter 9 , ==== //depot/projects/scottl-camlock/src/lib/libc/sys/semctl.2#2 (text+ko) ==== @@ -23,7 +23,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/lib/libc/sys/semctl.2,v 1.20 2005/01/15 12:28:00 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/semctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd September 12, 1995 .Dt SEMCTL 2 @@ -148,12 +148,9 @@ struct sem *sem_base; /* pointer to first semaphore in set */ u_short sem_nsems; /* number of sems in set */ time_t sem_otime; /* last operation time */ - long sem_pad1; /* SVABI/386 says I need this here */ time_t sem_ctime; /* last change time */ /* Times measured in secs since */ /* 00:00:00 GMT, Jan. 1, 1970 */ - long sem_pad2; /* SVABI/386 says I need this here */ - long sem_pad3[4]; /* SVABI/386 says I need this here */ }; .Ed .Sh RETURN VALUES ==== //depot/projects/scottl-camlock/src/lib/libc/sys/shmctl.2#3 (text+ko) ==== @@ -23,7 +23,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/lib/libc/sys/shmctl.2,v 1.20 2009/03/05 12:04:42 kib Exp $ +.\" $FreeBSD: src/lib/libc/sys/shmctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd July 17, 1995 .Dt SHMCTL 2 @@ -100,14 +100,13 @@ .Bd -literal struct shmid_ds { struct ipc_perm shm_perm; /* operation permission structure */ - int shm_segsz; /* size of segment in bytes */ + size_t shm_segsz; /* size of segment in bytes */ pid_t shm_lpid; /* process ID of last shared memory op */ pid_t shm_cpid; /* process ID of creator */ - short shm_nattch; /* number of current attaches */ + int shm_nattch; /* number of current attaches */ time_t shm_atime; /* time of last shmat() */ time_t shm_dtime; /* time of last shmdt() */ time_t shm_ctime; /* time of last change by shmctl() */ - void *shm_internal; /* sysv stupidity */ }; .Ed .Sh RETURN VALUES @@ -133,16 +132,6 @@ Permission denied due to mismatch between operation and mode of shared memory segment. .El -.Sh "BUGS" -The segment size has size_t type. -The shm_segsz member of the -.Vt shmid_ds -structure has type int, which is too short to represent the full range -of values for a segment size. -If shared memory limits are raised to allow segments with size > 2 GB -to be created, be aware that IPC_STAT call may return a truncated value -for shm_segsz. -.El .Sh "SEE ALSO" .Xr shmat 2 , .Xr shmdt 2 , ==== //depot/projects/scottl-camlock/src/release/amd64/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/amd64/boot_crunch.conf,v 1.66 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/amd64/boot_crunch.conf,v 1.67 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/i386/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/i386/boot_crunch.conf,v 1.66 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/i386/boot_crunch.conf,v 1.67 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/ia64/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/ia64/boot_crunch.conf,v 1.17 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/ia64/boot_crunch.conf,v 1.18 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -46,4 +46,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -ldevinfo -libs -lgeom -lbsdxml -larchive -lbz2 -lusb +libs -lgeom -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/pc98/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/pc98/boot_crunch.conf,v 1.65 2008/08/20 13:35:39 kensmith Exp $ +# $FreeBSD: src/release/pc98/boot_crunch.conf,v 1.66 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -41,4 +41,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 +libs -larchive -lbz2 -ljail ==== //depot/projects/scottl-camlock/src/release/powerpc/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/powerpc/boot_crunch.conf,v 1.9 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/powerpc/boot_crunch.conf,v 1.10 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -44,4 +44,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/sparc64/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/sparc64/boot_crunch.conf,v 1.13 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/sparc64/boot_crunch.conf,v 1.14 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/release/sun4v/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/sun4v/boot_crunch.conf,v 1.6 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/sun4v/boot_crunch.conf,v 1.7 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail ==== //depot/projects/scottl-camlock/src/share/man/man4/acpi_hp.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.2 2009/06/23 14:57:06 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.4 2009/07/03 21:12:37 rpaulo Exp $ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_HP 4 i386 .Os .Sh NAME @@ -92,8 +92,8 @@ WWAN on air status changed to 1 (on air) .El .Ss Xr devfs 8 Ss Device -You can read /dev/hpcmi to see your current BIOS settings. The detail level -can be adjusted by setting the sysctl +You can read /dev/hpcmi to see your current BIOS settings. +The detail level can be adjusted by setting the sysctl .Va cmi_detail as described below. .Sh SYSCTL VARIABLES @@ -165,11 +165,30 @@ Show a list of valid options for the BIOS setting .It Li 0x04 Show additional flags of BIOS setting (ReadOnly etc.) +.It Li 0x08 +Query highest BIOS entry instance. +This is broken on many HP models and therefore disabled by default. .El +.It Va dev.acpi_hp.0.verbose +(read-only) +Set verbosity level .El .Pp Defaults for these sysctls can be set in .Xr sysctl.conf 5 . +.Sh HARDWARE +The +.Nm +driver has been reported to support the following hardware: +.Pp +.Bl -bullet -compact +.It +HP Compaq 8510p +.It +HP Compaq nx7300 +.El +.Pp +It should work on most HP laptops that feature a WMI enabled BIOS. .Sh FILES .Bl -tag -width ".Pa /dev/hpcmi" .It Pa /dev/hpcmi @@ -245,7 +264,7 @@ driver was written by .An Michael Gmelin Aq freebsd@grem.de .Pp -It has been inspired by hp-wmi driver, which implements a subset of these +It has been inspired by hp-wmi driver, which implements a subset of these features (hotkeys) on Linux. .Pp .Bl -tag -width indent ==== //depot/projects/scottl-camlock/src/share/man/man4/acpi_wmi.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.2 2009/06/23 14:57:06 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.3 2009/07/03 21:12:37 rpaulo Exp $ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_WMI 4 i386 .Os .Sh NAME @@ -48,7 +48,8 @@ The .Nm driver provides an interface for vendor specific WMI implementations -(e.g. HP and Acer laptops). It creates /dev/wmistat, which can be read to get +(e.g. HP and Acer laptops). +It creates /dev/wmistat, which can be read to get information about GUIDs found in the system. .Sh FILES .Bl -tag -width /dev/wmistat -compact ==== //depot/projects/scottl-camlock/src/share/man/man4/cpuctl.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/cpuctl.4,v 1.6 2009/04/23 08:37:56 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/cpuctl.4,v 1.7 2009/06/30 12:35:47 stas Exp $ .\" -.Dd May 31, 2008 +.Dd June 30, 2009 .Dt CPUCTL 4 .Os .Sh NAME @@ -81,6 +81,11 @@ uint64_t data; } cpuctl_msr_args_t; .Ed +.It Dv CPUCTL_MSRSBIT Fa cpuctl_msr_args_t *args +.It Dv CPUCTL_MSRCBIT Fa cpuctl_msr_args_t *args +Set/clear MSR bits according to the mask given in the +.Va data +field. .It Dv CPUCTL_CPUID Fa cpuctl_cpuid_args_t *args Retrieve CPUID information. Arguments are supplied in ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/genassym.c#12 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/identcpu.c#15 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/intr_machdep.c#18 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -163,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); + error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); mtx_unlock(&intr_table_lock); - } - return (0); + } else + error = 0; + return (error); #else return (EOPNOTSUPP); #endif @@ -371,7 +373,7 @@ intrcnt_setname("???", 0); intrcnt_index = 1; STAILQ_INIT(&pics); - mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE); + mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF); mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL); @@ -441,14 +443,14 @@ if (!assign_cpu) return (cpu_apic_ids[0]); - mtx_lock(&intr_table_lock); + mtx_lock_spin(&icu_lock); apic_id = cpu_apic_ids[current_cpu]; do { current_cpu++; if (current_cpu > mp_maxid) current_cpu = 0; } while (!(intr_cpus & (1 << current_cpu))); - mtx_unlock(&intr_table_lock); + mtx_unlock_spin(&icu_lock); return (apic_id); } @@ -489,7 +491,6 @@ intr_shuffle_irqs(void *arg __unused) { struct intsrc *isrc; - u_int apic_id; int i; /* Don't bother on UP. */ @@ -505,13 +506,17 @@ /* * If this event is already bound to a CPU, * then assign the source to that CPU instead - * of picking one via round-robin. + * of picking one via round-robin. Note that + * this is careful to only advance the + * round-robin if the CPU assignment succeeds. */ if (isrc->is_event->ie_cpu != NOCPU) - apic_id = isrc->is_event->ie_cpu; - else - apic_id = intr_next_cpu(); - isrc->is_pic->pic_assign_cpu(isrc, apic_id); + (void)isrc->is_pic->pic_assign_cpu(isrc, + isrc->is_event->ie_cpu); + else if (isrc->is_pic->pic_assign_cpu(isrc, + cpu_apic_ids[current_cpu]) == 0) + (void)intr_next_cpu(); + } } mtx_unlock(&intr_table_lock); ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/io_apic.c#15 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.34 2009/07/01 17:20:07 jhb Exp $"); #include "opt_isa.h" @@ -120,7 +120,7 @@ static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); static void ioapic_resume(struct pic *pic); -static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); @@ -322,7 +322,7 @@ mtx_unlock_spin(&icu_lock); } -static void +static int ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id) { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; @@ -342,7 +342,7 @@ old_vector = intpin->io_vector; old_id = intpin->io_cpu; if (old_vector && apic_id == old_id) - return; + return (0); /* * Allocate an APIC vector for this interrupt pin. Once @@ -350,6 +350,9 @@ */ intpin->io_cpu = apic_id; intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq); + if (intpin->io_vector == 0) + return (ENOSPC); + if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -364,6 +367,7 @@ */ if (old_vector) apic_free_vector(old_id, old_vector, intpin->io_irq); + return (0); } static void @@ -372,7 +376,9 @@ struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; if (intpin->io_vector == 0) - ioapic_assign_cpu(isrc, intr_next_cpu()); + if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0) + panic("Couldn't find an APIC vector for IRQ %d", + intpin->io_irq); apic_enable_vector(intpin->io_cpu, intpin->io_vector); } @@ -496,7 +502,7 @@ io->io_pic = ioapic_template; mtx_lock_spin(&icu_lock); io->io_id = next_id++; - io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; + io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT; if (apic_id != -1 && io->io_apic_id != apic_id) { ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT); mtx_unlock_spin(&icu_lock); @@ -730,7 +736,7 @@ if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM) return (EINVAL); if (io->io_pins[pin].io_irq >= NUM_IO_INTS) - return (EINVAL); + return (EINVAL); edgetrigger = (trigger == INTR_TRIGGER_EDGE); if (io->io_pins[pin].io_edgetrigger == edgetrigger) return (0); ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/local_apic.c#20 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -139,7 +139,7 @@ }; -static u_int32_t lapic_timer_divisors[] = { +static u_int32_t lapic_timer_divisors[] = { APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16, APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128 }; @@ -797,7 +797,7 @@ return (vector + APIC_IO_INTS); } mtx_unlock_spin(&icu_lock); - panic("Couldn't find an APIC vector for IRQ %u", irq); + return (0); } /* @@ -1058,7 +1058,7 @@ static SLIST_HEAD(, apic_enumerator) enumerators = SLIST_HEAD_INITIALIZER(enumerators); static struct apic_enumerator *best_enum; - + void apic_register_enumerator(struct apic_enumerator *enumerator) { ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#10 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.13 2009/07/01 17:20:07 jhb Exp $"); #include #include @@ -113,6 +113,8 @@ u_int msi_vector:8; /* IDT vector. */ u_int msi_cpu:8; /* Local APIC ID. (g) */ u_int msi_count:8; /* Messages in this group. (g) */ + u_int msi_maxcount:8; /* Alignment for this group. (g) */ + int *msi_irqs; /* Group's IRQ list. (g) */ }; static void msi_create_source(void); @@ -125,7 +127,7 @@ static int msi_source_pending(struct intsrc *isrc); static int msi_config_intr(struct intsrc *isrc, enum intr_trigger trig, enum intr_polarity pol); -static void msi_assign_cpu(struct intsrc *isrc, u_int apic_id); +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id); struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source, msi_enable_intr, msi_disable_intr, msi_vector, @@ -195,32 +197,52 @@ return (ENODEV); } -static void +static int msi_assign_cpu(struct intsrc *isrc, u_int apic_id) { - struct msi_intsrc *msi = (struct msi_intsrc *)isrc; + struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc; int old_vector; u_int old_id; - int vector; + int i, vector; + + /* + * Only allow CPUs to be assigned to the first message for an + * MSI group. + */ + if (msi->msi_first != msi) + return (EINVAL); /* Store information to free existing irq. */ old_vector = msi->msi_vector; old_id = msi->msi_cpu; if (old_id == apic_id) - return; - if (!msi->msi_msix && msi->msi_first->msi_count > 1) - return; + return (0); - /* Allocate IDT vector on this cpu. */ - vector = apic_alloc_vector(apic_id, msi->msi_irq); + /* Allocate IDT vectors on this cpu. */ + if (msi->msi_count > 1) { + KASSERT(msi->msi_msix == 0, ("MSI-X message group")); + vector = apic_alloc_vectors(apic_id, msi->msi_irqs, + msi->msi_count, msi->msi_maxcount); + } else + vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) - return; /* XXX alloc_vector panics on failure. */ + return (ENOSPC); + msi->msi_cpu = apic_id; msi->msi_vector = vector; if (bootverbose) printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n", msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq, msi->msi_cpu, msi->msi_vector); + for (i = 1; i < msi->msi_count; i++) { + sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]); + sib->msi_cpu = apic_id; + sib->msi_vector = vector + i; + if (bootverbose) + printf( + "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n", + sib->msi_irq, sib->msi_cpu, sib->msi_vector); + } pci_remap_msi_irq(msi->msi_dev, msi->msi_irq); /* @@ -228,6 +250,9 @@ * to prevent races where we could miss an interrupt. */ apic_free_vector(old_id, old_vector, msi->msi_irq); + for (i = 1; i < msi->msi_count; i++) + apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]); + return (0); >>> TRUNCATED FOR MAIL (1000 lines) <<< From mav at FreeBSD.org Sat Jul 4 11:12:51 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Sat Jul 4 11:13:02 2009 Subject: PERFORCE change 165588 for review Message-ID: <200907041112.n64BCoF8056027@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165588 Change 165588 by mav@mav_mavbook on 2009/07/04 11:12:37 Set device to use it's maximal supported transfer mode. It should not have much reason to do it for SATA, but some (at least ATAPI) devices aren't working without it. Change moments, when SIM reported PMP presence. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#11 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#11 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#25 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#11 (text+ko) ==== @@ -221,3 +221,80 @@ dst[j++] = 0x00; } +int +ata_max_pmode(struct ata_params *ap) +{ + if (ap->atavalid & ATA_FLAG_64_70) { + if (ap->apiomodes & 0x02) + return ATA_PIO4; + if (ap->apiomodes & 0x01) + return ATA_PIO3; + } + if (ap->mwdmamodes & 0x04) + return ATA_PIO4; + if (ap->mwdmamodes & 0x02) + return ATA_PIO3; + if (ap->mwdmamodes & 0x01) + return ATA_PIO2; + if ((ap->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x200) + return ATA_PIO2; + if ((ap->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x100) + return ATA_PIO1; + if ((ap->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x000) + return ATA_PIO0; + return ATA_PIO0; +} + +int +ata_max_wmode(struct ata_params *ap) +{ + if (ap->mwdmamodes & 0x04) + return ATA_WDMA2; + if (ap->mwdmamodes & 0x02) + return ATA_WDMA1; + if (ap->mwdmamodes & 0x01) + return ATA_WDMA0; + return -1; +} + +int +ata_max_umode(struct ata_params *ap) +{ + if (ap->atavalid & ATA_FLAG_88) { + if (ap->udmamodes & 0x40) + return ATA_UDMA6; + if (ap->udmamodes & 0x20) + return ATA_UDMA5; + if (ap->udmamodes & 0x10) + return ATA_UDMA4; + if (ap->udmamodes & 0x08) + return ATA_UDMA3; + if (ap->udmamodes & 0x04) + return ATA_UDMA2; + if (ap->udmamodes & 0x02) + return ATA_UDMA1; + if (ap->udmamodes & 0x01) + return ATA_UDMA0; + } + return -1; +} + +int +ata_max_mode(struct ata_params *ap, int mode, int maxmode) +{ + + if (maxmode && mode > maxmode) + mode = maxmode; + + if (mode >= ATA_UDMA0 && ata_max_umode(ap) > 0) + return (min(mode, ata_max_umode(ap))); + + if (mode >= ATA_WDMA0 && ata_max_wmode(ap) > 0) + return (min(mode, ata_max_wmode(ap))); + + if (mode > ata_max_pmode(ap)) + return (min(mode, ata_max_pmode(ap))); + + return (mode); +} + ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#11 (text+ko) ==== @@ -95,4 +95,9 @@ void ata_btrim(int8_t *buf, int len); void ata_bpack(int8_t *src, int8_t *dst, int len); +int ata_max_pmode(struct ata_params *ap); +int ata_max_wmode(struct ata_params *ap); +int ata_max_umode(struct ata_params *ap); +int ata_max_mode(struct ata_params *ap, int mode, int maxmode); + #endif ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#25 (text+ko) ==== @@ -93,6 +93,7 @@ typedef enum { PROBE_RESET, PROBE_IDENTIFY, + PROBE_SETMODE, PROBE_INQUIRY, PROBE_FULL_INQUIRY, PROBE_PM_PID, @@ -108,6 +109,7 @@ static char *probe_action_text[] = { "PROBE_RESET", "PROBE_IDENTIFY", + "PROBE_SETMODE", "PROBE_INQUIRY", "PROBE_FULL_INQUIRY", "PROBE_PM_PID", @@ -277,7 +279,7 @@ if (periph->path->device->flags & CAM_DEV_UNCONFIGURED) PROBE_SET_ACTION(softc, PROBE_RESET); else if (periph->path->device->protocol == PROTO_SATAPM) - PROBE_SET_ACTION(softc, PROBE_RESET); + PROBE_SET_ACTION(softc, PROBE_PM_PID); else PROBE_SET_ACTION(softc, PROBE_IDENTIFY); @@ -295,6 +297,7 @@ /* Probe the device that our peripheral driver points to */ struct ccb_ataio *ataio; struct ccb_scsiio *csio; + struct ccb_trans_settings cts; probe_softc *softc; CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("probestart\n")); @@ -305,6 +308,16 @@ switch (softc->action) { case PROBE_RESET: + if (start_ccb->ccb_h.target_id == 15) { + /* Report SIM that we have no knowledge about PM presence. */ + bzero(&cts, sizeof(cts)); + xpt_setup_ccb(&cts.ccb_h, start_ccb->ccb_h.path, 1); + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + cts.xport_specific.sata.pm_present = 0; + cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; + xpt_action((union ccb *)&cts); + } cam_fill_ataio(ataio, 0, probedone, @@ -350,6 +363,23 @@ ata_36bit_cmd(ataio, ATA_ATAPI_IDENTIFY, 0, 0, 0); break; } + case PROBE_SETMODE: + { + struct ata_params *ident_buf = + &periph->path->device->ident_data; + + cam_fill_ataio(ataio, + 1, + probedone, + /*flags*/CAM_DIR_IN, + MSG_SIMPLE_Q_TAG, + /*data_ptr*/(u_int8_t *)ident_buf, + /*dxfer_len*/sizeof(struct ata_params), + 30 * 1000); + ata_36bit_cmd(ataio, ATA_SETFEATURES, ATA_SF_SETXFER, 0, + ata_max_mode(ident_buf, ATA_UDMA6, ATA_UDMA6)); + break; + } case PROBE_INQUIRY: case PROBE_FULL_INQUIRY: { @@ -369,7 +399,7 @@ */ inquiry_len = roundup2(inquiry_len, 2); scsi_inquiry(csio, - /*retries*/4, + /*retries*/1, probedone, MSG_SIMPLE_Q_TAG, (u_int8_t *)inq_buf, @@ -623,6 +653,16 @@ PROBE_SET_ACTION(softc, PROBE_IDENTIFY); } else if (sign == 0x9669 && done_ccb->ccb_h.target_id == 15) { + struct ccb_trans_settings cts; + + /* Report SIM that PM is present. */ + bzero(&cts, sizeof(cts)); + xpt_setup_ccb(&cts.ccb_h, path, 1); + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + cts.xport_specific.sata.pm_present = 1; + cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; + xpt_action((union ccb *)&cts); path->device->protocol = PROTO_SATAPM; PROBE_SET_ACTION(softc, PROBE_PM_PID); } else if (sign == 0xeb14 && @@ -721,21 +761,10 @@ scsi_find_quirk(path->device); ata_device_transport(path); -// if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) { - if (path->device->protocol == PROTO_ATA) { - path->device->flags &= ~CAM_DEV_UNCONFIGURED; - done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; - xpt_action(done_ccb); - xpt_async(AC_FOUND_DEVICE, done_ccb->ccb_h.path, - done_ccb); - xpt_release_ccb(done_ccb); - break; - } else { - PROBE_SET_ACTION(softc, PROBE_INQUIRY); - xpt_release_ccb(done_ccb); - xpt_schedule(periph, priority); - return; - } + PROBE_SET_ACTION(softc, PROBE_SETMODE); + xpt_release_ccb(done_ccb); + xpt_schedule(periph, priority); + return; } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; @@ -762,6 +791,33 @@ xpt_release_ccb(done_ccb); break; } + case PROBE_SETMODE: + { + if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { + if (path->device->protocol == PROTO_ATA) { + path->device->flags &= ~CAM_DEV_UNCONFIGURED; + done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; + xpt_action(done_ccb); + xpt_async(AC_FOUND_DEVICE, done_ccb->ccb_h.path, + done_ccb); + xpt_release_ccb(done_ccb); + break; + } else { + PROBE_SET_ACTION(softc, PROBE_INQUIRY); + xpt_release_ccb(done_ccb); + xpt_schedule(periph, priority); + return; + } + } else if (cam_periph_error(done_ccb, 0, 0, + &softc->saved_ccb) == ERESTART) { + return; + } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { + /* Don't wedge the queue */ + xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, + /*run_queue*/TRUE); + } + goto device_fail; + } case PROBE_INQUIRY: case PROBE_FULL_INQUIRY: { @@ -1081,7 +1137,6 @@ struct cam_path *path; ata_scan_bus_info *scan_info; union ccb *work_ccb; - struct ccb_trans_settings cts; cam_status status; CAM_DEBUG(request_ccb->ccb_h.path, CAM_DEBUG_TRACE, @@ -1118,14 +1173,6 @@ scan_info->cpi = &work_ccb->cpi; scan_info->found = 0x8001; scan_info->counter = 0; - /* Report SIM that we have no knowledge about PM presence. */ - bzero(&cts, sizeof(cts)); - xpt_setup_ccb(&cts.ccb_h, scan_info->request_ccb->ccb_h.path, 1); - cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; - cts.type = CTS_TYPE_CURRENT_SETTINGS; - cts.xport_specific.sata.pm_present = 0; - cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; - xpt_action((union ccb *)&cts); /* If PM supported, probe it first. */ if (scan_info->cpi->hba_inquiry & PI_SATAPM) scan_info->counter = 15; @@ -1145,18 +1192,23 @@ /* Free the current request path- we're done with it. */ xpt_free_path(work_ccb->ccb_h.path); /* If there is PM... */ - if (scan_info->counter == 15 && - work_ccb->ccb_h.ppriv_field1 != 0) { - /* Save PM probe result. */ - scan_info->found = work_ccb->ccb_h.ppriv_field1; - /* Report SIM that PM is present. */ - bzero(&cts, sizeof(cts)); - xpt_setup_ccb(&cts.ccb_h, scan_info->request_ccb->ccb_h.path, 1); - cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; - cts.type = CTS_TYPE_CURRENT_SETTINGS; - cts.xport_specific.sata.pm_present = 1; - cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; - xpt_action((union ccb *)&cts); + if (scan_info->counter == 15) { + if (work_ccb->ccb_h.ppriv_field1 != 0) { + /* Save PM probe result. */ + scan_info->found = work_ccb->ccb_h.ppriv_field1; + } else { + struct ccb_trans_settings cts; + + /* Report SIM that PM is absent. */ + bzero(&cts, sizeof(cts)); + xpt_setup_ccb(&cts.ccb_h, + scan_info->request_ccb->ccb_h.path, 1); + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + cts.xport_specific.sata.pm_present = 1; + cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; + xpt_action((union ccb *)&cts); + } } take_next: /* Take next device. Wrap from 15 (PM) to 0. */ From syl at FreeBSD.org Sat Jul 4 11:17:57 2009 From: syl at FreeBSD.org (Sylvestre Gallon) Date: Sat Jul 4 11:18:04 2009 Subject: PERFORCE change 165589 for review Message-ID: <200907041117.n64BHt82056356@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165589 Change 165589 by syl@syl_atuin on 2009/07/04 11:17:43 Add support for big transfers. Update test3 to perform benches. Remove a buggy libusb20_close. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#7 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#56 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#22 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#7 (text+ko) ==== @@ -128,11 +128,13 @@ volatile int transferred; libusb_device **devs_list; libusb_device_descriptor ddesc; + int random; + uint32_t size; int found = 0; int ret; int i; - printf("this test dump the 512 first byte of a memory stick\n"); + printf("this test read bytes of a memory stick\n"); if (libusb_init(&ctx) != 0) { fprintf(stderr, "libusb_init_failed\n"); return (EXIT_FAILURE); @@ -187,13 +189,12 @@ do_msc_req(test_unit_ready, sizeof(test_unit_ready), 0xd); do_msc_req(read_capacity, sizeof(read_capacity), 0x8); - do_read(0, BLOCK_SIZE); - for (i = 0 ; i < BLOCK_SIZE ; i++) { - if (i != 0 && (i % 0x10) == 0) - printf("\n"); - printf("0x%.2x ", buffer[i]); + sranddev(); + for (size = 0 ; ;) { + random = rand() % 1024; + do_read(random, 0x10000); + size+=0x10000; + printf("read sector : 0x%x total read 0x%x\n", random, size); } - printf("\n"); - return (EXIT_SUCCESS); } ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#56 (text+ko) ==== @@ -838,6 +838,82 @@ return; } +static int +libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) +{ + int ret; + int usb_speed; + + usb_speed = libusb20_dev_get_speed(pdev); + + switch (xfer->type) { + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + case LIBUSB20_SPEED_FULL: + ret = 60 * 1; + break ; + default : + ret = 60 * 8; + break ; + } + break ; + case LIBUSB_TRANSFER_TYPE_CONTROL: + ret = 2; + break ; + default: + ret = 1; + break ; + } + + return ret; +} + +static int +libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) +{ + int ret; + int usb_speed; + + usb_speed = libusb20_dev_get_speed(pdev); + + switch (xfer->type) { + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + ret = 0; + break ; + case LIBUSB_TRANSFER_TYPE_CONTROL: + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + ret = 8; + break ; + case LIBUSB20_SPEED_FULL: + ret = 64; + break ; + case LIBUSB20_SPEED_HIGH: + ret = 64; + break ; + } + /*add */ + ret += 8; + break ; + default : + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + ret = 256; + break ; + case LIBUSB20_SPEED_FULL: + ret = 4096; + break ; + default: + ret = 16384; + break ; + } + break ; + } + + return ret; +} + static void libusb10_proxy(struct libusb20_transfer *xfer) { @@ -845,6 +921,9 @@ struct libusb20_device *pdev; libusb_transfer *usb_xfer; libusb_context *ctx; + uint32_t pos; + uint32_t max; + uint32_t size; uint8_t status; uint32_t iso_packets; int i; @@ -859,20 +938,29 @@ switch (status) { case LIBUSB20_TRANSFER_COMPLETED: - DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMIT"); + usb_backend->transferred += libusb20_tr_get_actual_length(xfer); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 TRANSFER %i bytes", + usb_backend->transferred); + if (usb_backend->transferred != usb_xfer->length) + goto tr_start; - usb_backend->transferred += libusb20_tr_get_actual_length(xfer); + DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 TRANSFER COMPLETE"); usb_handle_transfer_completion(usb_backend, LIBUSB_TRANSFER_COMPLETED); break ; case LIBUSB20_TRANSFER_START: +tr_start: DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); + max = libusb_get_buffsize(pdev, usb_xfer); + pos = usb_backend->transferred; + size = (usb_xfer->length - pos); + size = (size > max) ? max : size; usb_xfer->actual_length = 0; switch (usb_xfer->type) { case LIBUSB_TRANSFER_TYPE_CONTROL: DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE CTR"); libusb20_tr_setup_control(xfer, usb_xfer->buffer, - (void *)(((uint8_t *) usb_xfer->buffer) + + (void *)(((uint8_t *) &usb_xfer->buffer[pos]) + sizeof(libusb_control_setup)), usb_xfer->timeout); break ; @@ -883,19 +971,19 @@ usb_xfer->num_iso_packets = iso_packets; for (i = 0 ; i < usb_xfer->num_iso_packets ; i++) { libusb20_tr_setup_isoc(xfer, - usb_xfer->buffer, usb_xfer->length, i); + &usb_xfer->buffer[pos], size, i); } libusb20_tr_set_total_frames(xfer, i); break ; case LIBUSB_TRANSFER_TYPE_BULK: DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE BULK"); - libusb20_tr_setup_bulk(xfer, usb_xfer->buffer, - usb_xfer->length, usb_xfer->timeout); + libusb20_tr_setup_bulk(xfer, &usb_xfer->buffer[pos], + size, usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_INTERRUPT: DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE INTR"); - libusb20_tr_setup_intr(xfer, usb_xfer->buffer, - usb_xfer->length, usb_xfer->timeout); + libusb20_tr_setup_intr(xfer, &usb_xfer->buffer[pos], + size, usb_xfer->timeout); break ; } libusb20_tr_submit(xfer); @@ -941,82 +1029,6 @@ } } -static int -libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) -{ - int ret; - int usb_speed; - - usb_speed = libusb20_dev_get_speed(pdev); - - switch (xfer->type) { - case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: - switch (usb_speed) { - case LIBUSB20_SPEED_LOW: - case LIBUSB20_SPEED_FULL: - ret = 60 * 1; - break ; - default : - ret = 60 * 8; - break ; - } - break ; - case LIBUSB_TRANSFER_TYPE_CONTROL: - ret = 2; - break ; - default: - ret = 1; - break ; - } - - return ret; -} - -static int -libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) -{ - int ret; - int usb_speed; - - usb_speed = libusb20_dev_get_speed(pdev); - - switch (xfer->type) { - case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: - ret = 0; - break ; - case LIBUSB_TRANSFER_TYPE_CONTROL: - switch (usb_speed) { - case LIBUSB20_SPEED_LOW: - ret = 8; - break ; - case LIBUSB20_SPEED_FULL: - ret = 64; - break ; - case LIBUSB20_SPEED_HIGH: - ret = 64; - break ; - } - /*add */ - ret += 8; - break ; - default : - switch (usb_speed) { - case LIBUSB20_SPEED_LOW: - ret = 256; - break ; - case LIBUSB20_SPEED_FULL: - ret = 4096; - break ; - default: - ret = 16384; - break ; - } - break ; - } - - return ret; -} - int libusb_submit_transfer(struct libusb_transfer *xfer) { ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#22 (text+ko) ==== @@ -125,8 +125,6 @@ if (xfer->flags & LIBUSB_TRANSFER_FREE_TRANSFER) libusb_free_transfer(xfer); - DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_TR_CLOSE"); - libusb20_tr_close(xfer->os_priv); pthread_mutex_lock(&ctx->event_waiters_lock); pthread_cond_broadcast(&ctx->event_waiters_cond); pthread_mutex_unlock(&ctx->event_waiters_lock); From trasz at FreeBSD.org Sat Jul 4 12:48:37 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Sat Jul 4 12:48:45 2009 Subject: PERFORCE change 165592 for review Message-ID: <200907041248.n64CmZNT074098@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165592 Change 165592 by trasz@trasz_victim on 2009/07/04 12:47:40 IFC. Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/Makefile.inc1#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#29 integrate .. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#34 integrate .. //depot/projects/soc2008/trasz_nfs4acl/bin/chmod/chmod.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libgcc/Makefile#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libssp/libssp_nonshared/Makefile#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/cc/cc_tools/freebsd-native.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/msgctl.3#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/Symbol.map#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/getsockopt.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/shmctl.2#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/stack_protector.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/Makefile#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/Makefile#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/amd64/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/i386/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/ia64/boot_crunch.conf#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/pc98/boot_crunch.conf#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/powerpc/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/scripts/package-split.py#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/sparc64/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/release/sun4v/boot_crunch.conf#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/acpi_hp.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/acpi_wmi.4#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/cpuctl.4#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/genassym.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/identcpu.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/intr_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/io_apic.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/local_apic.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/msi.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/sys_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/GENERIC#23 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/intr_machdep.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/mv/mv_machdep.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#43 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/options#29 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpi_support/acpi_hp.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpi_support/acpi_wmi.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ale/if_ale.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ah_internal.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ath/if_athvar.h#17 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/cpuctl/cpuctl.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/e1000/if_em.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ixgbe/ixgbe.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sound/usb/uaudio.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/at91dci.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/atmegadci.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/musb_otg.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/controller/uss820dci.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/net/if_cdce.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/storage/ustorage_fs.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_controller.h#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_device.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_handle_request.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_if.m#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usb_transfer.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdi.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/wlan/if_urtw.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_lookup.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_io.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_subr.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_vfs.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/journal/g_journal.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/GENERIC#24 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/genassym.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/intr_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/io_apic.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/local_apic.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/msi.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/intr_machdep.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ia64/conf/GENERIC#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_event.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_exit.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_intr.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_linker.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_generic.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_process.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_socket.c#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty.c#25 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_syscalls.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_export.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_mount.c#24 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#37 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_syscalls.c#23 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_vnops.c#21 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/malta/yamon.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/busdma_machdep.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/intr_machdep.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/nfsclient/Makefile#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/nfsserver/Makefile#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if.c#25 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/if_var.h#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/netisr.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/net/vnet.h#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_iface.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/ng_ksocket.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet6/in6_var.h#6 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfs/nfs_common.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfs/rpcv2.h#2 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/bootp_subr.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/krpc_subr.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_bio.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_diskless.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_krpc.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_lock.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_nfsiod.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_node.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_socket.c#9 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_subs.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vfsops.c#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_vnops.c#20 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfsm_subs.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfsmount.h#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_fha.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_serv.c#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvcache.c#4 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvkrpc.c#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvsock.c#9 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_srvsubs.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfs_syscalls.c#10 delete .. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsserver/nfsrvcache.h#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/GENERIC#14 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/powerpc/conf/GENERIC#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/clnt_dg.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_arg.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_bsm.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/security/audit/audit_private.h#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/conf/GENERIC#15 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/include/pmap.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/machdep.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/sparc64/pmap.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/conf/GENERIC#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/cpuctl.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/event.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/filio.h#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/mount.h#16 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/param.h#31 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/priv.h#13 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#32 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_softdep.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vnops.c#10 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_vnops.c#31 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_extern.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_fault.c#7 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_map.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_object.c#12 integrate .. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-posix.test#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cmdline.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.c#11 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/Makefile#21 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cpucontrol/cpucontrol.8#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/cpucontrol/cpucontrol.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pkg_install/lib/url.c#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/dist.c#5 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/dist.h#4 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/doc.c#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/menus.c#9 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/sysinstall/sysinstall.h#8 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/tzsetup/tzsetup.8#2 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/tzsetup/tzsetup.c#3 integrate .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wake/Makefile#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wake/wake.8#1 branch .. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/wake/wake.c#1 branch Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/Makefile.inc1#15 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.625 2009/06/14 15:16:24 markm Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.627 2009/06/29 01:33:59 kan Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir ==== //depot/projects/soc2008/trasz_nfs4acl/ObsoleteFiles.inc#29 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.198 2009/06/27 10:11:15 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.199 2009/07/01 07:37:21 dfr Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090630: old kernel RPC implementation removal +OLD_FILES+=usr/include/nfs/rpcv2.h # 20090624: update usbdi(9) OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz ==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#34 (text+ko) ==== @@ -22,6 +22,23 @@ to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090630: + The NFS_LEGACYRPC option has been removed along with the old + kernel RPC implementation that this option selected. Kernel + configurations may need to be adjusted. + +20090629: + The network interface device nodes at /dev/net/ have + been removed. All ioctl operations can be performed the normal + way using routing sockets. The kqueue functionality can + generally be replaced with routing sockets. + +20090628: + The documentation from the FreeBSD Documentation Project + (Handbook, FAQ, etc.) is now installed via packages by + sysinstall(8) and under the /usr/local/share/doc/freebsd + directory instead of /usr/share/doc. + 20090624: The ABI of various structures related to the SYSV IPC API have been changed. As a result, the COMPAT_FREEBSD[456] kernel @@ -1624,4 +1641,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.623 2009/06/26 17:50:52 jhb Exp $ +$FreeBSD: src/UPDATING,v 1.627 2009/07/01 18:12:50 dfr Exp $ ==== //depot/projects/soc2008/trasz_nfs4acl/bin/chmod/chmod.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.34 2009/06/23 23:30:56 delphij Exp $"); +__FBSDID("$FreeBSD: src/bin/chmod/chmod.c,v 1.35 2009/07/01 15:52:19 trasz Exp $"); #include #include @@ -186,8 +186,14 @@ * identical to the one computed from an ACL will change * that ACL. */ +>>>> ORIGINAL //depot/vendor/freebsd/src/bin/chmod/chmod.c#13 +==== THEIRS //depot/vendor/freebsd/src/bin/chmod/chmod.c#14 + if (may_have_nfs4acl(p) == 0 && + (newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) +==== YOURS //trasz_victim/nfs4acl/bin/chmod/chmod.c if (may_have_nfs4acl(p) == 0) { if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) +<<<< continue; } if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { @@ -239,7 +245,12 @@ previous_dev = ent->fts_statp->st_dev; supports_acls = 0; +>>>> ORIGINAL //depot/vendor/freebsd/src/bin/chmod/chmod.c#13 +==== THEIRS //depot/vendor/freebsd/src/bin/chmod/chmod.c#14 + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); +==== YOURS //trasz_victim/nfs4acl/bin/chmod/chmod.c ret = pathconf(ent->fts_accpath, _PC_EXTENDED_SECURITY_NP); +<<<< if (ret > 0) supports_acls = 1; else if (ret < 0 && errno != EINVAL) ==== //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libgcc/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.63 2009/02/13 16:51:36 jkim Exp $ +# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.65 2009/06/29 01:33:59 kan Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs ==== //depot/projects/soc2008/trasz_nfs4acl/gnu/lib/libssp/libssp_nonshared/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libssp/libssp_nonshared/Makefile,v 1.1 2007/05/19 04:25:56 kan Exp $ +# $FreeBSD: src/gnu/lib/libssp/libssp_nonshared/Makefile,v 1.3 2009/06/29 01:33:59 kan Exp $ GCCDIR= ${.CURDIR}/../../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../../contrib/gcclibs ==== //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/cc/cc_tools/freebsd-native.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/freebsd-native.h,v 1.29 2007/10/12 17:49:12 obrien Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/cc/cc_tools/freebsd-native.h,v 1.31 2009/06/29 01:33:59 kan Exp $ */ /* FREEBSD_NATIVE is defined when gcc is integrated into the FreeBSD source tree so it can be configured appropriately without using ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 -# $FreeBSD: src/lib/libc/Makefile,v 1.75 2009/03/13 10:40:38 gabor Exp $ +# $FreeBSD: src/lib/libc/Makefile,v 1.77 2009/06/29 01:33:59 kan Exp $ SHLIBDIR?= /lib ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/msgctl.3#2 (text+ko) ==== @@ -29,7 +29,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.21 2008/04/03 16:21:43 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.22 2009/06/29 18:54:17 kib Exp $ .\"/ .Dd April 3, 2008 .Dt MSGCTL 3 @@ -71,12 +71,8 @@ pid_t msg_lspid; /* pid of last msgsnd() */ pid_t msg_lrpid; /* pid of last msgrcv() */ time_t msg_stime; /* time of last msgsnd() */ - long msg_pad1; time_t msg_rtime; /* time of last msgrcv() */ - long msg_pad2; time_t msg_ctime; /* time of last msgctl() */ - long msg_pad3; - long msg_pad4[4]; }; .Ed .Pp @@ -89,11 +85,11 @@ and looks like this: .Bd -literal struct ipc_perm { - unsigned short cuid; /* creator user id */ - unsigned short cgid; /* creator group id */ - unsigned short uid; /* user id */ - unsigned short gid; /* group id */ - unsigned short mode; /* r/w permission */ + uid_t cuid; /* creator user id */ + gid_t cgid; /* creator group id */ + uid_t uid; /* user id */ + gid_t gid; /* group id */ + mode_t mode; /* r/w permission */ unsigned short seq; /* sequence # (to generate unique ipcid) */ key_t key; /* user specified msg/sem/shm key */ }; ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/Symbol.map#11 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.24 2009/06/24 21:10:52 jhb Exp $ + * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.26 2009/06/29 01:33:59 kan Exp $ */ /* ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/getsockopt.2#3 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)getsockopt.2 8.4 (Berkeley) 5/2/95 -.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.40 2008/06/12 22:58:35 wkoszek Exp $ +.\" $FreeBSD: src/lib/libc/sys/getsockopt.2,v 1.41 2009/06/30 20:53:56 trasz Exp $ .\" .Dd June 13, 2008 .Dt GETSOCKOPT 2 @@ -139,6 +139,11 @@ .In sys/time.h . .Pp The following options are recognized at the socket level. +For protocol-specific options, see protocol manual pages, +e.g. +.Xr ip 4 +or +.Xr tcp 4 . Except as noted, each may be examined with .Fn getsockopt and set with @@ -499,6 +504,10 @@ .Xr getprotoent 3 , .Xr mac 3 , .Xr sysctl 3 , +.Xr ip 4 , +.Xr ip6 4 , +.Xr sctp 4 , +.Xr tcp 4 , .Xr protocols 5 , .Xr sysctl 8 , .Xr accept_filter 9 , ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/semctl.2#2 (text+ko) ==== @@ -23,7 +23,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/lib/libc/sys/semctl.2,v 1.20 2005/01/15 12:28:00 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/semctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd September 12, 1995 .Dt SEMCTL 2 @@ -148,12 +148,9 @@ struct sem *sem_base; /* pointer to first semaphore in set */ u_short sem_nsems; /* number of sems in set */ time_t sem_otime; /* last operation time */ - long sem_pad1; /* SVABI/386 says I need this here */ time_t sem_ctime; /* last change time */ /* Times measured in secs since */ /* 00:00:00 GMT, Jan. 1, 1970 */ - long sem_pad2; /* SVABI/386 says I need this here */ - long sem_pad3[4]; /* SVABI/386 says I need this here */ }; .Ed .Sh RETURN VALUES ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/shmctl.2#3 (text+ko) ==== @@ -23,7 +23,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/lib/libc/sys/shmctl.2,v 1.20 2009/03/05 12:04:42 kib Exp $ +.\" $FreeBSD: src/lib/libc/sys/shmctl.2,v 1.21 2009/06/29 18:54:17 kib Exp $ .\" .Dd July 17, 1995 .Dt SHMCTL 2 @@ -100,14 +100,13 @@ .Bd -literal struct shmid_ds { struct ipc_perm shm_perm; /* operation permission structure */ - int shm_segsz; /* size of segment in bytes */ + size_t shm_segsz; /* size of segment in bytes */ pid_t shm_lpid; /* process ID of last shared memory op */ pid_t shm_cpid; /* process ID of creator */ - short shm_nattch; /* number of current attaches */ + int shm_nattch; /* number of current attaches */ time_t shm_atime; /* time of last shmat() */ time_t shm_dtime; /* time of last shmdt() */ time_t shm_ctime; /* time of last change by shmctl() */ - void *shm_internal; /* sysv stupidity */ }; .Ed .Sh RETURN VALUES @@ -133,16 +132,6 @@ Permission denied due to mismatch between operation and mode of shared memory segment. .El -.Sh "BUGS" -The segment size has size_t type. -The shm_segsz member of the -.Vt shmid_ds -structure has type int, which is too short to represent the full range -of values for a segment size. -If shared memory limits are raised to allow segments with size > 2 GB -to be created, be aware that IPC_STAT call may return a truncated value -for shm_segsz. -.El .Sh "SEE ALSO" .Xr shmat 2 , .Xr shmdt 2 , ==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/stack_protector.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.2 2007/06/05 08:24:34 des Exp $ */ +/* $FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.4 2009/06/29 01:33:59 kan Exp $ */ /* $NetBSD: stack_protector.c,v 1.4 2006/11/22 17:23:25 christos Exp $ */ /* $OpenBSD: stack_protector.c,v 1.10 2006/03/31 05:34:44 deraadt Exp $ */ /* @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.2 2007/06/05 08:24:34 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sys/stack_protector.c,v 1.4 2009/06/29 01:33:59 kan Exp $"); #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.43 2009/02/21 15:04:31 ru Exp $ +# $FreeBSD: src/libexec/rtld-elf/Makefile,v 1.45 2009/06/29 01:33:59 kan Exp $ .include MK_SSP= no ==== //depot/projects/soc2008/trasz_nfs4acl/release/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/Makefile,v 1.942 2009/06/25 04:25:26 marcel Exp $ +# $FreeBSD: src/release/Makefile,v 1.943 2009/06/28 08:59:46 blackend Exp $ # # make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \ # [RELEASETAG=tag] @@ -39,6 +39,10 @@ # checking out from a local CVS repository, set this option. #EXTPORTSDIR=/usr/ports # +# To use a checked-out doc/ directory instead of +# checking out from a local CVS repository, set this option. +#EXTDOCDIR=/usr/doc +# # To add other options to the CVS subcommands (co,up), set #CVSCMDARGS="-D '01/01/2002 00:00:00 UTC'" # @@ -91,15 +95,13 @@ # the ports tree, so NOPORTS can be set together with NODOC in order # to have neither ports or docs. If only NOPORTS is set to YES, but # docs are still desired, the DOMINIMALDOCPORTS logic below will only -# install the ports that are minimally required for the docs. This is +# install the ports that are minimally required for the release note documentation. This is # intended as a compromise, less disk space is required than for using # the entire ports collection (and much less time due to the huge number # of directories it would create), but still quite a bit as well as some # CPU cycles (some of the programs are C++, and things like ghostscript # belong to the required ports nevertheless). # -# Setting this also disables building of release note documentation -# (RELNOTESng). #NODOC= YES #NOPORTS= YES @@ -141,11 +143,6 @@ # # Doing 'make index' in /usr/ports requires Perl. MAKEINDEXPORTS= lang/perl5.8 -# By default, documentation (Handbook, FAQ, etc.) is built for all -# the languages. To speed up building, set the DOC_LANG to just -# the languages you need. (The language for the release notes is -# controlled by the RELNOTES_LANG variable above.) -#DOC_LANG= en_US.ISO8859-1 DOCPORTS= textproc/docproj # Set this to wherever the distfiles required by release procedures. .if defined(DOCDISTFILES) @@ -348,7 +345,7 @@ @echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false .endif .if defined(NOPORTSATALL) && !defined(NODOC) - @echo "Ports are required for building the docs. Either set NODOC or" + @echo "Ports are required for building the release docs. Either set NODOC or" @echo "unset NOPORTS, or set at least DOMINIMALDOCPORTS to YES!" @exit 1 .endif @@ -477,7 +474,6 @@ BUILDNAME \ CD_PACKAGE_TREE \ DISTRIBUTIONS \ - DOC_LANG \ DOMINIMALDOCPORTS \ EXTRA_SRC \ FTP_PASSIVE_MODE \ @@ -1037,22 +1033,8 @@ @echo "Building CDROM docs filesystem image" @mkdir -p ${CD_DOCS} @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf - @mkdir -p ${CD_DOCS}/usr/share/doc -.if defined(MAKE_DVD) - @mkdir -p ${CD_DVD1}/usr/share/doc + @echo "CD_VOLUME = 3" >> ${CD_DOCS}/cdrom.inf .endif - @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ - if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ - -d /usr/doc/$$i ]; then \ - mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DOCS}/usr/share/doc; \ - fi \ - done -.if defined(MAKE_DVD) - @cd ${CD_DOCS}/usr/share/doc && find . -print | \ - cpio -dumpl ${CD_DVD1}/usr/share/doc -.endif -.endif touch ${.TARGET} # @@ -1082,6 +1064,11 @@ .if exists(${CD_PACKAGE_TREE}/disc2) CD_DISC2_PKGS= ${CD_PACKAGE_TREE}/disc2 .endif +# scripts/package-trees.sh names all discs according to the "discX" +# scheme where X is the number of the disc +.if exists(${CD_PACKAGE_TREE}/disc3) +CD_DOCS_PKGS= ${CD_PACKAGE_TREE}/disc3 +.endif .if exists(${CD_PACKAGE_TREE}/dvd1) CD_DVD1_PKGS= ${CD_PACKAGE_TREE}/dvd1 .endif @@ -1113,7 +1100,8 @@ .if !defined(NODOC) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ FreeBSD_Documentation \ - ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} + ${CD}/${BUILDNAME}-${TARGET}-disc3.iso ${CD_DOCS} \ + ${CD_DOCS_PKGS} .endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ @@ -1139,9 +1127,6 @@ make all install clean BATCH=yes WITHOUT_X11=yes JADETEX=no \ WITHOUT_PYTHON=yes FORCE_PKG_REGISTER=yes; \ done - @cd /usr/doc && make all install 'FORMATS=html html-split txt' \ - INSTALL_COMPRESSED='' DOCDIR=${RD}/trees/base/usr/share/doc \ - URLS_ABSOLUTE=YES touch ${.TARGET} # ==== //depot/projects/soc2008/trasz_nfs4acl/release/amd64/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/amd64/boot_crunch.conf,v 1.66 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/amd64/boot_crunch.conf,v 1.67 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/i386/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/i386/boot_crunch.conf,v 1.66 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/i386/boot_crunch.conf,v 1.67 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/ia64/boot_crunch.conf#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/ia64/boot_crunch.conf,v 1.17 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/ia64/boot_crunch.conf,v 1.18 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -46,4 +46,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -ldevinfo -libs -lgeom -lbsdxml -larchive -lbz2 -lusb +libs -lgeom -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/pc98/boot_crunch.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/pc98/boot_crunch.conf,v 1.65 2008/08/20 13:35:39 kensmith Exp $ +# $FreeBSD: src/release/pc98/boot_crunch.conf,v 1.66 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -41,4 +41,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 +libs -larchive -lbz2 -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/powerpc/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/powerpc/boot_crunch.conf,v 1.9 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/powerpc/boot_crunch.conf,v 1.10 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -44,4 +44,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/scripts/package-split.py#2 (text+ko) ==== @@ -7,7 +7,7 @@ # # Usage: package-split.py # -# $FreeBSD: src/release/scripts/package-split.py,v 1.17 2007/11/07 09:11:45 kris Exp $ +# $FreeBSD: src/release/scripts/package-split.py,v 1.18 2009/06/28 08:59:46 blackend Exp $ import os import sys @@ -86,11 +86,34 @@ 'ports-mgmt/portaudit']) return pkgs +def docs_packages(): + pkgs = ['misc/freebsd-doc-bn', + 'misc/freebsd-doc-da', + 'misc/freebsd-doc-de', + 'misc/freebsd-doc-el', + 'misc/freebsd-doc-en', + 'misc/freebsd-doc-es', + 'misc/freebsd-doc-fr', + 'misc/freebsd-doc-hu', + 'misc/freebsd-doc-it', + 'misc/freebsd-doc-ja', + 'misc/freebsd-doc-mn', + 'misc/freebsd-doc-nl', + 'misc/freebsd-doc-pl', + 'misc/freebsd-doc-pt', + 'misc/freebsd-doc-ru', + 'misc/freebsd-doc-sr', + 'misc/freebsd-doc-tr', + 'misc/freebsd-doc-zh_cn', + 'misc/freebsd-doc-zh_tw'] + return pkgs + # The list of desired packages def desired_packages(): disc1 = disc1_packages() disc2 = disc2_packages() - return [disc1, disc2] + docs = docs_packages() + return [disc1, disc2, docs] # Suck the entire INDEX file into a two different dictionaries. The first # dictionary maps port names (origins) to package names. The second ==== //depot/projects/soc2008/trasz_nfs4acl/release/sparc64/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/sparc64/boot_crunch.conf,v 1.13 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/sparc64/boot_crunch.conf,v 1.14 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/release/sun4v/boot_crunch.conf#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/sun4v/boot_crunch.conf,v 1.6 2009/03/09 17:05:31 thompsa Exp $ +# $FreeBSD: src/release/sun4v/boot_crunch.conf,v 1.7 2009/06/29 13:59:30 jamie Exp $ buildopts -DRELEASE_CRUNCH -Dlint @@ -42,4 +42,4 @@ libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/acpi_hp.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.2 2009/06/23 14:57:06 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_hp.4,v 1.4 2009/07/03 21:12:37 rpaulo Exp $ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_HP 4 i386 .Os .Sh NAME @@ -92,8 +92,8 @@ WWAN on air status changed to 1 (on air) .El .Ss Xr devfs 8 Ss Device -You can read /dev/hpcmi to see your current BIOS settings. The detail level -can be adjusted by setting the sysctl +You can read /dev/hpcmi to see your current BIOS settings. +The detail level can be adjusted by setting the sysctl .Va cmi_detail as described below. .Sh SYSCTL VARIABLES @@ -165,11 +165,30 @@ Show a list of valid options for the BIOS setting .It Li 0x04 Show additional flags of BIOS setting (ReadOnly etc.) +.It Li 0x08 +Query highest BIOS entry instance. +This is broken on many HP models and therefore disabled by default. .El +.It Va dev.acpi_hp.0.verbose +(read-only) +Set verbosity level .El .Pp Defaults for these sysctls can be set in .Xr sysctl.conf 5 . +.Sh HARDWARE +The +.Nm +driver has been reported to support the following hardware: +.Pp +.Bl -bullet -compact +.It +HP Compaq 8510p +.It +HP Compaq nx7300 +.El +.Pp +It should work on most HP laptops that feature a WMI enabled BIOS. .Sh FILES .Bl -tag -width ".Pa /dev/hpcmi" .It Pa /dev/hpcmi @@ -245,7 +264,7 @@ driver was written by .An Michael Gmelin Aq freebsd@grem.de .Pp -It has been inspired by hp-wmi driver, which implements a subset of these +It has been inspired by hp-wmi driver, which implements a subset of these features (hotkeys) on Linux. .Pp .Bl -tag -width indent ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/acpi_wmi.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.2 2009/06/23 14:57:06 rpaulo Exp $ +.\" $FreeBSD: src/share/man/man4/acpi_wmi.4,v 1.3 2009/07/03 21:12:37 rpaulo Exp $ .\" -.Dd June 21, 2009 +.Dd June 30, 2009 .Dt ACPI_WMI 4 i386 .Os .Sh NAME @@ -48,7 +48,8 @@ The .Nm driver provides an interface for vendor specific WMI implementations -(e.g. HP and Acer laptops). It creates /dev/wmistat, which can be read to get +(e.g. HP and Acer laptops). +It creates /dev/wmistat, which can be read to get information about GUIDs found in the system. .Sh FILES .Bl -tag -width /dev/wmistat -compact ==== //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/cpuctl.4#5 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/cpuctl.4,v 1.6 2009/04/23 08:37:56 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/cpuctl.4,v 1.7 2009/06/30 12:35:47 stas Exp $ .\" -.Dd May 31, 2008 +.Dd June 30, 2009 .Dt CPUCTL 4 .Os .Sh NAME @@ -81,6 +81,11 @@ uint64_t data; } cpuctl_msr_args_t; .Ed +.It Dv CPUCTL_MSRSBIT Fa cpuctl_msr_args_t *args +.It Dv CPUCTL_MSRCBIT Fa cpuctl_msr_args_t *args +Set/clear MSR bits according to the mask given in the +.Va data +field. .It Dv CPUCTL_CPUID Fa cpuctl_cpuid_args_t *args Retrieve CPUID information. Arguments are supplied in ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/genassym.c#8 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $"); #include "opt_compat.h" #include "opt_hwpmc_hooks.h" @@ -64,7 +64,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/identcpu.c#11 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $"); #include "opt_cpu.h" @@ -107,9 +107,6 @@ }; -extern int pq_l2size; -extern int pq_l2nways; - void printcpuinfo(void) { ==== //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/intr_machdep.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $ */ /* @@ -163,8 +163,8 @@ } int -intr_add_handler(const char *name, int vector, driver_filter_t filter, - driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) +intr_add_handler(const char *name, int vector, driver_filter_t filter, + driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep) { struct intsrc *isrc; int error; @@ -302,7 +302,8 @@ intr_assign_cpu(void *arg, u_char cpu) { #ifdef SMP - struct intsrc *isrc; + struct intsrc *isrc; + int error; /* * Don't do anything during early boot. We will pick up the @@ -311,10 +312,11 @@ if (assign_cpu && cpu != NOCPU) { isrc = arg; mtx_lock(&intr_table_lock); - isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]); >>> TRUNCATED FOR MAIL (1000 lines) <<< From pgj at FreeBSD.org Sat Jul 4 15:09:11 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sat Jul 4 15:09:16 2009 Subject: PERFORCE change 165593 for review Message-ID: <200907041509.n64F99br086830@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165593 Change 165593 by pgj@petymeg-current on 2009/07/04 15:08:30 Do not use kread() at all when doing live monitoring. This is required to run a 32-bit netstat on top of a 64-bit kernel, otherwise it will result a "no namelist" error. Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#10 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#10 (text+ko) ==== @@ -523,7 +523,8 @@ * used for the queries, which is slower. */ #endif - kread(0, NULL, 0); + if (!live) + kread(0, NULL, 0); if (iflag && !sflag) { intpr(interval, nl[N_IFNET].n_value, NULL); exit(0); From anchie at FreeBSD.org Sat Jul 4 15:23:26 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Sat Jul 4 15:23:32 2009 Subject: PERFORCE change 165594 for review Message-ID: <200907041523.n64FNOeP087860@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165594 Change 165594 by anchie@anchie_malimis on 2009/07/04 15:23:00 snd_ifinfo functions; previously that were ng_ifinfo functions. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#10 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/netgraph.c#2 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.c#3 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.h#2 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os_specific.h#4 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#7 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#12 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#10 (text+ko) ==== @@ -74,22 +74,20 @@ return (b); } -#if 0 /* Per-interface info */ struct snd_ifinfo { struct list_head list; char name[32]; int ifidx; - int icmps; -} + int snds; +}; static DEFINE_LIST_HEAD(ifaces); /* Data packet meta data */ struct input_hook_packet_info { struct snd_ifinfo *ifinfo; - int in; - int from_kernel; -} + int direction; +}; int snd_handle_iface(const char *ifname, int ifidx) @@ -102,9 +100,9 @@ } memset(p, 0, sizeof (*p)); - snprintf(o->name, sizeof (p->name), "%s", ifname) + snprintf(p->name, sizeof (p->name), "%s", ifname); p->ifidx = ifidx; - p->icmps = -1; + p->snds = -1; list_add_tail(&p->list, &ifaces); return (0); @@ -116,11 +114,24 @@ struct snd_ifinfo *p; list_for_each_entry(p, &ifaces, list) { - *maxfd = *maxfd > p->icmps ? *maxfd : p->icmps; - FD_SET(p->icmps, fds); + *maxfd = *maxfd > p->snds ? *maxfd : p->snds; + applog(LOG_ERR, "snds added to snd_ifinfo."); + FD_SET(p->snds, fds); } } +int +freebsd_snd_init(void) +{ + + if (list_empty(&ifaces)) { + applog(LOG_ERR, "SEND must be active on at least one iface"); + return (-1); + } + return (0); +} + +#if 0 void snd_dispatch_fds(fd_set *fds) { @@ -182,7 +193,7 @@ struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; struct sbuff *b; - int in = -1, n, ifidx = -1; + int n, ifidx = -1; if ((b = snd_get_buf()) == NULL) { return; @@ -192,6 +203,8 @@ if (n < 0) { applog(LOG_ERR, "%s: read: %s", __FUNCTION__, strerror(errno)); goto done; + } else { + applog(LOG_ERR, "%s: %d bytes read on routing socket.", n, __FUNCTION__); } b->len = n; @@ -199,6 +212,8 @@ if (rtm->rtm_version != RTM_VERSION) { applog(LOG_ERR, "%s: Unsupported routing message version.", __FUNCTION__); goto done; + } else { + applog(LOG_ERR, "%s RTM_VERSION", __FUNCTION__); } switch (rtm->rtm_type) { @@ -209,20 +224,16 @@ ifan = (struct if_announcemsghdr *) rtm; switch (ifan->ifan_what) { case RTM_SND_IN: - in = 1; - /* n = RTM hdr + m as passed to nd6_ns_input() */ b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ - snd_recv_pkt(b, ifidx, in); + snd_recv_pkt(b, ifidx, SND_IN); break; case RTM_SND_OUT: - in = 0; - /* n = RTM hdr + ip6_hdr + icmp6len == ND message (as sent to if_output()) */ b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ - snd_recv_pkt(b, ifidx, in); + snd_recv_pkt(b, ifidx, SND_OUT); break; } break; ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/netgraph.c#2 (text+ko) ==== @@ -357,8 +357,9 @@ DBG(&dbg, "data on unknown hook %s", hook); goto drop; } - +#if 0 snd_recv_pkt(b, p->ifidx, pi->in, pi); +#endif return (0); drop: ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.c#3 (text+ko) ==== @@ -34,52 +34,13 @@ #include #include "config.h" +#include "snd_freebsd.h" #include "../os_specific.h" -#include "snd_freebsd.h" extern int linux_rand_init(void); extern void linux_rand_fini(void); -/* Per-interface info */ -struct snd_ifinfo { - struct list_head list; - char name[32]; - int ifidx; - int icmps; -}; -static DEFINE_LIST_HEAD(ifaces); - int -snd_handle_iface(const char *ifname, int ifidx) -{ - struct snd_ifinfo *p; - - if ((p = malloc(sizeof (*p))) == NULL) { - APPLOG_NOMEM(); - return (-1); - } - memset(p, 0, sizeof (*p)); - - snprintf(p->name, sizeof (p->name), "%s", ifname); - p->ifidx = ifidx; - p->icmps = -1; - list_add_tail(&p->list, &ifaces); - - return (0); -} - -int -freebsd_snd_init(void) -{ - - if (list_empty(&ifaces)) { - applog(LOG_ERR, "SEND must be active on at least one iface"); - return (-1); - } - return (0); -} - -int os_specific_init(void) { if (linux_rand_init() < 0 || freebsd_snd_init() < 0) { @@ -94,6 +55,8 @@ void os_specific_fini(void) { +#if 0 freebsd_netgraph_fini(); +#endif linux_rand_fini(); } ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os-freebsd/snd_freebsd.h#2 (text+ko) ==== @@ -33,6 +33,8 @@ #ifndef _SND_FREEBSD_H #define _SND_FREEBSD_H +extern int freebsd_snd_init(void); + extern char *freebsd_get_ifs_buf(int *); extern int freebsd_ifs_init(int (*cb)(const char *, int)); extern void freebsd_netgraph_fini(void); ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os_specific.h#4 (text+ko) ==== ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#7 (text+ko) ==== @@ -47,6 +47,7 @@ #include "sendd_local.h" #include "snd_config.h" #include "os_specific.h" +#include "os/snd_freebsd.h" #include "dbg.h" #ifdef DEBUG @@ -86,6 +87,7 @@ if (cfd != -1) maxfd = cfd; maxfd = sendd_max(icmps, maxfd); maxfd = sendd_max(ctlfd, maxfd); + maxfd = sendd_max(snds, maxfd); for (;;) { FD_ZERO(fds); @@ -95,7 +97,7 @@ /* Routing socket instead of using netgraph for ND/SeND */ FD_SET(snds, fds); /* os_specific_add_fds(fds, &maxfd); */ - /* snd_add_fds(fds, &maxfd); */ + snd_add_fds(fds, &maxfd); tv = get_next_wait(tvb); if (select(maxfd + 1, fds, NULL, NULL, tv) < 0) { ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#12 (text+ko) ==== @@ -7,8 +7,8 @@ * structure. */ -#define SEND_OUT 0 /* outgoing traffic sent to sendd */ -#define SEND_IN 1 +#define SND_OUT 0 /* outgoing traffic sent to sendd */ +#define SND_IN 1 #define RTM_SND_OUT 0 /* outgoing traffic with RTM header sent to sendd */ #define RTM_SND_IN 1 /* incoming traffic with RTM header sent to sendd */ From anchie at FreeBSD.org Sat Jul 4 15:36:41 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Sat Jul 4 15:36:47 2009 Subject: PERFORCE change 165595 for review Message-ID: <200907041536.n64Fadel088822@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165595 Change 165595 by anchie@anchie_malimis on 2009/07/04 15:35:44 Editorial changes. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#15 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#13 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#4 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#13 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#15 (text+ko) ==== @@ -409,7 +409,6 @@ int icmp6len = m->m_pkthdr.len - *offp; int code, sum, noff; char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN]; - int in; int ip6len; ifp = m->m_pkthdr.rcvif; @@ -766,20 +765,18 @@ /* give up local */ /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else { + else { /* give up local */ nd6_rs_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(n, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else nd6_rs_input(n, off, icmp6len); /* m stays. */ break; @@ -793,18 +790,16 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else nd6_ra_input(m, off, icmp6len); m = NULL; goto freeit; } - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hoo(n, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else nd6_ra_input(n, off, icmp6len); /* m stays. */ break; @@ -818,20 +813,18 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else { + else { /* give up local */ nd6_ns_input(m, off, icmp6len); } m = NULL; goto freeit; } - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(n, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else nd6_ns_input(n, off, icmp6len); /* m stays. */ break; @@ -845,10 +838,9 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else { + else { /* give up local */ nd6_na_input(m, off, icmp6len); } @@ -871,20 +863,18 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* Send incoming SeND-protected/ND packet to user space. */ - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(m, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else { + else { /* give up local */ icmp6_redirect_input(m, off); } m = NULL; goto freeit; } - if (send_output_hook != NULL) { + if (send_output_hook != NULL) send_output_hook(n, ifp, SND_IN, ip6len); - return (IPPROTO_DONE); - } else + else icmp6_redirect_input(n, off); /* m stays. */ break; @@ -2791,7 +2781,8 @@ sizeof(*ip6), ntohs(ip6->ip6_plen)); if (send_output_hook != NULL) { - mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), + M_NOWAIT); if (mtag == NULL) goto fail; *(unsigned short *)(mtag + 1) = nd_rd->nd_rd_type; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#13 (text+ko) ==== ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_nbr.c#4 (text+ko) ==== @@ -565,7 +565,8 @@ in6_cksum(m, IPPROTO_ICMPV6, sizeof(*ip6), icmp6len); if (send_output_hook != NULL) { - mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), + M_NOWAIT); if (mtag == NULL) goto bad; else @@ -1080,7 +1081,8 @@ in6_cksum(m, IPPROTO_ICMPV6, sizeof(struct ip6_hdr), icmp6len); if (send_output_hook != NULL) { - mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), M_NOWAIT); + mtag = m_tag_get(PACKET_TAG_ND_OUTGOING, sizeof(unsigned short), + M_NOWAIT); if (mtag == NULL) goto bad; *(unsigned short *)(mtag + 1) = nd_na->nd_na_type; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#13 (text+ko) ==== @@ -7,8 +7,8 @@ * structure. */ -#define SND_OUT 0 /* outgoing traffic sent to sendd */ -#define SND_IN 1 +#define SND_OUT 0 /* Outgoing traffic */ +#define SND_IN 1 /* Incoming traffic. */ -#define RTM_SND_OUT 0 /* outgoing traffic with RTM header sent to sendd */ -#define RTM_SND_IN 1 /* incoming traffic with RTM header sent to sendd */ +#define RTM_SND_OUT 0 /* Outgoing RTM SeND packet sent to user space */ +#define RTM_SND_IN 1 /* Incoming RTM SeND packet sent to user space */ From pgj at FreeBSD.org Sat Jul 4 16:12:19 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sat Jul 4 16:12:26 2009 Subject: PERFORCE change 165596 for review Message-ID: <200907041612.n64GCIoD092247@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165596 Change 165596 by pgj@petymeg-current on 2009/07/04 16:11:32 Add copyright message and $FreeBSD$ Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/Makefile#8 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#37 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#23 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#21 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#23 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#21 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#17 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/Makefile#2 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#7 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/Makefile#8 (text+ko) ==== @@ -1,3 +1,4 @@ +# $FreeBSD$ .include ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#37 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ #include #include ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#23 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ #ifndef _NETSTAT_H_ #define _NETSTAT_H_ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#21 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ #ifndef _NETSTAT_INTERNAL_H_ #define _NETSTAT_INTERNAL_H_ ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#23 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ #include #include ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#21 (text+ko) ==== @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2009 Gabor Pali * Copyright (c) 1983, 1988, 1993, 1995 * The Regents of the University of California. All rights reserved. * ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/unix.c#17 (text+ko) ==== @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2009 Gabor Pali * Copyright (c) 1983, 1988, 1993 * The Regents of the University of California. All rights reserved. * ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/Makefile#2 (text+ko) ==== @@ -1,3 +1,5 @@ +# $FreeBSD$ + PROG= nettop SRCS= main.c ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/nettop/main.c#7 (text+ko) ==== @@ -1,3 +1,30 @@ +/*- + * Copyright (c) 2009 Gabor Pali + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ #include #include From pgj at FreeBSD.org Sat Jul 4 16:39:50 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sat Jul 4 16:40:18 2009 Subject: PERFORCE change 165597 for review Message-ID: <200907041639.n64GdmMt094199@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165597 Change 165597 by pgj@petymeg-current on 2009/07/04 16:39:30 Correct the previous patch about kread(): call it only when needed (e.g. for routing statistics) Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#11 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#11 (text+ko) ==== @@ -523,13 +523,13 @@ * used for the queries, which is slower. */ #endif - if (!live) + if (iflag && !sflag) { kread(0, NULL, 0); - if (iflag && !sflag) { intpr(interval, nl[N_IFNET].n_value, NULL); exit(0); } if (rflag) { + kread(0, NULL, 0); if (sflag) rt_stats(nl[N_RTSTAT].n_value, nl[N_RTTRASH].n_value); else @@ -537,6 +537,7 @@ exit(0); } if (gflag) { + kread(0, NULL, 0); if (sflag) { if (af == AF_INET || af == AF_UNSPEC) mrt_stats(nl[N_MRTSTAT].n_value); From truncs at FreeBSD.org Sat Jul 4 17:25:40 2009 From: truncs at FreeBSD.org (Aditya Sarawgi) Date: Sat Jul 4 17:25:46 2009 Subject: PERFORCE change 165598 for review Message-ID: <200907041725.n64HPc2s008573@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165598 Change 165598 by truncs@aditya on 2009/07/04 17:25:25 Cleanup. Preallocation is GPL'd and besides it lead to some problems while adding a journaling layer to it in linux so this scheme was removed from ext2fs and a new reservation window based scheme was implemented. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#26 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#26 (text+ko) ==== @@ -136,56 +136,9 @@ ip->i_blocks += btodb(fs->e2fs_bsize); ip->i_flag |= IN_CHANGE | IN_UPDATE; *bnp = bno; + uprintf("Allocation of block successfull"); return (0); } - - -#ifdef notused -#ifdef EXT2_PREALLOCATE - /* To have a preallocation hit, we must - * - have at least one block preallocated - * - and our preferred block must have that block number or one below - */ - if (ip->i_prealloc_count && - (bpref == ip->i_prealloc_block || - bpref + 1 == ip->i_prealloc_block)) - { - bno = ip->i_prealloc_block++; - ip->i_prealloc_count--; - /* ext2_debug ("preallocation hit (%lu/%lu).\n", - ++alloc_hits, ++alloc_attempts); */ - - /* Linux gets, clears, and releases the buffer at this - point - we don't have to that; we leave it to the caller - */ - } else { - ext2_discard_prealloc (ip); - /* ext2_debug ("preallocation miss (%lu/%lu).\n", - alloc_hits, ++alloc_attempts); */ - if (S_ISREG(ip->i_mode)) - bno = ext2_new_block - (ITOV(ip)->v_mount, bpref, - &ip->i_prealloc_count, - &ip->i_prealloc_block); - else - bno = (int32_t)ext2_new_block(ITOV(ip)->v_mount, - bpref, 0, 0); - } -#else - bno = (int32_t)ext2_new_block(ITOV(ip)->v_mount, bpref, 0, 0); -#endif - - if (bno > 0) { - /* set next_alloc fields as done in block_getblk */ - ip->i_next_alloc_block = lbn; - ip->i_next_alloc_goal = bno; - - ip->i_blocks += btodb(size); - ip->i_flag |= IN_CHANGE | IN_UPDATE; - *bnp = bno; - return (0); - } -#endif nospace: ext2_fserr(fs, cred->cr_uid, "file system full"); uprintf("\n%s: write failed, file system is full\n", fs->e2fs_fsmnt); From truncs at FreeBSD.org Sat Jul 4 17:38:55 2009 From: truncs at FreeBSD.org (Aditya Sarawgi) Date: Sat Jul 4 17:39:01 2009 Subject: PERFORCE change 165599 for review Message-ID: <200907041738.n64HcrmZ009467@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165599 Change 165599 by truncs@aditya on 2009/07/04 17:38:31 This function make no sense since preallocation is removed. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#27 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#27 (text+ko) ==== @@ -62,41 +62,37 @@ static daddr_t ext2_mapsearch(struct m_ext2fs *, char *, daddr_t); /* - * Linux calls this functions at the following locations: - * (1) the inode is freed - * (2) a preallocation miss occurs - * (3) truncate is called - * (4) release_file is called and f_mode & 2 - * - * I call it in ext2_inactive, ext2_truncate, ext2_vfree and in (2) - * the call in vfree might be redundant - */ -void -ext2_discard_prealloc(ip) - struct inode * ip; -{ -#ifdef EXT2_PREALLOCATE - if (ip->i_prealloc_count) { - int i = ip->i_prealloc_count; - ip->i_prealloc_count = 0; - ext2_free_blocks (ITOV(ip)->v_mount, - ip->i_prealloc_block, - i); - } -#endif -} - -/* * Allocate a block in the file system. - * - * this takes the framework from ffs_alloc. To implement the - * actual allocation, it calls ext2_new_block, the ported version - * of the same Linux routine. * - * we note that this is always called in connection with ext2_blkpref + * A preference may be optionally specified. If a preference is given + * the following hierarchy is used to allocate a block: + * 1) allocate the requested block. + * 2) allocate a rotationally optimal block in the same cylinder. + * 3) allocate a block in the same cylinder group. + * 4) quadradically rehash into other cylinder groups, until an + * available block is located. + * If no block preference is given the following hierarchy is used + * to allocate a block: + * 1) allocate a block in the cylinder group that contains the + * inode for the file. + * 2) quadradically rehash into other cylinder groups, until an + * available block is located. * - * preallocation is done as Linux does it + * A preference may be optionally specified. If a preference is given + * the following hierarchy is used to allocate a block: + * 1) allocate the requested block. + * 2) allocate a rotationally optimal block in the same cylinder. + * 3) allocate a block in the same cylinder group. + * 4) quadradically rehash into other cylinder groups, until an + * available block is located. + * If no block preference is given the following hierarchy is used + * to allocate a block: + * 1) allocate a block in the cylinder group that contains the + * inode for the file. + * 2) quadradically rehash into other cylinder groups, until an + * available block is located. */ + int ext2_alloc(ip, lbn, bpref, size, cred, bnp) struct inode *ip; @@ -495,7 +491,6 @@ /* ext2_debug("ext2_vfree (%d, %d) called\n", pip->i_number, mode); */ - ext2_discard_prealloc(pip); /* we need to make sure that ext2_free_inode can adjust the used_dir_counts in the group summary information - I'd From pgj at FreeBSD.org Sat Jul 4 17:48:05 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sat Jul 4 17:48:11 2009 Subject: PERFORCE change 165600 for review Message-ID: <200907041748.n64Hm3lA010133@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165600 Change 165600 by pgj@petymeg-current on 2009/07/04 17:47:41 Further fixes regarding kread() Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#12 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#12 (text+ko) ==== @@ -582,8 +582,11 @@ for (tp = netgraphprotox; tp->pr_name; tp++) printproto(tp, tp->pr_name); #endif /* NETGRAPH */ - if (af == AF_UNIX && !sflag) + if (af == AF_UNIX && !sflag) { + if (!live) + kread(0, NULL, 0); unixpr(kvmd); + } if (af == AF_UNSPEC || af == AF_INET #ifdef INET6 || af == AF_INET6 @@ -595,8 +598,10 @@ exit(-1); } st_flags = 0; - if (!live) + if (!live) { + kread(0, NULL, 0); st_flags |= NETSTAT_SOCKET_KVM; + } if (aflag) st_flags |= NETSTAT_SOCKET_ALL; /* @@ -710,6 +715,8 @@ case IPPROTO_IGMP: case IPPROTO_PIM: case IPPROTO_ICMPV6: + if (!live) + kread(0, NULL, 0); inetpr(kvmd, (af == PF_INET6) ? af : PF_INET, tp->pr_protocol); break; From truncs at FreeBSD.org Sat Jul 4 17:53:10 2009 From: truncs at FreeBSD.org (Aditya Sarawgi) Date: Sat Jul 4 17:53:16 2009 Subject: PERFORCE change 165601 for review Message-ID: <200907041753.n64Hr9YH010515@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165601 Change 165601 by truncs@aditya on 2009/07/04 17:53:04 New implementation of blkfree. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#28 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_alloc.c#28 (text+ko) ==== @@ -456,12 +456,40 @@ long size; { struct m_ext2fs *fs; + struct buf *bp; + struct ext2_gd *gdp = NULL; + int cg, error; + char *bbp; fs = ip->i_e2fs; - /* - * call Linux code with mount *, block number, count - */ - ext2_free_blocks(ITOV(ip)->v_mount, bno, size / fs->e2fs_fsize); + cg = dtog(fs, bno); + gdp = get_group_desc2(fs, cg, NULL); + if ((u_int)bno >= fs->e2fs->e2fs_bcount) { + printf("bad block %lld, ino %llu\n", (long long)bno, + (unsigned long long)ip->i_number); + ext2_fserr(fs, ip->i_uid, "bad block"); + return; + } + error = bread(ip->i_devvp, + fsbtodb(fs, gdp->ext2bgd_b_bitmap), + (int)fs->e2fs_bsize, NOCRED, &bp); + if (error) { + brelse(bp); + return; + } + bbp = (char *)bp->b_data; + bno = dtogd(fs, bno); + if (isclr(bbp, bno)) { + printf("block = %lld, fs = %s\n", + (long long)bno, fs->e2fs_fsmnt); + panic("blkfree: freeing free block"); + } + clrbit(bbp, bno); + fs->e2fs->e2fs_fbcount++; + gdp->ext2bgd_nbfree++; + + fs->e2fs_fmod = 1; + bdwrite(bp); } /* From hselasky at FreeBSD.org Sat Jul 4 18:26:47 2009 From: hselasky at FreeBSD.org (Hans Petter Selasky) Date: Sat Jul 4 18:26:53 2009 Subject: PERFORCE change 165602 for review Message-ID: <200907041826.n64IQjj4014000@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165602 Change 165602 by hselasky@hselasky_laptop001 on 2009/07/04 18:26:03 USB CORE: - correct USB verbose configuration options. Affected files ... .. //depot/projects/usb/src/sys/conf/options#35 edit Differences ... ==== //depot/projects/usb/src/sys/conf/options#35 (text+ko) ==== @@ -636,7 +636,7 @@ # options for USB support USB_DEBUG opt_usb.h -USBVERBOSE opt_usb.h +USB_VERBOSE opt_usb.h USB_EHCI_BIG_ENDIAN_DESC opt_usb.h U3G_DEBUG opt_u3g.h UKBD_DFLT_KEYMAP opt_ukbd.h From pgj at FreeBSD.org Sat Jul 4 18:36:09 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sat Jul 4 18:36:15 2009 Subject: PERFORCE change 165604 for review Message-ID: <200907041836.n64Ia7im014711@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165604 Change 165604 by pgj@petymeg-current on 2009/07/04 18:35:38 - Fix KVM extraction - Rename kread() to kread_data() to avoid confusions with kread() in netstat when debugging Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#38 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#22 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#24 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#38 (text+ko) ==== @@ -286,7 +286,7 @@ } #define KREAD(off, buf, len) do { \ - if (kread(kvm, (uintptr_t)(off), (buf), (len)) != 0) { \ + if (kread_data(kvm, (uintptr_t)(off), (buf), (len)) != 0) { \ return (-1); \ } \ } while (0); @@ -557,13 +557,22 @@ { kvm_t *kvm; int result, i; - struct nlist nls[MAX(nlUNP_MAX, nlINP_MAX) + 1]; + struct nlist nls[nlUNP_MAX + 1 + nlINP_MAX + 1]; - nls[0].n_name = NULL; + bzero(nls, sizeof(nls)); if (flags & NETSTAT_SOCKET_KVM) { /* Use KVM to retrieve data. */ kvm = (kvm_t *)kvm_handle; switch (domain) { + case PF_UNSPEC: + for (i = 0; i < nlUNP_MAX; i++) + nls[i].n_name = strdup(unp_symbol[i]); + nls[nlUNP_MAX].n_name = NULL; + for (i = nlUNP_MAX + 1; + i < (nlUNP_MAX + 1 + nlINP_MAX + 1); i++) + nls[i].n_name = strdup(inp_symbol[i]); + nls[nlUNP_MAX + 1 + nlINP_MAX].n_name = NULL; + break; case PF_LOCAL: for (i = 0; i < nlUNP_MAX; i++) nls[i].n_name = strdup(unp_symbol[i]); @@ -590,12 +599,12 @@ result = netstat_local_sockets(0, list, kvm, nls, flags); if (result < 0) goto end; - result = netstat_inet_sockets(PF_INET, 0, list, kvm, nls, - flags); + result = netstat_inet_sockets(PF_INET, 0, list, kvm, + &nls[nlUNP_MAX + 1], flags); if (result < 0) goto end; - result = netstat_inet_sockets(PF_INET6, 0, list, kvm, nls, - flags); + result = netstat_inet_sockets(PF_INET6, 0, list, kvm, + &nls[nlUNP_MAX + 1], flags); if (result < 0) goto end; break; @@ -605,8 +614,8 @@ break; case PF_INET: case PF_INET6: - result = (netstat_inet_sockets(domain, protocol, list, kvm, nls, - flags)); + result = (netstat_inet_sockets(domain, protocol, list, kvm, + nls, flags)); goto end; break; default: @@ -616,7 +625,8 @@ } end: - for (i = 0; nls[i].n_name != NULL && i < MAX(nlUNP_MAX, nlINP_MAX); i++) + for (i = 0; nls[i].n_name != NULL && i < nlUNP_MAX + nlINP_MAX + 2; + i++) free(nls[i].n_name); return (result); } ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#22 (text+ko) ==== @@ -132,7 +132,7 @@ struct socket_type *sti_next; }; -int kread(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size); +int kread_data(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size); int kread_string(kvm_t *kvm, u_long kvm_pointer, char *buffer, int buflen); void _netstat_stl_empty(struct socket_type_list *list); ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#24 (text+ko) ==== @@ -39,7 +39,7 @@ #include "netstat_internal.h" int -kread(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size) +kread_data(kvm_t *kvm, u_long kvm_pointer, void *address, size_t size) { ssize_t ret; @@ -103,10 +103,11 @@ xso->so_linger = so->so_linger; xso->so_state = so->so_state; xso->so_pcb = so->so_pcb; - if (kread(kvm, (uintptr_t)so->so_proto, &proto, sizeof(proto)) != 0) + if (kread_data(kvm, (uintptr_t)so->so_proto, &proto, sizeof(proto)) + != 0) return (-1); xso->xso_protocol = proto.pr_protocol; - if (kread(kvm, (uintptr_t)proto.pr_domain, &domain, + if (kread_data(kvm, (uintptr_t)proto.pr_domain, &domain, sizeof(domain)) != 0) return (-1); xso->xso_family = domain.dom_family; From anchie at FreeBSD.org Sat Jul 4 18:37:09 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Sat Jul 4 18:37:15 2009 Subject: PERFORCE change 165605 for review Message-ID: <200907041837.n64Ib8KN014768@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165605 Change 165605 by anchie@anchie_malimis on 2009/07/04 18:36:59 Write information about the raw socket into snd_ifinfo structure. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#11 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#8 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#11 (text+ko) ==== @@ -92,6 +92,7 @@ int snd_handle_iface(const char *ifname, int ifidx) { + applog(LOG_ERR, "snd_handle_iface"); struct snd_ifinfo *p; if ((p = malloc(sizeof (*p))) == NULL) { @@ -101,7 +102,9 @@ memset(p, 0, sizeof (*p)); snprintf(p->name, sizeof (p->name), "%s", ifname); + DBG(&dbg_snd, "snd_handle_iface -> p->name = %s", p->name); p->ifidx = ifidx; + DBG(&dbg_snd, "snd_handle_iface -> p->ifidx = %d", ifidx); p->snds = -1; list_add_tail(&p->list, &ifaces); @@ -109,14 +112,16 @@ } void -snd_add_fds(fd_set *fds, int *maxfd) +snd_add_fds(fd_set *fds, int *maxfd, int sock) { struct snd_ifinfo *p; list_for_each_entry(p, &ifaces, list) { + DBG(&dbg_snd, "*maxfd = %d, p->snds = %d", *maxfd, p->snds); *maxfd = *maxfd > p->snds ? *maxfd : p->snds; + p->snds = sock; + FD_SET(p->snds, fds); applog(LOG_ERR, "snds added to snd_ifinfo."); - FD_SET(p->snds, fds); } } @@ -128,6 +133,7 @@ applog(LOG_ERR, "SEND must be active on at least one iface"); return (-1); } + return (0); } @@ -335,6 +341,8 @@ applog(LOG_ERR, "%s: routing socket created.", __FUNCTION__); } + applog(LOG_ERR, "*icmp6sock = %d, *sndsock = %d", *icmp6sock, *sndsock); + v = 255; if (setsockopt(*icmp6sock, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &v, sizeof (v)) < 0) { @@ -361,4 +369,6 @@ __FUNCTION__, strerror(errno)); return (-1); } + + return (0); } ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#8 (text+ko) ==== @@ -95,9 +95,10 @@ FD_SET(icmps, fds); FD_SET(ctlfd, fds); /* Routing socket instead of using netgraph for ND/SeND */ - FD_SET(snds, fds); + /* FD_SET(snds, fds); */ /* os_specific_add_fds(fds, &maxfd); */ - snd_add_fds(fds, &maxfd); + snd_add_fds(fds, &maxfd, snds); + DBG(&snd_dbg, "after snd_add_fds"); tv = get_next_wait(tvb); if (select(maxfd + 1, fds, NULL, NULL, tv) < 0) { @@ -162,7 +163,7 @@ { const char **lm = applog_get_methods(); - fprintf(stderr, "-> Usage: %s [-fV] [-c ] [-i ] " + fprintf(stderr, "---> Usage: %s [-fV] [-c ] [-i ] " "[-l ]\n", this); fprintf(stderr, " log methods: "); for (; *lm; lm++) { @@ -177,6 +178,8 @@ int r, c, icmps, snds, ctlfd, do_daemon = 1; char *cfile = SNDD_CONF_FILE; + icmps = snds = (int *) malloc(sizeof(int)); + #ifdef DEBUG if (applog_open(L_STDERR, SENDD_NAME) < 0) { exit(1); From mav at FreeBSD.org Sat Jul 4 19:18:55 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Sat Jul 4 19:19:01 2009 Subject: PERFORCE change 165606 for review Message-ID: <200907041918.n64JIrdq018663@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165606 Change 165606 by mav@mav_mavbook on 2009/07/04 19:18:44 Add hypothetic 32MB data size limitation for 48bit commands. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#17 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#17 (text+ko) ==== @@ -705,7 +705,7 @@ softc->disk->d_name = "ada"; softc->disk->d_drv1 = periph; if (cgd->ident_data.support.command2 & ATA_SUPPORT_ADDRESS48) - softc->disk->d_maxsize = MAXPHYS; /* ahci driver limit */ + softc->disk->d_maxsize = min(MAXPHYS, 65535 * 512); else /* 28bit ATA command limit */ softc->disk->d_maxsize = min(MAXPHYS, 255 * 512); softc->disk->d_unit = periph->unit_number; From mav at FreeBSD.org Sat Jul 4 19:21:58 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Sat Jul 4 19:22:05 2009 Subject: PERFORCE change 165607 for review Message-ID: <200907041921.n64JLvrN018920@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165607 Change 165607 by mav@mav_mavbook on 2009/07/04 19:21:36 Rise XPT_DEV_MATCH memory limit up to MAXPHYS. It is not going to be passed to ancient hardware, so to reasons to be overly strict. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#31 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#31 (text+ko) ==== @@ -571,6 +571,8 @@ u_int8_t **data_ptrs[CAM_PERIPH_MAXMAPS]; u_int32_t lengths[CAM_PERIPH_MAXMAPS]; u_int32_t dirs[CAM_PERIPH_MAXMAPS]; + /* Some controllers may not be able to handle more data. */ + size_t maxmap = DFLTPHYS; switch(ccb->ccb_h.func_code) { case XPT_DEV_MATCH: @@ -593,6 +595,11 @@ dirs[0] = CAM_DIR_IN; numbufs = 1; } + /* + * This request will not go to the hardware, no reason + * to be so strict. vmapbuf() is able to map up to MAXPHYS. + */ + maxmap = MAXPHYS; break; case XPT_SCSI_IO: case XPT_CONT_TARGET_IO: @@ -635,12 +642,12 @@ * boundary. */ if ((lengths[i] + - (((vm_offset_t)(*data_ptrs[i])) & PAGE_MASK)) > DFLTPHYS){ + (((vm_offset_t)(*data_ptrs[i])) & PAGE_MASK)) > maxmap){ printf("cam_periph_mapmem: attempt to map %lu bytes, " - "which is greater than DFLTPHYS(%d)\n", + "which is greater than %lu\n", (long)(lengths[i] + (((vm_offset_t)(*data_ptrs[i])) & PAGE_MASK)), - DFLTPHYS); + (u_long)maxmap); return(E2BIG); } @@ -672,7 +679,7 @@ /* put our pointer in the data slot */ mapinfo->bp[i]->b_data = *data_ptrs[i]; - /* set the transfer length, we know it's < DFLTPHYS */ + /* set the transfer length, we know it's < MAXPHYS */ mapinfo->bp[i]->b_bufsize = lengths[i]; /* set the direction */ From mav at FreeBSD.org Sat Jul 4 19:24:00 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Sat Jul 4 19:24:07 2009 Subject: PERFORCE change 165608 for review Message-ID: <200907041923.n64JNx9J019057@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165608 Change 165608 by mav@mav_mavbook on 2009/07/04 19:23:49 Restore original XPT_DEV_MATCH request size. Kernel is now able to handle it. Affected files ... .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#12 edit Differences ... ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#12 (text+ko) ==== @@ -325,7 +325,7 @@ ccb.ccb_h.target_lun = CAM_LUN_WILDCARD; ccb.ccb_h.func_code = XPT_DEV_MATCH; - bufsize = sizeof(struct dev_match_result) * 50; + bufsize = sizeof(struct dev_match_result) * 100; ccb.cdm.match_buf_len = bufsize; ccb.cdm.matches = (struct dev_match_result *)malloc(bufsize); if (ccb.cdm.matches == NULL) { @@ -344,7 +344,7 @@ /* * We do the ioctl multiple times if necessary, in case there are - * more than 50 nodes in the EDT. + * more than 100 nodes in the EDT. */ do { if (ioctl(fd, CAMIOCOMMAND, &ccb) == -1) { From trasz at FreeBSD.org Sat Jul 4 20:24:15 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Sat Jul 4 20:24:24 2009 Subject: PERFORCE change 165609 for review Message-ID: <200907042024.n64KO5Pp025000@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165609 Change 165609 by trasz@trasz_victim on 2009/07/04 20:23:07 IFC. Group accouning was disabled, as there were some largeish changes there; will go back to it after I get the per-process and per-uid accounting right. Affected files ... .. //depot/projects/soc2009/trasz_limits/MAINTAINERS#2 integrate .. //depot/projects/soc2009/trasz_limits/Makefile.inc1#3 integrate .. //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#7 integrate .. //depot/projects/soc2009/trasz_limits/UPDATING#7 integrate .. //depot/projects/soc2009/trasz_limits/bin/chflags/chflags.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/chmod/chmod.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/df/df.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/hostname/hostname.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/eval.c#4 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/exec.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/expand.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/histedit.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/input.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/miscbltin.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/output.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/parser.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/redir.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/sh.1#4 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/var.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/CHANGES#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/KNOWN-DEFECTS#1 branch .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/check/named-checkzone.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssec-signzone.8#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssec-signzone.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssec-signzone.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/bin/dnssec/dnssectool.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM-book.xml#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.ch06.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.ch07.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.ch08.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.ch09.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/Bv9ARM.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dig.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dnssec-keygen.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.dnssec-signzone.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.host.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.named-checkconf.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.named-checkzone.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.named.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.nsupdate.html#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.rndc-confgen.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.rndc.conf.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/doc/arm/man.rndc.html#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/bind9/api#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/bind9/check.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/api#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/dnssec.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/include/dns/dnssec.h#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/include/dns/keyvalues.h#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/nsec3.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/dns/resolver.c#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/bind9/version#3 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/sh.func.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/tcsh/tcsh.man#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/login.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/network.subr#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/NETWORKING#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/ipfw#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/netif#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/pf#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/pflog#3 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/pfsync#3 integrate .. //depot/projects/soc2009/trasz_limits/gnu/lib/libgcc/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/lib/libgcov/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/lib/libssp/libssp_nonshared/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/cc/cc_tools/freebsd-native.h#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate .. //depot/projects/soc2009/trasz_limits/include/rpc/svc_dg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/include/stdio.h#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libarchive/archive_read.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/arm/string/strncmp.S#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/db/btree/bt_split.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/db/mpool/mpool.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/Symbol.map#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/fmtcheck.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/initgroups.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/initgroups.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/msgctl.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/gen/semctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/Makefile.inc#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/abs.S#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/div.S#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/labs.S#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/i386/stdlib/ldiv.S#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/include/compat.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/Makefile.inc#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/Symbol.map#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_add_flag_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_add_perm.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_branding.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_calc_mask.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_clear_flags_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_copy.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_create_entry.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_delete_entry.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_delete_entry.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_delete_flag_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_entry.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_flag.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_from_text.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_from_text_nfs4.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get_brand_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get_entry_type_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get_flag_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_get_flagset_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_init.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_is_trivial_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set_entry_type_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set_flagset_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_set_tag_type.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_strip.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_strip_np.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_support.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_support.h#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_support_nfs4.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_to_text.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_to_text_nfs4.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/posix1e/acl_valid.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/auth_unix.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/getnetconfig.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/netname.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/netnamer.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/svc_dg.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/svc_generic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sparc64/stdlib/Makefile.inc#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libc/stdlib/Makefile.inc#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdtime/localtime.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdtime/strptime.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Makefile.inc#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#5 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/getgroups.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/getrlimit.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/getsockopt.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/jail.2#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/pathconf.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/semctl.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/setgroups.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/shmctl.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/stack_protector.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libcompat/4.3/cfree.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libcompat/4.3/regex.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libcompat/4.4/cuserid.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libjail/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libjail/jail.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libjail/jail.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libjail/jail.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libjail/jail_getid.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/kiconv_sysctl.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/quirks.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/xlat16_iconv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkiconv/xlat16_sysctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_proc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpam/modules/pam_unix/pam_unix.8#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.3#6 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.h#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10_desc.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10_io.c#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20.3#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_compat10.c#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_compat10.h#2 delete .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_ugen20.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/humanize_number.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/kinfo_getvmmap.3#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/login_class.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/ncurses/ncurses/pathnames.h#2 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/rtld.c#3 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/rtld.h#3 integrate .. //depot/projects/soc2009/trasz_limits/release/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/release/amd64/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/i386/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/ia64/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/pc98/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/picobsd/build/picobsd#2 integrate .. //depot/projects/soc2009/trasz_limits/release/picobsd/mfs_tree/etc/motd#2 integrate .. //depot/projects/soc2009/trasz_limits/release/powerpc/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/scripts/package-split.py#2 integrate .. //depot/projects/soc2009/trasz_limits/release/sparc64/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/release/sun4v/boot_crunch.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/rescue/rescue/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/af_atalk.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/af_inet.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/af_inet6.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifclone.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifconfig.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifconfig.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifconfig.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifgif.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifgre.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifmac.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifmedia.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifvlan.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/dummynet.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/ipfw.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/ipfw2.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/kldload/kldload.8#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/mount_nfs/mount_nfs.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sbin/sysctl/sysctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/umount/umount.c#2 integrate .. //depot/projects/soc2009/trasz_limits/share/doc/bind9/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/Makefile#5 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/acpi_hp.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/acpi_wmi.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/ata.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/bridge.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/cpuctl.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/epair.4#1 branch .. //depot/projects/soc2009/trasz_limits/share/man/man4/gem.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/if_bridge.4#3 delete .. //depot/projects/soc2009/trasz_limits/share/man/man4/pcm.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/pts.4#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man4/usb.4#3 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man7/tuning.7#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man8/picobsd.8#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man8/yp.8#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/Makefile#5 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/stack.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/ucred.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/usbdi.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/man/man9/vm_map.9#2 integrate .. //depot/projects/soc2009/trasz_limits/share/misc/bsd-family-tree#2 integrate .. //depot/projects/soc2009/trasz_limits/share/mk/bsd.libnames.mk#2 integrate .. //depot/projects/soc2009/trasz_limits/share/zoneinfo/asia#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/local_apic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/msi.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/amd64/isa/clock.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/AVILA.hints#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/CAMBRIA.hints#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/DB-78XXX#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/DB-88F5XXX#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/conf/DB-88F6XXX#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/discovery/discovery.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/files.mv#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/kirkwood/kirkwood.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mvreg.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/mvwin.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/mv/orion/orion.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/ixp425.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/ixp425var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_periph.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/cam_periph.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/compat/opensolaris/sys/vnode.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_misc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_sysent.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/ndis/kern_ndis.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/ndis/subr_ndis.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/ndis/subr_usbd.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_sockio.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.amd64#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.i386#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/files.powerpc#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/kmod.mk#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/conf/options#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/altq/altq/altq_subr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/pf/net/pf_if.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/acpica/Osd/OsdSynch.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ae/if_ae.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/age/if_age.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/alc/if_alc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/asmc/asmc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-all.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-pci.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-sata.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/ata-usb.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-acard.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-acerlabs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-intel.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-nvidia.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-promise.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ah.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ah_internal.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/if_ath.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ath/if_athvar.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bge/if_bge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cas/if_cas.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cas/if_casvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_multiq.c#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_sge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/sys/cxgb_support.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/dc/if_dc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/de/if_de.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_bufs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_context.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_irq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_sysctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/i915_drv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/i915_drv.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/i915_irq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_cp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_irq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_em.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_em.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_igb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/if_igb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ed/if_ed.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/et/if_et.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/fxp/if_fxp.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/fxp/if_fxpvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/if_ndis/if_ndis_pccard.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/if_ndis/if_ndis_pci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/if_ndis/if_ndis_usb.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgb/if_ixgb.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/le/lance.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/malo/if_malo.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/md/md.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mge/if_mge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/msk/if_msk.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/mwlhal.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/mwlhal.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/mwlreg.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/if_mxge_var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/my/if_my.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pci/pci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/re/if_re.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sf/if_sf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sis/if_sis.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sk/if_sk.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/midi/midi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/midi/sequencer.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ste/if_ste.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/stge/if_stge.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/tl/if_tl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/tsec/if_tsec.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/at91dci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/at91dci_atmelarm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/atmegadci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/atmegadci_atmelarm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ehci.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ehci_ixp4xx.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ehci_mbus.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ehci_pci.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/musb_otg.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/musb_otg_atmelarm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ohci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ohci_atmelarm.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/ohci_pci.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/uhci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/uhci_pci.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/usb_controller.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/uss820dci.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/controller/uss820dci_atmelarm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/input/uhid.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/input/ukbd.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/input/ums.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/misc/udbp.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/misc/ufm.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_aue.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_axe.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_cdce.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_cue.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_kue.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_rue.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/if_udav.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/net/usb_ethernet.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/quirk/usb_quirk.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/u3g.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uark.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ubsa.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ubser.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uchcom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ucycom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ufoma.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uftdi.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ugensa.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uipaq.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/ulpt.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/umct.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/umodem.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/umoscom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uplcom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/usb_serial.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uslcom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uvisor.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/serial/uvscom.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/storage/umass.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/storage/urio.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/storage/ustorage_fs.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/template/usb_template.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_busdma.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_busdma.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_compat_linux.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_compat_linux.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_controller.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_core.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_core.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_debug.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_debug.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_defs.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dev.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dev.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_device.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_device.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dynamic.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_dynamic.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_error.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_error.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_freebsd.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_generic.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_handle_request.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_handle_request.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_hid.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_hid.h#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_hub.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_if.m#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_ioctl.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_lookup.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_lookup.h#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_mbuf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_mbuf.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_mfunc.h#3 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_msctest.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_parse.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_parse.h#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_process.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_process.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_request.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_request.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_revision.h#4 delete .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_transfer.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_transfer.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_util.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usb_util.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbdi.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbdi_util.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/usbhid.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_rum.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_uath.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_ural.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/usb/wlan/if_zyd.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/vge/if_vge.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/vr/if_vr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/dev/xl/if_xl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/coda/coda_psdev.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfs/nfs.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfs/nfs_commonport.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clbio.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clkrpc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clport.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clvnops.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsserver/nfs_nfsdkrpc.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsserver/nfs_nfsdport.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nfsserver/nfs_nfsdstate.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/ntfs/ntfs.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/nullfs/null_vnops.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/portalfs/portal.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/procfs/procfs_map.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/pseudofs/pseudofs_vnops.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_io.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_redboot.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_subr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/geom_vfs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/journal/g_journal.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/label/g_label_gpt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/geom/linux_lvm/g_linux_lvm.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/xfs_rw.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/gnu/fs/xfs/xfs_vnodeops.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/conf/GENERIC#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/conf/NOTES#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/genassym.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/local_apic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/msi.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/ibcs2/ibcs2_ipc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/pmap.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/isa/clock.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/i386/xen/mp_machdep.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/conf/GENERIC#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/elf_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/mp_machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/ia64/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/kern/init_sysent.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_alq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_cpuset.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#10 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_event.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exec.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_intr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_linker.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_lockf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_poll.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_proc.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#13 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#11 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_sig.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_switch.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_thr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_uuid.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_vimage.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/link_elf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/link_elf_obj.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/makesyscalls.sh#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sched_ule.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_pcpu.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/subr_stack.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sys_generic.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sys_process.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sys_socket.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.master#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/systrace_args.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_sem.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_shm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/tty.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_mbuf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_shm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_sockbuf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_cache.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_default.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_export.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_extattr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_lookup.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_mount.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_syscalls.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_vnops.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/kern/vnode_if.src#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/libkern/iconv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/libkern/iconv_converter_if.m#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/libkern/iconv_xlat16.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/adm5120/if_admsw.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/mips/malta/yamon.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/busdma_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/dump_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/intr_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/mp_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/mips/mips/pmap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/acpi/acpi_hp/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/modules/acpi/acpi_wmi/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/modules/cxgb/cxgb/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/gem/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/igb/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/ixgbe/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/mxge/mxge/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/netgraph/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/netgraph/pipe/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/sys/modules/nfsclient/Makefile#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/modules/nfsserver/Makefile#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/bpf.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/bridgestp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/fddi.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/firewire.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/flowtable.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/flowtable.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_arc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_arcsubr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_ef.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_epair.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_fddisubr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_fwsubr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_iso88025subr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_media.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_mib.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_spppsubr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_stf.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_tap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_tun.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_var.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/if_vlan.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/iso88025.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/netisr.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/raw_cb.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/raw_usrreq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/route.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/route.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/rtsock.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net/vnet.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ddb.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_wds.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/COPYRIGHT#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/aarp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/at_control.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/at_rmx.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/at_var.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/ddp_input.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/ddp_output.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/ddp_pcb.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netatalk/ddp_usrreq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/atm/uni/ng_uni.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_eiface.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_ether.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_iface.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netgraph/ng_ksocket.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/if_ether.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/igmp.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_gif.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_mcast.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_pcb.c#7 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_pcb.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_rmx.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/in_var.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_divert.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_dummynet.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_icmp.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_input.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_mroute.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_mroute.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_options.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ip_output.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_dummynet.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/ipfw/ip_fw_nat.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/raw_ip.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_hostcache.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_input.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_offload.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet/vinet.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/frag6.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/icmp6.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_ifattach.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_pcb.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_pcb.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_rmx.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_src.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/in6_var.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_input.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_mroute.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_mroute.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/mld6.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/scope6.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/udp6_usrreq.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netinet6/vinet6.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipsec/key.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/README#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_if.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_input.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_outputfl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_pcb.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/ipx_var.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/spx.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/spx_reass.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/spx_usrreq.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/netipx/spx_var.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfs/nfs_common.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfs/nfs_nfssvc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfs/rpcv2.h#2 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/bootp_subr.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/krpc_subr.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs.h#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_bio.c#8 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_diskless.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_krpc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_lock.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_nfsiod.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_node.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_socket.c#4 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_vfsops.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfs_vnops.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfsm_subs.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsclient/nfsmount.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_fha.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_serv.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_srvcache.c#2 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_srvkrpc.c#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_srvsock.c#5 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_srvsubs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfs_syscalls.c#3 delete .. //depot/projects/soc2009/trasz_limits/sys/nfsserver/nfsrvcache.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/nlm/nlm_prot_impl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/pc98/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/pc98/pc98/machdep.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/pci/if_rl.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/aim/mmu_oea.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/aim/mmu_oea64.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/booke/pmap.c#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/GENERIC#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/MPC85XX#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/conf/NOTES#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/cpufreq/pcr.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/spr.h#5 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mpc85xx/ds1553_bus_lbc.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mpc85xx/ds1553_core.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mpc85xx/ds1553_reg.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/mpc85xx/i2c.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/powermac/smu.c#1 branch .. //depot/projects/soc2009/trasz_limits/sys/powerpc/powerpc/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/powerpc/powerpc/mp_machdep.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/clnt_dg.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/clnt_rc.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/rpcsec_gss/rpcsec_gss.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_auth.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_auth_unix.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_generic.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/rpc/svc_vc.c#4 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit_arg.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit_bsm.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/mac_biba/mac_biba.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/conf/GENERIC#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/pcpu.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/pmap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/elf_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/conf/GENERIC#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/pcpu.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/vm.h#1 branch .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/acl.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ata.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/conf.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/cpuctl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/cpuset.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/event.h#3 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/fcntl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/filio.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/iconv.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ipc.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#6 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/ktr.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sys/sys/linker.h#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From pgj at FreeBSD.org Sat Jul 4 21:18:14 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sat Jul 4 21:18:20 2009 Subject: PERFORCE change 165611 for review Message-ID: <200907042118.n64LICrf039973@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165611 Change 165611 by pgj@petymeg-current on 2009/07/04 21:17:53 Add a missed initialization of the listhead for traversal Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#39 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#39 (text+ko) ==== @@ -400,6 +400,7 @@ } KREAD(off, &pcbinfo, sizeof(pcbinfo)); + KREAD(pcbinfo.ipi_listhead, &listhead, sizeof(listhead)); LIST_FOREACH(inp, &listhead, inp_list) { if (protocol == IPPROTO_TCP) { KREAD(inp, &xt.xt_inp, sizeof(*inp)); From pgj at FreeBSD.org Sat Jul 4 22:33:36 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sat Jul 4 22:33:42 2009 Subject: PERFORCE change 165612 for review Message-ID: <200907042233.n64MXYAL046581@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165612 Change 165612 by pgj@petymeg-current on 2009/07/04 22:33:33 - Fix filtering of inet lists extracted from kernel images - Fix generation of symbols lists Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#40 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#40 (text+ko) ==== @@ -414,6 +414,33 @@ if (inp->inp_gencnt > pcbinfo.ipi_gencnt) continue; + if (((inp->inp_vflag & INP_IPV4) == 0) +#ifdef INET6 + && ((inp->inp_vflag & INP_IPV6) == 0) +#endif + ) + continue; + +#ifdef INET6 + if ((family == PF_INET && ((inp->inp_vflag & INP_IPV4) == 0)) || + (family == PF_INET6 && ((inp->inp_vflag & INP_IPV6) == 0))) + continue; +#endif + + if ((flags & NETSTAT_SOCKET_ALL) == 0 && + ( + (protocol == IPPROTO_TCP && + inp->inp_ppcb != NULL && + ((struct tcpcb *)inp->inp_ppcb)->t_state == TCPS_LISTEN) + || ((inp->inp_vflag & INP_IPV4) != 0 && + inet_lnaof(inp->inp_laddr) == INADDR_ANY) +#ifdef INET6 + || ((inp->inp_vflag & INP_IPV6) != 0 && + IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) +#endif + )) + continue; + if (protocol == IPPROTO_TCP) { if (inp->inp_ppcb == NULL) bzero(&xt.xt_tp, sizeof(xt.xt_tp)); @@ -571,7 +598,8 @@ nls[nlUNP_MAX].n_name = NULL; for (i = nlUNP_MAX + 1; i < (nlUNP_MAX + 1 + nlINP_MAX + 1); i++) - nls[i].n_name = strdup(inp_symbol[i]); + nls[i].n_name = strdup(inp_symbol[i - + (nlUNP_MAX + 1)]); nls[nlUNP_MAX + 1 + nlINP_MAX].n_name = NULL; break; case PF_LOCAL: From anchie at FreeBSD.org Sat Jul 4 22:53:58 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Sat Jul 4 22:54:04 2009 Subject: PERFORCE change 165613 for review Message-ID: <200907042253.n64Mrv3r048201@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165613 Change 165613 by anchie@anchie_malimis on 2009/07/04 22:53:22 Minor bug fix. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#12 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#9 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#12 (text+ko) ==== @@ -117,11 +117,9 @@ struct snd_ifinfo *p; list_for_each_entry(p, &ifaces, list) { - DBG(&dbg_snd, "*maxfd = %d, p->snds = %d", *maxfd, p->snds); *maxfd = *maxfd > p->snds ? *maxfd : p->snds; p->snds = sock; FD_SET(p->snds, fds); - applog(LOG_ERR, "snds added to snd_ifinfo."); } } @@ -194,7 +192,7 @@ } void -snd_sock_read(void) +snd_sock_read() { struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; @@ -205,6 +203,7 @@ return; } + applog(LOG_ERR, "sndsock prije read = %d", sndsock); n = read(sndsock, b, sizeof(b)); if (n < 0) { applog(LOG_ERR, "%s: read: %s", __FUNCTION__, strerror(errno)); @@ -312,7 +311,7 @@ } int -snd_net_init(int *icmp6sock, int *sndsock) +snd_net_init(int *icmp6socket, int *sndsocket) { int v; struct icmp6_filter filter; @@ -327,13 +326,13 @@ } #endif - if ((*icmp6sock = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) { + if ((*icmp6socket = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) { applog(LOG_ERR, "%s: socket: %s", __FUNCTION__, strerror(errno)); return (-1); } - if ((*sndsock = socket(PF_ROUTE, SOCK_RAW, 0)) < 0) { + if ((*sndsocket = socket(PF_ROUTE, SOCK_RAW, 0)) < 0) { applog(LOG_ERR, "%s: socket: %s", __FUNCTION__, strerror(errno)); return(-1); @@ -341,17 +340,18 @@ applog(LOG_ERR, "%s: routing socket created.", __FUNCTION__); } - applog(LOG_ERR, "*icmp6sock = %d, *sndsock = %d", *icmp6sock, *sndsock); + icmp6sock = *icmp6socket; + sndsock = *sndsocket; v = 255; - if (setsockopt(*icmp6sock, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &v, + if (setsockopt(icmp6sock, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &v, sizeof (v)) < 0) { applog(LOG_ERR, "%s: setsockopt(IPV6_UNICAST_HOPS): %s", __FUNCTION__, strerror(errno)); return (-1); } v = 255; - if (setsockopt(*icmp6sock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &v, + if (setsockopt(icmp6sock, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &v, sizeof (v)) < 0) { applog(LOG_ERR, "%s: setsockopt(IPV6_MULTICAST_HOPS): %s", __FUNCTION__, strerror(errno)); @@ -363,7 +363,7 @@ ICMP6_FILTER_SETPASS(ICMP6_SND_CPA, &filter); ICMP6_FILTER_SETPASS(ND_ROUTER_ADVERT, &filter); - if (setsockopt(*icmp6sock, IPPROTO_ICMPV6, ICMP6_FILTER, &filter, + if (setsockopt(icmp6sock, IPPROTO_ICMPV6, ICMP6_FILTER, &filter, sizeof (filter)) < 0) { applog(LOG_ERR, "%s: setsockopt(ICMP6_FILTER): %s", __FUNCTION__, strerror(errno)); ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#9 (text+ko) ==== From anchie at FreeBSD.org Sat Jul 4 23:06:13 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Sat Jul 4 23:06:19 2009 Subject: PERFORCE change 165615 for review Message-ID: <200907042306.n64N6AUh050210@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165615 Change 165615 by anchie@anchie_malimis on 2009/07/04 23:06:02 Maximum SeND packet size is now: SND_MAX_PKT + sizeof(struct rt_msghdr). Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#13 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#13 (text+ko) ==== @@ -67,7 +67,7 @@ { struct sbuff *b; - if ((b = sbuff_alloc(SND_MAX_PKT)) == NULL) { + if ((b = sbuff_alloc(SND_MAX_PKT + sizeof(struct rt_msghdr))) == NULL) { APPLOG_NOMEM(); return (NULL); } From zhaoshuai at FreeBSD.org Sun Jul 5 07:26:17 2009 From: zhaoshuai at FreeBSD.org (Zhao Shuai) Date: Sun Jul 5 07:26:23 2009 Subject: PERFORCE change 165618 for review Message-ID: <200907050726.n657QGVv016135@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165618 Change 165618 by zhaoshuai@zhaoshuai on 2009/07/05 07:25:15 test fifo status change after cloing one endpoint. Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#8 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/hangup.c#1 add Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#8 (text+ko) ==== @@ -1,6 +1,6 @@ OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select poll \ - kqueue sigio pr_74242_speak pr_74242_tick pr_76144 pr_94772 pr_116770 \ - pr_76525 + kqueue sigio hangup pr_74242_speak pr_74242_tick pr_76144 pr_94772 \ + pr_116770 pr_76525 all : $(OBJS) @@ -20,6 +20,7 @@ pr_94772 : pr_94772.c pr_116770 : pr_116770.c pr_76525 : pr_76525.c +hangup : hangup.c clean : -rm $(OBJS) From zhaoshuai at FreeBSD.org Sun Jul 5 07:31:23 2009 From: zhaoshuai at FreeBSD.org (Zhao Shuai) Date: Sun Jul 5 07:31:29 2009 Subject: PERFORCE change 165619 for review Message-ID: <200907050731.n657VLJi016512@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165619 Change 165619 by zhaoshuai@zhaoshuai on 2009/07/05 07:30:21 add testing results. Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/README#1 add Differences ... From trasz at FreeBSD.org Sun Jul 5 10:08:15 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Sun Jul 5 10:08:21 2009 Subject: PERFORCE change 165620 for review Message-ID: <200907051008.n65A8CV8040985@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165620 Change 165620 by trasz@trasz_victim on 2009/07/05 10:07:20 Fix buildworld. There is userland code that needs to know 'struct proc' layout, and that requires 'struct hrl_usage'. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#18 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#18 (text+ko) ==== @@ -44,8 +44,6 @@ #define HRL_OP_GET_USAGE_GID 4 #define HRL_OP_GET_USAGE_JAILID 5 -#ifdef _KERNEL - /* * 'hrl_rule' describes a single limit configured by the system * administrator or a temporary limit set using setrlimit(2). @@ -113,6 +111,8 @@ int64_t hu_resources[HRL_RESOURCE_MAX + 1]; }; +#ifdef _KERNEL + struct proc; int hrl_alloc(int object, uint64_t amount); From gabor at FreeBSD.org Sun Jul 5 11:28:43 2009 From: gabor at FreeBSD.org (Gabor Kovesdan) Date: Sun Jul 5 11:28:51 2009 Subject: PERFORCE change 165623 for review Message-ID: <200907051128.n65BSeGE048141@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165623 Change 165623 by gabor@gabor_aspire on 2009/07/05 11:28:35 MFHg: - Enable JIS_X0208, JISX0201-KANA and ISO-IR-165 as independent encodings - Add JIS_X0208 reference table to the regression test so that we can test JIS_X0208 independently, although it is normally used as part of other encodings - Nits in the test cases - UTF-8 nit: use uint8_t instead of int in the tail length lookup table (this saves 3 x 256 bytes supposing int is 32bit) - Improved encodings: CP1046, CP1125, CP1129, CP1162, CP864, CP874, CP922, CP1046, CP1124, CP1125, CP1131, CP1163, CP1258, Georgian-Academy, Georgian-PS, JISX021-KANA, KOI8-RU, MULELAO-1, HP-ROMAN8, TDS565, TCVN5712-1, VISCII - Checked some other encodings and found them ok - Added encodings: MacHebrew - Fix make clean in share/i18n/esdb - Add a bunch of aliases recognized by GNU libiconv Affected files ... .. //depot/projects/soc2009/gabor_iconv/extracted/TESTING-HOWTO#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ASCII.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ATARIST.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1046.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1124.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1125.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1129.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1131.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1133.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1162.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1250.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1251.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1252.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1253.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1254.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1256.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1257.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP437.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP737.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP775.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP850.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP852.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP853.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP855.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP856.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP857.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP858.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP860.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP861.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP862.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP863.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP864.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP865.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP866.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP869.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP874.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP922.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP936.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP949.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-KANJI.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-CN.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JISX0213.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-KR.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GB18030-BMP.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GBK.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-Academy.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-PS.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HP-ROMAN8.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-1.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-10.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-11.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-13.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-14.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-15.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-16.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-2.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-3.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-4.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-5.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-6.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-7.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-8.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-9.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-CN.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-JP.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JIS_X0201.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JOHAB.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-R.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-RU.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-T.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-U.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacArabic.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCentralEurope.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCroatian.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCyrillic.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacGreek.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacHebrew.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacIceland.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRoman.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRomania.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacThai.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacTurkish.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacUkraine.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MuleLao-1.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/NEXTSTEP.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/PT154.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.ASCII#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.ISO-8859-1#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/RISCOS-LATIN1.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/RK1048.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/SHIFT_JIS.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/SHIFT_JISX0213.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN.IRREVERSIBLE.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TDS565.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TIS-620.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Translit1.ASCII#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Translit1.ISO-8859-1#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TranslitFail1.ISO-8859-1#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2BE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2BE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2LE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2LE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4BE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4BE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4LE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4LE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16BE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16BE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16LE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16LE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32BE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32BE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32LE-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32LE-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-7-snippet#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-7-snippet.UTF-8#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/VISCII.TXT#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful.bat#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless.bat#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-subst#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translit#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translit.bat#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translitfailure#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/gengb18030z.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/genutf8.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-from.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-to.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test-shiftseq.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/uniq-u.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/Makefile#4 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_iconv.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_strtol.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_strtoul.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_aliasname_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs_strtol.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs_strtoul.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_csmapper.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_csmapper.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_fallback.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_fallback.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_template.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_factory.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_factory.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_hash.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_hash.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_fix_grouping.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_hash.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_hash.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_factory.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_factory.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_memstream.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_memstream.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mmap.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mmap.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_module.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_module.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_namespace.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_none.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_none.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_factory.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_factory.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_prop.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_prop.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_region.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc_template.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_types.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/iconv.3#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/iconv.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/netbsdism.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/citrus_big5.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/citrus_big5.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/citrus_dechanyu.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/citrus_euc.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/citrus_euc.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/citrus_euctw.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/citrus_euctw.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/citrus_gbk2k.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/citrus_gbk2k.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/citrus_hz.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/citrus_hz.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/citrus_iso2022.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/citrus_iso2022.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/citrus_johab.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/citrus_johab.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/citrus_mskanji.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/citrus_mskanji.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/citrus_ues.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/citrus_ues.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/citrus_utf7.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/citrus_utf7.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.c#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/citrus_viqr.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/citrus_viqr.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/citrus_zw.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/citrus_zw.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/citrus_iconv_none.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/citrus_iconv_none.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/citrus_mapper_646.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/citrus_mapper_646.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/citrus_mapper_none.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/citrus_mapper_none.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/citrus_mapper_serial.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_parallel/citrus_mapper_serial.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/citrus_mapper_serial.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/citrus_mapper_serial.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std_file.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std_local.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/citrus_mapper_zone.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/citrus_mapper_zone.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/MAC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/ARMSCII.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/charset.pivot.BIG5.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/mapper.dir.BIG5.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/charset.pivot.CNS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/mapper.dir.CNS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/CP.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/charset.pivot.CP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/mapper.dir.CP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/EBCDIC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/charset.pivot.GB.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/mapper.dir.GB.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/GEORGIAN.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/ISO-8859.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/ISO646.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/charset.pivot.JIS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/mapper.dir.JIS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/charset.pivot.KAZAKH.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/mapper.dir.KAZAKH.src#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/KOI8.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/charset.pivot.KOI.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/mapper.dir.KOI.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/charset.pivot.KS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/mapper.dir.KS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/charset.pivot.MISC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/mapper.dir.MISC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.inc#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/charset.pivot.TCVN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/mapper.dir.TCVN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/charset.pivot.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/mapper.dir.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII-7.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.variable#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50220.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50221.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50222.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP51932.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP932.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP936.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP942.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP942C.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP943.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP943C.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP949.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP950.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DECHanyu.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-CN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JIS-2004.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JP-MS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-KR.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-TW.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB12345.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB18030.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GBK.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-CN-EXT.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-CN.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-1.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-2.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-2004.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-KR.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/KZ1048.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/PTCP154.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.alias#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.part#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI7-switched.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI7.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ATARIST.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/C99.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/CTEXT.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HP-ROMAN8.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HZ.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HZ8.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JAVA.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JOHAB.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/MULELAO-1.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/NEXTSTEP.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/RISCOS-LATIN1.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Shift_JIS-2004.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Shift_JIS.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/TDS565.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ZW.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.inc#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/TCVN5712-1.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/VIQR.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/VISCII.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.alias#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.part#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.src#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/Makefile#3 edit .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/iconv.dir#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/iconv.1#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/iconv.c#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/ldef.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/lex.l#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/yacc.y#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/Makefile#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/ldef.h#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/lex.l#2 edit .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/yacc.y#2 edit Differences ... ==== //depot/projects/soc2009/gabor_iconv/extracted/TESTING-HOWTO#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ASCII.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ATARIST.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1046.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1124.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1125.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1129.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1131.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1133.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1162.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1250.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1251.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1252.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1253.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1254.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1256.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1257.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP437.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP737.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP775.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP850.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP852.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP853.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP855.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP856.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP857.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP858.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP860.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP861.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP862.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP863.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP864.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP865.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP866.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP869.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP874.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP922.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP936.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP949.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-KANJI.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-CN.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JISX0213.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-KR.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GB18030-BMP.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GBK.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-Academy.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-PS.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HP-ROMAN8.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet.UTF-8#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-1.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-10.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-11.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-13.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-14.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-15.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-16.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-2.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-3.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-4.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-5.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-6.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-7.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-8.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-9.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.IRREVERSIBLE.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-CN.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-JP.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JIS_X0201.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JOHAB.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-R.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-RU.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-T.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-U.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacArabic.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCentralEurope.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCroatian.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCyrillic.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacGreek.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacHebrew.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacIceland.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRoman.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRomania.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacThai.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacTurkish.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacUkraine.TXT#2 (text+ko) ==== ==== //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#4 (text+ko) ==== @@ -78,17 +78,17 @@ -$(srcdir)/check-stateless $(srcdir) CP850 -$(srcdir)/check-stateless $(srcdir) CP862 -$(srcdir)/check-stateless $(srcdir) CP866 - -$(srcdir)/check-stateless $(srcdir) CP1131 +# -$(srcdir)/check-stateless $(srcdir) CP1131 # -$(srcdir)/check-stateless $(srcdir) MacRoman # -$(srcdir)/check-stateless $(srcdir) MacCentralEurope # -$(srcdir)/check-stateless $(srcdir) MacIceland # -$(srcdir)/check-stateless $(srcdir) MacCroatian - -$(srcdir)/check-stateless $(srcdir) MacRomania +# -$(srcdir)/check-stateless $(srcdir) MacRomania # -$(srcdir)/check-stateless $(srcdir) MacCyrillic # -$(srcdir)/check-stateless $(srcdir) MacUkraine # -$(srcdir)/check-stateless $(srcdir) MacGreek # -$(srcdir)/check-stateless $(srcdir) MacTurkish - -$(srcdir)/check-stateless $(srcdir) MacHebrew +# -$(srcdir)/check-stateless $(srcdir) MacHebrew -$(srcdir)/check-stateless $(srcdir) MacArabic # -$(srcdir)/check-stateless $(srcdir) MacThai # -$(srcdir)/check-stateless $(srcdir) HP-ROMAN8 @@ -97,11 +97,11 @@ # -$(srcdir)/check-stateless $(srcdir) Georgian-Academy # -$(srcdir)/check-stateless $(srcdir) Georgian-PS # -$(srcdir)/check-stateless $(srcdir) KOI8-T - -$(srcdir)/check-stateless $(srcdir) PT154 - -$(srcdir)/check-stateless $(srcdir) RK1048 +# -$(srcdir)/check-stateless $(srcdir) PT154 +# -$(srcdir)/check-stateless $(srcdir) RK1048 # -$(srcdir)/check-stateless $(srcdir) MuleLao-1 # -$(srcdir)/check-stateless $(srcdir) CP1133 - -$(srcdir)/check-stateless $(srcdir) TIS-620 +# -$(srcdir)/check-stateless $(srcdir) TIS-620 #-$(srcdir)/check-stateless $(srcdir) CP874 -$(srcdir)/check-stateless $(srcdir) VISCII -$(srcdir)/check-stateless $(srcdir) TCVN @@ -109,8 +109,8 @@ # /* CJK character sets */ -$(srcdir)/check-stateless $(srcdir) ISO646-JP -$(srcdir)/check-stateless $(srcdir) JIS_X0201 -# -$(srcdir)/check-stateless $(srcdir) JIS_X0208 # redundant, see EUC-JP -# -$(srcdir)/check-stateless $(srcdir) JIS_X0212 # redundant, see EUC-JP + -$(srcdir)/check-stateless $(srcdir) JIS_X0208 # redundant, see EUC-JP + -$(srcdir)/check-stateless $(srcdir) JIS_X0212 # redundant, see EUC-JP -$(srcdir)/check-stateless $(srcdir) ISO646-CN -$(srcdir)/check-stateless $(srcdir) GB_2312-80 # redundant, see EUC-CN -$(srcdir)/check-stateless $(srcdir) ISO-IR-165 @@ -144,7 +144,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From pgj at FreeBSD.org Sun Jul 5 11:48:04 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sun Jul 5 11:48:10 2009 Subject: PERFORCE change 165624 for review Message-ID: <200907051148.n65Bm2EI049550@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165624 Change 165624 by pgj@beehive on 2009/07/05 11:47:55 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#7 integrate .. //depot/projects/docproj_hu/doc/share/pgpkeys/pgpkeys-developers.sgml#28 integrate .. //depot/projects/docproj_hu/www/en/docproj/translations.sgml#8 integrate .. //depot/projects/docproj_hu/www/en/donations/donors.sgml#18 integrate .. //depot/projects/docproj_hu/www/en/search/search.sgml#4 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#7 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -129,6 +129,11 @@ &pgpkey.obraun; + + &a.makc; + &pgpkey.makc; + + &a.antoine; &pgpkey.antoine; ==== //depot/projects/docproj_hu/www/en/docproj/translations.sgml#8 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -34,23 +34,21 @@

The FreeBSD Brazilian Portuguese Documentation Project

Web: http://doc.fugspbr.org/
+ href="http://doc.fug.com.br/">http://doc.fug.com.br/
-E-Mail: lioux@FreeBSD.org
+E-Mail: ebrandi@fugspbr.org
Mailing lists available
Access the following URL - http://lists.fugspbr.org/listinfo.cgi/doc-fugspbr.org/ + href="https://www.fug.com.br/mailman/listinfo/doc/"> + https://www.fug.com.br/mailman/listinfo/doc/ for instructions on how to subscribe to the Brazilian Portuguese translation group's mailing list.
- Or, send an email to doc-request@fugspbr.org - with the word "subscribe" in the subject of the message.
Posting is allowed for the members at doc@fugspbr.org + href="mailto:doc@fug.com.br">doc@fug.com.br
Documents available
@@ -63,11 +61,7 @@
Documents currently being worked on
-
FreeBSD Documentation - Project Primer for New Contributors
- -
FreeBSD - Handbook
+
FreeBSD Documentation Project Primer for New Contributors
==== //depot/projects/docproj_hu/www/en/donations/donors.sgml#18 (text+ko) ==== @@ -1,6 +1,6 @@ - + %developers; @@ -2593,6 +2593,13 @@ rpaulo Received + + + Alexis Megas <megas@alum.rpi.edu> + Sun Ultra Sparc 60 + glewis + Received + &footer; ==== //depot/projects/docproj_hu/www/en/search/search.sgml#4 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -24,11 +24,9 @@

List of FreeBSD OpenSearch Plugins

From tatsianka at FreeBSD.org Sun Jul 5 11:59:16 2009 From: tatsianka at FreeBSD.org (Tatsiana Severyna) Date: Sun Jul 5 11:59:22 2009 Subject: PERFORCE change 165625 for review Message-ID: <200907051159.n65BxEke050294@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165625 Change 165625 by tatsianka@tatsianka_zonder on 2009/07/05 11:58:51 Fix message park reuse big in puffs_vnop_read and puffs_vnop_write Clean up sources Merge latest changes from NetBSD Affected files ... .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/Makefile#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/callcontext.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/framebuf.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/null.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/opdump.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/paths.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.c#4 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.h#3 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_cc.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_cred.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_flush.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_framebuf.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_node.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_ops.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_path.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_suspend.3#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffsdump.h#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/subr.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_msgif.c#5 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_msgif.h#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_node.c#6 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_subr.c#5 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_sys.h#5 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vfsops.c#6 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vnops.c#6 edit .. //depot/projects/soc2009/tatsianka_puffs/putter/putter.c#4 edit Differences ... ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/Makefile#3 (text+ko) ==== @@ -8,6 +8,6 @@ puffs_suspend.3 INCS= puffs.h puffsdump.h CFLAGS+= -g -I${.CURDIR}/../puffs -I${.CURDIR}/../putter -I${.CURDIR} -I/usr/src/sbin/mount -#SHLIB_MAJOR= 0 +#SHLIB_MAJOR= 1 .include ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/callcontext.c#3 (text+ko) ==== @@ -81,7 +81,7 @@ pcc->pcc_flags &= ~PCC_BORROWED; /* romanes eunt domus */ - DPRINTF(("puffs_cc_yield: ")); + DPRINTF(("puffs_cc_yield: ")); if ((pcc->pcc_flags & PCC_MLCONT) == 0) { DPRINTF(("no mlcont, pcc %p\n", pcc)); swapcontext(&pcc->pcc_uc, &pcc->pcc_uc_ret); @@ -98,7 +98,7 @@ /* * Internal continue routine. This has slightly different semantics. - * We simply make our cc available in the freelist and jump to the + * We simply make our cc available in the freelist and jump to the * indicated pcc. */ void @@ -311,7 +311,6 @@ { struct puffs_cc *pcc; - printf("puffs__cc_exit\n"); while ((pcc = LIST_FIRST(&pu->pu_ccmagazin)) != NULL) { LIST_REMOVE(pcc, pcc_rope); cc_free(pcc); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/framebuf.c#3 (text+ko) ==== @@ -705,14 +705,14 @@ } continue; } - + puffs__framebuf_moveinfo(pufbuf, appbuf); puffs_framebuf_destroy(pufbuf); } else { appbuf = pufbuf; } appbuf->istat &= ~ISTAT_NODESTROY; - + if (appbuf->pcc) { puffs__cc_cont(appbuf->pcc); } else if (appbuf->fcb) { @@ -1062,7 +1062,6 @@ { struct puffs_fctrl_io *fio; - printf("puffs__framev_exit\n"); while ((fio = LIST_FIRST(&pu->pu_ios)) != NULL) removefio(pu, fio, ENXIO); free(pu->pu_evs); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/null.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: null.c,v 1.25 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: null.c,v 1.27 2009/01/08 02:19:48 lukem Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -27,7 +27,7 @@ #include #if !defined(lint) -__RCSID("$NetBSD: null.c,v 1.25 2008/08/12 19:44:39 pooka Exp $"); +__RCSID("$NetBSD: null.c,v 1.27 2009/01/08 02:19:48 lukem Exp $"); #endif /* !lint */ /* @@ -69,8 +69,8 @@ return errno; /* sloppy */ - if (va->va_atime.tv_sec != (unsigned)PUFFS_VNOVAL - || va->va_mtime.tv_sec != (unsigned)PUFFS_VNOVAL) { + if (va->va_atime.tv_sec != (time_t)PUFFS_VNOVAL + || va->va_mtime.tv_sec != (time_t)PUFFS_VNOVAL) { TIMESPEC_TO_TIMEVAL(&tv[0], &va->va_atime); TIMESPEC_TO_TIMEVAL(&tv[1], &va->va_mtime); @@ -167,6 +167,10 @@ PUFFSOP_SET(pops, puffs_null, fs, statvfs); PUFFSOP_SETFSNOP(pops, unmount); PUFFSOP_SETFSNOP(pops, sync); +#ifdef XXX_TS + PUFFSOP_SET(pops, puffs_null, fs, fhtonode); + PUFFSOP_SET(pops, puffs_null, fs, nodetofh); +#endif PUFFSOP_SET(pops, puffs_null, node, lookup); PUFFSOP_SET(pops, puffs_null, node, create); @@ -198,7 +202,102 @@ return 0; } +#ifdef XXX_TS +/* + * XXX: this is the stupidest crap ever, but: + * getfh() returns the fhandle type, when we are expected to deliver + * the fid type. Just adjust it a bit and stop whining. + * + * Yes, this really really needs fixing. Yes, *REALLY*. + */ +#define FHANDLE_HEADERLEN 8 +struct kernfid { + unsigned short fid_len; /* length of data in bytes */ + unsigned short fid_reserved; /* compat: historic align */ + char fid_data[0]; /* data (variable length) */ +}; + +/*ARGSUSED*/ +static void * +fhcmp(struct puffs_usermount *pu, struct puffs_node *pn, void *arg) +{ + struct kernfid *kf1, *kf2; + + if ((kf1 = pn->pn_data) == NULL) + return NULL; + kf2 = arg; + + if (kf1->fid_len != kf2->fid_len) + return NULL; + + /*LINTED*/ + if (memcmp(kf1, kf2, kf1->fid_len) == 0) + return pn; + return NULL; +} + +/* + * This routine only supports file handles which have been issued while + * the server was alive. Not really stable ones, that is. + */ +/*ARGSUSED*/ int +puffs_null_fs_fhtonode(struct puffs_usermount *pu, void *fid, size_t fidsize, + struct puffs_newinfo *pni) +{ + struct puffs_node *pn_res; + + pn_res = puffs_pn_nodewalk(pu, fhcmp, fid); + if (pn_res == NULL) + return ENOENT; + + puffs_newinfo_setcookie(pni, pn_res); + puffs_newinfo_setvtype(pni, pn_res->pn_va.va_type); + puffs_newinfo_setsize(pni, (off_t)pn_res->pn_va.va_size); + puffs_newinfo_setrdev(pni, pn_res->pn_va.va_rdev); + return 0; +} + +/*ARGSUSED*/ +int +puffs_null_fs_nodetofh(struct puffs_usermount *pu, puffs_cookie_t opc, + void *fid, size_t *fidsize) +{ + struct puffs_node *pn = opc; + struct kernfid *kfid; + void *bounce; + int rv; + + rv = 0; + bounce = NULL; + if (*fidsize) { + bounce = malloc(*fidsize + FHANDLE_HEADERLEN); + if (!bounce) + return ENOMEM; + *fidsize += FHANDLE_HEADERLEN; + } + if (getfh(PNPATH(pn), bounce, fidsize) == -1) + rv = errno; + else + memcpy(fid, (uint8_t *)bounce + FHANDLE_HEADERLEN, + *fidsize - FHANDLE_HEADERLEN); + kfid = fid; + if (rv == 0) { + *fidsize = kfid->fid_len; + pn->pn_data = malloc(*fidsize); + if (pn->pn_data == NULL) + abort(); /* lazy */ + memcpy(pn->pn_data, fid, *fidsize); + } else { + *fidsize -= FHANDLE_HEADERLEN; + } + free(bounce); + + return rv; +} +#endif + +int puffs_null_node_lookup(struct puffs_usermount *pu, puffs_cookie_t opc, struct puffs_newinfo *pni, const struct puffs_cn *pcn) { @@ -470,6 +569,7 @@ off_t i; int rv; + *ncookies = 0; dp = opendir(PNPATH(pn)); if (dp == NULL) return errno; @@ -492,8 +592,10 @@ if (rv != 0) goto out; - if (!result) + if (!result) { + *eofflag = 1; goto out; + } if (_DIRENT_SIZE(result) > *reslen) goto out; @@ -503,6 +605,7 @@ de = _DIRENT_NEXT(de); (*off)++; + PUFFS_STORE_DCOOKIE(cookies, ncookies, *off); } out: ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/opdump.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: opdump.c,v 1.24 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: opdump.c,v 1.27 2009/04/06 20:47:17 pooka Exp $ */ /* * Copyright (c) 2005, 2006 Antti Kantee. All Rights Reserved. @@ -35,12 +35,13 @@ #include #if !defined(lint) -__RCSID("$NetBSD: opdump.c,v 1.24 2008/08/12 19:44:39 pooka Exp $"); +__RCSID("$NetBSD: opdump.c,v 1.27 2009/04/06 20:47:17 pooka Exp $"); #endif /* !lint */ #include #include +#include #include #include #include @@ -166,9 +167,9 @@ break; } - printf("\treqid: %ju, opclass %d%s, optype: %s, " + printf("\treqid: %" PRIu64 ", opclass %d%s, optype: %s, " "cookie: %p,\n\t\taux: %p, auxlen: %zu, pid: %d, lwpid: %d\n", - (intmax_t) preq->preq_id, PUFFSOP_OPCLASS(preq->preq_opclass), + preq->preq_id, PUFFSOP_OPCLASS(preq->preq_opclass), PUFFSOP_WANTREPLY(preq->preq_opclass) ? "" : " (FAF)", map[preq->preq_optype], preq->preq_cookie, preq->preq_buf, preq->preq_buflen, @@ -191,15 +192,19 @@ case PUFFS_VN_LINK: puffsdump_targ(preq); break; + case PUFFS_VN_READDIR: + puffsdump_readdir(preq); + break; default: break; } } - + PU_LOCK(); gettimeofday(&tv_now, NULL); timersub(&tv_now, &tv_prev, &tv); - printf("\t\tsince previous call: %ld.%06ld\n", tv.tv_sec, tv.tv_usec); + printf("\t\tsince previous call: %lld.%06ld\n", + (long long)tv.tv_sec, (long)tv.tv_usec); gettimeofday(&tv_prev, NULL); PU_UNLOCK(); } @@ -208,10 +213,6 @@ puffsdump_rv(struct puffs_req *preq) { - printf("\tRV reqid: %ju, result: %d %s\n", - (intmax_t) preq->preq_id, preq->preq_rv, - preq->preq_rv ? strerror(preq->preq_rv) : ""); - if (PUFFSOP_OPCLASS(preq->preq_opclass) == PUFFSOP_VN) { switch (preq->preq_optype) { case PUFFS_VN_LOOKUP: @@ -227,16 +228,23 @@ case PUFFS_VN_WRITE: puffsdump_readwrite_rv(preq); break; + case PUFFS_VN_READDIR: + puffsdump_readdir_rv(preq); + break; default: break; } } + + printf("\tRV reqid: %" PRIu64 ", result: %d %s\n", + preq->preq_id, preq->preq_rv, + preq->preq_rv ? strerror(preq->preq_rv) : ""); } void puffsdump_cookie(puffs_cookie_t c, const char *cookiename) { - + printf("\t%scookie: at %p\n", cookiename, c); } @@ -273,9 +281,9 @@ { struct puffs_vnmsg_lookup *lookup_msg = (void *)preq; - printf("\t\tnew node %p, type 0x%x,\n\t\tsize 0x%ju, dev 0x%x\n", + printf("\t\tnew node %p, type 0x%x,\n\t\tsize 0x%"PRIu64", dev 0x%llx\n", lookup_msg->pvnr_newnode, lookup_msg->pvnr_vtype, - (intmax_t) lookup_msg->pvnr_size, lookup_msg->pvnr_rdev); + lookup_msg->pvnr_size, (unsigned long long)lookup_msg->pvnr_rdev); } void @@ -292,8 +300,8 @@ { struct puffs_vnmsg_rw *rw_msg = (void *)preq; - printf("\t\toffset: %jd, resid %zu, ioflag 0x%x\n", - (intmax_t) rw_msg->pvnr_offset, rw_msg->pvnr_resid, rw_msg->pvnr_ioflag); + printf("\t\toffset: %" PRId64 ", resid %zu, ioflag 0x%x\n", + rw_msg->pvnr_offset, rw_msg->pvnr_resid, rw_msg->pvnr_ioflag); } void @@ -305,6 +313,15 @@ } void +puffsdump_readdir_rv(struct puffs_req *preq) +{ + struct puffs_vnmsg_readdir *readdir_msg = (void *)preq; + + printf("\t\tresid after op: %zu, eofflag %d\n", + readdir_msg->pvnr_resid, readdir_msg->pvnr_eofflag); +} + +void puffsdump_open(struct puffs_req *preq) { struct puffs_vnmsg_open *open_msg = (void *)preq; @@ -321,6 +338,14 @@ } void +puffsdump_readdir(struct puffs_req *preq) +{ + struct puffs_vnmsg_readdir *readdir_msg = (void *)preq; + + printf("\t\tread offset: %" PRId64 "\n", readdir_msg->pvnr_offset); +} + +void /*ARGSUSED*/ puffsdump_creds(struct puffs_cred *pcr) { ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/paths.c#2 (text+ko) ==== @@ -254,7 +254,7 @@ if (isdotdot) { char *slash; /* sweet char of mine */ - + slash = strrchr(po_pre->po_path, '/'); assert(slash != NULL); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs.3,v 1.42 2008/09/06 12:39:49 pooka Exp $ +.\" $NetBSD: puffs.3,v 1.46 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2006, 2007, 2008 Antti Kantee. All rights reserved. .\" @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 6, 2008 +.Dd December 12, 2008 .Dt PUFFS 3 .Os .Sh NAME @@ -62,6 +62,8 @@ .Ft void * .Fn puffs_getspecific "struct puffs_usermount *pu" .Ft void +.Fn puffs_setspecific "struct puffs_usermount *pu" "void *private" +.Ft void .Fn puffs_setmaxreqlen "struct puffs_usermount *pu" "size_t maxreqlen" .Ft size_t .Fn puffs_getmaxreqlen "struct puffs_usermount *pu" @@ -85,17 +87,8 @@ .Fa "struct puffs_cc **pccp" .Fc .Ft int -.Fn puffs_dispatch_exec .Fa "struct puffs_cc *pcc" "struct puffs_framebuf **pbp" +.Fn puffs_dispatch_exec "struct puffs_cc *pcc" "struct puffs_framebuf **pbp" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp .Nm provides a framework for creating file systems as userspace servers. Operations are transported from the kernel virtual file system layer @@ -307,6 +300,9 @@ .Fa private argument of .Fn puffs_init . +.It Fn puffs_setspecific "pu" "private" +Can be used to set the specific data after the call to +.Fn puffs_init . .It Fn puffs_setmaxreqlen "pu" "maxreqlen" In case the file system desires a maximum buffer length different from the default, the amount @@ -430,6 +426,9 @@ .Fn puffs_mount and the foreground process does not exit before the file system mount call has returned from the kernel. +Since this routine internally calls fork, it has to be called +.Em before +.Fn puffs_mount . .It Fn puffs_mainloop pu flags Handle all requests automatically until the file system is unmounted. It returns 0 if the file system was successfully unmounted or \-1 if it @@ -540,7 +539,7 @@ .Nm first appeared in .Nx 4.0 . +A stable version appeared in +.Nx 5.0 . .Sh AUTHORS .An Antti Kantee Aq pooka@iki.fi -.Sh BUGS -Under construction. ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: puffs.c,v 1.92 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: puffs.c,v 1.98 2009/01/08 02:28:08 lukem Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. @@ -31,7 +31,7 @@ #include #if !defined(lint) -__RCSID("$NetBSD: puffs.c,v 1.92 2008/08/12 19:44:39 pooka Exp $"); +__RCSID("$NetBSD: puffs.c,v 1.98 2009/01/08 02:28:08 lukem Exp $"); #endif /* !lint */ #include @@ -193,13 +193,13 @@ psize = sysconf(_SC_PAGESIZE); minsize = 4*psize; - if (ss < minsize || ss == PUFFS_STACKSIZE_MIN) { + if (ss < (size_t)minsize || ss == PUFFS_STACKSIZE_MIN) { if (ss != PUFFS_STACKSIZE_MIN) fprintf(stderr, "puffs_setstacksize: adjusting " "stacksize to minimum %ld\n", minsize); ss = 4*psize; } - + stackshift = -1; bonus = 0; while (ss) { @@ -269,6 +269,13 @@ return pu->pu_privdata; } +void +puffs_setspecific(struct puffs_usermount *pu, void *privdata) +{ + + pu->pu_privdata = privdata; +} + size_t puffs_getmaxreqlen(struct puffs_usermount *pu) { @@ -403,7 +410,7 @@ int puffs_daemon(struct puffs_usermount *pu, int nochdir, int noclose) { - ssize_t n; + long int n; int parent, value, fd; if (pipe(pu->pu_dpipe) == -1) @@ -422,10 +429,12 @@ pu->pu_state |= PU_PUFFSDAEMON; if (parent) { + close(pu->pu_dpipe[1]); n = read(pu->pu_dpipe[0], &value, sizeof(int)); if (n == -1) err(1, "puffs_daemon"); - assert(n == sizeof(value)); + if (n != sizeof(value)) + errx(1, "puffs_daemon got %ld bytes", n); if (value) { errno = value; err(1, "puffs_daemon"); @@ -457,13 +466,24 @@ return -1; } +static void +shutdaemon(struct puffs_usermount *pu, int error) +{ + ssize_t n; + + n = write(pu->pu_dpipe[1], &error, sizeof(int)); + assert(n == 4); + close(pu->pu_dpipe[0]); + close(pu->pu_dpipe[1]); + pu->pu_state &= ~PU_PUFFSDAEMON; +} + int puffs_mount(struct puffs_usermount *pu, const char *dir, int mntflags, puffs_cookie_t cookie) { struct iovec iov[6]; char rp[MAXPATHLEN]; - ssize_t n; int rv, fd, sverrno; char *comfd; @@ -508,14 +528,14 @@ rv = -1; goto out; } - + len = strlen(dir)+1; #define allwrite(buf, len) \ do { \ ssize_t al_rv; \ al_rv = write(pu->pu_fd, buf, len); \ - if (al_rv != len) { \ + if ((size_t)al_rv != len) { \ if (al_rv != -1) \ errno = EIO; \ rv = -1; \ @@ -575,15 +595,10 @@ free(pu->pu_kargp); pu->pu_kargp = NULL; - if (pu->pu_state & PU_PUFFSDAEMON) { - n = write(pu->pu_dpipe[1], &sverrno, sizeof(int)); - assert(n == 4); - close(pu->pu_dpipe[0]); - close(pu->pu_dpipe[1]); - } + if (pu->pu_state & PU_PUFFSDAEMON) + shutdaemon(pu, sverrno); errno = sverrno; - printf("%s: mount return %d\n", __func__, rv); return rv; } @@ -668,6 +683,15 @@ return NULL; } +void +puffs_cancel(struct puffs_usermount *pu, int error) +{ + + assert(puffs_getstate(pu) < PUFFS_STATE_RUNNING); + shutdaemon(pu, error); + free(pu); +} + /* * XXX: there's currently no clean way to request unmount from * within the user server, so be very brutal about it. @@ -678,8 +702,8 @@ { struct puffs_node *pn; - printf("puffs_exit: enter\n"); force = 1; /* currently */ + assert((pu->pu_state & PU_PUFFSDAEMON) == 0); if (pu->pu_fd) close(pu->pu_fd); @@ -693,7 +717,6 @@ if (pu->pu_state & PU_HASKQ) close(pu->pu_kq); free(pu); - printf("puffs_exit: done\n"); return 0; /* always succesful for now, WILL CHANGE */ } ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: puffs.h,v 1.108 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: puffs.h,v 1.110 2008/12/12 19:45:16 pooka Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. @@ -423,6 +423,7 @@ const char *, void *, uint32_t); int puffs_mount(struct puffs_usermount *, const char *, int, void*); int puffs_exit(struct puffs_usermount *, int); +void puffs_cancel(struct puffs_usermount *, int); int puffs_mainloop(struct puffs_usermount *); int puffs_daemon(struct puffs_usermount *, int, int); @@ -442,6 +443,7 @@ enum vtype, size_t, dev_t); void *puffs_getspecific(struct puffs_usermount *); +void puffs_setspecific(struct puffs_usermount *, void *); void puffs_setmaxreqlen(struct puffs_usermount *, size_t); size_t puffs_getmaxreqlen(struct puffs_usermount *); void puffs_setfhsize(struct puffs_usermount *, size_t, int); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_cc.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_cc.3,v 1.12 2008/05/25 19:38:21 wiz Exp $ +.\" $NetBSD: puffs_cc.3,v 1.14 2009/04/11 16:48:53 wiz Exp $ .\" .\" Copyright (c) 2007, 2008 Antti Kantee. All rights reserved. .\" @@ -42,15 +42,6 @@ .Ft struct puffs_cc * .Fn puffs_cc_getcc "struct puffs_usermount *pu" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp These routines are used for the cooperative multitasking suite present in puffs. .Pp @@ -92,7 +83,8 @@ This cookie should be hooked to the .Va pcc so that the correct continuation can be continued when the event it -was waiting for triggers. Alternatively, the +was waiting for triggers. +Alternatively, the .Xr puffs_framebuf 3 framework and .Fn puffs_mainloop ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_cred.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_cred.3,v 1.3 2007/12/01 19:18:50 wiz Exp $ +.\" $NetBSD: puffs_cred.3,v 1.5 2009/04/11 15:36:22 joerg Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -34,7 +34,7 @@ .Sh SYNOPSIS .In puffs.h .Ft int -.Fn puffs_cred_getuid "const struct puffs_cred *pcr" "uid_t *uid +.Fn puffs_cred_getuid "const struct puffs_cred *pcr" "uid_t *uid" .Ft int .Fn puffs_cred_getgid "const struct puffs_cred *pcr" "gid_t *gid" .Ft int @@ -74,15 +74,6 @@ .Fa "const struct puffs_cred *pcr" .Fc .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp These functions can be used to check operation credentials and perform access control. The structure ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_flush.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_flush.3,v 1.7 2008/08/12 19:44:39 pooka Exp $ +.\" $NetBSD: puffs_flush.3,v 1.8 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -58,15 +58,6 @@ .Fa "off_t end" .Fc .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp These routines are used inform the kernel that any information it might have cached is no longer valid. .Fn puffs_inval_namecache_dir ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_framebuf.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_framebuf.3,v 1.25 2008/09/06 15:43:27 wiz Exp $ +.\" $NetBSD: puffs_framebuf.3,v 1.26 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -151,13 +151,6 @@ .Fa "struct puffs_usermount *pu" "int fd" "int what" .Fc .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -.Pp The .Nm routines provide buffering and an event loop structured around the ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_node.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_node.3,v 1.3 2007/12/01 19:18:50 wiz Exp $ +.\" $NetBSD: puffs_node.3,v 1.5 2009/05/13 22:42:31 wiz Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -48,21 +48,6 @@ .Ft void .Fn puffs_pn_put "struct puffs_node *pn" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp -.Em MORE IMPORTANT STUFF! -It should especially be noted, that it is yet completely unsure, how -much of the internals contents of -.Vt struct puffs_node -will be exposed to file systems in the end. -.Pp .Bl -tag -width xxxx .It Fn puffs_pn_new pu priv Create a new node and attach it to the mountpoint @@ -111,7 +96,6 @@ .Ar pn . This is typically called from .Fn puffs_node_reclaim . -.Pp .El .Sh SEE ALSO .Xr puffs 3 ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_ops.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_ops.3,v 1.21 2008/08/12 19:44:39 pooka Exp $ +.\" $NetBSD: puffs_ops.3,v 1.25 2009/04/11 16:48:53 wiz Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -35,7 +35,7 @@ .In puffs.h .Ft int .Fo puffs_fs_statvfs -.Fa "struct puffs_usermount *pu" "struct statvfs *sbp" +.Fa "struct puffs_usermount *pu" "struct statfs *sbp" .Fc .Ft int .Fo puffs_fs_sync @@ -48,7 +48,7 @@ .Fc .Ft int .Fo puffs_fs_nodetofh -.Fa "struct puffs_usermount *pu" "puffs_cooie_t cookie" "void *fid" +.Fa "struct puffs_usermount *pu" "puffs_cookie_t cookie" "void *fid" .Fa "size_t *fidsize" .Fc .Ft void @@ -194,15 +194,6 @@ .Ft void .Fn puffs_newinfo_setrdev "struct puffs_newinfo *pni" "dev_t rdev" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp The operations .Nm puffs requires to function can be divided into two categories: file system @@ -572,7 +563,7 @@ and .Fa pcn_targ , respectively. -.B If +.Em If the target node already exists, it is specified by .Fa targ and must be replaced atomically. @@ -707,8 +698,8 @@ .Dv PUFFS_IO_APPEND is specified, the data should be appended to the end of the file. .It Fn puffs_node_print "pu" "opc" -Print information about node. This is used only for kernel-initiated -diagnostic purposes. +Print information about node. +This is used only for kernel-initiated diagnostic purposes. .It Fn puffs_node_reclaim "pu" "opc" The kernel will no longer reference the cookie and resources associated with it may be freed. ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_path.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_path.3,v 1.3 2007/12/27 18:50:42 pooka Exp $ +.\" $NetBSD: puffs_path.3,v 1.4 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -59,15 +59,6 @@ .Ft struct puffs_pathobj * .Fn puffs_getrootpathobj "struct puffs_usermount *pu" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp The puffs library has the ability to provide full pathnames for backends which require them. Normal file systems should be constructed without the file system ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs_suspend.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $NetBSD: puffs_suspend.3,v 1.2 2007/01/28 07:58:05 wiz Exp $ +.\" $NetBSD: puffs_suspend.3,v 1.3 2009/02/20 14:26:56 pooka Exp $ .\" .\" Copyright (c) 2007 Antti Kantee. All rights reserved. .\" @@ -36,15 +36,6 @@ .Ft int .Fn puffs_fs_suspend "struct puffs_usermount *pu" .Sh DESCRIPTION -.Em IMPORTANT NOTE! -This document describes interfaces which are not yet guaranteed to be -stable. -In case you update your system sources, please recompile everything -and fix compilation errors. -If your sources are out-of-sync, incorrect operation may result. -The interfaces in this document will most likely be hugely simplified -in later versions or made transparent to the implementation. -.Pp The function .Fn puffs_fs_suspend requests the kernel to suspend operations to the file system indicated by @@ -92,4 +83,3 @@ .Pp File system data and metadata are not always totally correctly synchronized at suspend. -This will be fixed soon. ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffsdump.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: puffsdump.h,v 1.10 2008/08/12 19:44:39 pooka Exp $ */ +/* $NetBSD: puffsdump.h,v 1.12 2009/04/06 20:47:17 pooka Exp $ */ /* * Copyright (c) 2006 Antti Kantee. All Rights Reserved. @@ -41,6 +41,8 @@ void puffsdump_readwrite(struct puffs_req *); void puffsdump_readwrite_rv(struct puffs_req *); +void puffsdump_readdir(struct puffs_req *); +void puffsdump_readdir_rv(struct puffs_req *); void puffsdump_lookup(struct puffs_req *); void puffsdump_lookup_rv(struct puffs_req *); void puffsdump_create_rv(struct puffs_req *); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/subr.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $NetBSD: subr.c,v 1.23 2008/08/12 19:44:39 pooka Exp $ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From tatsianka at FreeBSD.org Sun Jul 5 12:02:31 2009 From: tatsianka at FreeBSD.org (Tatsiana Severyna) Date: Sun Jul 5 12:02:38 2009 Subject: PERFORCE change 165626 for review Message-ID: <200907051202.n65C2ISf050536@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165626 Change 165626 by tatsianka@tatsianka_zonder on 2009/07/05 12:01:42 Import mount_psshfs sources from NetBSD Affected files ... .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/Makefile#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/fs.c#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/mount_psshfs.8#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/node.c#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psbuf.c#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psshfs.c#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/psshfs.h#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/sftp_proto.h#1 add .. //depot/projects/soc2009/tatsianka_puffs/mount_psshfs/subr.c#1 add Differences ... From trasz at FreeBSD.org Sun Jul 5 12:07:26 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Sun Jul 5 12:07:32 2009 Subject: PERFORCE change 165627 for review Message-ID: <200907051207.n65C7NHY051864@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165627 Change 165627 by trasz@trasz_victim on 2009/07/05 12:07:15 Add a tunable to disable per-group resource usage accounting, since it will probably be a reason for a major slowdown. Disable it by default, since it doesn't work. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#24 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#14 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#12 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#24 (text+ko) ==== @@ -52,6 +52,9 @@ #define HRF_DONT_INHERIT 1 #define HRF_DONT_ACCUMULATE 2 +int hrl_group_accounting = 0; +TUNABLE_INT("kern.hrl_group_accounting", &hrl_group_accounting); +SYSCTL_INT(_kern, OID_AUTO, hrl_group_accounting, CTLFLAG_RD, &hrl_group_accounting, 0, ""); struct hrl_node { struct hrl_rule hn_rule; @@ -174,9 +177,11 @@ KASSERT(cred->cr_ruidinfo->ui_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) KASSERT(pr->pr_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); - for (i = 0; i < cred->cr_ngroups; i++) { - for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) - KASSERT(cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); + if (hrl_group_accounting) { + for (i = 0; i < cred->cr_ngroups; i++) { + for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) + KASSERT(cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); + } } #endif } @@ -291,18 +296,20 @@ /* * XXX: Slow. */ - for (i = 0; i < cred->cr_ngroups; i++) { - /* - * Make sure we don't account a group more than once if it appears - * in cr_groups[] more than once. - */ - for (j = 0; j < i; j++) { - if (cred->cr_groups[i] == cred->cr_groups[j]) - goto skip_group; + if (hrl_group_accounting) { + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += amount; +skip_group: + continue; } - cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += amount; -skip_group: - continue; } #ifdef INVARIANTS hrl_assert_proc(p); @@ -350,18 +357,20 @@ /* * XXX: Slow. */ - for (i = 0; i < cred->cr_ngroups; i++) { - /* - * Make sure we don't account a group more than once if it appears - * in cr_groups[] more than once. - */ - for (j = 0; j < i; j++) { - if (cred->cr_groups[i] == cred->cr_groups[j]) - goto skip_group; + if (hrl_group_accounting) { + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += diff; +skip_group: + continue; } - cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] += diff; -skip_group: - continue; } #ifdef INVARIANTS hrl_assert_proc(p); @@ -401,18 +410,20 @@ /* * XXX: Slow. */ - for (i = 0; i < cred->cr_ngroups; i++) { - /* - * Make sure we don't account a group more than once if it appears - * in cr_groups[] more than once. - */ - for (j = 0; j < i; j++) { - if (cred->cr_groups[i] == cred->cr_groups[j]) - goto skip_group; + if (hrl_group_accounting) { + for (i = 0; i < cred->cr_ngroups; i++) { + /* + * Make sure we don't account a group more than once if it appears + * in cr_groups[] more than once. + */ + for (j = 0; j < i; j++) { + if (cred->cr_groups[i] == cred->cr_groups[j]) + goto skip_group; + } + cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] -= amount; +skip_group: + continue; } - cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] -= amount; -skip_group: - continue; } #ifdef INVARIANTS hrl_assert_proc(p); @@ -900,6 +911,9 @@ id_t gid; struct gidinfo *gip; + if (!hrl_group_accounting) + return (EOPNOTSUPP); + error = str2id(inputstr, &gid); if (error) return (error); ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#14 (text+ko) ==== @@ -79,6 +79,8 @@ #include #include +extern int hrl_group_accounting; + static MALLOC_DEFINE(M_CRED, "cred", "credentials"); SYSCTL_NODE(_security, OID_AUTO, bsd, CTLFLAG_RW, 0, "BSD security policy"); @@ -824,8 +826,11 @@ { struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; +#if 0 struct gidinfo *gidinfos[NGROUPS], *oldgidinfos[NGROUPS]; - int i, error, oldngroups = 0; + int i, oldngroups = 0; +#endif + int error; if (ngrp > NGROUPS) return (EINVAL); @@ -856,9 +861,11 @@ * have the egid in the groups[0]). We risk security holes * when running non-BSD software if we do not do the same. */ +#if 0 oldngroups = newcred->cr_ngroups - 1; for (i = 0; i < oldngroups; i++) oldgidinfos[i] = newcred->cr_gidinfos[i + 1]; +#endif newcred->cr_ngroups = 1; } else { crsetgroups_locked(newcred, ngrp, groups); @@ -875,23 +882,31 @@ setsugid(p); change_cred(p, newcred); PROC_UNLOCK(p); +#if 0 for (i = 0; i < oldngroups; i++) gifree(oldgidinfos[i]); +#endif /* Don't free gidinfos[]. */ crfree(oldcred); +#if 0 for (i = 0; i < newcred->cr_ngroups; i++) KASSERT(newcred->cr_gidinfos[i]->gi_gid == newcred->cr_groups[i], ("Whoops.")); +#endif return (0); fail: PROC_UNLOCK(p); +#if 0 for (i = 0; i < oldngroups; i++) gifree(oldgidinfos[i]); for (i = 0; i < ngrp; i++) gifree(gidinfos[i]); +#endif crfree(newcred); +#if 0 for (i = 0; i < newcred->cr_ngroups; i++) KASSERT(newcred->cr_gidinfos[i]->gi_gid == newcred->cr_groups[i], ("Whoops.")); +#endif return (error); } @@ -1878,8 +1893,10 @@ uifree(cr->cr_uidinfo); if (cr->cr_ruidinfo != NULL) uifree(cr->cr_ruidinfo); - for (i = 0; i < cr->cr_ngroups; i++) - gifree(cr->cr_gidinfos[i]); + if (hrl_group_accounting) { + for (i = 0; i < cr->cr_ngroups; i++) + gifree(cr->cr_gidinfos[i]); + } /* * Free a prison, if any. */ @@ -1926,8 +1943,10 @@ crsetgroups(dest, src->cr_ngroups, src->cr_groups); uihold(dest->cr_uidinfo); uihold(dest->cr_ruidinfo); - for (i = 0; i < dest->cr_ngroups; i++) - gihold(dest->cr_gidinfos[i]); + if (hrl_group_accounting) { + for (i = 0; i < dest->cr_ngroups; i++) + gihold(dest->cr_gidinfos[i]); + } prison_hold(dest->cr_prison); #ifdef VIMAGE KASSERT(src->cr_vimage != NULL, ("cr_vimage == NULL")); @@ -2205,10 +2224,12 @@ /* * Fix up per-group resource consumption. */ - for (i = 0; i < p->p_ucred->cr_ngroups; i++) - hrl_usage_subtract(&p->p_ucred->cr_gidinfos[i]->gi_usage, &p->p_usage); - for (i = 0; i < newcred->cr_ngroups; i++) - hrl_usage_add(&newcred->cr_gidinfos[i]->gi_usage, &p->p_usage); + if (hrl_group_accounting) { + for (i = 0; i < p->p_ucred->cr_ngroups; i++) + hrl_usage_subtract(&p->p_ucred->cr_gidinfos[i]->gi_usage, &p->p_usage); + for (i = 0; i < newcred->cr_ngroups; i++) + hrl_usage_add(&newcred->cr_gidinfos[i]->gi_usage, &p->p_usage); + } p->p_ucred = newcred; } @@ -2240,9 +2261,11 @@ { newcred->cr_groups[0] = egip->gi_gid; - gihold(egip); - gifree(newcred->cr_gidinfos[0]); - newcred->cr_gidinfos[0] = egip; + if (hrl_group_accounting) { + gihold(egip); + gifree(newcred->cr_gidinfos[0]); + newcred->cr_gidinfos[0] = egip; + } } /*- ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#12 (text+ko) ==== From pgj at FreeBSD.org Sun Jul 5 14:52:25 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sun Jul 5 14:52:32 2009 Subject: PERFORCE change 165631 for review Message-ID: <200907051452.n65EqOVa075692@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165631 Change 165631 by pgj@beehive on 2009/07/05 14:52:22 MFen (doc): 1.7 -> 1.8 hu_HU.ISO8859-2/articles/linux-users/article.sgml 1.46 -> 1.47 hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#12 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/vinum/chapter.sgml#8 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/articles/linux-users/article.sgml#12 (text+ko) ==== @@ -3,7 +3,7 @@ %SOURCE% en_US.ISO8859-1/books/handbook/vinum/chapter.sgml - %SRCID% 1.46 + %SRCID% 1.47 --> @@ -94,9 +94,10 @@ vinum.ko-ról geom_vinum.ko-ra változott és a megfelelõ eszközleírók a - /dev/vinum könyvtár helyett a - /dev/gvinum könyvtárban - találhatóak. A &os; 6. + /dev/vinum + könyvtár helyett a /dev/gvinum + könyvtárban találhatóak. A &os; 6. verziójától pedig a régi Vinum implementáció többé már nem is része az alaprendszernek. @@ -541,8 +542,9 @@ Hogyan szervezzük az ereket? - A &os; &rel.current; verziójában két - fajta erezési megoldást találhatunk: + A &os; &rel.current; verziójában + két fajta erezési megoldást + találhatunk: @@ -994,13 +996,13 @@ akár 64 karakteresek is lehetnek, a meghajtók nevei pedig 32 karakteresek. - A Vinum objektumai a /dev/gvinum - könyvtáron belüli hierarchiában - helyezkednek el eszközleírókként. Az - imént említett - példakonfiguráció hatására a - következõ eszközleírók jönnek - létre: + A Vinum objektumai a /dev/gvinum könyvtáron + belüli hierarchiában helyezkednek el + eszközleírókként. Az imént + említett példakonfiguráció + hatására a következõ + eszközleírók jönnek létre: @@ -1009,9 +1011,10 @@ implementációjára vonatkozik. - A /dev/vinum/control és - /dev/vinum/controld nevû - vezérlõeszközök, melyeket a + A /dev/vinum/control és + /dev/vinum/controld + nevû vezérlõeszközök, melyeket a &man.gvinum.8; és a Vinum démon használ. @@ -1021,11 +1024,12 @@ tartozik. Ezek a Vinum számára a központi eszközök, ezért az elõbbi konfiguráció révén megjelennek a - /dev/gvinum/myvol, - /dev/gvinum/mirror, - /dev/gvinum/striped, - /dev/gvinum/raid5 és - /dev/gvinum/raid10 + /dev/gvinum/myvol, + /dev/gvinum/mirror, + /dev/gvinum/striped, + /dev/gvinum/raid5 + és /dev/gvinum/raid10 eszközök. @@ -1036,7 +1040,8 @@ Az egyes meghajtókhoz tartozó - leírók a /dev/vinum/drive + leírók a /dev/vinum/drive könyvtárban találhatóak. Ezek valójában szimbolikus linkek a megfelelõ lemezes eszközökre. @@ -1044,16 +1049,17 @@ Minden kötethez közvetlen leírók - tartoznak /dev/gvinum/ + tartoznak /dev/gvinum könyvtárban. Az egyes erek és allemezek eszközleírói a - /dev/gvinum/plex és - /dev/gvinum/sd könyvtárakban - jelennek meg. + /dev/gvinum/plex + és /dev/gvinum/sd + könyvtárakban jelennek meg. @@ -1075,7 +1081,8 @@ Az állomány feldolgozása után az eszközleírókat a &man.gvinum.8; az alábbi módon szervezi a - /dev/gvinum könyvtárban: + /dev/gvinum + könyvtárban: drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex @@ -1118,16 +1125,17 @@ Vinum-kötetek nevének utolsó betûit egy partíció azonosítójaként értelmezni. Például egy lemezes - meghajtó neve /dev/ad0a vagy - /dev/da2h alakú. Az elõbbi az - elsõ (0) IDE lemez elsõ (a) - partícióját, míg az utóbbi a - harmadik (2) SCSI lemez nyolcadik (h) - partícióját jelöli. Ezzel szemben - azonban a Vinum-kötetek neve - /dev/gvinum/concat alakú lesz, ahol - a név semmilyen kapcsolatban nem áll a - partíció nevével. + meghajtó neve /dev/ad0a vagy /dev/da2h alakú. Az + elõbbi az elsõ (0) IDE lemez elsõ + (a) partícióját, + míg az utóbbi a harmadik (2) SCSI lemez nyolcadik + (h) partícióját + jelöli. Ezzel szemben azonban a Vinum-kötetek neve + /dev/gvinum/concat + alakú lesz, ahol a név semmilyen kapcsolatban nem + áll a partíció nevével. Hétköznapi esetben a &man.newfs.8; megpróbálja a lemez nevét @@ -1148,10 +1156,9 @@ parancsnak a régi elnevezési séma használata mellett még át kell adni egy -v kapcsolót is: + + &prompt.root; newfs -v /dev/vinum/concat - - &prompt.root; newfs -v /dev/vinum/concat - @@ -1642,7 +1649,7 @@ Drive disk1 (/dev/da1h) at offset 135680 (132 kB) - Itt (a /dev/da0h + Itt (a /dev/da0h partícióhoz képesti) 135680-as eltoltás értékekre kell figyelnünk. Ez @@ -1653,7 +1660,7 @@ 245 760 darab 512 byte-os blokk lesz. A rendszerindító kötet másodpéldányát tartalmazó - /dev/da1h ugyanilyen + /dev/da1h ugyanilyen beállításokkal rendelkezik. Az említett eszközök valahogy így From pgj at FreeBSD.org Sun Jul 5 15:06:41 2009 From: pgj at FreeBSD.org (Gabor Pali) Date: Sun Jul 5 15:06:48 2009 Subject: PERFORCE change 165633 for review Message-ID: <200907051506.n65F6eaV077728@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165633 Change 165633 by pgj@beehive on 2009/07/05 15:05:56 MFen (www): 1.115 -> 1.116 hu/search/search.sgml Affected files ... .. //depot/projects/docproj_hu/www/hu/search/search.sgml#18 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/search/search.sgml#18 (text+ko) ==== @@ -7,7 +7,7 @@ @@ -28,11 +28,9 @@

A &os; OpenSearch bõvítmények listája

From trasz at FreeBSD.org Sun Jul 5 15:07:42 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Sun Jul 5 15:07:48 2009 Subject: PERFORCE change 165634 for review Message-ID: <200907051507.n65F7fwL077795@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165634 Change 165634 by trasz@trasz_victim on 2009/07/05 15:07:21 Update TODO. Affected files ... .. //depot/projects/soc2009/trasz_limits/TODO#4 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/TODO#4 (text+ko) ==== @@ -8,6 +8,10 @@ - Some things need to be accounted for per-euid, and some per-egid. Geez. + - Add sorting to hrl(8). + + - Add resolving numeric IDs into names to hrl(8). + Limits to do: From mav at FreeBSD.org Sun Jul 5 15:13:49 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Sun Jul 5 15:13:56 2009 Subject: PERFORCE change 165635 for review Message-ID: <200907051513.n65FDmXI078301@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165635 Change 165635 by mav@mav_mavbook on 2009/07/05 15:13:04 Fix user-level build. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#12 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#12 (text+ko) ==== @@ -41,6 +41,9 @@ #include #include #include +#ifndef min +#define min(a,b) (((a)<(b))?(a):(b)) +#endif #endif #include @@ -50,6 +53,7 @@ #include #include #include +#include int ata_version(int ver) @@ -183,7 +187,7 @@ u_int16_t *ptr = (u_int16_t*)(buf + len); while (--ptr >= (u_int16_t*)buf) - *ptr = ntohs(*ptr); + *ptr = be16toh(*ptr); } void From trasz at FreeBSD.org Sun Jul 5 16:01:06 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Sun Jul 5 16:01:12 2009 Subject: PERFORCE change 165639 for review Message-ID: <200907051601.n65G14aR081828@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165639 Change 165639 by trasz@trasz_victim on 2009/07/05 16:00:16 Make the kernel just a little more bootable. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#25 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#13 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#19 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#25 (text+ko) ==== @@ -86,6 +86,8 @@ { "filedescriptors", HRL_RESOURCE_FILEDESCRIPTORS }, { "sbsize", HRL_RESOURCE_SBSIZE }, { "vmemoryuse", HRL_RESOURCE_VMEMORYUSE }, + { "pty", HRL_RESOURCE_PTY }, + { "swap", HRL_RESOURCE_SWAP }, { NULL, -1 }}; struct dict actionnames[] = { ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#13 (text+ko) ==== @@ -707,8 +707,13 @@ subject = HRL_SUBJECT_USER; id = td->td_ucred->cr_uid; break; + case RLIMIT_SWAP: + resource = HRL_RESOURCE_SWAP; + subject = HRL_SUBJECT_USER; + id = td->td_ucred->cr_uid; + break; default: - panic("hrl_handle_setrlimit: unknown limit"); + panic("hrl_handle_setrlimit: unknown limit %d", which); } if (lim->rlim_cur != RLIM_INFINITY) { ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#19 (text+ko) ==== @@ -87,7 +87,8 @@ #define HRL_RESOURCE_SBSIZE 0x000a #define HRL_RESOURCE_VMEMORYUSE 0x000b #define HRL_RESOURCE_PTY 0x000c -#define HRL_RESOURCE_MAX HRL_RESOURCE_PTY +#define HRL_RESOURCE_SWAP 0x000d +#define HRL_RESOURCE_MAX HRL_RESOURCE_SWAP #define HRL_ACTION_UNDEFINED 0x0000 #define HRL_ACTION_DENY 0x0001 From syl at FreeBSD.org Sun Jul 5 19:22:47 2009 From: syl at FreeBSD.org (Sylvestre Gallon) Date: Sun Jul 5 19:22:53 2009 Subject: PERFORCE change 165652 for review Message-ID: <200907051922.n65JMk1E010805@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165652 Change 165652 by syl@syl_atuin on 2009/07/05 19:22:31 Update test3 to show how many mb have been written. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#8 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#8 (text+ko) ==== @@ -97,12 +97,6 @@ } } - - if (csw.bCSWStatus != 0) { - printf("command (0x%02x) cursig=0x%08x failed\n", pcmd[0], cursig); - } else { - printf("command (0x%02x) cursig=0x%08x success\n", pcmd[0], cursig); - } } void @@ -133,6 +127,7 @@ int found = 0; int ret; int i; + int j; printf("this test read bytes of a memory stick\n"); if (libusb_init(&ctx) != 0) { @@ -190,11 +185,25 @@ do_msc_req(read_capacity, sizeof(read_capacity), 0x8); sranddev(); + j = 0; + printf("%iM", j); for (size = 0 ; ;) { random = rand() % 1024; do_read(random, 0x10000); size+=0x10000; - printf("read sector : 0x%x total read 0x%x\n", random, size); + if ((size % 0x100000) == 0) { + j++; + if (j < 10) + printf("\b\b%i", j); + else if (j < 100) + printf("\b\b\b%i", j); + else + printf("\b\b\b\b%i", j); + if (j==10 || j == 100) + printf("M"); + fflush(stdout); + } } + printf("\n"); return (EXIT_SUCCESS); } From syl at FreeBSD.org Sun Jul 5 19:47:14 2009 From: syl at FreeBSD.org (Sylvestre Gallon) Date: Sun Jul 5 19:47:21 2009 Subject: PERFORCE change 165653 for review Message-ID: <200907051947.n65JlC9E012570@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165653 Change 165653 by syl@syl_atuin on 2009/07/05 19:46:41 Replace a malloc by alloca. Remove a possible uninitialized return value in libusb_get_buffsize. Remove 2 possible NULL dereference. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#57 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#19 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#23 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#57 (text+ko) ==== @@ -889,11 +889,10 @@ case LIBUSB20_SPEED_FULL: ret = 64; break ; - case LIBUSB20_SPEED_HIGH: + default: ret = 64; break ; } - /*add */ ret += 8; break ; default : ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#19 (text+ko) ==== ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#23 (text+ko) ==== @@ -254,7 +254,7 @@ TAILQ_FOREACH(ipollfd, &ctx->pollfds, list) nfds++; - fds = malloc(sizeof(*fds) * nfds); + fds = alloca(sizeof(*fds) * nfds); if (fds == NULL) return (LIBUSB_ERROR_NO_MEM); @@ -274,16 +274,12 @@ timeout++; ret = poll(fds, nfds, timeout); - if (ret == 0) { - free(fds); + if (ret == 0) return (handle_timeouts(ctx)); - } else if (ret == -1 && errno == EINTR) { - free(fds); + else if (ret == -1 && errno == EINTR) return (LIBUSB_ERROR_INTERRUPTED); - } else if (ret < 0) { - free(fds); + else if (ret < 0) return (LIBUSB_ERROR_IO); - } if (fds[0].revents) { if (ret == 1){ @@ -296,7 +292,7 @@ } pthread_mutex_lock(&ctx->open_devs_lock); - for (i = 0 ; i < nfds && ret > 0 ; i++) { + for (i = 0, devh = NULL ; i < nfds && ret > 0 ; i++) { tfds = &fds[i]; if (!tfds->revents) @@ -310,14 +306,16 @@ if (tfds->revents & POLLERR) { usb_remove_pollfd(ctx, libusb20_dev_get_fd(devh->os_priv)); - usb_handle_disconnect(devh); + if (devh != NULL) + usb_handle_disconnect(devh); continue ; } pthread_mutex_lock(&libusb20_lock); DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_PROCESS"); - ret = libusb20_dev_process(devh->os_priv); + if (devh != NULL) + ret = libusb20_dev_process(devh->os_priv); pthread_mutex_unlock(&libusb20_lock); @@ -332,7 +330,6 @@ pthread_mutex_unlock(&ctx->open_devs_lock); handled: - free(fds); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "handle_events leave"); return ret; } From peter at FreeBSD.org Sun Jul 5 22:53:50 2009 From: peter at FreeBSD.org (Peter Wemm) Date: Sun Jul 5 22:53:58 2009 Subject: PERFORCE change 165658 for review Message-ID: <200907052253.n65Mraap041280@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165658 Change 165658 by peter@peter_overcee on 2009/07/05 22:53:05 IFC @165657 Affected files ... .. //depot/projects/hammer/MAINTAINERS#51 integrate .. //depot/projects/hammer/Makefile.inc1#146 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#68 integrate .. //depot/projects/hammer/UPDATING#133 integrate .. //depot/projects/hammer/bin/chflags/chflags.c#10 integrate .. //depot/projects/hammer/bin/chmod/chmod.c#8 integrate .. //depot/projects/hammer/bin/df/df.1#14 integrate .. //depot/projects/hammer/bin/df/df.c#26 integrate .. //depot/projects/hammer/bin/hostname/hostname.c#6 integrate .. //depot/projects/hammer/bin/sh/eval.c#20 integrate .. //depot/projects/hammer/bin/sh/eval.h#5 integrate .. //depot/projects/hammer/bin/sh/exec.c#12 integrate .. //depot/projects/hammer/bin/sh/expand.c#16 integrate .. //depot/projects/hammer/bin/sh/histedit.c#8 integrate .. //depot/projects/hammer/bin/sh/input.c#6 integrate .. //depot/projects/hammer/bin/sh/input.h#3 integrate .. //depot/projects/hammer/bin/sh/main.c#8 integrate .. //depot/projects/hammer/bin/sh/miscbltin.c#12 integrate .. //depot/projects/hammer/bin/sh/output.c#6 integrate .. //depot/projects/hammer/bin/sh/parser.c#16 integrate .. //depot/projects/hammer/bin/sh/redir.c#6 integrate .. //depot/projects/hammer/bin/sh/sh.1#32 integrate .. //depot/projects/hammer/bin/sh/trap.c#9 integrate .. //depot/projects/hammer/bin/sh/trap.h#3 integrate .. //depot/projects/hammer/bin/sh/var.c#16 integrate .. //depot/projects/hammer/contrib/bind9/CHANGES#16 integrate .. //depot/projects/hammer/contrib/bind9/KNOWN-DEFECTS#1 branch .. //depot/projects/hammer/contrib/bind9/bin/check/named-checkzone.c#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.8#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.c#9 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#7 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssec-signzone.html#8 integrate .. //depot/projects/hammer/contrib/bind9/bin/dnssec/dnssectool.c#5 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM-book.xml#12 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch06.html#11 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch07.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch08.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch09.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.html#10 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dig.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#2 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#2 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-keygen.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-signzone.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.host.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named-checkconf.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named-checkzone.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.named.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.nsupdate.html#2 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc-confgen.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc.conf.html#6 integrate .. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc.html#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/bind9/api#9 integrate .. //depot/projects/hammer/contrib/bind9/lib/bind9/check.c#11 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/api#13 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/dnssec.c#6 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/dnssec.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/keyvalues.h#4 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/nsec3.c#2 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/resolver.c#13 integrate .. //depot/projects/hammer/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#3 integrate .. //depot/projects/hammer/contrib/bind9/version#16 integrate .. //depot/projects/hammer/contrib/csup/rcsfile.c#3 integrate .. //depot/projects/hammer/contrib/gdb/gdb/stack.c#3 integrate .. //depot/projects/hammer/contrib/ipfilter/tools/ipfcomp.c#5 integrate .. //depot/projects/hammer/contrib/ntp/ntpd/ntp_crypto.c#6 integrate .. //depot/projects/hammer/contrib/tcsh/sh.func.c#5 integrate .. //depot/projects/hammer/contrib/tcsh/tcsh.man#5 integrate .. //depot/projects/hammer/crypto/openssh/config.h#16 integrate .. //depot/projects/hammer/crypto/openssh/ssh_namespace.h#5 integrate .. //depot/projects/hammer/crypto/openssl/CHANGES#8 integrate .. //depot/projects/hammer/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head#2 delete .. //depot/projects/hammer/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head_FIPS#2 delete .. //depot/projects/hammer/crypto/openssl/Configure#8 integrate .. //depot/projects/hammer/crypto/openssl/FAQ#8 integrate .. //depot/projects/hammer/crypto/openssl/INSTALL#6 integrate .. //depot/projects/hammer/crypto/openssl/LICENSE#6 integrate .. //depot/projects/hammer/crypto/openssl/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/Makefile.org#7 integrate .. //depot/projects/hammer/crypto/openssl/Makefile.shared#2 integrate .. //depot/projects/hammer/crypto/openssl/NEWS#8 integrate .. //depot/projects/hammer/crypto/openssl/README#8 integrate .. //depot/projects/hammer/crypto/openssl/apps/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/apps.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/apps.h#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/asn1pars.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/ca.c#8 integrate .. //depot/projects/hammer/crypto/openssl/apps/cms.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/crl.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/dgst.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/dsa.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/ec.c#3 integrate .. //depot/projects/hammer/crypto/openssl/apps/enc.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/engine.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/gendsa.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/genpkey.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/genrsa.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/md4.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/nseq.c#3 integrate .. //depot/projects/hammer/crypto/openssl/apps/ocsp.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/openssl.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/pkcs12.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/pkcs8.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/pkey.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/pkeyparam.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/pkeyutl.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/progs.h#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/progs.pl#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/rand.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/req.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/rsa.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/rsautl.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_apps.h#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_cb.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_client.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/s_server.c#6 integrate .. //depot/projects/hammer/crypto/openssl/apps/smime.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/speed.c#7 integrate .. //depot/projects/hammer/crypto/openssl/apps/spkac.c#5 integrate .. //depot/projects/hammer/crypto/openssl/apps/ts.c#1 branch .. //depot/projects/hammer/crypto/openssl/apps/tsget#1 branch .. //depot/projects/hammer/crypto/openssl/apps/version.c#4 integrate .. //depot/projects/hammer/crypto/openssl/apps/x509.c#8 integrate .. //depot/projects/hammer/crypto/openssl/certs/README.RootCerts#1 branch .. //depot/projects/hammer/crypto/openssl/certs/RegTP-5R.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/RegTP-6R.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/aol1.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/aol2.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/aoltw1.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/aoltw2.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/argena.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/argeng.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/demo/nortelCA.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/demo/timCA.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/demo/tjhCA.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/demo/vsigntca.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng1.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng2.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng3.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng4.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/eng5.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/ICE-CA.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/ICE-root.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/ICE-user.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/RegTP-4R.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/factory.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/rsa-cca.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/rsa-ssca.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/vsign2.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/expired/vsign3.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/thawteCb.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/thawteCp.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/vsign1.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/vsign3.pem#3 delete .. //depot/projects/hammer/crypto/openssl/certs/vsignss.pem#2 delete .. //depot/projects/hammer/crypto/openssl/certs/wellsfgo.pem#2 delete .. //depot/projects/hammer/crypto/openssl/config#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_cbc.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_core.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_ige.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_wrap.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/aes_x86core.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-586.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-armv4.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-ia64.S#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-ppc.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-s390x.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/aes/asm/aes-x86_64.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_bytes.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_mbstr.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_object.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_sign.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_strex.c#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_strnid.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_type.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/a_verify.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/ameth_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_gen.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_lib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_locl.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1_par.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn1t.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn_mime.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn_moid.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/asn_pack.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/bio_asn1.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/bio_ndef.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/nsseq.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/p5_pbe.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/p5_pbev2.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/p8_pkey.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_bitst.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_crl.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_req.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_spki.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_x509.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/t_x509a.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_dec.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_enc.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_fre.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_new.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_prn.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_typ.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/tasn_utl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_algor.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_bignum.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_crl.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_exten.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_long.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_name.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_nx509.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/asn1/x_x509a.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bf/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bf/bf_skey.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bf/blowfish.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/b_print.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/b_sock.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bio.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_bio.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_dgram.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_file.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_mem.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bio/bss_sock.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/alpha-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/armv4-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ia64.S#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/mips3-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/mo-586.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ppc-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/ppc64-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/s390x-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/s390x.S#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/via-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/x86-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/asm/x86_64-mont.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_blind.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_div.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_exp.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_gcd.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_gf2m.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_lcl.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_lib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_mont.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_mul.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_nist.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_opt.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_prime.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_prime.h#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_prime.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_rand.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_shift.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/bn/bn_x931p.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/bn/bntest.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/buffer/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/buffer/buf_str.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/buffer/buffer.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/camellia/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/camellia/asm/cmll-x86.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/camellia/camellia.h#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/camellia/cmll_misc.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/c_skey.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cast/cast.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cms/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_asn1.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_att.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_cd.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_dd.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_enc.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_env.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_err.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_ess.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_io.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_lcl.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_sd.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/cms/cms_smime.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/comp/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/comp/c_zlib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/comp/comp.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/comp/comp_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf_api.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf_mall.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf_mod.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/conf/conf_sap.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cryptlib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/cryptlib.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/crypto.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/asm/des_enc.m4#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/des.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/des_enc.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/des_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/des/des_old.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/des_old.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/ecb_enc.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/enc_read.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/enc_writ.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/set_key.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/times/usparc.cc#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/des/xcbc_enc.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_asn1.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_check.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_gen.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dh/dh_key.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_asn1.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_gen.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_key.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_lib.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_ossl.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_sign.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_utl.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/dsa/dsa_vrf.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dso/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/dyn_lck.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/ec/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec_err.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec_key.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ec_mult.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ec/ectest.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdh/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdh/ecdhtest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/ecdsatest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ecdsa/ecs_ossl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_all.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_cnf.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_err.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_int.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_padlock.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_pkey.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/eng_table.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/engine.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/engine/enginetest.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err_all.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err_bio.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/err/err_def.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/err/err_prn.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/err/err_str.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/err/openssl.ec#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/bio_md.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/c_allc.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/dig_eng.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/evp/digest.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_aes.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_camellia.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_des.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_des3.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_null.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_rc4.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/e_seed.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/evp/enc_min.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_acnf.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_cnf.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_enc.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_lib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_locl.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_pbe.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_pkey.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evp_test.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/evptests.txt#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_dss.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_dss1.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_md2.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_md4.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_md5.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_mdc2.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_sha.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/m_sha1.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/names.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/p5_crpt.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/p5_crpt2.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/p_sign.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/evp/p_verify.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ex_data.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/fips_err.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/fips_err.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/hmac/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/hmac/hmac.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/hmac/hmac.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/idea/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/idea/i_skey.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/idea/idea.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/jpake/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/jpake/jpake.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/jpake/jpake.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/jpake/jpake_err.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/jpake/jpaketest.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/krb5/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/lhash/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md2/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md2/md2.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md2/md2_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md32_common.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/md4.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/md4_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/md4_locl.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md4/md4test.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/asm/md5-586.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/asm/md5-sparcv9.S#4 delete .. //depot/projects/hammer/crypto/openssl/crypto/md5/asm/md5-x86_64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/md5.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/md5_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/md5_locl.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/md5/md5test.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mdc2/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mdc2/mdc2.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mdc2/mdc2dgst.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mem.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mem_clr.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/mem_dbg.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/o_init.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/o_str.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_dat.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_dat.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_dat.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_mac.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/obj_mac.num#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/objects/objects.txt#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_asn.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_err.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_ht.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_srv.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ocsp/ocsp_vfy.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/opensslconf.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/opensslconf.h.in#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/opensslv.h#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ossl_typ.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_all.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_info.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_lib.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_x509.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pem/pem_xaux.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86_64-xlate.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86ms.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86nasm.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/perlasm/x86unix.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_add.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_asn.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_attr.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_crpt.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_crt.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_decr.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_init.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_key.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_kiss.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_mutl.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_npas.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_p8d.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_p8e.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/p12_utl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs12/pkcs12.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_asn1.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_attr.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_mime.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pkcs7/pk7_smime.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ppccpuid.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/pqueue/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/pqueue/pq_compat.h#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/md_rand.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_eng.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_lcl.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_lib.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_nw.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/rand_unix.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rand/randfile.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc2/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc2/rc2.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc2/rc2_skey.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/asm/rc4-586.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/asm/rc4-ia64.S#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/rc4.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc4/rc4_fblk.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/rc4/rc4_skey.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc5/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc5/rc5.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rc5/rc5_skey.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/README#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/asm/rmd-586.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/ripemd.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/rmd_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/rmd_locl.h#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ripemd/rmdtest.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_asn1.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_eay.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_eng.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_err.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_gen.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_lib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_null.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_oaep.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_pss.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_sign.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_ssl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_test.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_x931.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/rsa/rsa_x931g.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/s390xcpuid.S#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_cbc.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_cfb.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_ecb.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_locl.h#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/seed/seed_ofb.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/sha/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha1-586.pl#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha1-ia64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha512-ia64.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha1_one.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha1dgst.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha1test.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha256.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha512.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha_dgst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/sha_locl.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sha/shatest.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/sparcv9cap.c#1 branch .. //depot/projects/hammer/crypto/openssl/crypto/stack/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/stack/safestack.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/store/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/store/str_lib.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/symhacks.h#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/txt_db/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ui/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ui/ui_lib.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/ui/ui_openssl.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/by_dir.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509.h#7 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_att.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_cmp.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_trs.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_txt.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_vfy.c#8 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509_vpm.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509cset.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509/x509spki.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/ext_dat.h#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_cache.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_data.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_int.h#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_lib.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_map.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_node.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/pcy_tree.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/tabtest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_addr.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_akey.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_akeya.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_alt.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_asid.c#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_bcons.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_bitst.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_conf.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_cpols.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_crld.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_enum.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_extku.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_genn.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_ia5.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_info.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_int.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_lib.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_ncons.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_ocsp.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_pci.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_pcons.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_pku.c#4 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_pmaps.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_prn.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_purp.c#6 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_skey.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_sxnet.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3_utl.c#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3conf.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/v3prin.c#3 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x509v3/x509v3.h#5 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x86_64cpuid.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/crypto/x86cpuid.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/asn1/ocsp.c#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/engines/zencod/hw_zencod_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/demos/jpake/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/demos/jpake/jpakedemo.c#1 branch .. //depot/projects/hammer/crypto/openssl/doc/apps/ciphers.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/dgst.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/enc.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/ocsp.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/openssl.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/rand.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/rsautl.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/s_client.pod#7 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/s_server.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/verify.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/apps/x509.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/c-indentation.el#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/DH_set_method.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/DSA_set_method.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/OPENSSL_ia32cap.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/RAND_bytes.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/RAND_egd.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/RAND_set_rand_method.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/RSA_set_method.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/X509_NAME_print_ex.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/des_modes.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/crypto/engine.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod#3 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod#5 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_SESSION_free.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_free.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssl/SSL_read.pod#2 integrate .. //depot/projects/hammer/crypto/openssl/doc/ssleay.txt#4 integrate .. //depot/projects/hammer/crypto/openssl/doc/standards.txt#4 integrate .. //depot/projects/hammer/crypto/openssl/e_os.h#6 integrate .. //depot/projects/hammer/crypto/openssl/engines/Makefile#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_4758cca_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_aep.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_aep_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_atalla_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_capi.c#1 branch .. //depot/projects/hammer/crypto/openssl/engines/e_capi.ec#1 branch .. //depot/projects/hammer/crypto/openssl/engines/e_capi_err.c#1 branch .. //depot/projects/hammer/crypto/openssl/engines/e_capi_err.h#1 branch .. //depot/projects/hammer/crypto/openssl/engines/e_chil.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_chil_err.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_chil_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_cswift_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_gmp.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_gmp_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_nuron_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_sureware_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_ubsec.c#2 integrate .. //depot/projects/hammer/crypto/openssl/engines/e_ubsec_err.h#2 integrate .. //depot/projects/hammer/crypto/openssl/fips/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/aes/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/aes/fips_aes_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/aes/fips_aesavs.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/des/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/des/fips_des_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/des/fips_desmovs.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/dh_gen.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/fips_dh_check.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/fips_dh_gen.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/fips_dh_key.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dh/fips_dh_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_gen.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_key.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_ossl.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsa_sign.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dsatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/dsa/fips_dssvs.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips-nodiff.txt#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips.h#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_canister.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_locl.h#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_premain.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_premain.c.sha1#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_test_suite.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fips_utl.h#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fipsalgtest.pl#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fipsld#1 branch .. //depot/projects/hammer/crypto/openssl/fips/fipstests.sh#1 branch .. //depot/projects/hammer/crypto/openssl/fips/hmac/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/hmac/fips_hmac.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/hmac/fips_hmac_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/hmac/fips_hmactest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/mkfipsscr.pl#1 branch .. //depot/projects/hammer/crypto/openssl/fips/openssl_fips_fingerprint#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rand.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rand.h#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rand_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_randtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rand/fips_rngvs.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_eay.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_gen.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_lib.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_sign.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsa_x931g.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsagtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsastest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/rsa/fips_rsavtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/sha/Makefile#1 branch .. //depot/projects/hammer/crypto/openssl/fips/sha/fips_sha1_selftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/sha/fips_shatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/fips/sha/fips_standalone_sha1.c#1 branch .. //depot/projects/hammer/crypto/openssl/openssl.spec#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/Makefile#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_both.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_clnt.c#2 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_enc.c#2 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_lib.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_pkt.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/d1_srvr.c#2 integrate .. //depot/projects/hammer/crypto/openssl/ssl/dtls1.h#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/kssl.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s23_clnt.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s23_srvr.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s2_clnt.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s2_srvr.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_clnt.c#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_enc.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_lib.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_pkt.c#7 integrate .. //depot/projects/hammer/crypto/openssl/ssl/s3_srvr.c#10 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl.h#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl3.h#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_algs.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_asn1.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_cert.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_ciph.c#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_err.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_lib.c#9 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_locl.h#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_rsa.c#5 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_sess.c#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_stat.c#3 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssl_txt.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/ssltest.c#8 integrate .. //depot/projects/hammer/crypto/openssl/ssl/t1_enc.c#6 integrate .. //depot/projects/hammer/crypto/openssl/ssl/t1_lib.c#4 integrate .. //depot/projects/hammer/crypto/openssl/ssl/tls1.h#4 integrate .. //depot/projects/hammer/crypto/openssl/test/CAss.cnf#3 integrate .. //depot/projects/hammer/crypto/openssl/test/Makefile#4 integrate .. //depot/projects/hammer/crypto/openssl/test/SHAmix.r#1 branch .. //depot/projects/hammer/crypto/openssl/test/SHAmix.x#1 branch .. //depot/projects/hammer/crypto/openssl/test/Uss.cnf#3 integrate .. //depot/projects/hammer/crypto/openssl/test/bftest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/bntest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/casttest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/cms-examples.pl#1 branch .. //depot/projects/hammer/crypto/openssl/test/cms-test.pl#1 branch .. //depot/projects/hammer/crypto/openssl/test/destest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/dhtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/dsatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/ecdhtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/ecdsatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/ectest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/enginetest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/evp_test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/evptests.txt#4 integrate .. //depot/projects/hammer/crypto/openssl/test/exptest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_aesavs.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_desmovs.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_dsatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_dssvs.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_hmactest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_randtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_rngvs.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_rsagtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_rsastest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_rsavtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_shatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/fips_test_suite.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/hmactest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/ideatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/igetest.c#2 integrate .. //depot/projects/hammer/crypto/openssl/test/jpaketest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/md2test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/md4test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/md5test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/mdc2test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/randtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rc2test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rc4test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rc5test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rmdtest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/rsa_test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/sha1test.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/sha256t.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/sha512t.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/shatest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/smcont.txt#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smdsa1.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smdsa2.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smdsa3.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smdsap.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smroot.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smrsa1.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smrsa2.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/smime-certs/smrsa3.pem#1 branch .. //depot/projects/hammer/crypto/openssl/test/ssltest.c#1 branch .. //depot/projects/hammer/crypto/openssl/test/testfipsssl#3 branch .. //depot/projects/hammer/crypto/openssl/test/times#2 integrate .. //depot/projects/hammer/crypto/openssl/util/arx.pl#1 branch .. //depot/projects/hammer/crypto/openssl/util/clean-depend.pl#3 integrate .. //depot/projects/hammer/crypto/openssl/util/copy.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/util/domd#5 integrate .. //depot/projects/hammer/crypto/openssl/util/fipslink.pl#1 branch .. //depot/projects/hammer/crypto/openssl/util/libeay.num#7 integrate .. //depot/projects/hammer/crypto/openssl/util/mk1mf.pl#8 integrate .. //depot/projects/hammer/crypto/openssl/util/mkdef.pl#8 integrate .. //depot/projects/hammer/crypto/openssl/util/mkerr.pl#7 integrate .. //depot/projects/hammer/crypto/openssl/util/mkfiles.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/util/mklink.pl#4 integrate .. //depot/projects/hammer/crypto/openssl/util/mksdef.pl#1 branch .. //depot/projects/hammer/crypto/openssl/util/opensslwrap.sh#2 integrate .. //depot/projects/hammer/crypto/openssl/util/pl/VC-32.pl#5 integrate .. //depot/projects/hammer/crypto/openssl/util/pl/netware.pl#2 integrate .. //depot/projects/hammer/crypto/openssl/util/shlib_wrap.sh#2 integrate .. //depot/projects/hammer/crypto/openssl/util/ssleay.num#5 integrate .. //depot/projects/hammer/etc/Makefile#68 integrate .. //depot/projects/hammer/etc/crontab#3 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#97 integrate .. //depot/projects/hammer/etc/etc.amd64/ttys#10 integrate .. //depot/projects/hammer/etc/etc.arm/ttys#8 integrate .. //depot/projects/hammer/etc/etc.i386/ttys#8 integrate .. //depot/projects/hammer/etc/etc.ia64/ttys#9 integrate .. //depot/projects/hammer/etc/etc.mips/ttys#5 integrate .. //depot/projects/hammer/etc/etc.powerpc/ttys#9 integrate .. //depot/projects/hammer/etc/etc.sparc64/ttys#16 integrate .. //depot/projects/hammer/etc/login.conf#6 integrate .. //depot/projects/hammer/etc/mtree/BSD.local.dist#29 integrate .. //depot/projects/hammer/etc/mtree/BSD.usr.dist#44 integrate .. //depot/projects/hammer/etc/network.subr#29 integrate .. //depot/projects/hammer/etc/ntp.conf#1 branch .. //depot/projects/hammer/etc/rc.d/Makefile#66 integrate .. //depot/projects/hammer/etc/rc.d/NETWORKING#16 integrate .. //depot/projects/hammer/etc/rc.d/fsck#10 integrate .. //depot/projects/hammer/etc/rc.d/ipfw#19 integrate .. //depot/projects/hammer/etc/rc.d/jail#28 integrate .. //depot/projects/hammer/etc/rc.d/mountd#13 integrate .. //depot/projects/hammer/etc/rc.d/netif#27 integrate .. //depot/projects/hammer/etc/rc.d/nfscbd#1 branch .. //depot/projects/hammer/etc/rc.d/nfsd#11 integrate .. //depot/projects/hammer/etc/rc.d/nfsuserd#1 branch .. //depot/projects/hammer/etc/rc.d/pf#17 integrate .. //depot/projects/hammer/etc/rc.d/pflog#12 integrate .. //depot/projects/hammer/etc/rc.d/pfsync#5 integrate .. //depot/projects/hammer/etc/syslog.conf#10 integrate .. //depot/projects/hammer/etc/termcap.small#3 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#87 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes-o.real#10 integrate .. //depot/projects/hammer/gnu/lib/libgcc/Makefile#21 integrate .. //depot/projects/hammer/gnu/lib/libgcov/Makefile#6 integrate .. //depot/projects/hammer/gnu/lib/libssp/libssp_nonshared/Makefile#2 integrate .. //depot/projects/hammer/gnu/usr.bin/cc/cc_tools/freebsd-native.h#11 integrate .. //depot/projects/hammer/gnu/usr.bin/groff/tmac/mdoc.local#34 integrate .. //depot/projects/hammer/gnu/usr.bin/man/apropos/apropos.sh#3 integrate .. //depot/projects/hammer/include/rpc/svc_dg.h#2 integrate .. //depot/projects/hammer/include/stdio.h#19 integrate .. //depot/projects/hammer/include/unistd.h#30 integrate .. //depot/projects/hammer/kerberos5/include/config.h#11 integrate .. //depot/projects/hammer/kerberos5/lib/libroken/Makefile#7 integrate .. //depot/projects/hammer/lib/Makefile#77 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.c#28 integrate .. //depot/projects/hammer/lib/libc/Makefile#33 integrate .. //depot/projects/hammer/lib/libc/arm/stdlib/Makefile.inc#2 delete .. //depot/projects/hammer/lib/libc/arm/string/strncmp.S#4 integrate .. //depot/projects/hammer/lib/libc/db/btree/bt_split.c#8 integrate .. //depot/projects/hammer/lib/libc/db/mpool/mpool.c#7 integrate .. //depot/projects/hammer/lib/libc/gen/Symbol.map#15 integrate .. //depot/projects/hammer/lib/libc/gen/fmtcheck.c#6 integrate .. //depot/projects/hammer/lib/libc/gen/initgroups.3#3 integrate .. //depot/projects/hammer/lib/libc/gen/initgroups.c#4 integrate .. //depot/projects/hammer/lib/libc/gen/msgctl.3#6 integrate .. //depot/projects/hammer/lib/libc/gen/semctl.c#4 integrate .. //depot/projects/hammer/lib/libc/i386/stdlib/Makefile.inc#2 integrate .. //depot/projects/hammer/lib/libc/i386/stdlib/abs.S#4 delete .. //depot/projects/hammer/lib/libc/i386/stdlib/div.S#5 integrate .. //depot/projects/hammer/lib/libc/i386/stdlib/labs.S#4 delete .. //depot/projects/hammer/lib/libc/i386/stdlib/ldiv.S#4 integrate .. //depot/projects/hammer/lib/libc/ia64/stdlib/Makefile.inc#2 delete .. //depot/projects/hammer/lib/libc/include/compat.h#1 branch .. //depot/projects/hammer/lib/libc/mips/stdlib/Makefile.inc#2 delete .. //depot/projects/hammer/lib/libc/posix1e/Makefile.inc#14 integrate .. //depot/projects/hammer/lib/libc/posix1e/Symbol.map#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_add_flag_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_add_perm.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_branding.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_calc_mask.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_clear_flags_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_copy.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_create_entry.3#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete_entry.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete_entry.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_delete_flag_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_entry.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_flag.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_from_text.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_from_text_nfs4.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_get.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_get.c#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_get_brand_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_get_entry_type_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_get_flag_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_get_flagset_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_init.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_is_trivial_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_set.3#5 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_set.c#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_set_entry_type_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_set_flagset_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_set_tag_type.3#6 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_strip.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_strip_np.3#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_support.c#6 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_support.h#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_support_nfs4.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_to_text.3#4 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_to_text.c#3 integrate .. //depot/projects/hammer/lib/libc/posix1e/acl_to_text_nfs4.c#1 branch .. //depot/projects/hammer/lib/libc/posix1e/acl_valid.c#4 integrate .. //depot/projects/hammer/lib/libc/rpc/auth_unix.c#5 integrate .. //depot/projects/hammer/lib/libc/rpc/getnetconfig.c#9 integrate .. //depot/projects/hammer/lib/libc/rpc/netname.c#3 integrate .. //depot/projects/hammer/lib/libc/rpc/netnamer.c#5 integrate .. //depot/projects/hammer/lib/libc/rpc/svc_dg.c#7 integrate .. //depot/projects/hammer/lib/libc/rpc/svc_generic.c#6 integrate .. //depot/projects/hammer/lib/libc/sparc64/stdlib/Makefile.inc#2 delete .. //depot/projects/hammer/lib/libc/stdlib/Makefile.inc#20 integrate .. //depot/projects/hammer/lib/libc/stdtime/localtime.c#12 integrate .. //depot/projects/hammer/lib/libc/stdtime/strftime.c#7 integrate .. //depot/projects/hammer/lib/libc/stdtime/strptime.c#8 integrate .. //depot/projects/hammer/lib/libc/sys/Makefile.inc#38 integrate .. //depot/projects/hammer/lib/libc/sys/Symbol.map#17 integrate .. //depot/projects/hammer/lib/libc/sys/close.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/closefrom.2#1 branch .. //depot/projects/hammer/lib/libc/sys/execve.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/getgroups.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/getrlimit.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/getsockopt.2#14 integrate .. //depot/projects/hammer/lib/libc/sys/jail.2#13 integrate .. //depot/projects/hammer/lib/libc/sys/pathconf.2#9 integrate .. //depot/projects/hammer/lib/libc/sys/revoke.2#4 integrate .. //depot/projects/hammer/lib/libc/sys/semctl.2#5 integrate .. //depot/projects/hammer/lib/libc/sys/setgroups.2#7 integrate .. //depot/projects/hammer/lib/libc/sys/shmctl.2#6 integrate .. //depot/projects/hammer/lib/libc/sys/stack_protector.c#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From antab at FreeBSD.org Sun Jul 5 23:38:39 2009 From: antab at FreeBSD.org (Arnar Mar Sig) Date: Sun Jul 5 23:38:45 2009 Subject: PERFORCE change 165661 for review Message-ID: <200907052338.n65NcccH045645@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165661 Change 165661 by antab@antab_farm on 2009/07/05 23:37:54 * Add fault handling to copyin/out, fu- and su-byte/word * Add sigcode Affected files ... .. //depot/projects/avr32/src/sys/avr32/avr32/genassym.c#5 edit .. //depot/projects/avr32/src/sys/avr32/avr32/pmap.c#21 edit .. //depot/projects/avr32/src/sys/avr32/avr32/support.S#13 edit .. //depot/projects/avr32/src/sys/avr32/avr32/switch.S#15 edit .. //depot/projects/avr32/src/sys/avr32/avr32/trap.c#13 edit .. //depot/projects/avr32/src/sys/avr32/include/asm.h#8 edit .. //depot/projects/avr32/src/sys/avr32/include/pcb.h#6 edit Differences ... ==== //depot/projects/avr32/src/sys/avr32/avr32/genassym.c#5 (text+ko) ==== @@ -36,6 +36,8 @@ #include #include #include +#include +#include ASSYM(P_VMSPACE, offsetof(struct proc, p_vmspace)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); @@ -49,3 +51,9 @@ ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); + +ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); +ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault)); + +ASSYM(VM_MAXUSER_ADDRESS,VM_MAXUSER_ADDRESS); + ==== //depot/projects/avr32/src/sys/avr32/avr32/pmap.c#21 (text+ko) ==== @@ -319,6 +319,7 @@ PMAP_LOCK(pmap); + pte = pmap_pte(pmap, va); if (wired && ((*pte & PTE_WIRED) == 0)) { pmap->pm_stats.wired_count++; } @@ -1331,8 +1332,6 @@ pmap_align_superpage(vm_object_t object, vm_ooffset_t offset, vm_offset_t *addr, vm_size_t size) { - // Not sure what to do here, unimplemented in ARM - avr32_debug("pmap_align_superpage: Needs implementing?\n"); } /* ==== //depot/projects/avr32/src/sys/avr32/avr32/support.S#13 (text+ko) ==== @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD: $"); .data - .globl intrcnt, eintrcnt intrcnt: .space IRQ_COUNT * 4 @@ -48,6 +47,9 @@ eintrnames: .text +curpcb: + .word _C_LABEL(__pcpu) + PC_CURPCB + /* * memcpy/bcopy and bzero use byte access, this is slow and needs rewriting * later on @@ -129,23 +131,24 @@ * r10: unsigned len; */ ENTRY(copyin) + /** + * r9: Temp for user/kernel memory split + * r8: Temp for from + len + */ stm --sp, r7,lr /* Create call frame */ mov r7, sp /* Set framepointer */ + PCB_SET_ONFAULT(copy_fault_addr) - lddpc r9, copyin_split /* Load max userspace address */ - cp.w r9, r12 /* Is to address within user space ? */ - brge copyin_fault /* No */ + add r8, r12, r10 /* from + len */ + lddpc r9, copy_split /* Load max userspace address */ + cp.w r9, r8 /* Is to address within user space ? */ + brge copy_fault /* No */ call bcopy /* bcopy does all the work */ + + PCB_CLEAR_ONFAULT() mov r12, 0 /* Return 0 */ ldm sp++, r7,pc /* Restore framepoiner and return */ - -copyin_fault: - mov r12, EFAULT - ldm sp++, r7,pc /* Restore framepoiner and return */ - -copyin_split: - .long 0x80000000 /* Max userspace address */ END(copyin) /** @@ -156,28 +159,26 @@ * r10: unsigned len; */ ENTRY(copyout) + /** + * r9: Temp for user/kernel memory split + * r8: Temp for to + len + */ stm --sp, r7,lr /* Create call frame */ mov r7, sp /* Set framepointer */ + PCB_SET_ONFAULT(copy_fault_addr) - lddpc r9, copyout_split /* Load max userspace address */ - cp.w r9, r11 /* Is to address within user space ? */ - brge copyout_fault /* No */ + add r8, r11, r10 /* to + len */ + lddpc r9, copy_split /* Load max userspace address */ + cp.w r9, r8 /* Is to address within user space ? */ + brge copy_fault /* No */ call bcopy /* bcopy does all the work */ + + PCB_CLEAR_ONFAULT() mov r12, 0 /* Return 0 */ ldm sp++, r7,pc /* Restore framepoiner and return */ - -copyout_fault: - mov r12, EFAULT - ldm sp++, r7,pc /* Restore framepoiner and return */ - -copyout_split: - .long 0x80000000 /* Max userspace address */ END(copyout) - - - /** * Copy a null terminated string from the kernel address space into * the user address space. @@ -228,19 +229,48 @@ 4: retal r9 /* Return r9, is 0 or ENAMETOOLONG */ END(copystr) +/** + * Onfault for copy functions + */ +copy_fault: + breakpoint + PCB_CLEAR_ONFAULT() + mov r12, EFAULT /* Return EFAULT */ + ldm sp++, r7,pc /* Restore framepointer and return */ +copy_fault_addr: + .long copy_fault -/* - * Fetch (load) a 32-bit word, a 16-bit word, or an 8-bit byte from user - * memory. All these functions are MPSAFE. +copy_split: + .long VM_MAXUSER_ADDRESS + +/** + * Fetch (load) a 8-bit byte from user memory + * r12: const void *base */ ENTRY(fubyte) + PCB_SET_ONFAULT(fusu_fault_addr) + lddpc r11, fusubyte_split + cp.w r12, r11 + brgt fusu_fault + ld.ub r12, r12 + PCB_CLEAR_ONFAULT() retal r12 END(fubyte) +/** + * Fetch (load) a 32-bit word from user memory + * r12: const void *base + */ ENTRY(fuword) ENTRY(fuword32) + PCB_SET_ONFAULT(fusu_fault_addr) + lddpc r11, fusuword32_split + cp.w r12, r11 + brgt fusu_fault + ld.w r12, r12 + PCB_CLEAR_ONFAULT() retal r12 END(fuword32) @@ -249,17 +279,35 @@ END(fuword64) /* - * Store a 32-bit word, a 16-bit word, or an 8-bit byte to user memory. - * All these functions are MPSAFE. + * Store a 8-bit byte to user memory. + * r12: void *base + * r11: int byte */ ENTRY(subyte) + PCB_SET_ONFAULT(fusu_fault_addr) + lddpc r10, fusubyte_split + cp.w r12, r10 + brgt fusu_fault + st.b r12, r11 + PCB_CLEAR_ONFAULT() retal sp END(subyte) +/* + * Store a 32-bit word to user memory. + * r12: void *base + * r11: int word + */ ENTRY(suword) ENTRY(suword32) + PCB_SET_ONFAULT(fusu_fault_addr) + lddpc r10, fusuword32_split + cp.w r12, r10 + brgt fusu_fault + st.w r12, r11 + PCB_CLEAR_ONFAULT() retal sp END(suword) @@ -280,7 +328,6 @@ breakpoint END(suswintr) - /* * casuword. Compare and set user word. Returns -1 or the current value. */ @@ -289,7 +336,24 @@ breakpoint END(casuword) +/** + * Fault hander for all su/fu/casu functions + */ +fusu_fault: + breakpoint + PCB_CLEAR_ONFAULT() + retal -1 +fusu_fault_addr: + .long fusu_fault +/* + * For testing if address is within userspace + */ +fusubyte_split: + .long VM_MAXUSER_ADDRESS - 1 +fusuword32_split: + .long VM_MAXUSER_ADDRESS - 4 + /** * Set jump buffer * r12: Pointer to jump buffer @@ -326,7 +390,7 @@ bfins r11, r12, 0, 8 /* Insert address into mfsr instruction */ st.w r10, r11 /* Store new */ - cache r10, 0x0C /* Clean DCache + cache r10, 0x0C /* Clean DCache */ sync 0 /* Flush write buffer */ cache r10, 0x01 /* Invalidate ICache */ mov pc, r10 /* Unpredictable jump, flushing the pipeline */ ==== //depot/projects/avr32/src/sys/avr32/avr32/switch.S#15 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include "opt_global.h" - +#include #include #include #include @@ -171,7 +171,9 @@ .text .global _C_LABEL(sigcode) _C_LABEL(sigcode): - breakpoint + mov r12, sp + SCALL(sigreturn) + SCALL(exit) _C_LABEL(esigcode): .data ==== //depot/projects/avr32/src/sys/avr32/avr32/trap.c#13 (text+ko) ==== @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -243,7 +244,7 @@ printf("Sending signal %d (%d) to process %d (trap: %d (%s), addr: 0x%x, pc: 0x%x, lr: 0x%x)\n", signo, ucode, p->p_pid, type, trap_name(type), addr, frame->regs.pc, frame->regs.lr); - trap_breakpoint(type, frame); +// trap_breakpoint(type, frame); ksiginfo_init_trap(&ksi); ksi.ksi_signo = signo; ksi.ksi_code = ucode; @@ -373,6 +374,11 @@ } if (!TRAPF_USERMODE(frame)) { + if (td->td_intr_nesting_level == 0 && + PCPU_GET(curpcb)->pcb_onfault != NULL) { + frame->regs.pc = (register_t)PCPU_GET(curpcb)->pcb_onfault; + return (KERN_SUCCESS); + } trap_fatal(type, frame); return (SIGSEGV); } ==== //depot/projects/avr32/src/sys/avr32/include/asm.h#8 (text+ko) ==== @@ -170,5 +170,16 @@ #define PIC_GOT(x) x #endif +#define PCB_SET_ONFAULT(addr) \ + lddpc r8, addr ;\ + lddpc r9, curpcb ;\ + ld.w r9, r9 ;\ + st.w r9[PCB_ONFAULT], r8 + +#define PCB_CLEAR_ONFAULT() \ + mov r8, 0 ;\ + lddpc r9, curpcb ;\ + ld.w r9, r9 ;\ + st.w r9[PCB_ONFAULT], r8 #endif /* !_MACHINE_ASM_H_ */ ==== //depot/projects/avr32/src/sys/avr32/include/pcb.h#6 (text+ko) ==== @@ -46,6 +46,8 @@ register_t r2; register_t r1; register_t r0; + + caddr_t pcb_onfault; /* On fault handler */ }; #ifdef _KERNEL From dforsyth at FreeBSD.org Mon Jul 6 06:37:17 2009 From: dforsyth at FreeBSD.org (David Forsythe) Date: Mon Jul 6 06:37:24 2009 Subject: PERFORCE change 165666 for review Message-ID: <200907060637.n666bF7k003102@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165666 Change 165666 by dforsyth@squirrel on 2009/07/06 06:36:57 Started reorganizing things and simplifying API. This wont compile. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#29 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#27 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#7 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#22 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#18 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#8 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#20 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#11 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#19 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/pkg_info.h#6 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#29 (text+ko) ==== @@ -25,12 +25,14 @@ char *mtree_dirs; char *required_by; - struct pkg_plist plist; + struct pkg_plist *plist; short dirty; /* Add an owner field? */ }; +/* Maybe I should add a pkg_init routine? */ + /* Create a new pkg. */ struct pkg * @@ -39,30 +41,227 @@ struct pkg *p; p = calloc(1, sizeof(*p)); + + /* Because I changed plist into a pointer, I need alloc it somewhere + * for now. Do it in here, but remember to get this out of here and + * add it to the parse check in the getters. */ + + p->plist = pkg_plist_new(); + if (p == NULL || p->plist == NULL) { + free(p); + free(p->plist); + return (NULL); + } + + p->ident = NULL; + p->comment = NULL; + p->contents = NULL; + p->description = NULL; + p->display = NULL; + p->mtree_dirs = NULL; + p->required_by = NULL; + p->plist = NULL; + p->dirty = 0; + + return (p); +} + +/* Clear and free an allocated pkg. */ + +void +pkg_delete(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + pkg_reset(p); + free(p->plist); + free(p); +} + +/* Reset a package, but do not free it. */ + +void +pkg_reset(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + free(p->ident); + free(p->comment); + free(p->contents); + free(p->description); + free(p->display); + free(p->mtree_dirs); + free(p->required_by); + p->ident = NULL; + p->comment = NULL; + p->contents = NULL; + p->description = NULL; + p->display = NULL; + p->mtree_dirs = NULL; + p->required_by = NULL; + p->dirty = 0; + /* Until plist allocation is done properly, we can't free this in + * here. */ + pkg_plist_reset(p->plist); +} + +/* Retrieve pkg identity. In hierdb, this is the directory containing the + * plist. This is a client set identifier, so conflict and dependendency + * checks should not rely on it. */ + +const char * +pkg_ident(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (p->ident); +} + +/* Retrieve pkg name. @name in plist. Conflict and dependency checks + * should rely on this string rather than ident. */ + +const char * +pkg_name(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (NULL); + + return (pkg_plist_name(p->plist)); +} + +/* Retrieve pkg cwd. @cwd in plist. All file paths are relative to this + * directory. */ + +const char * +pkg_cwd(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (p); + if (pkg_parse_plist(p) != OK) + return (NULL); + + return (pkg_plist_cwd(p->plist)); } -/* For now, copy all text into the package. Yes, it's storing information - * twice, but until I'm sure about what I'm going to do with all of the - * information, pkgs can have their own copies of the data. */ +/* Retrieve pkg origin. @origin in plist. The directory of the port that + * this pkg was create from. */ + +const char * +pkg_origin(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_parse_plist(p) != OK) + return (NULL); + + return (pkg_plist_origin(p->plist)); +} /* Set the identity for this package (does not have to be the same as the * name from plist, but it generally is. This is the name used for the * directory in a hierdb. */ - -/* TODO: All of these assignments need mem checks. */ int pkg_set_ident(struct pkg *p, const char *ident) { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (ident == NULL) + arg_rage_quit(__func__, "Not a valid identifier.", + RAGE_AT_CLIENT); free(p->ident); - p->ident = (ident != NULL) ? strdup(ident) : NULL; + p->ident = strdup(ident); + if (p->ident == NULL) + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + return (PKG_OK); +} + +/* Set the name for this package. @name in plist. */ + +int +pkg_set_name(struct pkg *p, const char *name) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (name == NULL) + arg_rage_quit(__func__, "Not a valid name.", RAGE_AT_CLIENT); + + return (pkg_plist_set_name(p->plist, name)); +} + +/* Set the cwd for this package. @cwd in plist. */ + +int +pkg_set_cwd(struct pkg *p, const char *cwd) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (cwd == NULL) + arg_rage_quit(__func__, "Not a valid cwd.", RAGE_AT_CLIENT); + + return (pkg_plist_set_cwd(p->plist, cwd)); +} + +/* Set the origin for this package. @origin in plist. */ + +int +pkg_set_origin(struct pkg *p, const char *origin) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + if (origin == NULL) + arg_rage_quit(__func__, "Not a valid origin.", RAGE_AT_CLIENT); + + return (pkg_plist_set_origin(p->plist, origin)); +} + +/* Maybe I should do these list retrievals in a fashion similar to + * scandir? */ + +/* Retrieve a list of file in this package. Return a list of strings + * terminated by NULL. */ + +const char ** +pkg_files(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (pkg_plist_files(p->plist)); +} + +/* Retrieve a list of dependencies for this package (by name). Return a + * list of strings terminated by NULL. */ + +const char ** +pkg_depends(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (pkg_plist_depends(p->plist)); +} + +/* Retrieve a list of conflicts for this package (by name). Return a list + * of strings terminated by NULL. */ + +const char ** +pkg_conflicts(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (OK); + return (pkg_plist_conflicts(p->plist)); } /* Set the short comment for this package */ @@ -159,28 +358,19 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_plist_parsed(&p->plist)) { + + if (pkg_plist_parsed(p->plist)) { /* For now, just jump ship if the package already has a plist. */ return (OK); } - pkg_plist_reset(&p->plist); - status = pkg_plist_parse_contents_from_text(&p->plist, p->contents); - + pkg_plist_reset(p->plist); + status = pkg_plist_parse_contents_from_text(p->plist, p->contents); return (status); } /* ident and name are different, even though they might be the same. */ -char * -pkg_ident(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (p->ident); -} - char * pkg_comment(struct pkg *p) { @@ -191,39 +381,8 @@ } /* Functions to access information stored in the pkg_plist. */ -char * -pkg_name(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (NULL); - - return (pkg_plist_name(&p->plist)); -} -char * -pkg_cwd(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (NULL); - return (pkg_plist_cwd(&p->plist)); -} -char * -pkg_origin(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (NULL); - return (pkg_plist_origin(&p->plist)); -} char * pkg_mtree_file(struct pkg *p) @@ -233,7 +392,7 @@ if (pkg_parse_plist(p) != OK) return (NULL); - return (pkg_plist_mtree_file(&p->plist)); + return (pkg_plist_mtree_file(p->plist)); } /* Other properties. */ @@ -247,7 +406,7 @@ if (pkg_parse_plist(p) != OK) return (PKG_PARSE_NOT_OK); - return (pkg_plist_extract_in_place(&p->plist)); + return (pkg_plist_extract_in_place(p->plist)); } int @@ -259,7 +418,7 @@ if (pkg_parse_plist(p) != OK) return (PKG_PARSE_NOT_OK); - return (pkg_plist_preserve(&p->plist)); + return (pkg_plist_preserve(p->plist)); } int @@ -271,7 +430,7 @@ if (pkg_parse_plist(p) != OK) return (PKG_PARSE_NOT_OK); - return (pkg_plist_complete(&p->plist)); + return (pkg_plist_complete(p->plist)); } /* These need to be renamed. */ @@ -282,7 +441,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - pkg_plist_pkg_file_list_reset(&p->plist); + pkg_plist_pkg_file_list_reset(p->plist); } struct pkg_file * @@ -291,7 +450,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_pkg_file_list_next(&p->plist)); + return (pkg_plist_pkg_file_list_next(p->plist)); } void @@ -300,7 +459,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_pkg_dep_list_reset(&p->plist)); + return (pkg_plist_pkg_dep_list_reset(p->plist)); } struct pkg_dep * @@ -309,7 +468,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_pkg_dep_list_next(&p->plist)); + return (pkg_plist_pkg_dep_list_next(p->plist)); } void @@ -318,7 +477,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_pkg_cfl_list_reset(&p->plist)); + return (pkg_plist_pkg_cfl_list_reset(p->plist)); } struct pkg_cfl * @@ -326,42 +485,7 @@ { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_cfl_list_next(&p->plist)); -} - -void -pkg_reset(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - free(p->ident); - free(p->comment); - free(p->contents); - free(p->description); - free(p->display); - free(p->mtree_dirs); - free(p->required_by); - p->ident = NULL; - p->comment = NULL; - p->contents = NULL; - p->description = NULL; - p->display = NULL; - p->mtree_dirs = NULL; - p->required_by = NULL; - pkg_plist_reset(&p->plist); + return (pkg_plist_pkg_cfl_list_next(p->plist)); } -/* TODO: Make an note in the manual for libpkg that pkg_delete should not be - * called on pkgs that are not explicitly created by the client. */ - -void -pkg_delete(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - pkg_reset(p); - free(p); -} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#27 (text+ko) ==== @@ -50,11 +50,14 @@ #define PKG_NO_MTREE_DIRS 0x02000000 #define PKG_NO_REQUIRED_BY 0x04000000 #define PKG_CORRUPT 0x08000000 +#define PKG_MEMORY_ERR 0x00100000 /* Parse errors. */ #define PARSE_OK 0x00000000 #define PARSE_FAIL 0x10000000 +#define BAD_OR_UNKNOWN_VALUE "???" + /* TODO: All these explicit functions are great, but the client doesn't * need to make a "new" pkg_cfl, when all they really have to insert are a * sting and an integer (they dont even have to set the int). So write @@ -215,4 +218,80 @@ void pkgdb_db_delete(struct pkgdb *db); +/* Util (will probably dissapear). */ + +void pkg_dump(struct pkg *p, FILE *stream); + + +#if 0 + +/* pkg */ + +struct pkg *pkg_new(); +void pkg_delete(struct pkg *p); +int pkg_reset(struct pkg *p); + +const char *pkg_ident(struct pkg *p); +const char *pkg_name(struct pkg *p); +const char *pkg_cwd(struct pkg *p); +const char *pkg_origin(struct pkg *p); + +int pkg_set_ident(struct pkg *p, const char *ident); +int pkg_set_name(struct pkg *p, const char *name); +int pkg_set_cwd(struct pkg *p, const char *cwd); +int pkg_set_origin(struct pkg *p, const char *origin); + +const char **pkg_files(struct pkg *p); +const char **pkg_depends(struct pkg *p); +const char **pkg_conflicts(struct pkg *p); + +int pkg_add_file(struct pkg *p, const char *path, const char *md5, + const char *owner, const char *group, const char *mode); +int pkg_remove_file(struct pkg *p, const char *path); +const char *pkg_file_md5(struct pkg *p, const char *path); +const char *pkg_file_owner(struct pkg *p, const char *path); +const char *pkg_file_group(struct pkg *p, const char *path); +const char *pkg_file_mode(struct pkg *p, const char *mode); + +int pkg_add_depend(struct pkg *p, const char *name, const char *origin, + int version); +int pkg_remove_depend(struct pkg *p, const char *name); +const char *pkg_depend_origin(struct pkg *p, const char *name); +int pkg_depend_version(struct pkg *p, const char *name); + +int pkg_add_conflict(struct pkg *p, const char *name, int version); +int pkg_remove_conflict(struct pkg *p, const char *name); +const char *pkg_conflict_version(struct pkg *p, const char *name); + +/* TODO: Add installation/deinstallation routine modification... routines. */ + +/* pkgdb */ + +struct pkgdb *pkgdb_new(); +void pkgdb_delete(struct pkgdb *db); + +int pkgdb_open(struct pkgdb *db, const char *path, int db_type); +/* With the new design, is "init" even needed? */ +int pkgdb_init(struct pkgdb *db); + +/* Return a list of packages by _ident_. */ +const char *pkgdb_all_pkgs(struct pkgdb *db); +int pkgdb_select_pkg(struct pkgdb *db, struct pkg *p, const char *pkgident); + +int pkgdb_insert_pkg(struct pkgdb *db, struct pkg *p); +int pkgdb_delete_pkg(struct pkgdb *db, const char *pkgident); +int pkgdb_update_pkg(struct pkgdb *db, const char *pkgident, struct pkg *p); + +/* pkgrepo */ + +struct pkgrepo *pkgrepo_new(); +void pkgrepo_delete(struct pkgrepo *pr); + +/* pkgarcv */ + +struct pkgarcv *pkgarcv_new(); +void pkgarcv_delete(struct pkgarcv *pa; + +#endif + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#7 (text+ko) ==== @@ -12,7 +12,7 @@ pkg_file_new() { struct pkg_file *pf; - + pf = calloc(1, sizeof(*pf)); return (pf); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#22 (text+ko) ==== @@ -76,6 +76,15 @@ /* TODO: Write this. */ + free(pl->pkg_file_list); + pl->pkg_file_cnt = 0; + + free(pl->pkg_dep_list); + pl->pkg_dep_cnt = 0; + + free(pl->pkg_cfl_list); + pl->pkg_cfl_cnt = 0; + pl->extract_in_place = 0; pl->preserve = 0; pl->complete = 0; @@ -119,7 +128,7 @@ if (textp == NULL) return (MEMORY_ERR); - pl->text = textp; + pl->text = textp; /* TODO: Use fgets(), and have the different lists have their own copy * of information so that packages can be freely manipulated without @@ -574,7 +583,7 @@ pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl) { struct pkg_cfl *pc; - + if (pl == NULL) arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#18 (text+ko) ==== @@ -77,7 +77,7 @@ char *mtree_file; short extract_in_place; short preserve; - short complete; + short complete; /* fat. */ char *text; /* The entire plist */ @@ -88,10 +88,20 @@ /* Use these lists here so that appending to our list doesnt need a * bunch of realloc procedures. This will be convenient for clients * that want to build plists on the fly, modify plists, etc. */ + /* No, screw them I hate them and hope they burn. */ TAILQ_HEAD(pkg_file_head, pkg_file) pkg_file_head; /* pkg_file list. */ TAILQ_HEAD(pkg_dep_head, pkg_dep) pkg_dep_head; /* pkg_dep list. */ TAILQ_HEAD(pkg_cfl_head, pkg_cfl) pkg_cfl_head; /* pkg_cfl list. */ + + unsigned int pkg_file_cnt; + struct pkg_file *pkg_file_list; + + unsigned int pkg_dep_cnt; + struct pkg_dep *pkg_dep_list; + + unsigned int pkg_cfl_cnt; + struct pkg_cfl *pkg_cfl_list; short parsed; }; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#4 (text+ko) ==== @@ -14,8 +14,14 @@ #include "pkg_sub.h" int -pkg_sub_cmp(struct pkg_sub *ps1, struct pkg_sub *ps2) +pkg_sub_cmp(const void *a, const void *b) { + const struct pkg_sub *ps1; + const struct pkg_sub *ps2; + + ps1 = a; + ps2 = b; + return (strcmp(ps1->ident, ps2->ident)); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#4 (text+ko) ==== @@ -43,7 +43,7 @@ struct pkg_sub; -int pkg_sub_cmp(struct pkg_sub *ps1, struct pkg_sub *ps2); +int pkg_sub_cmp(const void *a, const void *b); int pkg_sub_mark_read(struct pkg_sub *ps); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#8 (text+ko) ==== @@ -6,6 +6,7 @@ #include #include "pkg_util.h" +#include "pkg.h" int subdir_sel(struct dirent *ent) @@ -60,3 +61,86 @@ fprintf(stderr, "Bad argument in %s: %s\n", function, message); exit(ret); } + +void +pkg_dump(struct pkg *p, FILE *stream) +{ + struct pkg_dep *pd; + struct pkg_cfl *pc; + struct pkg_file *pf; + + const char *ident; + const char *comment; + const char *name; + const char *cwd; + const char *origin; + const char *mtree_file; + const char *path; + const char *md5; + const char *owner; + const char *group; + const char *mode; + + ident = pkg_ident(p); + comment = pkg_comment(p); + + name = pkg_name(p); + cwd = pkg_cwd(p); + origin = pkg_origin(p); + mtree_file = pkg_mtree_file(p); + + + fprintf(stream, "IDENT: %s\n\n", + (ident != NULL ? ident : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t%s\n\n", + (comment != NULL ? comment : BAD_OR_UNKNOWN_VALUE)); + + fprintf(stream, "\tname: %s\n", + (name != NULL ? name : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\tcwd: %s\n", + (cwd != NULL ? name : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\torigin: %s\n", + (origin != NULL ? origin : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\tmtree file: %s\n", + (mtree_file != NULL ? mtree_file : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\textract in place: %s\n", + (pkg_extract_in_place(p) ? "YES" : "NO")); + fprintf(stream, "\tpreserve: %s\n", + (pkg_preserve(p) ? "YES" : "NO")); + fprintf(stream, "\tcomplete: %s\n", + (pkg_complete(p) ? "YES" : "NO")); + fprintf(stream, "\tfiles:\n"); + pkg_pkg_file_list_init(p); + while ((pf = pkg_pkg_file_list_next(p)) != NULL) { + path = pkg_file_path(pf); + md5 = pkg_file_md5(pf); + owner = pkg_file_owner(pf); + group = pkg_file_group(pf); + mode = pkg_file_mode(pf); + fprintf(stream, "\t\t%s\n", + (path != NULL ? path : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t\t\tMD5: %s\n", + (md5 != NULL ? md5 : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t\t\tOWNER: %s\n", + (owner != NULL ? owner : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t\t\tGROUP: %s\n", + (group != NULL ? group : BAD_OR_UNKNOWN_VALUE)); + fprintf(stream, "\t\t\tMODE: %s\n", + (mode != NULL ? mode : BAD_OR_UNKNOWN_VALUE)); + } + + fprintf(stream, "\tdepends:\n"); + pkg_pkg_dep_list_init(p); + while ((pd = pkg_pkg_dep_list_next(p)) != NULL) { + name = pkg_dep_name(pd); + origin = pkg_dep_origin(pd); + fprintf(stream, "\t\t%s : %s\n", name, origin); + } + + fprintf(stream, "\tconflicts:\n"); + pkg_pkg_cfl_list_init(p); + while ((pc = pkg_pkg_cfl_list_next(p)) != NULL) { + name = pkg_cfl_name(pc); + fprintf(stream, "\t\t%s\n", name); + } +} ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#20 (text+ko) ==== @@ -25,6 +25,7 @@ case (HIER_DB): db->pkgdb_db_open = pkgdb_hierdb_db_open; db->pkgdb_db_init = pkgdb_hierdb_db_init; + db->pkgdb_db_read_pkg_sub = pkgdb_hierdb_read_pkg_sub; /* db->pkgdb_db_close = pkgdb_hierdb_db_close; */ break; default: @@ -100,13 +101,15 @@ * can have multiple copies of a package which do not share a state. * Is this a terrible idea? Stay tuned to find out. */ + status = PKG_OK; pkg_reset(p); ps = pkgdb_pkg_sub_list_next(db); if (ps == NULL) { return (DB_NO_PKG); /* Already at the end. */ } - pkgdb_hierdb_read_pkg_sub(db, ps); - status = pkgdb_generate_pkg_from_pkg_sub(db, p, ps); + + status |= db->pkgdb_db_read_pkg_sub(db, ps); + status |= pkgdb_generate_pkg_from_pkg_sub(db, p, ps); return (status); } @@ -131,8 +134,8 @@ ps = pkgdb_pkg_sub_get(db, ident); if (ps == NULL) return (DB_NO_PKG); - status = pkg_sub_read_files(ps); - if (status == NOT_OK) { + status |= pkg_sub_read_files(ps); + if (status & NOT_OK) { /* might have to free some things in here. */ return (NOT_OK); } @@ -145,8 +148,10 @@ { struct pkg_sub *ps; - if (db || ident) - ;; + if (db == NULL) + arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_LIBPKG); + if (ident == NULL) + arg_rage_quit(__func__, "Must pass identifier.", RAGE_AT_LIBPKG); ps = (struct pkg_sub *)bsearch(ident, db->ps_list, db->ps_count, sizeof(*ps), pkg_sub_cmp); @@ -177,7 +182,7 @@ status = PKG_OK; status |= pkg_set_ident(p, pkg_sub_ident(ps)); status |= pkg_set_comment(p, pkg_sub_comment(ps)); - status |= pkg_set_contents(p, pkg_sub_comment(ps)); + status |= pkg_set_contents(p, pkg_sub_contents(ps)); status |= pkg_set_description(p, pkg_sub_desc(ps)); status |= pkg_set_display(p, pkg_sub_display(ps)); status |= pkg_set_mtree_dirs(p, pkg_sub_mtree_dirs(ps)); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#11 (text+ko) ==== @@ -112,14 +112,7 @@ arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); status = OK; - // status |= pkg_sub_set_ident(ps, ident); - /* Directory is verified here. */ - // status |= pkgdb_sub_set_assign_db(db, ps); - if ((MEMORY_ERR & status) || (BAD_IDENT & status)) - return (status); - - /* Hope you have your reading glasses on... */ status = OK; status |= pkg_sub_read_file_to_text(ps, COMMENT_FILE_ID) & (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_COMMENT : OK; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#5 (text+ko) ==== @@ -19,7 +19,7 @@ int (*pkgdb_db_open) (struct pkgdb *db, const char *db_root); int (*pkgdb_db_init) (struct pkgdb *db); - int (*pkgdb_db_read_sub) (struct pkgdb *db, struct pkg_sub *ps); + int (*pkgdb_db_read_pkg_sub) (struct pkgdb *db, struct pkg_sub *ps); int (*pkgdb_db_close) (struct pkgdb *db); int (*pkgdb_db_sync) (struct pkgdb *db); }; ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#19 (text+ko) ==== @@ -113,25 +113,14 @@ print_pkg_information(p); } } + pkg_delete(p); } void print_pkg_information(struct pkg *p) { - struct pkg_file *pf; - struct pkg_dep *pd; - struct pkg_cfl *pc; const char *ident; const char *comment; - const char *name; - const char *cwd; - const char *origin; - const char *mtree_file; - const char *path; - const char *md5; - const char *owner; - const char *group; - const char *mode; /* Just print the basic PKGNAME COMMENT scheme right now. Other * information isn't collected by the library yet. */ @@ -143,60 +132,7 @@ (ident != NULL ? ident : BAD_OR_UNKNOWN_VALUE), (comment != NULL ? comment : BAD_OR_UNKNOWN_VALUE)); } else { - /* Testing plist interaction. */ - name = pkg_name(p); - cwd = pkg_cwd(p); - origin = pkg_origin(p); - mtree_file = pkg_mtree_file(p); - - printf("%s:\n", - (name != NULL ? name : BAD_OR_UNKNOWN_VALUE)); - printf("\tcwd: %s\n", - (cwd != NULL ? name : BAD_OR_UNKNOWN_VALUE)); - printf("\torigin: %s\n", - (origin != NULL ? origin : BAD_OR_UNKNOWN_VALUE)); - printf("\tmtree file: %s\n", - (mtree_file != NULL ? mtree_file : BAD_OR_UNKNOWN_VALUE)); - printf("\textract in place: %s\n", - (pkg_extract_in_place(p) ? "YES" : "NO")); - printf("\tpreserve: %s\n", - (pkg_preserve(p) ? "YES" : "NO")); - printf("\tcomplete: %s\n", - (pkg_complete(p) ? "YES" : "NO")); - printf("\tfiles:\n"); - pkg_pkg_file_list_init(p); - while ((pf = pkg_pkg_file_list_next(p)) != NULL) { - path = pkg_file_path(pf); - md5 = pkg_file_md5(pf); - owner = pkg_file_owner(pf); - group = pkg_file_group(pf); - mode = pkg_file_mode(pf); - printf("\t\t%s\n", - (path != NULL ? path : BAD_OR_UNKNOWN_VALUE)); - printf("\t\t\tMD5: %s\n", - (md5 != NULL ? md5 : BAD_OR_UNKNOWN_VALUE)); - printf("\t\t\tOWNER: %s\n", - (owner != NULL ? owner : BAD_OR_UNKNOWN_VALUE)); - printf("\t\t\tGROUP: %s\n", - (group != NULL ? group : BAD_OR_UNKNOWN_VALUE)); - printf("\t\t\tMODE: %s\n", - (mode != NULL ? mode : BAD_OR_UNKNOWN_VALUE)); - } - - printf("\tdepends:\n"); - pkg_pkg_dep_list_init(p); - while ((pd = pkg_pkg_dep_list_next(p)) != NULL) { - name = pkg_dep_name(pd); - origin = pkg_dep_origin(pd); - printf("\t\t%s : %s\n", name, origin); - } - - printf("\tconflicts:\n"); - pkg_pkg_cfl_list_init(p); - while ((pc = pkg_pkg_cfl_list_next(p)) != NULL) { - name = pkg_cfl_name(pc); - printf("\t\t%s\n", name); - } + pkg_dump(p, stdout); } } ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/pkg_info.h#6 (text+ko) ==== @@ -5,7 +5,6 @@ /* A goal should be to eliminate this directory, and instead store options * seamlessly in plists. */ #define PORTS_DBDIR_DEFAULT "/var/db/ports" -#define BAD_OR_UNKNOWN_VALUE "???" void perform_on_db(struct pkgdb *db); void print_pkg_information(struct pkg *p); From fabio at FreeBSD.org Mon Jul 6 14:38:03 2009 From: fabio at FreeBSD.org (Fabio Checconi) Date: Mon Jul 6 14:38:09 2009 Subject: PERFORCE change 165689 for review Message-ID: <200907061438.n66Ec2I8067152@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165689 Change 165689 by fabio@fabio_granpasso on 2009/07/06 14:37:41 Snapshot of private repo: add seekiness and thinktime heuristics, improve async writeout accounting, update the bio classification code to use the hooks committed in HEAD (when configured). Affected files ... .. //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/g_sched.c#2 edit .. //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/gs_rr.c#2 edit .. //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/gs_scheduler.h#2 edit Differences ... ==== //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/g_sched.c#2 (text+ko) ==== @@ -114,6 +114,7 @@ #include "gs_scheduler.h" #include "g_sched.h" /* geom hooks */ +#define HAVE_BIO_CLASSIFIER /* * Size of the per-geom hash table storing traffic classes. * We may decide to change it at a later time, it has no ABI @@ -178,14 +179,6 @@ .gs_expire_secs = 10, }; -/* - * What kind of classifier we want to use ? - * (not supported yet) - */ -#define G_CLASS_PID 0 - -static const int g_sched_classifier = G_CLASS_PID; - SYSCTL_DECL(_kern_geom); SYSCTL_NODE(_kern_geom, OID_AUTO, sched, CTLFLAG_RW, 0, "GEOM_SCHED stuff"); @@ -321,31 +314,24 @@ * so we do not make assumptions on the return value which for * us is just an opaque identifier. */ -static inline struct thread * -g_sched_issuer(struct bio *bp) +#ifndef HAVE_BIO_CLASSIFIER +static inline u_long +g_sched_classify(struct bio *bp) { while (bp->bio_parent != NULL) bp = bp->bio_parent; - return (bp->bio_caller1); + return ((u_long)bp->bio_caller1); } - -/* - * Fetch the actual field used for classification, among the - * ones available in the credentials associated with the bio. - * Not much to do so far. - */ -static u_long -g_sched_classify(struct thread *tp) +#else +static inline u_long +g_sched_classify(struct bio *bp) { - switch (g_sched_classifier) { - case G_CLASS_PID: - default: - return (tp->td_tid); - } + return ((u_long)bp->bio_classifier1); } +#endif /* Return the hash chain for the given key. */ static inline struct g_hash * @@ -369,12 +355,10 @@ struct g_sched_class *gsc; struct g_gsched *gsp; struct g_hash *bucket; - struct thread *tp; u_long key; sc = gp->softc; - tp = g_sched_issuer(bp); - key = g_sched_classify(tp); + key = g_sched_classify(bp); bucket = g_sched_hash(sc, key); LIST_FOREACH(gsc, bucket, gsc_clist) { if (key == gsc->gsc_key) { @@ -389,7 +373,7 @@ if (!gsc) return (NULL); - if (gsp->gs_init_class(sc->sc_data, gsc->gsc_priv, tp)) { + if (gsp->gs_init_class(sc->sc_data, gsc->gsc_priv)) { free(gsc, M_GEOM_SCHED); return (NULL); } @@ -1258,6 +1242,7 @@ * code in g_ioreq_patch() for the details. */ +#ifndef HAVE_BIO_CLASSIFIER #if defined(__i386__) #define CODE_SIZE 29 #define STORE_SIZE 5 @@ -1374,6 +1359,47 @@ } } +static inline void +g_classifier_ini(void) +{ + + g_ioreq_patch(); +} + +static inline void +g_classifier_fini(void) +{ + + g_ioreq_restore(); +} +#else /* !HAVE_BIO_CLASSIFIER */ +static int +g_sched_tag(void *arg, struct bio *bp) +{ + + bp->bio_classifier1 = curthread; + return (1); +} + +static struct g_classifier_hook g_sched_classifier = { + .func = g_sched_tag, +}; + +static inline void +g_classifier_ini(void) +{ + + g_register_classifier(&g_sched_classifier); +} + +static inline void +g_classifier_fini(void) +{ + + g_unregister_classifier(&g_sched_classifier); +} +#endif + static void g_sched_init(struct g_class *mp) { @@ -1384,14 +1410,14 @@ mp, &g_sched_class); /* Patch g_io_request to store classification info in the bio. */ - g_ioreq_patch(); + g_classifier_ini(); } static void g_sched_fini(struct g_class *mp) { - g_ioreq_restore(); + g_classifier_fini(); G_SCHED_DEBUG(0, "Unloading..."); ==== //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/gs_rr.c#2 (text+ko) ==== @@ -65,6 +65,11 @@ G_QUEUE_IDLING /* Waiting for a new request. */ }; +/* possible queue flags */ +enum g_rr_flags { + G_FLAG_COMPLETED = 1, /* Completed a req. in the current budget. */ +}; + struct g_rr_softc; /* @@ -79,6 +84,7 @@ enum g_rr_state q_status; unsigned int q_service; /* service received so far */ int q_slice_end; /* actual slice end in ticks */ + enum g_rr_flags q_flags; /* queue flags */ struct bio_queue_head q_bioq; /* Scheduling parameters */ @@ -86,6 +92,13 @@ unsigned int q_slice_duration; /* slice size in ticks */ unsigned int q_wait_ticks; /* wait time for anticipation */ + /* Stats to drive the various heuristics. */ + struct g_savg q_thinktime; /* Thinktime average. */ + struct g_savg q_seekdist; /* Seek distance average. */ + + off_t q_lastoff; /* Last submitted req. offset. */ + int q_lastsub; /* Last submitted req. time. */ + /* Expiration deadline for an empty queue. */ int q_expire; @@ -289,7 +302,7 @@ } static int -g_rr_init_class(void *data, void *priv, struct thread *tp) +g_rr_init_class(void *data, void *priv) { struct g_rr_softc *sc = data; struct g_rr_queue *qp = priv; @@ -339,8 +352,33 @@ g_rr_queue_expired(struct g_rr_queue *qp) { - return (qp->q_service >= qp->q_budget || - ticks - qp->q_slice_end >= 0); + if (qp->q_service >= qp->q_budget) + return (1); + + if ((qp->q_flags & G_FLAG_COMPLETED) && + ticks - qp->q_slice_end >= 0) + return (1); + + return (0); +} + +static inline int +g_rr_should_anticipate(struct g_rr_queue *qp, struct bio *bp) +{ + int wait = get_bounded(&me.wait_ms, 2); + + if (!me.w_anticipate && (bp->bio_cmd & BIO_WRITE)) + return (0); + + if (g_savg_valid(&qp->q_thinktime) && + g_savg_read(&qp->q_thinktime) > wait) + return (0); + + if (g_savg_valid(&qp->q_seekdist) && + g_savg_read(&qp->q_seekdist) > 2048) + return (0); + + return (1); } /* @@ -389,9 +427,7 @@ TAILQ_REMOVE(&sc->sc_rr_tailq, qp, q_tailq); sc->sc_active = qp; qp->q_service = 0; - /* in case we want to make the slice adaptive */ - qp->q_slice_duration = get_bounded(&me.quantum_ms, 2); - qp->q_slice_end = ticks + qp->q_slice_duration; + qp->q_flags &= ~G_FLAG_COMPLETED; } bp = gs_bioq_takefirst(&qp->q_bioq); /* surely not NULL */ @@ -412,7 +448,7 @@ * on read or writes (e.g., anticipate only on reads). */ expired = g_rr_queue_expired(qp); /* are we expired ? */ - next = gs_bioq_first(&qp->q_bioq); /* do we have one more ? */ + next = gs_bioq_first(&qp->q_bioq); /* do we have one more ? */ if (expired) { sc->sc_active = NULL; /* Either requeue or release reference. */ @@ -423,7 +459,7 @@ } else if (next != NULL) { qp->q_status = G_QUEUE_READY; } else { - if (!force && (me.w_anticipate || bp->bio_cmd & BIO_READ)) { + if (!force && g_rr_should_anticipate(qp, bp)) { /* anticipate */ qp->q_status = G_QUEUE_BUSY; } else { @@ -439,6 +475,30 @@ return (bp); } +static inline void +g_rr_update_thinktime(struct g_rr_queue *qp) +{ + int delta = ticks - qp->q_lastsub, wait = get_bounded(&me.wait_ms, 2); + + qp->q_lastsub = ticks; + delta = (delta > 2 * wait) ? 2 * wait : delta; + g_savg_add_sample(&qp->q_thinktime, delta); +} + +static inline void +g_rr_update_seekdist(struct g_rr_queue *qp, struct bio *bp) +{ + off_t dist; + + if (qp->q_lastoff > bp->bio_offset) + dist = qp->q_lastoff - bp->bio_offset; + else + dist = bp->bio_offset - qp->q_lastoff; + + qp->q_lastoff = bp->bio_offset + bp->bio_length; + g_savg_add_sample(&qp->q_seekdist, qp->q_seekdist.gs_smpl ? dist : 0); +} + /* * Called when a real request for disk I/O arrives. * Locate the queue associated with the client. @@ -476,6 +536,9 @@ } } + g_rr_update_thinktime(qp); + g_rr_update_seekdist(qp, bp); + /* Inherit the reference returned by g_rr_queue_get(). */ bp->bio_caller1 = qp; gs_bioq_disksort(&qp->q_bioq, bp); @@ -559,6 +622,13 @@ qp = bp->bio_caller1; if (qp == sc->sc_active && qp->q_status == G_QUEUE_BUSY) { + if (!(qp->q_flags & G_FLAG_COMPLETED)) { + qp->q_flags |= G_FLAG_COMPLETED; + /* in case we want to make the slice adaptive */ + qp->q_slice_duration = get_bounded(&me.quantum_ms, 2); + qp->q_slice_end = ticks + qp->q_slice_duration; + } + /* The queue is trying anticipation, start the timer. */ qp->q_status = G_QUEUE_IDLING; /* may make this adaptive */ ==== //depot/projects/soc2009/fabio_gsched/geom_sched/sys/geom/sched/gs_scheduler.h#2 (text+ko) ==== @@ -90,7 +90,7 @@ typedef int gs_start_t (void *data, struct bio *bio); typedef void gs_done_t (void *data, struct bio *bio); typedef struct bio *gs_next_t (void *data, int force); -typedef int gs_init_class_t (void *data, void *priv, struct thread *tp); +typedef int gs_init_class_t (void *data, void *priv); typedef void gs_fini_class_t (void *data, void *priv); struct g_gsched { @@ -175,6 +175,40 @@ void g_sched_dispatch(struct g_geom *geom); /* + * Simple gathering of statistical data, used by schedulers to collect + * info on process history. Just keep an exponential average of the + * samples, with some extra bits of precision. + */ +struct g_savg { + uint64_t gs_avg; + unsigned int gs_smpl; +}; + +static inline void +g_savg_add_sample(struct g_savg *ss, uint64_t sample) +{ + + /* EMA with alpha = 0.125, fixed point, 3 bits of precision. */ + ss->gs_avg = sample + ss->gs_avg - (ss->gs_avg >> 3); + ss->gs_smpl = 1 + ss->gs_smpl - (ss->gs_smpl >> 3); +} + +static inline int +g_savg_valid(struct g_savg *ss) +{ + + /* We want at least 8 samples to deem an average as valid. */ + return (ss->gs_smpl > 7); +} + +static inline uint64_t +g_savg_read(struct g_savg *ss) +{ + + return (ss->gs_avg / ss->gs_smpl); +} + +/* * Declaration of a scheduler module. */ int g_gsched_modevent(module_t mod, int cmd, void *arg); From trasz at FreeBSD.org Mon Jul 6 16:41:20 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Mon Jul 6 16:41:26 2009 Subject: PERFORCE change 165707 for review Message-ID: <200907061641.n66GfIaC077945@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165707 Change 165707 by trasz@trasz_victim on 2009/07/06 16:40:29 Clean up maxprocesses accounting. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#7 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#7 (text+ko) ==== @@ -224,6 +224,10 @@ p1 = td->td_proc; + error = hrl_alloc_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); + if (error) + return (error); + /* * Here we don't create a new process, but we divorce * certain parts of a process from itself. @@ -234,6 +238,7 @@ PROC_LOCK(p1); if (thread_single(SINGLE_BOUNDARY)) { PROC_UNLOCK(p1); + hrl_free_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); return (ERESTART); } PROC_UNLOCK(p1); @@ -267,6 +272,8 @@ PROC_UNLOCK(p1); } *procp = NULL; + if (error) + hrl_free_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); return (error); } @@ -346,18 +353,14 @@ * XXXRW: Can we avoid privilege here if it's not needed? */ error = priv_check_cred(td->td_ucred, PRIV_PROC_LIMIT, 0); - if (error == 0) { + if (error == 0) ok = chgproccnt(td->td_ucred->cr_ruidinfo, 1, 0); - error = hrl_alloc_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); - } else { + else { PROC_LOCK(p1); ok = chgproccnt(td->td_ucred->cr_ruidinfo, 1, lim_cur(p1, RLIMIT_NPROC)); - error = hrl_alloc_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); PROC_UNLOCK(p1); } - if (ok != !error) - printf("fork1: ok = %d, error = %d\n", ok, error); if (!ok) { error = EAGAIN; goto fail; @@ -584,12 +587,6 @@ PROC_UNLOCK(p1); PROC_UNLOCK(p2); - /* - * Initialize HRL accounting information. - * XXX: Handle failure? - */ - hrl_proc_fork(p1, p2); - /* Bump references to the text vnode (for procfs) */ if (p2->p_textvp) vref(p2->p_textvp); @@ -808,6 +805,7 @@ vmspace_free(vm2); uma_zfree(proc_zone, newproc); pause("fork", hz / 2); + hrl_free_proc(p1, HRL_RESOURCE_MAXPROCESSES, 1); return (error); } From anchie at FreeBSD.org Mon Jul 6 20:41:43 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Mon Jul 6 20:41:49 2009 Subject: PERFORCE change 165719 for review Message-ID: <200907062041.n66Kfg8n009753@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165719 Change 165719 by anchie@anchie_malimis on 2009/07/06 20:41:17 Processing of received routing message containing NS/NA/Redirect. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#14 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#6 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#14 (text+ko) ==== @@ -84,7 +84,7 @@ static DEFINE_LIST_HEAD(ifaces); /* Data packet meta data */ -struct input_hook_packet_info { +struct snd_packet_info { struct snd_ifinfo *ifinfo; int direction; }; @@ -135,22 +135,7 @@ return (0); } -#if 0 void -snd_dispatch_fds(fd_set *fds) -{ - struct snd_ifinfo *p; - - list_for_each_entry(p, &ifaces, list) { - if (FD_ISSET(p->icmps, fds)) { - /* Reuse the code from - snd_recv_pkt() and snd_icmp_sock_read() - */ - } -} -#endif - -void snd_put_buf(struct sbuff *b) { sbuff_free(b); @@ -196,29 +181,30 @@ { struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; - struct sbuff *b; + struct sbuff *b, *b1; + struct snd_packet_info *pi; int n, ifidx = -1; - + if ((b = snd_get_buf()) == NULL) { return; } - applog(LOG_ERR, "sndsock prije read = %d", sndsock); - n = read(sndsock, b, sizeof(b)); + pi = sbuff_data(b); + + n = recv(sndsock, b->data, b->rem, 0); if (n < 0) { applog(LOG_ERR, "%s: read: %s", __FUNCTION__, strerror(errno)); goto done; } else { - applog(LOG_ERR, "%s: %d bytes read on routing socket.", n, __FUNCTION__); + applog(LOG_ERR, "%s: %d bytes read on routing socket.", __FUNCTION__, n); } + b->len = n; - rtm = (struct rt_msghdr *) b; + rtm = sbuff_data(b); if (rtm->rtm_version != RTM_VERSION) { applog(LOG_ERR, "%s: Unsupported routing message version.", __FUNCTION__); goto done; - } else { - applog(LOG_ERR, "%s RTM_VERSION", __FUNCTION__); } switch (rtm->rtm_type) { @@ -226,17 +212,23 @@ /* XXX: Do we need this? */ break; case RTM_SND: - ifan = (struct if_announcemsghdr *) rtm; + ifan = sbuff_data(b); switch (ifan->ifan_what) { case RTM_SND_IN: + applog(LOG_ERR, "RTM_SND_IN"); /* n = RTM hdr + m as passed to nd6_ns_input() */ b = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ snd_recv_pkt(b, ifidx, SND_IN); break; case RTM_SND_OUT: - /* n = RTM hdr + ip6_hdr + icmp6len == ND message (as sent to if_output()) */ - b = (struct rt_msghdr *) &ifan[1]; + applog(LOG_ERR, "RTM_SND_OUT"); + /* n = RTM hdr + ip6_hdr + icmp6len */ + if (sbuff_pull(b, sizeof (struct rt_msghdr)) == NULL) { + DBG(&dbg_snd, "invalid pkt (not enough for rtm hedaer"); + goto done; + } + /* ToDo: Extract ifidx. */ snd_recv_pkt(b, ifidx, SND_OUT); break; ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#6 (text+ko) ==== @@ -654,7 +654,9 @@ } void -/* snd_recv_pkt(struct sbuff *b, int ifidx, int in, void *pkt) */ +#if 0 +snd_recv_pkt(struct sbuff *b, int ifidx, int in, void *pkt) +#endif snd_recv_pkt(struct sbuff *b, int ifidx, int in) { int tlen, drop = 0; @@ -664,19 +666,21 @@ enum snd_pkt_decision r; void *start; struct ip6_hdr *iph; -/* + +#if 0 if (!snd_iface_ok_(ifidx)) { return; } -*/ -/* +#endif +#if 0 if (!in) if (sbuff_pull(b, sizeof (struct ether_header)) == NULL) { DBG(&dbg_snd, "invalid pkt (not enough for ether header"); goto drop; } } -*/ +#endif + start = sbuff_data(b); DBG(&dbg, "%s", in ? "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" : @@ -699,6 +703,7 @@ DBG(&dbg_snd, "pkt too small (ip6 hdr)"); goto drop; } + pi->icmp = sbuff_data(b); if (b->len < sizeof (*(pi->icmp))) { DBG(&dbg_snd, "pkt too small (icmp6 hdr)"); @@ -796,6 +801,8 @@ return (-1); } #endif + applog(LOG_ERR, "snd_proto_init"); + if (snd_proto_nonce_init() < 0 || snd_proto_timestamp_init() < 0) { return (-1); From dforsyth at FreeBSD.org Mon Jul 6 23:20:39 2009 From: dforsyth at FreeBSD.org (David Forsythe) Date: Mon Jul 6 23:20:45 2009 Subject: PERFORCE change 165726 for review Message-ID: <200907062320.n66NKb0Y037810@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165726 Change 165726 by dforsyth@squirrel on 2009/07/06 23:20:07 Make changes for new design in pkg.h. Cannot be built. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#30 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#28 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#30 (text+ko) ==== @@ -264,6 +264,45 @@ return (pkg_plist_conflicts(p->plist)); } +int +pkg_add_file(struct pkg *p, const char *path, const char *md5, + const char *owner, const char *group, const char *mode) +{ + int status; + struct pkg_file *pf; + + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (path == NULL) + arg_rage_quit(__func__, "Not a valid path.", RAGE_AT_CLIENT); + if (md5 == NULL) + arg_rage_quit(__func__, "Not a valid md5.", RAGE_AT_CLIENT); + if (owner == NULL) + arg_rage_quit(__func__, "Not a valid owner.", RAGE_AT_CLIENT); + if (group == NULL) + arg_rage_quit(__func__, "Not a valid group.", RAGE_AT_CLIENT); + if (mode == NULL) + arg_rage_quit(__func__, "Not a valid mode.", RAGE_AT_CLIENT); + + pf = pkg_file_new(); + if (pf == NULL) { + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + status = PKG_OK; + + status |= pkg_file_set_path(pf, path); + status |= pkg_file_set_md5(pf, md5); + status |= pkg_file_set_owner(pf, owner); + status |= pkg_file_set_group(pf, group); + status |= pkg_file_set_mode(pf, mode); + + if (status != PKG_OK) + pkg_file_delete(pf); + + return (status); +} + /* Set the short comment for this package */ int pkg_set_comment(struct pkg *p, const char *comment) ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#28 (text+ko) ==== @@ -58,175 +58,8 @@ #define BAD_OR_UNKNOWN_VALUE "???" -/* TODO: All these explicit functions are great, but the client doesn't - * need to make a "new" pkg_cfl, when all they really have to insert are a - * sting and an integer (they dont even have to set the int). So write - * some functions that give them ways to make these entities with a single - * call. */ - -/* pkg_file */ - -struct pkg_file; - -struct pkg_file *pkg_file_new(void); - -const char *pkg_file_path(struct pkg_file *pf); - -const char *pkg_file_md5(struct pkg_file *pf); - -const char *pkg_file_owner(struct pkg_file *pf); - -const char *pkg_file_group(struct pkg_file *pf); - -const char *pkg_file_mode(struct pkg_file *pf); - -int pkg_file_set_path(struct pkg_file *pf, const char *path); - -int pkg_file_set_md5(struct pkg_file *pf, const char *md5); - -int pkg_file_set_owner(struct pkg_file *pf, const char *owner); - -int pkg_file_set_group(struct pkg_file *pf, const char *group); - -int pkg_file_set_mode(struct pkg_file *pf, const char *mode); - -/* pkg_dep */ - -struct pkg_dep; - -struct pkg_dep *pkg_dep_new(void); - -struct pkg_dep *pkg_dep_set_name(struct pkg_dep *pd, const char *name); - -struct pkg_dep *pkg_dep_set_origin(struct pkg_dep *pd, const char *origin); - -const char *pkg_dep_name(struct pkg_dep *pd); - -const char *pkg_dep_origin(struct pkg_dep *pd); - -/* pkg_cfl */ - -struct pkg_cfl; - -struct pkg_cfl *pkg_cfl_new(void); - -int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name); - -const char *pkg_cfl_name(struct pkg_cfl *pc); - /* pkg */ -/* Add mtree stuff later. */ - -struct pkg; - -struct pkg *pkg_new(void); - -void pkg_reset(struct pkg *p); - -char *pkg_ident(struct pkg *p); - -char *pkg_name(struct pkg *p); - -char *pkg_cwd(struct pkg *p); - -char *pkg_origin(struct pkg *p); - -char *pkg_comment(struct pkg *p); - -char *pkg_description(struct pkg *p); - -char *pkg_display(struct pkg *p); - -char *pkg_mtree_file(struct pkg *p); - -int pkg_extract_in_place(struct pkg *p); - -int pkg_preserve(struct pkg *p); - -int pkg_complete(struct pkg *p); - -int pkg_set_ident(struct pkg *p, const char *ident); - -int pkg_set_name(struct pkg *p, const char *name); - -int pkg_set_cwd(struct pkg *p, const char *cwd); - -int pkg_set_orgin(struct pkg *p, const char *orgin); - -int pkg_set_comment(struct pkg *p, const char *comment); - -int pkg_set_contents(struct pkg *p, const char *contents); - -int pkg_set_description(struct pkg *p, const char *description); - -int pkg_set_mtree_dirs(struct pkg *p, const char *mtree_dirs); - -int pkg_set_required_by(struct pkg *p, const char *required_by); - -int pkg_set_display(struct pkg *p, const char *display); - -#if 0 -int pkg_set_mtree_file(struct pkg *p, const char *mtree_file); -#endif - -int pkg_parse_plist(struct pkg *p); - -void pkg_pkg_file_list_init(struct pkg *p); - -struct pkg_file *pkg_pkg_file_list_next(struct pkg *p); - -int pkg_pkg_file_list_reset(struct pkg *p); - -int pkg_pkg_file_add(struct pkg *p, struct pkg_file *pf); - -int pkg_pkg_file_remove(struct pkg *p, struct pkg_file *pf); - -void pkg_pkg_dep_list_init(struct pkg *p); - -struct pkg_dep *pkg_pkg_dep_list_next(struct pkg *p); - -void pkg_pkg_cfl_list_init(struct pkg *p); - -struct pkg_cfl *pkg_pkg_cfl_list_next(struct pkg *p); - -void pkg_delete(struct pkg *p); - -/* pkgdb */ - -struct pkgdb; - -struct pkgdb *pkgdb_new(int type); - -int pkgdb_db_open(struct pkgdb *db, const char *db_root); - -int pkgdb_db_init(struct pkgdb *db); - -char *pkgdb_db_root(struct pkgdb *db); - -int pkgdb_db_close(struct pkgdb *db); - -int pkgdb_pkg_next(struct pkgdb *db, struct pkg *p); - -int pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident); - -#if 0 -int pkgdb_pkg_put(struct pkgdb *db, struct pkg *p); - -int pkgdb_db_sync(struct pkgdb *db); -#endif - -void pkgdb_db_delete(struct pkgdb *db); - -/* Util (will probably dissapear). */ - -void pkg_dump(struct pkg *p, FILE *stream); - - -#if 0 - -/* pkg */ - struct pkg *pkg_new(); void pkg_delete(struct pkg *p); int pkg_reset(struct pkg *p); @@ -275,7 +108,7 @@ int pkgdb_init(struct pkgdb *db); /* Return a list of packages by _ident_. */ -const char *pkgdb_all_pkgs(struct pkgdb *db); +const char *pkgdb_all_pkgs(struct pkgdb *db); /* rename. this is lulz. */ int pkgdb_select_pkg(struct pkgdb *db, struct pkg *p, const char *pkgident); int pkgdb_insert_pkg(struct pkgdb *db, struct pkg *p); @@ -293,5 +126,3 @@ void pkgarcv_delete(struct pkgarcv *pa; #endif - -#endif From dforsyth at FreeBSD.org Tue Jul 7 03:05:44 2009 From: dforsyth at FreeBSD.org (David Forsythe) Date: Tue Jul 7 03:05:50 2009 Subject: PERFORCE change 165728 for review Message-ID: <200907070305.n6735gHR069149@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165728 Change 165728 by dforsyth@squirrel on 2009/07/07 03:05:23 Some changes to pkg_plist.h. Most of the code isn't written. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#31 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#29 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#23 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#19 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#31 (text+ko) ==== @@ -24,7 +24,8 @@ char *display; char *mtree_dirs; char *required_by; - + + struct pkg_sub *psub; struct pkg_plist *plist; short dirty; @@ -225,6 +226,74 @@ return (pkg_plist_set_origin(p->plist, origin)); } +/* Retreive the short comment for this package. (Maybe consider moving + * this into the plist? */ + +const char * +pkg_comment(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (p->comment); +} + +/* Retrieve the long description for this package. */ + +const char * +pkg_description(struct pkg *p) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + return (p->description); +} + +/* Set the short comment for this package */ + +int +pkg_set_comment(struct pkg *p, const char *comment) +{ + char *f; + + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + free(p->comment); + p->comment = (comment != NULL) ? strdup(comment) : NULL; + if (p->comment == NULL) + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + /* Blot out trailing \n, if it's there. */ + f = strrchr(p->comment, (int)'\n'); + if (f != NULL && *(f + 1) == '\0') + *f = '\0'; + + return (PKG_OK); +} + +/* Set the long description for this package. */ + +int +pkg_set_description(struct pkg *p, const char *description) +{ + char *f; + + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + free(p->description); + p->description = (description != NULL) ? strdup(description) : NULL; + if (p->description == NULL) + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + f = strrchr(p->description, (int)'\n'); + if (f != NULL && *(f + 1) == '\0') + *f = '\0'; + + return (PKG_OK); +} + /* Maybe I should do these list retrievals in a fashion similar to * scandir? */ @@ -264,6 +333,9 @@ return (pkg_plist_conflicts(p->plist)); } +/* Add a file to a package. This is fairly useless at this point + * because... well, there the hell is the file coming from? */ + int pkg_add_file(struct pkg *p, const char *path, const char *md5, const char *owner, const char *group, const char *mode) @@ -303,92 +375,7 @@ return (status); } -/* Set the short comment for this package */ -int -pkg_set_comment(struct pkg *p, const char *comment) -{ - int c; - char *f; - - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->comment); - p->comment = (comment != NULL) ? strdup(comment) : NULL; - if (p->comment != NULL) { - /* Blot out trailing \n, if it's there. */ - c = (int)'\n'; - f = strrchr(p->comment, c); - if (f != NULL && *(f + 1) == '\0') - *f = '\0'; - } - - return (OK); -} - -/* Set the contents for this package. */ - -int -pkg_set_contents(struct pkg *p, const char *contents) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - /* Yes this makes for 3 copies of the text in memory at once, but just - * until I decide how I want to handle 'dirty' packages. */ - free(p->contents); - p->contents = (contents != NULL) ? strdup(contents) : NULL; - - return (OK); -} - -int -pkg_set_description(struct pkg *p, const char *description) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->description); - p->description = (description != NULL) ? strdup(description) : NULL; - - return (OK); -} - -int -pkg_set_display(struct pkg *p, const char *display) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->display); - p->display = (display != NULL) ? strdup(display) : NULL; - - return (OK); -} - -int -pkg_set_mtree_dirs(struct pkg *p, const char *mtree_dirs) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->mtree_dirs); - p->mtree_dirs = (mtree_dirs != NULL) ? strdup(mtree_dirs) : NULL; - - return (OK); -} - -int -pkg_set_required_by(struct pkg *p, const char *required_by) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - free(p->required_by); - p->required_by = (required_by != NULL) ? strdup(required_by) : NULL; - - return (OK); -} +/* Parse the plist (contents) of a package. */ int pkg_parse_plist(struct pkg *p) @@ -407,124 +394,3 @@ status = pkg_plist_parse_contents_from_text(p->plist, p->contents); return (status); } - -/* ident and name are different, even though they might be the same. */ - -char * -pkg_comment(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (p->comment); -} - -/* Functions to access information stored in the pkg_plist. */ - - - -char * -pkg_mtree_file(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (NULL); - return (pkg_plist_mtree_file(p->plist)); -} - -/* Other properties. */ - -int -pkg_extract_in_place(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (PKG_PARSE_NOT_OK); - - return (pkg_plist_extract_in_place(p->plist)); -} - -int -pkg_preserve(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (PKG_PARSE_NOT_OK); - - return (pkg_plist_preserve(p->plist)); -} - -int -pkg_complete(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pkg_parse_plist(p) != OK) - return (PKG_PARSE_NOT_OK); - - return (pkg_plist_complete(p->plist)); -} - -/* These need to be renamed. */ - -void -pkg_pkg_file_list_init(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - pkg_plist_pkg_file_list_reset(p->plist); -} - -struct pkg_file * -pkg_pkg_file_list_next(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_file_list_next(p->plist)); -} - -void -pkg_pkg_dep_list_init(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_dep_list_reset(p->plist)); -} - -struct pkg_dep * -pkg_pkg_dep_list_next(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_dep_list_next(p->plist)); -} - -void -pkg_pkg_cfl_list_init(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_cfl_list_reset(p->plist)); -} - -struct pkg_cfl * -pkg_pkg_cfl_list_next(struct pkg *p) -{ - if (p == NULL) - arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - return (pkg_plist_pkg_cfl_list_next(p->plist)); -} - ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#29 (text+ko) ==== @@ -74,6 +74,13 @@ int pkg_set_cwd(struct pkg *p, const char *cwd); int pkg_set_origin(struct pkg *p, const char *origin); +const char *pkg_comment(struct pkg *p); +const char *pkg_description(struct pkg *p); + +int pkg_set_comment(struct pkg *p, const char *comment); +int pkg_set_description(struct pkg *p, const char *description); +/* Add mtree_dirs, display, etc, etc. */ + const char **pkg_files(struct pkg *p); const char **pkg_depends(struct pkg *p); const char **pkg_conflicts(struct pkg *p); @@ -96,6 +103,9 @@ int pkg_remove_conflict(struct pkg *p, const char *name); const char *pkg_conflict_version(struct pkg *p, const char *name); +/* TODO: Should I add a function to add names of pkgs that depend on a + * pkg? */ + /* TODO: Add installation/deinstallation routine modification... routines. */ /* pkgdb */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#23 (text+ko) ==== @@ -93,18 +93,6 @@ } int -pkg_plist_new_from_text(const char *text) -{ - int status; - struct pkg_plist *pl; - - pl = pkg_plist_new(); - status = pkg_plist_parse_contents_from_text(pl, text); - - return (status); -} - -int pkg_plist_parse_contents_from_text(struct pkg_plist *pl, const char *text) { int s; @@ -410,191 +398,3 @@ return (pl->complete); } -/* I should really just write a set of generic routine to handle this - * whole mess. */ - -/* Temporarily void. */ -void -pkg_plist_pkg_file_list_reset(struct pkg_plist *pl) -{ - /* If you init again, it clears the list. So don't. */ - pl->pkg_file_curr = NULL; -} - -struct pkg_file * -pkg_plist_pkg_file_list_next(struct pkg_plist *pl) -{ - struct pkg_file *pf; - - if (pl == NULL) - return (NULL); - - if (pl->pkg_file_curr == NULL) - pf = pkg_plist_pkg_file_list_first(pl); - else - pf = TAILQ_NEXT(pl->pkg_file_curr, next); - - if (pf != NULL) - pl->pkg_file_curr = pf; - - return (pf); -} - -void -pkg_plist_pkg_file_list_init(struct pkg_plist *pl) -{ - if (pl == NULL) - return; - - TAILQ_INIT(&pl->pkg_file_head); -} - -struct pkg_file * -pkg_plist_pkg_file_list_first(struct pkg_plist *pl) -{ - if (pl == NULL) - return (NULL); - - return (TAILQ_FIRST(&pl->pkg_file_head)); -} - -struct pkg_file * -pkg_plist_pkg_file_list_last(struct pkg_plist *pl) -{ - if (pl == NULL) - return (NULL); - - return (TAILQ_LAST(&pl->pkg_file_head, pkg_file_head)); -} - -void -pkg_plist_pkg_file_list_append(struct pkg_plist *pl, struct pkg_file *pf) -{ - if (pl == NULL || pf == NULL) - return; - - TAILQ_INSERT_TAIL(&pl->pkg_file_head, pf, next); -} - -/* pkg_dep list manipulation and access. */ -/* generalize plz. */ - -void -pkg_plist_pkg_dep_list_reset(struct pkg_plist *pl) -{ - if (pl == NULL) - return; - - pl->pkg_dep_curr = NULL; -} - -void -pkg_plist_pkg_dep_list_init(struct pkg_plist *pl) -{ - if (pl == NULL) - return; - - TAILQ_INIT(&pl->pkg_dep_head); -} - -struct pkg_dep * -pkg_plist_pkg_dep_list_last(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - return (TAILQ_LAST(&pl->pkg_dep_head, pkg_dep_head)); -} - -void -pkg_plist_pkg_dep_list_append(struct pkg_plist *pl, struct pkg_dep *pd) -{ - if (pl == NULL || pd == NULL) - return; - - TAILQ_INSERT_TAIL(&pl->pkg_dep_head, pd, next); -} - -struct pkg_dep * -pkg_plist_pkg_dep_list_next(struct pkg_plist *pl) -{ - struct pkg_dep *pd; - - if (pl == NULL) - return (NULL); - - if (pl->pkg_dep_curr == NULL) - pd = pkg_plist_pkg_dep_list_first(pl); - else - pd = TAILQ_NEXT(pl->pkg_dep_curr, next); - - if (pd != NULL) - pl->pkg_dep_curr = pd; - - return (pd); -} - -struct pkg_dep * -pkg_plist_pkg_dep_list_first(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - return (TAILQ_FIRST(&pl->pkg_dep_head)); -} - -void -pkg_plist_pkg_cfl_list_init(struct pkg_plist *pl) -{ - if (pl == NULL) - return; - - TAILQ_INIT(&pl->pkg_cfl_head); -} - -void -pkg_plist_pkg_cfl_list_append(struct pkg_plist *pl, struct pkg_cfl *pc) -{ - if (pl == NULL || pc == NULL) - return; - - TAILQ_INSERT_TAIL(&pl->pkg_cfl_head, pc, next); -} - -struct pkg_cfl * -pkg_plist_pkg_cfl_list_first(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - return (TAILQ_FIRST(&pl->pkg_cfl_head)); -} - -void -pkg_plist_pkg_cfl_list_reset(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - pl->pkg_cfl_curr = NULL; -} - -struct pkg_cfl * -pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl) -{ - struct pkg_cfl *pc; - - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - if (pl->pkg_cfl_curr == NULL) - pc = pkg_plist_pkg_cfl_list_first(pl); - else - pc = TAILQ_NEXT(pl->pkg_cfl_curr, next); - - if (pc != NULL) - pl->pkg_cfl_curr = pc; - - return (pc); -} - ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#19 (text+ko) ==== @@ -81,19 +81,6 @@ char *text; /* The entire plist */ - struct pkg_file *pkg_file_curr; - struct pkg_dep *pkg_dep_curr; - struct pkg_cfl *pkg_cfl_curr; - - /* Use these lists here so that appending to our list doesnt need a - * bunch of realloc procedures. This will be convenient for clients - * that want to build plists on the fly, modify plists, etc. */ - /* No, screw them I hate them and hope they burn. */ - - TAILQ_HEAD(pkg_file_head, pkg_file) pkg_file_head; /* pkg_file list. */ - TAILQ_HEAD(pkg_dep_head, pkg_dep) pkg_dep_head; /* pkg_dep list. */ - TAILQ_HEAD(pkg_cfl_head, pkg_cfl) pkg_cfl_head; /* pkg_cfl list. */ - unsigned int pkg_file_cnt; struct pkg_file *pkg_file_list; @@ -107,22 +94,16 @@ }; struct pkg_plist *pkg_plist_new(void); +void pkg_plist_delete(struct pkg_plist *pl); +void pkg_plist_reset(struct pkg_plist *pl); int pkg_plist_parsed(struct pkg_plist *pl); - -void pkg_plist_reset(struct pkg_plist *pl); - -int pkg_plist_new_from_text(const char *text); int pkg_plist_parse_contents_from_text(struct pkg_plist *pl, const char *text); int pkg_plist_parse_line(struct pkg_plist *pl, char *line, struct parse_state *st); -void pkg_plist_pkg_file_list_reset(struct pkg_plist *pl); - -struct pkg_file *pkg_plist_pkg_file_list_next(struct pkg_plist *pl); - char *pkg_plist_name(struct pkg_plist *pl); char *pkg_plist_cwd(struct pkg_plist *pl); char *pkg_plist_origin(struct pkg_plist *pl); @@ -132,37 +113,27 @@ int pkg_plist_preserve(struct pkg_plist *pl); int pkg_plist_complete(struct pkg_plist *pl); -void pkg_plist_pkg_file_list_init(struct pkg_plist *pl); -struct pkg_file *pkg_plist_pkg_file_list_first(struct pkg_plist *pl); -struct pkg_file *pkg_plist_pkg_file_list_last(struct pkg_plist *pl); -void pkg_plist_pkg_file_list_append(struct pkg_plist *pl, - struct pkg_file *pf); +void set_parse_state_default(struct parse_state *st); -void set_parse_state_default(struct parse_state *st); +/* pkg_file */ -void pkg_plist_delete(struct pkg_plist *pl); +int pkg_plist_add_file(struct pkg_plist *pl, const char *path, + const char *md5, const char *owner, const char *group, + const char *mode); +int pkg_plist_remove_file(struct pkg_plist *pl, const char *path); +const char **pkg_plist_files(struct pkg_plist *pl); /* pkg_dep */ -void pkg_plist_pkg_dep_list_init(struct pkg_plist *pl); -struct pkg_dep *pkg_plist_pkg_dep_list_last(struct pkg_plist *pl); - -void pkg_plist_pkg_dep_list_append(struct pkg_plist *pl, - struct pkg_dep *pd); +int pkg_plist_add_depend(struct pkg_plist *pl, const char *name, + const char *origin); +int pkg_plist_remove_depend(struct pkg_plist *pl, const char *name); +const char **pkg_plist_depends(struct pkg_plist *pl); -void pkg_plist_pkg_dep_list_reset(struct pkg_plist *pl); -struct pkg_dep *pkg_plist_pkg_dep_list_next(struct pkg_plist *pl); -struct pkg_dep *pkg_plist_pkg_dep_list_first(struct pkg_plist *pl); - /* pkg_cfl */ -void pkg_plist_pkg_cfl_list_init(struct pkg_plist *pl); - -void pkg_plist_pkg_cfl_list_append(struct pkg_plist *pl, - struct pkg_cfl *pc); - -void pkg_plist_pkg_cfl_list_reset(struct pkg_plist *pl); -struct pkg_cfl *pkg_plist_pkg_cfl_list_next(struct pkg_plist *pl); -struct pkg_cfl *pkg_plist_pkg_cfl_list_first(struct pkg_plist *pl); +int pkg_plist_add_conflict(struct pkg_plist *pl, const char *name); +int pkg_plist_remove_conflict(struct pkg_plist *pl, const char *name); +const char **pkg_plist_conflicts(struct pkg_plist *pl); #endif From dforsyth at FreeBSD.org Tue Jul 7 05:32:24 2009 From: dforsyth at FreeBSD.org (David Forsythe) Date: Tue Jul 7 05:33:09 2009 Subject: PERFORCE change 165729 for review Message-ID: <200907070532.n675WMAr091910@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165729 Change 165729 by dforsyth@squirrel on 2009/07/07 05:32:16 Renamed pkgdb to pkg_db and moved some things around. Pushed for backup. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#32 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#30 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.c#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.h#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.c#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.h#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_private.h#1 branch .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#24 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#20 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#21 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.h#14 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#12 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.h#7 delete .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#6 delete .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#20 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#32 (text+ko) ==== @@ -2,15 +2,13 @@ #include #include -#include - #include "pkg_util.h" #include "pkg_dep.h" #include "pkg_file.h" #include "pkg_cfl.h" #include "pkg_plist.h" -#include "pkgdb_hierdb.h" -#include "pkgdb.h" +#include "pkg_db_hierdb.h" +#include "pkg_db.h" #include "pkg_private.h" #include "pkg_sub.h" #include "pkg.h" @@ -25,7 +23,6 @@ char *mtree_dirs; char *required_by; - struct pkg_sub *psub; struct pkg_plist *plist; short dirty; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#30 (text+ko) ==== @@ -108,31 +108,31 @@ /* TODO: Add installation/deinstallation routine modification... routines. */ -/* pkgdb */ +/* pkg_db */ -struct pkgdb *pkgdb_new(); -void pkgdb_delete(struct pkgdb *db); +struct pkg_db *pkg_db_new(); +void pkg_db_delete(struct pkg_db *db); -int pkgdb_open(struct pkgdb *db, const char *path, int db_type); +int pkg_db_open(struct pkg_db *db, const char *path, int db_type); /* With the new design, is "init" even needed? */ -int pkgdb_init(struct pkgdb *db); +int pkg_db_init(struct pkg_db *db); /* Return a list of packages by _ident_. */ -const char *pkgdb_all_pkgs(struct pkgdb *db); /* rename. this is lulz. */ -int pkgdb_select_pkg(struct pkgdb *db, struct pkg *p, const char *pkgident); +const char *pkg_db_all_pkgs(struct pkg_db *db); /* rename. this is lulz. */ +int pkg_db_select_pkg(struct pkg_db *db, struct pkg *p, const char *pkgident); -int pkgdb_insert_pkg(struct pkgdb *db, struct pkg *p); -int pkgdb_delete_pkg(struct pkgdb *db, const char *pkgident); -int pkgdb_update_pkg(struct pkgdb *db, const char *pkgident, struct pkg *p); +int pkg_db_insert_pkg(struct pkg_db *db, struct pkg *p); +int pkg_db_delete_pkg(struct pkg_db *db, const char *pkgident); +int pkg_db_update_pkg(struct pkg_db *db, const char *pkgident, struct pkg *p); -/* pkgrepo */ +/* pkg_repo */ struct pkgrepo *pkgrepo_new(); void pkgrepo_delete(struct pkgrepo *pr); -/* pkgarcv */ +/* pkgarchive */ -struct pkgarcv *pkgarcv_new(); -void pkgarcv_delete(struct pkgarcv *pa; +struct pkgarchive *pkgarchive_new(); +void pkgarchive_delete(struct pkgarchive *pa; #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_cfl.h#4 (text+ko) ==== @@ -1,12 +1,9 @@ #ifndef __PKG_CFL_H__ #define __PKG_CFL_H__ -/* Yes, I'm that lazy. */ struct pkg_cfl { char *name; int version; - - TAILQ_ENTRY(pkg_cfl) next; }; #if 0 ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.h#6 (text+ko) ==== @@ -10,8 +10,6 @@ char *origin; int version; - - TAILQ_ENTRY(pkg_dep) next; }; #if 0 ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#6 (text+ko) ==== @@ -11,8 +11,6 @@ char *owner; char *group; char *mode; - - TAILQ_ENTRY(pkg_file) next; }; #if 0 ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#24 (text+ko) ==== @@ -14,7 +14,7 @@ #include "pkg_dep.h" #include "pkg_file.h" #include "pkg_plist.h" -#include "pkgdb.h" +#include "pkg_db.h" #include "pkg.h" /* TODO: Create plist setter functions for building packages. */ @@ -50,11 +50,7 @@ void pkg_plist_delete(struct pkg_plist *pl) { - /* TODO: Write this function. */ -#if 0 - pkg_plist_pkg_list_free(pl); - pkg_plist_pkg_dep_free(pl); -#endif + pkg_plist_reset(pl); free(pl); return; } @@ -74,16 +70,28 @@ if (pl == NULL) arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - /* TODO: Write this. */ + int c; + + free(pl->rev); + free(pl->cwd); + free(pl->name); + free(pl->origin); + free(pl->srcdir); + for (c = 0; c < pl->pkg_file_cnt; ++c) + pkg_file_reset(pl->pkg_file_list[c]); free(pl->pkg_file_list); pl->pkg_file_cnt = 0; - free(pl->pkg_dep_list); - pl->pkg_dep_cnt = 0; + for (c = 0; c < pl->pkg_depends_cnt; ++c) + pkg_depend_reset(pl->pkg_depends_list[c]); + free(pl->pkg_depend_list); + pl->pkg_depend_cnt = 0; - free(pl->pkg_cfl_list); - pl->pkg_cfl_cnt = 0; + for (c = 0; c < pl->pkg_conflicts_cnt; ++c) + pkg_conflict_reset(pl->pkg_conflicts_list[c]); + free(pl->pkg_conflict_list); + pl->pkg_conflict_cnt = 0; pl->extract_in_place = 0; pl->preserve = 0; @@ -333,8 +341,6 @@ return (s); } -/* pkg_file list manipulation and access. */ - char * pkg_plist_name(struct pkg_plist *pl) { @@ -362,15 +368,6 @@ return (pl->origin); } -char * -pkg_plist_mtree_file(struct pkg_plist *pl) -{ - if (pl == NULL) - arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); - - return (pl->mtree_file); -} - int pkg_plist_extract_in_place(struct pkg_plist *pl) { ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#20 (text+ko) ==== @@ -70,11 +70,9 @@ struct pkg_plist { char *rev; char *cwd; - char *srcdir; char *name; char *origin; - char *display; - char *mtree_file; + char *srcdir; short extract_in_place; short preserve; short complete; /* fat. */ @@ -104,10 +102,13 @@ int pkg_plist_parse_line(struct pkg_plist *pl, char *line, struct parse_state *st); -char *pkg_plist_name(struct pkg_plist *pl); -char *pkg_plist_cwd(struct pkg_plist *pl); -char *pkg_plist_origin(struct pkg_plist *pl); -char *pkg_plist_mtree_file(struct pkg_plist *pl); +const char *pkg_plist_name(struct pkg_plist *pl); +const char *pkg_plist_cwd(struct pkg_plist *pl); +const char *pkg_plist_origin(struct pkg_plist *pl); + +int pkg_plist_set_name(struct pkg_plist *pl, const char *name); +int pkg_plist_set_cwd(struct pkg_plist *pl, const char *cwd); +int pkg_plist_set_origin(struct pkg_plist *pl, const char *origin); int pkg_plist_extract_in_place(struct pkg_plist *pl); int pkg_plist_preserve(struct pkg_plist *pl); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.c#5 (text+ko) ==== @@ -198,10 +198,10 @@ return (PKG_SUB_OK); } -/* Initialize a pkg_sub in a pkgdb. */ +/* Initialize a pkg_sub in a pkg_db. */ int -pkg_sub_init(struct pkg_sub *ps, struct pkgdb *db, const char *ident) +pkg_sub_init(struct pkg_sub *ps, struct pkg_db *db, const char *ident) { char *pathp; @@ -210,7 +210,7 @@ pkg_sub_reset(ps); pkg_sub_set_ident(ps, ident); - pathp = path_build(pkgdb_db_root(db), ident); + pathp = path_build(pkg_db_db_root(db), ident); if (pathp == NULL) { free(ps->ident); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_sub.h#5 (text+ko) ==== @@ -1,7 +1,7 @@ #ifndef __PKG_DIR_H__ #define __PKG_DIR_H__ -#include "pkgdb.h" +#include "pkg_db.h" #define PKG_SUB_MEM_ERR(x) x & SUB_MEMORY_ERR @@ -49,7 +49,7 @@ int pkg_sub_mark_unread(struct pkg_sub *ps); -int pkg_sub_init(struct pkg_sub *ps, struct pkgdb *db, const char *ident); +int pkg_sub_init(struct pkg_sub *ps, struct pkg_db *db, const char *ident); int pkg_sub_reset(struct pkg_sub *ps); ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#20 (text+ko) ==== @@ -27,7 +27,7 @@ { int status; const char *db_root; - struct pkgdb *db; + struct pkg_db *db; if (argc == 1 && argv != NULL /* Giving argv something to do */) { opt_all = 1; @@ -40,16 +40,16 @@ if (db_root == NULL) db_root = PKG_DBDIR_DEFAULT; /* Default */ #if 0 - db = pkgdb_new(HIER_DB); + db = pkg_db_new(HIER_DB); if (db == NULL) { fprintf(stderr, "Could not attach to database \"%s\"\n", db_root); } #endif - db = pkgdb_new(HIER_DB); + db = pkg_db_new(HIER_DB); if (db == NULL) exit(EXIT_FAILURE); - status = pkgdb_db_open(db, db_root); + status = pkg_db_db_open(db, db_root); if (status) { fprintf(stderr, "Could not open database \"%s\"\n", db_root); exit(EXIT_FAILURE); @@ -57,7 +57,7 @@ perform_on_db(db); - // pkgdb_db_delete(db); + // pkg_db_db_delete(db); return (EXIT_SUCCESS); } @@ -85,7 +85,7 @@ } void -perform_on_db(struct pkgdb *db) +perform_on_db(struct pkg_db *db) { int status; /* char *target; */ @@ -98,14 +98,14 @@ if (p == NULL) exit(EXIT_FAILURE); - status = pkgdb_db_init(db); + status = pkg_db_db_init(db); if (status) { fprintf(stderr, "Could not initialize database \"%s\"\n", - pkgdb_db_root(db)); + pkg_db_db_root(db)); exit(EXIT_FAILURE); } - while ((status = pkgdb_pkg_next(db, p)) != DB_NO_PKG) { + while ((status = pkg_db_pkg_next(db, p)) != DB_NO_PKG) { if (!opt_all) { /* Wont happen at this point. */ /* Do some matching magic that I haven't written yet. */ print_pkg_information(p); From rene at FreeBSD.org Tue Jul 7 07:26:29 2009 From: rene at FreeBSD.org (Rene Ladan) Date: Tue Jul 7 07:26:36 2009 Subject: PERFORCE change 165730 for review Message-ID: <200907070726.n677QR18002693@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165730 Change 165730 by rene@rene_self on 2009/07/07 07:26:08 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#27 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-users/article.sgml#4 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#12 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/vinum/chapter.sgml#8 integrate .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys-developers.sgml#22 integrate .. //depot/projects/docproj_nl/www/en/docproj/translations.sgml#6 integrate .. //depot/projects/docproj_nl/www/en/donations/donors.sgml#17 integrate .. //depot/projects/docproj_nl/www/en/layout/css/iefixes.css#2 integrate .. //depot/projects/docproj_nl/www/en/layout/css/navigation.css#2 integrate .. //depot/projects/docproj_nl/www/en/search/search.sgml#5 integrate .. //depot/projects/docproj_nl/www/share/sgml/header.ent#4 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#27 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -129,6 +129,11 @@ &pgpkey.obraun; + + &a.makc; + &pgpkey.makc; + + &a.antoine; &pgpkey.antoine; ==== //depot/projects/docproj_nl/www/en/docproj/translations.sgml#6 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -34,23 +34,21 @@

The FreeBSD Brazilian Portuguese Documentation Project

Web: http://doc.fugspbr.org/
+ href="http://doc.fug.com.br/">http://doc.fug.com.br/
-E-Mail: lioux@FreeBSD.org
+E-Mail: ebrandi@fugspbr.org
Mailing lists available
Access the following URL - http://lists.fugspbr.org/listinfo.cgi/doc-fugspbr.org/ + href="https://www.fug.com.br/mailman/listinfo/doc/"> + https://www.fug.com.br/mailman/listinfo/doc/ for instructions on how to subscribe to the Brazilian Portuguese translation group's mailing list.
- Or, send an email to doc-request@fugspbr.org - with the word "subscribe" in the subject of the message.
Posting is allowed for the members at doc@fugspbr.org + href="mailto:doc@fug.com.br">doc@fug.com.br
Documents available
@@ -63,11 +61,7 @@
Documents currently being worked on
-
FreeBSD Documentation - Project Primer for New Contributors
- -
FreeBSD - Handbook
+
FreeBSD Documentation Project Primer for New Contributors
==== //depot/projects/docproj_nl/www/en/donations/donors.sgml#17 (text+ko) ==== @@ -1,6 +1,6 @@ - + %developers; @@ -2593,6 +2593,13 @@ rpaulo Received + + + Alexis Megas <megas@alum.rpi.edu> + Sun Ultra Sparc 60 + glewis + Received + &footer; ==== //depot/projects/docproj_nl/www/en/layout/css/iefixes.css#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* * FreeBSD.org - Fixes for Internet Explorer - * $FreeBSD: www/en/layout/css/iefixes.css,v 1.3 2005/11/23 14:22:06 keramida Exp $ + * $FreeBSD: www/en/layout/css/iefixes.css,v 1.4 2009/07/06 22:09:22 danger Exp $ */ /*Win IE fix \*/ @@ -8,6 +8,9 @@ * html #TOPNAVLIST li { margin: 0 0.5em 0 -0.5em; } * html #topnavlist li { margin: 0 0.5em 0 -0.5em; } +* html #MENU ul.first { border-left: 0; } +* html #MENU li { margin: 0.2em 0 -1em 0; } + * html #languagenavlist li { padding: 0 0.1em 0 0.4em; } * html #languagenavlist li.last-child { padding: 0 0em 0 0.4em; } ==== //depot/projects/docproj_nl/www/en/layout/css/navigation.css#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD.org - Navigation (and List) Styles * - * $FreeBSD: www/en/layout/css/navigation.css,v 1.6 2008/01/16 02:10:22 murray Exp $ + * $FreeBSD: www/en/layout/css/navigation.css,v 1.7 2009/07/06 22:09:22 danger Exp $ */ /* Site Navigation */ @@ -71,6 +71,77 @@ padding-left: 0; } +/* New drop-down menu implementation */ + +#MENU { + width: 100%; + float: left; + height: 29px; + font-size: 0.9em; + margin: 5px 0 2px 0; + font-weight: bold; +} + +#MENU ul { + list-style: none; + margin: 0; + padding: 0px 10px 2px 10px; + float: left; + border-left: 1px solid #B4B4B4; +} + +#MENU ul:first-child { + padding-left: 0; + border: 0; +} + +#MENU a { + display: block; + padding: 0px 3px; + color: #666; + text-decoration: none; +} + +#MENU a:hover { + color: #990000; +} + +#MENU li { + position: relative; +} + +#MENU ul ul { + position: absolute; + background-color: #e5e5e5; + padding: 2px; + border: 0; + width: 10em; + z-index: 500; +} + +#MENU ul ul li { + border-top: 1px solid #B4B4B4; + padding: 4px 0 4px 0; +} + +#MENU ul ul ul { + top: 0; + left: 100%; + background: #e5e5e5; +} + +div#MENU ul ul, +div#MENU ul li:hover ul ul, +div#MENU ul ul li:hover ul ul { + display: none; +} + +div#MENU ul li:hover ul, +div#MENU ul ul li:hover ul, +div#MENU ul ul ul li:hover ul { + display: block; +} + /* Language selection */ #LANGUAGENAV, #languagenav { ==== //depot/projects/docproj_nl/www/en/search/search.sgml#5 (text+ko) ==== @@ -1,6 +1,6 @@ - + ]> @@ -24,11 +24,9 @@

List of FreeBSD OpenSearch Plugins

==== //depot/projects/docproj_nl/www/share/sgml/header.ent#4 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -137,18 +137,77 @@ Site Navigation - '> http://perforce.freebsd.org/chv.cgi?CH=165743 Change 165743 by anchie@anchie_malimis on 2009/07/07 10:46:06 Minor bug fixes. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/net/route.h#6 edit .. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#6 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#12 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/net/route.h#6 (text+ko) ==== @@ -257,7 +257,7 @@ #define RTM_DELMADDR 0x10 /* mcast group membership being deleted */ #define RTM_IFANNOUNCE 0x11 /* iface arrival/departure */ #define RTM_IEEE80211 0x12 /* IEEE80211 wireless event */ -#define RTM_SND 0x13 /* SeND event. */ +#define RTM_SND 0x13 /* SeND event */ /* * Bitmask values for rtm_inits and rmx_locks. @@ -379,7 +379,7 @@ struct ifmultiaddr; void rt_ieee80211msg(struct ifnet *, int, void *, size_t); -void rt_securendmsg(struct ifnet *, int, void *, size_t data_len); +void rt_securendmsg(struct ifnet *, int, void *, size_t); void rt_ifannouncemsg(struct ifnet *, int); void rt_ifmsg(struct ifnet *); void rt_missmsg(int, struct rt_addrinfo *, int, int); ==== //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#6 (text+ko) ==== @@ -1181,15 +1181,15 @@ void rt_securendmsg(struct ifnet *ifp, int direction, void *data, size_t data_len) { - struct mbuf *m; + struct mbuf *m = NULL; struct rt_addrinfo info; switch (direction) { - case SEND_IN: + case SND_IN: /* Incoming traffic sent to userspace for SeND validation. */ m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_IN, &info); break; - case SEND_OUT: + case SND_OUT: /* Outgoing traffic sent to userspace for SeND protection. */ m = rt_makeifannouncemsg(ifp, RTM_SND, RTM_SND_OUT, &info); break; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#12 (text+ko) ==== @@ -24,13 +24,13 @@ } static int -send_output(int in, struct ifnet *ifp, struct mbuf *m, int msglen) +send_output(struct mbuf *m, struct ifnet *ifp, int in, int msglen) { /* * Send incoming or outgoing traffic to the user space either to be * protected (outgoing) or validated (incoming) according to rfc3971. */ - rt_sndmsg(ifp, in, m, msglen); + rt_securendmsg(ifp, in, m, msglen); return (0); } From zhaoshuai at FreeBSD.org Tue Jul 7 12:45:18 2009 From: zhaoshuai at FreeBSD.org (Zhao Shuai) Date: Tue Jul 7 12:45:24 2009 Subject: PERFORCE change 165746 for review Message-ID: <200907071245.n67CjGJM042095@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165746 Change 165746 by zhaoshuai@zhaoshuai on 2009/07/07 12:44:38 replace the license, suggested by Joel. Affected files ... .. //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#16 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#16 (text+ko) ==== @@ -1,20 +1,28 @@ /*- - * Copyright (c) 1996 John S. Dyson + * Copyright (c) 2009 Zhao Shuai + * Google Summer of Code project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright - * notice immediately at the beginning of the file, without modification, - * this list of conditions, and the following disclaimer. + * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Absolutely no warranty of function or purpose is made by the author - * John S. Dyson. - * 4. Modifications may be freely made to this file if the above conditions - * are met. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. */ #include From anchie at FreeBSD.org Tue Jul 7 12:49:23 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Tue Jul 7 12:49:28 2009 Subject: PERFORCE change 165747 for review Message-ID: <200907071249.n67CnLLd052416@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165747 Change 165747 by anchie@anchie_malimis on 2009/07/07 12:49:21 mtod ip6_hdr on mbuff before passing to the user space. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#13 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#13 (text+ko) ==== @@ -26,11 +26,14 @@ static int send_output(struct mbuf *m, struct ifnet *ifp, int in, int msglen) { + struct ip6_hdr *ip6; + + ip6 = mtod(m, struct ip6_hdr *); /* * Send incoming or outgoing traffic to the user space either to be * protected (outgoing) or validated (incoming) according to rfc3971. */ - rt_securendmsg(ifp, in, m, msglen); + rt_securendmsg(ifp, in, ip6, msglen); return (0); } From zhaoshuai at FreeBSD.org Tue Jul 7 12:56:31 2009 From: zhaoshuai at FreeBSD.org (Zhao Shuai) Date: Tue Jul 7 12:56:37 2009 Subject: PERFORCE change 165748 for review Message-ID: <200907071256.n67CuTKe052997@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165748 Change 165748 by zhaoshuai@zhaoshuai on 2009/07/07 12:55:30 comment on pipe_stat() Affected files ... .. //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#19 edit .. //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#17 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#19 (text+ko) ==== @@ -613,6 +613,7 @@ error = pipe_stat(fip->fi_rpipe, sb, cred, td); if (error) return (error); + /* pipe_stat zeros all fields of *ub, following assignment should be done after it */ sb->st_uid = fp->f_cred->cr_uid; sb->st_gid = fp->f_cred->cr_gid; return (0); ==== //depot/projects/soc2009/fifo/sys/kern/sys_pipe.c#17 (text+ko) ==== @@ -194,6 +194,7 @@ error = pipe_stat(pipe, ub, active_cred, td); if (error) return (error); + /* pipe_stat zeros all fields of *ub, following assignment should be done after it */ ub->st_uid = fp->f_cred->cr_uid; ub->st_gid = fp->f_cred->cr_gid; return (0); From gk at FreeBSD.org Tue Jul 7 12:59:43 2009 From: gk at FreeBSD.org (Gleb Kurtsou) Date: Tue Jul 7 12:59:52 2009 Subject: PERFORCE change 165749 for review Message-ID: <200907071259.n67CxWPq053169@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165749 Change 165749 by gk@gk_h1 on 2009/07/07 12:58:52 IFC Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/msi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/MAC#2 delete .. //depot/projects/soc2009/gk_pefs/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/include/param.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/include/pmap.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/include/vm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/linux32/linux.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/intr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/locore.S#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91_cfata.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/at91_twi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/AVILA.hints#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/CAMBRIA.hints#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/DB-78XXX#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/DB-88F5XXX#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/conf/DB-88F6XXX#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/include/intr.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/include/param.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/include/pmap.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/include/vm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/common.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/discovery/db78xxx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/discovery/discovery.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/files.mv#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/ic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/kirkwood/db88f6xxx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/kirkwood/kirkwood.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/mv_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/mv_sata.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/mvreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/orion/db88f5xxx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/orion/orion.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/mv/twsi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/avila_ata.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/avila_led.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/cambria_exp_space.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/files.avila#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/if_npe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425_npe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/ixp425var.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/pxa/pxa_icu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/common/boot.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/forth/loader.conf#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/i386/libi386/Makefile#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/i386/libi386/biospnp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/ia64/ski/acpi_stub.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/powerpc/uboot/version#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cam/cam.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cam/cam_periph.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cam/cam_periph.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cam/scsi/scsi_target.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/compat/opensolaris/kern/opensolaris.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/compat/opensolaris/sys/vnode.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/dev/dtrace/amd64/dtrace_isa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_ipc.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_ipc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_signal.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_socket.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_stats.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/ndis/subr_ndis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_ipc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_misc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_stat.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/compat/svr4/svr4_sysent.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/NOTES#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/files#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/files.amd64#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/files.i386#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/files.powerpc#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/kmod.mk#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/newvers.sh#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/conf/options#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/CHANGES.txt#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acapps.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acconfig.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acdebug.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acdisasm.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acdispat.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acefi.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acenv.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acevents.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acexcep.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acfreebsd.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acgcc.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acglobal.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/achware.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acinterp.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/aclocal.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acmacros.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acnames.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acnamesp.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acobject.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acopcode.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acoutput.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acparser.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acpi.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acpica_prep.sh#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acpiosxf.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acpixf.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acresrc.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acstruct.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actables.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actbl.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actbl1.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actbl2.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/actypes.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/acutils.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/aecommon.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/amlcode.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/amlresrc.h#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/changes.txt#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/adfile.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/adisasm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/adwalk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/dmrestag.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/dmtable.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/dmtbdump.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/dmtbinfo.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/common/getopt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslanalyze.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcodegen.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcompile.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcompiler.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcompiler.l#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslcompiler.y#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asldefine.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslerror.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslfiles.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslfold.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslglobal.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asllength.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asllisting.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslload.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asllookup.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslmain.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslmap.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslopcodes.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asloperands.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslopt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslresource.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslrestype1.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslrestype2.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslstartup.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslstubs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asltransform.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asltree.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/asltypes.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/compiler/aslutils.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbcmds.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbdisply.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbexec.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbfileio.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbhistry.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbinput.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbstats.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dbxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbcmds.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbdisply.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbexec.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbfileio.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbhistry.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbinput.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbstats.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/debugger/dbxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmbuffer.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmnames.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmobject.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmopcode.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmresrc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmresrcl.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmresrcs.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/disassembler/dmwalk.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsfield.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsinit.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsmethod.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsmthdat.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsobject.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsopcode.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dsutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dswexec.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dswload.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dswscope.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dispatcher/dswstate.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmbuffer.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmnames.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmobject.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmopcode.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmresrc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmresrcl.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmresrcs.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dmwalk.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsfield.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsinit.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsmethod.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsmthdat.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsobject.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsopcode.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dsutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dswexec.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dswload.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dswscope.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/dswstate.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evevent.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evgpe.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evgpeblk.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evmisc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evregion.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evrgnini.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evsci.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evxfevnt.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/events/evxfregn.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evevent.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evgpe.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evgpeblk.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evmisc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evregion.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evrgnini.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evsci.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evxfevnt.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/evxfregn.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exconfig.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exconvrt.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/excreate.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exdump.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exconfig.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exconvrt.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/excreate.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exdump.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exfield.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exfldio.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exmisc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exmutex.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exnames.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exoparg1.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exoparg2.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exoparg3.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exoparg6.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exprep.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exregion.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exresnte.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exresolv.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exresop.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exstore.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exstoren.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exstorob.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exsystem.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/executer/exutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exfield.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exfldio.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exmisc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exmutex.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exnames.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exoparg1.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exoparg2.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exoparg3.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exoparg6.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exprep.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exregion.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exresnte.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exresolv.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exresop.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exstore.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exstoren.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exstorob.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exsystem.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/exutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwacpi.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwgpe.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwregs.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwsleep.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwtimer.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwvalid.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hardware/hwxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwacpi.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwgpe.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwregs.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwsleep.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/hwtimer.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acapps.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/accommon.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acconfig.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acdebug.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acdisasm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acdispat.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acevents.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acexcep.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acglobal.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/achware.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acinterp.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/aclocal.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acmacros.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acnames.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acnamesp.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acobject.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acopcode.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acoutput.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acparser.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acpi.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acpiosxf.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acpixf.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acpredef.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acresrc.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acrestyp.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acstruct.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/actables.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/actbl.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/actbl1.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/actypes.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/acutils.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/amlcode.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/amlresrc.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/platform/acenv.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/platform/acfreebsd.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/include/platform/acgcc.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsaccess.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsalloc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsdump.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsdumpdv.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nseval.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsinit.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsload.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsnames.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsobject.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsparse.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nspredef.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nssearch.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nswalk.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsxfeval.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsxfname.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/namespace/nsxfobj.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsaccess.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsalloc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsdump.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsdumpdv.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nseval.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsinit.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsload.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsnames.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsobject.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsparse.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nssearch.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nswalk.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsxfeval.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsxfname.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/nsxfobj.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/osunixxf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psargs.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psloop.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psopcode.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psparse.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psscope.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/pstree.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/pswalk.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/parser/psxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psargs.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psloop.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psopcode.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psparse.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psscope.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/pstree.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/pswalk.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/psxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsaddr.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rscalc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rscreate.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsdump.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsinfo.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsio.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsirq.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rslist.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsmemory.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsmisc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/resources/rsxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsaddr.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rscalc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rscreate.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsdump.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsinfo.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsio.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsirq.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rslist.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsmemory.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsmisc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/rsxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbfadt.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbfind.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbinstal.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbutils.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tables/tbxfroot.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbfadt.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbfind.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbinstal.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbutils.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tbxfroot.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/tools/acpiexec/aecommon.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utalloc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utcache.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utclib.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utcopy.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utdebug.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utdelete.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/uteval.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utglobal.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utalloc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utcache.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utcopy.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utdebug.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utdelete.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/uteval.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utglobal.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utinit.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utlock.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utmath.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utmisc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utmutex.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utobject.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utresrc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utstate.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/uttrack.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utilities/utxface.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utinit.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utmath.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utmisc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utmutex.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utobject.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utresrc.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utstate.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/uttrack.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/acpica/utxface.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/mwl/LICENSE#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/mwl/Makefile#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/mwl/mw88W8363.fw.uu#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/dev/mwl/mwlboot.fw.uu#1 branch .. //depot/projects/soc2009/gk_pefs/sys/contrib/ngatm/netnatm/sig/sig_uni.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/rdma/rdma_addr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_aiboost.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_asus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_fujitsu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_hp.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_ibm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_panasonic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_toshiba.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_wmi.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/acpi_support/acpi_wmi_if.m#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdSynch.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_battery.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_dock.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_if.m#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_isab.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_lid.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pcib.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_quirk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_resource.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_smbat.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ae/if_ae.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/age/if_age.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_ali.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_amd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_ati.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/agp/agp_sis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/Makefile#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_scan.l#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_symbol.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/aic7xxx/aicasm/aicasm_symbol.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/alc/if_alc.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/alc/if_alcreg.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/alc/if_alcvar.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/ale/if_ale.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/asmc/asmc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/asmc/asmcvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-sata.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/ata-usb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-acard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-acerlabs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-adaptec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-ahci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-amd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-cenatek.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-cypress.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-cyrix.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-intel.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-ite.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-micron.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-national.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-nvidia.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-promise.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ah_osdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ah_osdep.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ah.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ah.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ah_internal.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bce/if_bce.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bm/if_bm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/bwi/if_bwi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cfi/cfi_core.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cpuctl/cpuctl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_multiq.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/sys/cxgb_support.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/dc/if_dc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/de/if_de.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_bufs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_context.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_drv.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_irq.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/drm_sysctl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/i915_drv.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/i915_drv.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/i915_irq.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/radeon_cp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/drm/radeon_irq.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82540.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82541.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82542.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82571.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82575.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_82575.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_api.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_defines.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_hw.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_ich8lan.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_ich8lan.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_mac.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_osdep.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_phy.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_phy.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/e1000_regs.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/if_em.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/if_em.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/if_igb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/e1000/if_igb.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ed/if_ed.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/et/if_et.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fdc/fdc_acpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fxp/if_fxp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/fxp/if_fxpvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gem_sbus.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/hptmv/atapi.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ic/ns16550.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ie/if_ie.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/if_ndis/if_ndis_pccard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/if_ndis/if_ndis_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/if_ndis/if_ndis_usb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/iir/iir.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/iir/iir_ctrl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ipmi/ipmi_acpi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/iscsi/initiator/isc_soc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_82599.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/jme/if_jme.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/kbd/kbd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ksyms/ksyms.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/le/lance.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/lge/if_lge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/malo/if_malo.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mca/mca_bus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/md/md.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mfi/mfi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mge/if_mge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mii/e1000phy.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mii/e1000phyreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mii/miidevs#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mii/nsgphy.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/if_mwl.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/if_mwl_pci.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/if_mwlioctl.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/if_mwlvar.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/mwldiag.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/mwlhal.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/mwlhal.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mwl/mwlreg.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/eth_z8e.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/ethp_z8e.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/rss_eth_z8e.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/mxge/rss_ethp_z8e.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/my/if_my.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nge/if_nge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_bus_subr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_bus_subr.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofw_standard.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/openfirm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/openfirm.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ofw/openfirmio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pci/pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/puc/pucdata.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/re/if_re.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sec/sec.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sec/sec.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sf/if_sf.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sis/if_sis.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sk/if_sk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/smc/if_smc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/snc/if_sncvar.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/clone.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/driver.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/gusc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/isa/sndbuf_dma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/aoa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/davbus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/i2s.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/snapper.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/macio/tumbler.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/midi/midi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/midi/mpu401.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/midi/sequencer.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/spicds.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/channel.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/channel.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/channel_if.m#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/dsp.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/fake.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_chain.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_eq.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_fmt.c#2 delete .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_format.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_matrix.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_mixer.c#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_rate.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/feeder_volume.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/g711.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/intpcm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/matrix.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/matrix_map.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/mixer.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/pcm.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/sndstat.h#1 branch .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/sound.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/pcm/vchan.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/unit.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/usb/uaudio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/sound/version.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ste/if_ste.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/stg/tmc18c30.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/stge/if_stge.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/daemon/daemon_saver.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/scterm-teken.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/teken/teken.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/teken/teken_demo.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/syscons/teken/teken_stress.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/tl/if_tl.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/tsec/if_tsec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/tsec/if_tsec.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/uart/uart_cpu_mv.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/at91dci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/atmegadci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/atmegadci_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/avr32dci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ehci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ehci_ixp4xx.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ehci_mbus.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ehci_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/musb_otg.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/musb_otg_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ohci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ohci_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/ohci_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/uhci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/uhci_pci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/usb_controller.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/uss820dci.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/controller/uss820dci_atmelarm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/input/uhid.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/input/ukbd.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/input/ums.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/misc/udbp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/misc/ufm.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_aue.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_auereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_axe.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_axereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_cdce.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_cue.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_kue.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_rue.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_ruereg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_udav.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/if_udavreg.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/usb_ethernet.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/net/usb_ethernet.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/quirk/usb_quirk.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/u3g.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uark.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ubsa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ubser.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uchcom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ucycom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ufoma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uftdi.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ugensa.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uipaq.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/ulpt.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/umct.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/umodem.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/umoscom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uplcom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/usb_serial.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/usb_serial.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uslcom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uvisor.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/serial/uvscom.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/storage/umass.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/storage/urio.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/storage/ustorage_fs.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template_cdce.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template_msc.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/template/usb_template_mtp.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_bus.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_busdma.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_busdma.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_compat_linux.c#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_compat_linux.h#2 integrate .. //depot/projects/soc2009/gk_pefs/sys/dev/usb/usb_controller.h#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From anchie at FreeBSD.org Tue Jul 7 14:19:10 2009 From: anchie at FreeBSD.org (Ana Kukec) Date: Tue Jul 7 14:19:16 2009 Subject: PERFORCE change 165750 for review Message-ID: <200907071419.n67EJ8p9061139@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165750 Change 165750 by anchie@anchie_malimis on 2009/07/07 14:18:27 mbuf.h include in netinet6/send.c. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#14 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#14 (text+ko) ==== @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -41,7 +42,6 @@ static int send_modevent(module_t mod, int type, void *unused) { - int error = 0; /* Add locking? icmp6.c and nd6.c are maybe using hooks.. */ From rwatson at FreeBSD.org Tue Jul 7 15:04:00 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Tue Jul 7 15:04:06 2009 Subject: PERFORCE change 165757 for review Message-ID: <200907071503.n67F3wnG065330@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165757 Change 165757 by rwatson@rwatson_fledge on 2009/07/07 15:03:18 Add audit event identifiers for upcoming lpathconf(2) system all on FreeBSD. Requested by: trasz Affected files ... .. //depot/projects/trustedbsd/openbsm/etc/audit_event#40 edit .. //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#7 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/etc/audit_event#40 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_event#39 $ +# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_event#40 $ # # The mapping between event identifiers and values is also hard-coded in # audit_kevents.h and audit_uevents.h, so changes must occur in both places, @@ -555,6 +555,7 @@ 43193:AUE_PWRITE:pwrite(2):no 43194:AUE_FSCTL:fsctl():fm 43195:AUE_FFSCTL:ffsctl():fm +43196:AUE_LPATHCONF:lpathconf(2):fa # # Solaris userspace events. # ==== //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#7 (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/sys/bsm/audit_kevents.h#6 $ + * $P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#7 $ */ #ifndef _BSM_AUDIT_KEVENTS_H_ @@ -596,6 +596,7 @@ #define AUE_PWRITE 43193 /* Darwin/FreeBSD. */ #define AUE_FSCTL 43194 /* Darwin. */ #define AUE_FFSCTL 43195 /* Darwin. */ +#define AUE_LPATHCONF 43196 /* FreeBSD */ /* * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the From jona at FreeBSD.org Tue Jul 7 16:14:16 2009 From: jona at FreeBSD.org (Jonathan Anderson) Date: Tue Jul 7 16:14:23 2009 Subject: PERFORCE change 165759 for review Message-ID: <200907071614.n67GEFZU071283@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165759 Change 165759 by jona@jona-trustedbsd-belle-vmware on 2009/07/07 16:13:58 __BEGIN_DECLS for libcapability Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#24 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#24 (text+ko) ==== @@ -30,12 +30,16 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#23 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#24 $ */ #ifndef _LIBCAPABILITY_H_ #define _LIBCAPABILITY_H_ +#include + +__BEGIN_DECLS + struct lc_sandbox; struct lc_host; @@ -154,4 +158,6 @@ */ int cap_main(int argc, char *argv[]); +__END_DECLS + #endif /* !_LIBCAPABILITY_H_ */ From trasz at FreeBSD.org Tue Jul 7 17:37:47 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Tue Jul 7 17:37:54 2009 Subject: PERFORCE change 165761 for review Message-ID: <200907071737.n67Hbkqt088221@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165761 Change 165761 by trasz@trasz_victim on 2009/07/07 17:36:57 Revert the file descriptor accounting. There is no way it could work that way, as file descriptor tables might be shared between processes. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#11 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#11 (text+ko) ==== @@ -747,12 +747,6 @@ * out for a race. */ if (flags & DUP_FIXED) { - error = hrl_alloc_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); - if (error) { - FILEDESC_XUNLOCK(fdp); - fdrop(fp, td); - return (error); - } if (new >= fdp->fd_nfiles) fdgrowtable(fdp, new + 1); if (fdp->fd_ofiles[new] == NULL) @@ -775,7 +769,6 @@ if (fdp->fd_ofiles[new] == NULL) fdunused(fdp, new); FILEDESC_XUNLOCK(fdp); - hrl_free_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); fdrop(fp, td); return (EBADF); } @@ -820,7 +813,6 @@ */ if (delfp != NULL) { knote_fdclose(td, new); - hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); if (delfp->f_type == DTYPE_MQUEUE) mq_fdclose(td, new, delfp); FILEDESC_XUNLOCK(fdp); @@ -1119,7 +1111,6 @@ * added, and deleteing a knote for the new fd. */ knote_fdclose(td, fd); - hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); if (fp->f_type == DTYPE_MQUEUE) mq_fdclose(td, fd, fp); FILEDESC_XUNLOCK(fdp); @@ -1403,16 +1394,16 @@ { struct proc *p = td->td_proc; struct filedesc *fdp = p->p_fd; - int fd = -1, error; + int fd = -1, maxfd; FILEDESC_XLOCK_ASSERT(fdp); if (fdp->fd_freefile > minfd) minfd = fdp->fd_freefile; - error = hrl_alloc_proc(p, HRL_RESOURCE_FILEDESCRIPTORS, 1); - if (error) - return (EMFILE); + PROC_LOCK(p); + maxfd = min((int)lim_cur(p, RLIMIT_NOFILE), maxfilesperproc); + PROC_UNLOCK(p); /* * Search the bitmap for a free descriptor. If none is found, try @@ -1422,9 +1413,11 @@ */ for (;;) { fd = fd_first_free(fdp, minfd, fdp->fd_nfiles); + if (fd >= maxfd) + return (EMFILE); if (fd < fdp->fd_nfiles) break; - fdgrowtable(fdp, fdp->fd_nfiles * 2); + fdgrowtable(fdp, min(fdp->fd_nfiles * 2, maxfd)); } /* @@ -1701,8 +1694,6 @@ if (fdp == NULL) return; - hrl_allocated_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 0); - /* Check for special need to clear POSIX style locks */ fdtol = td->td_proc->p_fdtol; if (fdtol != NULL) { @@ -1879,7 +1870,6 @@ struct file *fp; knote_fdclose(td, i); - hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); /* * NULL-out descriptor prior to close to avoid * a race while close blocks. @@ -1944,7 +1934,6 @@ struct file *fp; knote_fdclose(td, i); - hrl_free_proc(td->td_proc, HRL_RESOURCE_FILEDESCRIPTORS, 1); /* * NULL-out descriptor prior to close to avoid * a race while close blocks. From trasz at FreeBSD.org Tue Jul 7 17:49:01 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Tue Jul 7 17:49:13 2009 Subject: PERFORCE change 165762 for review Message-ID: <200907071748.n67HmwCe089017@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165762 Change 165762 by trasz@trasz_victim on 2009/07/07 17:48:09 Add some more debugging stuff, fix a KASSERT. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#26 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#26 (text+ko) ==== @@ -53,6 +53,7 @@ #define HRF_DONT_ACCUMULATE 2 int hrl_group_accounting = 0; + TUNABLE_INT("kern.hrl_group_accounting", &hrl_group_accounting); SYSCTL_INT(_kern, OID_AUTO, hrl_group_accounting, CTLFLAG_RD, &hrl_group_accounting, 0, ""); @@ -199,11 +200,11 @@ */ hrl_allocated_proc(p, HRL_RESOURCE_FILESIZE, 0); hrl_allocated_proc(p, HRL_RESOURCE_COREDUMPSIZE, 0); + hrl_allocated_proc(p, HRL_RESOURCE_PTY, 0); mtx_lock(&hrl_lock); for (i = 0; i < HRL_RESOURCE_MAX; i++) { - if (p->p_usage.hu_resources[i] != 0) - KASSERT(p->p_usage.hu_resources == 0, + KASSERT(p->p_usage.hu_resources[i] == 0, ("dead process still holding resources")); } mtx_unlock(&hrl_lock); @@ -287,6 +288,10 @@ KASSERT(amount > 0, ("hrl_alloc_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); +#if 0 + printf("hrl_alloc_proc: allocating %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); +#endif + mtx_lock(&hrl_lock); p->p_usage.hu_resources[resource] += amount; cred = p->p_ucred; @@ -347,6 +352,10 @@ KASSERT(amount >= 0, ("hrl_allocated_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); +#if 0 + printf("hrl_allocated_proc: allocated %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); +#endif + mtx_lock(&hrl_lock); diff = amount - p->p_usage.hu_resources[resource]; p->p_usage.hu_resources[resource] = amount; @@ -395,14 +404,16 @@ KASSERT(amount > 0, ("hrl_free_proc: invalid amount for %s: %lld", hrl_resource_name(resource), amount)); +#if 0 + printf("hrl_free_proc: freeing %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid); +#endif + mtx_lock(&hrl_lock); + KASSERT(amount <= p->p_usage.hu_resources[resource], + ("hrl_free_proc: freeing %lld of %s, which is more than allocated %lld " + "for %s (pid %d)", amount, hrl_resource_name(resource), p->p_usage.hu_resources[resource], + p->p_comm, p->p_pid)); p->p_usage.hu_resources[resource] -= amount; -#ifdef notyet - KASSERT(amount <= p->p_usage.hu_resources[resource], - ("hrl_free_proc: freeing %lld, which is more than allocated %lld " - "for %s", amount, p->p_usage.hu_resources[resource], - hrl_resource_name(resource))); -#endif cred = p->p_ucred; cred->cr_ruidinfo->ui_usage.hu_resources[resource] -= amount; if (cred->cr_ruidinfo != cred->cr_uidinfo) From scottl at FreeBSD.org Tue Jul 7 17:49:04 2009 From: scottl at FreeBSD.org (Scott Long) Date: Tue Jul 7 17:49:14 2009 Subject: PERFORCE change 165764 for review Message-ID: <200907071748.n67Hmx4Z089027@repoman.freebsd.org> http://perforce.freebsd.org/chv.cgi?CH=165764 Change 165764 by scottl@scottl-y1 on 2009/07/07 17:48:54 Add a 'maxio' parameter to the XPT_PATH_INQ/cpi structure. It represents the max number of bytes that the SIM can handle for an i/o transaction, and is passed to the disk/block layer by the periphs. For legacy compatibility, not setting it, or setting it to 0, results in a default of 64k for the 'da' driver, just like it always has been. Eliminate the blind use of MAXPHYS throughout the driver tree, in preparation for MAXPHYS being increased. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#23 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#40 edit .. //depot/projects/scottl-camlock/src/sys/dev/advansys/advansys.c#12 edit .. //depot/projects/scottl-camlock/src/sys/dev/advansys/advlib.h#4 edit .. //depot/projects/scottl-camlock/src/sys/dev/aic7xxx/aic79xx_osm.h#13 edit .. //depot/projects/scottl-camlock/src/sys/dev/aic7xxx/aic7xxx_osm.h#14 edit .. //depot/projects/scottl-camlock/src/sys/dev/amd/amd.h#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/ciss/ciss.c#20 edit .. //depot/projects/scottl-camlock/src/sys/dev/ciss/cissvar.h#6 edit .. //depot/projects/scottl-camlock/src/sys/dev/firewire/sbp.c#13 edit .. //depot/projects/scottl-camlock/src/sys/dev/isp/isp_freebsd.h#18 edit .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfi.c#16 edit .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfivar.h#8 edit .. //depot/projects/scottl-camlock/src/sys/dev/mlx/mlx.c#7 edit .. //depot/projects/scottl-camlock/src/sys/dev/mlx/mlxvar.h#3 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#22 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#23 edit .. //depot/projects/scottl-camlock/src/sys/dev/trm/trm.h#3 edit .. //depot/projects/scottl-camlock/src/sys/kern/subr_bus.c#26 integrate Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#23 (text+ko) ==== @@ -572,6 +572,7 @@ struct ccb_pathinq_settings_sas sas; char ccb_pathinq_settings_opaque[PATHINQ_SETTINGS_SIZE]; } xport_specific; + u_int maxio; /* Max supported I/O size, in bytes. */ }; /* Path Statistics CCB */ ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#40 (text+ko) ==== @@ -1198,6 +1198,7 @@ softc->quirks = DA_Q_NONE; /* Check if the SIM does not want 6 byte commands */ + bzero(&cpi, sizeof(cpi)); xpt_setup_ccb(&cpi.ccb_h, periph->path, /*priority*/1); cpi.ccb_h.func_code = XPT_PATH_INQ; xpt_action((union ccb *)&cpi); @@ -1247,7 +1248,12 @@ softc->disk->d_dump = dadump; softc->disk->d_name = "da"; softc->disk->d_drv1 = periph; - softc->disk->d_maxsize = DFLTPHYS; /* XXX: probably not arbitrary */ + if (cpi.maxio == 0) + softc->disk->d_maxsize = DFLTPHYS; /* traditional default */ + else if (cpi.maxio > MAXPHYS) + softc->disk->d_maxsize = DFLTPHYS; /* for safety */ + else + softc->disk->d_maxsize = cpi.maxio; softc->disk->d_unit = periph->unit_number; softc->disk->d_flags = 0; if ((softc->quirks & DA_Q_NO_SYNC_CACHE) == 0) ==== //depot/projects/scottl-camlock/src/sys/dev/advansys/advansys.c#12 (text+ko) ==== @@ -1345,7 +1345,7 @@ /* highaddr */ BUS_SPACE_MAXADDR, /* filter */ NULL, /* filterarg */ NULL, - /* maxsize */ MAXPHYS, + /* maxsize */ ADV_MAXPHYS, /* nsegments */ max_sg, /* maxsegsz */ BUS_SPACE_MAXSIZE_32BIT, /* flags */ BUS_DMA_ALLOCNOW, ==== //depot/projects/scottl-camlock/src/sys/dev/advansys/advlib.h#4 (text+ko) ==== @@ -58,6 +58,8 @@ #define ADV_MAX_TID 7 #define ADV_MAX_LUN 7 +#define ADV_MAXPHYS (128 * 1024) + /* Enumeration of board types */ typedef enum { ADV_NONE = 0x000, ==== //depot/projects/scottl-camlock/src/sys/dev/aic7xxx/aic79xx_osm.h#13 (text+ko) ==== @@ -102,7 +102,8 @@ * The number of dma segments supported. The sequencer can handle any number * of physically contiguous S/G entrys. To reduce the driver's memory * consumption, we limit the number supported to be sufficient to handle - * the largest mapping supported by the kernel, MAXPHYS. Assuming the + * the largest mapping supported by the the legacy kernel MAXPHYS setting of + * 128K. This can be increased once some testing is done. Assuming the * transfer is as fragmented as possible and unaligned, this turns out to * be the number of paged sized transfers in MAXPHYS plus an extra element * to handle any unaligned residual. The sequencer fetches SG elements @@ -110,7 +111,8 @@ * multiple of 16 which should align us on even the largest of cacheline * boundaries. */ -#define AHD_NSEG (roundup(btoc(MAXPHYS) + 1, 16)) +#define AHD_MAXPHYS (128 * 1024) +#define AHD_NSEG (roundup(btoc(AHD_MAXPHYS) + 1, 16)) /* This driver supports target mode */ #ifdef NOT_YET ==== //depot/projects/scottl-camlock/src/sys/dev/aic7xxx/aic7xxx_osm.h#14 (text+ko) ==== @@ -115,15 +115,16 @@ * The number of dma segments supported. The sequencer can handle any number * of physically contiguous S/G entrys. To reduce the driver's memory * consumption, we limit the number supported to be sufficient to handle - * the largest mapping supported by the kernel, MAXPHYS. Assuming the - * transfer is as fragmented as possible and unaligned, this turns out to + * the largest mapping supported by the the legacy kernel MAXPHYS setting of + * 128K. This can be increased once some testing is done. Assuming the * be the number of paged sized transfers in MAXPHYS plus an extra element * to handle any unaligned residual. The sequencer fetches SG elements * in cacheline sized chucks, so make the number per-transaction an even * multiple of 16 which should align us on even the largest of cacheline * boundaries. */ -#define AHC_NSEG (roundup(btoc(MAXPHYS) + 1, 16)) +#define AHC_MAXPHYS (128 * 1024) +#define AHC_NSEG (roundup(btoc(AHC_MAXPHYS) + 1, 16)) /* This driver supports target mode */ #define AHC_TARGET_MODE 1 ==== //depot/projects/scottl-camlock/src/sys/dev/amd/amd.h#3 (text+ko) ==== @@ -95,7 +95,8 @@ #define AMD_MAX_SYNC_OFFSET 15 #define AMD_TARGET_MAX 7 #define AMD_LUN_MAX 7 -#define AMD_NSEG (btoc(MAXPHYS) + 1) +#define AMD_MAXPHYS (128 * 1024) /* legacy MAXPHYS */ +#define AMD_NSEG (btoc(AMD_MAXPHYS) + 1) #define AMD_MAXTRANSFER_SIZE 0xFFFFFF /* restricted by 24 bit counter */ #define MAX_DEVICES 10 #define MAX_TAGS_CMD_QUEUE 256 ==== //depot/projects/scottl-camlock/src/sys/dev/ciss/ciss.c#20 (text+ko) ==== @@ -2976,6 +2976,7 @@ cpi->transport_version = 2; cpi->protocol = PROTO_SCSI; cpi->protocol_version = SCSI_REV_2; + cpi->maxio = (CISS_MAX_SG_ELEMENTS - 1) * PAGE_SIZE; ccb->ccb_h.status = CAM_REQ_CMP; break; } ==== //depot/projects/scottl-camlock/src/sys/dev/ciss/cissvar.h#6 (text+ko) ==== @@ -141,6 +141,9 @@ #define CISS_COMMAND_SG_LENGTH ((CISS_COMMAND_ALLOC_SIZE - sizeof(struct ciss_command)) \ / sizeof(struct ciss_sg_entry)) +/* XXX Prep for increasing max i/o */ +#define CISS_MAX_SG_ELEMENTS 33 + /* * Per-logical-drive data. */ ==== //depot/projects/scottl-camlock/src/sys/dev/firewire/sbp.c#13 (text+ko) ==== ==== //depot/projects/scottl-camlock/src/sys/dev/isp/isp_freebsd.h#18 (text+ko) ==== @@ -561,7 +561,8 @@ #endif /* Should be BUS_SPACE_MAXSIZE, but MAXPHYS is larger than BUS_SPACE_MAXSIZE */ -#define ISP_NSEGS ((MAXPHYS / PAGE_SIZE) + 1) +#define ISP_MAXPHYS (128 * 1024) +#define ISP_NSEGS ((ISP_MAXPHYS / PAGE_SIZE) + 1) /* * Platform specific inline functions ==== //depot/projects/scottl-camlock/src/sys/dev/mfi/mfi.c#16 (text) ==== @@ -341,7 +341,7 @@ status = sc->mfi_read_fw_status(sc); sc->mfi_max_fw_cmds = status & MFI_FWSTATE_MAXCMD_MASK; max_fw_sge = (status & MFI_FWSTATE_MAXSGL_MASK) >> 16; - sc->mfi_max_sge = min(max_fw_sge, ((MAXPHYS / PAGE_SIZE) + 1)); + sc->mfi_max_sge = min(max_fw_sge, ((MFI_MAXPHYS / PAGE_SIZE) + 1)); /* * Create the dma tag for data buffers. Used both for block I/O ==== //depot/projects/scottl-camlock/src/sys/dev/mfi/mfivar.h#8 (text) ==== @@ -379,6 +379,7 @@ MALLOC_DECLARE(M_MFIBUF); #define MFI_CMD_TIMEOUT 30 +#define MFI_MAXPHYS (128 * 1024) #ifdef MFI_DEBUG extern void mfi_print_cmd(struct mfi_command *cm); ==== //depot/projects/scottl-camlock/src/sys/dev/mlx/mlx.c#7 (text+ko) ==== @@ -1979,7 +1979,7 @@ * initial contents */ if (mu->mu_datasize > 0) { - if (mu->mu_datasize > MAXPHYS) { + if (mu->mu_datasize > MLX_MAXPHYS) { error = EINVAL; goto out; } ==== //depot/projects/scottl-camlock/src/sys/dev/mlx/mlxvar.h#3 (text+ko) ==== @@ -47,6 +47,7 @@ * making that fit cleanly without crossing page boundaries requires rounding up * to the next power of two. */ +#define MLX_MAXPHYS (128 * 124) #define MLX_NSEG 64 #define MLX_NSLOTS 256 /* max number of command slots */ ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#22 (text+ko) ==== @@ -986,6 +986,9 @@ /* Max MPT Reply we are willing to accept (must be power of 2) */ #define MPT_REPLY_SIZE 256 +/* Max i/o size, based on legacy MAXPHYS. Can be increased. */ +#define MPT_MAXPHYS (128 * 1024) + /* * Must be less than 16384 in order for target mode to work */ ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#23 (text+ko) ==== @@ -795,9 +795,9 @@ /* * XXX: we should say that nsegs is 'unrestricted, but that * XXX: tickles a horrible bug in the busdma code. Instead, - * XXX: we'll derive a reasonable segment limit from MAXPHYS + * XXX: we'll derive a reasonable segment limit from MPT_MAXPHYS */ - nsegs = (MAXPHYS / PAGE_SIZE) + 1; + nsegs = (MPT_MAXPHYS / PAGE_SIZE) + 1; if (mpt_dma_tag_create(mpt, mpt->parent_dmat, 1, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, MAXBSIZE, nsegs, BUS_SPACE_MAXSIZE_32BIT, 0, ==== //depot/projects/scottl-camlock/src/sys/dev/trm/trm.h#3 (text+ko) ==== @@ -94,7 +94,8 @@ #define TRM_MAX_CMD_PER_LUN 32 #define TRM_MAX_SRB_CNT 256 #define TRM_MAX_START_JOB 256 -#define TRM_NSEG (btoc(MAXPHYS) + 1) +#define TRM_MAXPHYS (128 * 1024) +#define TRM_NSEG (btoc(TRM_MAXPHYS) + 1) #define TRM_MAXTRANSFER_SIZE 0xFFFFFF /* restricted by 24 bit counter */ #define PAGELEN 4096 ==== //depot/projects/scottl-camlock/src/sys/kern/subr_bus.c#26 (text+ko) ==== @@ -68,7 +68,6 @@ TAILQ_ENTRY(driverlink) link; /* list of drivers in devclass */ int pass; TAILQ_ENTRY(driverlink) passlink; - TAILQ_ENTRY(driverlink) probe_link; }; /* @@ -90,14 +89,8 @@ struct sysctl_ctx_list sysctl_ctx; struct sysctl_oid *sysctl_tree; - - int class_ref; - int class_busy; }; -#define DC_REF(dc) (dc)->class_ref++ -#define DC_UNREF(dc) (dc)->class_ref-- - /** * @brief Implementation of device. */ @@ -143,14 +136,8 @@ struct sysctl_ctx_list sysctl_ctx; /**< state for sysctl variables */ struct sysctl_oid *sysctl_tree; /**< state for sysctl variables */ - - int device_ref; - int device_busy; }; -#define DT_REF(dt) (dt)->device_ref++ -#define DT_UNREF(dt) (dt)->device_ref-- - static MALLOC_DEFINE(M_BUS, "bus", "Bus data structures"); static MALLOC_DEFINE(M_BUS_SC, "bus-sc", "Bus data structures, softc"); @@ -377,7 +364,7 @@ static struct cdevsw dev_cdevsw = { .d_version = D_VERSION, - .d_flags = 0, + .d_flags = D_NEEDGIANT, .d_open = devopen, .d_close = devclose, .d_read = devread, @@ -866,9 +853,6 @@ static devclass_list_t devclasses = TAILQ_HEAD_INITIALIZER(devclasses); -static struct mtx devclasses_mtx; -MTX_SYSINIT(devclasses, &devclasses_mtx, "devclass global mtx", MTX_DEF); - /** * @internal * @brief Find or create a device class @@ -885,13 +869,11 @@ * @param create non-zero to create a devclass */ static devclass_t -devclass_find_internal_locked(const char *classname, const char *parentname, - int create) +devclass_find_internal(const char *classname, const char *parentname, + int create) { devclass_t dc; - mtx_assert(&devclasses_mtx, MA_OWNED); - PDEBUG(("looking for %s", classname)); if (!classname) return (NULL); @@ -926,26 +908,13 @@ */ if (parentname && dc && !dc->parent && strcmp(classname, parentname) != 0) { - dc->parent = devclass_find_internal_locked(parentname, NULL, - TRUE); + dc->parent = devclass_find_internal(parentname, NULL, TRUE); dc->parent->flags |= DC_HAS_CHILDREN; } return (dc); } -static devclass_t -devclass_find_internal(const char *classname, const char *parentname, - int create) -{ - devclass_t dc; - - mtx_lock(&devclasses_mtx); - dc = devclass_find_internal_locked(classname, parentname, create); - mtx_unlock(&devclasses_mtx); - return (dc); -} - /** * @brief Create a device class * @@ -992,36 +961,16 @@ static void devclass_driver_added(devclass_t dc, driver_t *driver) { - device_t *devlist; devclass_t parent; - int i, maxunit = 0; - - mtx_assert(&devclasses_mtx, MA_OWNED); + int i; /* * Call BUS_DRIVER_ADDED for any existing busses in this class. */ - devlist = malloc(sizeof(device_t)*dc->maxunit, M_BUS, M_NOWAIT|M_ZERO); - if (devlist == NULL) - /* XXX error? */ - return; - - for (i = 0; i < dc->maxunit; i++) { - if (dc->devices[i]) { - DT_REF(dc->devices[i]); - devlist[maxunit++] = dc->devices[i]; - } - } - - mtx_unlock(&devclasses_mtx); - for (i = 0; i < maxunit; i++) - BUS_DRIVER_ADDED(devlist[i], driver); + for (i = 0; i < dc->maxunit; i++) + if (dc->devices[i]) + BUS_DRIVER_ADDED(dc->devices[i], driver); - mtx_lock(&devclasses_mtx); - for (i = 0; i < maxunit; i++) - DT_UNREF(devlist[i]); - free(devlist, M_BUS); - /* * Walk through the children classes. Since we only keep a * single parent pointer around, we walk the entire list of @@ -1034,11 +983,8 @@ return; parent = dc; TAILQ_FOREACH(dc, &devclasses, link) { - if (dc->parent == parent) { - DC_REF(dc); + if (dc->parent == parent) devclass_driver_added(dc, driver); - DC_UNREF(dc); - } } } @@ -1074,24 +1020,21 @@ * goes. This means we can safely use static methods and avoids a * double-free in devclass_delete_driver. */ - mtx_lock(&devclasses_mtx); kobj_class_compile((kobj_class_t) driver); /* * Make sure the devclass which the driver is implementing exists. */ - devclass_find_internal_locked(driver->name, NULL, TRUE); + devclass_find_internal(driver->name, NULL, TRUE); dl->driver = driver; TAILQ_INSERT_TAIL(&dc->drivers, dl, link); driver->refs++; /* XXX: kobj_mtx */ dl->pass = pass; driver_register_pass(dl); - DC_REF(dc); devclass_driver_added(dc, driver); bus_data_generation_update(); - mtx_unlock(&devclasses_mtx); return (0); } @@ -1114,8 +1057,8 @@ { devclass_t dc = devclass_find(driver->name); driverlink_t dl; - device_t *devlist, dev; - int i, maxunit = 0; + device_t dev; + int i; int error; PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass))); @@ -1126,7 +1069,6 @@ /* * Find the link structure in the bus' list of drivers. */ - mtx_lock(&devclasses_mtx); TAILQ_FOREACH(dl, &busclass->drivers, link) { if (dl->driver == driver) break; @@ -1135,7 +1077,6 @@ if (!dl) { PDEBUG(("%s not found in %s list", driver->name, busclass->name)); - mtx_unlock(&devclasses_mtx); return (ENOENT); } @@ -1149,59 +1090,27 @@ * should not detach devices which are not children of devices in * the affected devclass. */ - devlist = malloc(sizeof(device_t)*dc->maxunit, M_BUS, M_NOWAIT|M_ZERO); - if (devlist == NULL) { - mtx_unlock(&devclasses_mtx); - return (ENOMEM); - } - for (i = 0; i < dc->maxunit; i++) { if (dc->devices[i]) { dev = dc->devices[i]; if (dev->driver == driver && dev->parent && dev->parent->devclass == busclass) { - DT_REF(dev); - devlist[maxunit++] = dev; + if ((error = device_detach(dev)) != 0) + return (error); + device_set_driver(dev, NULL); } } } - mtx_unlock(&devclasses_mtx); - error = 0; - for (i = 0; i < maxunit; i++) { - dev = devlist[i]; - /* - * If device_detach() generates an error, the rest of the - * devices in the list still need to be deref'd. - */ - if ((error = device_detach(dev)) != 0) - break; - device_set_driver(dev, NULL); - } - - mtx_lock(&devclasses_mtx); - for (i = 0; i < maxunit; i++) { - dev = devlist[i]; - DT_UNREF(dev); - } - - free(devlist, M_BUS); - if (error) { - mtx_unlock(&devclasses_mtx); - return (error); - } - TAILQ_REMOVE(&busclass->drivers, dl, link); free(dl, M_BUS); /* XXX: kobj_mtx */ - DC_UNREF(dc); driver->refs--; if (driver->refs == 0) - kobj_class_free((kobj_class_t) driver); + kobj_class_free((kobj_class_t) driver); bus_data_generation_update(); - mtx_unlock(&devclasses_mtx); return (0); } @@ -1223,8 +1132,8 @@ { devclass_t dc = devclass_find(driver->name); driverlink_t dl; - device_t *devlist, dev; - int i, maxunit = 0; + device_t dev; + int i; int error; PDEBUG(("%s from devclass %s", driver->name, DEVCLANAME(busclass))); @@ -1235,7 +1144,6 @@ /* * Find the link structure in the bus' list of drivers. */ - mtx_lock(&devclasses_mtx); TAILQ_FOREACH(dl, &busclass->drivers, link) { if (dl->driver == driver) break; @@ -1244,7 +1152,6 @@ if (!dl) { PDEBUG(("%s not found in %s list", driver->name, busclass->name)); - mtx_unlock(&devclasses_mtx); return (ENOENT); } @@ -1258,38 +1165,18 @@ * should not quiesce devices which are not children of * devices in the affected devclass. */ - devlist = malloc(sizeof(device_t)*dc->maxunit, M_BUS, M_NOWAIT|M_ZERO); - if (devlist == NULL) { - mtx_unlock(&devclasses_mtx); - return (ENOMEM); - } - for (i = 0; i < dc->maxunit; i++) { if (dc->devices[i]) { dev = dc->devices[i]; if (dev->driver == driver && dev->parent && dev->parent->devclass == busclass) { - DT_REF(dev); - devlist[maxunit++] = dev; + if ((error = device_quiesce(dev)) != 0) + return (error); } } } - mtx_unlock(&devclasses_mtx); - error = 0; - for (i = 0; i < maxunit; i++) { - if ((error = device_quiesce(devlist[i])) != 0) - break; - } - - mtx_lock(&devclasses_mtx); - for (i = 0; i < maxunit; i++) { - DT_UNREF(devlist[i]); - } - mtx_unlock(&devclasses_mtx); - - free(devlist, M_BUS); - return (error); + return (0); } /** @@ -1302,8 +1189,6 @@ PDEBUG(("%s in devclass %s", classname, DEVCLANAME(dc))); - mtx_assert(&devclasses_mtx, MA_OWNED); - TAILQ_FOREACH(dl, &dc->drivers, link) { if (!strcmp(dl->driver->name, classname)) return (dl); @@ -1334,17 +1219,9 @@ device_t devclass_get_device(devclass_t dc, int unit) { - device_t dev; - if (dc == NULL || unit < 0 || unit >= dc->maxunit) return (NULL); - - mtx_lock(&devclasses_mtx); - dev = dc->devices[unit]; - DT_REF(dev); - mtx_unlock(&devclasses_mtx); - - return (dev); + return (dc->devices[unit]); } /** @@ -1361,17 +1238,12 @@ devclass_get_softc(devclass_t dc, int unit) { device_t dev; - void *sc; dev = devclass_get_device(dc, unit); if (!dev) return (NULL); - sc = device_get_softc(dev); - mtx_lock(&devclasses_mtx); - DT_UNREF(dev); - mtx_unlock(&devclasses_mtx); - return (sc); + return (device_get_softc(dev)); } /** @@ -1394,27 +1266,20 @@ devclass_get_devices(devclass_t dc, device_t **devlistp, int *devcountp) { int count, i; - device_t dev; device_t *list; count = devclass_get_count(dc); list = malloc(count * sizeof(device_t), M_TEMP, M_NOWAIT|M_ZERO); - if (!list) { - mtx_unlock(&devclasses_mtx); + if (!list) return (ENOMEM); - } count = 0; - mtx_lock(&devclasses_mtx); for (i = 0; i < dc->maxunit; i++) { - dev = dc->devices[i]; - if (dev) { - DT_REF(dev); - list[count] = dev; + if (dc->devices[i]) { + list[count] = dc->devices[i]; count++; } } - mtx_unlock(&devclasses_mtx); *devlistp = list; *devcountp = count; @@ -1446,21 +1311,17 @@ int count; count = 0; - mtx_lock(&devclasses_mtx); TAILQ_FOREACH(dl, &dc->drivers, link) count++; list = malloc(count * sizeof(driver_t *), M_TEMP, M_NOWAIT); - if (list == NULL) { - mtx_unlock(&devclasses_mtx); + if (list == NULL) return (ENOMEM); - } count = 0; TAILQ_FOREACH(dl, &dc->drivers, link) { list[count] = dl->driver; count++; } - mtx_unlock(&devclasses_mtx); *listp = list; *countp = count; @@ -1478,11 +1339,9 @@ int count, i; count = 0; - mtx_lock(&devclasses_mtx); for (i = 0; i < dc->maxunit; i++) if (dc->devices[i]) count++; - mtx_unlock(&devclasses_mtx); return (count); } @@ -1590,14 +1449,12 @@ /* If we were given a wired unit number, check for existing device */ /* XXX imp XXX */ - mtx_lock(&devclasses_mtx); if (unit != -1) { if (unit >= 0 && unit < dc->maxunit && dc->devices[unit] != NULL) { if (bootverbose) printf("%s: %s%d already exists; skipping it\n", dc->name, dc->name, *unitp); - mtx_unlock(&devclasses_mtx); return (EEXIST); } } else { @@ -1640,10 +1497,8 @@ if (oldlist != NULL) free(oldlist, M_BUS); } - dc->devices[unit] = dev; - mtx_unlock(&devclasses_mtx); + PDEBUG(("now: unit %d in devclass %s", unit, DEVCLANAME(dc))); - PDEBUG(("now: unit %d in devclass %s", unit, DEVCLANAME(dc))); *unitp = unit; return (0); } @@ -1683,11 +1538,8 @@ dev->nameunit = NULL; return (error); } - mtx_lock(&devclasses_mtx); - DC_REF(dc); - DT_REF(dev); + dc->devices[dev->unit] = dev; dev->devclass = dc; - mtx_unlock(&devclasses_mtx); snprintf(dev->nameunit, buflen, "%s%d", dc->name, dev->unit); return (0); @@ -1713,18 +1565,14 @@ PDEBUG(("%s in devclass %s", DEVICENAME(dev), DEVCLANAME(dc))); - mtx_lock(&devclasses_mtx); if (dev->devclass != dc || dc->devices[dev->unit] != dev) panic("devclass_delete_device: inconsistent device class"); - DT_UNREF(dev); - DC_UNREF(dc); dc->devices[dev->unit] = NULL; if (dev->flags & DF_WILDCARD) dev->unit = -1; dev->devclass = NULL; free(dev->nameunit, M_BUS); dev->nameunit = NULL; - mtx_unlock(&devclasses_mtx); return (0); } @@ -1790,10 +1638,8 @@ dev->state = DS_NOTPRESENT; - mtx_lock(&devclasses_mtx); TAILQ_INSERT_TAIL(&bus_data_devices, dev, devlink); bus_data_generation_update(); - mtx_unlock(&devclasses_mtx); return (dev); } @@ -2008,7 +1854,6 @@ devclass_t dc; driverlink_t best = NULL; driverlink_t dl; - driver_list_t dllist; int result, pri = 0; int hasclass = (child->devclass != NULL); @@ -2025,8 +1870,6 @@ if (child->state == DS_ALIVE && (child->flags & DF_REBID) == 0) return (0); - mtx_lock(&devclasses_mtx); - TAILQ_INIT(&dllist); for (; dc; dc = dc->parent) { for (dl = first_matching_driver(dc, child); dl; @@ -2036,14 +1879,6 @@ if (dl->pass > bus_current_pass) continue; - TAILQ_INSERT_TAIL(&dllist, dl, probe_link); - } - } - mtx_unlock(&devclasses_mtx); - - while ((dl = TAILQ_FIRST(&dllist)) != NULL) { - TAILQ_REMOVE(&dllist, dl, probe_link); - { PDEBUG(("Trying %s", DRIVERNAME(dl->driver))); device_set_driver(child, dl->driver); if (!hasclass) { @@ -4455,11 +4290